艾利特CS系列机器人socket插件的使用教程
1.简介

机器人本身的socket通讯只有脚本这一种方式,用户编写脚本通讯耗时 多,且不能开机自动连接,此插件提供用户界面减少用户使用socket的时间,同时提供开机自启或自动连接的客户端和服务器,并且提供快捷指令。
2.操作流程
2.1.环境准备
版本信息:
- 机器人系统版本v2.11及以上
- 扩展socket插件exsocket-5.9.1.elico
功能实现:
- 使用调试助手模拟视觉做(客户端/服务端)与机器人通过收发字符串来实现简单交互。
2.2.插件导入
2.2.1.将带有插件的 u盘插入示教器上
2.2.2.点击右上角菜单-设置-选择系统目录下“ELITECOS”-点击“+”-选择U盘文件找到U盘里的插件包-点击“打开”-选择“未激活”确认无误后-点击”重启3“即可



2.3.插件使用
2.3.1.机器人设置IP
该插件适用于本机器人的FB1网口:(在机器人设置→网络→FB1网络里的IP地址)


2.3.2.机器人做客户端
2.3.2.1.客户端连接
方法1;
在导入拓展socket插件之后,在“配置”-“socket配置”里可以设置客户端的参数
只需要输入对应的(服务端地址,端口号,点击“连接”)界面上也会有连接状态反馈。
在扩展socket插件的“socket配置”中我们可以一些便捷功能能使用
比如; 开机自动连接(只需勾选上)
连接绑定到指定输出(DO(0)-DO(15))

此图-表示已经连接上对应服务器
方法2;
在任务里直接添加
选择导航栏“任务”-指令栏选择“插件”-点击"Socket Client"-设置该指令(勾选“连接”-输入对应的服务端地址,端口号,“运行”或点击"连接"即可)

2.3.2.2.客户端发送
选择导航栏“任务”-指令栏选择“插件”-点击"Socket Client"-设置该指令(勾选“发送”-输入对应的数据类型)可以手动点击”发送“,也可以直接”运行任务“来发送



以字符串输入“hell world”为例

2.3.2.3.客户端接收
选择导航栏“任务”-指令栏选择“插件”-点击"Socket Client"-设置该指令(勾选“接收”-输入对应的数据类型)可以手动点击”接收“,也可以直接”运行任务“来接收

可以选择或者编辑接收数据的“变量“,设置超时时间,默认:0表示一直等待接收值,可以选择接收到的值的类型(注;如果如果发送的数据,无法变成对应选择类型会发生弹窗错误
比如;发送的值为[1,2,3]数组,选择的是整数类型就会发生弹窗错误)
2.3.3.机器人做服务端
2.3.3.1.服务端开启监听
方法1;
在导入拓展socket插件之后,在“配置”-“socket配置”里可以设置服务端的参数
只需要输入对应的(服务端地址,端口号,点击“启动监听”)界面上也会有监听状态反馈,监听成功后即可叫客户端来连接。
在扩展socket插件的“socket配置”中我们可以一些便捷功能能使用
比如; 开机自动监听(只需勾选上)

方法2;
在任务里直接添加
选择导航栏“任务”-指令栏选择“插件”-点击"Socket Server"-设置该指令(勾选“监听”-输入对应的服务端地址,端口号,“运行任务”或点击"监听"即可)

注:每次任务运行监听指令会让客户端连接断开,所以无特殊需求方法2不建议使用。
2.3.3.2.服务端发送
选择导航栏“任务”-指令栏选择“插件”-点击"Socket Server"-设置该指令(勾选“发送”-输入对应的数据类型)可以手动点击”发送“,也可以直接”运行任务“来发送


注:服务端不管是发送还是接收都一定要客户端选择地址


2.3.3.3.服务端接收
选择导航栏“任务”-指令栏选择“插件”-点击"Socket Server"-设置该指令(勾选“接收”-输入对应的数据类型)可以手动点击”接收“,也可以直接”运行任务“来接收


注:服务端不管是发送还是接收都一定要客户端选择地址
可以选择或者编辑接收数据的“变量“,设置超时时间,默认:0表示一直等待接收值,可以选择接收到的值的类型(注;如果如果发送的数据,无法变成对应选择类型会发生弹窗错误
比如;发送的值为[1,2,3]数组,选择的是整数类型就会发生弹窗错误)

2.3.4.socket插件便捷指令
2.3.4.1.字符串拆分
该指令可以把接收的字符串型数据用符号进行分割(数字可以自动转换成整型或者浮点型直接用于计算等操作)


2.3.4.2.数组赋值
该指令可以直接把数组里的数据拆分赋值到变量里,下标代表需要获取的数组里的第几位数据(从0开始)


2.3.4.3.清除客户端缓存

某些情况下由于服务器发送的数据没有被接收,数据会缓存缓冲区里。下一次接 收可能接收到意想不到的数据,造成程序运行错误。可以在程序开始前或适当的 时机插入清除客户端缓存节点。
2.3.4.4.清除服务器缓存

某些情况下由于客户端发送的数据没有被接收,数据会缓存缓冲区里。下一次接 收可能接收到意想不到的数据,造成程序运行错误。可以在程序开始前或适当的 时机插入清除服务器缓存节点
3.常见问题解答
3.1.1.客户端/服务端连接不上?
- 机器人为客户端时查看对应的IP地址是否填错,是否是同一网段,是否可以ping通,是否网线插在在FB1网口。
3.1.2.可能发生的报错


原因:客户端未选择地址


原因:接收数据超时
4.示例
屏幕录制 2024-09-02 152937.mp4