ModbusTCP通讯协议

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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。此处为0100 0010,说明Input2、Input7为接通或低电平状态。其他为断开或高电平状态。

对于读一路开关量输入状态报文,此字节为01说明为接通/低电平状态,00为断开/高电平状态。

三、读模拟量、温湿度输入(保持寄存器)

1.功能码、寄存器地址、偏移

功能码:03

地址:不同类型及格式的模量输入,具体描述如下。

[29]--读温湿度及传感器状态,特殊编程格式,不支持组态软件。

[2A]--读温度值,地址偏移可以为任意值,建议设置为0000。标准Modbus浮点数格式,支持组态软件。

[2B]--读湿度,地址偏移可以为任意值,建议设置为0000。标准Modbus浮点数格式,支持组态软件,

[2C]--读露点,地址偏移可以为任意值,建议设置为0000。标准Modbus浮点数格式,支持组态软件。

[46]--读模指定路数的模数通道值,地址偏移指出要读取的几路输入,最小为1,最大为设备支持的模数输入路数。标准Modbus浮点数格式,支持组态软件。[47]--一次读取全部输入通道的模数值,地址偏移为任意值,建议设置为0000,标准Modbus浮点数格式,支持组态软件。

[50]--读第1路模数值,递增1(如51)为第2路,以此类推最大为50+设备最大模拟量输入路数,地址偏移为任意值,建议设置为0000。标准Modbus浮点数格式,支持组态软件。

地址偏移:参照寄存器说明设置。

2.Modbus TCP格式(网口)

读专用格式温湿度输入发送报文:[0000000000][06][01][03][0029][0001]

读标准格式温度输入发送报文:[0000000000][06][01][03][002A][0000]

读第1路模拟量输入发送报文:[0000000000][06][01][03][0050][0000]

一次读2路模拟量输入发送报文:[0000000000][06][01][03][0046][0002]

一次读所有模拟量输入发送报文:[0000000000][06][01][03][0047][0000]

[00 00 00 00 00]:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。

[06]:剩余数据长度,说明整个报文还剩6个字节。使用组态软件时,自动设置。

[01]:子设备ID。Modbus TCP忽略。

[03]:Modbus TCP 功能码03

[0029]:寄存器地址,高位字节在前,低位字节在后。参考寄存器地址说明。[0000]:寄存器地址偏移,参考寄存器地址说明

读专用格式温湿度输入应答报文:[0000000000][08] [01][03][05] [<1025><2A3B><00>]

读标准格式温度输入应答报文:[0000000000][07][01][03][04][412828F4]

读第1路模拟量输入应答报文:[0000000000][07][01][03][04][00040879]

读2路模拟量输入应答报文:[0000000000][0B][01][03][08][000408C6][00079F2C]

读所有模拟量输入应答报文:

[0000000000][0F][01][03][0C][0004077D][00079FF4][00000773]

[00 00 00 00 00]:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。

[08]:剩余数据长度,此处说明还剩8个字节等待接收。使用组态软件时,自动设

相关文档
最新文档