一种馈线终端的通信报文监视系统及方法与流程

文档序号:24347986发布日期:2021-03-19 12:32阅读:210来源:国知局
一种馈线终端的通信报文监视系统及方法与流程

本发明涉及电力配网技术领域,具体涉及一种馈线终端的通信报文监视系统及方法。



背景技术:

馈线终端(简称ftu),具有遥控、遥测、遥信,故障检测功能,并与配电自动化主站通信,主站通信方式可采用光纤通信,通信协议为iec104,或采用串口转4g进行无线通信,通信协议为iec101;根据行业规范与用户需求,ftu需要配置独立的线损模块,线损模块与ftu主机之间通信方式采用串口通信,通信协议为iec101;为了满足时间同步需求,ftu配置有gps模块,gps模块与ftu主机之间采用串口通信,通信规约为nmea-0183。在开发、调试、运维阶段,当ftu出现采样异常、通信异常、对时异常等问题时,通过对以上所述通信报文的监视与分析,能够快速准确的定位问题,因此,对这些通信报文如实的监视记录,显得尤为重要。ftu一般采用嵌入式操作系统,并且需要监视多个端口,多种协议,因此没有可以下载直接使用的开源抓包工具。



技术实现要素:

为了方便ftu的开发调试及运维,该发明提供一种馈线终端的通信报文监视系统及方法,可监视不同端口不同协议的通信报文,在通用windows电脑上运行报文监视模块,监视报文通过蓝牙串口传输至报文监视模块,并实时显示在工具界面上,同时,报文监视模块支持保存报文,方便离线分析。

本发明采用如下的技术方案实现:

本发明的第一方面提供了一种馈线终端的通信报文监视系统,包括馈线终端ftu主机和报文监视模块;

所述ftu主机包括多个通信端口;

所述报文监视模块与ftu主机无线通信连接,按照预定周期召唤不同端口的通信报文。

进一步的,所述ftu主机包括内存队列,用于缓存通信报文。

进一步的,所述ftu主机定义内存队列的写入接口和读取接口;

当ftu主机各端口的业务模块收到或发送业务报文时,调用写入接口将报文写入缓存队列;写入位置write_pos初始为0,每成功写入一条报文,就将write_pos加1,当write_pos加到max_packet_cnt时,再从0开始;

当ftu主机收到报文监视模块的召唤报文命令后,调用读取接口,从缓存队列读取通信报文,读取接口的传入参数为缓存读取位置read_pos,read_pos初始为0,每成功上送一条报文,就将read_pos加1,当read_pos加到max_packet_cnt时,再从0开始。

进一步的,当read_pos与write_pos相等时,则所有写入缓存的报文均已上送到报文监视模块,此时向报文监视模块回复无请求数据;否则,将读取到的通信报文回复给报文监视模块。

进一步的,所述f多个通信端口包括4g串口、线损模块串口、gps串口和光纤eth口,每个端口具有相应的编号。

进一步的,报文监视模块通过切换窗口的方式监视不同端口的报文,窗口切换的同时向ftu主机发送消息,通知ftu主机记录缓存当前所选端口的报文。

进一步的,所述报文监视模块包括保存按钮,用于执行将监视到的报文保存到文件中。

本发明的第二方面提供了一种馈线终端的通信报文监视方法,采用如前所述的监视系统进行监视,包括如下步骤:

报文监视模块与ftu主机建立无线通信连接;

报文监视模块按照预定周期召唤不同端口的通信报文;

ftu主机接收到报文监视模块的召唤报文命令后,反馈通信报文。

进一步的,包括:

报文监视模块通过切换窗口的方式监视不同端口的报文,窗口切换的同时向ftu主机发送当前所选端口的编号,通知ftu主机记录缓存当前所选端口的报文;端口编号为0时不监视任何报文,为其他编号时监视对应编号端口的报文;

ftu主机默认监视端口编号为0,当收到报文监视模块的端口切换命令后,记录当前所选端口号current_com,业务模块调用写入接口时,判断传输的端口号与current_com是否一致,若一致,报文写入缓存队列,否则报文不写入缓存队列。

进一步的,还包括:报文监视模块将所有在线监视到的报文一键保存到文件中。

综上所述,本发明提供了一种馈线终端的通信报文监视系统及方法,该系统包括馈线终端ftu主机和报文监视模块;ftu主机包括多个通信端口;报文监视模块与ftu主机无线通信连接,按照预定周期召唤不同端口的通信报文。该方法包括报文监视模块与ftu主机建立无线通信连接;报文监视模块按照预定周期召唤不同端口的通信报文;ftu主机接收到报文监视模块的召唤报文命令后,反馈通信报文。本发明能够方便监视并记录各端口的通信报文,为分析定位问题提供便利,能够有效的提高开发和调试人员的工作效率和工作质量。

附图说明

图1是本发明实施例的馈线终端的通信报文监视系统的结构示意框图;

图2是本发明实施例的馈线终端的通信报文监视方法的流程示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

本发明的第一方面提供了一种馈线终端的通信报文监视系统,如图1所示,包括馈线终端ftu主机和报文监视模块;所述ftu主机包括多个通信端口;所述报文监视模块与ftu主机无线通信连接,按照预定周期召唤不同端口的通信报文。报文监视模块在windows环境的电脑上运行,不需要配备专用电脑。由于ftua安装位置在电线杆上,接线不方便,为方便工程人员,报文监视模块通过蓝牙与ftu主机的蓝牙调试串口建立无线连接。若不考虑现场接线不方便的情况,也可以采用网口进行有线通信,有线通信虽然接线不便,但相对于无线通信来说,通信过程会更加稳定可靠。因此,在厂内调试阶段,可以考虑采用有线通信的方式。

为了方便命令规约扩展,报文监视模块与ftu主机之间采用103通用分类服务通信协议,新增所需命令组号即可。在该应用中,定义了切换端口与召唤报文两个命令组。

报文监视模块与ftu主机之间的连接建立后,周期召唤监视报文。综合考虑各种报文的交互频率与处理速度,设置召唤周期为50ms,发送召唤命令后50ms且收到主机回复的报文后,开始下一轮召唤。

进一步的,所述ftu主机包括内存队列,用于缓存通信报文。现有技术中同样有监视报文的需求,在向工具发送端口报文时采用实时转发的方式,这种方式实现简单,但不可靠,当业务报文的收发频率高于报文监视模块的召唤周期时,会造成数据丢失的现象。本方案采用创建缓存队列的方式来缓存报文,可以有效解决数据丢失的问题。

ftu主机申请一块内存队列,用来缓存通信报文,定义缓存队列大小为max_packet_cnt,一帧通信报文的内存结构定义如下:

结构定义说明如下:

进一步的,所述ftu主机定义内存队列的写入接口和读取接口;写入接口有端口编号、通信报文、报文长度、报文方向4传入参数,无传出参数,无返回值。示例如下:

voidwirtepaket(intid,unsignedchar*buf,unsignedcharlen,unsignedchardir);

读取接口有队列位置1个传入参数,无传出参数,返回值为指定队列位置中的通信报文结构数据。示例如下:

tpakcet*readpaket(intindex)。

当ftu主机各端口的业务模块收到或发送业务报文时,调用写入接口将报文写入缓存队列;写入位置write_pos初始为0,每成功写入一条报文,就将write_pos加1,当write_pos加到max_packet_cnt时,再从0开始;当ftu主机收到报文监视模块的召唤报文命令后,调用读取接口,从缓存队列读取通信报文,读取接口的传入参数为缓存读取位置read_pos,read_pos初始为0,每成功上送一条报文,就将read_pos加1,当read_pos加到max_packet_cnt时,再从0开始。

进一步的,当read_pos与write_pos相等时,则所有写入缓存的报文均已上送到报文监视模块,此时向报文监视模块回复无请求数据;否则,将读取到的通信报文回复给报文监视模块。

进一步的,所述f多个通信端口包括4g串口、线损模块串口、gps串口和光纤eth口,每个端口具有相应的编号。

进一步的,报文监视模块通过切换窗口的方式监视不同端口的报文,窗口切换的同时向ftu主机发送消息,通知ftu主机记录缓存当前所选端口的报文。通知的方式是发送当前所选端口的编号。端口编号原则为:0为不监视任何报文;1为4g串口的iec101报文;2为线损模块串口的iec101报文;3为gps串口的nmea-0183报文,4为光纤eth口的iec104报文。ftu主机默认的监视端口号为0,当收到报文监视模块的端口切换命令后,记录当前所选端口号current_com,业务模块调用写入接口时,需要传输端口编号参数,例如,4g串口业务模块在调用写入接口时,传输的端口编号应为1。为了减少资源占用,在写入接口的函数处理中,会判断参数端口号与current_com是否一致,若一致,报文写入缓存队列,否则报文不写入缓存队列。

进一步的,所述报文监视模块包括保存按钮,用于执行将监视到的报文保存到文件中。所有在线监视到的报文可以一键保存到文件中。文件格式采用文本格式,不需要安装额外的软件即可打开查看。

本发明的第二方面提供了一种馈线终端的通信报文监视方法,如图2所示,采用如前所述的监视系统进行监视,包括如下步骤:

步骤s100,报文监视模块与ftu主机建立无线通信连接;

步骤s200,报文监视模块按照预定周期召唤不同端口的通信报文;

步骤s300,ftu主机接收到报文监视模块的召唤报文命令后,反馈通信报文。

进一步的,包括:

报文监视模块通过切换窗口的方式监视不同端口的报文,窗口切换的同时向ftu主机发送当前所选端口的编号,通知ftu主机记录缓存当前所选端口的报文;端口编号为0时不监视任何报文,为其他编号时监视对应编号端口的报文;

ftu主机默认监视端口编号为0,当收到报文监视模块的端口切换命令后,记录当前所选端口号current_com,业务模块调用写入接口时,判断传输的端口号与current_com是否一致,若一致,报文写入缓存队列,否则报文不写入缓存队列。

进一步的,还包括:报文监视模块将所有在线监视到的报文一键保存到文件中。

综上所述,本发明提供了一种馈线终端的通信报文监视系统及方法,该系统包括馈线终端ftu主机和报文监视模块;ftu主机包括多个通信端口;报文监视模块与ftu主机无线通信连接,按照预定周期召唤不同端口的通信报文。该方法包括报文监视模块与ftu主机建立无线通信连接;报文监视模块按照预定周期召唤不同端口的通信报文;ftu主机接收到报文监视模块的召唤报文命令后,反馈通信报文。本发明能够方便监视并记录各端口的通信报文,为分析定位问题提供便利,能够有效的提高开发和调试人员的工作效率和工作质量。

以上给出了本发明涉及具体的实施方式,但本发明不局限于所描述的实施方式。在本发明给出的思路下,采用对本领域技术人员而言容易想到的方式对上述实施例中的技术手段进行变换、替换、修改,并且起到的作用与本发明中的相应技术手段基本相同、实现的发明目的也基本相同,这样形成的技术方案是对上述实施例进行微调形成的,这种技术方案仍落入本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1