文档介绍:ModbusTCP通讯协议一、 适用范围及默认规范此ModbusTCP协议适用于EIO、ADC系列产品。协议中所有数值如无特殊说明,均为16进制。Modbus浮点数为标准的IEEE格式,Modbus32位长整数据为4字节无符号整数(unisignedlong)组态软件支持此ModbusTCP协议,可以直接使用。二、 、寄存器地址、偏移功能码:01地址:两个地址,分别用于读入全部开关量状态或单独读一路开关量输入状态。描述如下。[0A]--读全部开关量输入状态。[3C]--读第1路开关量输入状态,递增1为下一路,如3D为第二路。以此类推。地址偏移:可为任意值,建议为0000。在使用组态软件时,正确填写地址,地址偏移填写任意值即可。(网口)读全部开关量输入状态发送报文:[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为断开/高电平状态。三、 读模拟量、温湿度输入(保持寄存器)、寄存器地址、偏移功能码:03地址:不同类型及格式的模量输入,具体描述如下。[29]--读温湿度及传感器状态,特殊编程格式,不支持组态软件。[2A]--读温度值,地址偏移可以为任意值,建议设置为 0000。标准Modbus浮点数格式,支持组态软件。[2B]--读湿度,地址偏移可以为任意值,建议设置为 0000。标准Modbus浮点数格式,支持组态软件,[2C]--读露点,地址偏移可以为任意值,建议设置为 0000。标准Modbus浮点数格式,支持组态软件。[46]--读模指定路数的模数通道值,地址偏移指出要读取的