一种IEC104主站模拟系统技术方案

技术编号:31742214 阅读:14 留言:0更新日期:2022-01-05 16:20
本发明专利技术公开了一种IEC104主站模拟系统,包括报文接收模块、报文解析模块、报文模拟发送模块、通信模块和报文存储模块,报文接收模块通过通信模块接收远动机上送的IEC104报文,用相应的数据结构对报文分类存储,并能将报文送至报文解析模块进行报文解析或保存于报文存储库;报文解析模块对报文进行分类解析,并将将解析的报文中的信息值与变电站点表对应,传入报文存储库,产生主站对点表;报文模拟发送模块:构造对时、总召、遥控、遥调的IEC104报文并控制报文的发送过程;通信模块与远动机建立TCP/IP连接,实现4报文的接收和发送。本发明专利技术具备104客户端功能,能够接受并解析数据网关机、间隔层设备上送的遥测、遥信报文,以及发送遥控命令,并同时记录测试过程。并同时记录测试过程。并同时记录测试过程。

【技术实现步骤摘要】
一种IEC104主站模拟系统


[0001]本专利技术涉及IEC104主站模拟系统
,具体涉及一种IEC104主站模拟系统。

技术介绍

[0002]变电站在现场调试环节一般不必再验证二次装置逻揖、通信等功能问题,而将重点放在施工正确性的验证上,采取模拟的方式进行验证,调试人员在现场设备施加电气模拟量和开关量检查监控系统人机界面反应为主要手段,验证监控及远动系统的正确性,此方法可同时检査电气二次回路接线的正确性、光纤连接和交换机配置的正确性以及人机界面制作的正确性。
[0003]随着变电站一、二次设备智能化技术的发展,变电站监控及远动系统信号数量急剧上升。经统计一个500kV的变电站有数万个信号,信号更加细致和全面,在为分析诊断电网和设备故障提供便利的同时,也带来了信号维护工作量的成倍增长。
[0004]变电站监控系统的现场对点以及主厂站之间的远动信息联调需要现场人员、监控人员与调度人员相互配合完成。一般是现场人员对监控的量测逐一施加模拟量或者触发状态量,监控人员予以监视现场确认,并与调度人员远方确认后再进行下一个。对点调试在现场调试环节占用了较大的人力、物力和工时。据调研,变电站对点工作量占整体调试工作的30%左右,主厂站对点一般要耗时3~6星期,操作人员劳动强度大,调试效率低。此外人工验收核对带来的信息遗漏、信息错误的风险,难以保证监控系统信号的一致性和准确性,影响了对点调试质量。
[0005]采用IEC104主站模拟进行数据传送时,目前并没有现存的技术有记载。

技术实现思路
r/>[0006]本专利技术要解决的技术问题是:提供一种IEC104主站模拟系统,具备104客户端功能,能够接受并解析数据网关机、间隔层设备上送的遥测、遥信报文,以及发送遥控命令,并同时记录测试过程,以解决现有技术中存在的技术问题。
[0007]本专利技术采取的技术方案为:一种IEC104主站模拟系统,包括报文接收模块、报文解析模块、报文模拟发送模块、通信模块、报文存储模块和人机交互界面;
[0008]报文接收模块:通过通信模块接收远动机上送的IEC104报文,并用相应的数据结构对报文分类存储,并能将IEC104报文送至报文解析模块进行报文解析,或将原始报文保存于IEC104报文存储库中;
[0009]报文解析模块:对IEC104报文进行分类解析,通过人机交互界面显示出原始报文和对于每一原始报文每一字节代表的报文含义,最终能将解析的IEC104报文中的信息值与变电站点表对应,传入IEC104报文存储库,产生主站对点表;
[0010]报文模拟发送模块:构造对时、总召、遥控、遥调的IEC104报文并控制报文的发送过程;
[0011]报文存储模块:对原始IEC104报文、解析后的IEC104报文进行实时存储,按照历史
报文的类型和时间方式进行分类、查找、比较、分析,并能产生主站对点表;
[0012]通信模块:与远动机建立TCP/IP连接,实现IEC104报文的接收和发送;
[0013]人机交互界面:提供人机交互界面,对各个模块功能的集中展示,测试人员能够通过交互界面,读取收发的报文信息,以及报文解析的内容,通过调用IEC104存储库查找历史报文。
[0014]报文接收模块采用模拟IEC104主站报文接收的方式实现,其实现方法为:模拟IEC104主站作为客户端,远动机作为服务器进行网络通信,实现模拟IEC104主站与远动机之间的IEC104报文的接收和发送;依托QT平台实现网络编程,QT提供了QTCPSocket和QTCPServer两个类,分别用于实现TCP的客户端和服务器端;模拟IEC104主站作为客户端进行网络通信实现过程如下:首先,使用QTCPSocket类创建相应的实例对象;其次,进行网络端口和IP地址配置,IEC104规定的端口号为2404;调用QTCPSocket类对象调用connectToHost()函数连接服务器;Connect()函数将信号与槽关联;最后QTCPSocket类对象调用closeConnection()函数关闭TCP连接;TCP连接成功,QTCPSocket对象发出conneted()信号;若连接失败,QTCPSocket对象发出error()信号;客户端接收到数据时,QTCPSocket对象发出readyRead()信号;当连接过程中出现错误时,QTCPSocket对象发出disconnected()信号,成功后,connected/error信号对应的槽函数中添加相应的功能,实现TCP连接;
[0015]客户端与服务器连接成功后,当接收到数据时自定义槽函数onTcpReady()收到QTCPSocket对象发出的readyRead()信号,在onTcpReady()函数中调用QIODevice类的write(),read()函数与服务器进行读写数据,读写数据采用数据类型为quint64。
[0016]IEC104报文解析模块的实现方法为:首先,当IEC104模拟主站作为客户端接收到远动机上送的IEC104报文时,readyReady()信号发出,自定义的槽onTcpReady()接收信号;此时在函数onTcpReady()中将远动机上送IEC104报文存入自定义的结构体IEC_APDU中;然后,针对IEC104对应的不同格式帧进行分类,对不同的格式帧调用不同的解析函数,最终完成解析。
[0017]IEC104报文中U帧、S帧格式和I帧格式的数据单元在设计结构体IEC_APDU对IEC104报文进行存储时,采用了联合体的思想,使得不同类型的数据帧都能被存储入结构体中,即通过对报文报头,APDU长度过滤除IEC104外的其他数据帧,将IEC104数据帧存储于结构体IEC_APDU中,具体方法为:TCP连接成功后定义结构体IEC_APDU对象,利用QTcp Socket中read()函数将IEC104数据帧,逐一存入IEC_APDU中,首先将报文头存入APDU.start中判断是否0x68,如果是继续报文第二字节存入APDU,如果不是则返回进行继续新一轮的读取报文,报文第二个字节存入APDU.Length中,判断长度是否小于4,若小于4则返回继续新一轮报报文读取,否则IEC104报文剩余数据帧读入IEC_APDU中。
[0018]针对I帧的ASDU的信息体结构和内容,在报文解析实现过程中,对不同类型的ASDU的信息元素通过不同的结构体对其分别定义,如单点信息的信息元素用结构体IEC_TYPE1定义、双点遥信的信息元素用IEC_TYPE3定义、步位信息的信息元素用IEC_TYPE5定义;定义的IEC104报文存储结构体IEC_APDU中的变量start、length、NS、NR按照APDU中APCI的组成顺序依次对应报头、ASDU长度、发序、收序;IEC_APDU中的数据类型IEC_ASDU为本专利技术定义的ASDU数据单元标识部分;IEC_APDU的联合体SQL部分对应I帧ASDU的信息体部分;结构体
IEC_APDU本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种IEC104主站模拟系统,其特征在于:包括报文接收模块、报文解析模块、报文模拟发送模块、通信模块、报文存储模块和人机交互界面;报文接收模块:通过通信模块接收远动机上送的IEC104报文,并用相应的数据结构对报文分类存储,并能将IEC104报文送至报文解析模块进行报文解析,或将原始报文保存于IEC104报文存储库中;报文解析模块:对IEC104报文进行分类解析,通过人机交互界面显示出原始报文和对于每一原始报文每一字节代表的报文含义,最终能将解析的IEC104报文中的信息值与变电站点表对应,传入IEC104报文存储库,产生主站对点表;报文模拟发送模块:构造对时、总召、遥控、遥调的IEC104报文并控制报文的发送过程;报文存储模块:对原始IEC104报文、解析后的IEC104报文进行实时存储,按照历史报文的类型和时间方式进行分类、查找、比较、分析,并能产生主站对点表;通信模块:与远动机建立TCP/IP连接,实现IEC104报文的接收和发送;人机交互界面:提供人机交互界面,对各个模块功能的集中展示,测试人员能够通过交互界面,读取收发的报文信息,以及报文解析的内容,通过调用IEC104存储库查找历史报文。2.根据权利要求1所述的一种IEC104主站模拟系统,其特征在于:报文接收模块采用 模拟IEC104主站报文接收的方式实现,其实现方法为:模拟IEC104主站作为客户端,远动机作为服务器进行网络通信,实现模拟IEC104主站与远动机之间的IEC104报文的接收和发送;依托QT平台实现网络编程,QT提供了QTCPSocket和QTCPServer两个类,分别用于实现TCP的客户端和服务器端;模拟IEC104主站作为客户端进行网络通信实现过程如下:首先,使用QTCPSocket类创建相应的实例对象;其次,进行网络端口和IP地址配置,IEC104规定的端口号为2404;调用QTCPSocket类对象调用connectToHost()函数连接服务器;Connect()函数将信号与槽关联;最后QTCPSocket类对象调用closeConnection()函数关闭TCP连接;TCP连接成功,QTCPSocket对象发出conneted()信号;若连接失败,QTCPSocket对象发出error()信号;客户端接收到数据时,QTCPSocket对象发出readyRead()信号;当连接过程中出现错误时,QTCPSocket对象发出disconnected()信号,成功后,connected/error信号对应的槽函数中添加相应的功能,实现TCP连接;客户端与服务器连接成功后,当接收到数据时自定义槽函数onTcpReady()收到QTCPSocket对象发出的readyRead()信号,在onTcpReady()函数中调用QIODevice类的write(),read()函数与服务器进行读写数据,读写数据采用数据类型为quint64。3.根据权利要求2所述的一种IEC104主站模拟系统的联调方法,其特征在于:IEC104报文解析模块的实现方法为:首先,当IEC104模拟主站作为客户端接收到远动机上送的IEC104报文时,readyReady()信号发出,自定义的槽onTcpReady()接收信号;此时在函数onTcpReady()中将远动机上送IEC104报文存入自定义的结构体IEC_APDU中;然后,针对IEC104对应的不同格式帧进行分类,对不同的格式帧调用不同的解析函数,最终完成解析。4.根据权利要求3所述的一种主厂站远动信息自动联调方法,其特征在于:IEC104报文中U帧、S帧格式和I帧格式的数据单元在设计结构体IEC_APDU对IEC104报文进行存储时,采用了联合体的思想,使得不同类型的数据帧都能被存储入结构体中,即通过对报文报头,APDU长度过滤除IEC104 外的其他数据帧,将IEC104数据帧存储于结构体IEC_APDU中,具体
方法为:TCP连接成功后定义结构体IEC_APDU对象,利用QTcp Socket中read()函数将IEC104数据帧,逐一存入IEC_APDU中,首先将报文头存入APDU.start中判断是否0x68,如果是继续报文第二字节存入APDU,如果不是则返回进行继续新一轮的读取报文,报文第二个字节存入APDU.Length中,判断长度是否小于4,若小于4则返回继续新一轮报报文读取,否则IEC104报文剩余数据帧读入IEC_APDU中。5.根据权利要求4所述的一种主厂站远动信息自动联调方法,其特征在于:针对I帧的ASDU的信息体结构和内容,在报文解析实现过程中,对不同类型的ASDU的信息元素通过不同的结构体对其分别定义,如单点信息的信息元素用结构体IEC_TYPE1定义、双点遥信的信息元素用IEC_TYPE3定...

【专利技术属性】
技术研发人员:王宇辛明勇徐长宝高吉普林呈辉祝健杨张承模胡星吕黔苏文屹徐玉韬张历张俊杰刘斌李鑫卓古庭赟孟令雯代奇迹陈敦辉李博文唐赛秋冯起辉
申请(专利权)人:贵州电网有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利