Multi-IP motion controller, industrial equipment and control method

By assigning an independent IP address to each virtual controller and combining it with an IP mapping mechanism, the problems of resource coupling and communication chaos in highly integrated motion controllers are solved, achieving high-performance, reliable and flexible multi-workstation collaborative control.

CN120871718AActive Publication Date: 2025-10-31SHENZHEN ZMOTION TECH CO LTD

Patent Information

Application Number
CN202511359426.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-09-23
Publication Date
2025-10-31
Estimated Expiration
2045-09-23

AI Technical Summary

Technical Problem

Existing highly integrated motion controllers, due to their use of a single IP address, suffer from high resource coupling and complex control logic and communication interfaces, which cannot meet the increasingly complex process requirements.

Method used

A multi-IP motion controller is adopted. By assigning an independent IP address to each virtual controller and combining it with an IP mapping mechanism, accurate data addressing and distribution are achieved, ensuring that each virtual controller has independent memory and operating environment, with good resource isolation and no interference between them.

Benefits of technology

Improve system resource isolation, ensure the real-time and deterministic nature of control tasks at each workstation, reduce coupling between modules, simplify development, debugging, maintenance and fault isolation, make network planning more intuitive, and conform to the operating habits of traditional multi-device integration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120871718A_ABST
    Figure CN120871718A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-IP motion controller, industrial equipment and a control method, and relates to the technical field of virtual controllers. A plurality of virtual controls; a multi-IP binding module; an IP mapping module; wherein the virtual controller receives a data packet to generate a control instruction, and sends the control instruction to the corresponding execution terminal through the physical network interface, so as to control the operation of the execution terminal. According to the multi-IP motion controller provided by the invention, the independent IP address is allocated to each internal virtual controller and bound to the same physical network interface, and accurate data addressing and distribution based on the target IP address are realized in combination with an IP mapping mechanism, so that the problems of resource coupling and communication mixing of a traditional single IP architecture are effectively solved, the system integration and use process is simplified, and the system reliability is improved. And a high-performance, high-reliability and flexible solution is provided for complex multi-station cooperative control.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of virtual controllers, and more particularly to a multi-IP motion controller, industrial equipment, and control method. Background Technology

[0002] Currently, motion controllers are becoming increasingly integrated, with a single controller needing to integrate multiple virtual controllers to help users complete different physical workstation processes. A single IP address has many drawbacks, such as high resource coupling and complex control logic and communication interfaces, and cannot meet the increasingly complex process requirements. Summary of the Invention

[0003] The main purpose of this application is to provide a multi-IP motion controller, industrial equipment and control method, which aims to solve the technical problems of high resource coupling and complex control logic and communication interface caused by the use of a single IP address in existing highly integrated motion controllers.

[0004] To achieve the above objectives, this application proposes a multi-IP motion controller for controlling multiple execution terminals, including: Physical hardware, including physical network interfaces; Multiple virtual controllers, each configured with an independent IP address and communicatively connected to the execution terminal; each virtual controller includes a virtual network interface, a virtual memory space, and a task execution carrier. A multi-IP binding module is connected to the physical network interface, and the multi-IP binding module is used to bind the IP address of each virtual controller to the same physical network interface; The IP mapping module is used to map the data packets received by the physical network interface to the virtual network interface of the corresponding virtual controller according to their target IP address, and write them into the virtual memory space of the corresponding virtual controller. The virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

[0005] In one embodiment, the multi-IP binding module includes: The IP configuration module is used to assign an independent IP address to each virtual controller from a preset address pool; The interface binding module is used to bind the IP address of each virtual controller to the same physical network interface.

[0006] In one embodiment, the physical network interface is an industrial Ethernet card, and the IP address of the virtual controller is bound to the same industrial Ethernet card.

[0007] In one embodiment, each virtual controller has a unique number, and the IP mapping module includes a mapping table that stores the correspondence between the IP address and the number of the virtual controller.

[0008] In one embodiment, the physical hardware further includes a control and computing unit; the multi-IP motion controller further includes: The real-time kernel scheduler is used to allocate resources of control and computing units to each virtual controller's task execution carrier based on priority policies and hardware occupancy status. The virtual controller parses the data packets received by the resource allocated to the control and computing unit, generates control commands, and sends them to the corresponding execution terminal.

[0009] In one embodiment, the physical hardware further includes physical storage; the multi-IP motion controller further includes: The storage configuration module is used to map the virtual memory space to physical storage, and the physical storage ranges mapped by each virtual controller do not overlap.

[0010] In one embodiment, the physical hardware further includes physical storage, which includes a contiguous physical address space, the starting address of which is a base address; The physical address space is divided into multiple physical address segments by superimposing M (M=0, 1, ..., N-1) offsets on the base address. The value range of each offset corresponds to the memory space length of a virtual controller, where N is the number of virtual controllers.

[0011] In addition, to achieve the above objectives, this application also proposes an industrial device, including a multi-IP motion controller and multiple actuators as described above.

[0012] Furthermore, to achieve the above objectives, this application also proposes a control method based on the multi-IP motion controller described above, comprising: Create multiple virtual controllers based on the number of execution terminals; Assign a unique IP address to each virtual controller and bind the IP address of each virtual controller to the same physical network interface; The system receives data packets sent by the execution terminal through the physical network interface, maps the received data packets to the virtual network interface of the corresponding virtual controller according to their target IP address, and writes them into the virtual memory space of the corresponding virtual controller. The virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

[0013] In one embodiment of the control method, the virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminal via a physical network interface to control the operation of the execution terminal. The specific steps include: The virtual controller receives data packets through a virtual network interface; The received data packets are parsed using resources allocated to the control and arithmetic unit, and control commands are generated. The control commands are converted into industrial protocol data packets corresponding to the execution terminal; It is sent to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

[0014] One or more technical solutions proposed in this application have at least the following technical effects: The multi-IP motion controller proposed in this application achieves precise data addressing and distribution based on the target IP address by assigning an independent IP address to each internal virtual controller and binding it to the same physical network interface. Combined with an IP mapping mechanism, this effectively solves the resource coupling and communication chaos problems of traditional single-IP architectures. Each virtual controller has an independent IP address, memory, and operating environment, resulting in good resource isolation and minimal mutual interference. This solution improves system resource isolation, ensuring the real-time and deterministic nature of control tasks at each workstation (execution terminal); it also reduces coupling between modules, making development, debugging, maintenance, and fault isolation more convenient and efficient. Externally, it presents multiple virtual controllers with independent IP addresses, making network planning, device access, and security management more intuitive and conforming to traditional multi-device integration operating habits. This simplifies system integration and usage processes, providing a high-performance, highly reliable, and flexible solution for complex multi-workstation collaborative control. Attached Figure Description

[0015] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0016] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0017] Figure 1 This is a structural diagram of a multi-IP motion controller according to an embodiment of this application; Figure 2 This is a mapping diagram provided for a second embodiment of a multi-IP motion controller according to this application; Figure 3 This is a mapping diagram provided for a third embodiment of a multi-IP motion controller according to this application; Figure 4 This is a schematic diagram of the virtual controller and its IP address format provided in Embodiment 3 of a multi-IP motion controller according to this application; Figure 5 This is a flowchart illustrating a control method according to Embodiment 4 of this application.

[0018] The diagram shows the following labels: Physical Hardware 01, Physical Network Interface 11, Virtual Controller Group 02, Multi-IP Binding Module 03, IP Mapping Module 04, and Real-time Kernel Scheduler 05.

[0019] The purpose, features, and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. Detailed Implementation

[0020] It should be understood that the specific embodiments described herein are merely illustrative of the technical solutions of this application and are not intended to limit this application.

[0021] To better understand the technical solution of this application, a detailed description will be provided below in conjunction with the accompanying drawings and specific implementation methods.

[0022] This application proposes a multi-IP motion controller for controlling multiple execution terminals, such as... Figure 1 As shown, the system includes: physical hardware 01, comprising a physical network interface 11; a virtual controller group 02, each virtual controller having an independent IP address and communicating with the execution terminal; each virtual controller including a virtual network interface, a virtual memory space, and a task execution carrier; a multi-IP binding module 03 connected to the physical network interface 11, the multi-IP binding module 03 being used to bind the IP address of each virtual controller to the same physical network interface 11; and an IP mapping module 04, used to map data packets received by the physical network interface 11 to the virtual network interface of the corresponding virtual controller according to their target IP address, and write them into the virtual memory space of the corresponding virtual controller; wherein, the virtual controller receives data packets, generates control instructions, and sends them to the corresponding execution terminal through the physical network interface 11 to control the operation of the execution terminal. It is worth noting that this application includes multiple virtual controllers and instances; for ease of expression, the multiple virtual controllers are collectively represented as virtual controller group 02.

[0023] More specifically, in the field of modern industrial automation, the integration of motion controllers is showing a continuous upward trend. This means that within a single physical controller, multiple independent virtual controllers (VCs), or virtual controller groups, can run efficiently through a powerful hardware platform and advanced software technology. Each of these virtual controllers undertakes a specific control task, such as driving different workstations, managing specific motion axis groups, or executing independent machining processes, thus providing users with the powerful ability to achieve complex, multi-task parallel processing on a single hardware platform. This highly integrated architecture is theoretically designed to simplify system structure, reduce costs, and improve space utilization.

[0024] However, this highly integrated model within a single physical controller shows increasing limitations when dealing with increasingly complex manufacturing requirements. One of the core problems is excessively high resource coupling. When all virtual controllers share the core resources of the same physical controller (such as CPU computing power, memory, and bus bandwidth) and communicate with external systems through a single physical network interface 11 and using a single IP address, the complexity of internal and external interactions increases dramatically. This tight coupling brings several significant drawbacks: First, the control logic becomes extremely complex. Control programs for different tasks, timing coordination, resource preemption, and priority management are intertwined, making program design, debugging, and maintenance extremely difficult. Modification or failure of one module can have far-reaching consequences. Secondly, the communication interface becomes a bottleneck and is extremely complex. All data exchange, internal interaction and external communication of all virtual controllers are crowded on the same physical network channel, which not only easily causes bandwidth bottlenecks affecting real-time performance, but also the communication protocol stack needs to handle data packets from different tasks and different destination addresses, making the protocol implementation and routing logic extremely bloated and complex. Furthermore, the system's scalability and flexibility are limited. Adding new workstations or functions to the existing system, or adjusting the control logic of a certain workstation, often requires re-examining and modifying the allocation and communication structure of the entire shared resource pool, making it difficult to achieve modular and hot-swappable expansion.

[0025] The root cause of this dilemma lies in the fact that as process complexity increases, the requirements for control independence, real-time performance, reliability, and flexibility also rise accordingly. While multi-tasking within a single controller improves hardware utilization, shared resources and a single external interface cannot effectively isolate different task domains. This leads to blurred boundaries between the logical and communication domains, significantly increasing the risk of resource conflicts and communication congestion, and failing to meet the demands of modern flexible manufacturing and modular production lines for "high cohesion and low coupling" in control units. Traditional solutions mainly focus on optimizing the real-time operating system scheduling algorithm within the controller, improving hardware performance, or adopting a higher-speed bus. However, these methods do not fundamentally change the architectural nature of highly shared resources and a single IP exit, and their effectiveness in solving deep-seated coupling problems is limited.

[0026] Therefore, from an implementation perspective, the key to overcoming the current bottlenecks in highly integrated motion controller applications lies in actively adopting and implementing independent IP address allocation schemes based on virtualization technology and software-defined networking concepts. This requires controller manufacturers to provide sufficient network processing capabilities and virtualization support at the hardware level, and to build a robust virtual network management platform at the software level, capable of efficiently and securely creating, managing, and routing these virtual IP channels. Users can then configure dedicated virtual IP addresses for each functional unit requiring independent interaction and management, based on the division of process modules, during system planning and deployment. This achieves clear logical isolation, efficient traffic routing at the communication level, and flexible system-level expansion on a physically integrated hardware platform, ultimately meeting the complex and ever-changing needs of advanced process manufacturing.

[0027] This application proposes a multi-IP motion controller to address the aforementioned problems, used to control multiple execution terminals. In the multi-IP motion controller architecture, the execution terminal is the final device unit in the entire automation system, directly executing physical actions and completing specific production or operational tasks. It is the ultimate receiver of control commands and the executor of actions. Based on precise instructions from the controller, it executes specific physical actions. It is worth noting that in this application, for ease of explanation regarding its actual role, function, and context in a production environment, the terms "workstation" and "execution terminal" are used; both are different expressions of the same meaning.

[0028] This application aims to efficiently and independently control multiple execution terminals. On a single physical hardware platform (01), multiple logically independent virtual controller instances, each with its own dedicated network identifier (IP address), are created through software virtualization and network technology. Each virtual controller is responsible for communicating with and controlling the operation of a specific execution terminal. The entire system works collaboratively from the physical hardware (01), multiple virtual controllers (virtual controller group 02), a multi-IP binding module (03), and an IP mapping module (04). The physical hardware (01) is the physical foundation and carrier of the entire controller, providing computing power, storage space, and the crucial physical network interface (11). The physical network interface (11) is the channel through which the controller establishes a physical connection with the external network; all network data entering and leaving the controller is ultimately transmitted and received through this interface. The physical hardware (01) runs a low-level operating system or a real-time operating system. The physical network interface (11) is responsible for processing the transmission and reception of electrical or optical signals at the physical and data link layers, receiving network data packets from or sending them out from the physical medium.

[0029] Each virtual controller includes a virtual network interface (vNIC), a virtual memory space, and a task execution vehicle. The virtual network interface (vNIC) is the logical endpoint for communication between the virtual controller and the network. It mimics the behavior of the physical network interface and has its own independent IP address. The virtual controller sends and receives network packets through its vNIC as if it had a dedicated physical network card. The virtual memory space is an independent, protected memory area allocated to each virtual controller. It is used to store the controller's proprietary program code, runtime data such as sensor readings, intermediate calculation results, control parameters, status information, received network packet content, and instruction data to be sent. This space is strictly isolated from the memory spaces of other virtual controllers. The task execution vehicle is the entity within the virtual controller that actually executes the control logic. It typically manifests as one or more independent software processes or threads. This vehicle runs control algorithms specific to the execution terminal, such as PID control (proportional-integral-derivative control) and trajectory planning algorithms. It processes data received from the vNIC, such as host computer instructions and sensor feedback, performs calculations and decisions, and generates the final control instructions to be sent to the execution terminal.

[0030] Each virtual controller simulates an independent, complete controller instance, specifically responsible for communicating and controlling a particular execution terminal. It possesses its own network identity—an independent IP address, independent memory space, and execution environment—ensuring complete isolation and non-interference of control logic, data, and communication flows between different terminals. Each virtual controller operates independently with the support of the computing resources and operating system / virtualization platform provided by physical hardware 01. Its task execution carrier continuously executes the control logic. When it needs to send control commands to the execution terminal, the command data is placed in its virtual memory space, and a network request is issued through its virtual network interface. When data packets arrive at its virtual network interface through the IP mapping module 04, the task execution carrier reads these data from the virtual memory space, processes them, and responds or adjusts its control behavior.

[0031] The multi-IP binding module 03 is connected to the physical network interface 11. This module is typically part of the operating system kernel network stack or a dedicated driver module. It maintains an internal mapping table that records a list of all IP addresses bound to the physical interface, thus binding the IP address of each virtual controller to the same physical network interface 11. This allows the physical interface to respond to ARP (IPv4) requests or neighbor discovery requests (IPv6) sent to these different IP addresses and to claim ownership of those IP addresses. This module operates at a lower layer of the operating system's network protocol stack, typically at the IP layer. When the physical network interface 11 receives a data packet, this module is the first to process it. More importantly, when an upper-layer virtual controller needs to send data packets through its vNIC, this module ensures that the source IP address of the data packet is correctly set to the vNIC's IP address and sent out through the shared physical interface. It is responsible for coordinating the complexity of multiple logical IP addresses sharing a single physical channel.

[0032] IP mapping module 04 checks the destination IP address of all network packets received through physical network interface 11. Based on this destination IP address, the module accurately routes (maps) the packet to the virtual network interface of the corresponding virtual controller configured with that IP address and writes the packet content into the virtual controller's dedicated virtual memory space. It is typically a kernel module or a driver component tightly integrated with multi-IP binding module 03. It maintains a crucial mapping table that associates each IP address bound to the physical interface with the virtual network interface and / or virtual memory space access interface of its respective virtual controller. When physical network interface 11 receives a packet and passes it to the network protocol stack, IP mapping module 04 intervenes early. It parses the IP header of the packet to extract the destination IP address. Then, it queries its internal mapping table to find the virtual controller instance corresponding to this destination IP address. Once found, the module securely copies or passes the packet content to the virtual memory space of the target virtual controller and notifies the virtual controller's task execution carrier through some mechanism that new data has arrived at its vNIC and is awaiting processing. This process ensures that the packet is accurately delivered to the target virtual controller, achieving logical network isolation.

[0033] The overall system workflow is as follows: An instruction data packet sent from the external network to a specific execution terminal (using virtual controller A as an example below, with the target IP address being the IP of virtual controller A) reaches the controller's physical network interface 11 via the network. The physical interface performs low-level signal reception and frame processing, passing the data packet to the operating system's network protocol stack. The IP mapping module 04 intercepts the data packet at the protocol stack level. The module parses the IP header of the data packet, identifies its target IP address (i.e., the IP of virtual controller A), and queries its internal mapping table to find the corresponding target virtual controller instance (virtual controller A) based on the target IP address.

[0034] The IP mapping module 04 writes the received data packet content into the dedicated virtual memory space of the target virtual controller A. This ensures that the data is stored in isolation within the memory area belonging to the virtual controller A. After the write operation is complete, the IP mapping module 04 notifies the task execution carrier of the virtual controller A, which is then awakened or polled to learn that new data has arrived. The task execution carrier reads the newly delivered data from the virtual memory space of the virtual controller A. The carrier parses this data according to its internal control algorithm for that execution terminal, combining possible internal states and sensor feedback to perform calculations and decisions. The task execution carrier generates the control commands to be sent to the execution terminal A. These command data are placed into the virtual memory space of the virtual controller A. The task execution carrier initiates a network transmission request through the virtual network interface (vNIC) of the virtual controller A (e.g., constructing a User Datagram Protocol (UDP) packet or a Transmission Control Protocol (TCP) packet, where the source IP is the IP of the virtual controller A, the destination IP is the IP of the execution terminal A, and the payload is the control command).

[0035] This transmission request is processed by the operating system's network stack. The multi-IP binding module 03 intervenes, identifying that the transmission request originates from the vNIC of virtual controller A (the source IP is the IP of virtual controller A). The module ensures that the data packet is sent with the correct source IP address and routes it to the shared physical network interface 11. The physical network interface 11 receives the data packet (containing the target IP of execution terminal A and the source IP of virtual controller A) passed down by the multi-IP binding module 03, performs the necessary link-layer encapsulation, and finally sends the data packet out through the physical network cable, ultimately reaching the target execution terminal A, thereby controlling its operation.

[0036] The multi-IP motion controller proposed in this application achieves precise data addressing and distribution based on the target IP address by assigning an independent IP address to each internal virtual controller and binding it to the same physical network interface 11. Combined with an IP mapping mechanism, this effectively solves the resource coupling and communication chaos problems of traditional single-IP architectures. Each virtual controller has an independent IP address, memory, and operating environment, resulting in good resource isolation and minimal mutual interference. This solution improves system resource isolation, ensuring the real-time performance and determinism of control tasks at each workstation; it also reduces coupling between modules, making development, debugging, maintenance, and fault isolation more convenient and efficient. Externally, it presents multiple virtual controllers with independent IP addresses, making network planning, device access, and security management more intuitive and conforming to traditional multi-device integration operating habits. This simplifies system integration and usage processes, providing a high-performance, highly reliable, and flexible solution for complex multi-workstation collaborative control.

[0037] In one embodiment, such as Figure 4 As shown, the multi-IP binding module 03 includes: an IP configuration module, used to allocate an independent IP address to each virtual controller from a preset address pool; and an interface binding module, used to bind the IP address of each virtual controller to the same physical network interface 11.

[0038] The IP configuration module can be understood as the "address administrator" and "allocator" of the multi-IP binding module 03. It dynamically or statically assigns a unique network identifier, i.e., an independent IP address, to each virtual controller instance created in the system. It ensures that each virtual controller has its own clear identity at the logical network layer, and that these identities are valid, routable, and do not conflict with each other or with other network devices throughout the network environment. This module is the foundation for building logically isolated network communication. The preset IP address pool is usually pre-defined by the system administrator during the controller initialization or configuration phase, explicitly specifying which IP addresses can be assigned to virtual controllers (e.g., 192.168.1.10 to 192.168.4.40). When the system needs to create a new virtual controller instance, this request triggers the address allocation process of the IP configuration module. According to the preset rules—pre-defined by the system administrator during controller initialization or configuration—the system queries the address pool manager, requests an available IP address, and searches for and locks an IP address marked as "available" within the preset IP address pool.

[0039] Once a usable, conflict-free IP address is successfully selected, it is officially assigned to the requesting virtual controller. Simultaneously, the status of this IP address is changed from "available" to "assigned," establishing a mapping between the IP address and a unique identifier (such as an ID) of the target virtual controller instance. The IP configuration module then passes the assigned IP address to the target virtual controller. During its initialization process, the virtual controller receives this IP address and configures it on its own virtual network interface as its unique network identity. When a virtual controller is destroyed and its corresponding workstation is removed, the IP configuration module receives a notification. It then releases the IP address previously used by the virtual controller, marks its status back as "available" in the address status tracker, and clears the associated mapping record, making the address available for reassignment to newly created virtual controllers.

[0040] The interface binding module effectively and practically associates multiple independent IP addresses belonging to different virtual controllers, allocated by the IP configuration module, with the same underlying physical network interface 11. This enables a single physical network interface 11 to represent multiple logical IP entities for network communication. This module solves the key problem of a single physical channel carrying multiple logical network identities and is a core technical component for enabling multiple IPs to share a single physical network card. The IP configuration module ensures that each virtual controller has a unique and valid IP address at the logical network layer and manages the lifecycle of these addresses. The interface binding module practically and centrally "mounts" the IP addresses allocated by the configuration module and distributed across various virtual controllers onto the same physical network interface 11, enabling this physical interface to represent all these logical IPs for network communication. It achieves the "multiplexing" function of a single physical channel carrying multiple logical network identities.

[0041] In one embodiment, the physical network interface 11 is an industrial Ethernet card, and the IP address of the virtual controller is bound to the same industrial Ethernet card.

[0042] Industrial Ethernet cards (I / O cards) serve as the physical hardware gateway connecting motion controllers to industrial field networks. They are responsible for enabling physical connections and basic data exchange between the controller and other devices in the network at both the electrical and data link layers. They provide a highly reliable, deterministic, and real-time network communication channel, meeting the demanding environmental requirements and real-time control needs of industrial automation. In industrial scenarios, the core function of the IP configuration module remains unchanged: assigning a unique and valid IP address within the industrial Ethernet subnet to each virtual controller representing an independent motion control task. This ensures that even when sharing the same physical I / O card, each virtual controller has a clear and isolated identity at the logical network layer, facilitating accurate addressing and communication by other devices in the network. The interface binding module plays an even more prominent role in industrial environments, efficiently and reliably "attaching" multiple different IP addresses assigned by the IP configuration module to each virtual controller to the same physical industrial Ethernet card. This allows this high-performance, highly reliable industrial I / O card to simultaneously carry the independent network communication flows of multiple virtual controllers, achieving the reuse of physical interface resources while maintaining the isolation and determinism of each virtual controller's network identity.

[0043] In one embodiment, each virtual controller has a unique number, and the IP mapping module 04 includes a mapping table that stores the correspondence between the IP address and the number of the virtual controller.

[0044] The mapping table establishes and maintains a two-way mapping relationship between the IP address of the virtual controller and its unique internal system number. When the physical network interface 11 receives a data packet, by querying the mapping table, the destination IP address is quickly resolved into the corresponding virtual controller number, ensuring that the data packet is accurately delivered to the target controller. When the virtual controller needs to actively send data, it can reverse-lookup its bound IP address by the number for setting the source IP or verifying the identity. The IP address and the virtual controller make the network communication configuration independent of the internal implementation logic of the controller.

[0045] When the system starts up, the IP mapping module 04 reads the persistent configuration, creates mapping table entries in memory for each allocated <IP address, virtual controller number> pair, and sets the status to active. When a new virtual controller is created and the IP binding is completed, the IP configuration module notifies the IP mapping module 04. The module generates a new entry and inserts it into the mapping table, and sets the status to active. When the virtual controller is destroyed, the module marks the corresponding entry status as to be deleted, which is safely removed by the background task. When the physical network interface 11 receives a data packet and is preliminarily filtered by the interface binding module (confirming that the destination IP is bound), the IP mapping module 04 intercepts the data packet and extracts the destination IP address (Dest_IP) from the IP header. Using Dest_IP as the key, retrieve the hash index of the mapping table to obtain the corresponding virtual controller number (such as number 2) and status (must be active). Discard the data packet (or trigger an alarm), and the process terminates. The module encapsulates the data packet into an internal message structure (appending the target controller number) and pushes it to the dedicated receiving queue of the target virtual controller (usually a thread-safe circular buffer). The virtual controller (number 2) retrieves the data packet from its receiving queue and executes the motion control logic.

[0046] When the virtual controller needs to send a data packet, the virtual controller (such as number 1) submits the data packet to be sent and its own number to the IP mapping module 04. Using the controller number 1 as the key, retrieve the number index of the mapping table to obtain its bound source IP address (such as 192.168.1.10). The module modifies the source address field of the data packet IP header to 192.168.1.10, and then transfers the data packet to the interface binding module, which sends it through the physical network interface 11.

[0047] In one embodiment, as Figure 2 shown, the physical hardware 01 further includes a control and arithmetic unit; the multi-IP motion controller further includes: a real-time kernel scheduler 05 for allocating the resources of the control and arithmetic unit to the task execution carrier of each virtual controller according to the priority policy and the hardware occupancy status; wherein, the virtual controller resolves the received data packet through the resources allocated to the control and arithmetic unit and generates a control instruction to send to the corresponding execution terminal.

[0048] The real-time kernel scheduler 05 can be understood as follows: it allocates control and computation units to each virtual controller's task execution carrier based on a preset priority strategy and the current physical hardware 01 occupancy, enabling each virtual controller to execute real-time tasks through the allocated control and computation units. The real-time kernel scheduler 05 is the dynamic allocator of system resources and the core of ensuring system real-time performance. It continuously monitors the physical hardware 01, especially the CPU / processor core occupancy. The scheduler makes scheduling decisions based on a priority strategy pre-set for each virtual controller's task execution carrier, such as fixed priority, round-robin, or more complex real-time scheduling algorithms like Rate-Monotonic Scheduling (RM) and Earliest Deadline First Scheduling (EDF). When a virtual controller's task execution carrier needs to run, the scheduler assesses the availability of current physical computing resources and, based on the priority strategy, decides whether to allocate computation time slices immediately or at what time, and on which / or which physical processor cores, allowing the task execution carrier to run. Its core working principle is preemptive scheduling, which interrupts the execution of low-priority tasks when necessary, allowing high-priority tasks to receive an immediate response and ensuring that the real-time requirements of critical control tasks are met.

[0049] The virtual controller parses the data packets received by the resource allocated to the control and computing unit, generates control commands, and sends them to the corresponding execution terminal.

[0050] In one embodiment, such as Figure 3 As shown, the physical hardware 01 also includes physical storage; the multi-IP motion controller also includes a storage configuration module, used to map the virtual memory space to physical storage, and the physical storage intervals mapped by each virtual controller do not overlap.

[0051] The storage configuration module maps the virtual memory space to physical storage, ensuring that the physical storage regions mapped by each virtual controller do not overlap. The storage management module is responsible for the mapping and isolation configuration between the virtual world and physical storage resources. It maps the virtual memory space (logical address space) declared by each virtual controller to pre-allocated, non-overlapping physical storage regions on the physical storage hardware. This mapping relationship is typically defined by the user during the system configuration phase, i.e., a configurable mapping table. Crucially, the storage configuration module strictly ensures that the physical storage regions mapped by each virtual controller do not overlap. This is the foundation for strong isolation, preventing program errors or malicious behavior in one virtual controller from interfering with or damaging the operating data and code of other virtual controllers.

[0052] In one embodiment, such as Figure 3As shown, the physical hardware 01 also includes physical storage, which includes a continuous physical address space. The starting address of the physical address space is the base address. The physical address space is divided into multiple physical address segments by superimposing M (M=0, 1, ..., N-1) offsets on the base address. The value range of each offset corresponds to the memory space length of a virtual controller, where N is the number of virtual controllers.

[0053] The physical storage includes a contiguous physical address space, the starting address of which is the base address; the physical address space is divided into multiple physical address segments by superimposing M (M=0, 1, ..., N-1) offsets on the base address, and the value range of each offset corresponds to the length of a virtual storage interval.

[0054] This can be understood as referring to the appendix. Figure 3 Within a contiguous physical address space, strictly isolated and non-overlapping dedicated storage regions are established for multiple virtual controllers. Physical storage is partitioned using predefined calculation rules to ensure each virtual controller has an independent and protected runtime environment, preventing system instability caused by data tampering or out-of-bounds access. Physical memory is treated as a contiguous logical address space, with its starting point explicitly designated as the base address, serving as the reference origin for all address calculations. The entire physical address space is divided into N contiguous physical address segments. The partitioning rule is based on the base address superimposed with M offsets, where each offset represents the length of the virtual storage resource range required by a virtual controller.

[0055] The calculation method is as follows: The starting address of the memory segment for the 0th virtual controller = base address + 0 * offset The starting address of the memory segment for the first virtual controller = base address + 1 * offset ... The starting address of the storage segment of the Mth virtual controller = base address + M * offset (where M = 0,1, ..., N-1).

[0056] The value of each offset must be greater than or equal to the maximum storage space length actually required by its corresponding virtual controller, ensuring that the physical address range allocated to each controller is sufficient to accommodate all its virtual storage resources, and that there is no overlap between adjacent segments. The physical address range occupied by the storage segment of the Mth controller is from (base address + M * offset) to (base address + (M+1) * offset - 1).

[0057] Furthermore, this application also proposes an industrial device, including a multi-IP motion controller and multiple execution terminals as described above. Specifically, this application proposes a multi-IP motion controller for controlling multiple execution terminals, comprising: physical hardware 01, including a physical network interface 11; multiple virtual controllers, each configured with an independent IP address and communicatively connected to the execution terminals; each virtual controller including a virtual network interface, a virtual memory space, and a task execution carrier; a multi-IP binding module 03 connected to the physical network interface 11, the multi-IP binding module 03 being used to bind the IP address of each virtual controller to the same physical network interface 11; and an IP mapping module 04, used to map data packets received by the physical network interface 11 to the virtual network interface of the corresponding virtual controller according to their target IP address, and write them into the virtual memory space of the corresponding virtual controller; wherein, the virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminals through the physical network interface 11 to control the operation of the execution terminals.

[0058] The multi-IP motion controller proposed in this application achieves precise data addressing and distribution based on the target IP address by assigning an independent IP address to each internal virtual controller and binding it to the same physical network interface 11. Combined with an IP mapping mechanism, this effectively solves the resource coupling and communication chaos problems of traditional single-IP architectures. Each virtual controller has an independent IP address, memory, and operating environment, resulting in good resource isolation and minimal mutual interference. This solution improves system resource isolation, ensuring the real-time performance and determinism of control tasks at each workstation; it also reduces coupling between modules, making development, debugging, maintenance, and fault isolation more convenient and efficient. Externally, it presents multiple virtual controllers with independent IP addresses, making network planning, device access, and security management more intuitive and conforming to traditional multi-device integration operating habits. This simplifies system integration and usage processes, providing a high-performance, highly reliable, and flexible solution for complex multi-workstation collaborative control.

[0059] In addition, this application also proposes a control method, such as Figure 5 As shown, the implementation based on the multi-IP motion controller described above includes: S100: Create multiple virtual controllers based on the number of execution terminals; S200: Assign an independent IP address to each virtual controller and bind the IP address of each virtual controller to the same physical network interface 11; S300: Receive data packets sent by the execution terminal through the physical network interface 11, map the received data packets to the virtual network interface of the corresponding virtual controller according to their target IP address, and write them into the virtual memory space of the corresponding virtual controller. S400: The virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminal through the physical network interface 11 to control the operation of the execution terminal.

[0060] In this embodiment, step S100 constructs a logically independent control unit to achieve virtualized partitioning and task-level isolation of physical resources, providing a dedicated motion control environment for each execution terminal. It receives creation instructions, parses execution terminal parameters, verifies system resource availability, allocates a dedicated CPU core or real-time task thread to each virtual controller, and partitions independent memory space to store runtime data. It matches templates according to terminal type and injects configuration parameters. It generates virtual controllers, creates virtual network interfaces (vNICs) and private memory spaces, initializes communication queues, and activates the real-time task scheduler.

[0061] Step S200 establishes a network identity system to achieve logical channel isolation when multiple virtual controllers share a single physical network interface 11. Unused IPs are selected from the address pool and associated with the virtual controller number. IP-controller mapping rules are registered at the network interface card (NIC) driver layer, and the physical NIC enters promiscuous mode to listen for all target IPs. The virtual controller's vNIC is configured with the assigned IP and enables basic network functions such as ARP protocol reply. Step S300 achieves precise network traffic distribution, ensuring that data packets from the executing terminal directly reach the target virtual controller. The NIC identifies that the target IP belongs to the bound address pool, triggers DMA transfer to host memory, queries the IP-controller mapping table, and locks the target virtual controller number (e.g., VC_203). Through virtual address remapping technology, data packets are directly imported from the NIC buffer into the private memory area of ​​VC_203, and an interrupt signal or polling flag is sent to the target virtual controller, triggering the data packet processing flow.

[0062] Step S400 processes the received data, executes its internal control algorithm, generates control instructions for its corresponding execution terminal, and sends these instructions back to the target execution terminal through the shared physical network interface 11 to achieve closed-loop control.

[0063] In one embodiment of the control method, step S400, in which the virtual controller receives a data packet, generates a control command, and sends it to the corresponding execution terminal through the physical network interface 11 to control the operation of the execution terminal, includes steps S410 to S440: S410: The virtual controller receives data packets through the virtual network interface; S420: Parses the received data packets using the resources allocated to the control and arithmetic unit and generates control commands; S430: Convert the control command into an industrial protocol data packet corresponding to the execution terminal; S440: Sends the command to the corresponding execution terminal via the physical network interface 11 to control the operation of the execution terminal.

[0064] In this embodiment, in step S410, the virtual network interface driver of the virtual controller detects the arrival of a new data packet in its dedicated virtual memory receive buffer and reads it into the processing space of the virtual controller, marking the formal entry of external data into the internal processing pipeline of the virtual controller. Step S420 parses the received data packet through the resources allocated to the control and arithmetic unit and generates control instructions, including the control algorithm engine performing real-time calculations based on the parsed feedback data, internal state, and preset target to generate control instructions for the execution terminal.

[0065] In step S430, the control command is converted into an industrial protocol data packet corresponding to the execution terminal. The virtual controller's protocol encapsulation module, based on the specific industrial protocol supported by the target execution terminal, fills the control command data generated in S420 into the data structure defined by the protocol, adds necessary protocol layer header information, and generates a standard industrial protocol network data packet that the target execution terminal can directly recognize and execute. In step S440, the encapsulated industrial protocol data packet is placed in the virtual controller's transmission queue. The virtual network interface driver initiates a transmission request, carrying the virtual controller's dedicated source IP address and the target execution terminal's IP address. The operating system network stack and physical network interface 11 driver, based on the multi-IP binding mechanism established in S200, send the data packet out through the shared physical network interface 11. The data packet arrives at the execution terminal, is parsed and executed, driving the execution terminal to perform actions, completing the virtual controller's real-time control of its dedicated execution terminal.

[0066] The above description is only a part of the embodiments of this application and does not limit the patent scope of this application. All equivalent structural transformations made under the technical concept of this application and using the contents of the specification and drawings of this application, or direct / indirect applications in other related technical fields, are included in the patent protection scope of this application.

Claims

1. A multi-IP motion controller for controlling multiple execution terminals, characterized in that, include: Physical hardware, including physical network interfaces; Multiple virtual controllers, each configured with an independent IP address and communicatively connected to the execution terminal; each virtual controller includes a virtual network interface, a virtual memory space, and a task execution carrier. A multi-IP binding module is connected to the physical network interface, and the multi-IP binding module is used to bind the IP address of each virtual controller to the same physical network interface; The IP mapping module is used to map the data packets received by the physical network interface to the virtual network interface of the corresponding virtual controller according to their target IP address, and write them into the virtual memory space of the corresponding virtual controller. The virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

2. The multi-IP motion controller as described in claim 1, characterized in that, The multi-IP binding module includes: The IP configuration module is used to assign an independent IP address to each virtual controller from a preset address pool; The interface binding module is used to bind the IP address of each virtual controller to the same physical network interface.

3. The multi-IP motion controller as described in claim 2, characterized in that, The physical network interface is an industrial Ethernet card, and the IP address of the virtual controller is bound to the same industrial Ethernet card.

4. The multi-IP motion controller as described in claim 1, characterized in that, Each virtual controller has a unique number, and the IP mapping module includes a mapping table that stores the correspondence between the IP address and the number of the virtual controller.

5. The multi-IP motion controller as described in claim 1, characterized in that, The physical hardware also includes a control and computing unit; the multi-IP motion controller also includes: The real-time kernel scheduler is used to allocate resources of control and computing units to each virtual controller's task execution carrier based on priority policies and hardware occupancy status. The virtual controller parses the data packets received by the resource allocated to the control and computing unit, generates control commands, and sends them to the corresponding execution terminal.

6. The multi-IP motion controller as described in claim 4, characterized in that, The physical hardware also includes physical storage; the multi-IP motion controller also includes: The storage configuration module is used to map the virtual memory space to physical storage, and the physical storage ranges mapped by each virtual controller do not overlap.

7. The multi-IP motion controller as described in claim 6, characterized in that, The physical hardware also includes physical storage, which includes a contiguous physical address space, with the starting address of the physical address space being the base address; The physical address space is divided into multiple physical address segments by superimposing M (M=0, 1, ..., N-1) offsets on the base address. The value range of each offset corresponds to the memory space length of a virtual controller, where N is the number of virtual controllers.

8. An industrial device, characterized in that, It includes a multi-IP motion controller and multiple execution terminals as described in any one of claims 1-7.

9. A control method, implemented based on a multi-IP motion controller as described in any one of claims 1-7, characterized in that, include: Create multiple virtual controllers based on the number of execution terminals; Assign a unique IP address to each virtual controller and bind the IP address of each virtual controller to the same physical network interface; The system receives data packets sent by the execution terminal through the physical network interface, maps the received data packets to the virtual network interface of the corresponding virtual controller according to their target IP address, and writes them into the virtual memory space of the corresponding virtual controller. The virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

10. The control method as described in claim 9, characterized in that, The virtual controller receives data packets, generates control commands, and sends them to the corresponding execution terminal via the physical network interface to control the operation of the execution terminal. The specific steps include: The virtual controller receives data packets through a virtual network interface; The received data packets are parsed using resources allocated to the control and arithmetic unit, and control commands are generated. The control commands are converted into industrial protocol data packets corresponding to the execution terminal; It is sent to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

Citation Information

Patent Citations

  • Service access method and device

    CN109451084A

  • Network resource allocation method and device and nonvolatile storage medium

    CN117880217A

  • Intelligent edge PLC controller system based on heterogeneous calculation and edge calculation

    CN118795834A

  • Method and device for mapping multiple virtual machines by external network IP, medium and equipment

    CN119728635A

Cited By

  • Abnormal behavior identification method, equipment and device for industrial control system

    CN121411274A