下载此文档

Modbus协议试验台控制设备基础协议.doc


文档分类:论文 | 页数:约12页 举报非法文档有奖
1/12
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/12 下载此文档
文档列表 文档介绍
1 / 12

Modbus协议_试验台控制设备基础协议
2016-10-28更新
一、Modbus串行链路协议基本要求
物理层
RS232 接口或RS485接口:RJ45/DB 9连接器与电缆相接
数据信号发送速率:要求 9600bps 波特率,推荐 19200bps 波特率
串行链路系统上的 Modbus只应用于短距离(< 20m)点到点的互连
Modbus 串行链路电缆必须屏蔽。在电缆两端,其屏蔽必须接到保护地上
(若在这个端部使用了连接器,该连接器外壳要连在电缆屏蔽上)
可视诊断
必须用 LED(发光两极管)指示通信状态和设备状态。
Modbus 实现等级
Modbus 串行链路上的每个设备必须遵守相同实现等级的所有的强制的要求,常规等级必须提供可配置能力。


3 / 12

二、Modbus串行链路帧模式
RTU 传输模式(建议采用)
当设备使用RTU (Remote Terminal Unit) 模式在Modbus 串行链路通信,报文中每个8 位字节含有两个4 位十六进制字符。这种模式的主要优点是较高的数据密度,在相同的波特率下比ASCII 模式有更高的吞吐率。每个报文必须以连续的字符流传送。
RTU模式位序列
报文中每个8 位字节含有两个4 位十六进制字符(0–9,A–F),每个字符传送11位。
1 起始位
8 数据位,首先发送最低有效位
1 位作为奇偶校验(默认偶校验)
1 停止位(注:使用无校验要求2个停止位。)
通用Modbus帧
PDU-协议数据单元 ADU-应用数据单元
RS232 / RS485 ADU = 253 字节+服务器地址(1 byte) + CRC (2 字节) = 256 字节
RTU模式帧序列
由发送设备将Modbus 报文构造为带有已知起始和结束标记的帧。这使设备可以在报文的开始接收新帧,并且知道何时报文结束。不完整的报文必须能够被检测到而错误标志必须作为结果被设置。
CRC校验
在RTU 模式包含一个对全部报文内容执行的,基于循环冗余校验(CRC - Cyclical RedundancyChecking) 算法的错误检验域。CRC 域检验整个报文的内容。不管报文有无奇偶校验,均执行此检验。CRC 包含由两个8 位字节组成的一个16 位值。CRC 域作为报文的最后的域附加在报文之后。计算后,首先附加低字节,然后是高字节。CRC高字节为报文发送的最后一个子节。其实现的C语言程序附后。


3 / 12

unsigned CRC16 (unsigned char *puchMsg,unsignedusDataLen )
{
unsigned char uchCRCHi = 0xFF ; /* CRC 的高字节初始化*/
unsigned char uchCRCLo = 0xFF ; /* CRC 的低字节初始化*/
unsigned uIndex ; /* CRC 查询表索引*/
while (usDataLen--) /* 完成整个报文缓冲区*/
{
uIndex = uchCRCLo ^ *puchMsgg++ ;
uchCRCLo = uchCRCHi ^ auchCRCHi[uIndex};
uchCRCHi = auchCRCLo[uIndex];
}
return (uchCRCHi << 8 | uchCRCLo);
}
高字节表
static unsigned char auchCRCHi[] = {
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01, 0xC0, 0x80, 0x41,


4 / 12

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, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x01,0xC0, 0x80, 0x41,
0x00, 0xC1, 0x81, 0x40, 0x01, 0xC0, 0x80, 0x41, 0x00, 0xC1, 0x81, 0x40,

Modbus协议试验台控制设备基础协议 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息