一种双协议栈双网口制造报文规范通信系统及方法技术方案

技术编号:11572325 阅读:80 留言:0更新日期:2015-06-10 02:54
本发明专利技术公开了一种双协议栈双网口制造报文规范通信系统及方法,包括第一网口、第二网口、NetX协议栈、LWIP协议栈、第一socket、第二socket及MMS;所述第一网口与NetX协议栈相连接,NetX协议栈通过第一socket与MMS相连接,第二网口与LWIP协议栈相连接,LWIP协议栈通过第二socket与MMS相连接。本发明专利技术可以实现双协议栈双网口的通信。

【技术实现步骤摘要】

本专利技术属于嵌入式系统
,涉及一种通信系统,具体涉及一种双协议栈双网口 MMS通信系统及方法。
技术介绍
MMS (制造报文规范)协议是智能变电站中IEC61850在站控层的实现协议。SISCO的 MMS-EASE Lite (Embedded App Iicat1nService Flement)是 MMS 的 C 语言编程接口。它是一个经过优化,支持MMS和IEC61850的源代码包,在国内继电保护领域有广泛应用。使用其可以减少开发风险和开发成本,缩短投入市场时间。随着国内智能电网的大力推广,现场应用中要求保护装置能支持独立双网口的MMS通信。由于历史原因,我司装置的NetX协议栈仅支持单个物理网口的通信,如何做出更改,使其支持双独立网口的MMS通信,是一个现实而紧迫的问题。由于NetX是一种商业协议栈,如要其支持双独立网口的通信,需要额外的付费取得技术支持,迫于成本压力,此种方案暂时搁置。另一种直观的想法就是将NetX协议栈更改成为其他支持多个物理网口的协议栈,然后在此协议栈上实现应用的双网口通信。因为装置上所有通信程序都使用的NetX的通信接口,此种方法带来的问题是,一旦新协议栈的通信接口与NetX的通信接口有差异,我们都必须更改所有通信程序代码的通信接口,这将带来很大的工作量,同时使已经运行的通信程序变得不稳定。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺点,提供了一种双协议栈双网口丽S通信系统,该系统可以实现双协议栈双网口的通信及方法。为达到上述目的,本专利技术所述的双协议栈双网口丽S通信系统包括第一网口、第二网口、NetX 协议栈、LffIP 协议栈、第一 socket、第二 socket 及 MMS ;所述第一网口与NetX协议栈相连接,NetX协议栈通过第一 socket与MMS相连接,第二网口与LWIP协议栈相连接,LffIP协议栈通过第二 socket与MMS相连接。所述第一网口与NetX协议栈通过第一驱动相连接;所述第二网口与LWIP协议栈通过第二驱动相连接。本专利技术所述的双协议栈双网口 MMS通信方法包括以下步骤:丽S报文分别经第一网口及第二网口保存到NetX协议栈及LWIP协议栈中,NetX协议栈中的MMS报文及LWIP协议栈中的MMS报文分别经第一 socket及第二 socket进入到丽S中,丽S对接收的丽S报文添加标记,用于表明丽S报文经第一 socket接收的还是经第二 socket接收的,MMS再对各MMS报文进行响应,然后根据各MMS报文的标记将各MMS报文的响应转发至对应的第一 socket及第二 socket,第一 socket及第二 socket将接收到MMS报文的响应分别转发至NetX协议栈及LWIP协议栈中,NetX协议栈中MMS报文的响应及LWIP协议栈中MMS报文的响应分别经第一驱动及第二驱动转发至第一网口及第二网口中。丽S对接收的丽S报文添加标记的具体过程为:对原来的MMS报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一 socket收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二 socket接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一 socket收上来的数据,LWIP的socket指针不为空,则MMS报文为经第二 S0Cket6收上来的数据。本专利技术具有以下有益效果:本专利技术所述的双协议栈双网口丽S通信系统及方法只需在原有的系统中添加独立的物理网口及LWIP协议栈,在工作时,将第一网口及第二网口接收的丽S报文分别经NetX协议栈及LWIP协议栈转发至丽S中,在丽S对各丽S报文作标记,使各丽S报文与接收上来的路径相对应,然后对各MMS报文进行响应,再根据各MMS报文的标记将各MMS报文的响应经对应的路径转发到第一网口及第二网口中,从而实现双协议栈双网口的通信,不需要对原有的系统进行修改,只需给原有的系统中添加开源的LWIP协议栈,将新网口驱动挂接到LWIP协议栈上,使新网口的物理通信正常,减小系统风险及成本,并且不需要针对LffIP协议栈及NetX协议栈运行两条MMS程序。【附图说明】图1为本专利技术的结构示意图;图2为本专利技术中实施例一的流程图。其中,I为第一驱动、2为第二驱动、3为丽S、4为第一 socket,5为第二网口、6为第二 socket、7为LWIP协议栈、8为NetX协议栈、9为第一网口。【具体实施方式】下面结合附图对本专利技术做进一步详细描述:参考图1,本专利技术所述的双协议栈双网口丽S通信系统包括第一网口 9、第二网口5、NetX协议栈8、LffIP协议栈7、第一 socket4套接字、第二 socket6及MMS3 ;第一网口 9与NetX协议栈8相连接,NetX协议栈8通过第一 socket4与丽S3相连接,第二网口 5与LffIP协议栈7相连接,LWIP协议栈7通过第二 socket6与MMS3相连接;第一网口 9与NetX协议栈8通过第一驱动I相连接;第二网口 5与LWIP协议栈7通过第二驱动2相连接。本专利技术所述的双协议栈双网口丽S通信方法包括以下步骤:丽S报文经第一网口 9及第二网口 5保存到NetX协议栈8及LWIP协议栈7中,NetX协议栈8中的MMS报文及LWIP协议栈7中的MMS报文分别经第一 socket4及第二 socket6进入到丽S3中,丽S3对接收的丽S报文添加标记,用于表明丽S报文经第一 socket4接收的还是经第二 socket6接收的,丽S3再对各丽S报文进行响应,然后根据各丽S报文的标记将各MMS报文的响应转发至对应的第一 socket4及第二 socket6,第一 socket4及第二socket6将接收到MMS报文的响应分别转发至NetX协议栈8及LWIP协议栈7中,NetX协议栈8中丽S报文的响应及LWIP协议栈7中丽S报文的响应分别经第一驱动I及第二驱动2转发至第一网口 9及第二网口 5中。丽S3对接收的丽S报文添加标记的具体过程为:对原来的丽S报文接收结构体增加LWIP的socket指针,所述LWIP的socket指针的默认值为空,当MMS报文经第一 socket4收上来,则不对LWIP的socket指针进行赋值,当MMS报文经第二 socket6接收上来,则将接收socket的指针赋给LWIP的socket指针,当该LWIP的socket指针为空,则MMS报文为经第一 socket4收上来的数据,LffIP的socket指针不为空,则MMS报文为经第二 socket6收上来的数据。实施例一图2描述了丽S3任务中的处理细节,初始化I要创建针对LWIP协议栈7的侦听socket,用来侦听来自新网口的网络连接。在MMS报文接收2中,添加LWIP socket接收函数来接收报文,socket接收函数中,socket采用非阻塞模式,使用select函数去监听socket文件描述符,防止接收进程在这里阻塞住,影响另一个网口的报文接收。报文解析3中,对原来的报文接收结构体增加LWIP的socket指针,默认值为空,凡是本文档来自技高网...

【技术保护点】
一种双协议栈双网口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)相连接。

【技术特征摘要】

【专利技术属性】
技术研发人员:马少帅尚江龙郭守刚葛阳单丁兰靖
申请(专利权)人:西电通用电气自动化有限公司
类型:发明
国别省市:陕西;61

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

1