许继电源DK04E模块通信规约Word文档下载推荐.docx
- 文档编号:22194539
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:21
- 大小:26.89KB
许继电源DK04E模块通信规约Word文档下载推荐.docx
《许继电源DK04E模块通信规约Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《许继电源DK04E模块通信规约Word文档下载推荐.docx(21页珍藏版)》请在冰豆网上搜索。
其值必须为AA(hex)
AccessCode:
3bytes由七位十进制数组成的MCSU的入口码,入口码在MCSU里以24位的二进制数存储,通信时从低位字节到高位字节依次传送。
ByteCount:
1byte此数据包的字节数,此字节数是从CommandID到Chksum之间的字节个数。
CommandID:
1byte命令种类的识别字符,此字符在每个数据包里连续发送两次,在MCSU里为了提高通信的可靠性,只有当一个数据包内两次发送的ID相等时,才认为此数据包的内容有效。
各种CommandID值所代表的意义说明如下:
ReqSndStatID=100;
要求MCSU发送系统状态数据包
ReqSndParamID=101;
要求MCSU发送系统参数数据包
ReqSndBatEvID=117;
要求MCSU发送电池管理数据包(暂时保留未用)
ReqSndLogID=118;
要求MCSU发送告警记录数据包
ReqSndSMRstatID=119;
要求MCSU发送整流模块状态数据包
ReqSndSMRprmID=120;
要求MCSU发送某一整流模块参数数据包
SetSMRparamsID=122;
设置整流模块参数*
ReqRstSMRHVSDID=123;
要求MCSU对整流模块高压关机进行复位
ReqEQ=124;
要求MCSU转为均衡工作方式
ReqFloat=125;
要求MCSU转为浮充工作方式
ReqSMRdisable=126;
要求MCSU关掉所有整流模块
ReqSMRenable=127;
要求MCSU打开所有整流模块
ReqSndParamEXTID=164 ;
要求MCSU发送扩展参数包
ReqSndStatC3ID=167;
要求MCSU发送扩展状态包
ACKEmergID=135;
证实PC已收到MCSU的故障回报
ACKDailyID=136;
证实PC已收到MCSU的定时回报
SetCSUTime=137;
设置MCSU的时间*
SetMcsuParamID=160;
设置MCSU的参数*
SetMcsuACParamID=161;
设置MCSU有关交流部分的参数*
ReqProdTest=162;
要求进入产品测试模式(暂时保留未用)*
SetMcsuParamEXTID= 163 ;
设置MCSU的扩展参数包
Data:
不同长度的数据流,通常情况下,数据包内不需要发送具有真正意义的data,在需要发送Data的数据包其对应的CommandID项上已做上“*”标记。
注意:
当PC需要修改MCSU的参数时,应对发往MCSU的参数进行参数范围检查,否则不正确的参数可能对电源系统的正常运行造成严重影响,同时建议修改参数时进行密码保护。
当数据包内不需要发送具有真正意义的Data数据时,发送此数据包时,在数据包的Data项里应包括一个虚拟的“word”(2bytes),这两个字节的值并不重要,但这两个字节的值应被Chksum所计算在内。
为了减小通信线路上的噪声及干扰,数据包内的Data项内的每个字节都应连续地发送两次,只有当两次传送的数据相等时MCSU才认为此数据包的内容为有效。
Chksum:
1byte检查和,即将本数据包内的从入口码到Data里最后一个数据的每个字节依次相加,高位进位自然溢出,所得结果即为Chksum。
Chksum可用来检验通信过程中数据传输的可靠性,在MCSU的程序里,相关的通信子程序将接收到的数据按照Chksum的定义进行计算,所得结果与接收到的ChKaum进行比较,若两者不相等,则认为传输过程中出错,这样可以避免错误的数据对MCSU所造成的影响。
各种数据包内Data的数据格式说明如下:
各种数据类型的定义:
Byte:
8位无符号数,范围0~255
Word:
16位无符号数,范围0~65535,低字节在前
ShortInt:
8位有符号数,范围-128~127
SmallInt:
16位有符号数,范围-32768~32767,低字节在前
LongInt:
32位有符号数,低字节在前
LSB:
代表低位字节
MSB:
代表高位字节
Duplicate:
表示重复数据
当MCSU收到的CommandID需要带有Data时,这个Data里应该是具有一定格式的数据,例如:
要调整MCSU的参数时,Data项里的数据格式如下所示:
设置MCSU的参数:
AmbTempHi:
word(单位为degree℃);
环境温度过高告警点
Comesas:
LSB,LSBDuplicate
:
MSB,MSBDuplicate
BatTempHi:
word(单位为degree℃);
电池温度过高告警点(未用)
Comesas:
Vhialarm:
word(单位为100mV);
系统输出电压过高告警点
Vloalarm:
系统输出电压过低告警点
NumSMRs:
word;
整流模块个数
SMRtype:
word(0=A型,1=B型);
整流模块类型
FSDcurrent:
word(单位为A);
电池电流传感器满量程
ModemEnable:
word(0=不启用,1=启用);
MODEN是否启用
EmergCall:
故障回报是否启用
DailyCall:
定时回报是否启用
DailyHour:
定时回报时间的小时(24小时制)
DailyMin:
定时回报时间的分
Expansion1:
word(0=不启用,1=单相交流检测);
单相交流检测是否启用
PhNum1:
20bytes(ASCIIdigits/characters);
电话号码1(数字或字母均用ASCII
eachbytetwiceinsuccession码表示)
PhNum2:
电话号码2(同上)
eachbytetwiceinsuccession
PhNum3:
电话号码3(同上)
BattRating:
word(单位为AH);
电池标称容量
BTC:
word(单位为mV/℃/每节电池,0=不启用);
电池充电温度补偿系数
IbatLimit1:
word(单位为A);
电池充电限流1(VbatVdd)
IbatLimit2:
电池充电限流2(VddVbatVfloat)(未用)
IbatLimit3:
电池充电限流3(VbatVfloat)(未用)
DeepDisch:
电池深放电电压点(Vdd)(未用)
FloatVolts:
浮充电压(Vfloat)
EQVolts:
均衡充电电压
DropVolts:
电压降值
BatDisAlm:
电池放电告警电压点
VStartEQ:
word(0=不启用,1=启用);
依照放电终止电压启动均衡充电是否启用
EQtripV:
均衡充电阈值电压
QStartEQ:
依照电池放电安时数启动均衡充电是否启用
EQtripQ:
word(单位为AH);
均衡充电阈值安时数
EQendA:
word(单位为A,0=不启用);
依照充电电流停停止均衡充电是否启用
EQduration:
word(单位为小时);
均衡充电持续时间
EQperiod:
word(单位为星期);
均衡充电周期
DischIdif:
两组电池放电不平衡电流值
LVSD:
低压断路开关断开电压
Expansion2:
byte(0=不启用,1=三相交流检测);
扩展口2(三相交流电检测)是否启用
:
duplicate
B.T.S.Alarm:
byte(0=不启用,1=启用);
电池温度传感器失效告警是否启用(未用)
其它各数据包里的Data项里数据格式分别说明如下:
设置整流模块参数:
SMRnumber:
byte(255=所有的整流模块);
整流模块号码
I-Limit:
byte(单位为A);
输出限流点
HVSDtrip:
word(单位为100mV);
输出电压过高关机点
输出电压过高告警点
输出电压过低告警点
AdjV:
ShortInt-有注意事项;
均流调节值
"
SecEnable:
byte(1=不启用,0=启用);
密码功能是否启用
:
Adjv的值对于每个模块来说是不同的,当要改变所有整流模块的参数时,此时应将Adjv的值设置为120,这样当SMR收到的Adjv的值为120时,SMR将不修改其本身的Adjv的值。
设置MCSU的时间:
Day:
byte;
日
Month:
月
Year:
年
Cent:
世纪
Hour:
小时
Minute:
分
Second:
秒
设置MCSU的有关交流部分的参数:
ACVhialarm:
word(单位为V);
单相交流输入电压过高告警点
ACVloalarm:
单相交流输入电压过低告警点
ACFhialarm:
word(单位为0.1Hz);
单相交流输入频率过高告警点(未用)
ACFloalarm:
单相交流输入频率过低告警点(未用)
FSDACI:
单相交流输入电流检测的满量程(未用)
ACVhi3ph:
三相交流输入电压过高告警点
ACVlo3ph:
word(单位为V);
三相交流输入电压过低告警点
ACFhi3ph:
三相交流输入频率过高告警点(未用)
ACFlo3ph:
三相交流输入频率过低告警点(未用)
FSDACI3ph:
三相交流输入电流检测的满量程(未用)
三、MCSU发送到PC的数据包
MCSU--->
PC
MCSU接收到PC要求发送数据包的命令后,发送给PC的数据包内的数据格式:
SyncByte
PacketID
Data
PacketIDDuplicate
DataDuplicate
AAhex
word
MCSU回报(故障或定时回报)到PC的数据包内的数据格式:
CallupID
CallupIDDuplicate
AccessCodeDuplicate
byte
数据包内各个部分的内容描述如下:
PacketID:
表示不同数据包类型的特征代码
mcsuStatBlkID=60;
MCSU状态数据包
mcsuParamBlkID=61;
MCSU参数数据包
mcsuBatEvBlkID=62;
电池历史记录数据包(暂时未用)
mcsuLogBlkID=63;
告警记录数据包
mcsuSMRstatBlkID=64;
整流模块状态数据包
mcsuSMRparamBlkID=65;
整流模块参数数据包
mcsuParamEXTBlkID=66 ;
MCSU扩展参数包
mcsuStat3BlkID=69 ;
MCSU扩展状态包
CallupID:
mcsuEmergencyID=70;
MCSU故障回报特征代码
mcsuDailyReportID=71;
MCSU定时回报特征代码
不同长度的数据流,其内容根据不同的PacketID而各不相同,为了减小通信线路上的噪声及干扰,每个数据包内的数据都被发送两次,所以在PC的程序里应作恰当地处理,只有当两次传送的数据完全相等时,才可认为此数据包的内容为有效。
ChkSum:
1byte检查和,即将本数据包内的从同步字符Sync到Data内最后一个数据的每个字节依次相加,高位进位自然溢出,所得结果即为Chksum,重复发送的数据(Dataduplicate)和MCSU的入口码(AccessCode)均应包括在内。
MCSU发送到PC的各种数据包内Data里的数据格式
数据包内数据的内容根据数据包的种类不同而不同,各种数据包的内容分别如下所述:
MCSU状态数据包:
SysV:
系统电压
Itotal:
负载电流
Bat1current:
SmallInt(单位为A);
电池组1充电或放电电流(更改:
原为word)
Bat2current:
SmallInt(单位为A);
电池组2充电或放电电流
Alarm1:
byte
(Bit0=EEPROMvalueoutofrange);
EEPROM内的参数超出范围
(Bit1=Non-urgentSMRalarm);
整流模块非紧急告警
(Bit2=UrgentSMRalarm);
整流模块紧急告警
(Bit3=CB/Fuseopen);
负载空开跳闸
(Bit4=
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 电源 DK04E 模块 通信 规约