下载此文档

CDP-M22通信协议.doc


文档分类:建筑/环境 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
CDP-M22-MODBUS通信协议
内容简要
本通信协议详细地描述了CDP-M22在MODBUS通讯模式下的输入和输出命令、信息和数据,以便第三方使用和开发。
1.1 串行通讯协议的目的
通信协议的作用使信息和数据在上位机(主站)
CDP-M22-MODBUS支持两个功能码,16位数据模式,也就说传输任何测量值最大为65535。
3.1 读寄存器(功能码03)
由主站机发送的报文请求CDP-M22响应所有有效的寄存器。
读寄存器报文格式(主机→CDP-M22)
响应格式(CDP-M22→主机)
从站地址
1字节
从站地址
1字节
功能码03H
1字节
功能码03H
1字节
开始地址
2字节
字节数(2*寄存器数目)
1字节
寄存器个数
2字节
第一个寄存器数据
2字节
CRC校验码
2字节
第二个寄存器数据
2字节
…………
CRC校验码
2字节
3.2 写寄存器(功能码16)
该命令允许主站配置CDP-M22工作参数,以下为数据格式:
写寄存器报文格式(主机→CDP-M22)
响应格式(CDP-M22→主机)
从站地址
1字节
从站地址
1字节
功能码10H
1字节
功能码10H
1字节
开始地址
2字节
开始地址
2字节
寄存器个数
2字节
寄存器个数
2字节
字节个数(2*寄存器个数)
1字节
CRC校验码
2字节
第一个寄存器数据
第二个寄存器数据
……….
CRC校验码
2字节
4.提供的数据及操作
分为只读部分、只写部分和读写部分,见第四章。
注:任何报文中最多只含有100个寄存器的数据,所以一次最多读取10个保护事件或16个SOE事件。
第三章 计算CRC-16
4.1 算法
该部分将描述计算CRC-16的过程。在帧中的有关的字节被义为是一串2进制数据(0,1)。第16位校验和是这样得到的:该串数据流被216乘,然后除以发生器多项式(X16+X15+X2+1),该式以2进制表示为1100000000000101。商被忽略,16位的余数就是CRC的值,在计算CRC-16值时,全部算术运算用modulo two或者异或(X0R)算法。
按照下列步骤产生CRC-16的校验和:
省略发生器最有意义的位,并且把位的顺序颠倒过来。形成一个新的多项式,结果是1010000000000001或者16进制的A001。
将全部1或者16进制FFFF装入16位寄存器。
用16位寄存器中低阶字节对第一个数据字节进行XOR运算,把结果存入16位寄存器。
把16位寄存器向右移一位。如果溢出位为1,则转向第5步骤,否则转向第6步骤。
用新的发生器多项式对16位寄存器执行MOR运算,并且把结果存入16步骤。
重复步骤4,直到移位8次为止。
用16位寄存器的第阶字节对下一个数据字节进行XOR运算,将结果存入16位寄存器。
重复步骤4-7,直到小包的所有字节都已经用16位寄存器执行了XOR运算为止。
16位寄存器的内容就是CRC-16
下面的例子是对16进制的6390BE这个字节进行CRC计算。
步骤
字节
动作
寄存器
位#
移位
2
初值
1111 1111 1111 1111
1
装入第一字节
0000 0000 0110 0011
3
异或
1111 1111 0110 1100
4
右移一位
0111 1111 1100 1110
1
0
4
错误!链接无效。
0011 1111 1110 0111
2
0
4
错误!链接无效。
0001 1111 1111 0011
3
1
多项式
1010 0000 0000 0011
5
异或
1011 1111 1111 0010
4
右移一位
0101 1111 1111 1000
4
0
4
错误!链接无效。
0010 1111 1111 1100
5
1
错误!链接无效。
1010 0000 0000 0001
5
异或
1000 1111 1111 1101
4
错误!链接无效。
0100 0111 1111 1110
6
1
多项式
1010 0000 0000 0001
5
错误!链接无效。
1110 0011 1111 1111

CDP-M22通信协议 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人taoapp
  • 文件大小377 KB
  • 时间2022-02-09
最近更新