登录
首页 PLC论坛 三菱Mitsubishi
回帖 发帖
正文

主题:求助FX1N 与智能仪表的数据传输问题!

点击:900 回复:1

[size=4][size=4]各位大哥小弟现有一问题请教:
问题是这样的:现在小弟做个工程,设备包括三菱PLC FX1N,EVEIW 506触摸屏,还有一个称重传感器。控制过程如下:称重传感器将数据通过232串口送入PLC,然后PLC根据这个实时数据进行监控,上位机为EVEIW 506触摸屏,称重传感器数据帧格式是这样的:数据为ASCII字符,字头是NT(净重)或ST(毛重),如:“NT(ST),+(-)1 49.2Kg CR LF”为一帧数据,其中数据149.2每位算作一个字符,即有5位ASCII字符,现在小弟想把数据从中剥离出来,变成十进制数据放入D100寄存器,以便作为实际重量参数控制用。小弟处理的办法是这样的:假设接收到的字符“1”放在D53寄存器,因为“1”的ASCII值是49,所以用语句:“SUB  D53  K48  D61”,然后“MUL  D61  K1000  D61”,接着假设接收到的字符“4”放在D54寄存器,所以用语句:“SUB  D54  K48  D62”,然后“MUL  D62  K100  D62”,依此类推,最后将D61、D62…值相加放入D100寄存器,即为十进制数1492,然后在触摸屏上设置D100显示格式为:小数点以上4位,小数点以下1位。即在触摸屏显示为149.2,但是问题是数据显示很不稳定,奇怪的是就9这位一直在变化,从0到9都有可能,但是其他几位显示很稳定,与传感器表头的读数一样,就是9这一位变个不停。小弟百思不得其解,以为是数据传输不稳定造成的,就将每位以文本的方式直接读出ASCII字符,如在触摸屏上显示“D53 D54 D55谢谢!果非常稳定,读数与表头一样。小弟初次使用三菱PLC,不是很熟悉,例如十进制0.1怎么表示都不知道,写成K0.1又不对。
    恳请各位大哥分析以上问题,提些建议和思路,小弟不胜感激![/size][/size]
06-06-08 10:30
我也不知道是怎么回事,不过我说一下我遇到一个情况,你也许可以参考一下,或许有点启发,我的步进要20000脉冲输出负载上面转动360度。但是用20000除360就等于55.5555555555556,PLC不认小数。后来我用浮点运算,PLC显示55.556, 这样还是不行,怎么加减PLC还是有小数,搞了很久才开窍,写了这个一个公式:55.556 X 1000=55556,这样不就是整数了?在最后把运算后的小数去掉,在这么大的数里面去掉个小数根本不算什么误差了。再相应的算下来,就OK,这个时候我 的机器误差可以达到1/1000,
  你可以用这种方式试一下,加数字加大,小数成了整数,我想肯定解决问题。
最后修改:2006-6-8 12:27:30
06-06-08 12:23

工控新闻

更多新闻资讯