大家好,今天跟大家分享一下,EPSON机器人如何与视觉上位机实现TCP通信。
这里使用的机器人是EPSON T3系列的一款Scara机器人。
机器人的编程软件使用的是EPSON RC++ V7.4.5版本,如果大家需要该软件,可以通过公众号回复 304 。
首先需要建立与机器人之间的连接,一般与机器人之间连接有两种方式,一种是USB串口,一个是以太网口,这里采用的是以太网接口。
EPSON机器人编程使用的是SPEL+语言,需要参考SPEL+的相关命令进行编程。
这里罗列几个EPSON以太网编程的关键命令。
1、SetNet命令
参数列表:
通信端口编号:指定要设置参数的 TCP/IP 的端口编号。范围为 201~216。
主机地址:指定主机的 IP 地址。
TCP/IP 端口编号:指定 TCP/IP 端口编号。
终止符:指定 CR、LF、CRLF 中某个行末字符。
流控制:是指软件流控制,默认为NONE。
超时时间:以秒指定收发的最长时间。指定0时,超时则变为无限。
通信协议:指定通信的协议(TCP/UDP)类型。
使用示例:
SetNet #201, "192.168.0.1", 2001, CRLF, NONE, 0
2、OpenNet命令
格式:
OpenNet #端口编号 As Client/Server
参数列表:
端口编号:指定要打开的 TCP/IP 端口编号的整数值。端口编号的范围为 201~216。
使用示例:
Function tcpip
String data$
OpenNet #201 As Client
WaitNet #201
Input #201, data$
Print "received '", data$, "' from host 1"
Fend
3、ChkNet命令
格式:
ChkNet (通信端口编号)
参数列表:
通信端口编号:指定 TCP/IP 端口编号(201~216)。
返回值
返回接收字符数(整数值)。
如果不存在接收数据,以下负值返回端口状态。
-1 端口已打开,但是未确立通信
-2 其他任务正在使用端口
-3 未打开端口
使用示例
Integer numChars
numChars = ChkNet(201)
4、Line Input命令
格式:
Line Input #端口编号, 字符串变量名$
参数列表:
端口编号:表示文件、通信端口、数据库或装置的ID编号。
字符串变量名$:指定字符串变量名。
1、TCP子函数
'定义接收和输出变量
Global String ReceiveData$, SendData$
Function ASTCPClient
'设置IP地址、端口号、结束符等
SetNet #201, "192.168.1.100", 2000, CRLF, NONE, 0
'机器人作为客户端,打开端口
OpenNet #201 As Client
'等待连接
WaitNet #201
'连接成功显示
Print "TCP ConnectOK....."
Do
'断线重连
If ChkNet(201) = -3 Then '检查端口状态(>0 时为缓冲字符数量.<0 为异常状态)
CloseNet #201 '关闭端口再重连
Wait 0.2
OpenNet #201 As Client '打开客户端
WaitNet #201 '等待连接
EndIf
'接收上位机数据
If ChkNet(201) > 0 Then
Line Input #201, ReceiveData$
Print "【" + Date$ + " " + Time$ + "】" + "接收到上位机的数据:" + ReceiveData$
EndIf
'发送数据
If SendData$ <> "" Then
Print #201, SendData$
Print "【" + Date$ + " " + Time$ + "】" + "发送给上位机:" + SendData$
SendData$ = ""
EndIf
Loop
Fend
2、主函数调用
Function main
'多线程执行
Xqt ASTCPClient
Fend
1、先用网络调试助手开一个TCPServer,IP地址是192.168.1.100,这里大家根据自己的电脑IP来设置,端口号为2000。
2、EPSON机器人选择菜单栏中的运行,会直接将程序下载到机器人中。
3、下载完成后,点击开始,即可实现通信。
4、可以通过网络调试助手给机器人发指令。
-END-
全部0条评论
快来发表一下你的评论吧 !