电力canbus规约.docx
《电力canbus规约.docx》由会员分享,可在线阅读,更多相关《电力canbus规约.docx(22页珍藏版)》请在冰豆网上搜索。
电力canbus规约
变电站继电保护与测控设备和通信管理机传输规约(CANBUS通信规约)
1.总论
采用现场总线技术实现网络通信,由于其具有的高抗干扰能力,高速及高可靠性而得到广泛应用。
CANBUS控制芯片SJA1000支持CAN2.0B协议,在原CAN2.0A协议的基础上扩展了ID的位数,又在过滤接收功能里增加了双滤功能,因而更加适于具有多网络节点,需要实时传输信息,能够广播传输信息的应用场合。
2.CANBUS物理层
本规约采用CAN2.0B协议,SJA1000内部寄存器内容如下:
BTR0:
003H
BTR1:
01CH
Outputcontrol:
0DAH
Clockdivider:
088H
考虑到CANBUS通信速率与通信距离的关系,以及运行现场的实际情况,CANBUS通信波特率可适当调整,只要改变SJA1000的BTR0,BTR1寄存器参数即可。
若SJA1000用16M晶振工作,请按下表修改BTR0,BTR1:
位速率
通信距离
BTR0
BTR1
125K
530m
03H
1CH
100K
620m
43H
2FH
50K
1.3km
47H
2FH
20K
3.3km
53H
2FH
10K
6.7km
67H
2FH
5K
10km
7FH
7FH
3.CANBUS链路层
CANBUS网络通信以帧为单位进行。
CAN2.0B协议规定的帧格式如下:
FFRTRXXDLC.3DLC.2DLC.1DLC.0
ID.28ID.27ID.26ID.25ID.24ID.23ID.22ID.21
ID.20ID.19ID.18ID.17ID.16ID.15ID.14ID.13
ID.12ID.11ID.10ID.09ID.08ID.07ID.06ID.05
ID.04ID.03ID.02ID.01ID.00XXX
DATA0
DATA1
DATA2
DATA3
DATA4
DATA5
DATA6
DATA7
本规约规定:
(1)CAN帧一律为8Byte数据的扩展格式帧,帧ADDR0中各bit定义为:
FF=1;RTR=0;X,X=任意0,1(为了统一,可定义为0)
DLC.3—DLC.0=1000
(2)扩展格式帧共有29位ID,ID28—ID0分别定义为:
ID28—ID21共8bit目标地址
ID20—ID19共2bit用于扩展’当前帧号’或表示其它内容
ID18—ID13共6bit当前帧号
ID12—ID05共8bit源地址
ID04—ID03共2bit用于扩展’帧类型’或表示其它内容
ID02—ID00共3bit帧类型
其中,
ID28—ID21为单元地址。
256个单元地址中,0是管理机地址;255是广播地址;1—62是普通单元地址;其余地址暂不能使用。
ID20—ID19在特殊场合下可另作定义,未定义时填00。
ID18—ID13,定义为当前帧号。
范围:
0—63。
ID04—ID03同ID20—ID19;
帧类型定义:
ID2ID1ID0报文类型
000对时报文
001数据短报文
010保护交互信息报文
011CMU与CMU交换信息
111数据长报文
…其它未定义
以DSA-123装置为例,SJA1000有关ID的寄存器设置如下:
ACCCODE0:
本单元地址ACCMASK0:
00000000B
ACCCODE1:
00000000BACCMASK1:
11111111B
ACCCODE2:
11111111BACCMASK2:
00000000B
ACCCODE3:
00000000BACCMASK3:
11111111B
发送的CAN帧ID28—ID21为目标地址,ID20—ID19为00,ID12—ID5为本单元地址,ID4—ID3为00,ID2—ID0为帧类型。
(3)DATA0—DATA7CAN帧数据。
4.通信进程
本规约采用点对点和点对多点的问答方式通信。
各点(包括管理机)均被视为地位平等的单元,每一点既可作为主动站,又可作为从动站。
且任意两点之间都可实现信息交换。
5.通信报文格式
根据CAN帧的特点,将通信报文分为校时报文、短报文、长报文三种格式。
下面以CPU代表第一类设备,CMU代表第二类设备,CSU代表第三类设备进行说明。
【校时报文】
一般情况下,校时报文为广播报文。
ID28—ID21:
11111111目标地址:
广播地址
ID20—ID19:
00保留位置0
ID18—ID13:
000000帧号0
ID12—ID5:
00000000源地址:
管理单元地址
ID4--ID3:
00保留位置0
ID2--ID0:
000帧类型:
校时帧
XXX:
000保留位置0
DATA0=Year(0-99)BIN
DATA1=Month(1-12)BIN
DATA2=Date(1-31)BIN
DATA3=Hour(0-23)BIN
DATA4=Minute(0-59)BIN
DATA5=Second(0-59)BIN
DATA6=MSH(0-999)BIN
DATA7=MSL
【短报文】
ID28—ID21:
xxxxxxxx目标地址
ID20—ID19:
00保留位置0
ID18—ID13:
000000帧号0
ID12—ID5:
xxxxxxxx源地址
ID4--ID3:
00保留位置0
ID2--ID0:
001帧类型:
短报文
XXX:
000保留位置0
DATA0-DATA7为短报文传输命令及数据。
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
SCMDD0D1D2D3D4D5
S:
装置当前状态,定义如下:
bit7:
单元通信状态,0--通信正常;1--通信中断。
该位由CMU置,CPU、CSU应答时,该位不作定义。
bit6:
有无录波记录,0--无1--有。
bit5:
有无保护事件记录,0--无1--有。
bit4:
有无保护越限记录,0--无1--有。
bit3:
当前有无事件信号未复归0--无1--有。
bit2:
装置运行是否正常0--正常1--不正常。
bit1:
相位是否正确0--正确1--不正确。
bit0:
备用
CMD:
COMMAND特征码
(1)CMD=01HCPU,CSU主动上送状态变化,CMU不用确认
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S01HSCHG0SCHG1SCHG2SCHG3SCHG4SCHG5
共支持6*8个状态变化量,现只定义SCHG0的5bit:
SCHG0.0:
=1有带时标工况变化=0无带时标工况变化
SCHG0.1:
=1有不带时标工况变化=0无不带时标工况变化
SCHG0.2:
=1有保护事件=0无保护事件
SCHG0.3:
=1有SOE=0无SOE
SCHG0.4:
=1有变化遥测=0无变化遥测
(2)CMD=10H,11H,12H,13HCPU主动上送COS,CMU需确认
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
SCMDYXB0YX0YXB1YX1YXB2YX2
CMD=10H后续无效
CMD=11HYXB0,YX0有效,后续无效
CMD=12HYXB0,YX0,YXB1,YX1有效,后续无效
CMD=13HYXB0,YX0,YXB1,YX1,YXB2,YX2有效
YXB0、YXB1、YXB2为对应的YX组号,YX0、YX1、YX2为对应的YX值。
CMU确认:
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S1FH000000000000
若CPU在500ms内未收到确认,则继续主动上送。
(3)CMD=20H,21H,22HCPU主动上送变化遥测YCC(越限1.25%),CMU不需确认
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
SCMDYCNO0YC0LYC0HYCNO1YC1LYC1H
CMD=20H后续无效
CMD=21HYCNO0,YC0L,YC0H有效,后续无效
CMD=22HYCNO0,YC0L,YC0H,YCNO1,YC1L,YC1H有效
YCNO0、YCNO1为对应的YC顺序号,YC0、YC1为对应的YC值。
★变化遥测一般在状态变化报文中上送,由CMU取。
(4)CMD=30HCMU复位CPU,CPU需回答
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S30HC0C1C2C3C4C5
C0=总清0FFH清C1-C5所有内容,0无效
C1.0=清通信标志1有效0无效
C1.1=清保护事件1有效0无效
C1.2=清数据库(暂不支持)1有效0无效
C1.3=清COS1有效0无效
C1.4=清SOE1有效0无效
C1.5=清YCC1有效0无效
C1.6=清自诊断(带时标)1有效0无效
C1.7=清自诊断(不带时标)1有效0无效
C2=备用
C3=备用
C4=备用
C5=备用
CPU确认:
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S31H000000000000
★该命令亦有广播格式,即目标地址为0FFH,此时CMU不须CPU应答确认。
(5)CMD=32HCMU广播复位CPU数据,CPU不需回答
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S32HC0C1C2C3C4C5
C0=总清0FFH清C1-C5所有内容,0无效
C1.0=清通信标志1有效0无效
C1.1=清保护事件1有效0无效
C1.2=清数据库(暂不支持)1有效0无效
C1.3=清COS1有效0无效
C1.4=清SOE1有效0无效
C1.5=清YCC1有效0无效
C1.6=清自诊断(带时标)1有效0无效
C1.7=清自诊断(不带时标)1有效0无效
C2=备用
C3=备用
C4=备用
C5=备用
(6)CMD=33HCMU广播复归CPU保护动作信号,CPU不需回答
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S33H000000000000
(7)CMD=34HCMU设置电度信息
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S34HD0D1D2D3D4D5
D0:
00—冻结电度。
D1—D5:
未用,填0。
01—解冻电度。
D1—D5:
未用,填0。
02—设置电度P+初值。
D1:
YM号(0--N-1)
D2—D5:
电度初值。
03—设置电度P-初值。
D1:
YM号(0--N-1)
D2—D5:
电度初值。
04—设置电度Q+初值。
D1:
YM号(0--N-1)
D2—D5:
电度初值。
05—设置电度Q-初值。
D1:
YM号(0--N-1)
D2—D5:
电度初值。
D0为其它值的功能暂未定义。
★CMU在取各个CPU电度值之前,先广播一次冻结电度报文,CPU若收到,将当前电度值放在某通信专用RAM中待取,并置相应标志,CMU取过一次后,自动清相应标志。
CPU若未收到,则在CMU取电度值时,相应标志未置,则将当前电度值送给CMU。
这样,一般情况下,解冻电度命令不再使用。
(8)CMD=35HCMU广播或非广播暂停CPU主动上送
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S35HTLTH00000000
TL,TH:
暂停主动上送的延时时间。
5/3ms的倍数。
<该命令暂未使用>
(9)CMD=36HCMU广播或非广播复位通信参数
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S36H000000000000
<该命令暂未使用>
(10)CMD=40HCMU遥控CPU
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S40HOperSwitchOperSwitchErrTypErrTyp
Oper=CCH/33H/C0H/C1H/C2H/C3H/C4H/C5H/C6H/C7H/FFH/55H/56H/AAH/ABH
Switch=0-255
遥控选择CMU->CPU
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S40HOperSwitchOperSwitch00
Oper:
CCH---合
33H---分
C0H---合环
C1H---检无压
C2H---检同期
C3H---备用
C4H---备用
C5H---备用
C6H---备用
C7H---退出当前操作,即C0--C6的工作全部退出
FFH---电路出错
遥控返校CPU->CMU
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S40HOperSwitchOperSwitchErrTypErrTyp
ErrTyp:
00H---变电站正有人操作,请稍后再操作
01H---软件闭锁,不能遥控
02H---遥控号超限
03H---对象继电器返校错
04H---备用
05H---性质继电器返校错
06H---校核正确
遥控执行CMU->CPU
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S41HOperSwitchOperSwitch00
Oper:
AAH---遥控执行
55H---遥控取消
遥控执行返回信息CPU->CMU
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
S41HOperSwitchOperSwitch00
Oper:
AAH---遥控执行成功
ABH---遥控执行失败
55H---遥控取消成功
56H---遥控取消失败
(11)CMD=F0HCMU,CPU,CSU应答其它单元“无法上送所请求信息”
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
SF0Hwhy00000
Why:
无法上送该信息的原因。
01H---本单元“正忙”。
02H---本单元现在没有该类信息(记录)存在。
03H---本单元不支持该特征码。
04H---CMU等待CPU、CSU应答超时(CMU报告RTU)。
05H---CMU发送失败(CMU报告RTU)。
06H---CMU收到RTU错误报文(CMU报告RTU或CPU、CSU)。
07H---CMU收到CPU、CSU错误报文(CMU报告RTU)。
08H---CMU等待RTU应答超时(CMU报告CPU、CSU)。
【长报文】
ID28—ID21:
xxxxxxxx目标地址
ID20—ID19:
00保留位置0
ID18—ID13:
xxxxxx当前帧号
ID12—ID5:
xxxxxxxx源地址
ID4--ID3:
00保留位置0
ID2--ID0:
111帧类型:
长报文
XXX:
000保留位置0
DATA0-DATA7各帧定义如下:
DATA0DATA1DATA2DATA3DATA4DATA5DATA6DATA7
NumSN0N1N2N3N4N5
N6N7N8N9N10N11N12N13
N14N15N16N17N18N19N20N21
……
其中,Num---总帧数(2+K+6+7)/8
S---定义同短报文。
N0—Nx定义为:
GroupCMDLenLLenHF(0)F
(1)F
(2)…F(K-1)SumLSumH
Group---分组组号,对于超过512byte的报文须分成多组,一般为0
LenL,LenH---=K,最大512-2-6=504
SumL,SumH---Group到F(K-1)的16位累加和
CMD---Command
60H=查询全YC回答全YC
61H=查询变化YC回答变化YC
62H=查询全YX回答全YX
63H=查询全YX并清COS、SOE回答全YX
64H=查询全YM回答全YM
65H=查询全DD_AC回答全DD_AC
66H=查询SOE回答SOE
67H=查询无时标工况回答无时标工况
68H=查询保护事件回答保护事件
69H=操作参数回答参数
6AH=操作保护回答保护
6BH=查询CPU回答查询
6CH=查询带时标工况回答带时标工况
76H=确认接收SOE
77H=确认接收工况变化(不带时标)
78H=确认接收保护事件
7CH=确认接收工况变化(带时标)
(1)CMD=60H查询全YC及回答全YC
查询:
Group60H00SumLSumH
回答:
Group60HLenLLenH
Line0YC0L,YC0H,YC1L,YC1H,…YC15L,YC15H
Line1YC0L,YC0H,YC1L,YC1H,…YC15L,YC15H
Line2YC0L,YC0H,YC1L,YC1H,…YC15L,YC15H
……
SumLSumH
(2)CMD=61H查询变化YC及回答变化YC
查询:
Group61H00SumLSumH
回答:
Group61HLenLLenH
Line0YC0L,YC0H,YC1L,YC1H,…YC15L,YC15H
Line1YC0L,YC0H,YC1L,YC1H,…YC15L,YC15H
Line2YC0L,YC0H,YC1L,YC1H,…YC15L,YC15H
……
SumLSumH
这是CPU上送状态变化后,CMU查询CPU的报文。
(3)CMD=62H查询全YX及回答全YX
查询:
Group62H00SumLSumH
回答:
Group62HLenLLenH
Byte_No0,YX0
Byte_No1,YX1
Byte_No2,YX2
……
SumLSumH
(4)CMD=63H查询全YX并清COS、SOE及回答全YX
查询:
Group63H00SumLSumH
回答:
Group63HLenLLenH
Byte_No0,YX0
Byte_No1,YX1
Byte_No2,YX2
……
SumLSumH
<该命令暂未使用>
(5)CMD=64H查询全YM及回答全YM
查询:
Group64H00SumLSumH
回答:
Group64HLenLLenH
Group0DD0/0,DD0/1,DD0/2,DD0/3/*P+*/
DD1/0,DD1/1,DD1/2,DD1/3/*P-*/
DD2/0,DD2/1,DD2/2,DD2/3/*Q+*/
DD3/0,DD3/1,DD3/2,DD3/3/*Q-*/
Group1DD0/0,DD0/1,DD0/2,DD0/3/*P+*/
DD1/0,DD1/1,DD1/2,DD1/3/*P-*/
DD2/0,DD2/1,DD2/2,DD2/3/*Q+*/
DD3/0,DD3/1,DD3/2,DD3/3/*Q-*/
……
SumLSumH
(6)CMD=65H查询全DD_AC及回答全DD_AC
查询:
Group65H00SumLSumH
回答:
Group65HLenLLenH
Group0DD0/0,DD0/1,DD0/2,DD0/3/*P+*/
DD1/0,DD1/1,DD1/2,DD1/3/*P-*/
DD2/0,DD2/1,DD2/2,DD2/3/*Q+*/
DD3/0,DD3/1,DD3/2,DD3/3/*Q-*/
Group1DD0/0,DD0/1,DD0/2,DD0/3/*P+*/
DD1/0,DD1/1,DD1/2,DD1/3/*P-*/
DD2/0,DD2/1,DD2/2,DD2/3/*Q+*/
DD3/0,DD3/1,DD3/2,DD3/3/*Q-*/
……
SumLSumH
(7)CMD=66H查询SOE及回答SOE
查询:
Group66HLenLLenHSumLSumH
回答:
Group66HLenLLenH
SOE0SOE1SOE2SOE3SOE4SOE5SOE6SOE7
SOE0SOE1SOE2SOE3SOE4SOE5SOE6SOE7
SOE0SOE1SOE2SOE3SOE4SOE5SOE6SOE7
SOE0SOE1SOE2SOE3SOE4SOE5SOE6SOE7
……
SumLSumH
如果无内容,Len=0。
SOE0=MSL
SOE1=MSH(0-999)BIN
SOE2=Second(0-59)BIN
SOE3=Minute(0-59)BIN
SOE4=Hour(0-23)BIN
SOE5=Date(1-31)BIN
SOE6=DXL
SOE7=DXH
DXL,DXH共16bitDX.15为对应YX值,DX.