各位,我在查转换语句的时候发现一个混淆的问题,麻烦各位解释下。RTS实数转字符串指令,说是将一个实数值IN转换为一个ASCII码字符串。是不是说字符串都是由ASCII来表示的呢?那我如果通过自由口通讯把一个数字毫伏表的值(16进制ASCII,8个字节)采进来,直接用STR转成实数就是我要的字符串值了吗。比如我的毫伏表传输过来的数据是31 32 2E 38 30 56 6D 00,那么我可以得到12.80MV的数值吗?(2E 56 6D做其他处理,我只是指数字部分)
问题补充:
之前我尝试用ATH,转换成16进制后,就不知道如何进行了?如果这个方法可以进行下去,请问,如何做?
最佳答案
用S-R指令
假如VB100=16#31,VB101=16#32, VB102=16#2E, VB103=16#38, VB104=16#30, VB105=16#56, VB106=16#6D, VB107=16#0
LD SM0.0
MOVB 8, VB99
STR VB99, 1, VD0
VD0=12.8
提问者对于答案的评价:
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc352235.html