一种简单输入输出设备的EtherNet/IPAdapter协议栈控制方法

文档序号:7855622阅读:475来源:国知局
专利名称:一种简单输入输出设备的EtherNet/IP Adapter协议栈控制方法
技术领域
本发明涉及通信技术领域,更具体的说,涉及简单输入输出设备的EtherNet/IPAdapter协议栈控制方法。
背景技术
简单输入输出设备,即I/O设备的处理能力低,此类简单输入输出设备的主频一般不超过50MHz,但是,却对实时性要求很高。这类设备要接入EtherNet/IP网络,就必须具备运行EtherNet/IP Adapter协议栈和TCP/IP协议栈的能力。其中,EtherNet/IP是一个面向工业自动化应用的工业应用层协议。它建立在标准UDP/IP与TCP/IP协议之上,利用 固定的以太网硬件和软件,为配置、访问和控制工业自动化设备定义了一个应用层协议。随着现场设备智能程度的不断提高,控制系统变得越来越分散,现场设备之间的数据交换量飞速增长,而现场总线的传输速率较低,为解决现场总线所带来的问题,国际上各厂商开始采用以太网来作为控制网络。相对于其他类型工业以太网而言,EtherNet/IP使用标准TCP/IP以太网,使其工业用户能直接从标准TCP/IP以太网技术本身的持续创新和成本降低等好处中获益,为此,大多数厂商选择了 EtherNet/IP作为工业以太网协议。为了使简单输入输出设备也具备EtherNet/IP通信能力,就必须设计一个适用的EtherNet/IP Adapter 协议栈。目前,现有的设计方案都是按照CIP规范中定义的通信适配器设备类型(Communications Adapter)来实现,具体的对象模型如下请参见图I所示,图I所示的为主控设备I和简单输入输出设备2的数据交互示意图。其中,TCP/IP接口对象包含使用TCP/IP协议的信息;标识对象(Identity Object)是提供一些特定信息来辨识此设备,其参数主要包括厂商编号(Vendor ID)、设备类型(Device Type)、产品编号(Product Code)、版本标号(Revision)、序号(Serial Number) >状态(State)等;1/0连接对象主要是用来传递1/0数据,支持一对一连接和一对多连接,通常传递的都是设备的输出、输入数据;报文路由对象(Message Router Object)是将连接对象接收过来的显式报文(Explicit Message)解析,分发给各个对象,如TCP/IP接口对象、标识对象、应用对象等,然后将各个对象返回的数据打包,交给连接对象发送;应用对象是与具体应用相关的对象,负责实现此设备所支持的特定行为。如果此设备的功能为数字输出,贝1J此处的应用对象就会有一个数字输出对象(Discrete Output Point Object);如果此设备支持AD功能,则此处的应用对象就会有一个模拟输入对象(Analog Input PointObject),以此类推。在图I所示的例子中,CIP是面向连接的协议,当主控设备要与网络上的其他简单输入输出设备建立连接时,先给简单输入输出设备的未连接报文管理器21 (UnconnectedMessage Manager, UCMM)发送连接请求,简单输入输出设备若答应请求,则创建、初始化连接对象,并向主控设备的未连接报文管理器返回响应信息,然后,主控设备创建、初始化自己的连接对象。连接划分为I/o连接(I/O Connections)和显式报文连接(ExplicitMessaging Connections)。连接完成之后,就可以通过连接对象传送基于连接的显式报文或I/O报文。在对现有技术的研究和实践过程中,本发明的发明人发现现有技术存在以下问题当连接建立完成后,对于简单输入输出设备来说,就仅需要I/O数据的传输,不需具备复杂的消息数据通信、网络管理等功能,基于这点,就不再需要未连接报文管理器来响应未连接的显式报文,也无需连接对象来响应基于连接的显式报文,因而也无需报文路由对象,这些对象会带来很大的处理开销,在处理能力低的简单I/O设备中就会导致无法满足I/o数据的实时传输性能。使用符合CIP规范定义的标准的Scanner设备对运行有EtherNet/IP Adapter协议栈的典型的简单I/O设备进行测试,其中,主频为50MHz处理速度,内存为16位宽,Scanner设备端的测试记录见表1,测试参数是16ms通信周期,输入数据512字节,输出数据512字节·表I
接收间隔发送间隔接收报文数发送报文数
16.30 毫秒16.03 毫秒123230125314从表I的测试结果可以看出,收发约12万个报文后,简单I/O设备比PC机滞后约2084 (125314 - 123230=2084)个报文,这个偏差太多,也就是说无法实时的保证16ms的通
信周期。因此,如何保证简单输入输出设备的实时性,避免收发延迟,成为目前最需要解决的问题。

发明内容
有鉴于此,本发明的设计目的在于,一种简单输入输出设备的EtherNet/IPAdapter协议栈控制方法,以保证简单输入输出设备的传输数据的实时性,避免收发延迟。本发明实施例是这样实现的一种简单输入输出设备的EtherNet/IP Adapter协议栈控制方法,包括当与外部设备建立通信连接时,则接收所述外部设备发送的输入/输出I/O报文,关闭接收显式报文的接口,并对所述I/o报文进行处理,再将处理后的数据发送给所述外部设备;当与所述外部设备断开通信连接时,则打开接收所述显式报文的接口。优选地,当与外部设备建立通信连接时,还包括记录所述I/O报文的相关参数;显示所述相关参数。优选地,所述相关参数具体为收发报文数。优选地,所述相关参数具体为丢失报文数。
优选地,所述相关参数具体为收发延时。优选地,在与外部设备建立通信连接后,还包括计算没有接收到报文的间隔时间;当所述间隔时间大于预设时限时,则与所述外部设备断开通信连接,并打开接收所述显式报文的接口。优选地,在与外部设备建立通信连接后,还包括当接收到断开通信连接的指令时,则与所述外部设备断开通信连接,并打开接收所述显式报文的接口。与现有技术相比,本实施例提供的技术方案具有以下优点和特点
在本发明提供的方案中,在与外部设备建立通信连接时,则关闭接收显式报文的接口。因为对于简单输入输出设备来说,就仅需要I/o报文的传输,不需具备复杂的消息数据通信、网络管理等功能,所以关闭接收显式报文的接口会避免处理一些不需要用到的复杂的数据处理过程,从而本发明提供的方案可以降低处理开销,可以保证处理能力低的简单输入输出设备的传输数据的实时性,从而避免收发延迟。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I为现有的主控设备和简单输入输出设备的数据交互示意图;图2为本发明所提供的一种简单输入输出设备的EtherNet/IP Adapter协议栈控制方法的流程图;图3为本发明所提供的状态转换图;图4为本发明所提供的简单输入输出设备的内部对象模型。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供了一种简单输入输出设备的EtherNet/IP Adapte协议栈控制方法,包括当与外部设备建立通信连接时,则接收所述外部设备发送的输入/输出I/O报文,关闭接收显式报文的接口,并对所述I/O报文进行处理,再将处理后的数据发送给所述外部设备;当与所述外部设备断开通信连接时,则打开接收所述显式报文的接口。由于上述简单输入输出设备的协议栈控制方法的具体实现存在多种方式,下面通过具体实施例进行详细说明请参见图I所示,图I所示的为一种简单输入输出设备的协议栈控制方法的流程图,包括
步骤S11、当与外部设备建立通信连接时,则接收所述外部设备发送的输入/输出I/o报文,关闭接收显式报文的接口,并进入步骤S12中;步骤S12、对所述I/O报文进行处理,并进入步骤S13中;步骤S13、将处理后的数据发送给所述外部设备;步骤S14、当与所述外部设备断开通信连接时,则打开接收所述显式报文的接口。在图2所示的实施例中,在与外部设备建立通信连接时,则关闭接收显式报文的接口。因为对于简单输入输出设备来说,就仅需要I/o报文的传输,不需具备复杂的消息数据通信、网络管理等功能,所以关闭接收显式报文的接口 会避免处理一些不需要用到的复杂的数据处理过程,从而本发明提供的方案可以降低处理开销,可以保证处理能力低的简单输入输出设备的传输数据的实时性,从而避免收发延迟。在图2所示的实施例中,当与外部设备建立通信连接时,还可以包括以下步骤记录所述I/o报文的相关参数,显示所述相关参数。其中,此为通信状态统计,相关参数具体可以为收发报文数、丢失报文数和收发延时等,便于用户通过此功能查看简单输入输出设备的通信状态。在图2所示的实施例中,在与外部设备建立通信连接后,还可以包括以下步骤计算没有接收到报文的间隔时间;当所述间隔时间大于预设时限时,则与所述外部设备断开通信连接,并打开接收所述显式报文的接口。其中,此为通信超时监测,是在设定的时限内若没有收到报文,就认为通信超时异常,则与所述外部设备断开通信连接,并立即通知设备返回正常模式状态,即打开接收所述显式报文的接口,以响应所有的EtherNet/IP报文。另夕卜,在与外部设备建立通信连接后,还可以包括当接收到断开通信连接的指令时,则与所述外部设备断开通信连接。此为通过用户输入的断开通信连接的指令来使外部设备断开通信连接。请参见图3和图4所示,本发明提供的实施例,可以理解为相当于是在原有协议栈中弓I入一个简化模式状态,在连接建立通信正常后,就进入简化模式状态。这一简化模式状态仅保留I/o连接对象和应用对象,同时增加一个小的通信超时监测和通信状态统计功能,这样大大降低了 I/o设备的处理负荷;另外,当通信超时后,就会立即返回到原有的状态,来响应所有的EtherNet/IP报文,以达到兼容CIP对此类设备的定义,当进入简化模式状态后,设备仅进行I/O数据的传输,由于无需处理额外的负荷,就能很好的保证I/O数据传输的实时性。下面通过实例来说明本发明所能达到的效果本发明提供的实施例引入一个简化模式状态,这样保证了简单I/O设备有限的处理能力能更多的用于处理必须要完成的任务,即保证I/o数据传输的实时性。虽然引入了一个简化状态,但当通信异常后会立即返回正常模式状态,能很好的兼容CIP规范对此类设备的定义。使用符合CIP规范定义的标准的Scanner设备对运行有本发明优化后的EtherNet/IP Adapter协议栈的典型的简单I/O设备进行测试,该简单I/O设备的处理速度为50MHz,16位宽内存,Scanner设备端的测试记录见表2,测试参数是16ms通信周期,输入数据512字节,输出数据512字节表权利要求
1.一种简单输入输出设备的EtherNet/IP Adapter协议栈控制方法,其特征在于,包括 当与外部设备建立通信连接时,则接收所述外部设备发送的输入/输出I/O报文,关闭接收显式报文的接口,并对所述I/o报文进行处理,再将处理后的数据发送给所述外部设备; 当与所述外部设备断开通信连接时,则打开接收所述显式报文的接口。
2.根据权利要求I所述的简单输入输出设备的EtherNet/IPAdapter协议栈控制方法,其特征在于,当与外部设备建立通信连接时,还包括 记录所述I/O报文的相关参数; 显示所述相关参数。
3.根据权利要求2所述的简单输入输出设备的EtherNet/IPAdapter协议栈控制方法,其特征在于,所述相关参数具体为收发报文数。
4.根据权利要求2所述的简单输入输出设备的EtherNet/IPAdapter协议栈控制方法,其特征在于,所述相关参数具体为丢失报文数。
5.根据权利要求2所述的简单输入输出设备的EtherNet/IPAdapter协议栈控制方法,其特征在于,所述相关参数具体为收发延时。
6.根据权利要求I所述的简单输入输出设备的EtherNet/IPAdapter协议栈控制方法,其特征在于,在与外部设备建立通信连接后,还包括 计算没有接收到报文的间隔时间; 当所述间隔时间大于预设时限时,则与所述外部设备断开通信连接,并打开接收所述显式报文的接口。
7.根据权利要求I所述的简单输入输出设备的EtherNet/IPAdapter协议栈控制方法,其特征在于,在与外部设备建立通信连接后,还包括 当接收到断开通信连接的指令时,则与所述外部设备断开通信连接,并打开接收所述显式报文的接口。
全文摘要
本发明公开了一种简单输入输出设备的EtherNet/IP Adapte协议栈控制方法,包括当与外部设备建立通信连接时,则接收外部设备发送的输入/输出I/O报文,关闭接收显式报文的接口,并对I/O报文进行处理,再将处理后的数据发送给外部设备;当与外部设备断开通信连接时,则打开接收显式报文的接口。在与外部设备建立通信连接时,则关闭接收显式报文的接口。因为对于简单输入输出设备来说,就仅需要I/O报文的传输,不需具备复杂的消息数据通信、网络管理等功能,所以关闭接收显式报文的接口会避免处理一些不需要用到的复杂的数据处理过程,从而本发明提供的方案可以降低处理开销,可以保证处理能力低的简单输入输出设备的传输数据的实时性,从而避免收发延迟。
文档编号H04L29/08GK102724134SQ201210235890
公开日2012年10月10日 申请日期2012年7月10日 优先权日2012年7月10日
发明者任湘辉, 唐军, 姚晓阳, 杨卫峰, 蒋国涛, 蒋晓艳, 邹智荣 申请人:南车株洲电力机车研究所有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1