在可编程逻辑控制器系统中自动设置协议的方法

文档序号:10691035阅读:267来源:国知局
在可编程逻辑控制器系统中自动设置协议的方法
【专利摘要】本发明公开了一种自动设置协议的方法,其在可编程逻辑控制器(PLC)系统中与客户端进行通信的协议自动设置服务器中执行。所述方法包括:接收来自客户端的请求帧;基于协议栈分析所述请求帧的协议,并且根据分析结果确定对应于所述请求帧的响应帧;并且将所述响应帧发送至所述客户端。基于所述协议栈所述服务器自动分析来自所述客户端的请求帧,并且从而可以去除传统的协议预设置。
【专利说明】
在可编程逻辑控制器系统中自动设置协议的方法
技术领域
[0001]本发明涉及一种自动设置可编程逻辑控制器(PLC)系统的协议的方法。
【背景技术】
[0002]服务器-客户端系统指的是由客户端和服务器组成的网络体系结构,其频繁地在装置间通信中使用。在服务器-客户端系统中,服务器执行提供服务的功能,并且客户端执行消费由服务器所提供的服务的功能。客户端和服务器以这样的方式进行相互通信:客户端发送服务的请求至服务器,并且服务器发送对来自客户端的请求的响应。
[0003]服务器可以与一个客户端或多个客户端进行通信。该服务器支持单一协议,并且使用由服务器所支持的协议的一个客户端或多个客户端可以访问该服务器。
[0004]客户端发送请求帧至服务器,并且响应于来自客户端的请求帧,服务器发送响应帧。在下文中,服务器与客户端之间的通信过程将参考图1和图2被描述。
[0005]在图1中所示出的示例中,服务器与客户端进行相互通信。服务器11支持单一协议,并且使用由服务器11所支持的协议的客户端12访问服务器11。例如,图1的服务器11可以支持协议A,并且使用由服务器11所支持的协议A的客户端12可以访问服务器11。
[0006]客户端12与服务器11以这样的方式进行相互通信:客户端12发送服务的请求帧至服务器11,并且服务器11分析从客户端12所接收的请求帧,并且发送响应帧至客户端12。该请求帧包括例如数据读/写请求或特定服务控制的服务。
[0007]现在,参考图2示出了服务器与N个客户端进行通信的示例。服务器21支持单一协议,并且使用由服务器21所支持的协议的多个客户端22a、22b和22c访问服务器21。
[0008]例如,图2的服务器21可以支持协议A,并且使用由服务器21所支持的协议A的第一客户端22a、第二客户端22b以及第三客户端22c可以访问服务器21。如果服务器21支持协议B而不是协议A,则使用协议B的客户端可以访问服务器21。
[0009]第一客户端22a、第二客户端22b以及第三客户端22c的至少一个将服务的请求帧发送至服务器21,并且服务器21分析从至少一个客户端(例如,第一客户端22a)所接收的请求帧,并且响应于请求帧将响应帧发送至客户端22a。该请求帧包括例如数据读/写请求或特定服务控制的服务。
[0010]然而,在图1和图2中,服务器只支持单一协议,并且因此只有使用了由服务器所支持的协议的客户端才可以访问该服务器。当服务器-客户端系统尝试与使用了除由服务器所支持的协议之外的协议的客户端进行通信时,需要针对该协议的额外服务器。
[0011]例如,在图3a中所示出的服务器-客户端系统中,第一服务器31a可以支持协议A,并且使用协议A的第一客户端32a可以访问第一服务器31a。然而,第一服务器31a不支持协议B,并且因此使用协议B的第二客户端32b不能访问第一服务器31a。因此,如果包括只支持单一协议(即,协议A)的服务器的服务器-客户端系统尝试与第二客户端32b进行通信,则额外地要求支持协议B的第二服务器31b,如图3b所示。
[0012]如果服务器-客户端系统包括支持多个协议的服务器,则在与客户端进行通信之前服务器务必设置要由客户端所使用的协议。在下文中,支持多个协议的服务器设置协议的过程将参考图4被描述。
[0013]例如,如图4所示,当服务器41支持多个协议(例如协议A、协议B、协议C以及协议D)时,在使用协议C与客户端42进行通信前服务器41务必执行设置协议C作为通信协议的协议预设置过程。协议预设置过程由先前识别协议C作为与客户端42之间的通信协议并且输入协议C至服务器41的管理员所执行。只有在协议C的预设置过程完成后,服务器41才可以使用协议C与客户端42进行通信。
[0014]如上所述,在相关技术中,即使使用了支持多个协议的服务器,其仍然需要针对不同的客户端执行不同协议的预设置过程。此外,在协议的设置完成后并且直到另一个协议被重置为止,服务器只可以支持一个协议。

【发明内容】

[0015]本发明的一个方面是提供一种自动设置PLC系统的协议的方法,由于服务器基于协议栈而自动分析来自客户端的请求帧,所以可以去除传统的协议预设置。
[0016]本发明的另一个方面是提供一种自动设置PLC系统的协议的方法,其中,在没有任何额外的硬件装置的情况下,协议栈在服务器上的软件中被实施以允许服务器支持多种协议。因此,可以降低系统建设成本。
[0017]本发明的另一个方面是提供一种自动设置PLC系统的协议的方法,通过该方法一个服务器可以使用不同协议与多个客户端进行通信以使得不需要针对使用不同协议的客户端的额外服务器。
[0018]本发明不限于上述方面,并且本发明的其他方面从下面的描述中将由本领域的那些技术人员所清楚地理解。
[0019]根据本发明的一个方面,一种自动设置协议的方法,其在可编程逻辑控制器(PLC)系统中与客户端进行通信的服务器中执行,该方法包括:接收来自客户端的请求帧;基于协议栈分析该请求帧的协议以根据分析结果确定该请求帧的响应帧;并且将该响应帧发送至所述客户端。
[0020]该实施例的细节问题将被包括在详细描述和附图中。
[0021]本发明的优点和/或特征以及获得它们的方法将从以下所给出的详细描述与附图一起变得更显而易见。然而,本发明不限于以下示例性实施例,但将以各种形式被实现,本示例性实施例能够完全揭示本发明,并且为那些本领域的技术人员提供以完全知道该发明的范围,并且本发明限定为权利要求的范围。贯穿本说明书类似的引用数字指定类似的元素。
[0022](优点)
[0023]根据本发明,由于服务器基于协议栈自动分析客户端的请求帧,所以可以去除传统的协议预设置。
[0024]此外,根据本发明,服务器可以通过在服务器上的软件中实施协议栈来支持各种协议,并且因此不需要额外的硬件装置。因此,可以降低系统建设成本。
[0025]此外,根据本发明,一台服务器可以使用不同协议与多个客户端进行通信,使得针对使用不同协议的客户端的额外服务器是不需要的。
【附图说明】
[0026]图1是说明了服务器和客户端的一对一通信结构的框图。
[0027]图2是说明了服务器和多个客户端的一对N通信结构的框图。
[0028]图3是说明了服务器和使用不同协议的多个客户端的一对N通信结构的框图。
[0029]图4是说明了协议预设置过程的框图。
[0030]图5是说明了根据本发明的示例性实施例的协议自动设置服务器的内部结构的框图。
[0031 ]图6是说明了分析请求帧的过程的图。
[0032]图7是说明了根据本发明的示例性实施例的自动设置协议的方法的流程图。
[0033]图8是说明了根据本发明的另一个示例性实施例的协议自动设置服务器的内部结构的框图。
[0034]图9是说明了根据本发明的另一个示例性实施例的自动设置协议的方法的流程图。
【具体实施方式】
[0035]在下文中,本发明的示例性实施例将参考附图被详细描述。
[0036]如在此所使用的,术语“协议栈”指的是其中存储了多个协议的存储区。需要注意的是,协议只可以以一个方向被存储在另一个协议上。例如,当协议A、协议B和协议C以这个顺序存储时,协议A被存储,然后协议B被存储在协议A的上层,并且协议C被存储在协议B的上层。
[0037]同样地,协议只可以以一个方向被读取。例如,当协议A被存储时,协议B被存储在协议A的上层,并且协议C被存储在协议B的上层,协议C被首先读取,协议B被第二读取,并且协议A被最后读取。
[0038]如在此所使用的,术语“栈寄存器”指的是对应于在协议栈的最高层处的存储区的寄存器。例如,当协议A被存储时,协议B被存储在协议A的上层,并且协议C被存储在协议B的上层,栈寄存器指的是其中存储协议C的存储区。当协议C从栈寄存器被读取时,其中存储协议B的存储区变为栈寄存器。
[0039]图5是说明了根据本发明的示例性实施例的协议自动设置服务器的内部结构的框图。
[0040]参考图5,协议自动设置服务器100包括接收单元110、协议分析单元120以及发送单元130。
[0041]接收单元110接收来自客户端的请求帧,并且将该请求帧提供至协议分析单元120。
[0042 ]协议分析单元120包括协议栈121。在协议栈121处,存储了多个协议。
[0043]基于在协议桟121处所存储的协议,协议分析单元120分析从接收单元110所接收的请求帧的协议,并且根据分析结果将对应于该请求帧的响应帧提供至发送单元130。在下文中,协议分析单元120的执行过程将参考图6被描述。
[0044]在协议栈121处,多个协议可以以特定的顺序被存储。
[0045]在示例性实施例中,在协议栈121处,协议可以以客户端最频繁使用的协议的顺序被存储。例如,当协议A、协议B和协议C由客户端以上面的顺序最频繁地所使用时,在协议栈121处,协议C可以被存储,在协议C的上层处,协议B可以被存储,并且在协议B的上层处,协议A可以被存储。
[0046]如图6a所示,协议分析单元120在协议栈121处读取栈寄存器指示的存储区处存储的协议A,并且确定协议A与请求帧的协议是否一致。在这种情况下,当在协议桟121处读取协议A时,栈寄存器指示协议B所存储在的存储区,如图6b所示。
[0047]如果在协议栈121处所读取的协议A与请求帧的协议一致,则协议分析单元120使用协议A将对应于该请求帧的响应帧提供至发送单元130。
[0048]如果在协议栈121处所读取的协议A与请求帧的协议不一致,则协议分析单元120读取栈寄存器指示的存储区处存储的协议B,并且确定协议B与请求帧的协议是否一致,如图6b所示。在这种情况下,当在协议栈121处读取协议B时,栈寄存器指示协议C所存储在的存储区,如图6c所示。
[0049]如果在协议栈121处所读取的协议B与请求帧的协议一致,则协议分析单元120使用协议B将对应于该请求帧的响应帧提供至发送单元130。
[0050]如果在协议栈121处所读取的协议B与请求帧的协议不一致,则协议分析单元120读取栈寄存器指示的存储区处存储的协议C,并且确定协议C与请求帧的协议是否一致,如图6c所示。在这种情况下,当在协议栈121处读取协议C时,协议分析单元120指示协议栈121的最后部分,如图6d所不。
[0051]如果在协议栈121处所读取的协议C与请求帧的协议一致,则协议分析单元120使用协议C将响应帧提供至发送单元130。
[0052]如果在协议栈121处所读取的协议C与请求帧的协议不一致,则意味着所存储的协议不存在于协议栈121处,并且因此协议分析单元120删除对应的请求帧。因此,当发送单元130从协议分析单元120接收对应于请求帧的响应帧时,发送单元130将响应帧提供至客户端。
[0053]图7是说明了根据本发明的示例性实施例的自动设置协议的方法的流程图。
[0054]参考图7,协议自动设置服务器100接收来自客户端的请求帧(S710)。协议自动设置服务器100在协议栈处读取栈寄存器指示的存储区处存储的协议(S720)。协议自动设置服务器100确定在协议栈处读取的协议与请求帧的协议是否一致(S730)。
[0055]如果在协议栈处所读取的协议与请求帧的协议一致,则协议自动设置服务器100使用对应的协议将对应于请求帧的响应帧发送至客户端(S740)。
[0056]如果在协议栈处所读取的协议与请求帧的协议不一致,则自动设置服务器100确定协议是否存在于使用栈寄存器的协议栈处(S750)。如果协议不存在于使用栈寄存器的协议栈处,则协议自动设置服务器100删除该请求帧(S760)。
[0057]如果协议存在于使用栈寄存器的协议栈处,则过程返回至步骤S720并且协议自动设置服务器100反复执行该过程。
[0058]图8是说明了根据本发明的另一个示例性实施例的协议自动设置服务器的内部结构的框图。在参考图8所描述的协议自动设置服务器的另一个示例性实施例的操作或配置中,省略了与参考图6所描述的那些相同或对应的操作或配置,但是图8的另一个示例性的实施例将由本领域的普通技术人员从配置或操作所完全理解。
[0059]参考图8,协议自动设置服务器100还可以包括协议管理单元140以及报警提供单元150,并且协议管理单元140还可以包括协议DB 141。
[0060]协议管理单元140管理由于在从客户端所接收的请求帧中与请求帧对应的协议不存在于协议栈121处而没有被处理的请求帧的协议。出于这个理由,当对应于请求帧的协议不存在于协议栈121处时,协议分析单元120可以通过报警提供单元150为用户提供通知其中协议不存在的请求帧被接收的报警,并且为管理单元140提供对应的请求帧的协议。
[0061 ]当从协议分析单元120接收到对应于请求帧的协议时,协议管理单元140在协议DB141处存储所接收的协议。在这种情况下,如果从协议分析单元120所接收的协议(S卩,对应于请求帧的协议)不存在于协议DB 141处,则协议管理单元140将该协议添加至协议DB141,并且如果从协议分析单元120所接收的协议(S卩,对应于请求帧的协议)存在于协议DB141处,则协议管理单元140增加先前所存储的协议的请求数量。
[0062]以这种方式,协议管理单元140增加对应于请求帧的协议的请求数量的原因是为了建议不存在的、但是在协议的基础上通过管理请求状态对用户具有许多请求数量的协议的安装
[0063]出于这个理由,如果在协议DB141处存储的协议的请求数量大于特定的数量,则协议管理单元140可以通过报警提供单元150为用户提供通知对应的协议的请求状态的报塾目ο
[0064]因此,通过调整在软件中实现的协议栈的源代码以支持对应的协议,在没有任何额外的硬件装置的情况下,用户可以使能协议栈支持对应的协议。
[0065]图9是说明了根据本发明的另一个示例性实施例的自动设置协议的方法的流程图。
[0066]参考图9,当协议自动设置服务器100接收来自客户端的请求帧时,协议自动设置服务器100在协议栈处读取栈寄存器指示的存储区处存储的协议(S910),并且确定在协议栈处所读取的协议与对应于请求帧的协议是否一致(S920)。
[0067]如果在协议栈处所读取的协议与对应于请求帧的协议一致,则协议自动设置服务器100将对应于请求帧的响应帧发送至使用对应的协议的客户端(S921)。如果在协议栈处所读取的协议与对应于请求帧的协议不一致,则协议自动设置服务器100确定对应于请求帧的协议是否存在于协议DB处(S930)。
[0068]如果对应于请求帧的协议不存在于协议DB处,则协议自动设置服务器100在协议DB处存储对应于请求帧的协议(S931)。
[0069]如果对应于请求帧的协议存在于协议DB处,则该协议自动设置服务器100增加先前存储在协议DB处的协议的请求数量,S卩,对应于请求帧的协议(S940)。以这种方式,协议自动设置服务器100增加先前存储的协议的请求数量(S卩,对应于请求帧的协议)的原因是为了建议不存在的、但是在协议的基础上通过管理请求状态对用户具有许多请求数量的协议的安装。
[0070]协议自动设置服务器100确定在协议DB处存储的协议的请求数量是否大于特定的数量(S950)。
[0071]如果在协议DB处存储的协议的请求数量大于特定的数量,则协议自动设置服务器100可以向用户提供通知对应的协议的请求状态的报警(S960)。
[0072]因此,通过调整在软件中实现的协议栈的源代码以支持对应的协议,在没有任何额外的硬件装置的情况下,用户可以使能协议栈支持对应的协议。
[0073]根据本发明,在服务器上的软件中实施了协议栈以允许服务器支持各种协议,使得不需要额外的硬件装置。因此,可以降低系统建设成本。此外,根据本发明,一台服务器可以与使用不同的协议的多个客户端进行通信,并且因此不需要支持不同的协议的额外的服务器。
[0074]到目前为止,虽然本公开的具体的示例性实施例已经被描述,但是在不背离本公开的范围的情况下,可以做出各种修改。因此,本公开的范围不是被解释为受限于上述示例性实施例,而是由下面的权利要求以及其等同体所限定的。
[0075]虽然本公开已经参考示例性实施例以及附图所描述,其不限于上述的示例性实施例,但是可以由本领域的那些技术人员从上面的描述来进行各种的修改和改变。因此,本公开的精神和保护范围只由下面的权利要求所限定,并且所有的等价以及等同的权利要求的修改应该旨在落入本公开的精神和保护范围内。
【主权项】
1.本发明公开了一种自动设置协议的方法,其在可编程逻辑控制器(PLC)系统中与客户端进行通信的服务器中执行,所述方法包括: 接收来自客户端的请求帧; 基于协议栈分析所述请求帧的协议以根据分析结果确定所述请求帧的响应帧;并且 将所述响应帧发送至所述客户端。2.根据权利要求1所述的方法,其中,所述分析包括: 读取在被指定为所述协议栈的栈寄存器的存储区中存储的协议; 确定读取的协议与所述请求帧的协议是否一致; 根据确定结果处理所述请求帧。3.根据权利要求2所述的方法,其中,所述确定包括:如果所述读取的协议与所述请求帧的协议一致,则使用所述读取的协议发送所述请求帧的响应帧。4.根据权利要求2所述的方法,其中,所述确定包括:如果所述读取的协议与所述请求帧的协议不一致,则确定所述请求帧的协议是否存在于被指定为栈寄存器的存储区中。5.根据权利要求4所述的方法,还包括: 如果任意协议存在,则读取来自被指定为栈寄存器的存储区的协议。6.根据权利要求4所述的方法,其中,确定所述请求帧的协议是否存在包括:如果对应于所述请求帧的协议不存在于被指定为栈寄存器的存储区中,则删除所述请求帧。7.根据权利要求2所述的方法,其中,确定所述读取的协议与所述请求帧的协议是否一致包括:如果从所述协议桟读取的协议与所述请求帧的协议不一致,则确定所述请求帧的协议是否已经存储在协议DB中。8.根据权利要求7所述的方法,其中,确定所述请求帧的协议是否存储在所述协议DB中包括: 如果所述请求帧的协议没有存储在所述协议DB中,则在所述协议DB中存储所述请求帧的协议;以及 如果所述请求帧的协议存储在所述协议DB中,则增加所述请求帧的协议的请求数量。9.根据权利要求8所述的方法,其中,增加所述请求数量包括:如果所述请求数量超过预定的数量,则提供通知用户所述请求帧的协议的当前请求状态的报警。
【文档编号】H04L29/06GK106059990SQ201610225410
【公开日】2016年10月26日
【申请日】2016年4月12日 公开号201610225410.5, CN 106059990 A, CN 106059990A, CN 201610225410, CN-A-106059990, CN106059990 A, CN106059990A, CN201610225410, CN201610225410.5
【发明人】金基明, 尹建
【申请人】Ls产电株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1