用200采集模拟量以后得到的是实数,然后采用串口和上位机通信,由于数据是按字符串发出去的,一个字符占一个字节,所以实数应该怎样处理后发出去,然后上位机那边还需要怎样处理?
另外问一个em253的问题,em253是不是不需要外接5v电源?比如p0脉冲输出的话是不是内部直接输出电压是5v来驱动步进电机?
我想用p1来做方向信号的话应该怎么办?
谢谢各位解答
问题补充:
比如说plc发出去2.0,然后上位机那边3个字节分别是'2','.','0',然后我怎么能把这3个字节的数值合并成一个浮点数?
最佳答案
是否和对方约定好数据格式了?如果没约定好,那你就直接发,不要对数据处理,然后告诉对方,我的数据是什么格式发送的。
然后我怎么能把这3个字节的数值合并成一个浮点数?
例如字符在 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/plc354410.html