模型及mms报文分析.docx
- 文档编号:27292590
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:15
- 大小:51.72KB
模型及mms报文分析.docx
《模型及mms报文分析.docx》由会员分享,可在线阅读,更多相关《模型及mms报文分析.docx(15页珍藏版)》请在冰豆网上搜索。
模型及mms报文分析
61850模型及MMS报文分析基础
2012-02
参考文档:
1.《数字化变电站调试总结-马玉龙》
2.《IEC61850标准》《IEC61850实施规范》
1、文件类型3
1.1ICD/CID文件结构3
2模型验证3
3、IED配置4
3.1IED和LD(LogicalDevice)相关信息4
3.2逻辑节点LN(LogicalNode)5
3.3数据DO(DataObject)及数据属性DA(Dataattribute)7
3.4数据集:
DOI/DAI的集合10
3.5报告控制块ReportControl:
11
4如何抓包12
4.1抓包工具12
4.2抓包方法12
4.3分析举例12
5、MMS报文简析16
5.1初始化相关16
5.2报告相关21
5.3录波相关29
5.4控制相关32
5.5定值相关35
第一部分:
模型文件基础
1、文件类型
IED(智能电子设备,指保护、测控等设备)应提供ICD文件,描述IED的能力及通信内容,如是否具有定值、压板、动作信号等。
系统集成工具把各IED的ICD文件集成并进行实例化如IED名、信息点描述等形成站级模型文件-SCD文件,供站级(包括监控、远动、故障信息主子站)应用。
IED从SCD文件中导出本IED相关部分形成CID文件,即实例化后的IED模型文件,供IED运行时用。
1.1ICD/CID文件结构
-Header:
历史版本信息等
-Communication:
GOOSE配置等
-IED:
定值、压板、动作信号等
-DataTypeTemplates:
对象类型定义
2模型验证
xmlSpy可做一些语法方面的验证。
四方61850客户端工具软件可作进一步验证。
3、IED配置
注:
本部分示例大部分取自培训资料包中的CSC326DES1.cid。
3.1IED和LD(LogicalDevice)相关信息
1、icd文件中的IED名一般为Template
2、cid文件中的IED名必须和子系统的csscfg.ini配置一致
3、每个IED包含1-n个LDevice,每个LD包含1个LN0和几个LN
4、对于四方IED的模型文件中有两个私有配置,当模型较大(cid超过1M)装置可能无法正确启动,需要把这两个参数改大,CSC高压保护MST61850库版本v3.40以后在串口输出中有提示信息。
DTValidNums总的叶子个数提示信息:
sclMaxLeafNumISTOOSMAL
DTAllNums每个LN所包含的最大类型个数
5、LD路径名:
IED名+LD名全站唯一确定一个LD
3.2逻辑节点LN(LogicalNode)
LN实例:
CSC326DELD0/GGIO2
1、LN类型lnType:
描述LN包含的数据信息,根据lnType如CSC326DE/LD0/GGIO2在DataTypeTemplate段中查询
2、LN实例名:
prefix+lnClass+inst如:
GGIO2(prefix为空)
3、LN实例路径名:
CSC326DELD0/GGIO2LD与LN之间以/分隔
4、只在LN0实例中包含数据集DataSet、报告控制块ReportControl、日志控制块LogControl(模型文件中应删除)
LN实例:
CSC326DEMEAS/MMXU1
LN实例:
CSC326DEMEAS/LLN0
LN实例:
CSC326DEPROT/LLN0
3.3数据DO(DataObject)及数据属性DA(Dataattribute)
模型中LN的下级数据称为DO,在61850标准中统一定义了每个DO含义,DO又可包含下级DO和DA,因此DO可看作一个结构化的数据。
DA是模型中的末级数据,DA又可包含DA,最末级DA称为叶子leaf。
模型中的信息分为几种类型,由DA的功能约束属性fc进行标识,常用fc有如下类别:
ST:
状态MX:
测量CO:
控制SG:
当前区定值SE:
编辑区定值
BR:
缓冲型报告控制块RP:
非缓冲型报告控制块
下面为常用数据类型的例子。
包括压板状态、开入状态、告警信息、事件状态等。
类型:
SPS
3.3.2测量类数据
包括测控测量和保护测量
类型CMVWYEMV
控制类型包括复归、压板、开关控制
类型CMVWYEMV
1、61850实施规范中要求Check数据必须有值,不能为空值。
如果client下发遥控命令Check为空,则保护测控装置无法接受控令,控制失败。
2、SBOw和Oper数据类型一般相同
3、除复归为直接控制类型外,其余大部分为预置、执行方式的控制。
3.4数据集:
DOI/DAI的集合
FCDA到DO,DO包含的fc指定的DA也属于FCDA
FCDA到DA
1、数据集路径名datasetReference唯一确定一个数据集:
IED名+LD名+LN名+数据集名
2、根据每个数据成员实例可找到数据的描述,即可知道数据与IED内部数据的对应关系
3.5报告控制块ReportControl:
1、报告控制块用于设定IED上送数据的内容及方式等,包括告警、事件、开入、模拟量等所有IED需上送的内容。
61850中除总召由client发起外,其余全部为IED主动上送数据。
2、IED与client连接过程中,client一般会根据各自需要设定每个报告实例的属性,此处的例子是icd中设定的默认值,如果client不重新设定,IED以此方式上送。
3、datSet属性:
本报告控制块对应的数据集。
4、TrgOps:
报告触发选项,数据集中的数据在何种条件下通过报告上送
dchg:
数据变化上送
qchg:
品质变化上送
dupd:
数据更新上送,目前一般不用
period:
周期上送
5、OptFeilds:
报告报文中包含的数据域,除了信号状态模拟量值以外的信息,如以下数据等
seqNum:
报告的序号,递增
timestamp:
报告生成的时标,不是信号变化时间
dataset:
报告中包含数据集名
6、RptEnabled:
max属性是IED可以支持的报告实例个数。
IED初始化时为每个报告生成max个实例,分别以报告控制块名+实例号(01,02…)进行区分,如brcbAlarm01、brabAlarm02。
每个client在连接时,以不同的报告实例号占用一个报告实例。
每个报告实例按照client指定的属性上送报告。
7、如果数据集成员到DO级别,其包含的任意一个数据满足报告触发条件都应触发报告
8、报告分为缓存和非缓存两种类型,由IED建模时,通过ReportControl段的”buffered”属性设置,buffered=true设置缓冲型报告,对应fc=BR;buffered=false设置非缓冲型报告,对应fc=RP。
缓存型报告要求IED在内存中缓存报告,如通信中断期间发生了事件,党通信恢复后,此事件报文应能上送不丢失,通常告警、事件、SOE等报告建模为缓存类型。
非缓存型报告不要求IED缓存,通信中断期间的数据可丢失,通常遥测类型的数据建模为非缓存报告。
抓包及MMS报文。
第二部分:
MMS报文分析基础
4如何抓包
4.1抓包工具
常用的抓包工具有Windows下的mms-ethereal,WireShark和Solaris下的snoop命令。
mms-ethereal可以自动解释mms报文,适合进行应用层报文的分析。
WireShark是ethereal的替代版本,界面更加友好,但标准版本中没有对mms报文分析的支持;snoop主要是用来抓包,没有图形化的分析界面,snoop抓取的文件可以用WireShark打开辅助分析;
4.2抓包方法
对于广播和组播报文如装置的UDP心跳报文,可以用笔记本连接到交换机上任意端口抓取。
对于后台与装置之间的TCP通讯,有以下几种方法。
1)后台机上可安装软件来抓包,非window系统的也可以在笔记本电脑上用相同配置模拟后台截取报文。
2)利用HUB连接后台与装置,将笔记本接到HUB上抓包。
注意一定要使用HUB,不能使用交换机。
WireShark和mms-ethereal均是图形化的界面,使用起来比较简单,注意选择正确的网卡即可。
snoop的使用方法可以用mansnoop取得,最基本的命令为snoop-dbge0-oxx.snoop
3)如果是远动、和子站装置,可在交换机上设定镜像端口,把要截取报文的端口镜像到镜像端口,则笔记本电脑只要连接到镜像端口即可截取其它端口的报文。
交换机一般都支持端口镜像功能,需要参照说明书进行设定。
4.3分析举例
均以WireShark为例,mms-ethereal与之类似。
1.3.1设置抓包过滤条件
在后台上抓包时,数据量比较大,文件一大之后,解析起来速度很慢,如果单纯为了分析应用层报文,可在抓包的时候设置过滤条件。
如果为了分析网络通断问题,一般不设置过滤条件,便于全面了解网络状况。
抓包过滤条件在Capture->Options->CaptureFilter里设置,点CaptureFilter会有很多现成的例子,下面列举几个最常用的。
tcp
只抓取tcp报文
udp
只抓取udp报文
etherhost00:
08:
15:
00:
08:
15
只抓取指定MAC地址的报文
1.3.2设置显示过滤条件
打开一个抓包文件后,可以在工具栏上的filter栏设置显示过滤条件,这里的语法与CaptureFilter有点差别,举例如下。
tcp
只抓取tcp报文
udp
只抓取udp报文
eth.addr==00:
08:
15:
00:
08:
15
只抓取指定MAC地址的报文
还可以在报文上点击右键选择applyasfilter等创建一个过滤条件,比较方便。
1.3.3判别网络状况
输入显示过滤条件,可以显示丢失、重发等异常情况相关的TCP报文,此类报文的出现频率可以作为评估网络状况的一个标尺。
常见的异常类型有以下几个
[TCPRetransmission]
由于没有及时收到ACK报文而产生的重传报文
[TCPDupACKxxx]
重复的ACK报文
[TCPPrevioussegmentlost]
前一帧报文丢失
[TCPOut-Of-Order]
TCP的帧顺序错误
偶尔出现属于正常现象,完全不出现说明网络状态上佳。
监视TCP连接建立与中断
输入显示过滤条件,
SYN是TCP建立的第一步,FIN是TCP连接正常关断的标志,RST是TCP连接强制关断的标志
(2)统计心跳报文有无丢失
在statistics->conversations里选择UDP,可以看到所有装置的UDP报文统计。
一般情况下,相同型号装置的UDP报文的数量应该相等,最多相差1到2个,如果个别装置数量异常,则可能是有心跳报文丢失,可以以该装置的地址为过滤条件进行进一步查找。
调试61850的站,最好要家里带上一个HUB(库房一般是8口10M的TP-LINK)---不是交换机。
主要用于抓数据包,便于查问题。
没有HUB根本没有办法查看远动与装置的mms报文以及goose数据包。
抓报工具是归档里面的61850的报文监视工具。
如下:
打开抓报工具,点击左侧第二个按钮开始设置:
选择本计算机网卡,地址就是本地连接里面设置的IP地址:
点击browse按钮设置存储文件名及路径:
设置长期抓包存储,选中
,按抓包大小存贮(m代表MB,可以是KB或者GB)
;按时间存储如下图:
把这个选项勾上就可以实时显示数据,便于查找问题。
点击“start”按钮开始抓包。
5、MMS报文简析
注:
报文取自培训资料包中的associate-setting和file报文文件,报文对应的模型文件为csc1710.cid,对应子系统配置文件为ied1.ini。
5.1初始化相关
是client端与IED建立连接的初始报文。
Client初始化请求Request
1.报文时间显示格式可在view->Timedisplayformat中设置为绝对时间和相对时间(从运行报文软件开始经过的时间)
2.Source为源端既报文发起方的IP地址,Destination为终端既报文接收方的IP地址
装置的应答Response
子系统在初始化时,检查IED是否配置有控制数据,包括复归、压板、开关控制等,也就是模型中FC=CO的数据,对应于iedxx.ini中的CTL行。
如果有控制数据,子系统需要读取每路控制的控制模式,模型中为ctlModel的数据。
子系统对复归控制ctlModel默认为1,既直接控制,压板开关ctlModel默认为4,既带预置令的控制模式。
CTLCSC1034LD0SPC1(默认ctlModel为1)20022302230null
CTLCSC1034LD0SPC4(默认ctlModel为4)20022312231null
CTLCSC1034LD0SPC4(默认ctlModel为4)20022322232null
IEDresponse
子系统在初始化时,会读取每个IED的数据集所包含的成员,此时IED返回的成员是运行时数据集包含的成员。
必须与IED提供的静态模型文件icd完全一致,子系统才能在以后收到报告数据时正确解析。
但由于各种原因,有时两者并不一致。
因此子系统在初始化时先验证数据集成员运行时与静态模型是否一致,如果不一致,则子系统不再继续进行连接。
子系统是根据iedxxx.ini中配置的PollingDataSet数据集段逐个读取每个数据集的成员信息的。
#PollingDataSet
#TagdomdsNamepolltPoll(s)
DSACSC1032LD0LLN0.dsAlarmNO20
DSACSC1032LD0LLN0.dsRelayEnaNO20
主要是比对数据集包含的FCDA个数和FCDA名字是否相同。
静态数据集成员已由V2配置工具倒出到iedxxx.ini文件的DAT行,每个FCDA对应一个DAT行。
Clientrequest
IEDresponse
子系统在验证了数据集成员FCDA的正确性后,还需要读取每个到DO级别的FCDA包含的下级DA及每个DA的数据类型,用于后续报文解析。
Clientrequest
IEDresponse
5.2报告相关
子系统会根据iedxx.ini文件中配置的报告控制块,逐一进行初始化,包括下列操作:
#ReportControl
#TagdomdsNamerefRptIDOptFldsTrgOpsIntgPd(ms)
RCBBSPDC2MONITORLLN0.dsMonSMONITOR/LLN0$RP$MonS7F804430000
报文信息与iedxx.ini配置信息的对应关系如下:
报文信息iedxx.ini配置信息
DomainName:
dom
ItemName:
ref+报告实例号,但ref中的’.’分隔符变为’$’,报文中用’$’分隔符,报告实例号在csssys.ini中RCB行设置:
#tagfstInstmdNetShareenOnlyEnableenFstDisablemaxRcbInstenMustAssignenPurgeBRCB
RCB71011600
有在RptEna为false的情况下,才能设置报告控制块的属性。
装置回写成功
子系统对于状态类报告,默认触发选项为(010001)2,即数据变化和总召,对于模拟量类的报告,默认触发选项为(010011)2,即数据变化、周期和总召。
默认触发选项在csssys.ini中的RPT行TrgOps设置44。
44为16进制数据,对应2进制为(01000100),报文中规定取高6位,即状态类报告默认触发选项为(010001)2。
#tagenRptIDTrgOpsOptFldsIntgPdenDA4QuatoAutoCtlresv3resv4resv5
RPT0447900300000500000
TrgOps各位含义,bit0对应报文中左数第一位
默认触发选项为(7900)16。
0111100100。
每位的含义见下面的表12。
要求IED上送的报告中,数据分别为报告序号、报告生成时间、报告上送原因(本次报告中包含数据集中的哪些数据)、数据集名称、条目号(IED端累计的报告序号)。
#tagenRptIDTrgOpsOptFldsIntgPdenDA4QuatoAutoCtlresv3resv4resv5
RPT0447900300000500000
OptFlds各位含义。
下表中第一条对应报文中左数第一位。
表12:
报告上送数据属性配置(2个字节,16位,从高到低,第0位保留)
0
1
2
3
4
5
6
7
0
1
2....
十六进制表示(H)
说明
1
4000
序号
1
2000
报告生成的时标
1
1000
原因
1
0800
数据集名称
1
0400
数据集的路径
1
0200
缓冲溢出标志
1
0100
条目号
1
0080
配置号
client使能报告后,IED就开始根据报告触发条件上送报文了。
注意:
遥测量还要设置一个周期上送的时间,如下:
子系统与装置连接成功后,会对所有报告进行一次总召。
client写GI(GeneralInterrogation)的值为TRUE,装置应上送整个报告对应的全部数据。
品质数据q的含义:
没有detailqual这一位,Bit12位闭锁状态,允许远方操作压板没投!
常规61850站只有允许远方修改定值压板,就是这一位。
时间质量:
2a表示时钟未同步,4a表示时钟故障,0a表示正常。
2a=00101010
7-25.5.3
5.3录波相关
IED录波完成后应主动上送此报告通知client有新录波文件生成,子系统在收到此报告后可自动(需在V2中配置)向IED召唤录波文件。
录波完成数据集:
录波完成报告:
Client端通常需要先读取IED文件列表,既IED中录波文件名的列表。
读取列表时需指定读取的目录,通信子系统在csscfg.ini中RUN行可对每个IED的录波目录rcdDir进行设定,也就是RequestFileDirectory报文中的“COMTRADE/”,”/”是子系统增加的。
#TagiedNoiedNameP(A)P(B)rcbSharercdDirrcbNo(A)rcbNo(B)
RUN1CSC1710nullNOCOMTRADE00
四方CSC高压保护master板61850库V3.31以前的版本要求录波文件目录是“/COMTRADE/”,V3.31以后的版本不再有此限制。
/comtrade,/comtrade/,或者直接就是comtrade都行。
深南瑞IED要求的录波目录是“/D/COMTRADE/”,应修改子系统csscfg.ini配置文件中rcdDir。
Client端读取录波文件内容时需分3个步骤进行
1、FileOpen打开文件
2、FileRead读取文件内容,如果文件较大,需多次读取
3、FileClose关闭文件
FlieOpen
FileRead
FileClose
5.4控制相关
ctlModel为4的控点如压板、开关为带预置的控制,client先发预置命令再发执行命令。
预置和执行命令均为write命令。
IED收到预置令后只要通过合法性检查(状态是否已经达到目标态,当前是否正在执行控令过程中等)既认为预置成功,返回write的response。
ctlModel为1的控点如复归LEDRs,为直接控制模式,即没有预置的过程,直接写Oper进行执行。
IED收到执行令后成功发给下级cpu既返回执行成功。
对于ctlModel为4的控制对象,每次控制操作结束后IED都应发送一个InformationReport报告通知client端,本次操作的最终结果。
ctlModel为1的控不发送此报文。
IED应根据所控目标的状态是否已经正确变位来判断本次操作是否成功来组织操作结束报文InformationReport,通信子系统只有收到此报文才认为一次控制结束,并根据InformationReport判断控制结果。
如果IED不发送InformationReport,子系统认为控制失败。
5.5定值相关
非当前运行区标准中以编辑区表示,如果当前运行区为1区,需要操作2区定值,则操作前应先把编辑区切换到2区。
标准中规定当前运行定值fc=SG不可写。
如当前运行区为1,要想修改1区定值,需首先把编辑区且到1区,再写fc=SE的定值即可。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 模型 mms 报文 分析