现在用200的PLC和托利多天平进行通信,天平为主机,PLC为从机。天平发送稳定值给PLC,PLC只管接受数据。程序如下:
主程序部分:
中断程序部分:
程序的意思就是:PLC把接收到的称重数据,存储在VB102、VB103、VB104、VB105里。
比如天平发过来是1.49g,正常状态的话寄存器的状态就会是这样的:很明显VB102存的是1,VB103存的是小数点,VB104里存的是4,VB105里存的是9。这是正常的状态,天平发送数据过来,PLC接收都是会存在这几个寄存器里。
但是不知道为什么有时发过来的数据,怎么就跑到别的寄存器里去了,还是乱码。比如0.82g,怎么数据就变了呢,不是存在VB102、VB103、VB104、VB105里了。小数点跑到VB107里去了,8跑到VB108里去了,2跑到VB109里去了,小数点前面的0,就不知道跑哪去了。为什么数据自己就变了位置了,怎么不固定。发过来的怎么是乱码。原先怀疑是天平本身发过来的数据有问题,但是我用串口调试软件,监控天平发送的数据,都很正常的啊。天平是232的接口,PLC是485的接口,中间用的转换电缆。电脑做从机,天平做主机,串口软件监控数据都很正常。为什么PLC做从机有时候就会出现这样画面呢?
大家看是哪里的问题,PLC一般接受都是没问题的,但是为什么有时候就会出现上面这样的状态呢,称重数据不固定在VB102、VB103、VB104、VB105里了,而是跑到VB107、VB108、VB109里了,而且小数点前面的数值还找不到。怎么回事呢?
1. 程序有问题?
2.天平有问题?
3.PLC有问题?
4.232转485通信线有问题?
到底哪里的事,我实在查不出来了。大家看看问题出在哪里?