中恒主监控通讯协议MODBUS.docx
- 文档编号:4245239
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:13
- 大小:20.55KB
中恒主监控通讯协议MODBUS.docx
《中恒主监控通讯协议MODBUS.docx》由会员分享,可在线阅读,更多相关《中恒主监控通讯协议MODBUS.docx(13页珍藏版)》请在冰豆网上搜索。
中恒主监控通讯协议MODBUS
中恒主监控器通讯协议(MODBUS)
Ver2.1
本通讯协议适合杭州中恒电气股份有限公司的ZHM05等直流系统主监控器,对2009年前的主监控协议不提供兼容。
对本协议中恒公司保留所有权利,如有变动,除非必要恕不另行通知终端用户。
每个字节的格式:
★1位起始位★8位数据位★无校验★2位停止位
一、报文格式
起始位
设备地址
功能码
数据区
校验码
结束位
大于3.5个字符间距
1字节
1字节
N字节
低位
高位
大于1.5个字符间距
设备地址:
监控器通讯地址1-247,0为广播地址这里不使用
功能码:
命令监控器执行的功能:
03H读取指定位置寄存器数据,可多个连续寄存器
其他不支持06H设置指定位置寄存器数据,只适用于单个寄存器
数据区:
由功能码决定,看下文说明
校验码:
CRC校验,低位在前,高位在后
注:
一帧最多取120个寄存器的数据,超过120个寄存器时,应分多帧读取。
除非特殊说明,一般电压、电流、温度、电阻等数值为实际值*10,以short数据类型传送
二、报文类型及数据格式
1、遥测、遥信功能码=03
a、下行数据
设备地址
03
数据起始地址
(高位)
数据起始地址
(低位)
数据个数
(高位)
数据个数
(低位)
校验
(2字节)
b、上行
设备地址
03
数据字节个数
N(1字节)
数据区(N字节)
校验
(2字节)
2、遥控、遥调功能码=06
a、下行数据
设备地址
06
数据地址
(高位)
数据地址
(低位)
数据设值
(高位)
数据设值
(低位)
校验
(2字节)
b、上行
设备地址
06
数据地址
(高位)
数据地址
(低位)
数据值
(高位)
数据值
(低位)
校验
(2字节)
3、错误返回:
校验错或其他接收错误则不返回
格式:
设备地址0x80+功能码错误码校验(2字节)(功能码肯定小于0x80)
错误码:
01非法的功能码;02非法的数据地址;03非法的数据值;
4、数据格式(寄存器地址定义)
(以下寄存器地址只能进行读操作,写操作无效)
1000H:
交流(主)A相电压
1001H:
交流(主)B相电压
1002H:
交流(主)C相电压
1003H:
交流(备)A相电压
1004H:
交流(备)B相电压
1005H:
交流(备)C相电压
1006H:
交流A相电流
1007H:
交流B相电流
1008H:
交流C相电流
1009H:
交流工作状态
100AH:
~100DH:
预留
100EH:
电池屏一温度
100FH:
电池屏二温度
1010H:
一路合母电压
1011H:
一路合母电流
1012H:
一路控母电压
1013H:
一路控母电流
1014H:
一路电池端压
1015H:
一路电池电流
1016H:
一路总电流
1017H:
电池组一状态
1018H:
二路合母电压
1019H:
二路合母电流
101AH:
二路控母电压
101BH:
二路控母电流
101CH:
二路电池端压
101DH:
二路电池电流
101EH:
二路总电流
101FH:
电池组二状态
交流工作状态:
0x30不工作0x31一路工作0x32二路工作;其他未知状态
电池状态:
0浮充1均充2均充延时3放电测试4放电
1100H-----1177H电池组一1-120号电池电压
1180H-----11F7H电池组一1-120号电池温度
1200H-----1277H电池组二1-120号电池电压
1280H-----12F7H电池组二1-120号电池温度
电池电压3位小数,即为实际值*1000,如为2.234V则上传2234,接收到08BA
1300H1号模块运行状态
1301H1号模块电流
1302H2号模块运行状态
1303H2号模块电流
1304H3号模块运行状态
1305H3号模块电流
1306H4号模块运行状态
1307H4号模块电流
1308H5号模块运行状态
1309H5号模块电流
………………………………………
133AH30号模块运行状态
133BH30号模块电流
133CH31号模块运行状态
133DH31号模块电流
133EH32号模块运行状态
133FH32号模块电流
模块运行状态
bit15模块配置0未配置1已配置
bit14模块类型0(-2-3模块)1(-4模块)
bit13运行状态0关机1开机
bit12故障状态0正常1故障
bit0-bit11故障码:
bit0-输入故障bit1-电流输出故障bit2-电压输出过压
bit3-风扇故障bit4-模块温度过高bit11-通讯故障(-2-3模块)
bit0-未定义bit1-输出欠压bit2-输出过压
bit3-模块过温bit4-交流输入故障bit5-交流缺相
bit6-输出短路bit7-风扇故障bit8-交流欠压
bit11-通讯故障(-4模块)
注:
对-4模块最多30个模块,31、32号将没有实际信息
1600H绝缘母线1正对地电压
1601H绝缘母线1负对地电压
1602H绝缘母线2正对地电压
1603H绝缘母线2负对地电压
1604H绝缘母线3正对地电压
1605H绝缘母线3负对地电压
1606H绝缘母线4正对地电压
1607H绝缘母线4负对地电压
1608H绝缘故障1接地支路号
1609H绝缘故障1接地电阻值
160AH绝缘故障2接地支路号
160BH绝缘故障2接地电阻值
160CH绝缘故障3接地支路号
160DH绝缘故障3接地电阻值
160EH绝缘故障4接地支路号
160FH绝缘故障4接地电阻值
1610H绝缘故障5接地支路号
1611H绝缘故障5接地电阻值
1612H绝缘故障6接地支路号
1613H绝缘故障6接地电阻值
1614H绝缘故障7接地支路号
1615H绝缘故障7接地电阻值
1616H绝缘故障8接地支路号
1617H绝缘故障8接地电阻值
1618H绝缘故障9接地支路号
1619H绝缘故障9接地电阻值
161AH绝缘故障10接地支路号
161BH绝缘故障10接地电阻值
161CH绝缘故障11接地支路号
161DH绝缘故障11接地电阻值
161EH绝缘故障12接地支路号
161FH绝缘故障12接地电阻值
绝缘故障:
接地支路号为0x0000表示无故障
支路号1-480,所有主控统一编号,每个主控120支路
接地电阻值为实际值*10上送,单位:
KΩ。
绝缘故障按顺序摆放,一旦某位置显示故障无,则后续不会再有故障
1700H:
开入模块(灯板)1通道状态1-12
1701H:
开入模块(灯板)2通道状态1-12
1702H:
开入模块(灯板)3通道状态1-12
1703H:
开入模块(灯板)4通道状态1-12
1704H:
开入模块(灯板)5通道状态1-12
1705H:
开入模块(灯板)6通道状态1-12
1706H:
开入模块(灯板)7通道状态1-12
1707H:
开入模块(灯板)8通道状态1-12
1708H:
开入模块(灯板)9通道状态1-12
1709H:
开入模块(灯板)10通道状态1-12
170AH:
开入模块(灯板)11通道状态1-12
170BH:
开入模块(灯板)12通道状态1-12
170CH:
开入模块(灯板)13通道状态1-12
170DH:
开入模块(灯板)14通道状态1-12
170EH:
开入模块(灯板)15通道状态1-12
170FH:
开入模块(灯板)16通道状态1-12
1710H:
开入模块(灯板)17通道状态1-12
1711H:
开入模块(灯板)18通道状态1-12
1712H:
开入模块(灯板)19通道状态1-12
1713H:
开入模块(灯板)20通道状态1-12
1714H:
开入模块(灯板)21通道状态1-12
1715H:
开入模块(灯板)22通道状态1-12
1716H:
开入模块(灯板)23通道状态1-12
1717H:
开入模块(灯板)24通道状态1-12
1718H:
开入模块(灯板)25通道状态1-12
1719H:
开入模块(灯板)26通道状态1-12
171AH:
开入模块(灯板)27通道状态1-12
171BH:
开入模块(灯板)28通道状态1-12
171CH:
开入模块(灯板)29通道状态1-12
171DH:
开入模块(灯板)30通道状态1-12
171EH:
开入模块(灯板)31通道状态1-12
171FH:
开入模块(灯板)32通道状态1-12
1720H:
开入模块1通道状态1-10
1721H:
开入模块2通道状态1-10
1722H:
开入模块3通道状态1-10
1723H:
开入模块4通道状态1-10
1724H:
开入模块5通道状态1-10
1725H:
开入模块6通道状态1-10
1726H:
开入模块7通道状态1-10
1727H:
开入模块8通道状态1-10
1728H:
开入模块9通道状态1-10
1729H:
开入模块10通道状态1-10
172AH:
开入模块11通道状态1-10
172BH:
开入模块12通道状态1-10
172CH:
开入模块13通道状态1-10
172DH:
开入模块14通道状态1-10
172EH:
开入模块15通道状态1-10
172FH:
开入模块16通道状态1-10
1730H:
开入模块17通道状态1-10
1731H:
开入模块18通道状态1-10
1732H:
开入模块19通道状态1-10
1733H:
开入模块20通道状态1-10
1734H:
开入模块21通道状态1-10
1735H:
开入模块22通道状态1-10
1736H:
开入模块23通道状态1-10
1737H:
开入模块24通道状态1-10
1738H:
开入模块25通道状态1-10
1739H:
开入模块26通道状态1-10
173AH:
开入模块27通道状态1-10
173BH:
开入模块28通道状态1-10
173CH:
开入模块29通道状态1-10
173DH:
开入模块30通道状态1-10
173EH:
开入模块31通道状态1-10
173FH:
开入模块32通道状态1-10
开入模块(灯板)每个可以采集12路通道状态,对应bit0~bit11,其他位暂时预留
0表示闭合,1表示断开
开入模块每个可以采集10路通道状态,对应bit0~bit9,其他位暂时预留
0表示正常,1表示异常
1800H~1877H第1组1-120节电池内阻
1900H~1977H第2组1-120节电池内阻
内阻值为实际值*10上送,单位:
毫欧,电池组未进行动态放电测试内阻前值为0
2000H:
bit0-bit15电池组一单电池1-16故障
2001H:
bit0-bit15电池组一单电池17-32故障
2002H:
bit0-bit15电池组一单电池33-48故障
2003H:
bit0-bit15电池组一单电池49-64故障
2004H:
bit0-bit15电池组一单电池65-80故障
2005H:
bit0-bit15电池组一单电池81-96故障
2006H:
bit0-bit15电池组一单电池97-112故障
2007H:
bit0-bit8电池组一单电池113-120故障
2008H:
~200FH预留
2010H:
bit0-bit15电池组二单电池1-16故障
2011H:
bit0-bit15电池组二单电池17-32故障
2012H:
bit0-bit15电池组二单电池33-48故障
2013H:
bit0-bit15电池组二单电池49-64故障
2014H:
bit0-bit15电池组二单电池65-80故障
2015H:
bit0-bit15电池组二单电池81-96故障
2016H:
bit0-bit15电池组二单电池97-112故障
2017H:
bit0-bit8电池组二单电池113-120故障
2018H:
~201FH预留
2020H:
bit0-4特定开关故障
注:
2020H中对应的各开关量故障为特定的如下几个:
(从低到高)
bit0-电池开关断开故障
bit1-电池熔丝断开故障
bit2-绝缘监测发生故障
bit3-电池巡检发生故障
bit4-充电开关断开故障
2021H:
bit0-151-16号模块故障
2022H:
bit0-1517-32号模块故障
2023H:
通信故障
bit0-绝缘
bit1-交流
bit2-逆变器
bit3-开入
bit4-开出
bit5-电池
bit6-整流模块
2024H:
直流故障
bit0-合母1过压bit1-合母1欠压
bit2-合母2过压bit3-合母2欠压
bit4-控母1过压bit5-控母1欠压
bit6-控母2过压bit7-控母2欠压
2025H:
交流故障一路
bit0-A相过压bit1-A相欠压bit2-A相缺相
bit3-B相过压bit4-B相欠压bit5-B相缺相
bit6-C相过压bit7-C相欠压bit8-C相缺相
bit10-交流停电
2026H:
交流故障二路
bit0-A相过压bit1-A相欠压bit2-A相缺相
bit3-B相过压bit4-B相欠压bit5-B相缺相
bit6-C相过压bit7-C相欠压bit8-C相缺相
bit10-交流停电
2027H:
逆变器故障
bit0-电网异常
bit1-过温
bit2-短路
bit3-150%过载
bit4-125%过载
bit5-直流过流
bit6-直流过欠压
2028H~202EH预留
202FH故障标志
bit0~bit7对应于开出模块故障映射八个节点(包括"整流模块故障","绝缘故障","直流故障","交流故障","电池故障","逆变故障","开关故障","系统故障")
2030H~203FH预留
说明:
遥信信号,位操作,为1表示有相应故障
(以下寄存器地址可以进行读写操作)
5000H交流过压值
5001H交流欠压值
5002H合母过压值
5003H合母欠压值
5004H控母过压值
5005H控母欠压值
5006H绝缘投切电压门限
5007H绝缘接地电阻门限,实际值*10,单位:
KΩ
5008H温度补偿值;实际值*10,单位:
毫伏/(℃*节)
5009H电池组一电池节数;实际节数,不超过120节,连续配置
500AH电池组二电池节数;实际节数,不超过120节,连续配置
500BH单节电池电压过压值;实际值*100
500CH单节电池电压欠压值;实际值*100
500DH电池端压过压值
500EH电池端压欠压值
500FH电池组充电限流
5010H浮充电流触发值
5011H均充电流触发值
5012H均充限时值,实际值*10,单位:
小时
5013H均充延时值,实际值*10,单位:
小时
5014H定期均充时间,实际值*10,单位:
天
5015H浮充电压设置值
5016H均充电压设置值
5017H控母电压设置值
5018H一组电池状态设置;0浮充1均充;读取值参考前面电池状态
5019H二组电池状态设置;0浮充1均充
501AH交流供电设置;1-一路工作2-二路工作其他-双路自动,不做实际切换
501BH~501FH预留
(以下寄存器地址只能进行写操作,读操作返回数据无意义)
5020H:
模块开机控制:
模块序号
模块序号:
0-31,对未配置模块操作将不会执行,返回错误码0x03
5021H:
模块关机控制:
模块序号
模块序号:
0-31,对未配置模块操作将不会执行,返回错误码0x03
三、校验方式
冗余循环码(CRC)包含2个字节,即16位二进制。
CRC码由发送设备计算,放置于发送信息的尾部。
接收信息的设备再重新计算接收到信息的CRC码,比较计算得到的CRC码是否与接收到的相符,如果两者不相符,则表明出错。
CRC码的计算方法是,先预置16位寄存器全为1。
再逐步把每8位数据信息进行处理。
在进行CRC码计算时只用8位数据位,起始位及停止位,如有奇偶校验位的话也包括奇偶校验位,都不参与CRC码计算。
在计算CRC码时,8位数据与寄存器的数据相异或,得到的结果向低位移一字节,用0填补最高位。
再检查最低位,如果最低位为1,把寄存器的内容与预置数相异或,如果最低位为0,不进行异或运算。
这个过程一直重复8次。
第8次移位后,下一个8位再与现在寄存器的内容相相异或,这个过程与以上一样重复8次。
当所有的数据信息处理完后,最后寄存器的内容即为CRC码值。
CRC码中的数据发送、接收时低字节在前。
计算CRC码的步骤为:
(1)预置16位寄存器为十六进制FFFF(即全为1)。
称此寄存器为CRC寄存器;
(2)把第一个8位数据与16位CRC寄存器的低位相异或,把结果放于CRC寄存器;
(3)把寄存器的内容右移一位(朝低位),用0填补最高位,检查最低位;
(4)如果最低位为0:
重复第3步(再次移位);如果最低位为1:
CRC寄存器与多项式A001(1010000000000001)进行异或;
(5)重复步骤3和4,直到右移8次,这样整个8位数据全部进行了处理;
(6)重复步骤2到步骤5,进行下一个8位数据的处理;
(7)最后得到的CRC寄存器即为CRC码。
计算crc的函数如下:
UINTcrc=0xFFFF;
voidcalccrc(BYTEcrcbuf)
{
BYTEI,TT;
crc=crc^crcbuf;
for(I=0;I<8;i++)
{
TT=crc&1;
crc=crc>>1;
crc=crc&0x7FFF;
If(TT==1)
crc=crc^0xA001;
crc=crc&0xFFFF;
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中恒主 监控 通讯 协议 MODBUS
![提示](https://static.bdocx.com/images/bang_tan.gif)