繁易一体机FE4070-20MR-ModbusRTU主站通讯调试记录

调试过程值得记录一下,真是很有意思,用了一下午的时间,可能是我不熟悉日系PLC的原因。

首先设置通讯口,我这里使用的是Port3,具体参数设置如下:


主程序如下图

网络1主要是初始化一下串口,这条指令不设置好像也没什么问题,加上更保险一些。

网络2主要是一秒钟读取从站一个寄存器的数据,这里使用上升沿触发的指令,其实不用上升沿指令也是可以的。


第一步很顺利,然后悲催的事情开始了,我要读取两个从站的内容,就出问题了,程序如下:


通讯不上了,最终发现,只要有两个一样的modbus指令,发送出去的数据就存在问题,监控的数据如下:

01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 01 03 01 03 01 03 01 01 03 01 03 01 01

感觉指令被不停地触发,每个报文都发送不完整。换了几种思路都不解决问题,联系厂家吧。

厂家说不能这么做,要用步进指令隔开,然后看了步进指令的帮助,把程序改成如下模式问题解决了。



也算是新接触了一种设计思路吧。问题的根源是什么,因为不知道底层的东西,所以这里也就不做推测了。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注