Modbus TCP 通讯协议 一、 适用范围及默认规范 此Modbus TCP 协议适用于EIO、ADC 系列产品。协议中所有数值如无特殊说明,均为16 进制。Modbus 浮点数为标准的IEEE 格式,Modbus 32 位长整数据为4 字节无符号整数(unisigned long)组态软件支持此Modbus TCP 协议,可以直接使用。 二、 读开关量输入 1. 功能码、寄存器地址、偏移 功能码:01 地址:两个地址,分别用于读入全部开关量状态或单独读一路开关量输入状态。描述如下。 [0A]--读全部开关量输入状态. [3C]-—读第1 路开关量输入状态,递增1 为下一路,如3D 为第二路。以此类推. 地址偏移:可为任意值,建议为0000。 在使用组态软件时,正确填写地址,地址偏移填写任意值即可. 2. Modbus TCP 格式(网口) 读全部开关量输入状态发送报文:[0000000000][06][01][01][000A][0001] 读第1 路开关量输入状态发送报文:[0000000000][06][01][01][003C][0000] [00 00 00 00 00]:Modbus TCP 报文头,简化为全0 即可。使用组态软件时,自动设置。 [06]:剩余数据长度,说明还剩6 个字节等待接收。使用组态软件时,自动设置。 [01]:子设备ID。Modbus TCP 忽略。 [01]:Modbus TCP 功能码01 [00 0A]或[00 3C]:寄存器地址,高位字节在前,低位字节在后。 [00 00]:寄存器地址偏移,设备忽略此数据,只设置寄存器地址即可工作,设置成0000 即可。 读全部开关量输入状态应答报文:[00 00 00 00 00][04][01][01][01][42] 读一路开关量输入状态应答报文:[00 00 00 00 00][04][01][01][01][01] [00 00 00 00 00]:Modbus TCP 报文头,简化为全0 即可.使用组态软件时,自动设置。 [04]:剩余数据长度,说明还剩4 个字节等待接收。使用组态软件时,自动设置。 [01]:子设备ID.Modbus TCP 忽略。 [01]:Modbus TCP 功能码01 [01]:返回字节数,1 个字节的8 个bit 对应8 路输入,接通/低电平时,对应的bit 置1,否则置0。8 路输入设备返回01,16 路输入设备返回02,以此类推. [42]或[01]:对于读全部开关量输入状态报文,此处为开关量输入状态字节,bit0对应input1,接通/低电平为1,否则为0。此处为01000010,说明Input2、Input7为接通或低电平状态。其他为断开或高电平状态。 对于读一路开关量输入状态报文,此字节为01 说明为接通/低电平状态,00 为断开/高电平状态. 三、 读模...