Modbus通讯协议的原理和标准

上传人:亦明 文档编号:124169201 上传时间:2020-03-11 格式:DOC 页数:11 大小:117.56KB
返回 下载 相关 举报
Modbus通讯协议的原理和标准_第1页
第1页 / 共11页
Modbus通讯协议的原理和标准_第2页
第2页 / 共11页
Modbus通讯协议的原理和标准_第3页
第3页 / 共11页
Modbus通讯协议的原理和标准_第4页
第4页 / 共11页
Modbus通讯协议的原理和标准_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《Modbus通讯协议的原理和标准》由会员分享,可在线阅读,更多相关《Modbus通讯协议的原理和标准(11页珍藏版)》请在金锄头文库上搜索。

1、Modbus通讯协议的原理和标准 上海景利数码科技有限公司Modbus通讯协议的原理和标准工业控制已从单机控制走向集中监控、集散控制,如今已进入网络时代,工业控制器连网也为网络管理提供了方便。 Modbus就是工业控制器的网络协议中的一种。 一、Modbus协议简介Modbus协议是应用于电子控制器上的一种通用语言。 通过此协议,控制器相互之间、控制器经由网络(例如以太网)和其它设备之间可以通信。 它已经成为一通用工业标准。 有了它,不同厂商生产的控制设备可以连成工业网络,进行集中监控。 此协议定义了一个控制器能认识使用的消息结构,而不管它们是经过何种网络进行通信的。 它描述了一控制器请求访问

2、其它设备的过程,如果回应其它设备的请求,以及怎样侦测错误并记录。 它制定了消息域格局和内容的公共格式。 当在一Modbus网络上通信时,此协议决定了每个控制器须要知道它们的设备地址,识别按地址发来的消息,决定要产生何种行动。 如果需要回应,控制器将生成反馈信息并用Modbus协议发出。 在其它网络上,包含了Modbus协议的消息转换为在此网络上使用的帧或包结构。 这种转换也扩展了根据具体的网络解决节地址、路由路径及错误检测的方法。 1、在Modbus网络上转输标准的Modbus口是使用一RS?232C兼容串行接口,它定义了连接口的针脚、电缆、信号位、传输波特率、奇偶校验。 控制器能直接或经由M

3、odem组网。 控制器通信使用主从技术,即仅一设备(主设备)能初始化传输(查询)。 其它设备(从设备)根据主设备查询提供的数据做出相应反应。 典型的主设备主机和可编程仪表。 典型的从设备可编程控制器。 主设备可单独和从设备通信,也能以广播方式和所有从设备通信。 如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。 Modbus协议建立了主设备查询的格式设备(或广播)地址、功能代码、所有要发送的数据、一错误检测域。 从设备回应消息也由Modbus协议构成,包括确认要行动的域、任何要返回的数据、和一错误检测域。 如果在消息接收过程中发生一错误,或从设备不能执行其命令,从

4、设备将建立一错误消息并把它作为回应发送出去。 2、在其它类型网络上转输在其它网络上,控制器使用对等技术通信,故任何控制都能初始和其它控制器的通信。 这样在单独的通信过程中,控制器既可作为主设备也可作为从设备。 提供的多个内部通道可允许同时发生的传输进程。 在消息位,Modbus协议仍提供了主从原则,尽管网络通信方法是“对等”。 如果一控制器发送一消息,它只是作为主设备,并期望从从设备得到回应。 同样,当控制器接收到一消息,它将建立一从设备回应格式并返回给发送的控制器。 3、查询回应周期 (1)查询查询消息中的功能代码告之被选中的从设备要执行何种功能。 数据段包含了从设备要执行功能的任何附加信息

5、。 例如功能代码03是要求从设备读保持寄存器并返回它们的内容。 数据段必须包含要告之从设备的信息从何寄存器开始读及要读的寄存器数量。 错误检测域为从设备提供了一种验证消息内容是否正确的方法。 (2)回应第1页共7页上海景利数码科技有限公司如果从设备产生一正常的回应,在回应消息中的功能代码是在查询消息中的功能代码的回应。 数据段包括了从设备收集的数据象寄存器值或状态。 如果有错误发生,功能代码将被修改以用于指出回应消息是错误的,同时数据段包含了描述此错误信息的代码。 错误检测域允许主设备确认消息内容是否可用。 图1主?从查询?回应周期表 二、两种传输方式控制器能设置为两种传输模式(ASCII或R

6、TU)中的任何一种在标准的Modbus网络通信。 用户选择想要的模式,包括串口通信参数(波特率、校验方式等),在配置每个控制器的时候,在一个Modbus网络上的所有设备都必须选择相同的传输模式和串口参数。 ASCII模式RTU模式所选的ASCII或RTU方式仅适用于标准的Modbus网络,它定义了在这些网络上连续传输的消息段的每一位,以及决定怎样将信息打包成消息域和如何解码。 在其它网络上(象MAP和Modbus Plus)Modbus消息被转成与串行传输无关的帧。 1、ASCII模式当控制器设为在Modbus网络上以ASCII(美国标准信息交换代码)模式通信,在消息中的每个8Bit字节都作为

7、两个ASCII字符发送。 这种方式的主要优点是字符发送的时间间隔可达到1秒而不产生错误。 代码系统十六进制,ASCII字符0.9,A.F消息中的每个ASCII字符都是一个十六进制字符组成第2页共7页上海景利数码科技有限公司每个字节的位1个起始位7个数据位,最小的有效位先发送1个奇偶校验位,无校验则无CRC域是两个字节,包含一16位的二进制值。 它由传输设备计算后加入到消息中。 接收设备重新计算收到消息的CRC,并与接收到的CRC域中的值比较,如果两值不同,则有误。 CRC是先调入一值是全“1”的16位寄存器,然后调用一过程将消息中连续的8位字节各当前寄存器中的值进行处理。 仅每个字符中的8Bi

8、t数据对CRC有效,起始位和停止位以及奇偶校验位均无效。 CRC产生过程中,每个8位字符都单独和寄存器内容相或(OR),结果向最低有效位方向移动,最高有效位以0填充。 LSB被提取出来检测,如果LSB为1,寄存器单独和预置的值或一下,如果LSB为0,则不进行。 整个过程要重复8次。 在最后一位(第8位)完成后,下一个8位字节又单独和寄存器的当前值相或。 最终寄存器中的值,是消息中所有的字节都执行之后的CRC值。 CRC添加到消息中时,低字节先加入,然后高字节。 CRC简单函数如下unsigned shortCRC16(puchMsg,usDataLen)unsigned char*puchMs

9、g;/*要进行CRC校验的消息*/unsigned shortusDataLen;/*消息中字节数*/unsigned charuchCRCHi=0xFF;/*高CRC字节初始化*/unsigned charuchCRCLo=0xFF;/*低CRC字节初始化*/unsigned uIndex;/*CRC循环中的索引*/while(usDataLen?)/*传输消息缓冲区*/uIndex=uchCRCHi*puchMsgg+;/*计算CRC*/uchCRCHi=uchCRCLoauchCRCHiuIndex;uchCRCLo=auchCRCLouIndex;return(uchCRCHi8|uc

10、hCRCLo);/*CRC高位字节值表*/static unsignedchar auchCRCHi=0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1

11、,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1

12、,第3页共7页上海景利数码科技有限公司0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0

13、x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0

14、x80,0x41,0x00,0xC1,0x81,0x40,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40,0x01,0xC0,0x80,0x41,0x01,0xC0,0x80,0x41,0x00,0xC1,0x81,0x40;/*CRC低位字节值表*/static charauchCRCLo=0x00,0xC0,0xC1,0x01,0xC3,0x03,0x02,0xC2,0xC6,0x06,0x07,0xC7,0x05,0xC5,0xC4,0x04,0xCC,0x0C,0x0D,0xCD,0x0F,0xCF,0xCE,0x

15、0E,0x0A,0xCA,0xCB,0x0B,0xC9,0x09,0x08,0xC8,0xD8,0x18,0x19,0xD9,0x1B,0xDB,0xDA,0x1A,0x1E,0xDE,0xDF,0x1F,0xDD,0x1D,0x1C,0xDC,0x14,0xD4,0xD5,0x15,0xD7,0x17,0x16,0xD6,0xD2,0x12,0x13,0xD3,0x11,0xD1,0xD0,0x10,0xF0,0x30,0x31,0xF1,0x33,0xF3,0xF2,0x32,0x36,0xF6,0xF7,0x37,0xF5,0x35,0x34,0xF4,0x3C,0xFC,0xFD,0x3D,0xFF,0x3F,0x3E,0xFE,0xFA,0x3A,0x3B,0xFB,0x39,0xF9,0xF8,0x38,0x28,0xE8,0xE9,0x29,0xEB,0x2B,0x2A,0xEA,0xEE,0x2E,0x2F,0xEF,0x2D,0xED,0xEC,0x2C,0xE4,0x24,0x25,0xE5,0x27,0xE7

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业合同/协议

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号