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