CN103368791A - 一种iec104协议报文快速自动检测方法 - Google Patents
一种iec104协议报文快速自动检测方法 Download PDFInfo
- Publication number
- CN103368791A CN103368791A CN2013102639532A CN201310263953A CN103368791A CN 103368791 A CN103368791 A CN 103368791A CN 2013102639532 A CN2013102639532 A CN 2013102639532A CN 201310263953 A CN201310263953 A CN 201310263953A CN 103368791 A CN103368791 A CN 103368791A
- Authority
- CN
- China
- Prior art keywords
- message
- iec104
- application layer
- agreement
- protocol
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种IEC104协议报文快速自动检测方法,包括IEC104协议的启动/停止机制检测、IEC104协议测试过程检测、IEC104协议应用层命令帧格式检测,其特征在于包括以下步骤:S1.发送方发送IEC104协议的启动报文和停止报文,检测接收方是否启动传输和停止传输报文,判断接收方IEC104协议的启动停止机制是否正确;S2.发送方发送U帧格式的测试帧报文,检测接收方是否有测试帧响应报文,判断接收方IEC104协议的测试过程是否正确;S3.发送方逐项发送应用层命令报文,检测接收方对应用层命令的响应报文,判断接收方IEC104协议的应用层命令响应报文是否正确;S4.对检测的每项结论自动生成检测报告。其实现了各供应商的IEC104协议互联互通,解决IEC104协议多种通信版本共存的混乱管理,提高系统扩建时通信协议接入速度,保障电力自动化系统的运行安全。
Description
技术领域
本发明涉及一种IEC104协议报文快速自动检测方法,属于通信传输检测领域。
技术背景
随着计算机网络技术在电力自动化中的普遍应用,其利用以太网介质的网络通信规约进行数据交换在电力自动化系统中得到广泛的应用,目前在调度自动化系统与各变电站自动化系统之间,及变电站自动化系统内测控系统的通信传输多采用IEC60870-5-104通信协议(简称IEC104协议)。IEC104协议作为一种国际标准通信协议,具有实时性好、可靠性高、数据流量大、便于信息量扩充、支持网络传输等优点。现有的IEC104协议已经被国内外电力自动化主流供应商如国电南瑞、北京四方、SIEMENS、GE等应用到电力自动化系统当中。
IEC104协议是一种国际标准的协议,规定了协议传输过程中报文的格式要求和传输时序要求,但是每个供应商都按照自己的理解开发各自的IEC104协议,由于涉及到的供应商众多,供应商各自为政,且开发人员技术参差不齐,不可能对规约的理解完全相同,造成了供应商之间在通信协议上很难实现互联互通,当电力自动化系统需要多个供应商之间相互配合时,需要投入大量的人力物力进行通信协议联调,且出现问题时相互推诿而无法解决问题。可见,保持IEC104协议各供应商的一致是非常重要的。目前,IEC104协议测试过程中,现有的IEC104协议测试工具多依赖手工逐项测试和依靠专业技术人员丰富的经验判断IEC104协议的一致性,因此在测试速度和效率都存在缺陷。
发明内容
本发明的目的在于提供一种IEC104协议报文快速自动检测方法, 其实现了各供应商的IEC104协议互联互通,解决IEC104协议多种通信版本共存的混乱管理,提高系统扩建时通信协议接入速度,保障电力自动化系统的运行安全。
本发明解决其技术问题所采用的技术方案是:一种IEC104协议报文快速自动检测方法,包括IEC104协议的启动/停止机制检测、IEC104协议测试过程检测、IEC104协议应用层命令帧格式检测,其特征在于包括以下步骤:
S1.发送方发送IEC104协议的启动报文和停止报文,检测接收方是否启动传输和停止传输报文,判断接收方IEC104协议的启动停止机制是否正确;
S2.发送方发送U帧格式的测试帧报文,检测接收方是否有测试帧响应报文,判断接收方IEC104协议的测试过程是否正确;
S3.发送方逐项发送应用层命令报文,检测接收方对应用层命令的响应报文,判断接收方IEC104协议的应用层命令响应报文是否正确;
S4.对检测的每项结论自动生成检测报告。
所述步骤S1IEC104协议的启动/停止机制检测,具体包括以下步骤:
S12.系统下发IEC104协议的停止传输报文;
S13.等待接收IEC104协议的停止传输确认报文,然后将接收到的确认报文送入到S0报文检测模块中;
S14.检测系统是否接收到I帧格式的报文,如果没有I帧格式报文执行步骤S15,否则执行步骤S16;
S15.计时器累加时间;
S16.记录停止传输命令后,仍有I帧格式报文上送,则提示错误;
S17.判断计时器是否大于20秒,如果大于20秒执行步骤S18,否则返回执行步骤S14;
S18.将检测结论及报文添加到检测链表中。
所述步骤S2 IEC104协议测试过程检测,具体包括以下步骤:
S20.系统下发IEC104协议U帧格式的测试报文;
S21.系统接收IEC104协议测试确认报文,然后将接收到的确认报文送入到S0报文检测模块中;
S22.检测系统是否接收到上传的测试报文,如果有,执行步骤S24,如果没有,执行步骤S23;
S23.系统计时累加;
S24.系统将接收到的测试报文送入到S0报文检测模块中;
S25.系统判断等待上传测试报文的时间是否超时(超时时间设置为10秒),如果没超时,继续等待接收报文,返回执行步骤S22,否则,执行步骤S26;
S26.IEC104协议测试过程检测完成,系统进入下一检测项。
所述步骤S3 IEC104协议应用层命令帧格式检测,具体包括以下步骤:
S30.系统下发IEC104协议的启动传输报文,系统响应IEC104协议启动传输确认报文;
S31.系统按链表中的应用层命令逐条下发应用层命令报文;
S32.系统等待应用层命令报文的回答,然后将回答的报文送入到S0报文检测模块中;
S33.判断链表中的应用层命令是否全部发送,如果是,则执行步骤S34,否则返回循环执行步骤S31;
S34.IEC104协议应用层命令检测完成,进入下一步生成检测报告,结束检测。
本发明的积极效果是第一、使各供应商的IEC104协议传输报文完整且一致,快速实现各供应商IEC104协议的互联互通,解决IEC104协议同一系统多种版本共存的混乱管理;第二、大大提高系统扩展是IEC104协议的接入速度,节省大量的人力物力资源。
附图说明
图1本发明实现IEC104报文快速自动检测系统的流程图。
图2本发明实现IEC104报文快速自动检测系统的启动/停止机制检测流程图。
图3本发明实现IEC104报文快速自动检测系统的测试过程检测流程图。
图4本发明实现IEC104报文快速自动检测系统的应用层检测流程图。
图5本发明实现IEC104报文快速自动检测系统的接收报文检测流程图。
图6本发明实现IEC104报文快速自动检测系统的I帧报文结构示意图。
图7本发明实现IEC104报文快速自动检测系统的U帧报文结构示意图。
图8本发明实现IEC104报文快速自动检测系统的结构示意图。
具体实施方式
下面将结合附图及实施例对本发明作进一步说明,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
应当说明的是,IEC104协议输出报文的格式包括I帧、U帧和S帧三种格式的报文,IEC104协议输出报文格式包括启动字符、ASDU长度、控制域八位位组1、控制域八位位组2、控制域八位位组3、控制域八位位组4以及应用服务数据单元ASDU,其中应用服务数据单元ASDU只有在I帧格式报文中出现,长度是可变的,其最大值为253,如图6、图7传输报文帧格式所示,对于具体帧格式, 本领域的技术人员应当了解,在此不再赘述。
应当说明的是,IEC104协议在传输报文的输出时序和报文格式的错误会产生IEC104协议报文传输中断、数据传输错误等问题,因此,IEC104协议输出的I帧、U帧和S帧三种报文时序和格式需要进行检测,在本实例实施中,发送方发送IEC104协议的帧启动报文(控制域八位位组1为<0x07>)/停止报文(控制域八位位组1为<0x13>)、U帧测试帧报文(控制域八位位组1为<0x43>)、I帧应用层命令报文,检测接收方的报文传输时序及报文格式的正确性,本领域的技术人员应当了解,在其他的实施例中,也可通过其他的方式进行报文检测,在此不再赘述。
如图1所示,一种IEC104协议报文快速自动检测方法,包括IEC104协议的启动/停止机制检测、IEC104协议测试过程检测、IEC104协议应用层命令帧格式检测,其特征在于包括以下步骤:
S1.发送方发送IEC104协议的启动报文和停止报文,检测接收方是否启动传输和停止传输报文,判断接收方IEC104协议的启动停止机制是否正确;
应当说明的是,在IEC104协议报文传输过程中,当接收方接收到U帧格式的停止传输报文(报文中控制域八位位组1为<0x13>)时,应当停止输出报文(除测试帧报文外,测试帧报文在停止传输状态下仍然可以输出),此时接收方不应有除测试帧报文以外的任何报文输出,直到接收方接收到U帧格式的启动传输报文(报文中控制域八位位组1为<0x07>)后,接收方才能输出其它报文,报文结构及组织报文内容方式参见图7的U帧报文结构示意图,此过程是IEC104协议的启动停止机制,本领域的技术人员应当了解,在此不再赘述。
S2.发送方发送U帧格式的测试帧报文,检测接收方是否有测试帧响应报文,判断接收方IEC104协议的测试过程是否正确;
应当说明的是,IEC104协议的测试帧报文可以在报文停止传输或启动传输机制下进行输出,在本实施例中,采用在停止传输机制下发送方发送控制域八位位组1为<0x43>的U帧格式测试帧报文,检测测试帧响应报文,本领域的技术人员应当了解,在其他的实施例中,也可通过在启动传输机制下进行测试帧报文检测,在此不再赘述。
S3.发送方逐项发送应用层命令报文,检测接收方对应用层命令的响应报文,判断接收方IEC104协议的应用层命令响应报文是否正确;
应当说明的是,在IEC104协议的应用层命令报文传输过程中,发送方发送应用层命令报文,接收方接收到应用层命令报文后,应输出应用层命令的响应报文,然后按照应用层命令报文的要求输出应用层数据报文,此过程是IEC104协议的应用层命令传输过程,本领域的技术人员应当了解,在此不再赘述。
S4.对检测的每项结论自动生成检测报告。
如图2所示,所述步骤S1具体包括以下步骤:
在步骤S10中,系统下发IEC104协议的启动传输报文。
在步骤S11中,等待接收IEC104协议的启动传输确认报文,然后将接收到的确认报文送入到S0报文检测模块中。
应当说明的是,系统在接收到任何一帧报文都需要送入报文检测模块进行报文格式的检测,具体检测流程请参阅图5。
在步骤S12中,系统下发IEC104协议的停止传输报文。
在步骤S13中,等待接收IEC104协议的停止传输确认报文,然后将接收到的确认报文送入到S0报文检测模块中。
在步骤S14中,检测系统是否接收到I帧格式的报文,如果没有I帧格式报文执行步骤S15,否则执行步骤S16。
应当说明的是,IEC104协议在停止传输报文命令后,不能有应用服务数据报文上送,即不能有I帧格式的报文上送,本领域的技术人员应当了解,这里不再赘述。
在步骤S15中,计时器累加时间。
在步骤S16中,记录停止传输命令后,仍有I帧格式报文上送,则提示错误。
在步骤S17中,判断计时器是否大于20秒,如果大于20秒执行步骤S18,否则返回执行步骤S14。
在步骤S18中,将检测结论及报文添加到检测链表中。
如图3所示,所述步骤S2具体包括以下步骤:
在步骤S20中,系统下发IEC104协议U帧格式的测试报文。
在步骤S21中,系统接收IEC104协议测试确认报文,然后将接收到的确认报文送入到S0报文检测模块中。
在步骤S22中,检测系统是否接收到上传的测试报文,如果有,执行步骤S24,如果没有,执行步骤S23。
在步骤S23中,系统计时累加。
在步骤S24中,系统将接收到的测试报文送入到S0报文检测模块中。
在步骤S25中,系统判断等待上传测试报文的时间是否超时(超时时间设置为10秒),如果没超时,继续等待接收报文,返回执行步骤S22,否则,执行步骤S26.
在步骤S26中,IEC104协议测试过程检测完成,系统进入下一检测项。
如图4所示,所述步骤S3具体包括以下步骤:
在步骤S30中,系统下发IEC104协议的启动传输报文,系统响应IEC104协议启动传输确认报文。
在步骤S31中,系统按链表中的应用层命令逐条下发应用层命令报文。
在步骤S32中,系统等待应用层命令报文的回答,然后将回答的报文送入到S0报文检测模块中。
在步骤S33中,判断链表中的应用层命令是否全部发送,如果是,则执行步骤S34,否则返回循环执行步骤S31。
在步骤S34中,IEC104协议应用层命令检测完成,进入下一步生成检测报告,结束检测。
如图5所示,所述步骤S0具体包括以下步骤:
在步骤A中,系统接收到IEC104协议待测设备(子站系统)的上传报文。
在步骤B中,检测报文的类型是否系统要求的回答类型,如果是,执行步骤C1,否则,执行步骤C2.
在步骤C1中,检测报文的帧格式。
应当说明的是,检测IEC104协议报文帧格式包括I帧、S帧和U帧格式,对于U帧和S帧报文格式IEC104协议标准有具体的规定,本领域的技术人员应当了解,在此不再赘述;对于I帧报文格式主要检测链路地址、启动报文位、链路功能码、可变结构限定词、发送原因。
在步骤C2中,改写报文类型错误标志,并提示错误。
在步骤D中,判断C1步骤检测的帧格式是否正确,如果是,则执行步骤E,否则,执行步骤C2.
在步骤E中,将接收到的报文及检测结论一并添加到检测链表中。
如图8所示,所述系统包括依次连接的发送模块、接收模块和检测模块,下面具体介绍各个部分的作用:
发送模块,用于组织IEC104协议主站报文命令,然后下发报文。
接收模块,用于接收IEC104协议待测设备(子站系统)上传的报文。
检测模拟,用于对接收的IEC104协议待测设备(子站系统)上传的报文进行检测。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (4)
1.一种IEC104协议报文快速自动检测方法,包括IEC104协议的启动/停止机制检测、IEC104协议测试过程检测、IEC104协议应用层命令帧格式检测,其特征在于包括以下步骤:
S1.发送方发送IEC104协议的启动报文和停止报文,检测接收方是否启动传输和停止传输报文,判断接收方IEC104协议的启动停止机制是否正确;
S2.发送方发送U帧格式的测试帧报文,检测接收方是否有测试帧响应报文,判断接收方IEC104协议的测试过程是否正确;
S3.发送方逐项发送应用层命令报文,检测接收方对应用层命令的响应报文,判断接收方IEC104协议的应用层命令响应报文是否正确;
S4.对检测的每项结论自动生成检测报告。
2.根据权利要求1中所述的一种IEC104协议报文快速自动检测方法,其特征在于所述步骤S1IEC104协议的启动/停止机制检测,具体包括以下步骤:
S12.系统下发IEC104协议的停止传输报文;
S13.等待接收IEC104协议的停止传输确认报文,然后将接收到的确认报文送入到S0报文检测模块中;
S14.检测系统是否接收到I帧格式的报文,如果没有I帧格式报文执行步骤S15,否则执行步骤S16;
S15.计时器累加时间;
S16.记录停止传输命令后,仍有I帧格式报文上送,则提示错误;
S17.判断计时器是否大于20秒,如果大于20秒执行步骤S18,否则返回执行步骤S14;
S18.将检测结论及报文添加到检测链表中。
3.根据权利要求1中所述的一种IEC104协议报文快速自动检测方法,其特征在于所述步骤S2 IEC104协议测试过程检测,具体包括以下步骤:
S20.系统下发IEC104协议U帧格式的测试报文;
S21.系统接收IEC104协议测试确认报文,然后将接收到的确认报文送入到S0报文检测模块中;
S22.检测系统是否接收到上传的测试报文,如果有,执行步骤S24,如果没有,执行步骤S23;
S23.系统计时累加;
S24.系统将接收到的测试报文送入到S0报文检测模块中;
S25.系统判断等待上传测试报文的时间是否超时(超时时间设置为10秒),如果没超时,继续等待接收报文,返回执行步骤S22,否则,执行步骤S26;
S26.IEC104协议测试过程检测完成,系统进入下一检测项。
4.根据权利要求1中所述的一种IEC104协议报文快速自动检测方法,其特征在于所述步骤S3 IEC104协议应用层命令帧格式检测,具体包括以下步骤:
S30.系统下发IEC104协议的启动传输报文,系统响应IEC104协议启动传输确认报文;
S31.系统按链表中的应用层命令逐条下发应用层命令报文;
S32.系统等待应用层命令报文的回答,然后将回答的报文送入到S0报文检测模块中;
S33.判断链表中的应用层命令是否全部发送,如果是,则执行步骤S34,否则返回循环执行步骤S31;
S34.IEC104协议应用层命令检测完成,进入下一步生成检测报告,结束检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310263953.2A CN103368791B (zh) | 2013-06-28 | 2013-06-28 | 一种iec104协议报文快速自动检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310263953.2A CN103368791B (zh) | 2013-06-28 | 2013-06-28 | 一种iec104协议报文快速自动检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103368791A true CN103368791A (zh) | 2013-10-23 |
CN103368791B CN103368791B (zh) | 2016-08-10 |
Family
ID=49369376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310263953.2A Active CN103368791B (zh) | 2013-06-28 | 2013-06-28 | 一种iec104协议报文快速自动检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103368791B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055374A (zh) * | 2021-03-10 | 2021-06-29 | 湖南大学 | 一种用于iec104电力协议安全性测试的检测方法及系统 |
CN113630462A (zh) * | 2021-08-09 | 2021-11-09 | 北京城建设计发展集团股份有限公司 | 一种数据中台实现设备下控的方法与系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572440A (zh) * | 2009-02-27 | 2009-11-04 | 国电南瑞科技股份有限公司 | 电网规约分析与测试方法 |
CN102377571A (zh) * | 2011-11-15 | 2012-03-14 | 航天科工深圳(集团)有限公司 | 一种实现iec104报文传输的方法和系统 |
-
2013
- 2013-06-28 CN CN201310263953.2A patent/CN103368791B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101572440A (zh) * | 2009-02-27 | 2009-11-04 | 国电南瑞科技股份有限公司 | 电网规约分析与测试方法 |
CN102377571A (zh) * | 2011-11-15 | 2012-03-14 | 航天科工深圳(集团)有限公司 | 一种实现iec104报文传输的方法和系统 |
Non-Patent Citations (3)
Title |
---|
周鸿艳: "基于IEC60870-5-104规约的智能配电网终端设备测试方案及软件设计", 《万方数据企业知识服务平台》, 3 September 2012 (2012-09-03) * |
杨洪: "IEC60870-5传输规约的应用及试验", 《电力自动化设备》, 10 November 2007 (2007-11-10) * |
陈众,周鸿艳: "IEC60870-5-104规约在配电自动化系统的应用与测试", 《电气技术》, 15 March 2012 (2012-03-15) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113055374A (zh) * | 2021-03-10 | 2021-06-29 | 湖南大学 | 一种用于iec104电力协议安全性测试的检测方法及系统 |
CN113055374B (zh) * | 2021-03-10 | 2022-07-08 | 湖南大学 | 一种用于iec104电力协议安全性测试的检测方法及系统 |
CN113630462A (zh) * | 2021-08-09 | 2021-11-09 | 北京城建设计发展集团股份有限公司 | 一种数据中台实现设备下控的方法与系统 |
CN113630462B (zh) * | 2021-08-09 | 2022-06-03 | 北京城建设计发展集团股份有限公司 | 一种数据中台实现设备下控的方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103368791B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103220292B (zh) | 跨安全区数据传输方法和系统 | |
CN104412640B (zh) | 使用低层信令进行高层压缩 | |
CN105743757B (zh) | Rs485通讯终端自由组网的方法 | |
CN103580794B (zh) | 信道状态信息上报方法、基站和用户设备 | |
ATE409911T1 (de) | Zustandsmigration in rdma-geräten mit mehreren nic | |
WO2013127191A1 (zh) | 物联网协议转换系统及转换方法 | |
CN102263680A (zh) | 一种智能家居系统 | |
CN102624500A (zh) | Cqi上报方法、获取cqi的方法、系统、终端及基站 | |
CN107567107A (zh) | 一种传输数据的方法及装置 | |
CN102143458A (zh) | 基于无线通信网络中gsm短消息传输的多协议转换器 | |
CN102970157A (zh) | 链路故障处理方法、irf成员设备及数据通信装置 | |
CN106375401A (zh) | 一种支持多流汇聚的电力多模异构融合装置及通信方法 | |
CN102104531A (zh) | 一种报文处理装置、方法及系统 | |
Tian et al. | Substation sensing monitoring system based on power internet of things | |
CN105101471A (zh) | 数据传输方法、装置及智能设备 | |
CN103391223B (zh) | 一种iec101协议报文快速自动检测方法 | |
CN203071954U (zh) | 一种家电局域网的组网装置 | |
CN103647782A (zh) | 电梯通讯协议与电梯物联网采集通讯协议间的协议转换方法 | |
CN103634885B (zh) | 一种识别卡及其运行方法 | |
CN103368791A (zh) | 一种iec104协议报文快速自动检测方法 | |
CN110336648A (zh) | 一种基于nb-iot的数据处理装置及其方法 | |
CN110417793A (zh) | 针对逆变器的通信系统及其方法 | |
CN102497306B (zh) | 一种配网子站实现数据传输的方法和系统 | |
CN103220715B (zh) | 一种上报网络性能测试结果的方法及装置 | |
CN111862571B (zh) | 用于读取流量计的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |