没有合适的资源?快使用搜索试试~ 我知道了~
Modbus协议-试验台控制设备基础协议.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 63 浏览量
2023-03-16
14:53:06
上传
评论
收藏 708KB PDF 举报
温馨提示
试读
11页
Modbus协议_试验台控制设备基础协议.pdfModbus协议_试验台控制设备基础协议.pdfModbus协议_试验台控制设备基础协议.pdfModbus协议_试验台控制设备基础协议.pdfModbus协议_试验台控制设备基础协议.pdf
资源推荐
资源详情
资源评论
Modbus 协议_试验台控制设备基础协议
2016-10-28 更新
一、Modbus 串行链路协议基本要求
物理层
RS232 接口或 RS485 接口:RJ45/DB 9 连接器与电缆相接 数据信号发送速率:要求 9600bps 波
特率,推荐 19200bps 波特率 串行链路系统上的 Modbus 只应用于短距离(< 20m)点到点的
互连 Modbus 串行链路电缆必须屏蔽。在电缆两端,其屏蔽必须接到保护地上 (若在这个端部
使用了连接器,该连接器外壳要连在电缆屏蔽上)
可视诊断
必须用 LED(发光两极管)指示通信状态和设备状态。
Modbus 实现等级
Modbus 串行链路上的每个设备必须遵守相同实现等级的所有的强制的要求,常规等级 必
须提供可配置能力。
二、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 语言程序附后。
unsigned CRC16 (unsigned char *puchMsg,unsigned usDataLen )
{
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);
剩余10页未读,继续阅读
资源评论
hhappy0123456789
- 粉丝: 59
- 资源: 5万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功