Multi-ip motion controller, industrial device and control method

By assigning independent IP addresses to multi-IP motion controllers and combining them with IP mapping mechanisms, the problems of resource coupling and communication chaos in highly integrated motion controllers are solved, achieving more efficient system resource isolation and real-time control tasks, and simplifying system integration and usage processes.

CN120871718BActive Publication Date: 2026-01-02SHENZHEN ZMOTION TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511359426.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-23
Publication Date
2026-01-02
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. This ensures that each virtual controller has an independent IP, 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 system integration and usage processes, and provide a high-performance, highly reliable, and flexible solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120871718B_ABST
    Figure CN120871718B_ABST
Patent Text Reader

Abstract

The application discloses a multi-IP motion controller, industrial equipment and a control method, relates to the technical field of virtual controllers, and comprises physical hardware, a plurality of virtual controls, a multi-IP binding module and an IP mapping module. The virtual controller receives a data packet to generate a control instruction, which is sent to a corresponding execution terminal through a physical network interface to control the operation of the execution terminal. The multi-IP motion controller is provided with an independent IP address for each internal virtual controller and is bound to the same physical network interface, and the IP mapping mechanism is combined to realize accurate data addressing and distribution based on a target IP address, effectively solve the resource coupling and communication mixing problems of a traditional single-IP architecture, simplify system integration and a use process, and provide a high-performance, high-reliability and flexible solution for complex multi-station collaborative control.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of virtual controllers, and particularly relates to a multi-IP motion controller, an industrial device and a control method. BACKGROUND

[0002] Currently, the integration of a common motion controller is higher and higher, and a plurality of virtual controllers need to be integrated in the controller to help users complete different physical workstations processing. A single IP address has many shortcomings such as high resource coupling degree, complex control logic and communication interface, and cannot meet the increasingly complex process processing requirements. SUMMARY

[0003] The main purpose of the present application is to provide a multi-IP motion controller, an industrial device and a control method, which aims to solve the technical problems of high resource coupling degree, complex control logic and communication interface caused by using a single IP address in the existing high integration motion controller.

[0004] To achieve the above purpose, the present application provides a multi-IP motion controller for controlling a plurality of execution terminals, comprising:

[0005] Physical hardware, including a physical network interface;

[0006] A plurality of virtual controllers, each of which is configured with an independent IP address and is in communication connection with the execution terminal; each of the virtual controllers comprises a virtual network interface, a virtual memory space and a task execution carrier;

[0007] A multi-IP binding module connected with the physical network interface, the multi-IP binding module being used for binding the IP address of each virtual controller to the same physical network interface;

[0008] An IP mapping module for mapping the data packet received by the physical network interface to the virtual network interface of the corresponding virtual controller according to the target IP address thereof, and writing into the virtual memory space of the corresponding virtual controller;

[0009] Wherein, the virtual controller receives a data packet to generate a control instruction, which is sent to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

[0010] In an embodiment, the multi-IP binding module comprises:

[0011] An IP configuration module for allocating an independent IP address to each virtual controller from a preset address pool;

[0012] An interface binding module for binding the IP address of each virtual controller to the same physical network interface.

[0013] In an 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.

[0014] In an embodiment, each of the virtual controllers has a unique number, and the IP mapping module comprises a mapping table storing the correspondence between the IP address and the number of the virtual controller.

[0015] In an embodiment, the physical hardware further comprises a control and operation unit, and the multi-IP motion controller further comprises:

[0016] a real-time kernel scheduler configured to allocate the resources of the control and operation unit to the task execution carriers of each virtual controller according to a priority policy and a hardware occupation state;

[0017] The virtual controller analyzes the received data packet by using the allocated resources of the control and operation unit, generates a control instruction, and sends the control instruction to the corresponding execution terminal.

[0018] In an embodiment, the physical hardware further comprises a physical storage, and the multi-IP motion controller further comprises:

[0019] a storage configuration module configured to map the virtual memory space to the physical storage, and the physical storage intervals mapped by the virtual controllers have no overlap.

[0020] In an embodiment, the physical hardware further comprises a physical storage, and the physical storage comprises a continuous physical address space, and the start address of the physical address space is a base address.

[0021] The physical address space is divided into a plurality of physical address segments in a manner of superimposing M (M=0, 1,..., N-1) offsets on the base address, and the value range of each offset corresponds to the memory space length of a virtual controller, wherein N is the number of virtual controllers.

[0022] In addition, to achieve the above object, the present application further provides an industrial device comprising the multi-IP motion controller and a plurality of execution terminals as described above.

[0023] In addition, to achieve the above object, the present application further provides a control method, which is implemented based on the multi-IP motion controller as described above, and comprises:

[0024] creating a plurality of virtual controllers according to the number of execution terminals;

[0025] allocating an independent IP address to each virtual controller, and binding the IP address of each virtual controller to the same physical network interface;

[0026] receive the data packet sent by the execution terminal through the physical network interface, and map the received data packet to the virtual network interface of the corresponding virtual controller according to the target IP address of the data packet, and write the data packet into the virtual memory space of the corresponding virtual controller;

[0027] The virtual controller receives the control instruction generated by the data packet, and sends the control instruction to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

[0028] In an embodiment of the control method, the specific steps in which the virtual controller receives the control instruction generated by the data packet, and sends the control instruction to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal include:

[0029] The virtual controller receives the data packet through the virtual network interface;

[0030] The received data packet is parsed by allocating resources to the control and operation unit, and a control instruction is generated;

[0031] The control instruction is converted into an industrial protocol data packet corresponding to the execution terminal;

[0032] The control instruction is sent to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

[0033] The one or more technical solutions provided in the present application have at least the following technical effects:

[0034] The multi-IP motion controller provided in the present application allocates an independent IP address to each internal virtual controller and binds it to the same physical network interface, and realizes precise data addressing and distribution based on the target IP address by combining the IP mapping mechanism, effectively solving the resource coupling and communication mixing problem of the traditional single-IP architecture. Each virtual controller has independent IP, memory and running environment, good resource isolation, and little mutual interference. This solution improves the system resource isolation, guarantees the real-time and determinacy of the control task of each work station (execution terminal), reduces the coupling degree between modules, makes the development, debugging, maintenance and fault isolation more convenient and efficient, and externally shows multiple virtual controllers with independent IP, making network planning, device access and security management more intuitive, more in line with the operation habits of traditional multi-device integration, thereby simplifying the system integration and use process, and providing a high-performance, high-reliability and flexible solution for complex multi-work station collaborative control. BRIEF DESCRIPTION OF DRAWINGS

[0035] The accompanying drawings, which are incorporated into and form part of the specification, illustrate embodiments consistent with the present application and, together with the specification, serve to explain the principles of the application.

[0036] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, the drawings can also provide further understanding of the prior art for those of ordinary skill in the art without any creative effort.

[0037] Figure 1 The component structure diagram provided for the first embodiment of the multi-IP motion controller of the present application;

[0038] Figure 2 The mapping schematic diagram provided for the second embodiment of the multi-IP motion controller of the present application;

[0039] Figure 3 The mapping schematic diagram provided for the third embodiment of the multi-IP motion controller of the present application;

[0040] Figure 4 The virtual controller and IP address form schematic diagram provided for the third embodiment of the multi-IP motion controller of the present application;

[0041] Figure 5 The flow schematic diagram provided for the control method of the fourth embodiment of the present application.

[0042] The physical hardware 01, the physical network interface 11, the virtual controller group 02, the multi-IP binding module 03, the IP mapping module 04, and the real-time kernel scheduler 05.

[0043] The purpose implementation, functional features and advantages of the present application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION

[0044] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application, and are not used to limit the present application.

[0045] In order to better understand the technical solutions of the present application, the accompanying drawings and specific embodiments will be described in detail below.

[0046] The present application provides a multi-IP motion controller for controlling multiple execution terminals, such as Figure 1As shown, it comprises: a physical hardware 01, including a physical network interface 11; a virtual controller group 02, each of the virtual controllers is configured with an independent IP address and is in communication connection with the execution terminal; each of the virtual controllers comprises a virtual network interface, a virtual memory space and a task execution carrier; a multi-IP binding module 03 connected with the physical network interface 11, the multi-IP binding module 03 is used for binding the IP address of each virtual controller to the same physical network interface 11; an IP mapping module 04 is used for mapping the data packet received by the physical network interface 11 to the virtual network interface of the corresponding virtual controller according to the target IP address thereof, and writing into the virtual memory space of the corresponding virtual controller; wherein the virtual controller receives a control instruction generated by a data packet and sends it to the corresponding execution terminal through the physical network interface 11 to control the operation of the execution terminal. It is worth noting that the present application includes multiple virtual controllers and instances, and for the convenience of expression, the whole of the multiple virtual controllers is expressed as a virtual controller group 02.

[0047] More specifically, in the field of modern industrial automation, the integration level of motion controllers presents a trend of continuous improvement. This means that within a single physical controller, through a powerful hardware platform and advanced software technology, multiple independent virtual controllers (VCs), i.e. a virtual controller group 02, can be efficiently run. These virtual controllers each undertake specific control tasks, such as driving different stations, managing specific groups of motion axes or executing independent processing procedures, thereby providing users with powerful capabilities to implement complex, multi-task parallel processing on the same hardware platform. This highly integrated architecture aims to simplify system structure, reduce costs and improve space utilization in theory.

[0048] However, this highly integrated mode within a single physical controller has increasingly obvious limitations when dealing with increasingly complex process requirements. One of the core problems is that the resource coupling degree is too high. When all virtual controllers share the core resources (such as CPU computing power, memory, bus bandwidth) of the same physical controller and communicate with external systems through a single physical network interface 11 and a single IP address, the complexity of internal system and external interaction increases dramatically. This close coupling state brings many significant disadvantages: first, the control logic becomes extremely complex, with control programs, timing coordination, resource preemption and priority management of different tasks intertwined, making program design, debugging and maintenance extremely difficult, and a module modification or failure can cause a chain reaction;

[0049] Secondly, the communication interface becomes a bottleneck and extremely complex, all virtual controller data exchange, internal interaction and external communication are crowded in the same physical network channel, not only easy to cause bandwidth bottleneck affect real-time, and communication protocol stack need to handle from different tasks, different target address of the data packet, protocol implementation and routing logic become exceptionally bloated and complex; thirdly, the system scalability and flexibility is limited, for the existing system to add new workstations or functions, or adjust the control logic of a work station, often need to re-examine and modify the entire allocation of shared resources and communication structure, difficult to achieve modular, hot plug type of expansion.

[0050] The root cause of this dilemma is that as the complexity of the process increases, the requirements of control independence, real-time, reliability and flexibility are also increasing. Although the multi-task parallel in a single controller improves the hardware utilization, the shared resources and single external interface cannot effectively isolate different task domains, leading to the boundary of logic domain and communication domain being unclear, the risk of resource conflict and communication congestion significantly increasing, which cannot meet the demand of modern flexible manufacturing, modular production line for the control unit "high cohesion, low coupling". The traditional solution mainly focuses on optimizing the real-time operating system scheduling algorithm in the controller, improving the hardware performance or using a faster bus, but these methods do not fundamentally change the essence of the architecture of high resource sharing and single IP export, and have limited effect on solving the deep coupling problem.

[0051] Therefore, from the implementation level, the key direction to break through the current application bottleneck of high integration motion controller lies in actively adopting and implementing the independent IP address allocation scheme based on virtualization technology and software defined network concept. This requires the controller manufacturer to provide sufficient network processing capability and virtualization support at the hardware level, and to build a powerful virtual network management platform at the software level, which can efficiently and securely create, manage and route these virtual IP channels. Users can configure exclusive virtual IP addresses for each functional unit that needs independent interaction and management when planning and deploying the system, so as to realize clear isolation at the logic level, efficient shunting at the communication level and flexible expansion at the system level on the physically integrated hardware platform, and finally meet the needs of complex and variable advanced process processing.

[0052] The present application proposes a multi-IP motion controller for controlling multiple execution terminals. In the multi-IP motion controller architecture, the execution terminal is the most terminal device unit in the entire automation system, directly performs physical actions, and completes specific production or operation tasks. It is the final receiver of control instructions and the performer of actions. According to the precise instructions from the controller, it performs specific physical actions. It is worth noting that in the present application, in order to facilitate the explanation of the actual role, function and context in the production environment, the terms "workstation" and "execution terminal" appear, which are different expressions of the same meaning.

[0053] The present application aims to efficiently and independently control multiple execution terminals. On a single physical hardware 01 platform, multiple logically independent virtual controller instances with exclusive network identifiers (IP addresses) are created through software virtualization and network technology. Each virtual controller is responsible for communicating with and controlling a specific execution terminal. The entire system works collaboratively with physical hardware 01, multiple virtual controllers (virtual controller group 02), multi-IP binding module 03 and IP mapping module 04. The physical hardware 01 is the material basis and physical carrier of the entire controller, providing computing power, storage space, and crucial physical network interface 11 (Physical Network Interface). The physical network interface 11 is the channel for the controller to physically connect to the external network, and all network data entering and leaving the controller is ultimately transmitted and received through this interface. The physical hardware 01 runs the underlying operating system or real-time operating system. The physical network interface 11 is responsible for handling the transmission and reception of electrical or optical signals at the physical layer and data link layer, receiving network data packets from physical media or sending them out.

[0054] Each of the virtual controllers includes a virtual network interface, a virtual memory space, and a task execution vehicle. The virtual network interface (vNIC) is the logical endpoint through which the virtual controller communicates with the network. It emulates the behavior of a physical network interface 11 and has its own independent IP address. The virtual controller sends and receives network packets through its vNIC as if it has a dedicated physical network card. The virtual memory space is an independent, protected memory area allocated for each virtual controller. It is used to store the controller's exclusive program code, runtime data such as sensor readings, intermediate calculation results, control parameters, status information, received network packet contents, and pending instruction data. This space is strictly isolated from the memory spaces of other virtual controllers. The task execution vehicle is the entity that actually executes the control logic in the virtual controller, typically embodied as one or more independent software processes or threads. The vehicle runs the control algorithm specific to the execution terminal, such as a PID control (Proportional-Integral-Derivative Control), trajectory planning algorithm, processes the data received from the vNIC such as host computer instructions, sensor feedback, performs calculations and decisions, and generates the final control instructions to be sent to the execution terminal.

[0055] Each virtual controller simulates an independent, complete controller instance, specifically responsible for communication and control with a specific execution terminal. It has its own network identity, i.e., an independent IP address, an independent memory space, and an execution environment, ensuring that the control logic, data, and communication flows between different terminals are completely isolated and do not interfere with each other. Each virtual controller runs independently under the support of the computing resources provided by the physical hardware 01 and the operating system / virtualization platform. Its task execution vehicle continuously executes the control logic, and when it needs to send control instructions to the execution terminal, the instruction data is placed in its virtual memory space and a network request is sent through its virtual network interface. When data packets arrive at its virtual network interface through the IP mapping module 04, the task execution vehicle reads these data from the virtual memory space, processes them, and responds or adjusts the control behavior.

[0056] The Multi-IP Binding Module 03 is connected to the physical network interface 11, and is usually a part of the operating system kernel network stack or a dedicated driver module. It maintains an internal mapping table that records the list of all IP addresses bound to the physical interface, and thus binds each virtual controller's IP address to the same physical network interface 11, so that the physical interface can respond to Address Resolution Protocol Request (ARP) (IPv4) or Neighbor Discovery Request (IPv6) sent to these different IP addresses, and claim ownership of these IP addresses. This module works at a lower layer of the operating system network protocol stack, usually at the IP layer. When the physical network interface 11 receives a packet, this module is the first to participate in the processing. More importantly, when an upper layer virtual controller needs to send a packet through its vNIC, this module ensures that the source IP address of the packet is correctly set to the IP address of the vNIC, and sends it out through the shared physical interface. It is responsible for coordinating the complexity of sharing a single physical channel by multiple logical IP addresses.

[0057] The IP Mapping Module 04 inspects the destination IP address of all network packets received through the physical network interface 11. According to this destination IP address, the module accurately routes (maps) the packet to the virtual network interface of the corresponding virtual controller configured with this IP address, and writes the packet content into the exclusive virtual memory space of the virtual controller. It is usually also a kernel module or a driver component tightly integrated with the Multi-IP Binding Module 03. It maintains a critical mapping table that associates each IP address bound to the physical interface to the virtual network interface and / or access interface of the virtual memory space of the virtual controller it belongs to. When the physical network interface 11 receives a packet and passes it to the network protocol stack, the IP Mapping Module 04 intervenes early. It parses the IP header of the packet and extracts 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 safely copies or passes the content of the packet into the virtual memory space of the target virtual controller, and notifies the task execution carrier of the virtual controller through some mechanism that there is new data arriving at its vNIC waiting for processing. This process ensures that the packet is accurately delivered to the target virtual controller, achieving logical network isolation.

[0058] The entire system workflow is as follows: external network sends instruction data packet to a certain specific execution terminal (hereinafter taking virtual controller A as an example, the target IP address is the IP of virtual controller A), through the network to the physical network interface 11 of the controller. The physical interface completes the underlying signal reception and frame processing, and delivers the data packet to the network protocol stack of the operating system. The IP mapping module 04 intercepts the data packet at the bottom of the protocol stack, the module parses the IP header of the data packet, identifies the target IP address (i.e. the IP of virtual controller A), and the module queries the internal mapping table to find the corresponding target virtual controller instance (virtual controller A) according to the target IP address.

[0059] The IP mapping module 04 writes the content of the received data packet into the exclusive virtual memory space of the target virtual controller A. This ensures that the data is isolated and stored in the memory area belonging to virtual controller A. After the write operation is completed, the IP mapping module 04 will notify the task execution carrier of virtual controller A, and the task execution carrier is awakened or polled to know that new data has arrived. The task execution carrier reads the data just arrived from the virtual memory space of virtual controller A. The carrier analyzes these data according to the control algorithm it runs internally for the execution terminal, combines possible internal state and sensor feedback, and makes calculations and decisions. The task execution carrier generates control instructions to be sent to the execution terminal A. These instruction data are put into the virtual memory space of virtual controller A. The task execution carrier initiates a network sending request (for example, constructs a (User Datagram Protocol, UDP) user datagram protocol data packet or a (Transmission Control Protocol, TCP) transmission control protocol data packet, the source IP is the IP of virtual controller A, the target IP is the IP of execution terminal A, and the payload is the control instruction) through the virtual network interface (vNIC) of virtual controller A.

[0060] This sending request is processed by the operating system network stack. The multi-IP binding module 03 intervenes and identifies that the sending request comes 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 is routed to the shared physical network interface 11. The physical network interface 11 receives the data packet delivered by the multi-IP binding module 03 (containing the target IP of the execution terminal A and the source IP of the virtual controller A), performs the necessary link layer encapsulation, and finally sends the data packet through the physical network cable, and finally reaches the target execution terminal A, thereby controlling its operation.

[0061] The multi-IP motion controller proposed in the application solves the problems of resource coupling and communication mixing of the traditional single-IP architecture by assigning an independent IP address to each internal virtual controller and binding it to the same physical network interface 11, and combining an IP mapping mechanism to realize accurate data addressing and distribution based on the target IP address. Each virtual controller has independent IP, memory and running environment, good resource isolation and little mutual interference. The scheme improves the system resource isolation, guarantees the real-time and certainty of each station control task, reduces the coupling degree between modules, and makes the development, debugging, maintenance and fault isolation more convenient and efficient. It appears as multiple virtual controllers with independent IP to the outside, making network planning, device access and security management more intuitive, and more in line with the operation habits of traditional multi-device integration, thereby simplifying the system integration and use process, and providing a high-performance, high-reliability and flexible solution for complex multi-station collaborative control.

[0062] In an embodiment, as shown in Figure 4 The multi-IP binding module 03 includes an IP configuration module for assigning an independent IP address to each virtual controller from a preset address pool, and an interface binding module for binding the IP address of each virtual controller to the same physical network interface 11.

[0063] It can be understood that the IP configuration module is the "address administrator" and "allocator" of the multi-IP binding module 03, which dynamically or statically allocates a dedicated and 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 level, and these identities are valid, routable and do not conflict with each other and other network devices in the entire network environment. This module is the basis for building logically isolated network communication. The preset IP address pool is usually set by the system administrator during controller initialization or configuration, and specifies which IP addresses can be allocated to virtual controllers (for example, 192.168.1.10 to 192.168.4.40). When the system needs to create a new virtual controller instance, the request triggers the address allocation process of the IP configuration module. According to the preset rules, which are set by the system administrator during controller initialization or configuration, the address pool manager is queried to request an available IP address, and an IP address marked as "available" is found and locked within the preset IP address.

[0064] Once a valid, non-conflicting IP address is successfully selected, the IP address is officially assigned to the requesting virtual controller. The state of the IP address is recorded from "available" to "assigned", and a mapping between the IP address and the unique identifier of the target virtual controller instance, such as an ID, is established. The IP configuration module passes the assigned IP address to the target virtual controller. The virtual controller receives this IP address during its initialization process and configures it to its virtual network interface as its unique network identity. When a virtual controller is destroyed and the corresponding worker is removed, the IP configuration module receives a notification. It then releases the IP address previously occupied by the virtual controller, marks the state of the IP address back to "available" in the address state tracker, and clears the mapping record, so that the address can be re-assigned to a newly created virtual controller.

[0065] The interface binding module actually and effectively associates multiple independent IP addresses belonging to different virtual controllers, which are assigned by the IP configuration module, to the same underlying physical network interface 11. This enables a single physical network interface 11 to represent multiple logical IP entities for network communication. The module solves the key problem of a single physical channel carrying multiple logical network identities and is the core technical link to implement multiple IP sharing one physical network card. The IP configuration module ensures that each virtual controller has a unique and valid IP address at the logical network level and manages the life cycle of these addresses. The interface binding module actually and centrally "mounts" the IP addresses assigned by the configuration module and scattered in various virtual controllers to the same physical network interface 11, enabling the physical interface to represent all these logical IPs for network communication. It implements the "multiplexing" function of a single physical channel carrying multiple logical network identities.

[0066] In an embodiment, the physical network interface 11 is an industrial Ethernet card, and the IP addresses of the virtual controllers are bound to the same industrial Ethernet card.

[0067] The industrial Ethernet card is the physical hardware portal connecting the motion controller and the industrial field network. It is responsible for realizing the physical connection and basic data exchange between the controller and other devices in the network at the electrical layer and data link layer. It provides a network communication channel with high reliability, determinacy and real-time, meeting the harsh environmental requirements and real-time control requirements of industrial automation. In the industrial scene, the core role of the IP configuration module remains unchanged: for each virtual controller representing an independent motion control task, assign a unique and valid IP address within the industrial Ethernet subnet. This ensures that even in the case of sharing the same physical network card, each virtual controller has a clear and isolated identity at the logical network level, facilitating precise addressing and communication by other devices in the network. The core role of the interface binding module in the industrial environment is more prominent. It assigns multiple different IP addresses to each virtual controller allocated by the IP configuration module and efficiently and reliably "attaches" them to the same physical industrial Ethernet card. This enables the high-performance and highly reliable industrial network card to simultaneously carry multiple independent network communication streams of virtual controllers, realizing the reuse of physical interface resources while maintaining the isolation and determinacy of the network identity of each virtual controller.

[0068] In an embodiment, each of the virtual controllers has a unique number, and the IP mapping module 04 includes a mapping table storing the correspondence between the IP addresses and the numbers of the virtual controllers.

[0069] The mapping table establishes and maintains a bidirectional mapping relationship between the IP addresses of the virtual controllers and their unique internal system numbers. When the physical network interface 11 receives a data packet, it quickly resolves the target IP address to the corresponding virtual controller number by querying the mapping table, ensuring that the data packet is accurately delivered to the target controller. When a virtual controller needs to actively send data, it can look up its bound IP address in reverse through the number, which is used to set the source IP or verify the identity. The IP address and the virtual controller make the network communication configuration independent of the internal implementation logic of the controller.

[0070] When the system starts up, the IP mapping module 04 reads the persistent configuration, creates mapping table entries in memory for each assigned <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 to insert into the mapping table and sets the status to active. When a virtual controller is destroyed, the module marks the corresponding entry status as to be deleted and safely removes it by a background task. When the physical network interface 11 receives a data packet and preliminarily filters it via the interface binding module (confirming that the destination IP is bound), the IP mapping module 04 intercepts the data packet, extracts the destination IP address (Dest_IP) from the IP header. Using Dest_IP as the key, it retrieves the hash index of the mapping table, obtains 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 destination controller number) and pushes it to the dedicated receiving queue of the destination 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.

[0071] When a 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, it retrieves the number index of the mapping table and obtains 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.

[0072] 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 carriers 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.

[0073] It can be understood that the real-time kernel scheduler 05 is used to allocate control and operation units to each virtual controller task execution carrier according to a preset priority strategy and current physical hardware 01 occupation, so that each virtual controller executes real-time tasks through the allocated control and operation units. The real-time kernel scheduler 05 is a dynamic allocator of system resources and is the core of guaranteeing the real-time performance of the system. It continuously monitors the physical hardware 01, especially the occupation of the CPU / processor core. The scheduler makes scheduling decisions according to the priority strategy set in advance for each virtual controller task execution carrier, for example, fixed priority, polling, or more complex real-time scheduling algorithms such as rate monotonic scheduling (RM) and earliest deadline first scheduling (EDF) algorithms. When a virtual controller task execution carrier needs to run, the scheduler will evaluate the availability of the current physical computing resources, and according to the priority strategy, decide whether to allocate a computing time slice immediately or at what time and on which physical processor core to allocate the computing time slice, so that the task execution carrier can run. The core of its working principle is preemptive scheduling, that is, interrupting the execution of low-priority tasks when necessary to allow high-priority tasks to obtain immediate response and ensure that the real-time performance requirements of critical control tasks are met.

[0074] The virtual controller parses the received data packet through the resource allocated to the control and operation unit, generates a control instruction, and sends the control instruction to the corresponding execution terminal.

[0075] In an embodiment, as shown in Figure 3 The physical hardware 01 also includes a physical storage; the multi-IP motion controller further includes a storage configuration module for mapping the virtual memory space to the physical storage, and the physical storage intervals mapped by each virtual controller do not overlap.

[0076] The storage configuration module is configured to map the virtual memory space to the physical storage, and the physical storage intervals mapped by each virtual controller do not overlap. The storage management module is responsible for mapping and isolation configuration of the storage resources of the virtual world and the physical. The virtual memory space (logical address space) declared by each virtual controller is mapped to the physical storage hardware. The physical storage interval is pre-allocated and does not overlap. This mapping relationship is usually defined by the user in the system configuration stage, that is, a configurable mapping table. Most importantly, the storage configuration module strictly ensures that the physical storage intervals mapped by each virtual controller do not overlap, which is the basis for achieving strong isolation, preventing program errors or malicious behaviors of one virtual controller from interfering with or damaging the running data and code of other virtual controllers.

[0077] In an embodiment, as shown in Figure 3As shown, the physical hardware 01 further comprises physical storage, which comprises a continuous physical address space, the starting address of the physical address space being a base address; the physical address space is divided into a plurality of physical address segments according to the manner of superimposing M (M = 0, 1,..., N-1) offsets on the base address, and the value range of each offset corresponds to the memory space length of a virtual controller, wherein N is the number of virtual controllers.

[0078] The physical storage comprises a continuous physical address space, the starting address of the physical address space being a base address; the physical address space is divided into a plurality of physical address segments according to the manner of 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.

[0079] It can be understood that, with reference to the accompanying Figure 3 On the continuous physical address space, a plurality of virtual controllers are established with strictly isolated and non-overlapping exclusive storage areas. The physical storage is divided by a predefined calculation rule to ensure that each virtual controller has an independent and protected runtime environment, preventing system instability caused by data tampering or access out-of-bounds. The physical storage is regarded as a continuous logical address space, the starting point of which is explicitly specified as the base address, serving as the reference origin for all address calculations. The entire physical address space is divided into N continuous physical address segments. The division rule is based on the superposition of M offsets on the base address, and each offset represents the length of a virtual storage resource interval required by a virtual controller.

[0080] The calculation method is as follows:

[0081] The storage segment starting address of the 0th virtual controller = base address + 0 * offset

[0082] The storage segment starting address of the 1st virtual controller = base address + 1 * offset

[0083] The storage segment starting address of the Mth virtual controller = base address + M * offset (where M = 0, 1,..., N-1).

[0084] The value of each offset must be greater than or equal to the maximum storage space length actually required by the corresponding virtual controller, ensuring that the physical address segment allocated to each controller is sufficient to accommodate all its virtual storage resources, and 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).

[0085] Further, the application also provides an industrial equipment comprising the multi-IP motion controller and the plurality of execution terminals.

[0086] The multi-IP motion controller of the application can effectively solve the problems of resource coupling and communication confusion of the traditional single-IP architecture by assigning an independent IP address to each internal virtual controller and binding the IP address to the same physical network interface 11, and combining an IP mapping mechanism to realize accurate data addressing and distribution based on a target IP address.

[0087] Further, the application also provides a control method, as shown in Figure 5 The control method is realized based on the multi-IP motion controller and comprises the following steps.

[0088] S100: creating a plurality of virtual controllers according to the number of execution terminals;

[0089] S200: assigning an independent IP address to each virtual controller, and binding the IP address of each virtual controller to the same physical network interface 11;

[0090] S300: receiving the data packet sent by the execution terminal through the physical network interface 11, and mapping the received data packet to the virtual network interface of the corresponding virtual controller according to the target IP address of the data packet, and writing the data packet into the virtual memory space of the corresponding virtual controller;

[0091] S400: the virtual controller receives the data packet to generate a control instruction, and sends the control instruction to the corresponding execution terminal through the physical network interface 11 to control the operation of the execution terminal.

[0092] In the embodiment, step S100 constructs a logically independent control unit, realizes virtualization segmentation and task-level isolation of physical resources, and provides a dedicated motion control environment for each execution terminal. A creation instruction is received, execution terminal parameters are parsed, system resource margins are verified, an exclusive CPU core or real-time task thread is allocated for each virtual controller, and an independent memory space is divided to store runtime data. According to the terminal type, a template is matched, and configuration parameters are injected. A virtual controller is generated, a virtual network interface (vNIC) and a private memory space are created, a communication queue is initialized, and a real-time task scheduler is activated.

[0093] Step S200 establishes a network identity system to realize logical channel isolation when multiple virtual controllers share a single physical network interface 11. An unused IP is selected from an address pool and associated with a virtual controller number, an IP-controller mapping rule is registered at a network card driver layer, and a physical network card enters a mixed mode to listen to all target IPs. The vNIC of the virtual controller is configured with an allocated IP, and network basic functions such as ARP protocol response are enabled. Step S300 realizes accurate distribution of network traffic to ensure that the data packet of the execution terminal reaches the target virtual controller. The network card identifies that the target IP belongs to the binding address pool, triggers DMA transmission to the host memory, queries the IP-controller mapping table, and locks the target virtual controller number (such as VC_203). Through virtual address remapping technology, the data packet is directly imported from the network card buffer to the private memory area of VC_203, an interrupt signal or a polling flag is sent to the target virtual controller, and the data packet processing flow is triggered.

[0094] Step S400 processes the data received by it, executes the control algorithm in it, generates a control instruction for the execution terminal corresponding to it, and sends the control instruction back to the target execution terminal through the shared physical network interface 11 to realize closed-loop control.

[0095] In an embodiment of the control method, the step S400, the specific steps of the virtual controller receiving the data packet to generate a control instruction, and sending the control instruction to the corresponding execution terminal through the physical network interface 11 to control the operation of the execution terminal include steps S410-S440:

[0096] S410: the virtual controller receives the data packet through the virtual network interface;

[0097] S420: The received data packet is parsed by allocating resources to the control and operation unit, and a control instruction is generated;

[0098] S430: The control instruction is converted into an industrial protocol data packet corresponding to the execution terminal;

[0099] S440: The industrial protocol data packet is sent to the corresponding execution terminal through the physical network interface 11 to control the operation of the execution terminal.

[0100] In the embodiment, in step S410, the virtual network interface driver of the virtual controller detects that a new data packet has arrived in its exclusive virtual memory receiving 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 by allocating resources to the control and operation unit, and generates a control instruction, which includes the control algorithm engine performing real-time calculation based on the parsed feedback data, internal state and preset target, to generate a control instruction for the execution terminal.

[0101] In step S430, the control instruction is converted into an industrial protocol data packet corresponding to the execution terminal. The protocol encapsulation module of the virtual controller fills the control instruction data generated by S420 into the data structure specified by the specific industrial protocol supported by the target execution terminal, and adds the necessary protocol layer header information, to generate a standard industrial protocol network data packet that can be directly recognized and executed by the target execution terminal. In step S440, the encapsulated industrial protocol data packet is placed in the sending queue of the virtual controller. The virtual network interface driver initiates a sending request carrying the exclusive source IP address of the virtual controller and the IP address of the target execution terminal. The operating system network stack and the physical network interface 11 driver send the data packet out through the shared physical network interface 11 based on the multi-IP binding mechanism established in S200. The data packet arrives at the execution terminal, is parsed and executed, drives the execution terminal to act, and completes the real-time control of the exclusive execution terminal by the virtual controller.

[0102] The above only describes some embodiments of the present application, and does not limit the patent scope of the present application. Any equivalent structural transformation based on the technical concept of the present application, or direct / indirect application in other related technical fields is included in the patent protection scope of the present application.

Claims

1. A multi-IP motion controller for controlling a plurality of execution terminals, characterized by, The physical hardware comprises a physical network interface. The multiple virtual controllers are configured with independent IP addresses and are communicatively connected to the execution terminal. Each of the virtual controllers comprises a virtual network interface, a virtual memory space and a task execution carrier. The task execution carrier is configured to run a motion control algorithm for the execution terminal to process received data and generate control instructions for controlling the motion of the execution terminal. A multi-IP binding module is connected to the physical network interface. The multi-IP binding module is configured to bind the IP address of each virtual controller to the same physical network interface and coordinate the IP addresses of the multiple virtual controllers to share the physical channel of the same physical network interface.

2. The multi-IP motion controller of claim 1, wherein, An IP mapping module is configured to map data packets received by the physical network interface to the virtual network interface of the corresponding virtual controller according to the target IP address of the data packets and write the data packets into the virtual memory space of the corresponding virtual controller. The IP mapping module is also configured to map data packets sent by the virtual controller to the physical network interface through the virtual network interface and send the data packets out with the IP address of the current virtual controller as the source address. After receiving the data packets, each of the virtual controllers processes the received data and generates control instructions for controlling the motion of the corresponding execution terminal.

3. The multi-IP motion controller of claim 2, wherein, The physical network interface is an industrial Ethernet card.

4. The multi-IP motion controller of claim 1, wherein, The IP addresses of the virtual controllers are bound to the same industrial Ethernet card.

5. The multi-IP motion controller of claim 1, wherein, Each of the virtual controllers has a unique number. The IP mapping module comprises a mapping table storing the correspondence between the IP addresses and the numbers of the virtual controllers. The physical hardware further comprises a control and operation unit.

6. The multi-IP motion controller of claim 4, wherein, The multi-IP motion controller further comprises a real-time kernel scheduler configured to allocate the resources of the control and operation unit to the task execution carriers of the virtual controllers according to a priority policy and a hardware occupation state. The virtual controllers analyze the received data packets and generate control instructions for the corresponding execution terminal by using the allocated resources of the control and operation unit.

7. The multi-IP motion controller of claim 6, wherein, The physical hardware further comprises a physical storage. The multi-IP motion controller further comprises a storage configuration module configured to map the virtual memory spaces to the physical storage and ensure that the mapped physical storage areas of the virtual controllers do not overlap.

8. An industrial plant, characterized in that The physical storage comprises a continuous physical address space.

9. A control method implemented based on the multi-IP motion controller according to any one of claims 1-7, characterized in that, The physical address space is divided into multiple physical address segments according to the base address and M (M=0, 1,..., N-1) offsets. The multi-IP motion controller and the multiple execution terminals are configured as claimed in any one of claims 1-7. The physical hardware comprises a physical network interface. According to the number of execution terminals, a plurality of virtual controllers are created; An independent IP address is assigned to each virtual controller, and the IP address of each virtual controller is bound to the same physical network interface; Data packets sent by the execution terminals are received through the physical network interface, and the received data packets are mapped to the virtual network interface of the corresponding virtual controller according to their target IP addresses, and written into the virtual memory space of the corresponding virtual controller; The virtual controller receives the data packet to generate a control instruction, which is sent to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal.

10. The control method according to claim 9, characterized by, The specific steps that the virtual controller receives the data packet to generate a control instruction, which is sent to the corresponding execution terminal through the physical network interface to control the operation of the execution terminal include: The virtual controller receives the data packet through the virtual network interface; The received data packet is parsed by allocating resources to the control and operation unit, and a control instruction is generated; The control instruction is converted into an industrial protocol data packet corresponding to the execution terminal; The corresponding execution terminal is sent through the physical network interface to control the operation of the execution terminal.

Citation Information

Patent Citations

  • Network resource allocation method and device and nonvolatile storage medium

    CN117880217A

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

    CN118795834A