Abstract:
A method for checking an IP address collision is provided. The method includes: transmitting an ARP (Access Resolution Protocol) request message by setting an IP address of the PLC Ethernet communication module as a destination; receiving an ARP reply message responding to the ARP request message; determining whether an MAC (Media Access Control) address included in the ARP reply message is identical to an MAC address of the PLC Ethernet communication module; and determining that an IP address collision occurs, when the MAC (Media Access Control) address included in the ARP reply message is not identical to the MAC address of the PLC Ethernet communication module.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    Pursuant to 35 U.S.C. §119(a), this application claims the benefit of earlier filing date and right of priority to Korean Patent Application No. 10-2015-0033357, filed on Mar. 10, 2015, the contents of which are all hereby incorporated by reference herein in its entirety. 
       BACKGROUND 
       [0002]    1. Field of the Disclosure 
         [0003]    The present disclosure relates to a method for checking an IP address collision. More particularly, the present disclosure relates to a method for a PLC (Programmable Logic Controller) Ethernet communication module to check IP address collisions occurring in a network. 
         [0004]    2. Discussion of the Related Art 
         [0005]    From the past to the present, field bus protocols base on RS-485 or RS-422 have been generally used as industrial communication protocols. However, recently, use of 
         [0006]    Ethernet-based protocols that are easy to be installed and have fast communication speed is gradually being increased. 
         [0007]    Accordingly, the conventional RS-485 or RS-422-based protocols are occasionally change their physical layers to be based on Ethernet and established as new standards. 
         [0008]    Among the industrial protocols based on Ethernet, the IP (Internet Protocol) has an advantage of capability to use various upper level applications, because the IP facilitates to interface with the user&#39;s PC (Personal Computer). 
         [0009]    However, there exist a large number of PLCs and PCs in a network of an industrial field. Therefore, IPs may collide when the PLCs and PCs are connected using internet protocols. 
         [0010]    A malfunction occurs where data cannot be normally transmitted, when the IPs collide in the network. 
         [0011]    Therefore, researches on methods for checking an IP address collision when IPs collide in a network are required, in order to stably transmit and receive data using Ethernet-based protocols. 
       SUMMARY OF THE DISCLOSURE 
       [0012]    Accordingly, the present disclosure is contrived to solve the foregoing problem of the related art, and an object of the present disclosure is to provide a method for a PLC Ethernet to check IP collisions occurring in a network. 
         [0013]    In a general aspect of the present disclosure, there is provided a method for checking an IP address collision of a PLC Ethernet communication module, the method comprising: transmitting an ARP (Access Resolution Protocol) request message by setting an IP address of the PLC Ethernet communication module as a destination; receiving an ARP reply message responding to the ARP request message; determining whether an MAC (Media Access Control) address included in the ARP reply message is identical to an MAC address of the PLC Ethernet communication module; and determining that an IP address collision occurs, when the MAC (Media Access Control) address included in the ARP reply message is not identical to the MAC address of the PLC Ethernet communication module. 
         [0014]    In some exemplary embodiments of the present disclosure, the step of transmitting the ARP request message may be performed when a signal requesting for IP address collision check is received or when an interrupt occurs. 
         [0015]    In some exemplary embodiments of the present disclosure, the interrupt may be generated by a timer configured to generate an interrupt at an interval of a predetermined period. 
         [0016]    In some exemplary embodiments of the present disclosure, the method may further comprise: stopping communication of the PLC Ethernet communication module and warning of the IP address collision, when the IP address collision is determined to occur, as a result of the step of determining that the IP address collision occurs. 
         [0017]    In some exemplary embodiments of the present disclosure, the method may further comprise: deleting data included in the ARP reply message stored in an ARP table of the PLC Ethernet communication module, when the IP address collision is determined to occur, as a result of the step of determining that the IP address collision occurs. 
         [0018]    In some exemplary embodiments of the present disclosure, the method may further comprise: determining whether the communication is interrupted, when the IP address collision is not determined to occur, as a result of the step of determining that the IP address collision occurs; and reopening the communication, when the IP address collision is not determined to be interrupted. 
         [0019]    According to an exemplary embodiment of the present disclosure, the PLC Ethernet module may check whether there is any device having duplicate IP address in a network, before or during the PLC operation. 
         [0020]    Therefore, it may be ascertained whether there exists any duplicate IP in the network, and thereby damage or loss of data and network malfunction may be prevented, by warning the user a fact that there is a duplicate IP in the network. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0021]      FIG. 1  is a flow chart where a conventional PLC Ethernet communication module transmits and receives data using a TCP (Transmission Control Protocol). 
           [0022]      FIG. 2  is a view illustrating an example of a network including a PLC Ethernet communication module having IP collision checking function according to an exemplary embodiment of the present disclosure. 
           [0023]      FIG. 3  is a flow chart illustrating a process where a PLC Ethernet communication module checks an IP address collision according to a first exemplary embodiment of the present disclosure. 
           [0024]      FIG. 4  is a flow chart illustrating a process where a PLC Ethernet communication module checks an IP address collision according to a second exemplary embodiment of the present disclosure. 
       
    
    
     DETAILED DESCRIPTION 
       [0025]    Advantages and features of the present disclosure and methods to implement them will now be described more fully hereinafter with reference to exemplary embodiments accompanied by drawings. The present disclosure may, however, be embodied in different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the present disclosure to those skilled in the art. The scope of the present disclosure shall be defined only by the scope of claims. The same reference numbers indicate the same components throughout the specification. In the attached figures, the thickness of layers and regions may be exaggerated for clarity. 
         [0026]    When it is determined that a detailed description about known function or structure relating to the present disclosure may evade the main point of the present disclosure, the detailed description may be omitted. In addition, the meaning of specific terms or words used in the specification and claims should not be limited to the literal or commonly employed sense, but should be construed or may be different in accordance with the intention of a user or an operator and customary usages. Therefore, the definition of the specific terms or words should be based on the contents across the specification. 
         [0027]      FIG. 1  is a flow chart where a conventional PLC Ethernet communication module transmits and receives data using a TCP (Transmission Control Protocol). 
         [0028]      FIG. 1( a )  is a flow chart where a conventional PLC Ethernet communication module transmits data using a TCP (Transmission Control Protocol). The PLC Ethernet module transmits an ARP (Address Resolution Protocol) request message to a counterpart communication device (S 11 ), receives an ARP reply message transmitted from the counterpart communication device (S 12 ), and requests a three-way handshaking to an MAC (Media Access Control) address included in the ARP (S 13 ). After the three-way handshaking is completed, TCP layers of the PLC Ethernet communication module transmits data and the counterpart communication device are connected so as to transmit data (S 14 ). 
         [0029]    Here, the three-way handshaking is a protocol that is generally used in order to make connections between communication devices. The communication devices become available to communicate. 
         [0030]      FIG. 1( b )  is a flow chart where a conventional PLC Ethernet communication module receives data using a TCP. The PLC Ethernet module receives an ARP request message from the counterpart communication device (S 21 ), transmits an ARP reply message (S 22 ), and starts a three-way handshaking when the three-way handshaking request is received from the counterpart communication device (S 23 ). When TCP layers of the PLC Ethernet communication module transmits data and the counterpart communication device are connected after the three-way handshaking is completed, the PLC Ethernet communication module receives data from the counterpart communication device and check whether a destination IP of the data is identical to the IP of the PLC Ethernet communication module (S 24 ), and process the data when the destination IP of the data is identical to the IP of the PLC Ethernet communication module (S 25 ). 
         [0031]    As another example, the conventional PLC Ethernet communication module transmits and receives data using a UDP (User Datagram Protocol). In such case, the PLC Ethernet communication module broadcasts data without designating IP of the counterpart communication device, receives data transmitted from the counterpart communication device and verifies whether the received data is sent to the PLC Ethernet communication module itself, and processes the data. 
         [0032]    On this wise, the conventional PLC Ethernet communication module unilaterally transmits or receives data, and therefore, has a problem in that the conventional PLC Ethernet communication module is incapable of ascertaining by itself even if there is a device having duplicate IP in the network. A malfunction where the data cannot be normally transmitted occurs when IPs collide in the network. 
         [0033]    Hence, the present disclosure proposes a method for the PLC Ethernet communication module to check whether there is any device using duplicate IP in the network, periodically or whenever a user wants to check. 
         [0034]    Hereinafter, a method for checking IP collision between PLC Ethernet communication modules according to an exemplary embodiment of the present disclosure will be described in detail with reference to enclosed drawings. 
         [0035]      FIG. 2  is a view illustrating an example of a network including a PLC Ethernet communication module having IP collision checking function according to an exemplary embodiment of the present disclosure. 
         [0036]    A plurality of communication devices ( 100 ,  200 ) is connected through a network ( 300 ). Each of the communication devices ( 100 ,  200 ) may transmit and/or receive data through the network ( 300 ). 
         [0037]    Hereinafter, an exemplary embodiment of the present disclosure will be described by assuming that the communication device ( 100 ) is a device for checking IP collision (‘IP collision checking device’) and the communication device ( 200 ) is a target device to be checked by the IP collision checking device (‘IP collision checking target device’). 
         [0038]    Here, the IP collision checking device ( 100 ) and the IP collision checking target device ( 200 ) may respectively include a communication module ( 110 ,  210 ) configure to communicate with other communication devices. 
         [0039]    For example, the IP collision checking device ( 100 ) may be a PLC, the communication modules ( 110 ,  210 ) may be communication modules based on Ethernet (‘Ethernet communication module’), and the IP collision checking target device ( 200 ) may be all kinds of devices having an IP address. 
         [0040]    The communication module ( 110 ) of the IP collision checking device ( 100 ) may ascertain whether IPs of the IP collision checking target devices ( 200 ) collide by a method for checking IP address collision according to an exemplary embodiment of the present disclosure. 
         [0041]    Hereinafter, a method for the PLC Ethernet communication module to check IP collision will be described, with reference to the enclosed drawings. 
         [0042]      FIG. 3  is a flow chart illustrating a process where a PLC Ethernet communication module checks an IP address collision according to a first exemplary embodiment of the present disclosure. 
         [0043]    Referring to  FIG. 3 , the communication module ( 110 ) determines whether an IP address collision check request is received (S 31 ). When the IP address collision check request is determined to be received (S 31 -Yes), the communication module ( 110 ) transmits an ARP request message including an IP address of the communication module ( 110 ) itself set as a destination to the counterpart communication module ( 210 ) (S 32 ). Here, the ARP request message is transmitted to all the communication modules ( 210 ) connected through the network ( 300 ). 
         [0044]    After transmitting the ARP request message according to step S 32 , the communication module ( 110 ) receives an ARP reply message transmitted from the counterpart communication module ( 210 ) (S 33 ), and checks whether the IP address of the counterpart communication module ( 210 ) included in the ARP reply message is identical to the IP address of the communication module ( 110 ) itself (S 34 ). 
         [0045]    Here, when the IP address of the counterpart communication module ( 210 ) is not identical to the IP address of the communication module ( 110 ) itself, in a result of the checking in step S 34  (S 34 -No), the communication module ( 110 ) determines that an IP address collision does not occur, and finishes checking the IP address collision. 
         [0046]    When the IP address of the counterpart communication module ( 210 ) is identical to the IP address of the communication module ( 110 ) itself, in a result of the checking in step S 34  (S 34 -Yes), the communication module ( 110 ) checks whether the MAC address of the counterpart communication module ( 210 ) included in the ARP reply message is identical to the MAC address of the communication module ( 110 ) itself (S 35 ). 
         [0047]    When the MAC address of the counterpart communication module ( 210 ) is not identical to the MAC address of the communication module ( 110 ) itself, in a result of the checking in step S 35  (S 35 -No), the communication module ( 110 ) warns of an IP address collision (S 36 ). 
         [0048]    When the IP address of the counterpart communication module ( 210 ) is not identical to the IP address of the communication module ( 110 ) itself, in a result of the checking in step S 34  (S 34 -No), the communication module ( 110 ) determines that an IP address collision does not occur, and finishes checking the IP address collision. 
         [0049]    That is, the communication module ( 110 ) that has received an IP address collision check request determines that an IP address collision occurs, in a case when the IP address of the counterpart communication module ( 210 ) is identical to the IP address of the communication module ( 110 ) itself but the MAC address of the counterpart communication module ( 210 ) is not identical to the MAC address of the communication module ( 110 ) itself 
         [0050]    Here, the flow chart illustrated in  FIG. 3  is for a process within a cycle. Such process is performed repeatedly. 
         [0051]    Such method for checking IP address collision of the PLC Ethernet communication module according to a first exemplary embodiment of the present disclosure is performed in a case when a request for IP address collision checking is received from the outside. The method may be applied to a case where a worker inputs an initial ID in the PLC and wants to check whether there is any device having an identical IP address. 
         [0052]      FIG. 4  is a flow chart illustrating a process where a PLC Ethernet communication module checks an IP address collision according to a second exemplary embodiment of the present disclosure. 
         [0053]    Referring to  FIG. 4 , the communication module ( 110 ) determines whether an IP address collision check interrupt occurs (S 41 ). When the IP address collision check interrupt is determined to occur (S 41 -Yes), the communication module ( 110 ) transmits an ARP request message including an IP address of the communication module ( 110 ) itself set as a destination to the counterpart communication module ( 210 ) and receives an ARP reply message from the counterpart communication module ( 210 ) (S 42 ). 
         [0054]    For example, the IP address collision check interrupt may be generated by a timer configured to generate an interrupt at an interval of a predetermined period. In addition, the IP address collision check interrupt may be generated when a communication error occurs or when the system is re-operated due to the causes such as power failure. Of course, other various environments where the IP address collision check interrupt is to be generated may be suggested. 
         [0055]    In addition, the ARP request message transmitted from the communication module ( 110 ) may be transmitted to all the communication modules ( 210 ) connected through the network ( 300 ). 
         [0056]    Meanwhile, when the ARP reply message is received according to step S 42 , the communication module ( 110 ) determines whether an IP collision occurs based on the IP address and MAC address of the counterpart communication module ( 210 ) included in the 
         [0057]    ARP reply message. Here, the IP address and MAC address included in the received ARP reply message are stored in an ARP table. 
         [0058]    Here, the communication module ( 110 ) determines whether the IP address included in the ARP reply message is identical to the IP address of the communication module ( 110 ) itself. When the communication module ( 110 ) determines that the IP address included in the ARP reply message is identical to the IP address of the communication module ( 110 ) itself, then the communication module ( 110 ) determines whether the MAC address included in the ARP reply message is identical to the MAC address of the communication module ( 110 ) itself. 
         [0059]    In addition, in a case when the communication module ( 110 ) determines that the IP address included in the ARP reply message is not identical to the IP address of the communication module ( 110 ) itself, the communication module ( 110 ) determines that an IP address collision does not occur. 
         [0060]    In addition, the communication module ( 110 ) determines whether the MAC address included in the ARP reply message is identical to the MAC address of the communication module ( 110 ) itself. In a case when the communication module ( 110 ) determines that the MAC address included in the ARP reply message is identical to the MAC address of the communication module ( 110 ) itself, the communication module ( 110 ) determines that an IP address collision does not occur. Otherwise, the communication module ( 110 ) determines that an IP address collision occurs when the MAC address included in the ARP reply message is not identical to the MAC address of the communication module ( 110 ) itself. 
         [0061]    Meanwhile, when the communication module ( 110 ) determines that an IP address collision occurs, in a result of the checking in step S 43  (S 43 -Yes), the communication module ( 110 ) stops the communication (S 44 ), and proceeds to step S 41  to determine whether an IP address collision check interrupt is generated. 
         [0062]    Here, the step of stopping the communication (S 44 ) may include warning of an IP address collision. The IP address collision may include a visual waring through a display unit and/or an auditory warning through an audible device. 
         [0063]    In addition, a step of deleting all IP addresses and MAC addresses that are data included in the ARP reply message stored in the ARP table may be included, before proceeding to step S 41  after stopping the communication of the PLC according to step S 44 . 
         [0064]    Meanwhile, when the communication module ( 110 ) determines that an IP address collision does not occur, in a result of the checking in step S 43  (S 43 -No), the communication module ( 110 ) determines whether the communication is stopped (S 45 ). 
         [0065]    When the communication module ( 110 ) determines that the communication is stopped, in a result of the determination in step S 45  (S 45 -Yes), the communication module ( 110 ) reopens the communication (S 46 ). 
         [0066]    When the communication module ( 110 ) determines that the communication is not stopped, in a result of the determination in step S 45  (S 45 -No), the communication module ( 110 ) finishes the IP address collision check. 
         [0067]    Here, the flow chart illustrated in  FIG. 4  is for a process within a cycle. Such process is performed repeatedly. 
         [0068]    Such method for checking IP address collision of the PLC Ethernet communication module according to a second exemplary embodiment of the present disclosure is performed in a case when an IP address collision check interrupt is set. The method may be applied to a case where a worker wants to check whether there is any device having an identical IP address during operation of the PLC. 
         [0069]    Although a method for checking IP address collision of a PLC Ethernet communication module according to the present disclosure have been described according to a number of exemplary embodiments thereof, it should be understood that numerous other modifications and alternative embodiments can be devised by those skilled in the art that will fall within the spirit and scope of the principles of this invention. More particularly, various variations and modifications are possible in the component parts and/or arrangements of the subject combination arrangement within the scope of the disclosure, the drawing and the appended claims. In addition to variations and modifications in the component parts and/or arrangements, alternative uses will also be apparent to those skilled in the art. 
         [0070]    Therefore, the abovementioned exemplary embodiments and enclosed drawings are intended to be illustrative, and not to limit the scope of the claims. The scope of protection of the present disclosure is to be interpreted by the following claims, and that all the technical ideas within the equivalent scope of the scope of the present disclosure should be construed as being included.