CN102546637A - 一种通讯终端及其实现通讯协议的方法 - Google Patents
一种通讯终端及其实现通讯协议的方法 Download PDFInfo
- Publication number
- CN102546637A CN102546637A CN201210008090XA CN201210008090A CN102546637A CN 102546637 A CN102546637 A CN 102546637A CN 201210008090X A CN201210008090X A CN 201210008090XA CN 201210008090 A CN201210008090 A CN 201210008090A CN 102546637 A CN102546637 A CN 102546637A
- Authority
- CN
- China
- Prior art keywords
- communication
- unit
- frame
- data
- external control
- 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
- Communication Control (AREA)
Abstract
本发明公开一种通讯终端及其实现通讯协议的方法,通讯终端与用于监控所述通讯终端的外部控制站建立异步通讯连接,通讯终端包括相互独立的通讯模块和协议模块,所述通讯模块包括通讯管理单元、数据帧的数据通知单元以及数据发送单元,所述协议模块包括外部交互单元和内部处理单元。通过将通讯终端划分为相互独立的通讯模块和协议模块,并实现该通讯终端与外部控制站建立异步通讯连接,可有效提高程序代码的复用性、可阅读性以及可测试性;且在产品研发期间可节约资源,提高研发人员的开发效率。
Description
技术领域
本发明涉及电力通讯设备,尤其涉及一种通讯终端及其实现通讯协议的方法。
背景技术
在研发电力监控设备的时候,例如配变监测终端、配网DTU等等,经常会遇到这样的情况,需要支持多种通讯协议和多种通讯方式,在实现这些需求时,现有技术方案主要有以下2种:
1. 通讯与协议紧密结合,一种通讯方式,例如串口、TCP、UDP等)等和一种通讯协议,例如IEC60870-5-101协议、IEC60870-5-104协议等等,将这种通讯方式和通讯协议的代码绑定在一起,这种情况多出现在对单片机直接编程中。
2. 以协议为主,封装通讯接口,将多种通讯方式封装成统一接口,提供给通讯协议模块来调用,代码实现遵循通讯协议流程。
上述两种方案,在研发新的电力监控设备时,利用现有技术实现产品,可重复利用率不高,特别对于实现新出现的通讯协议时,绝大部分功能代码需要重新编写,对研发周期也造成了影响,而在重新开发的产品中,如果通讯协议差别比较大,会导致方案与已有产品方案不一致,也需要花费更多的时间在测试工作上。因此,迫切需要提供一种在开发通讯相关的项目时,以相同的方案去实现所有的通讯协议。
发明内容
本发明要解决的技术问题在于,针对现有技术利用率不高和成本高的缺陷,提供一种通讯终端及其实现通讯协议的方法,该技术方案可有效提高程序代码的复用性、可阅读性以及可测试性;且在产品研发期间可节约资源,提高研发人员的开发效率。
本发明解决其技术问题所采用的技术方案是:构造一种通讯终端,所述通讯终端与用于监控所述通讯终端的外部控制站建立异步通讯连接,所述通讯终端包括相互独立的通讯模块和协议模块,所述通讯模块包括通讯管理单元、数据通知单元以及数据发送单元,所述协议模块包括外部交互单元和内部处理单元,其中,
通讯管理单元,用于主动建立通讯链路、被动响应建立通讯链路以及主动断开通讯链路;
数据通知单元,用于在通讯链路断开时将断开连接信息通知外部交互单元,并保存外部控制站所发送的数据帧。
数据发送单元,用于根据协议要求将外部交互单元所保存的回应帧发送至外部控制站;
外部交互单元,用于响应外部连接请求、主动请求建立连接、响应连接断开、主动断开连接、协议帧编解码以及协议请求响应处理;
内部处理单元,用于在所述通讯终端内部处理协议相关数据及对协议帧进行编解码。
在本发明所述的通讯终端中,所述外部控制站与所述通讯终端建立的异步通讯方式包括串口、TCP以及UDP。
在本发明所述的通讯终端中,所述协议模块的具体表现形式包括IEC60870-5-101协议和IEC60870-5-104协议。
本发明还构造一种通讯终端实现通讯协议的方法,所述通讯终端为上述权利要求任一项所述的通讯终端,所述方法包括主动建立通讯链路流程、被动响应建立通讯链路流程以及主动断开通讯链路流程,其中,
主动建立通讯链路流程具体包括以下步骤:
A1.初始化对应外部控制站的连接状态参数,并将数据发送至通讯管理单元;
B1.通讯管理单元接收到该数据后,主动与外部控制站建立通讯连接;
C1.在建立通讯连接后修改对应的连接状态参数,并创建数据接收缓冲区;
被动响应建立通讯链路流程具体包括以下步骤:
A2.外部控制站主动与通讯管理单元建立通讯连接;
B2.通讯管理单元保存连接状态参数,并创建数据接收缓冲区,以将数据发送至外部交互单元;
C2.外部交互单元接收到该数据后,初始化对应外部控制站的连接状态参数;
主动断开通讯链路流程具体包括以下步骤:
A3.清除外部交互单元对应的连接状态参数,并将主动断开信息发送至通讯管理单元;
B3.通讯管理单元接收到主动断开信息后,关闭对应的连接,并清除对应的连接参数和数据接收缓冲区。
在本发明所述的方法中,所述方法还包括被动断开通讯链路流程,其具体包括以下步骤:
A4.通讯管理单元或数据通知单元发现连接断开时,清除对应的连接状态参数和数据接收缓冲区,并将被动断开信息发送至外部交互单元;
B4.外部交互单元接收到该被动响应断开信息后删除对应的连接状态参数。
在本发明所述的方法中,所述方法还包括被动响应数据通讯流程,其具体包括以下步骤:
A5.外部控制站将数据帧发送至通讯管理单元,并在接收该数据帧后将其保存至与之对应连接的数据接收缓冲区;
B5.通过调用协议模块所提供的回调函数截取一个完整的数据帧,并将该数据帧保存到公共缓冲区,以经由外部交互单元从公共缓冲区提取该数据帧;
C5.外部交互单元对该数据帧进行协议编解码;
D5.判断是否需要回应该数据帧,若是,则执行步骤E5,若否,则步骤结束;
E5.生成回应帧,并将其保持至公共缓冲区,以经由数据发送单元从公共缓冲区提取该回应帧;
F5.将该回应帧发送至对应的外部控制站。
在本发明所述的方法中,所述方法还包括主动建立数据通讯流程,其具体包括以下步骤:
A6.生成回应帧,并将其保存到公共缓冲区,以经由数据发送单元从公共缓冲区提取回应帧;
B6.根据用户需要将该回应帧发送至指定的外部控制站或者通过广播或组播方式发送至多个外部控制站。
实施本发明的技术方案,具有以下有益效果:通过将通讯终端划分为相互独立的通讯模块和协议模块,并实现该通讯终端与外部控制站建立异步通讯连接,可有效提高程序代码的复用性、可阅读性以及可测试性;且在产品研发期间可节约资源,提高研发人员的开发效率。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明通讯终端的结构示意图;
图2是本发明通讯终端实现通讯协议的方法实施例一的流程图;
图3是本发明通讯终端实现通讯协议的方法实施例二的流程图;
图4是本发明通讯终端实现通讯协议的方法实施例三的流程图;
图5是本发明通讯终端实现通讯协议的方法实施例四的流程图;
图6是本发明通讯终端实现通讯协议的方法实施例五的流程图;
图7是本发明通讯终端实现通讯协议的方法实施例六的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
应当说明的是,本发明通讯终端所涉及的异步通讯方式包括串口、TCP以及UDP,另外,通讯终端中的协议模块的具体表现形式包括IEC60870-5-101协议和IEC60870-5-104协议,在下述实施例中,以TCP的通讯方式为例实施本发明的技术方案。
请参阅图1,图1是本发明通讯终端的结构示意图,如图1所示,所述通讯终端与用于监控所述通讯终端的外部控制站建立异步通讯连接,所述通讯终端包括相互独立的通讯模块和协议模块,其中,所述通讯模块包括通讯管理单元、数据通知单元以及数据发送单元,所述协议模块包括外部交互单元和内部处理单元。下面具体介绍各个部分的作用:
通讯管理单元,用于主动建立通讯链路、被动响应建立通讯链路以及主动断开通讯链路。
外部交互单元,用于响应外部连接请求、主动请求建立连接、响应连接断开、主动断开连接、协议帧编解码以及协议请求响应处理。
数据通知单元,用于在通讯链路断开时将断开连接信息通知外部交互单元,并保存外部控制站所发送的数据帧。
数据发送单元,用于根据协议要求将外部交互单元所保存的回应帧发送至外部控制站。
内部处理单元,用于在所述通讯终端内部处理协议相关数据及对协议帧进行编解码。
结合参考图1,所述方法包括主动建立通讯链路流程、被动响应建立通讯链路流程、主动断开通讯链路流程、被动断开通讯链路流程、被动响应数据通讯流程以及主动建立数据通讯流程,下面具体介绍各个流程的具体步骤。
请参阅图2,图2是本发明通讯终端实现通讯协议的方法实施例一的流程图,如图2所示,主动建立通讯链路流程具体包括以下步骤:
在步骤A1中,初始化对应外部控制站的连接状态参数,并将数据发送至通讯管理单元;
在步骤B1中,通讯管理单元接收到该数据后,主动与外部控制站建立通讯连接;
在步骤C1中,在建立通讯连接后修改对应的连接状态参数,并创建数据接收缓冲区;
请参阅图3,图3是本发明通讯终端实现通讯协议的方法实施例二的流程图,如图3所示,被动响应建立通讯链路流程具体包括以下步骤:
在步骤A2中,外部控制站主动与通讯管理单元建立通讯连接;
在步骤B2中,通讯管理单元保存连接状态参数,并创建数据接收缓冲区,以将数据发送至外部交互单元;
在步骤C2中,外部交互单元接收到该数据后,初始化对应外部控制站的连接状态参数;
请参阅图4,图4是本发明通讯终端实现通讯协议的方法实施例三的流程图,如图4所示,主动断开通讯链路流程具体包括以下步骤:
在步骤A3中,清除外部交互单元对应的连接状态参数,并将主动断开信息发送至通讯管理单元;
在步骤B3中,通讯管理单元接收到主动断开信息后,关闭对应的连接,并清除对应的连接参数和数据接收缓冲区。
请参阅图5,图5是本发明通讯终端实现通讯协议的方法实施例四的流程图,如图5所示,被动断开通讯链路流程具体包括以下步骤:
在步骤A4中,通讯管理单元或数据通知单元发现连接断开时,清除对应的连接状态参数和数据接收缓冲区,并将被动断开信息发送至外部交互单元;
在步骤B4中,外部交互单元接收到该被动断开信息后删除对应的连接状态参数。
请参阅图6,图6是本发明通讯终端实现通讯协议的方法实施例五的流程图,如图6所示,被动响应数据通讯流程具体包括以下步骤:
在步骤A5中,外部控制站将数据帧发送至通讯管理单元,并在接收该数据帧后将其保存至与之对应连接的数据接收缓冲区;
在步骤B5中,通过调用协议模块所提供的回调函数截取一个完整的数据帧,并将该数据帧保存到公共缓冲区,以经由外部交互单元从公共缓冲区提取该数据帧;
在步骤C5中,外部交互单元对该数据帧进行协议编解码;
在步骤D5中,判断是否需要回应该数据帧,若是,则执行步骤E5,若否,则步骤结束;
在步骤E5中,生成回应帧,并将其保持至公共缓冲区,以经由数据发送单元从公共缓冲区提取该回应帧;
在步骤F5中,将该回应帧发送至对应的外部控制站。
请参阅图7,图7是本发明通讯终端实现通讯协议的方法实施例六的流程图,如图7所示,主动建立数据通讯流程具体包括以下步骤:
在步骤A6中,生成回应帧,并将其保存到公共缓冲区,以经由数据发送单元从公共缓冲区提取回应帧;
在步骤B6中,根据用户需要将该回应帧发送至指定的外部控制站或者通过广播或组播方式发送至多个外部控制站。
相较于现有技术,通过将通讯终端划分为相互独立的通讯模块和协议模块,并实现该通讯终端与外部控制站建立异步通讯连接,可有效提高程序代码的复用性、可阅读性以及可测试性;且在产品研发期间可节约资源,提高研发人员的开发效率。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (7)
1.一种通讯终端,其特征在于,所述通讯终端与用于监控所述通讯终端的外部控制站建立异步通讯连接,所述通讯终端包括相互独立的通讯模块和协议模块,所述通讯模块包括通讯管理单元、数据通知单元以及数据发送单元,所述协议模块包括外部交互单元和内部处理单元,其中,
通讯管理单元,用于主动建立通讯链路、被动响应建立通讯链路以及主动断开通讯链路;
数据通知单元,用于在通讯链路断开时将断开连接信息通知外部交互单元,并保存外部控制站所发送的数据帧;
数据发送单元,用于根据协议要求将外部交互单元所保存的回应帧发送至外部控制站;
外部交互单元,用于响应外部连接请求、主动请求建立连接、响应连接断开、主动断开连接、协议帧编解码以及协议请求响应处理;
内部处理单元,用于在所述通讯终端内部处理协议相关数据及对协议帧进行编解码。
2.根据权利要求1所述的通讯终端,其特征在于,所述外部控制站与所述通讯终端建立的异步通讯方式包括串口、TCP以及UDP。
3.根据权利要求2所述的通讯终端,其特征在于,所述协议模块的具体表现形式包括IEC60870-5-101协议和IEC60870-5-104协议。
4.一种通讯终端实现通讯协议的方法,其特征在于,所述通讯终端为上述权利要求1至3任一项所述的通讯终端,所述方法包括主动建立通讯链路流程、被动响应建立通讯链路流程以及主动断开通讯链路流程,其中,
主动建立通讯链路流程具体包括以下步骤:
A1.初始化对应外部控制站的连接状态参数,并将数据发送至通讯管理单元;
B1.通讯管理单元接收到该数据后,主动与外部控制站建立通讯连接;
C1.在建立通讯连接后修改对应的连接状态参数,并创建数据接收缓冲区;
被动响应建立通讯链路流程具体包括以下步骤:
A2.外部控制站主动与通讯管理单元建立通讯连接;
B2.通讯管理单元保存连接状态参数,并创建数据接收缓冲区,以将数据发送至外部交互单元;
C2.外部交互单元接收到该数据后,初始化对应外部控制站的连接状态参数;
主动断开通讯链路流程具体包括以下步骤:
A3.清除外部交互单元对应的连接状态参数,并将主动断开信息发送至通讯管理单元;
B3.通讯管理单元接收到主动断开信息后,关闭对应的连接,并清除对应的连接参数和数据接收缓冲区。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括被动断开通讯链路流程,其具体包括以下步骤:
A4.通讯管理单元或数据通知单元发现连接断开时,清除对应的连接状态参数和数据接收缓冲区,并将被动断开信息发送至外部交互单元;
B4.外部交互单元接收到该被动响应断开信息后删除对应的连接状态参数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括被动响应数据通讯流程,其具体包括以下步骤:
A5.外部控制站将数据帧发送至通讯管理单元,并在接收该数据帧后将其保存至与之对应连接的数据接收缓冲区;
B5.通过调用协议模块所提供的回调函数截取一个完整的数据帧,并将该数据帧保存到公共缓冲区,以经由外部交互单元从公共缓冲区提取该数据帧;
C5.外部交互单元对该数据帧进行协议编解码;
D5.判断是否需要回应该数据帧,若是,则执行步骤E5,若否,则步骤结束;
E5.生成回应帧,并将其保持至公共缓冲区,以经由数据发送单元从公共缓冲区提取该回应帧;
F5.将该回应帧发送至对应的外部控制站。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括主动建立数据通讯流程,其具体包括以下步骤:
A6.生成回应帧,并将其保存到公共缓冲区,以经由数据发送单元从公共缓冲区提取回应帧;
B6.根据用户需要将该回应帧发送至指定的外部控制站或者通过广播或组播方式发送至多个外部控制站。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210008090.XA CN102546637B (zh) | 2012-01-12 | 2012-01-12 | 一种通讯终端及其实现通讯协议的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210008090.XA CN102546637B (zh) | 2012-01-12 | 2012-01-12 | 一种通讯终端及其实现通讯协议的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102546637A true CN102546637A (zh) | 2012-07-04 |
CN102546637B CN102546637B (zh) | 2014-11-26 |
Family
ID=46352595
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210008090.XA Active CN102546637B (zh) | 2012-01-12 | 2012-01-12 | 一种通讯终端及其实现通讯协议的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102546637B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882872A (zh) * | 2012-09-28 | 2013-01-16 | 航天科工深圳(集团)有限公司 | 101规约平衡模式下的数据链路链接系统及其链接方法 |
CN106712297A (zh) * | 2017-01-22 | 2017-05-24 | 上海电力学院 | 一种智能配电终端数据通信系统及方法 |
CN112637270A (zh) * | 2020-12-01 | 2021-04-09 | 青岛联众芯云科技有限公司 | 一种基于mqtt消息的专变采集终端系统及通信方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201156192Y (zh) * | 2008-02-20 | 2008-11-26 | 福建师范大学 | 一种新型的分布式远程电力监控装置 |
CN101951031A (zh) * | 2010-07-02 | 2011-01-19 | 北京航空航天大学 | 一种基于宽带无线通信的配电网自动化系统及其实现方法 |
-
2012
- 2012-01-12 CN CN201210008090.XA patent/CN102546637B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201156192Y (zh) * | 2008-02-20 | 2008-11-26 | 福建师范大学 | 一种新型的分布式远程电力监控装置 |
CN101951031A (zh) * | 2010-07-02 | 2011-01-19 | 北京航空航天大学 | 一种基于宽带无线通信的配电网自动化系统及其实现方法 |
Non-Patent Citations (1)
Title |
---|
陈雄: "配电自动化终端中通信管理机的涉及与实现", 《合肥工业大学硕士学位论文》, 29 October 2010 (2010-10-29) * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102882872A (zh) * | 2012-09-28 | 2013-01-16 | 航天科工深圳(集团)有限公司 | 101规约平衡模式下的数据链路链接系统及其链接方法 |
CN102882872B (zh) * | 2012-09-28 | 2015-10-07 | 航天科工深圳(集团)有限公司 | 101规约平衡模式下的数据链路链接系统及其链接方法 |
CN106712297A (zh) * | 2017-01-22 | 2017-05-24 | 上海电力学院 | 一种智能配电终端数据通信系统及方法 |
CN112637270A (zh) * | 2020-12-01 | 2021-04-09 | 青岛联众芯云科技有限公司 | 一种基于mqtt消息的专变采集终端系统及通信方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102546637B (zh) | 2014-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104216761B (zh) | 一种在能够运行两种操作系统的装置中使用共享设备的方法 | |
CN102421112B (zh) | 移动终端的测试方法、移动终端模拟器、测试设备及系统 | |
KR20100075896A (ko) | Nfc 시스템 내에서 애플리케이션 데이터를 관리하는 방법 및 장치 | |
CN101232661B (zh) | 一种对基站进行协议一致性测试的系统和方法 | |
CN103902390A (zh) | 基于Android的应用层的进程间通信方法及基础应用通信系统 | |
CN102214140B (zh) | 软件自动测试的方法及系统 | |
CN105162673A (zh) | 数据传输接口及方法 | |
CN103780455B (zh) | 基于ttcn‑3的tetra数字集群协议测试方法和系统 | |
CN104412197A (zh) | 用于在用于无线对接的对接主机处识别无线外围设备及其状态的方法和装置 | |
CN104050920B (zh) | Led显示屏控制系统和异步控制卡 | |
CN106341259A (zh) | 故障信息上报方法及装置 | |
CN105933992A (zh) | 一种传感器无线数据网关应用系统 | |
CN108270733A (zh) | 一种管理智能设备的方法及系统 | |
CN111510481B (zh) | 一种应用于ble5.0协议系统的软硬件交互方法 | |
CN107948009B (zh) | Plc协议测试的数据交互通道的构建方法及模型 | |
CN102546637A (zh) | 一种通讯终端及其实现通讯协议的方法 | |
CN110113771A (zh) | 数据处理方法、装置、网关设备及存储介质 | |
CN110224898A (zh) | 配电终端的规约加密测试方法、装置、设备及存储介质 | |
CN106896956B (zh) | 一种“道”系统下多点触控的实现方法 | |
CN106302432B (zh) | 一种基于车联网的通信装置及控制方法 | |
CN104184823A (zh) | 一种自动化任务调度的方法和系统 | |
CN101404656A (zh) | 一种与第三方智能设备协议通讯的软件接口设计方法 | |
CN111190731A (zh) | 基于权重的集群任务调度系统 | |
CN110515662A (zh) | 双系统设备的远程控制方法、系统、设备及可读存储介质 | |
CN110275701A (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 |