CS机器人socket接受定长字符串数据并转换

假设外部设备发来的数据为"0000.001,-000.220,0000.000,ok#", 即以#作为结束符。

用户需要解析前4组数据,并根据第4个值是否为ok进行后续工作

发来的前三组数据为定长数据(即长度不满足8位,含符号和小数点,用0补齐)

可以使用如下代码进行接受并解析

socket_open("192.168.230.1",60000,"socket_1")
# 打开socket,此处IP地址为PC端server的IP地址和端口
global recv  #接收到的字符串,去除 尾部标志符数据
global data # 存储有效数据
# 创建 带global关键字的全局变量,可以在示教器 监控 画面查看该变量实时值
while True:
  socket_send_string("Hello world#","socket_1")
  #向server端发送字符串
  recv = socket_read_string(socket_name="socket_1",suffix="#",timeout=120)
  # 假设接收到的数据为 '0000.001,-000.220,0000.000,ok#',使用suffix="#",可以去除尾部#
  # 即recv = '0000.001,-000.220,0000.000,ok'
  b = str.split(recv,',')
  # 对recv进行分割并存储到b
  data = [float(b[0]),float(b[1]),float(b[2])]
  # b中前3个为浮点数,直接使用float函数转化
  sleep(0.1)
点击显示全文
赞同0
发表评论
分享

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