13771165220
级别: 家园常客
精华主题: 0
发帖数量: 323 个
工控威望: 553 点
下载积分: 1601 分
在线时间: 85(小时)
注册时间: 2017-11-27
最后登录: 2024-11-13
查看13771165220的 主题 / 回贴
楼主  发表于: 2021-08-24 19:48
比如发送的数据是ASC码     #1,0,30000,1000,AB
比如这串数字意思是  
#:打头字母
1:站号
0:该站电机号
30000:电机定位地址
1000:电机定位速度
AB:校验码
其中的”,“是间隔符号也是一个ASC码
返回数据先不管。
现在有这样的问题,我需要在触摸屏控制定位地址和定位速度。
但是如果我速度输入3000的话就比原来的30000少一个ASC字符,这样包括后面发送的指令数据地址都相当于左移了一位而且和校验都不一样了。
个人感觉还需去判断输入的数据转为ASC后占几个字符,感觉处理起来后续就比较麻烦。就算让人家直接输入ASC当数据也是比较麻烦。有谁有这方面的经验分享一下,大概思路也可以。
万分感激。
菜鸟入行
级别: 论坛先锋

精华主题: 0
发帖数量: 1381 个
工控威望: 1557 点
下载积分: 3686 分
在线时间: 177(小时)
注册时间: 2017-09-01
最后登录: 2024-06-11
查看菜鸟入行的 主题 / 回贴
1楼  发表于: 2021-08-24 21:27
得做一个很复杂的指令,寻找不同的逗号,把逗号之间的数据提出来,再转换ASC码,感觉好难的样子。

你这个仪表能支持其他方式不,比如MODBUS,这样省事多了
打个酱油,懂的不多
水平有限,能帮则帮
互相帮助,共同进步