Real-time communication device for PLC network and method therefor
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2026-01-27
- Publication Date
- 2026-08-13
Smart Images

Figure KR2026001595_13082026_PF_FP_ABST
Abstract
Description
Real-time communication device and method for PLC network
[0001] The present invention relates to a PLC (Programmable Logic Controller) network, and in particular to a communication technology for ensuring real-time performance of a PLC network.
[0002] A PLC (Programmable Logic Controller) is a control device used for automatic control or monitoring in factories. It receives sensor values, performs logical operations according to a user's pre-set program, and controls externally connected devices based on the results.
[0003] Recent control systems are trending toward utilizing network-based distributed control systems to enable flexible responses to installation, management, and expansion. Consequently, PLC systems are configured with various communication modules to allow connection to multiple networks.
[0004] Fieldbus systems such as EtherCAT and RAPIEnet, used in PLC networks, are designed and utilized for real-time communication in environments such as factory automation. These systems are essential for precision control tasks that require low latency and high reliability.
[0005] To this end, EtherCAT operates in a master-slave structure, providing very fast cycle times by having each node process data continuously.
[0006] In addition, Rapienet supports high-speed control while maintaining low latency between nodes through point-to-point communication.
[0007] Such low latency and high reliability are essential requirements in fields requiring precise control, such as robot control or manufacturing processes.
[0008] The Linux network layer can handle various protocols (such as TCP / IP) and provides a flexible and highly scalable structure, characterized by its ability to support multiple network protocols and efficiently manage resources.
[0009] In addition, continuous improvements are being made through support from the open source community, and it has the advantage of providing performance suitable for various network environments through powerful security and optimization features such as iptables and eBPF (Extended Berkeley Packet Filter).
[0010] However, due to the provision of various features, high-performance network applications may experience a decline in real-time processing performance caused by issues such as CPU overhead, network packet processing delays, kernel buffer management problems, and delays in security checks and filtering.
[0011] Therefore, there are difficulties in applying Linux networks to PLC networks, such as EtherCAT and Rapinet, where real-time performance is critical.
[0012] The inventors of the present invention have been making research efforts to solve the problems of communication devices for providing real-time capabilities in conventional PLC networks. After much effort to provide a PLC network communication device and a method capable of resolving CPU overhead and packet delay issues of the Linux network stack by utilizing the Linux kernel and based on eBPF and XDP (eXpress Data Path) technologies, the present invention has been completed.
[0013] The objective of the present invention is to provide a communication device and a method that can solve problems of the Linux network stack using eBPF (Extended Berkeley Packet Filter) and XDP (eXpress Data Path) technologies.
[0014] In addition, another objective of the present invention is to maximize network efficiency by resolving the CPU overhead and packet processing delay issues of Linux networks.
[0015] Meanwhile, other unspecified objectives of the present invention will be further considered to the extent that they can be easily inferred from the following detailed description and effects.
[0016] The real-time communication device of a PLC network according to the present invention is,
[0017] A memory comprising one or more instructions; and a processor for executing one or more instructions stored in the memory, wherein
[0018] The above processor includes a user space in which real-time communication protocols and applications are executed; and a kernel space including a device driver layer and a kernel network layer for controlling a network interface.
[0019] The above device driver layer is characterized by directly transmitting data packets for the real-time communication protocol among the data packets received through the network interface to the real-time communication protocol of the user space.
[0020] The above real-time communication protocol is characterized as being an EtherCAT (Ethernet for Control Automation Technology) protocol or a RAPIEnet (Real-time Automation Protocols for Industrial Ethernet) protocol.
[0021] The above device driver layer and the above real-time communication protocol are characterized by being directly connected via XDP (eXpress Data Path).
[0022] The above device driver layer is characterized by processing packet data received from the network interface using an eBPF (Extended Berkeley Packet Filter) program.
[0023] The above network interface includes a first network interface and a second network interface, and the device driver layer is characterized by transmitting a data packet received through the first network interface through the second network interface when the data packet is a data packet of another device.
[0024] The above device driver layer is characterized by analyzing the header of a data packet received through the network interface to determine whether it is a data packet for the real-time communication protocol.
[0025] The above device driver layer is characterized by analyzing the payload of a data packet received through the network interface to determine whether it is a data packet for the real-time communication protocol.
[0026] The above network interface is characterized as being a PLC (Programmable Logic Controller) network interface.
[0027] The above device driver layer is characterized by being connected to two or more network interfaces.
[0028] A real-time communication method of a PLC network according to another embodiment of the present invention is,
[0029] The method is characterized by including the steps of: receiving a data packet from a network interface; analyzing the data packet at a device driver layer for the network interface; and, if the analysis result indicates that the data packet is a data packet for a real-time communication protocol, transmitting it to the real-time communication protocol without passing through the kernel network layer.
[0030] According to the present invention, there is an effect of optimizing the real-time communication performance of a PLC network.
[0031] In addition, by resolving issues with the Linux network stack, there is an advantage in improving real-time communication performance through low-latency and high-speed packet processing in PLC network environments.
[0032] Meanwhile, it should be added that even if an effect is not explicitly mentioned here, the effects described in the following specification and the provisional effects expected by the technical features of the present invention are treated as described in the specification of the present invention.
[0033] FIG. 1 is a schematic diagram of a real-time communication device of a PLC network according to a preferred embodiment of the present invention.
[0034] FIG. 2 is a more detailed structural diagram of a real-time communication device of a PLC network according to a preferred embodiment of the present invention.
[0035] Figure 3 shows an example of a data format processed in a PLC network.
[0036] FIG. 4 is a more detailed structural diagram of a real-time communication device of a PLC network according to another preferred embodiment of the present invention.
[0037] FIG. 5 is a schematic flowchart of a real-time communication method of a PLC network according to another preferred embodiment of the present invention.
[0038] ※ It should be noted that the attached drawings are provided as examples for reference to help understand the technical concept of the present invention, and the scope of the rights of the present invention is not limited by them.
[0039] Hereinafter, with reference to the drawings, we will examine the configuration of the present invention as guided by various embodiments thereof and the effects derived therefrom. In describing the present invention, detailed descriptions of related known functions are omitted if they are deemed obvious to a person skilled in the art and could unnecessarily obscure the essence of the invention.
[0040] Terms such as 'first' and 'second' may be used to describe various components, but said components should not be limited by said terms. These terms may be used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, 'first component' may be named 'second component,' and similarly, 'second component' may be named 'first component.' Furthermore, singular expressions include plural expressions unless the context clearly indicates otherwise. Unless otherwise defined, terms used in the embodiments of the present invention may be interpreted in the sense commonly known to those skilled in the art.
[0041] Hereinafter, with reference to the drawings, we will examine the configuration of the present invention as guided by various embodiments of the present invention and the effects derived therefrom.
[0042] FIG. 1 is a schematic diagram of a real-time communication device of a PLC network according to a preferred embodiment of the present invention.
[0043] The real-time communication device (100) of the PLC network according to the present invention may include one or more processors (110) and memory (120).
[0044] The real-time communication device (100) of the PLC network aims to enable accurate real-time control of factory equipment, etc. by providing a communication method for real-time protocols for PLC networks such as EtherCAT and RAPIEnet.
[0045] The real-time communication device (100) of the PLC network may be a computing terminal. For example, the real-time communication device (100) of the PLC network may be a general-purpose computing system such as a desktop PC, laptop PC, tablet PC, netbook computer, workstation, PDA, smartphone, smart pad, or mobile phone, or a dedicated embedded system implemented based on Embedded Linux, but is not limited thereto.
[0046] The real-time communication device (100) of the PLC network may include one or more processors (110) and memory (120).
[0047] The memory (120) may store instructions, data structures, and program code that can be read by the processor (110). In embodiments, at least the operations performed by the processor (110) may be implemented by executing the instructions or code of the program stored in the memory (120).
[0048] The memory (120) may include a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a non-volatile memory including at least one of ROM (Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, a magnetic disk, and an optical disk, and a volatile memory such as RAM (Random Access Memory) or SRAM (Static Random Access Memory).
[0049] The memory (120) can store one or more instructions or programs that the real-time communication device (100) of the PLC network can use to check and process network packet data in real time.
[0050] The processor (110) controls the overall operations of the real-time communication device (100) of the PLC network. For example, the processor (110) can control the overall operations of the real-time communication device (100) of the PLC network to check and process real-time data packets of the PLC network by executing one or more instructions stored in memory (120).
[0051] The processor (110) may be composed of at least one of, for example, a Central Processing Unit, a microprocessor, a Graphic Processing Unit, ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), DSPDs (Digital Signal Processing Devices), PLDs (Programmable Logic Devices), FPGAs (Field Programmable Gate Arrays), an Application Processor, a Neural Processing Unit, or an AI-dedicated processor designed with a hardware structure specialized for processing AI models, but is not limited thereto.
[0052] FIG. 2 is a more detailed structural diagram of a real-time communication device of a PLC network according to a preferred embodiment of the present invention.
[0053] A processor (110) of a real-time communication device (100) of a PLC network according to one embodiment of the present invention may include a user space (112) and a kernel space (114).
[0054] The user space (112) may include real-time communication protocols such as the EtherCAT protocol (1121) or the RAPIEnet protocol (1122) and applications (1123).
[0055] Data packets transmitted via the EtherCAT protocol (1121) or RAPIEnet protocol (1122) can be used for real-time operation of the PLC network or can be transmitted to another device for real-time operation.
[0056] The application (1123) can be executed with applications such as user programs or PLC device applications.
[0057] The kernel space (114) may include a socket layer (1141), a TCP stack (1142), a netfilter (1143), a traffic control layer (1144), and a device driver layer (1145).
[0058] Additionally, a real-time communication protocol or application (1123) may be included in kernel space (114) rather than user space (112).
[0059] Network stacks in kernel space (114) analyze the header and payload of the received network data and process them.
[0060] To determine what the received data is, the Ethernet frame is analyzed. The destination MAC address of the Ethernet frame is examined by the hardware, and if the MAC address matches, the Ethernet frame is forwarded to the device driver layer (1145).
[0061] The device driver layer (1145) may be device driver software for controlling the network interface (1).
[0062] The network interface (1) may be a network interface card (NIC) of a PLC network, but is not limited thereto.
[0063] Data packets received from the network interface (1) are transmitted to an application (1123) in user space (112) through the device driver layer (1145), traffic control (1144), netfilter (1143), TCP stack (1142), and socket layer (1141). Here, the traffic control (1144), netfilter (1143), TCP stack (1142), and socket layer (1141) correspond to the kernel network layer.
[0064] This network stack can be implemented as a Linux network stack, but when a large amount of data packets are received, there may be a problem where data packet processing is delayed due to the overhead of the processor (110), and there may also be a problem where security checks or filtering are delayed due to kernel buffer management issues.
[0065] Therefore, in the present invention, for data packets where real-time performance is important, the real-time communication of the PLC network is guaranteed by creating a path that transmits the packet directly to the real-time communication protocol through the device driver layer (1145) without passing through all of these layers.
[0066] The device driver layer (1145) according to the present invention can use XDP (eXpress Data Path).
[0067] XDP is a high-speed packet processing mechanism that minimizes such delays by processing data packets at the level of the device driver layer (1145) of the network interface (1) before they enter the kernel space (114) from the network interface (1).
[0068] XDP is implemented based on eBPF (Extended Berkeley Packet Filter), a technology that filters or analyzes network packets by safely and efficiently injecting user code into the kernel.
[0069] Accordingly, the device driver layer (1145) analyzes data packets (Ethernet frames) from the network interface (1) based on XDP / eBPF, and if the data requires real-time performance, it transmits them directly to real-time communication protocols such as the EtherCAT protocol (1121) and RAPIEnet (1122) without passing through upper layers such as the socket layer (1141).
[0070] The device driver layer (1145) may create a separate device driver for the corresponding network device in addition to XDP / eBPF, or modify and use an existing device driver.
[0071] Alternatively, the device driver layer (1145) can also be developed using a UIO (Userspace I / O) driver.
[0072] When implementing the device driver layer (1145) with XDP / eBPF, there is an advantage in that the device driver layer (1145) can be implemented without being dependent on the network device kernel, that is, without being dependent on the network device.
[0073] Figure 3 shows an example of a data format processed in a PLC network.
[0074] A data packet (11) transmitted and received through a network interface (1) may consist of a header (12) and a frame (13) (or payload).
[0075] The header (12) may contain information about the entire data packet (11). The header (12) may include an IP header or a TCP header, etc.
[0076] The frame (13) may contain data used in applications, etc. (Application Data).
[0077] The frame (13) may include an application header (14) containing information about the data (Application Data) included in the frame (13) and an application instruction.
[0078] The device driver layer (1145) can therefore minimize delay and reduce the overhead of the processor (110) by analyzing the header (12) of the data packet (11) or the application header (14) and, if the data packet (11) is for a real-time communication protocol, by directly transmitting it to user space (112) via XDP.
[0079] The device driver layer (1145) may directly analyze the application data (13) to determine whether it is data for a real-time communication protocol in user space (112).
[0080] In this way, by using the eBPF program of the device driver layer (1145), data for a real-time communication protocol is transmitted directly to the real-time communication protocol (1121, 1122) of the user space (112) without passing through the upper layers, thereby reducing the processing overhead of the kernel space (114) and ensuring the real-time nature of the PLC network.
[0081] FIG. 4 is a more detailed structural diagram of a real-time communication device of a PLC network according to another preferred embodiment of the present invention.
[0082] Unlike the embodiment of FIG. 2, the device driver layer (1145) can be connected to two or more network interfaces (1, 2).
[0083] By including two or more network interfaces (1, 2), the PLC network can be configured into various network forms, such as a ring network.
[0084] In such cases, the data received through the network interface may simply be data intended to be transmitted to another PLC device. Therefore, there is a problem in that the overhead of the processor (110) increases as such data is transmitted to user space (112) via kernel network layers, including the device driver layer (1145), and if it is determined by an application (1123) in user space (112) that the data is intended for another device, it is transmitted to another device again via the network interface.
[0085] Accordingly, the device driver layer (1145) can reduce the load of the kernel network layer by executing an eBPF program to determine the type of packet data received from the first network interface (1), and if it is data for a real-time communication protocol, it is transmitted directly to user space (112) via XDP, and if it is data for another device, it is transmitted again through the second network interface (2) without passing through the kernel network layers of kernel space (114).
[0086] As previously described, the type of packet data received through the first network interface (1) can be determined by analyzing the header or frame of the packet data. Therefore, real-time packet data can be processed at the network interface level (1, 2) without passing through the kernel network layer, and the load on the kernel network layer can be reduced.
[0087] FIG. 5 is a schematic flowchart of a real-time communication method of a PLC network according to another preferred embodiment of the present invention.
[0088] A real-time communication method for a PLC network according to the present invention can be performed by a communication device comprising one or more processors and a memory.
[0089] A data packet is received from a network interface (S110), and the type of the received data packet is analyzed (S120).
[0090] The analysis of data packets is performed at the device driver layer of the network interface. The eBPF program is executed at the device driver layer to analyze the data packets.
[0091] Analysis of a data packet can be performed using the header information of the data packet, or it can be performed by directly analyzing the frame (payload) instead of the header.
[0092] Based on the analysis results, it is determined whether the data packet is for a real-time communication protocol (S130). If it is a data packet for a real-time communication protocol, it is directly transmitted to the real-time communication protocol via XDP (S140). If it is a data packet for the application layer, it is transmitted to the application layer via the kernel network layer (S150).
[0093] In other words, by transmitting data for real-time communication protocols directly without passing through the kernel network layer, the overhead of the kernel network layer can be reduced, and the latency of data packets can be reduced, thereby guaranteeing the real-time performance of the PLC network.
[0094]
[0095] According to the real-time communication device and method of the PLC network of the present invention as described above, by providing a path that allows data requiring real-time performance to be selected and transmitted directly to a real-time communication protocol without passing through the kernel network layer, it is possible to prevent data packet delay and ensure the real-time performance of the PLC network, thereby increasing the stability of equipment, etc.
[0096]
[0097] The scope of protection of the present invention is not limited to the description and expression of the embodiments explicitly described above. Furthermore, it is added once again that the scope of protection of the present invention cannot be limited by obvious changes or substitutions in the technical field to which the present invention belongs.
Claims
1. Memory containing one or more instructions; and A processor that executes one or more instructions stored in the memory above; Includes, The above processor is, User space where real-time communication protocols and applications are executed; and A kernel space including a device driver layer and a kernel network layer for controlling a network interface; Includes, A real-time communication device of a PLC network, characterized in that the above device driver layer directly transmits data packets for the real-time communication protocol among the data packets received through the network interface to the real-time communication protocol of the user space.
2. In Paragraph 1, A real-time communication device for a PLC network, characterized in that the above real-time communication protocol is an EhterCAT (Ethernet for Control Automation Technology) protocol or a RAPIEnet (Real-time Automation Protocols for Industrial Ethernet) protocol.
3. In Paragraph 1, A real-time communication device for a PLC network, characterized in that the above device driver layer and the above real-time communication protocol are directly connected via XDP (eXpress Data Path).
4. In Paragraph 1, A real-time communication device for a PLC network, characterized in that the above device driver layer processes packet data received from the network interface using an eBPF (Extended Berkeley Packet Filter) program.
5. In Paragraph 1, The above network interface includes a first network interface and a second network interface, and A real-time communication device for a PLC network, characterized in that the above device driver layer transmits through the second network interface when the data packet received through the first network interface is a data packet of another device.
6. In Paragraph 1, A real-time communication device for a PLC network, characterized in that the above device driver layer analyzes the header of a data packet received through the network interface to determine whether it is a data packet for the real-time communication protocol.
7. In Paragraph 1, A real-time communication device for a PLC network, characterized in that the device driver layer analyzes the payload of a data packet received through the network interface and determines whether it is a data packet for the real-time communication protocol.
8. In Paragraph 1, A real-time communication device for a PLC network, characterized in that the above-mentioned network interface is a PLC (Programmable Logic Controller) network interface.
9. In Paragraph 1, A real-time communication device for a PLC network, characterized in that the above device driver layer is connected to two or more network interfaces.
10. A method for real-time communication of a PLC network performed by a communication device comprising one or more processors and memory: A step of receiving a data packet from a network interface; A step of analyzing the data packet in the device driver layer for the network interface; and A step of transmitting to the real-time communication protocol without passing through the kernel network layer if, based on the analysis results above, the data packet is a data packet for the real-time communication protocol; A real-time communication method for a PLC network characterized by including