主机发送的报文格式:
主机发送 从机地址 功能码 起始地址 数据 CRC码 字节数 1 1 2 2 2 发送的信息 01 05 0003 FF00 举例 发送至地址为01的从机 写开关量输出 地址为0003 闭合命令数据 由主机计算得到CRC码 从机响应返回的报文格式:
从机响应 从机地址 功能码 起始地址 数据 CRC码 字节数 1 1 2 2 2 返回的信息 01 05 0003 FF00 举例 发送至地址为01的从机 写开关量输出 起始地址为0116 闭合命令数据 由主机计算得到CRC码 错误校验码(CRC校验):
主机或从机可用校验码进行判别接收信息是否正确。由于电子噪声或一些其它干扰,信息在传输过程中有时会发生错误,错误校验码(CRC)可以检验主机或从机在通讯数据传送过程中的信息是否有误,错误的数据可以放弃(无论是发送还是接收),这样增加了系统的安全和效率。
MODBUS通讯协议的CRC(冗余循环码)包含2个字节,即16位二进制数。CRC码由发送设备(主机)计算,放置于发送信息帧的尾部。接收信息的设备(从机)再重新计算接收到信息的CRC,比较计算得到的CRC是否与接收
21
到的相符,如果两者不相符,则表明出错。 4)CRC码的计算方法是:
1.预置1个16位的寄存器为十六进制FFFF(即全为1);称此寄存器为 CRC寄存器;
2.把第一个8位二进制数据(既通讯信息帧的第一个字节)与16位的CRC 寄存器的低8位相异或,把结果放于CRC寄存器;
3.把CRC寄存器的内容右移一位(朝低位)用0填补最高位,并检查最 低位;
4.如果最低位为0:重复第3步(再次右移一位);
如果最低位为1: CRC寄存器与多项式A001(1010 0000 0000 0001) 进行异或;
5.重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理; 6.重复步骤2到步骤5,进行通讯信息帧下一个字节的处理; 7.最后得到的CRC寄存器内容即为:CRC码。 5)通讯错误信息及数据的处理:
当从机检测到除了CRC码出错以外的错误时,必须向主机回送信息,功能码的最高位置为1,即从机返送给主机的功能码是在主机发送的功能码的基础上加128 。以下的这些代码表明有意外的错误发生。
从主机接收到的信息如有CRC错误,则将被从机忽略。 从机返送的错误码的格式如下(CRC码除外): 地址码: 1字节
功能码: 1字节(最高位为1)
22
错误码: 1字节 CRC码:2字节。 从机响应回送如下错误码: 81.非法的功能码。
接收到的功能码PDM表不支持。 82.非法的数据位置。
指定的数据位置超出PDM表的范围。 83.非法的数据值。
接收到主机发送的数据值超出PDM相应地址的数据范围。
2.系统中开关量、模拟量地址
本系统中的测控单元有3种:变电站RTU、机组控制的调速、励磁控制单元、无穷大电源侧的多功能电力仪表。每种其modbus地址映射是不一样的 表2-2 RTUmodbus地址映射表 类型 遥信 遥测 地址 01-32 01 02 03 …72 遥控 01-32 映射量 断路器位置 UA UB UC 遥控断路器 备注 两位地址指示一个断路器 两位地址控制一个断路器 表2-3 调速装置modbus地址映射表
23
类型 遥信 遥测 遥控 地址 0010 0000 0000 0001 映射量 断路器位置 转速 升速 减速 备注 表2-4 励磁装置modbus地址映射表 类型 遥信 遥测 遥控 地址 0010 0000-0007 0000 0001 映射量 断路器位置 电压、电流等 升压 降压 备注 表2-5 多功能电力仪表modbus地址映射表
类型 遥信 遥测 遥控 地址 311 10-257 310 映射量 断路器位置 1-4号继电器 备注 DI Bit0-3 参照电力仪表使用手册 DO Bit0-3 三、实验项目与方法 1.监控系统通信实验
点击工作站管理(图2-3)中的通道监控,弹出【系统通讯控制】界面如图2-4,通讯子系统栏选择:MDBCOMM;图中标示出两个通讯端口CHNL-1和CHNL-2,状态SCAN表示该通道打开,绿色表示该通道工作正常、红色表示该
24

