求助FX1N 与智能仪表的数据传输问题! 点击:280 | 回复:0



hplige

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 0回
  • 年度积分:0
  • 历史总积分:3
  • 注册:2003年12月10日
发表于:2006-06-08 20:03:00
楼主
各位大哥小弟现有一问题请教:
问题是这样的:现在小弟做个工程,设备包括三菱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又不对。
     恳请各位大哥分析以上问题,提些建议和思路,小弟不胜感激!


热门招聘
相关主题

官方公众号

智造工程师