ModbusTCP通讯协议_第1页
ModbusTCP通讯协议_第2页
ModbusTCP通讯协议_第3页
ModbusTCP通讯协议_第4页
ModbusTCP通讯协议_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Modbus TCP通讯协议一、 适用范围及默认规范此Modbus TCP协议适用于EIO、ADC系列产品。协议中所有数值如无特殊说明,均为16进制。Modbus浮点数为标准的IEEE格式, Modbus 32位长整数据为4字节无符号整数(unisigned long)组态软件支持此Modbus TCP协议,可以直接使用。二、 读开关量输入1. 功能码、寄存器地址、偏移功能码:01 地址:两个地址,分别用于读入全部开关量状态或单独读一路开关量输入状态。描述如下。0A-读全部开关量输入状态。3C-读第1路开关量输入状态,递增1为下一路,如3D为第二路。以此类推。地址偏移:可为任意值,建议为000

2、0。在使用组态软件时,正确填写地址,地址偏移填写任意值即可。2. Modbus TCP格式(网口)读全部开关量输入状态发送报文:0000000000 06 01 01000A 0001读第1路开关量输入状态发送报文:0000000000 06 01 01003C 000000 00 00 00 00:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。06:剩余数据长度,说明还剩6个字节等待接收。使用组态软件时,自动设置。01:子设备ID。Modbus TCP忽略。01:Modbus TCP 功能码0100 0A或00 3C:寄存器地址,高位字节在前,低位字节在后。00 00

3、:寄存器地址偏移,设备忽略此数据,只设置寄存器地址即可工作,设置成0000即可。读全部开关量输入状态应答报文:00 00 00 00 00 04 01 01 01 42读一路开关量输入状态应答报文:00 00 00 00 00 04 01 01 01 0100 00 00 00 00:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。04:剩余数据长度,说明还剩4个字节等待接收。使用组态软件时,自动设置。01:子设备ID。Modbus TCP忽略。01:Modbus TCP 功能码0101:返回字节数,1个字节的8个bit对应8路输入,接通/低电平时,对应的bit置1,否则

4、置0。8路输入设备返回01,16路输入设备返回02,以此类推。42或01:对于读全部开关量输入状态报文,此处为开关量输入状态字节,bit0对应input1,接通/低电平为1,否则为0。此处为0100 0010,说明Input2、Input7为接通或低电平状态。其他为断开或高电平状态。对于读一路开关量输入状态报文,此字节为01说明为接通/低电平状态,00为断开/高电平状态。三、 读模拟量、温湿度输入(保持寄存器)1. 功能码、寄存器地址、偏移功能码:03 地址:不同类型及格式的模量输入,具体描述如下。29-读温湿度及传感器状态,特殊编程格式,不支持组态软件。2A-读温度值,地址偏移可以为任意值,

5、建议设置为0000。标准Modbus浮点数格式,支持组态软件。2B-读湿度,地址偏移可以为任意值,建议设置为0000。标准Modbus浮点数格式,支持组态软件,2C-读露点,地址偏移可以为任意值,建议设置为0000。标准Modbus浮点数格式,支持组态软件。46-读模指定路数的模数通道值,地址偏移指出要读取的几路输入,最小为1,最大为设备支持的模数输入路数。标准Modbus浮点数格式,支持组态软件。47-一次读取全部输入通道的模数值,地址偏移为任意值,建议设置为0000,标准Modbus浮点数格式,支持组态软件。50-读第1路模数值,递增1(如51)为第2路,以此类推最大为50+设备最大模拟量

6、输入路数,地址偏移为任意值,建议设置为0000。标准Modbus浮点数格式,支持组态软件。地址偏移:参照寄存器说明设置。2. Modbus TCP格式(网口)读专用格式温湿度输入发送报文:000000000006010300290001读标准格式温度输入发送报文:0000000000060103002A0000读第1路模拟量输入发送报文:000000000006010300500000一次读2路模拟量输入发送报文:000000000006010300460002一次读所有模拟量输入发送报文:00000000000601030047000000 00 00 00 00:Modbus TCP报文头

7、,简化为全0即可。使用组态软件时,自动设置。06:剩余数据长度,说明整个报文还剩6个字节。使用组态软件时,自动设置。01:子设备ID。Modbus TCP忽略。03:Modbus TCP 功能码030029:寄存器地址,高位字节在前,低位字节在后。参考寄存器地址说明。0000:寄存器地址偏移,参考寄存器地址说明读专用格式温湿度输入应答报文:000000000008 010305 <1025><2A3B><00>读标准格式温度输入应答报文:000000000007010304412828F4读第1路模拟量输入应答报文:000000000007010304000

8、40879读2路模拟量输入应答报文:00000000000B010308000408C600079F2C读所有模拟量输入应答报文:00000000000F01030C0004077D00079FF40000077300 00 00 00 00:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。08:剩余数据长度,此处说明还剩8个字节等待接收。使用组态软件时,自动设置。0B还剩11个字节,0F还剩15个字节。01:子设备ID。Modbus TCP忽略。03:Modbus TCP 功能码0305:结果数据长度,由发送报文的寄存器地址决定。例如,05为5个有效数据字节。04为4个

9、字节,一个模数通道或标准浮点数(温湿度)值用4个字节,所以返回1个通道值用4个字节。08为2个通道模数值8个字节。<1025><2A3B><00>、412828F4或00040879:温湿度或模数值。描述如下。<1025><2A3B><00>:非标准格式温湿度值。<1025>第1个字节为温度整数,第2个字节为温度小数。温度整数为10,小数为25,温度值为:16.37摄氏度。<2A3B>第1个字节为湿度整数,第2个字节为湿度小数。湿度整数为2A,小数为3B,湿度值为42.56%。<00>传

10、感器状态字节:0-传感器正常,温湿度值有效。其他值为传感器错误,温湿度值无效。412828F4:温度、湿度、露点数据,Modbus浮点数格式。00040879:模数采样结果值,Modbus 32位长整数据。四、 单独设置一个开关量/TTL输出状态1. 功能码、寄存器地址、偏移功能码:05 地址:1E至1E加设备最大输出路数(0起),例如第1路为1E,第8路为25。地址偏移:此功能码不需要地址偏移。控制数据:FF00-接通或为低电平,0000-断开或高电平2. Modbus TCP格式(网口)设置第8路输出为接通或TTL为低电平报文:00 00 00 00 000601050025FF0000

11、00 00 00 00:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。06:剩余数据长度,说明整个报文还剩6个字节。使用组态软件时,自动设置。01:子设备ID。Modbus TCP忽略。05:Modbus TCP 功能码050025:寄存器地址,高位字节在前,低位字节在后。第8路=1E+07=25FF00:将第8路输出设置为接通或低电平。0000为断开或高电平。如果设备正确执行了指令,将原样返回接收到的报文,应答报文:00 00 00 00 000601050025FF00五、 设置多个开关量/TTL输出状态1. 功能码、寄存器地址、地址偏移功能码:0F地址:64控制路

12、数(地址偏移):1至最大路数的输出2. Modbus TCP格式(网口)设置全部8路输出为接通/设置TTL为低电平报文:000000000008010F0064000801FF00 00 00 00 00:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。08:剩余数据长度,说明整个报文还剩8个字节。使用组态软件时,自动设置。01:子设备ID。Modbus TCP忽略。0F:Modbus TCP 功能码0F0064:寄存器地址,高位字节在前,低位字节在后。0008:同时设置8路输出状态。01:控制数据字节个数FF:控制数据字节,1个字节控制8路输出,字节中置1位对应的开关量

13、输出将控制为接通或低电平状态。如bit0=1,Outuput1为接通或低电平状态。FF为设置所有8个通道全部接通或低电平状态。如果设备正确执行了指令,将原样返回接收到的报文,应答报文:000000000008010F0064000801FF六、 读开关量输出状态1. 功能码、寄存器地址、偏移此报文使用第一节的01功能码,地址不同。功能码:01 地址:64 地址偏移:小于最大输出路数即可,建议为0000。在使用组态软件时,正确填写地址,地址偏移填写任意值即可。2. Modbus TCP格式(网口)读开关量输入发送报文:00000000000601010064000000 00 00 00 00:

14、Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。06:剩余数据长度,说明还剩6个字节等待接收。使用组态软件时,自动设置。01:子设备ID。Modbus TCP忽略。01:Modbus TCP 功能码0100 64:寄存器地址,高位字节在前,低位字节在后。00 00:为00设备应答报文:00 00 00 00 00 04 01 01 01 D500 00 00 00 00:Modbus TCP报文头,简化为全0即可。使用组态软件时,自动设置。04:剩余数据长度,说明还剩4个字节等待接收。使用组态软件时,自动设置。01:子设备ID。Modbus TCP忽略。01:Modbus

15、 TCP 功能码0101:返回字节数,1个字节的8个bit对应8路输出,接通/低电平时,对应的bit置1,否则置0。8路输出设备返回01,16路输入设备返回02,以此类推。D5:开关量输入状态字节,bit0对应Output1,接通/低电平为1,否则为0。此处为11010101,说明Output1、Output3、Output5、Output7、Output8为接通或低电平状态。其他为断开或高电平状态。输出状态为设备保存的值,如果硬件损坏,这个值将无法反映输出的实际情况。七、 组态软件设置,以组态王为例1. 设备定义使用京金华、莫迪康或其他厂家的通用型ModbusTCP驱动即可。2. 开关量输入数据类型:bit第一路输入寄存器为061第二路输入寄存器为062以此类推3.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论