下载此文档

BDB系列多功能电力仪表通讯协议.docx


文档分类:论文 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
福州博峰智能电器有限公司
PBF系列多功能电力仪表
通讯协议
版本号:
日期:
在本章主要讲述如何利用软件通过通讯口来操控PBF系列多功能电力仪表。本章内容
的掌握需要您具有 ModBUS协议的知识地址或者设置值。例如:功能域码告诉终端读取一个寄存器, 数据域则需要指明从哪个寄存器开始及读取多少个数据,内嵌的地址和数据依照类型和从机
之间的不同内容而有所不同。
错误校验(Check)域
该域允许主机和终端检查传输过程中的错误。有时,由于电噪声和其它干扰,一组数
据在从一个设备传输到另一个设备时在线路上可能会发生一些改变,出错校验能够保证主机
或者终端不去响应那些传输过程中发生了改变的数据,这就提高了系统的安全性和效率,错
误校验使用了 16位循环冗余的方法(CRC16)。
错误指示帧和错误指示码
如果从机检测到主机发送的数据存在的逻辑错误,比如地址不存在或者数据个数超出范
围,则向主机发送错误指示帧。错误指示帧的定义为:功能域( Function )的最高位(MSB) 设置为1,其它位保持不变,数据域(Data)定义了错误类型(即错误指示码Err Code)
例如主机请求读数字输出状态,但是给出的地址超出有效范围,在这种情况下,从机 发出错误指示码:
Addr
Fun
Byte count
Err Code
CRC16hi
CRC16lo
32H
81H
01H
FFH
1FH
64H
本例中错误指示码为 FFH,功能域为81H (它将请求的功能码 01H最高位b7设置为1) 错误检测的方法
错误校验(CRC)域占用两个字节,包含了一个 16位的二进制值。CRC值由传输设备 计算出来,然后附加到数据帧上,接收设备在接收数据时重新计算CRC值,然后与接收到
的CRC域中的值进行比较,如果这两个值不相等,就发生了错误。
CRC运算时,首先将一个 16位的寄存器预置为全 1,然后连续把数据帧中的每个字节 中的8位与该寄存器的当前值进行运算,仅仅每个字节的8个数据位参与生成 CRC,起始
位和终止位以及可能使用的奇偶位都不影响CRC。在生成CRC时,每个字节的8位与寄存
器中的内容进行异或,然后将结果向低位移位,高位则用“0”补充,最低位(LSB)移出
并检测,如果是 1,该寄存器就与一个预设的固定值(0A001H)进行一次异或运算,如果
最低位为0,不作任何处理。
上述处理重复进行,直到执行完了8次移位操作,当最后一位(第 8位)移完以后,
下一个8位字节与寄存器的当前值进行异或运算,同样进行上述的另一个 8次移位异或操作,
当数据帧中的所有字节都作了处理,生成的最终值就是CRC值。
生成一个CRC的流程为:
1、预置一个16位寄存器为0FFFFH (全1),称之为CRC寄存器。
2、把数据帧中的第一个字节的 8位与CRC寄存器中的低字节进行异或运算,结果存回
CRC寄存器。
3、将CRC寄存器向右移一位,最高位填以0,最低位移出并检测。
4、如果最低为0:重复第三步(下一次移位);如果最低位为1:将CRC寄存器与一个 预设的固定值(0A001H)进行异或运算。
5、重复第三步和第四步直到8次移位。这样处理完了一个完整的八位。
6、重

BDB系列多功能电力仪表通讯协议 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人cjc201601
  • 文件大小81 KB
  • 时间2022-04-15
最近更新