Skip to content

Inovance Modbus TCP ​

Inovance Modbus TCP 是一种基于以太网的 Modbus 协议版本,它使用 TCP/IP 协议进行通信。

通用配置步骤见添加南向驱动与组与点位。

EMQX Neuron 的 Inovance Modbus TCP 驱动适配汇川 PLC 点位。

添加驱动 ​

在 数据采集 → 南向设备 页点击 添加设备,驱动类型选择 Inovance Modbus TCP。

驱动
说明
Inovance Modbus TCPModbus TCP 协议实现,适配汇川 PLC 点位。

连接参数 ​

点击驱动卡片进入设备配置页填写:

字段
说明
4 字节字节序32 位数据类型字节序,ABCD 对应 1234。
8 字节字节序64 位数据类型字节序,每个数字代表一字节。
指令发送间隔发送每条读写指令之间的等待时间。
PLC IP 地址TCP 连接时,设备的 IP 地址。
PLC 端口号TCP 连接时,设备的端口号。
连接超时时间等待设备返回指令响应的时间。
校验报文头选择是否对报文头进行校验。选择校验后,遇到报文头错误时 neuron 与设备会重新连接。

点位配置 ​

以下为本驱动支持的数据类型与地址格式。

数据类型 ​

  • BIT
  • INT8
  • UINT8
  • INT16
  • UINT16
  • INT32
  • UINT32
  • INT64
  • UINT64
  • FLOAT
  • DOUBLE
  • STRING
  • BYTES

地址格式 ​

ADDRESS[.BIT][#ENDIAN][.LEN[H][L][D][E]][.BYTES]

TIP

由于使用 TCP/IP 协议进行通信,通过 IP 地址及端口号搜索设备,报文无需特别指定站点号,EMQX Neuron 默认站点号为 1 。

ADDRESS ​

必填,指寄存器地址。汇川 PLC 对于 MODBUS 协议支持线圈和寄存器访问。不同于标准 Modbus 协议,每个区域的地址范围如下表所示。

地址区域按 PLC 型号分为两种。

小型 PLC:EASY 系列、H5U 等。

地址地址范围数量属性寄存器大小功能码数据类型
M0-M7999(线圈)0x0000-0x1F3F (0-7999)8000读/写1Bit0x01,0x05,0x0fBIT
B0-B32767(线圈)0x3000-0xAFFF (12288-45055)32768读/写1Bit0x01,0x05,0x0fBIT
S0-S4095(线圈)0xE000-0xEFFF (57344-61439)4096读/写1Bit0x01,0x05,0x0fBIT
X0-X1777(8 进制)(线圈)0xF800-0xFBFF (63488-64511)1024读/写1Bit0x01,0x05,0x0fBIT
Y0-X1777(8 进制)(线圈)0xFC00-0xFFFF (64512-65535)1024读/写1Bit0x01,0x05,0x0fBIT
D0-D7999(保持寄存器)0x0000-0x1F3F (0-7999)8000读/写16Bit,2Byte0x03,0x06,0x10多种
R0-R32767(保持寄存器)0x3000-0xAFFF (12288-45055)32768读/写16Bit,2Byte0x03,0x06,0x10多种

TIP

X 和 Y 区域的地址以八进制表示。

中型 PLC:AM 系列,AC 系列等。

地址地址范围数量属性寄存器大小功能码数据类型
QX0.0-QX8191.7(线圈)0x0000-0xFFFF (0-65536)65536读/写1Bit0x01,0x05,0x0fBIT
IX0.0-IX8191.7(离散量输入)0x0000-0xFFFF (0-65536)65536读1Bit0x01,0x05,0x0fBIT
MW0-MW65535(保持寄存器)0x0000-0xFFFF (0-65536)65536读/写16Bit,2Byte0x03,0x06,0x10多种
SM0-SM79990x0000-0x1F3F (0-7999)8000读/写16Bit,2Byte0x01,0x05,0x0fBIT
SD0-SD79990x0000-0x1F3F (0-7999)8000读/写16Bit,2Byte0x03,0x06,0x10多种

TIP

M、I、Q 区域有多种寻址方式,支持如下寻址方式:(M|I|Q)X、(M|I|Q)B、(M|I|Q)W、(M|I|Q)D,分别按 bit、Byte、Word、Dword 寻址。 当采用 MX、MB 寻址方式时点位仅支持读属性。

.BIT ​

选填,寄存器中的特定 bit,例如:

地址数据类型说明
D4.0bitD 区域,地址为 4,第 0 位。
D10.4bitD 区域,地址为 10,第 4 位。
D1.15bitD 区域,地址为 1,第 15 位。

#ENDIAN ​

选填,字节顺序,适用于 int16/uint16/int32/uint32/float 数据类型,详细说明见下表。

符号字节顺序支持的数据类型备注
#B2,1int16/uint16
#L1,2int16/uint16不填,默认字节顺序
#LL3,4,1,2int32/uint32/float不填,默认字节顺序
#LB4,3,2,1int32/uint32/float
#BL1,2,3,4int32/uint32/float
#BB2,1,4,3int32/uint32/float

字节顺序同样适用于 int64/uint64/double 数据类型,每个数字代表一字节,详细说明见下表。

符号字节顺序支持的数据类型备注
#LL12,34,56,78int64/uint64/double不填,默认字节顺序
#LB21,43,65,87int64/uint64/double
#BL78,56,34,12int64/uint64/double
#BB87,65,43,21int64/uint64/double

TIP

点位字节序优先级高于节点字节序配置。即点位配置字节序后,字节序按照点位的配置,忽略节点配置。

.LEN[H][L] ​

当数据类型为 STRING 类型时,.LEN 是必填项,表示字符串需要占用的字节长度,每个寄存器中包含H,L 两种存储方式,如下列表格所示。

符号说明
H一个寄存器存储两个字节,高字节在前低字节在后。
L一个寄存器存储两个字节,低字节在前高字节在后。

TIP

请注意,汇川驱动字符串默认字节序为 L。

.BYTES ​

选填,读写 bytes 类型数据的长度,适用于 bytes 数据类型。

TIP

Modbus 驱动的一个寄存器包含 2 个 bytes,在以 bytes 数据类型读取和写入 Modbus 寄存器数据时,请保证 bytes 参数设置为偶数。

地址示例 ​

地址数据类型说明
D8int16D 区域,地址为 8,字节顺序为 #L
D8#Lint16D 区域,地址为 8,字节顺序为 #L
D8#Buint16D 区域,地址为 8,字节顺序为 #B
D8int32D 区域,地址为 8,字节顺序为 #LL
D8#LBuint32D 区域,地址为 8,字节顺序为 #LB
D8#BBuint32D 区域,地址为 8,字节顺序为 #BB
D8#LLint32D 区域,地址为 8,字节顺序为 #LL
D8#BLfloatD 区域,地址为 8,字节顺序为 #BL
D1.10StringD 区域,地址为 1,字符长度为 10,字节顺序为 L,占用的地址为 D1 ~ D5
D1.10HStringD 区域,地址为 1,字符长度为 10,字节顺序为 H,占用的地址为 D1 ~ D5
D1.10LStringD 区域,地址为 1,字符长度为 10,字节顺序为 L,占用的地址为 D1 ~ D5
M8bitM 区域,地址为 8
X10bitX 区域,地址为 8
MX1.1bitM 区域,地址为第一个寄存器第十位
MB1int8X 区域,地址为第一个寄存器低字节
MW1int16X 区域,地址为第二个寄存器
MD1int32X 区域,地址为第三个寄存器

应用场景 ​

使用汇川的 PLC 编程软件 AutoShop 可以快速连接 PLC 和 EMQX Neuron 并调试,具体操作见 Easy521 连接示例。