MODBUS通信协议_第1页
MODBUS通信协议_第2页
MODBUS通信协议_第3页
MODBUS通信协议_第4页
MODBUS通信协议_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

1、ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置MODBUS信协议HZR HZC系歹U产品采用 RS485 RS232 CAN EtherNet(TCPip等通信方式与当地监控系统或上一级调度自动化系统连接。MODBUS应用层协议,可基于上述通信媒介进行系统互连。MODBUS用直接内存访问的模式,其基本协议定义了内存访问的具体细节,各应用程序或系统互连时只须提供内存地址表 即可。一、 HZR HZC(列产品支持的MODBUS令1、连续读n个字(功能码03H)下行:设备地址(BYTE: 0什FFH功能码(BYTE: 03H起始地址(WORD: 0000HFFFFH读的字

2、数(WORD: 0001H-007DH校验码(WORD:以上所有字节的CRC16验和上行:设备地址(BYTE: 0什FFH功能码(BYTE: 03H数据长度(BYTE: 0什FAH页脚内容1ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置数据内容(BYTE:读到的具体数据数据内容(BYTE:读到的具体数据OOO数据内容(BYTE:读到的具体数据校验码(WORD:以上所有字节的CRC1校验和2、写1个字(功能码06H)下行:设备地址(BYTE: 0什FFH功能码(BYTE: 06H起始地址(WORD: 0000HFFFFH写入数据(WORD: 000什FFFFH校验码(

3、WORD:以上所有字节的CRC1校验和上行:设备地址(BYTE: 0什FFH功能码(BYTE: 06H起始地址(WORD: 0000HFFFFH页脚内容2ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置写入数据(WORD: 0001HHFFFFH校验码(WORD:以上所有字节的CRC1校验和3、连续写n个字(功能码10H)下行:设备地址(BYTE: 0什FFH功能码(BYTE: 10H起始地址(WORD: 0000HFFFFH写的字数(WORD: 0001H-007DH数据长度(BYTE: 01HFAH数据内容(BYTE:写入的具体数据数据内容(BYTE:写入的具体数

4、据OOO数据内容(BYTE:写入的具体数据校验码(WORD:以上所有字节的CRC1校验和上行:设备地址(BYTE: 0什FFH页脚内容3ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置功能码(BYTE: 10H起始地址(WORD: 0000HFFFFH写的字数(WORD: 0001H-007DH校验码(WORD:以上所有字节的CRC16验和CRa算例程:unsigned short CalculateCRC(unsigned short* pData,unsigned short wLength)unsigned short wCRC;wCRC = 0xffff;wh

5、ile(wLength-) wCRC = (wCRC>>8)Ac_wTableCRC(wCRCA*pData+)&0x00ff;return wCRC;)unsigned short c_wTableCRC256=0x0000,0xc0c1,0xc181,0x0140,0xc301,0x03c0,0x0280,0xc241,0xc601,0x06c0,0x0780,0xc741,0x0500,0xc5c1,0xc481,0x0440,页脚内容4ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置0xcc01,0x0cc0,0x0d80,0xcd41,0

6、x0f00,0xcfc1,0xce81,0x0e40,0x0a00,0xcac1,0xcb81,0x0b40,0xc901,0x09c0,0x0880,0xc841,0xd801,0x18c0,0x1980,0xd941,0x1b00,0xdbc1,0xda81,0x1a40,0x1e00,0xdec1,0xdf81,0x1f40,0xdd01,0x1dc0,0x1c80,0xdc41,0x1400,0xd4c1,0xd581,0x1540,0xd701,0x17c0,0x1680,0xd641,0xd201,0x12c0,0x1380,0xd341,0x1100,0xd1c1,0xd081,

7、0x1040,0xf001,0x30c0,0x3180,0xf141,0x3300,0xf3c1,0xf281,0x3240,0x3600,0xf6c1,0xf781,0x3740,0xf501,0x35c0,0x3480,0xf441,0x3c00,0xfcc1,0xfd81,0x3d40,0xff01,0x3fc0,0x3e80,0xfe41,0xfa01,0x3ac0,0x3b80,0xfb41,0x3900,0xf9c1,0xf881,0x3840,0x2800,0xe8c1,0xe981,0x2940,0xeb01,0x2bc0,0x2a80,0xea41,0xee01,0x2ec0

8、,0x2f80,0xef41,0x2d00,0xedc1,0xec81,0x2c40,0xe401,0x24c0,0x2580,0xe541,0x2700,0xe7c1,0xe681,0x2640,0x2200,0xe2c1,0xe381,0x2340,0xe101,0x21c0,0x2080,0xe041,0xa001,0x60c0,0x6180,0xa141,0x6300,0xa3c1,0xa281,0x6240,0x6600,0xa6c1,0xa781,0x6740,0xa501,0x65c0,0x6480,0xa441,0x6c00,0xacc1,0xad81,0x6d40,0xaf0

9、1,0x6fc0,0x6e80,0xae41,页脚内容5ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置0xaa01,0x6ac0,0x6b80,0xab41,0x6900,0xa9c1,0xa881,0x6840, 0x7800,0xb8c1,0xb981,0x7940,0xbb01,0x7bc0,0x7a80,0xba41, 0xbe01,0x7ec0,0x7f80,0xbf41,0x7d00,0xbdc1,0xbc81,0x7c40, 0xb401,0x74c0,0x7580,0xb541,0x7700,0xb7c1,0xb681,0x7640, 0x7200,

10、0xb2c1,0xb381,0x7340,0xb101,0x71c0,0x7080,0xb041, 0x5000,0x90c1,0x9181,0x5140,0x9301,0x53c0,0x5280,0x9241, 0x9601,0x56c0,0x5780,0x9741,0x5500,0x95c1,0x9481,0x5440, 0x9c01,0x5cc0,0x5d80,0x9d41,0x5f00,0x9fc1,0x9e81,0x5e40, 0x5a00,0x9ac1,0x9b81,0x5b40,0x9901,0x59c0,0x5880,0x9841, 0x8801,0x48c0,0x4980,0

11、x8941,0x4b00,0x8bc1,0x8a81,0x4a40, 0x4e00,0x8ec1,0x8f81,0x4f40,0x8d01,0x4dc0,0x4c80,0x8c41, 0x4400,0x84c1,0x8581,0x4540,0x8701,0x47c0,0x4680,0x8641, 0x8201,0x42c0,0x4380,0x8341,0x4100,0x81c1,0x8081,0x4040;通讯数据的类型及格式说明:页脚内容6ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置信息传输为异步方式,并以字节为单位。在主站和从站之间传递的通讯信息是1位的字格式

12、:字格式(串行数据)1位二进制起始位1位数据位8位奇偶校验位1位:有奇偶校验位/无:无奇偶校验位停止位1位:有奇偶校验位/2位:无奇偶校验位通讯数据(信息帧)格式数据格式:地址码功能码数据区错误校检数据长度:1字节1字节N节1的CRCS (冗余循划、码)注:1、1个字节由8位二进制数组成(既8 bit)2、ModBuS Modico公司的注册商标。3、“从机”在本文件中既为PDM页脚内容7ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置一、通讯信息传输过程:当通讯命令由发送设备(主机)发送至接收设备(从机)时,符合相应地址码的从机接收通讯命令, 并根据功能码及相关要求

13、读取信息,如果 CR破验无误,则执行相应的任务,然后把执行结果(数据) 返送给主机。返回的信息中包括地址码、功能码、执行后的数据以及CR版验码。如果CR版验出错就不返回任何信息。1.1 地址码:地址码是每次通讯信息帧的第一字节(8位),从1到255。这个字节表明由用户设置地址的从机将 接收由主机发送来的信息。每个从机都必须有唯一的地址码,并且只有符合地址码的从机才能响应回 送信息。当从机回送信息时,回送数据均以各自的地址码开始。主机发送的地址码表明将发送到的从机地址,而从机返回的地址码表明回送的从机地址。相应的地址码表 明该信息来自于何处。1.2 功能码:是每次通讯信息帧传送的第二个字节。 M

14、odBuS!讯规约可定义的功能码为1到127。PDMI(列仪表/ 变送器仅用到其中的一部分功能码。作为主机请求发送,通过功能码告诉从机应执行什么动作。作为 从机响应,从机返回的功能码与从主机发送来的功能码一样,并表明从机已响应主机并且已进行相关 的操作。表8.1 MODBUS分功能码页脚内容8ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置功能码定义操作(二进制)02读开关量输入读取一路或多路开关量状态输入数据01读开关量输出读取一路或多路开关量输出状态数据03读寄存器数据读取一个或多个寄存器的数据05写开大量输出控制一路继电器“合/分”输出06写单路寄存器把一组二进

15、制数据写入单个寄存器10写多路寄存器把多组二进制数据写入多个寄存器1.3 数据区:数据区包括需要由从机返送何种信息或执行什么动作。这些信息可以是数据(如:开关量输入 /输出、 模拟量输入/输出、寄存器等等)、参考地址等。例如,主机通过功能码03告诉从机返回寄存器的值(包 含要读取寄存器的起始地址及读取寄存器的长度),则返回的数据包括寄存器的数据长度及数据内容。对于不同的从机,地址和数据信息都不相同(应给出通讯信息表) 。、MODBUS能码简介页脚内容9ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置2.1 功能码“02”:读1路或多路开关量状态输入例如:主机要读取地址

16、为01,开关量DI1 DI4的输入状态从机(PDM数据寄存器的地址和数据为:起始位地址DI寄存器数据(16进制)备注00000BDI1/DI2/DI4 状态为 “1”,DI3状态为“0”主机发送的报文格式:主机发送字节数发送的信息备注从机地址101发送至地址为01的从机功能码102读开关量输入状态起始BIT位20000起始BIT位地址为0000读数据长20004读取4路开关量输入状态位页脚内容10ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置度CRM279C9由主机计算得到CR则从机(PDM响应返回的报文格式:从机响应字节数返回的信息备注从机地址101来自从机01功

17、能码102读开关量输入状态数据长度1011个字节(8个BIT位)DI状态数据10BDI寄存器内容CRM2E04F由从机计算得到CR则2.2 功能码“01”:读1路或多路开关量输出状态例如:主机要读取地址为01,开关量DO1 DO2的输出状态从机(PDM数据寄存器的地址和数据为:页脚内容11ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置起始位地址DOW1存器数据(16进制)备注000002DO2俞出状态为“1”,DO1 俞出状态为“0”主机发送的报文格式:主机发送字节数发送的信息备注从机地址101发送至地址为01的从机功能码101读开关量输出状态起始BIT位20000

18、起始BIT位地址为0000读数据长度20002读取2路继电器输出状态位CRM2BDCB由主机计算得到CR则从机(PDM响应返回的报文格式:页脚内容12ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置从机响应字节数返回的信息备注从机地址101来自从机01功能码101读开关量输出状态数据长度1011个字节(8个BIT位)DO犬态数据102DO寄存器内容CRM2D049由从机计算得到CR则2.3功能码“ 03” :读多路寄存器输入例如:主机要读取地址为01,起始地址为0116的3个从机寄存器数据 从机(PDM数据寄存器的地址和数据为:寄存器地址寄存器数据(16进制)对应PD

19、M电量01161784UA页脚内容13ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置01171780UB0118178AUC主机发送的报文格式:主机发送字节数发送的信息备注从机地址101发送至地址为01的从机功能码103读取寄存器起始地址20116起始地址为0116数据长度30003读取3个寄存器(共6个字节)CRM2E5F3由主机计算得到CRM从机(PDM响应返回的报文格式:从机响应字节数返回的信息备注页脚内容14ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置从机地址101来自从机01功能码103读取寄存器读取字1063个寄存器共6个字

20、节寄存器数据121784地址为0116内存的内容寄存器数据221780地址为0117内存的内容寄存器数据32178A地址为0118内存的内容CRM25847由从机计算得到CRC52.4功能码“05”:写1路开关量输出(“遥控”)例1:开关量输出点DO1其当前状态为“分”,主机要控制该路继电器“合”控制命令为:“FF0。为控制继电器“合”;“0000”为控制继电器“分”;主机发送的报文格式:页脚内容15ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置主机发送字节数发送的信息备注从机地址101发送至地址为01的从机功能码105写开大量输出状态输出BIT位20000对应输出

21、继电器BIT位(DO1控制命令2FF00控制该路继电器输出为“合”状态位CRM28C3A由主机计算得到CR则从机(PDM响应返回的报文格式:与主机发送的报文格式及数据内容完全相同。例2:开关量输出点DOZ其当前状态为“合”,主机要控制该路继电器“分”主机发送的报文格式:主机发送字节发送的信息备注页脚内容16ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置数从机地址101发送至地址为01的从机功能码105写开大量输出状态输出BIT位20001对应输出继电器 BIT位(DO2控制命令20000控制该路继电器输出为“合”状态位CRM29C0A由主机计算得到CR则从机(PDM

22、响应返回的报文格式:与主机发送的报文格式及数据内容完全相同2.5 功能码“06”:写单路寄存器例如:主机要把数据07D0,保存到地址为002C的从机寄存器中去(从机地址码为 01)。通讯数据保存结束后,地址为002C勺PDMg原存储信息为:地址原来存储数据(16进页脚内容17ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置制)002C04B0主机发送的报文格式:主机发送字节数发送的信息举例从机地址101发送至地址为01的从机功能码106写单路寄存器起始地址2002C要写入的寄存器地址写入数据207D0对应的新数据CRM24BAF由主机计算得到的CRM从机(PDM响应返

23、回的报文格式:与主机发送的报文格式及数据内容完全相同页脚内容18ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置2.6 功能码“10':写多路寄存器主机利用这个功能码把多个数据保存到PDMg的数据存储器中去。ModbuSS讯规约中的寄存器指的是16位(即2字节),并且高位在前。这样 PDM勺存储器都是二个字节。由于 Modbusffi讯规约允许每次 最多保存60个寄存器,因此PDMH次也最多允许保存60个数据寄存器。例如:主机要把0064, 0010保存到地址为002G 002D的从机寄存器中去(从机地址码为 01)。通讯数 据保存结束后,地址为002C/00

24、2D的PDMg内存储信息为:地址原来存储数据(16进制)002C04B0002D1388主机发送的报文格式:主机发送字节数发送信息举例从机地址101发送至从机01页脚内容19ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置功能码110写多路寄存器起始地址2002C要写入的寄存器的起始地址保存数据字长度20002保存数据的字长度(共2字)保存数据字节长104保存数据的字节长度(共 4字节)保存数据1204B0数据地址002C保存数据221388数据地址002DCR明2FC63由主机计算得到的CRM从机(PDM响应返回的报文格式:从机响应字节数字节数举例从机地址101来自

25、从机01功能码110写多路寄存器页脚内容20ModbusRTU/TCP向转换功能与组态王及 ModbusPol连接设置起始地址2002C起始地址为002C保存数据字长度20002保存2个字长度的数据CRC;28001由从机计算得到的CRM三、错误校验码(CR版验):主机或从机可用校验码进行判别接收信息是否正确。由于电子噪声或一些其它干扰,信息在传输过程 中有时会发生错误,错误校验码(CRC可以检验主机或从机在通讯数据传送过程中的信息是否有误, 错误的数据可以放弃(无论是发送还是接收),这样增加了系统的安全和效率。MODBUS讯协议的CRC冗余循环码)包含2个字节,即16位二进制数。CR则由发送设备(主机)计 算,放置于发送信息帧的尾部。接收信息的设备(从机)再重新计算接收到信息的 CRC比较计算得到 的CR

温馨提示

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

评论

0/150

提交评论