CN110166378B - 一种用于配网终端调试维护的通信系统及方法 - Google Patents

一种用于配网终端调试维护的通信系统及方法 Download PDF

Info

Publication number
CN110166378B
CN110166378B CN201910272451.3A CN201910272451A CN110166378B CN 110166378 B CN110166378 B CN 110166378B CN 201910272451 A CN201910272451 A CN 201910272451A CN 110166378 B CN110166378 B CN 110166378B
Authority
CN
China
Prior art keywords
frame
data
receiving
frames
asynchronous
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.)
Active
Application number
CN201910272451.3A
Other languages
English (en)
Other versions
CN110166378A (zh
Inventor
李春风
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Ole Distribution Network Automation Co ltd
Original Assignee
Zhuhai Ole Distribution Network Automation Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Ole Distribution Network Automation Co ltd filed Critical Zhuhai Ole Distribution Network Automation Co ltd
Priority to CN201910272451.3A priority Critical patent/CN110166378B/zh
Publication of CN110166378A publication Critical patent/CN110166378A/zh
Application granted granted Critical
Publication of CN110166378B publication Critical patent/CN110166378B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/6215Individual queue per QOS, rate or priority

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及一种用于配网终端调试维护的通信系统及方法,解决发送/确认,发送/无回答和请求/响应三种交互机制之间的无缝转换问题;同时在异步通信过程中加入了优先级识别标志,以实现配网对数据响应优先级的需求。本发明的有益效果为:通用性好;同异步通信状态实时切换;异步通信具有帧优先级标识。框架支持多个帧优先等级,根据开发人员所设置的帧优先级排序依次发送,而不需要开发人员自行插帧,显著降低了开发的工作量。

Description

一种用于配网终端调试维护的通信系统及方法
技术领域
本发明涉及一种用于配网终端调试维护的通信系统及方法,属于电力及计算机领域。
背景技术
近年来,配网终端不断地向小型化,智能化与网络化发展。由于现在的配网终端所包含的数据量和配置量逐渐增多,为了保证良好的人机交互体验与生产调试效率,通常会为其开发一套配套的上位机维护工具与其通讯,让使用者能够在PC机上查看终端数据或者配置参数。
而配网终端在通讯方面具有以下几个特点:
1.接口多样,常用的通讯接口有以太网,串口,CAN等等。
2.协议丰富,常用的通信协议有IEC101,IEC104,Modbus,或在此基础上扩展出的自定义协议。
3.多种交互机制同时存在,上位机与配网终端的通讯过程需要同时支持三种交互机制,分别为:a.发送/确认,该类报文在发出后必须等待终端的确认(肯定或否定),才能进行下一步的动作。用于上位机向终端设置参数或发送遥控命令;b.发送/无回答,该类报文在发出后,终端无需回复。用于对多台终端的批量对时或者参数恢复;c.请求/响应,该类报文主要用于采集终端的实时数据,因此这类报文会被频繁发送。
4.对数据响应有优先级要求,根据常规要求,优先级由高至低依次为:遥控>设参数>对时>读参数>总召>遥信>遥测。
目前,还没有针对这些特点的统一性框架解决方案,面对种类繁多的配网终端,上位机必须根据每一款终端的通讯特点单独开发通讯模块,导致开发工作繁多,后期维护也困难,同时通信效率也无法保证。
发明内容
本发明提供了解决发送/确认,发送/无回答和请求/响应三种交互机制之间的无缝转换问题;同时在异步通信过程中加入了优先级识别标志,以实现配网对数据响应优先级的需求。
本发明的技术方案包括一种用于配网终端调试维护的通信系统,其特征在于,该系统包括:异步帧优先级排序模块,用于接收客户端传入的带优先级标识的数据帧,并将所述数据帧进行排序并送入发送缓冲队列;异步发送模块,用于将已排序的数据帧从发送缓冲队列中取出,并通过信道发送至终端;异步接收解析模块,用于将终端返回的数据帧按照协议规则从缓冲区中取出后,将数据交予客户端进行解包与解析操作;同步收发模块,用于从客户端接收数据帧,同时暂停异步发送模块的运行,进一步,将数据帧发出并等待终端应答数据,确定数据接收完毕后,将应答帧返回给客户端。
根据所述的用于配网终端调试维护的通信系统,其中异步帧优先级排序模块具体包括:数组指针,用于指向各种优先级别帧地址;高优先级别队列,用于存放数组指针;缓冲区,用于将数组指针指向的数组进行压入及发送。
根据所述的用于配网终端调试维护的通信系统,其中异步发送模块具体包括:帧说明接口,用于规定帧头、帧尾标志字、帧长度位置、帧最大长度和最小长度;帧提取器接口,用于从接收缓冲区中将字节流按帧取出,并将按帧取出的字节流发送至终端的通道组件。
根据所述的用于配网终端调试维护的通信系统,其中异步接收解析模块具体包括:用于接收数据帧的通道组件,存放数据帧的环形接收队列,从环形接收队列按帧提取数据的提取器接口,以及实现数据解析的数据处理器接口。
根据所述的用于配网终端调试维护的通信系统,其中同步数据收发模块具体包括:用于发送数据请求帧和接收返回应答帧的通道组件,以及用于存放接收数据帧的同步接收缓冲区。
本发明的技术方案还包括一种用于配网终端调试维护的通信方法,其特征在于,该方法包括:S10,接收客户端传入数据帧,若是带有优先级标识的数据帧,则调用异步发送函数;S20,进入帧优先级排序线程,根据帧优先级参数,将数据帧依次压入发送缓冲区;S30,进入异步收发线程,将已经排序好的多条发送帧组成的字节流按帧取出后通过通道组件发送至终端;S40,接收客户端传入数据帧,若数据帧不带有优先级标识,则客户端启动同步收发过程;S50,挂起异步收发线程;S60,发送数据并等待返回数据帧。
根据权所述的用于配网终端调试维护的通信方法,其中S10具体包括:客户端调用框架API函数根据帧优先级参数,将数组指针放入相应的优先级队列。
根据权所述的用于配网终端调试维护的通信方法,其中S20具体包括:帧排序线程依次循环检查每一个优先级队列,优先将较高优先级队列中的数组指针取出,将其所指向的数组压入发送缓冲区,取完后则转入较低优先级的队列重复此过程,直到所有队列中的数据指针全部处理完毕。
根据权所述的用于配网终端调试维护的通信方法,其中S30具体包括:从接收缓冲区中将数据帧取出,压入异步发送队列,检查异步发送队列是否为空,若有数据帧,则提取并发送数据帧。
根据权所述的用于配网终端调试维护的通信方法,其中S40具体包括:客户端通过调用框架API函数来启动同步收发过程。
根据权所述的用于配网终端调试维护的通信方法,其中S50具体包括:挂起异步收发线程,直至同步接收完成或超时则恢复异步收发线程。
根据权所述的用于配网终端调试维护的通信方法,其中S60具体包括:将数据请求帧通过通道组件发出,并开启数据等待模式,同时在设定时间内循环扫描通道组件的接收区,检测到通道接收区中有字节流,则移至同步接收缓冲区中;如果没有在收到任何数据,即判定为接收超时。
本发明的有益效果为:
(1)通用性好。能够适用于以太网,串口,CAN等多种通讯接口以及所有的通信协议,适用于绝大多数的配网终端。
(2)同异步通信状态实时切换。为避免通讯等待,框架默认工作在异步通信模式,开发人员调用同步通信API后,框架会即刻切换至同步通信模式,完成同步通信的过程后,自动恢复异步通信模式。
(3)异步通信具有帧优先级标识。框架支持多个帧优先等级,根据开发人员所设置的帧优先级排序依次发送,而不需要开发人员自行插帧,显著降低了开发的工作量。
附图说明
图1所示为根据本发明实施方式的方法总体流程图;
图2所示为根据本发明实施方式的框架方法总体流程图;
图3所示为根据本发明实施方式的帧优先级排序线程图;
图4所示为根据本发明实施方式的异步数据收发线程图;
图5所示为根据本发明实施方式的同步帧发送流程图;
图6所示为根据本发明实施方式的总体框架结构图。
具体实施方式
本发明的技术方案提供了一种用于配网终端调试维护的通信系统及方法,结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。
图1所示为根据本发明实施方式的方法总体流程图。该流程包括:S10,接收客户端传入数据帧,若数据帧需要按优先级发送,则调用异步发送函数;S20,进入帧优先级排序线程,根据帧优先级参数,将数据帧依次压入发送缓冲区;S30,进入异步收发线程,将已经排序好的多条发送帧组成的字节流按帧取出后通过通道组件发送至终端;S40,客户端通过调用同步收发函数发送数据帧,启动同步收发过程,同步数据帧不需要带优先级标识;S50,挂起异步收发线程;S60,发送数据并等待返回数据帧。
图2所示为根据本发明实施方式的框架方法总体流程图。接收客户端传入的带优先级标识的数据帧,并将其排序后送入发送缓冲队列;将已排序的数据帧从发送缓冲队列中取出,并通过信道(Channel)发送出至终端;负责将终端返回的数据帧按照协议规则(Protocol)从缓冲区中取出后,将数据交予客户端进行解包与解析操作;从客户端接收数据帧,同时暂停异步发送模块的运行。然后将数据帧发出并等待终端应答数据,确定数据接收完毕后,将应答帧返回给客户端。
图3所示为根据本发明实施方式的帧优先级排序线程图。具体包括:异步发送帧排序:在框架内部开辟若干个队列,分别用来存放各种优先级帧的数组指针。客户端调用框架API函数:public void BeginSend(byte[]frame,FramePriority priority)时,函数内部根据帧优先级参数(priority),将数组指针(frame)放入响应的优先级队列。于此同时,帧排序线程会依次循环检查每一个优先级队列,优先将较高优先级队列中的数组指针取出,将其所指向的数组压入发送缓冲区,取完后则转入较低优先级的队列重复此过程,直到所有队列中的数据指针全部处理完毕。
图4所示为根据本发明实施方式的异步数据收发线程图。具体包括:框架中的协议(Protocol)组件开放了两个接口,分别为帧提取器(IFrameExtrater)和帧说明(IFrameSpecification)。IFrameSpecification用于规定帧头、帧尾标志字,帧长度位置,以及帧的最大长度和最小长度。IFrameExtrater则能够根据帧说明(IFrameSpecificacion)从接收缓冲区中将字节流按帧取出。异步发送线程通过调用已经具体实现的提取器接口,将已经排序好的多条发送帧组成的字节流按帧取出后通过通道(Channel)组件发送至终端。
在实际应用过程中,即便客户端使用两个线程同时发送遥信和遥测读取帧,只要在发送时将遥信帧设置为较高优先级,通过这种帧排序方式,会使得遥信帧优先发送,从而让终端优先响应遥信数据。
异步接收并解析数据:首先,异步接收线程将通道(Channel)组件中数据接收区的字节流读取至自身的环形接收队列中。然后调用已经具体实现的提取器接口,环形接收队列中的字节流按帧取出。数据解析是维护工具最重要且最多变的环节,因此框架为客户端开放了数据处理器接口(IDataProcessor),客户端可以通过该接口来实现数据解析的具体细节。异步接收线程回将所接收的字节流按帧传给已经具体实现的数据处理器,以完成数据的解析工作。
异步接收会经常出现连帧或断帧的情况,通过这种将接收字节流组合再提取的方式,以保证传入数据处理器中帧的正确性,避免数据处理异常。
图5所示为根据本发明实施方式的同步帧发送流程图。同步数据收发:客户端通过调用框架API函数:public bool RequestWaitForResponse(byte[]requestFrame,outbyte[]responseFrame,int timeoutMilliseconds)来启动同步收发过程。同步发送启动后会挂起异步收发的线程,直至同步接收完成。随后,将数据请求帧通过通道(Channel)组件发出,并开启数据等待模式,同时以10ms为周期循环扫描通道(Channel)组件的接收区,一旦检测到通道接收区中有字节流,即进入数据接收模式。如果没有在设定时间(timeoutMilliseconds)收到任何数据,即判定为接收超时,退出同步接收模式并恢复异步收发。在数据接收模式下,会将每次在通道接收区检测到的字节流转移至同步接收缓冲区中,如某次检测没有数据,则完成数据接收返回数据帧(responseFrame)。
由于同步收发会挂起异步收发,因此可以认为同步发送的帧的优先级是高于异步发送的。因此在实际应用过程中,遥控、设参这类需要终端及时应答成功与否的指令,可定义为同步帧,以解决在实时数据过多的情况下命令响应延时的问题。
图6所示为根据本发明实施方式的总体框架结构图。用于对图2-4中的所有流程进行综合,其中的帧优先级排序线程及异步数据发送线程表示图2及图3。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (2)

1.一种用于配网终端调试维护的通信系统,其特征在于,该系统包括:
异步帧优先级排序模块,用于接收客户端传入的带优先级标识的数据帧,并将所述数据帧进行排序并送入发送缓冲队列;
异步发送模块,用于将已排序的数据帧从发送缓冲队列中取出,并通过信道发送至终端;
异步接收解析模块,用于将终端返回的数据帧按照协议规则从缓冲区中取出后,将数据交予客户端进行解包与解析操作;
同步收发模块,用于从客户端接收数据帧,同时暂停异步发送模块的运行,进一步,将数据帧发出并等待终端应答数据,确定数据接收完毕后,将应答帧返回给客户端;
其中,所述异步发送模块具体包括:
帧说明接口,用于规定帧头、帧尾标志字、帧长度位置、帧最大长度和最小长度;
帧提取器接口,用于从接收缓冲区中将字节流按帧取出,并将按帧取出的字节流发送至终端的通道组件;其中,所述字节流由已经排序好的多条发送帧组成;
所述异步帧优先级排序模块具体包括:
数组指针,用于指向各种优先级别帧地址;
高优先级别队列,用于存放数组指针;
缓冲区,用于将数组指针指向的数组进行压入及发送;
所述异步接收解析模块具体包括:
用于接收数据帧的通道组件,存放数据帧的环形接收队列,从环形接收队列按帧提取数据的提取器接口,以及实现数据解析的数据处理器接口;
所述同步收发模块具体包括:
用于发送数据请求帧和接收返回应答帧的通道组件,以及用于存放接收数据帧的同步接收缓冲区。
2.一种用于配网终端调试维护的通信方法,其特征在于,该方法包括:
S10,接收客户端传入数据帧,若数据帧需要按优先级发送,则调用异步发送函数;
S20,进入帧优先级排序线程,根据帧优先级参数,将数据帧依次压入发送缓冲区;
S30,进入异步收发线程,将已经排序好的多条发送帧组成的字节流按帧取出后通过通道组件发送至终端;
S40,客户端通过调用同步收发函数发送数据帧,启动同步收发过程,同步数据帧不需要带优先级标识;
S50,挂起异步收发线程;
S60,发送数据并等待返回数据帧;
所述S10具体包括:
客户端调用框架API函数根据帧优先级参数,将数组指针放入相应的优先级队列;
所述S20具体包括:
帧排序线程依次循环检查每一个优先级队列,优先将较高优先级队列中的数组指针取出,将其所指向的数组压入发送缓冲区,取完后则转入较低优先级的队列重复此过程,直到所有队列中的数据指针全部处理完毕;
所述S30具体包括:
从接收缓冲区中将数据帧取出,压入异步发送队列,检查异步发送队列是否为空,若有数据帧,则提取并发送数据帧;
所述S40具体包括:
客户端通过调用框架API函数来启动同步收发过程;
所述S50具体包括:
挂起异步收发线程,直至同步接收完成或超时则恢复异步收发线程;
所述S60具体包括:
将数据请求帧通过通道组件发出,并开启数据等待模式,同时在设定时间内循环扫描通道组件的接收区,检测到通道接收区中有字节流,则移至同步接收缓冲区中;如果没有在收到任何数据,即判定为接收超时。
CN201910272451.3A 2019-04-04 2019-04-04 一种用于配网终端调试维护的通信系统及方法 Active CN110166378B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910272451.3A CN110166378B (zh) 2019-04-04 2019-04-04 一种用于配网终端调试维护的通信系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910272451.3A CN110166378B (zh) 2019-04-04 2019-04-04 一种用于配网终端调试维护的通信系统及方法

Publications (2)

Publication Number Publication Date
CN110166378A CN110166378A (zh) 2019-08-23
CN110166378B true CN110166378B (zh) 2023-06-16

Family

ID=67639051

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910272451.3A Active CN110166378B (zh) 2019-04-04 2019-04-04 一种用于配网终端调试维护的通信系统及方法

Country Status (1)

Country Link
CN (1) CN110166378B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124980B (zh) * 2019-11-29 2021-04-02 北京自动化控制设备研究所 一种基于分布式大气传感器异步串行通讯系统
CN112087052A (zh) * 2020-08-13 2020-12-15 天津清源华越科技有限公司 一种智能配电终端
CN112511587B (zh) * 2020-10-23 2024-02-09 许继集团有限公司 一种电力配网差动业务的通信数据处理方法及装置
CN115542867B (zh) * 2022-11-30 2023-03-10 广东电网有限责任公司中山供电局 一种带电作业的流程管理方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043981A (en) * 1990-05-29 1991-08-27 Advanced Micro Devices, Inc. Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO
US6032211A (en) * 1998-06-17 2000-02-29 Advanced Micro Devices, Inc. Method of mode control in a bus optimized for personal computer data traffic
CN101394334A (zh) * 2007-09-19 2009-03-25 北京中电华大电子设计有限责任公司 一种用于无线局域网的数据包调度发送装置
CN101707629A (zh) * 2009-11-13 2010-05-12 国网电力科学研究院 电网安全稳定控制装置信息自组织的镜像同步通信方法
CN102546808A (zh) * 2012-01-17 2012-07-04 深圳天源迪科信息技术股份有限公司 服务端基于tcp的交互处理方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043981A (en) * 1990-05-29 1991-08-27 Advanced Micro Devices, Inc. Method of and system for transferring multiple priority queues into multiple logical FIFOs using a single physical FIFO
US6032211A (en) * 1998-06-17 2000-02-29 Advanced Micro Devices, Inc. Method of mode control in a bus optimized for personal computer data traffic
CN101394334A (zh) * 2007-09-19 2009-03-25 北京中电华大电子设计有限责任公司 一种用于无线局域网的数据包调度发送装置
CN101707629A (zh) * 2009-11-13 2010-05-12 国网电力科学研究院 电网安全稳定控制装置信息自组织的镜像同步通信方法
CN102546808A (zh) * 2012-01-17 2012-07-04 深圳天源迪科信息技术股份有限公司 服务端基于tcp的交互处理方法

Also Published As

Publication number Publication date
CN110166378A (zh) 2019-08-23

Similar Documents

Publication Publication Date Title
CN110166378B (zh) 一种用于配网终端调试维护的通信系统及方法
CN101047615B (zh) 一种以太网数据流量控制方法
CN104660627B (zh) 一种上位机与下位机的通信方法和系统
WO2013182128A1 (zh) 业务处理方法及装置
CN102111419A (zh) 一种基于消息中间件的客户端自动重连方法
CN109062847A (zh) 片上系统、用于rs485串口通讯的ip核及其控制方法
CN114356829B (zh) 一种基于串口收发的协议自适应识别、跨平台、标准化的系统
CN101052031B (zh) 苹果计算机与无线通讯终端进行数据交互的方法
CN1960276B (zh) 远程控制系统及方法
CN112000446A (zh) 一种数据传输的方法及机器人
CN109445806B (zh) 基于Ble的多设备升级方法、装置、系统及终端
CN109328449A (zh) RTEX-EtherCAT协议转换装置及工业控制系统
CN111008169B (zh) 一种低成本高速通信总线及其传输控制方法
CN101404656A (zh) 一种与第三方智能设备协议通讯的软件接口设计方法
CN109756503B (zh) 一种消防机器人的通讯协议设计方法
CN114513383B (zh) 基于原始套接字的实时以太网现场总线数据包处理方法
CN110096002A (zh) 一种基于canfd总线的自动化测试系统及测试方法
CN210274135U (zh) 一种远程连接系统
CN212541321U (zh) 血液细胞分析仪及其控制系统
CN110536467B (zh) ZigBee网络化工业控制系统通信调度方法及其协调器
CN113918640A (zh) 一种基于异步模式的etl流程执行方法
CN112511636A (zh) 数据传输系统、方法、装置、计算机设备及存储介质
CN113672545B (zh) 双处理器间电力数据的传输方法和装置
CN113595933B (zh) 一种基于mqtt通信协议的串口复用方法和装置
CN117112237B (zh) 基于纯实物多路并发的实时数据采集方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 519000, Floors 101-1 and 2-4, Building 8, No. 81 Dingye Road, Tangjiawan Town, High tech Zone, Zhuhai City, Guangdong Province

Patentee after: ZHUHAI OLE DISTRIBUTION NETWORK AUTOMATION CO.,LTD.

Address before: Building 5, No. 88 Keji 9th Road, High tech Zone, Zhuhai City, Guangdong Province, 519000

Patentee before: ZHUHAI OLE DISTRIBUTION NETWORK AUTOMATION CO.,LTD.