1、如图所示,为一批量控制器的发送格式,其协议是ASCII,
图中有几个数据,如果我发送“T?”给仪表,那么它全部给我返回来,我如何只读其中的一个累计值呢?这里面数据之间有空格,这个怎么办?还有带小数点的实数,实数如何传送呢?
问题补充:
那么也就是说,一个数据,如果是整型,就是16位,带小数点的实数就是32位?而不管这个数值是多大?还是整型也是32位?
(通信的数据位为8位。)
图片说明:
最佳答案
1. 如果我发送“T?”给仪表,那么它全部给我返回来,我如何只读其中的一个累计值呢?
楼主的图片中只写了T?的发送指令,没有R?的指令,因此读回来的数据如何解析,无法给您提供建议。
2. 这里面数据之间有空格,这个怎么办?
数据间的空格是为了显示而人为隔开的,其实真正通讯时,所有的数据是按照一个一个字符依次返回的。
3. 还有带小数点的实数,实数如何传送呢?
所有的实数都是按照国际标准ANSI/IEEE 754 进行编码的32位数据(如果楼主的仪表完全满足国际标准的话),楼主首先获得十六进制码值,然后根据ASCII码换算后得到8个字符即可。
提问者对于答案的评价:
虽然我没理解,但还是谢谢
专家置评
已阅,最佳答案正确。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc295070.html