用于检查plc以太网通信模块的ip地址冲突的方法

文档序号:10616113阅读:1576来源:国知局
用于检查plc以太网通信模块的ip地址冲突的方法
【专利摘要】本发明公开了一种用于检查IP地址冲突的方法,所述方法包括:通过设置PLC以太网通信模块的IP地址作为目的地来发送ARP(地址解析协议)请求消息;接收响应于所述ARP请求消息的ARP应答消息;判定所述ARP应答消息中所包含的MAC(媒体访问控制)地址与所述PLC以太网通信模块的MAC地址是否相同;以及,当所述ARP应答消息中所包含的MAC(媒体访问控制)地址与所述PLC以太网通信模块的MAC地址不同时,判定发生IP地址冲突。
【专利说明】
用于检查PLC以太网通信模块的IP地址冲突的方法
技术领域
[0001]本公开涉及一种用于检查IP地址冲突的方法。更具体地,本公开涉及一种用于PLC(可编程逻辑控制器)以太网通信模块来检查网络中发生的IP地址冲突的方法。
【背景技术】
[0002]从过去到现在,基于RS-485或RS-422的现场总线协议已被普遍用作工业通信协议。然而,最近,易于安装并具有很快的通信速度的基于以太网的协议的使用正在逐渐增加。
[0003]因此,有时会将常规的基于RS-485或RS-422的协议的物理层改变为基于以太网,并建立新的标准。
[0004]在基于以太网的工业协议之中,因为IP(互联网协议)便于与使用者的PC(个人计算机)相连接,所以,IP具有能够使用各种上层应用的优点。
[0005]然而,在工业现场的网络中存在大量的PLC和PC。因此,当各PLC和各PC使用网络协议进行连接时,IP可能会发生冲突。
[0006]当在网络中发生IP冲突时,会发生故障,数据不能被正常发送。
[0007]因此,为了使用基于以太网的协议稳定地接收并发送数据,需要对用于当IP冲突时检查网络中IP地址冲突的方法进行研究。

【发明内容】

[0008]因此,本公开试图解决现有技术中的上述问题,并且本公开内容的目的是提供一种用于PLC以太网的检查网络中发生的IP冲突的方法。
[0009]本公开的一个总体方案中,提供了一种用于检查PLC以太网通信模块的IP地址冲突的方法,该方法包括:通过将PLC以太网通信模块的IP地址设置为目的地来发送ARP(地址解析协议)请求消息;接收响应于ARP请求消息的ARP应答消息;判定述ARP应答消息中所包含的MAC(媒体访问控制)地址与PLC以太网通信模块的MAC地址是否是相同的;以及,当ARP应答消息中所包含的MAC(媒体访问控制)地址与PLC以太网通信模块的MAC地址不同时,判定发生IP地址冲突。
[0010]在本公开的一些示例性实施例中,当接收到请求检查IP地址冲突的信号时或当发生中断时,执行发送所述ARP请求消息的步骤。
[0011]在本公开的一些示例性实施例中,所述中断是由被配置成以预定时间间隔产生中断的定时器所产生。
[0012]在本公开的一些示例性实施例中,该方法可以进一步包括:作为判定所述IP地址冲突的发生的步骤的结果,当判定发生IP地址冲突时,停止PLC以太网通信模块的通信并发出IP地址冲突的警告。
[0013]在本公开的一些示例性实施例中,该方法还可以包括:作为判定所述IP地址冲突的发生的步骤的结果,当判定发生IP地址冲突时,删除存储在PLC以太网通信模块的ARP表中的ARP应答消息所包含的数据。
[0014]在本公开的一些示例性实施例中,方法可以进一步包括:作为判定所述IP地址冲突的发生的步骤的结果,当未判定为发生所述IP地址冲突时,判定通信是否中断;以及,当通信被判定为中断时,重新开始通信。
[0015]根据本公开的示例性实施例,在PLC操作之前或操作过程中,PLC以太网模块可检查网络中是否存在具有重复的IP地址的任何装置。
[0016]因此,可以判定网络中是否存在任何重复IP,从而,通过警告使用者在网络中存在重复IP的事实,可以防止数据的损坏或丢失以及网络故障。
【附图说明】
[0017]图1是常规PLC以太网通信模块使用TCP(传输控制协议)发送和接收数据的流程图。
[0018]图2是示出根据本公开示例性实施例的包括具有IP冲突检查功能的PLC以太网通信模块的网络的实施例的示意图。
[0019]图3是示出根据本公开第一示例性实施例的PLC以太网通信模块检查IP地址冲突过程的流程图。
[0020]图4是示出根据本公开第二示例性实施例的PLC以太网通信模块检查IP地址冲突过程的流程图。
具体实施例
[0021]下面,将参照附有附图的示例性实施例对本公开的优点和内容及其实现方法进行更全面描述。然而,本公开的内容可以体现为不同的形式,而不应被解释为限于这里所阐述的实施例。相反,提供这些实施例是为了使本公开是充分的和完整的,并将本公开的范围充分地传达给本领域技术人员。本公开的范围将仅由权利要求的范围来限定。整个说明书中相同的标号表示相同的部件。在附图中,为了清晰起见,层和区域的厚度可能被放大。
[0022]当对本公开相关的已知功能或结构的详细描述被判定为可能避开本公开的重点时,其详细描述可以被省略。此外,在说明书和权利要求书中使用的特定术语或词语的含义不应限于字面或通常使用的含义,而应该根据使用者的意图或操作员的习惯用法被解释或者可以是不同的。因此,特定术语或词语的定义应该基于整个说明书的内容。
[0023]图1是常规PLC以太网通信模块使用TCP(传输控制协议)发送和接收数据的流程图。
[0024]图1(a)是常规PLC以太网通信模块使用TCP(传输控制协议)发送数据的流程图。PLC以太网模块将ARP(地址解析协议)请求消息发送到对方通信装置(Sll),接收由对方通信装置发送的ARP应答消息(S12),并请求与ARP中所包含的MAC地址(媒体访问控制)的三次握手(S13)。三次握手完成后,PLC以太网通信模块的TCP层发送数据,连接对方通信装置,以便发送数据(S14)。
[0025]这里,三次握手是为了在通信装置之间建立连接而常用的协议。通信装置变得可用于进行通信。
[0026]图1(b)是常规PLC以太网通信模块使用TCP(传输控制协议)接收数据的流程图。PLC以太网模块接收来自对方通信装置(S21)的ARP请求消息,发送ARP应答消息(S22),并当从对方通信装置接收到三次握手请求时,开始三次握手(S23)。当三次握手完成后,PLC以太网通信模块的TCP层发送数据且连接到对方通信装置时,PLC以太网通信模块从对方通信装置接收数据,并检查该数据的目的地IP与PLC以太网通信模块的IP是否相同(S24),当该数据的目的地IP与PLC以太网通信模块的IP相同时,处理该数据(S25)。
[0027]作为另一个例子,常规的PLC以太网通信模块使用UDP(使用者数据报协议)接收并发送数据。在这种情况下,如果没有指定对方通信装置的IP,PLC以太网通信模块对数据进行广播,接收由对方通信装置发送的数据,并验证所接收的数据是否被发送到PLC以太网通信模块本身,并处理该数据。
[0028]这样,常规的PLC以太网通信模块单方面发送或接收数据,因此,存在这样的问题,即,即使在网络中存在具有重复IP的装置,常规的PLC以太网通信模块本身也不能断定。当在网络中发生IP地址冲突时,则会发生数据不能被正常发送的故障。
[0029]因此,本公开提出用于PLC以太网通信模块周期性地或每当使用者想要检查时来检查在网络中是否存在使用重复IP的任何装置的方法。
[0030]下面,将参照附图对根据本公开的示例性实施例的用于检查PLC以太网通信模块之间的IP冲突的方法进行详细描述。
[0031]图2是示出根据本公开示例性实施例的包括具有IP冲突检查功能的PLC以太网通信模块的网络的实施例的示意图。
[0032]多个通信装置(100,200)通过网络(300)相连接。每个通信装置(100,200)可以通过网络(300)来发送和/或接收数据。
[0033]下面,将通过假设通信装置(100)是用于检查IP冲突的装置(“IP冲突检查装置”),且通信装置(200)是被IP冲突检查装置检查的目标装置(“IP地址冲突检查目标装置”)对本公开的示例性实施例进行描述。
[0034]在此,IP冲突检查装置(100)和IP冲突检查目标装置(200)可分别包括被配置为与其它通信装置进行通信的通信模块(110,210)。
[0035]例如,IP冲突检查装置(100)可以是PLC,通信模块(110,210)可以是基于以太网的通信模块(“以太网通信模块”),以及IP冲突检查目标装置(200)可以是具有IP地址的各种类型的装置。
[0036]IP冲突检查装置(100)的通信模块(110)可以通过根据本公开的示例性实施例的检查IP地址冲突的方法来判定IP冲突检查目标装置(200)的IP是否冲突。
[0037]在下文,将参照附图描述用于PLC以太网通信模块检查IP冲突的方法。
[0038]图3是示出根据本公开第一示例性实施例的PLC以太网通信模块检查IP地址冲突过程的流程图。
[0039]参照图3,通信模块(110)判定是否接收到IP地址冲突检查请求(S31)。当判定接收到IP地址冲突检查请求(S31 -是)时,通信模块(110)发送包括被设置为对方通信模块(210)的目的地的通信模块(110)本身的IP地址的ARP请求消息(S32)。这里,ARP请求消息发送到通过网络(300)连接的所有通信模块(210)。
[0040]在根据步骤S32发送ARP请求消息之后,通信模块(110)接收从对方通信模块(210)发送ARP应答消息(S33),并检查包含在ARP应答消息中的对方通信模块(210)的IP地址与通信模块(110)本身的IP地址是否相同(S34)。
[0041 ]在此,在步骤S34的检查结果中,当对方通信模块(210)的IP地址与通信模块(110)本身的IP地址不同时(S34-否),通信模块(110)判定未发生IP地址冲突,并且完成对IP地址冲突的检查。
[0042]在步骤S34的检查结果中,当对方通信模块(210)的IP地址与通信模块(110)本身的IP地址相同时(S34-是),通信模块(110)检查包含在ARP应答消息中的对方通信模块(210)的MAC地址与通信模块(110)本身的MAC地址是否是相同的(S35)。
[0043]在步骤S35的检查结果中,当对方通信模块(210)的MAC地址与通信模块(110)本身的MAC地址不同时(S35-否),通信模块(110)警告IP地址冲突(S36)。
[0044]在步骤S34的检查的结果中,当对方通信模块(210)的IP地址与通信模块(I10)本身的IP地址不相同时(S34-否),通信模块(110)判定未发生IP地址冲突,并且完成对IP地址冲突的检查。
[0045]也就是说,当对方通信模块的IP地址(210)与通信模块(110)本身的IP地址是相同的,但对方通信模块(210)的MAC地址与通信模块(110)本身的MAC地址不同时,已接收到IP地址冲突检查请求的通信模块(110)判定发生IP地址冲突。
[0046]此处,图3所示流程图是用于一个周期内的程序。这样的程序是重复执行的。
[0047]在从外部接收到检查IP地址冲突的请求的情况下,将执行这样的根据本公开第一示例性实施例的用于PLC以太网通信模块检查IP地址冲突的方法。该方法可以应用于工作者在PLC中输入初始ID并想要检查是否存在具有相同IP地址的任何装置的情况。
[0048]图4是示出根据本公开第二示例性实施例的PLC以太网通信模块检查IP地址冲突过程的流程图。
[0049]参照图4,通信模块(110)判定是否发生地址冲突检查中断(S41)。当判定发生了IP地址冲突检查中断时(S41-是),通信模块(110)发送包括被设置为对方通信模块的目的地的通信模块(110)本身的IP地址的ARP请求消息(210)和从对方通信模块(210)收到的ARP应答消息(S42)。
[0050]例如,被配置为以预定时间间隔产生中断的定时器可以产生IP地址冲突检查中断。此外,当发生通信错误或由于如停电等原因而导致的系统重新运行时,可以产生IP地址冲突检查中断。当然,也可以提出其它各种产生IP地址冲突检查中断的情况。
[0051]此外,从通信模块(110)发送的ARP请求消息可以被发送到通过网络(300)连接的所有通信模块(210)。
[0052]同时,当根据步骤S42接收到ARP应答消息时,通信模块(I10)基于ARP应答消息中包含的对方通信模块的IP地址和MAC地址(210)判定IP冲突是否发生。这里,接收到的ARP应答消息中所包含的IP地址和MAC地址被存储在ARP表中。
[0053]这里,通信模块(I10)判定ARP应答消息中所包含的IP地址与通信模块(I 1)本身的IP地址是否是相同的。当通信模块(110)判定ARP应答消息中所包含的IP地址与通信模块(I 1)本身的IP地址相同时,则通信模块(110)判定ARP应答消息中所包含的MAC地址是否与通信模块(110)本身的MAC地址是相同的。
[0054]此外,当通信模块(I10)判定ARP应答消息中所包含的IP地址与通信模块(I 1)本身的IP地址不同时,通信模块(110)判定没有发生IP地址冲突。
[0055]此外,通信模块(110)判定ARP应答消息中所包含的MAC地址是否与通信模块(110)本身的MAC地址相同。当通信模块(I 1)判定ARP应答消息中所包含的MAC地址与通信模块(I 1)本身的MAC地址相同时,通信模块(110)判定没有发生IP地址冲突。否则,当ARP应答消息中所包含的MAC地址与通信模块(I 1)本身的MAC地址不同时,通信模块(110)判定发生IP地址冲突。
[0056]同时,当在步骤S43的检查结果中通信模块(110)判定发生IP地址冲突时(S43-是),通信模块(110)停止通信(S44),并进行到步骤S41以判定是否产生IP地址冲突检查中断。
[0057]这里,停止通信(S44)的步骤可以包括警告IP地址冲突。IP地址冲突可以包括通过显示单元进行的可视警告和/或通过可听装置进行的听觉警告。
[0058]此外,在根据步骤S44停止PLC通信之后进行到步骤S41之前,可以包括删除所有的IP地址和MAC地址的步骤,其中,所有的IP地址和MAC地址是存储在ARP表中的ARP应答消息中所包含的数据。
[0059]同时,在步骤S43的检查结果中,当通信模块(110)判定没有发生IP地址冲突时(S43-否),通信模块(110)判定通信是否停止(S45)。
[0060]在步骤S45的判定结果中,当通信模块(110)判定通信被停止时(S45-是),通信模块(110)重新开始通信(S46)。
[0061 ]在步骤S45的判定结果中,当通信模块(110)判定通信没有停止(S45-否),通信模块(110)结束IP地址冲突检查。
[0062]此处,图4所示流程图是用于一个周期内的程序。这样的程序是重复执行的。
[0063]当设置IP地址冲突中断的情况下,将执行这样的根据本公开第二示例性实施例的用于PLC以太网通信模块检查IP地址冲突的方法。该方法可以被应用于工作者在操作PLC期间想要检查是否存在具有相同IP地址的任何装置情况。
[0064]虽然已经根据多个示例性实施例对根据本公开的用于检查PLC以太网通信模块的IP地址冲突的方法进行了描述,但是应当理解的是,本领域技术人员能够设想出将落在本公开的原理的精神和范围内的许多其他的改进和实施例。更具体地,在本公开、附图及所附权利要求的范围内可以对主题组合布置的组成部件和/或布置做出各种变化和修改。除了对组成部件和/或布置做出的变化和修改以外,对于本领域的技术人员来说,替代使用也将是显而易见的。
[0065]因此,上述示例性实施例和附图是旨在说明性的,而不是限制权利要求的范围。本公开内容的保护范围是由下述权利要求所限定,并且本公开范围的等效范围内的所有技术思想应被解释为包括在内。
【主权项】
1.一种用于检查PLC以太网通信模块的IP地址冲突的方法,所述方法包括: 通过将PLC以太网通信模块的IP地址设置为目的地来发送ARP(地址解析协议)请求消息; 接收响应于所述ARP请求消息的ARP应答消息; 判定所述ARP应答消息中所包含的MAC(媒体访问控制)地址与所述PLC以太网通信模块的MAC地址是否是相同的;以及, 当所述ARP应答消息中所包含的MAC(媒体访问控制)地址与所述PLC以太网通信模块的MAC地址不同时,判定发生IP地址冲突。2.根据权利要求1所述的方法,其中,当接收到请求检查IP地址冲突的信号时或当发生中断时,执行发送所述ARP请求消息的步骤。3.根据权利要求2所述的方法,其中所述中断是由被配置成以预定时间间隔产生中断的定时器所产生。4.根据权利要求1所述的方法,进一步包括: 作为判定所述IP地址冲突的发生的步骤的结果,当判定发生所述IP地址冲突时,停止PLC以太网通信模块的通信并发出IP地址冲突的警告。5.根据权利要求1所述的方法,进一步包括: 作为判定所述IP地址冲突的发生的步骤的结果,当判定发生所述IP地址冲突时,删除存储在PLC以太网通信模块的ARP表中的所述ARP应答消息所包含的数据。6.根据权利要求4所述的方法,进一步包括: 作为判定所述IP地址冲突的发生的步骤的结果,当未判定为发生所述IP地址冲突时,判定通信是否中断;以及 当通信被判定为中断时,重新开始通信。
【文档编号】H04L29/06GK105979019SQ201610136484
【公开日】2016年9月28日
【申请日】2016年3月10日
【发明人】金亨来
【申请人】Ls产电株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1