CN104702614B - 一种双协议栈双网口制造报文规范通信系统及方法 - Google Patents
一种双协议栈双网口制造报文规范通信系统及方法 Download PDFInfo
- Publication number
- CN104702614B CN104702614B CN201510122244.1A CN201510122244A CN104702614B CN 104702614 B CN104702614 B CN 104702614B CN 201510122244 A CN201510122244 A CN 201510122244A CN 104702614 B CN104702614 B CN 104702614B
- Authority
- CN
- China
- Prior art keywords
- socket
- network interface
- mms
- protocol stacks
- lwip
- 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
Links
Landscapes
- Communication Control (AREA)
Abstract
本发明公开了一种双协议栈双网口制造报文规范通信系统及方法,包括第一网口、第二网口、NetX协议栈、LWIP协议栈、第一socket、第二socket及MMS;所述第一网口与NetX协议栈相连接,NetX协议栈通过第一socket与MMS相连接,第二网口与LWIP协议栈相连接,LWIP协议栈通过第二socket与MMS相连接。本发明可以实现双协议栈双网口的通信。
Description
技术领域
本发明属于嵌入式系统技术领域,涉及一种通信系统,具体涉及一种双协议栈双网口制造报文规范通信系统及方法。
背景技术
MMS(制造报文规范)协议是智能变电站中IEC61850在站控层的实现协议。SISCO的MMS-EASE Lite(Embedded App licationService Element)是MMS的C语言编程接口。它是一个经过优化,支持MMS和IEC61850的源代码包,在国内继电保护领域有广泛应用。使用其可以减少开发风险和开发成本,缩短投入市场时间。
随着国内智能电网的大力推广,现场应用中要求保护装置能支持独立双网口的MMS通信。由于历史原因,我司装置的NetX协议栈仅支持单个物理网口的通信,如何做出更改,使其支持双独立网口的MMS通信,是一个现实而紧迫的问题。
由于NetX是一种商业协议栈,如要其支持双独立网口的通信,需要额外的付费取得技术支持,迫于成本压力,此种方案暂时搁置。
另一种直观的想法就是将NetX协议栈更改成为其他支持多个物理网口的协议栈,然后在此协议栈上实现应用的双网口通信。因为装置上所有通信程序都使用的NetX的通信接口,此种方法带来的问题是,一旦新协议栈的通信接口与NetX的通信接口有差异,我们都必须更改所有通信程序代码的通信接口,这将带来很大的工作量,同时使已经运行的通信程序变得不稳定。
发明内容
本发明的目的在于克服上述现有技术的缺点,提供了一种双协议栈双网口制造报文规范通信系统,该系统可以实现双协议栈双网口的通信及方法。
为达到上述目的,本发明所述的双协议栈双网口制造报文规范通信系统包括第一网口、第二网口、NetX协议栈、LWIP协议栈、第一socket、第二socket及MMS;
所述第一网口与NetX协议栈相连接,NetX协议栈通过第一socket与MMS相连接,第二网口与LWIP协议栈相连接,LWIP协议栈通过第二socket与MMS相连接。
所述第一网口与NetX协议栈通过第一驱动相连接;
所述第二网口与LWIP协议栈通过第二驱动相连接。
本发明所述的双协议栈双网口制造报文规范通信方法包括以下步骤:
MMS报文分别经第一网口及第二网口保存到NetX协议栈及LWIP协议栈中,NetX协议栈中的MMS报文及LWIP协议栈中的MMS报文分别经第一socket及第二socket进入到MMS中,MMS对接收的MMS报文添加标记,用于表明MMS报文经第一socket接收的还是经第二socket接收的,MMS再对各MMS报文进行响应,然后根据各MMS报文的标记将各MMS报文的响应转发至对应的第一socket及第二socket,第一socket及第二socket将接收到MMS报文的响应分别转发至NetX协议栈及LWIP协议栈中,NetX协议栈中MMS报文的响应及LWIP协议栈中MMS报文的响应分别经第一驱动及第二驱动转发至第一网口及第二网口中。
MMS对接收的MMS报文添加标记的具体过程为:
对原来的MMS报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一socket收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二socket接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一socket收上来的数据,LWIP的socket指针不为空,则MMS报文为经第二socket6收上来的数据。
本发明具有以下有益效果:
本发明所述的双协议栈双网口制造报文规范通信系统及方法只需在原有的系统中添加独立的物理网口及LWIP协议栈,在工作时,将第一网口及第二网口接收的MMS报文分别经NetX协议栈及LWIP协议栈转发至MMS中,在MMS对各MMS报文作标记,使各MMS报文与接收上来的路径相对应,然后对各MMS报文进行响应,再根据各MMS报文的标记将各MMS报文的响应经对应的路径转发到第一网口及第二网口中,从而实现双协议栈双网口的通信,不需要对原有的系统进行修改,只需给原有的系统中添加开源的LWIP协议栈,将新网口驱动挂接到LWIP协议栈上,使新网口的物理通信正常,减小系统风险及成本,并且不需要针对LWIP协议栈及NetX协议栈运行两条MMS程序。
附图说明
图1为本发明的结构示意图;
图2为本发明中实施例一的流程图。
其中,1为第一驱动、2为第二驱动、3为MMS、4为第一socket,5为第二网口、6为第二socket、7为LWIP协议栈、8为NetX协议栈、9为第一网口。
具体实施方式
下面结合附图对本发明做进一步详细描述:
参考图1,本发明所述的双协议栈双网口制造报文规范通信系统包括第一网口9、第二网口5、NetX协议栈8、LWIP协议栈7、第一socket4套接字、第二socket6及MMS3;第一网口9与NetX协议栈8相连接,NetX协议栈8通过第一socket4与MMS3相连接,第二网口5与LWIP协议栈7相连接,LWIP协议栈7通过第二socket6与MMS3相连接;第一网口9与NetX协议栈8通过第一驱动1相连接;第二网口5与LWIP协议栈7通过第二驱动2相连接。
本发明所述的双协议栈双网口制造报文规范通信方法包括以下步骤:
MMS报文经第一网口9及第二网口5保存到NetX协议栈8及LWIP协议栈7中,NetX协议栈8中的MMS报文及LWIP协议栈7中的MMS报文分别经第一socket4及第二socket6进入到MMS3中,MMS3对接收的MMS报文添加标记,用于表明MMS报文经第一socket4接收的还是经第二socket6接收的,MMS3再对各MMS报文进行响应,然后根据各MMS报文的标记将各MMS报文的响应转发至对应的第一socket4及第二socket6,第一socket4及第二socket6将接收到MMS报文的响应分别转发至NetX协议栈8及LWIP协议栈7中,NetX协议栈8中MMS报文的响应及LWIP协议栈7中MMS报文的响应分别经第一驱动1及第二驱动2转发至第一网口9及第二网口5中。
MMS3对接收的MMS报文添加标记的具体过程为:对原来的MMS报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一socket4收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二socket6接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一socket4收上来的数据,LWIP的socket指针不为空,则MMS报文为经第二socket6收上来的数据。
实施例一
图2描述了MMS3任务中的处理细节,初始化1要创建针对LWIP协议栈7的侦听socket,用来侦听来自新网口的网络连接。在MMS报文接收2中,添加LWIP socket接收函数来接收报文,socket接收函数中,socket采用非阻塞模式,使用select函数去监听socket文件描述符,防止接收进程在这里阻塞住,影响另一个网口的报文接收。报文解析3中,对原来的报文接收结构体增加LWIP的socket指针,默认值为空,凡是NetX socket收上来的报文,则不对此指针进行赋值,如果是LWIP socket接收上来的报文则将接收socket的指针赋给此变量,此变量若为空,则必是NetX socket收上来的数据,不为空,则是LWIP socket收上来的数据,然后按照OSI协议一层层的解包,剥去报文的表示层及会话层,只留应用层MMS结构,将MMS结构保存到事件队列中,此MMS结构中也会隐含最初的LWIP socket指针,每次从此事件队列中取出一个MMS事件结构进行处理,处理完后,将其相应MMS报文用socket指针直接发送出去,而发送的时候根据此LWIP socket指针是否为空来判断要发送给哪个socket,如果不为空,则直接以此指针为发送参数,便可以发送至LWIP socket,送出报文,如果此指针为空,则直接调用结构中的NetX指针来发送报文,送出报文。
以一个石化项目为例,客户要求现场装置支持两个独立网口的MMS3通信。因为历史原因,此种类型装置只有一个网口,且协议栈为商业协议栈NetX,不支持双物理网口。
我们新增加了流行的开源协议栈LWIP,使其只负责新网口的通信,同时我们按照上述方式成功的使一个MMS3任务处理了来自两个协议栈的数据,实现了双协议栈双网口MMS3通信。
Claims (4)
1.一种双协议栈双网口制造报文规范(MMS)通信系统,其特征在于,包括第一网口(9)、第二网口(5)、NetX协议栈(8)、LWIP协议栈(7)、第一socket(4)、第二socket(6)及MMS(3);
所述第一网口(9)与NetX协议栈(8)相连接,NetX协议栈(8)通过第一socket(4)与MMS(3)相连接,第二网口(5)与LWIP协议栈(7)相连接,LWIP协议栈(7)通过第二socket(6)与MMS(3)相连接。
2.根据权利要求1所述的双协议栈双网口制造报文规范通信系统,其特征在于,
所述第一网口(9)与NetX协议栈(8)通过第一驱动(1)相连接;
所述第二网口(5)与LWIP协议栈(7)通过第二驱动(2)相连接。
3.一种双协议栈双网口制造报文规范通信方法,其特征在于,基于权利要求2所述的双协议栈双网口制造报文规范通信系统,包括以下步骤:
MMS报文分别经第一网口(9)及第二网口(5)保存到NetX协议栈(8)及LWIP协议栈(7)中,NetX协议栈(8)中的MMS报文及LWIP协议栈(7)中的MMS报文分别经第一socket(4)及第二socket(6)进入到MMS(3)中,MMS(3)对接收的MMS报文添加标记,用于表明MMS报文经第一socket(4)接收的还是经第二socket(6)接收的,MMS(3)再对各MMS报文进行响应,然后根据各MMS报文的标记将各MMS报文的响应转发至第一socket(4)及第二socket(6),第一socket(4)及第二socket(6)将接收到MMS报文的响应分别转发至NetX协议栈(8)及LWIP协议栈(7)中,NetX协议栈(8)中MMS报文的响应及LWIP协议栈(7)中MMS报文的响应分别经第一驱动(1)及第二驱动(2)转发至第一网口(9)及第二网口(5)中。
4.根据权利要求3所述的双协议栈双网口制造报文规范通信方法,其特征在于,MMS(3)对接收的MMS报文添加标记的具体过程为:
对原来的MMS报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一socket(4)收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二socket(6)接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一socket(4)收上来的数据,LWIP的socket指针不为空,则MMS报文为经第二socket(6)收上来的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122244.1A CN104702614B (zh) | 2015-03-19 | 2015-03-19 | 一种双协议栈双网口制造报文规范通信系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510122244.1A CN104702614B (zh) | 2015-03-19 | 2015-03-19 | 一种双协议栈双网口制造报文规范通信系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104702614A CN104702614A (zh) | 2015-06-10 |
CN104702614B true CN104702614B (zh) | 2018-07-10 |
Family
ID=53349383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510122244.1A Active CN104702614B (zh) | 2015-03-19 | 2015-03-19 | 一种双协议栈双网口制造报文规范通信系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104702614B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102006338A (zh) * | 2010-12-23 | 2011-04-06 | 山东大学 | 嵌入式设备支持IPv4/IPv6协议的并发通信方法 |
KR101253759B1 (ko) * | 2006-10-16 | 2013-04-12 | 엘지전자 주식회사 | 멀티미디어 메시지 서비스 시스템 및 그 제어방법 |
EP2687925A1 (en) * | 2012-07-16 | 2014-01-22 | ABB Technology AG | Master intelligent electronic device for high level application |
CN103647760A (zh) * | 2013-11-27 | 2014-03-19 | 国家电网公司 | 一种智能变电站数字保护装置的mms通讯平台及其访问方法 |
-
2015
- 2015-03-19 CN CN201510122244.1A patent/CN104702614B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101253759B1 (ko) * | 2006-10-16 | 2013-04-12 | 엘지전자 주식회사 | 멀티미디어 메시지 서비스 시스템 및 그 제어방법 |
CN102006338A (zh) * | 2010-12-23 | 2011-04-06 | 山东大学 | 嵌入式设备支持IPv4/IPv6协议的并发通信方法 |
EP2687925A1 (en) * | 2012-07-16 | 2014-01-22 | ABB Technology AG | Master intelligent electronic device for high level application |
CN103647760A (zh) * | 2013-11-27 | 2014-03-19 | 国家电网公司 | 一种智能变电站数字保护装置的mms通讯平台及其访问方法 |
Non-Patent Citations (2)
Title |
---|
A New Design of Embedded IPv4/IPv6 Dual-stack Protocol;Jian Chen等;《2011 International conference on Network computing and Information Security》;20110515;第163-167页 * |
基于ThreadX操作系统的Ipv6隧道研究;陈波;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715(第07期);第I139-75页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104702614A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102202093B (zh) | 一种实现传感器适配的方法和系统 | |
CN105763619B (zh) | 客户端与服务端进行通讯的方法及装置 | |
CN107094136B (zh) | 一种用于直播中更新在线人数的方法及系统 | |
CN101009649A (zh) | 网络处理器中的队列管理 | |
CN110971491B (zh) | 一种电力系统101和104通讯规约处理系统及其处理方法 | |
CN103312528A (zh) | 一种心跳消息发送方法及用户终端 | |
WO2020109867A2 (zh) | 多模通信装置及其通信方法、多模通信系统 | |
CN103581966A (zh) | 一种智能手机实时监测优化配置方法 | |
CN103199968A (zh) | 一种消息的发送方法和系统 | |
CN102281181A (zh) | 扩展端口桥设备中实现多播转发的方法、装置及系统 | |
CN105577500A (zh) | Vxlan与隧道的关联方法及装置 | |
CN101719850A (zh) | 对以太网丢包率进行统计的装置、方法及报文交换设备 | |
CN104243360B (zh) | 一种转发链路的配置方法和装置 | |
CN104702614B (zh) | 一种双协议栈双网口制造报文规范通信系统及方法 | |
CN101707622A (zh) | 实现远程数据监控的方法 | |
CN103856228A (zh) | 一种无线人机交互方法及系统 | |
CN103248547A (zh) | Modbus RTU从站快速捕获数据的方法及从站 | |
CN106302432B (zh) | 一种基于车联网的通信装置及控制方法 | |
CN101552735A (zh) | 基于订阅模式的可插拔消息总线装置及其实现方法 | |
CN104866404B (zh) | 一种通用的数据监视方法 | |
CN108123865B (zh) | 报文处理方法及装置 | |
CN110515662A (zh) | 双系统设备的远程控制方法、系统、设备及可读存储介质 | |
CN106027140B (zh) | 可重构卫星地面站系统及方法 | |
CN101888379A (zh) | 网络电视多代理服务器动态链接的方法和网络电视系统 | |
CN107070872A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |