FX3系列三菱PLC的MODBUS通信编程注意事项
MODBUS通信网络如果是RS-485通信,则可使用1台主站控制32站从站,如果是RS-232C通信,则可使用1台主站控制1站从站。
这里所讲的“FX3系列三菱PLC”指的是FX3S、FX3G、FX3GC、FX3U、FX3UC,以下说明MODBUS通信编程的注意事项。
1、MODBUS通信参数设定标志位(M8411)
通过通道1或通道2进行MODBUS通信设定时,请务必使用特殊辅助继电器(M8411)。
2、使用ADPRW指令时
1) 在MODBUS主站中使用ADPRW指令时,请将驱动接点保持ON状态直到ADPRW指令结束(M8029为ON)。
2) 在MODBUS主站中同时驱动多个ADPRW指令时,一次只执行1个指令。当前指令结束后,执行下一个ADPRW指令。
3) 在STL指令中编写ADPRW指令时
和其他站的通信结束前,请勿将状态断开。通信过程中将状态断开后,ADPRW指令会成为途中停止状态,不会转移到其他的ADPRW指令。请按照下面的注意事项对顺控进行编程。
. 在状态的转移条件中,请加上M8029(指令执行结束标志位)的ON条件进行互锁,以确保在和其他站进行通信的过程中,状态不发生转移。
此外,在通信过程中状态断开的情况下,状态再次为ON后,可以完成剩余的通信。
. 请在MODBUS通信过程中(M8401/M8421)的OFF条件成立的状态下,使用ZRST(FNC 40)指令等执行状态的成批复位。
4) 在程序流程中使用ADPRW指令时
ADPRW指令不能在以下的程序流程中使用。
. CJ-P指令之间 条件跳转
. FOR-NEXT指令之间 循环
. P-SRET指令之间 子程序
. I-IRET指令之间 中断子程序
5) 关于RUN中写入的注意事项
. 允许写入的场合
可编程控制器处于STOP状态时,允许RUN中写入的操作。
. 不允许写入的场合
ADPRW指令不支持RUN中写入。
在通信过程中执行RUN中写入时,或是用RUN中写入方式删除了指令时,此后的通信有可能会停止。
3、线圈读出
MODBUS主站中使用线圈读出功能(功能代码:0x01),在读出对象软元件中指定字软元件(例:D或R)时,仅通过ADPRW指令的访问点数指定的位会被改写。字软元件的剩余位不会变化。
4、FX系列可编程控制器为从站时
请将主站侧的播放延迟设定成与FX系列从站的扫描时间相同或比该扫描时间长。
5、使用ASCII模式时(仅FX3U/FX3UC可编程控制器)
. FX可编程控制器为主站时
FX可编程控制器为主站时,在可编程控制器侧发送指令后,请将对象设备侧回复响应前的时间空出至少100μs。
. FX可编程控制器为从站时
FX可编程控制器为从站的情况下,从对象设备侧向可编程控制器侧发送指令时,请在可编程控制器响应超过100μs后,再发送下一个指令