台达PLC在使用Modbus通讯时有两种模式:分别是Modbus—RTU和Modbus—ASCII,下面我们就这两种模式分别举例说明 。
Modbus—RTU模式说明
如下图所示:PLC在Modbus-RTU模式时需要将M1143置一,即M1143=ON。
说明:
【D1120】:通讯格式设置。
【M1120】:通讯格式保持,设置完通讯格式需要置位。
【D1129】:通讯超时时间设置,单位为毫秒。
【M1143】:模式设置RTU/ASIIC(ON/OFF)。
【M1122】:送信要求,即在读写从站数据前必须由上升沿置位。
【MODRD】:读取从站数据指令。
【M1127】:数据接收完成标志位,正确接收到从站数据时被置位,需要手动复位。一般用于处理接收的数据,接受的数据存储在地址D1070-D1085(注意这里也就限制了每包最大数据量)。
Modbus—ASCII模式说明
如下图所示:PLC在Modbus-ASCII模式时不需要将M1143置一,即M1143=OFF使用默认即可。
说明:
【D1120】:通讯格式设置。
【M1120】:通讯格式保持,设置完通讯格式需要置位。
【D1129】:通讯超时时间设置,单位为毫秒。
【M1143】:模式设置RTU/ASIIC(ON/OFF)。
【M1122】:送信要求,即在读写从站数据前必须由上升沿置位。
【MODRD】:读取从站数据指令。
【M1127】:数据接收完成标志位,正确接收到从站数据时被置位,需要手动复位。一般用于处理接收的数据,接受的数据存储在地址D1070-D1085(注意这里存储的是ASCII码,转换的数字被存储在D1050开始的地址中)。
注意事项
1、MODRD、MODRW(功能码H03)指令前启动条件不可以使用接点上升沿和下降沿(LDP、ANDP、ORP、LDF、ANDF、ORF),否则通讯接收的数据可能会不正确。
2、MODWR/MODRW(功能码H06、H10)指令前面启动条件使用上升沿或者下降沿LDP、ANDP、ORP、LDF、ANDF、ORF),必须先启动送信要求M1122,才可以正确的通讯。
3、这些读写指令在程序中使用次数是没有限制的,但是必须注意的是每一次只能有一条通讯指令被执行。
原作者:西安达泰
电子