利用字符串转换指令将ASCII码转换到实数可以吗?

我现在需要将一台S7-200的plc和一台智能仪表连接,智能仪表的通讯数据格式是ASCII的,数据包含小数。能否通过字符串指令将传输过来的ASCII码转换成实数。请各位高手指教!

最佳答案

1 如果你用的是 RCV  VB100 ,0 ,那最好的转换方法就是在接收中断里用  STR  VB100, 1,VD100. VD100里就是你需要的浮点数。
 例如:VB100=6   VB101='7'   VB101='4'   VB101='6'   VB101='.'   VB101='1'   VB101='5'     那么VD100=746.15
 2 假如你不用第一种方法,例如字符在 VB5 VB6  VB7 VB8 VB9 里,那就这样转换 STR  VB4, 1,VD100. 在转换前要对VB4赋值,
 如果你知道有N个字符,那么在转换前要MOVB  N ,VB4
 如果你不知道有多少字符,那就分两种情况,一种是有小数点的数,一种是没有小数点的数。
 有小数点的数,VB4可以设置大点,
 例如VB5='7', VB6 ='3'  VB7='4',  VB8='.  ' VB9 ='9',   
 VB4=5, 那么VD100=734.9
 VB4=7, 那么VD100还是等于734.9。
 没有小数点的数,例如VB5='7', VB6 ='3'  VB7='4',  VB8='6 ' 
 VB9 ='9',   
 VB4=5,  那么VD100=73469  
 VB4=6, 那么VD100=734690 
 VB4=7, 那么VD100=7346900 
 

提问者对于答案的评价:
谢谢你给出那么详细的答案,也谢谢其他高手!
 我先先试试吧,如果我没用好,再请教大家!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc354626.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午2:01
下一篇 2021年7月5日 上午2:01

相关推荐

发表回复

登录后才能评论