机器人作为socket客户端与外部设备通讯


机器人可以作为socket客户端,与外部设备通讯。相关指令可以参见CS机器人脚本手册(https://www.elibot.cn/#/download 下载 CS_脚本手册_V2.0.3)

例如,可以在机器人中创建如下脚本

socket_open("192.168.230.1",60000,"socket_1")
# 打开socket,此处IP地址为PC端server的IP地址和端口
global recv
# 创建 带global关键字的全局变量,可以在示教器 监控 画面查看该变量实时值
while True:
  socket_send_string("Hello world","socket_1")
  #向server端发送字符串
  recv = socket_read_string(socket_name="socket_1",timeout=120)
  # 接受外部发来的字符串,若超时120s,机器人指令直接向下运行
  sleep(0.1)

打开PC server端,监听60000端口,再运行机器人中的脚本,可以得到如下效果:



机器人脚本中,可以使用socket_read_ascii_float(3)指令,对收到的数据直接拆分。

要求: 收到的字符串以"(" 开头,以")"结尾,中间数据以","隔开。

            指令在的参数表示最多读取几组数据。

            若机器人收到"(1,2,3)",则该函数返回数据为[3,1,2,3],数组的第0个元素表示收到的数据个数,后续为自动拆分的数据内容

socket_open("192.168.230.1",60000,"socket_1")
# 打开socket,此处IP地址为PC端server的IP地址和端口
global recv
# 创建 带global关键字的全局变量,可以在示教器 监控 画面查看该变量实时值
recv = [0,0,0,0]
while True:
  socket_send_string("Hello world","socket_1")
  recv = socket_read_ascii_float(3,socket_name="socket_1",timeout=120)
  # 接受外部发来的形式为  (1,2,3)的字符串,若超时120s,机器人指令直接向下运行
  sleep(0.1)

点击显示全文
赞同0
发表评论
分享

手机扫码分享
0
1.904K
收藏
举报
收起
登录
  • 密码登录
  • 验证码登录
还没有账号,立即注册
还没有账号,立即注册
注册
已有账号,立即登录
选择发帖板块
上传文件
举报
请选择举报理由
举报
举报说明