EtherCAT communication system and method based on dual-core architecture and robot control system

Through the EtherCAT communication system based on a dual-core architecture, the Linux and Xenomai kernels are used to share hardware resources, achieving high real-time and debuggable performance of the EtherCAT communication system, solving the problems of decentralized task scheduling and online hot updates, reducing development complexity and improving real-time performance.

CN120670362APending Publication Date: 2025-09-19PANOVASIC TECHNOLOGY CO LTD
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202510768448.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-10
Publication Date
2025-09-19

AI Technical Summary

Technical Problem

The existing EtherCAT communication system has problems in decentralized task scheduling, poor real-time performance, and inability to support online hot updates, resulting in high development complexity and insufficient real-time performance.

Method used

An EtherCAT communication system based on a dual-core architecture is adopted, using the Linux kernel and the Xenomai kernel to share hardware resources, and dual-core coexistence is achieved through ADEOS. The EtherCAT-APP-Manage module provides a unified interface for task scheduling and resource management. Real-time tasks automatically create the highest priority RT-Task thread. The EtherCAT-Master module interacts with slave devices for real-time task data and transmits data through shared memory.

Benefits of technology

It achieves high real-time and debuggability of the EtherCAT communication system, reduces development complexity, eliminates the dispersion of task scheduling, reduces the amount of code, avoids system restart, and supports online modification of slave parameters and communication configuration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120670362A_ABST
    Figure CN120670362A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of communication, discloses an EtherCAT communication system and method based on a dual-kernel architecture and a robot control system, and aims to solve the problems of dispersed task scheduling and poor real-time performance of an existing scheme, and the scheme mainly comprises an NRT-APP, an RT-APP, a Linux kernel, a Xenomai kernel, an EtherCAT-APP-Manage module, an EtherCAT-Master module and an EtherCAT network card driving module. The NRT-APP runs in a Linux kernel and is used for receiving a non-real-time task, and the RT-APP runs in a Xenomai kernel and is used for receiving a real-time task; the EtherCAT-APP-Manage module runs in a Xenomai kernel and is used for receiving a non-real-time task and a real-time task through an NRT interface and an RT interface respectively, managing and configuring slave station equipment according to the non-real-time task, creating an RT-Task thread with the highest priority according to the real-time task and performing data interaction of the real-time task with the slave station equipment; the EtherCAT-Master module runs in a Xenomai kernel, the EtherCAT network card driving module runs in the Xenomai kernel and is isolated from a Linux kernel, and the EtherCAT-Master module is used for calling the EtherCAT network card driving module according to an RT-Task thread and carrying out real-time task data interaction with slave station equipment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of communication technology, and in particular to an EtherCAT communication system, method and robot control system based on a dual-core architecture. Background Art

[0002] With the rapid development of robotics, the real-time requirements for robot joint control are increasing. As a high-performance industrial Ethernet protocol, EtherCAT places stringent demands on system real-time, deterministic, and low latency. Traditional Linux systems no longer meet these real-time requirements. While Linux Real-Time Patch significantly improves real-time performance, the task scheduling strategy based on Linux itself still carries the risk of occasional excessive delays, making it unable to meet the rigorous, deterministic real-time requirements of EtherCAT.

[0003] Application publication number CN115616984A discloses a task processing method, a numerical control machine, and a storage medium based on a multi-core processor. Its main solution is to assign a first processor bound to a Xenomai system to process real-time tasks, and to assign a second processor bound to a Linux system to process non-real-time tasks. The first processor and the second processor are obtained by isolating one part of the multiple processors from another part of the processors through the system kernel.

[0004] After research, the inventors found that the above solution has at least the following problems: First, in the above-mentioned Linux+Xenomai dual-kernel architecture, although Xenomai handles real-time tasks and Linux handles non-real-time tasks, real-time task scheduling, non-real-time task management and hardware resource allocation usually require manual coordination by developers, task scheduling is decentralized, development complexity is high, and development cycle is long; second, the EtherCAT slave station configuration requires restarting the master station or reloading the driver, and cannot support online hot updates, resulting in reduced efficiency; third, although the Xenomai kernel has a high priority, the sudden load of the Linux kernel may still indirectly affect real-time performance through shared hardware. Summary of the Invention

[0005] The present invention aims to solve the problems of decentralized task scheduling and poor real-time performance in existing EtherCAT communication systems, and proposes an EtherCAT communication system, method and robot control system based on a dual-core architecture.

[0006] The technical solution adopted by the present invention to solve the above technical problems is: In a first aspect, the present invention provides an EtherCAT communication system based on a dual-core architecture, comprising: an application layer, a kernel layer, and ADEOS, wherein the application layer comprises NRT-APP and RT-APP, and the kernel layer comprises a Linux kernel, a Xenomai kernel, an EtherCAT-APP-Manage module, an EtherCAT-Master module, and an EtherCAT network card driver module; The ADEOS is used to realize the dual-kernel coexistence of Linux and Xenomai, and the Linux kernel and the Xenomai kernel share hardware resources; The NRT-APP runs on the Linux kernel, is used to receive non-real-time tasks, and sends them to the EtherCAT-APP-Manage module, and the RT-APP runs on the Xenomai kernel, is used to receive real-time tasks, and sends them to the EtherCAT-APP-Manage module; The EtherCAT-APP-Manage module runs on the Xenomai kernel and is used to receive non-real-time tasks through the NRT interface, receive real-time tasks through the RT interface, manage and configure slave devices according to the received non-real-time tasks, create a highest-priority RT-Task thread according to the received real-time tasks, and perform real-time task data interaction with the slave devices according to the RT-Task thread; The EtherCAT-Master module runs on the Xenomai kernel, the EtherCAT network card driver module runs on the Xenomai kernel and is isolated from the Linux kernel, and the EtherCAT-Master module is used to call the EtherCAT network card driver module according to the RT-Task thread to perform real-time task data interaction with the slave device.

[0007] The EtherCAT-APP-Manage module reads the feedback data in the shared memory and sends it to the RT-APP.

[0008] Furthermore, the EtherCAT-APP-Manage module is specifically used to read the control instructions of the real-time task according to the RT-Task thread, and call the EtherCAT-Master module to send the PDO message corresponding to the control instructions of the real-time task; and read the feedback data in the shared memory and send it to the RT-APP; The EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send PDO messages to the slave device; and receive feedback data from the slave device through the EtherCAT network card driver module, and update the shared memory after parsing the feedback data.

[0009] The EtherCAT-APP-Manage module reads the feedback data in the shared memory and sends it to the RT-APP.

[0010] Furthermore, the EtherCAT-APP-Manage module is specifically used to read the control instructions of the non-real-time task, and call the EtherCAT-Master module to send the SDO message corresponding to the control instructions of the non-real-time task; and read the operation result data in the shared memory and send it to the NRT-APP; The EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send SDO messages to the slave device; and receive operation result data of the slave device through the EtherCAT network card driver module, and update the shared memory according to the operation result data.

[0011] In a second aspect, the present invention provides an EtherCAT communication method based on a dual-core architecture, which is applied to the EtherCAT communication system based on a dual-core architecture as described in the first aspect, the method comprising: The NRT-APP receives non-real-time tasks and sends them to the EtherCAT-APP-Manage module. The EtherCAT-APP-Manage module receives non-real-time tasks through the NRT interface and manages and configures slave devices according to the received non-real-time tasks; The RT-APP receives the real-time task and sends it to the EtherCAT-APP-Manage module. The EtherCAT-APP-Manage module receives the real-time task through the RT interface and creates the highest priority RT-Task thread according to the received real-time task. The EtherCAT-Master module calls the EtherCAT network card driver module according to the RT-Task thread to interact with the slave device for real-time task data.

[0012] The EtherCAT-APP-Manage module reads the feedback data in the shared memory and sends it to the RT-APP.

[0013] Furthermore, data interaction with slave devices for real-time tasks includes: The EtherCAT-APP-Manage module reads the control instructions of the real-time task according to the RT-Task thread, and calls the EtherCAT-Master module to send the PDO message corresponding to the control instructions of the real-time task; The EtherCAT-Master module calls the EtherCAT network card driver module to send the PDO message to the slave device; The EtherCAT-Master module receives feedback data from the slave device through the EtherCAT network card driver module, analyzes the feedback data, and updates the shared memory; The EtherCAT-APP-Manage module reads the feedback data in the shared memory and sends it to the RT-APP.

[0014] Furthermore, the slave device is configured according to the received non-real-time task management, specifically including: The EtherCAT-APP-Manage module reads the control instructions of the non-real-time task and calls the EtherCAT-Master module to send the SDO message corresponding to the control instructions of the non-real-time task; The EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send the SDO message to the slave device, receive the operation result data of the slave device through the EtherCAT network card driver module, and update the shared memory according to the operation result data; The EtherCAT-APP-Manage module reads the operation result data in the shared memory and sends it to the NRT-APP.

[0015] In a third aspect, the present invention provides a robot control system comprising the EtherCAT communication system based on the dual-core architecture as described in the first aspect.

[0016] The beneficial effects of the present invention are as follows: the EtherCAT communication system, method, and robot control system based on a dual-core architecture provided by the present invention can not only use a wide range of applications on Linux to ensure the debuggability of the applications, but also process periodic real-time data and implement distributed clocks by running EtherCAT-related modules on the Xenomai side to ensure sub-millisecond operation of EtherCAT; the EtherCAT-APP-Manage module is used to centralize task scheduling and resource management through a unified interface, and real-time tasks automatically create RT-Task threads with the highest priority, so that real-time interactive data can run in a separate thread, isolating non-real-time parts. Developers do not need to directly call Xenomai or Linux kernel APIs, thereby eliminating the dispersion of task scheduling, reducing context switching and the amount of exchanged data, reducing the amount of code, and reducing development complexity. In addition, the EtherCAT network card driver is only loaded into the Xenomai domain and cannot be accessed by Linux through the general network stack. Hardware resource isolation is achieved through exclusive use of the network card driver. Combined with modular scheduling, it can completely eliminate the interference of non-real-time tasks on real-time resources, thereby improving the real-time performance of real-time tasks. In addition, the present invention uses shared memory to transmit data, realizes online modification of slave station parameters and communication configuration, and avoids system restart. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 A schematic diagram of the structure of an EtherCAT communication system based on a dual-core architecture is provided in an embodiment; Figure 2 A flow chart of an EtherCAT communication method based on a dual-core architecture is provided in an embodiment. DETAILED DESCRIPTION

[0018] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solution of this embodiment will be clearly and completely described below in conjunction with the drawings in this embodiment.

[0019] The technical solution of the present invention is applicable to application scenarios of industrial automation control with high real-time requirements, such as robot control.

[0020] The Linux + Xenomai dual-core architecture is currently the most commonly used solution for EtherCAT communication systems used to control robots. However, in this dual-core architecture, real-time task scheduling, non-real-time task management, and hardware resource allocation often require manual coordination by developers. Real-time tasks (RT-tasks) and non-real-time tasks (NRT-tasks) must be implemented by developers through the Xenomai API and Linux API, respectively. The lack of a unified management interface easily leads to logical coupling, forcing real-time threads and non-real-time configuration tasks to be developed independently, increasing code redundancy and maintenance difficulties. Secondly, EtherCAT slave configuration (such as SDO parameter modification) usually requires restarting the master or reloading the driver, and cannot support online hot updates. In addition, although the Xenomai domain has high priority, if CPU and memory resources are not strictly isolated, the sudden load of the Linux kernel may still indirectly affect real-time performance through shared hardware. For example, when Linux processes frequently access memory, DMA operations of the Xenomai real-time thread may be delayed.

[0021] Based on this, the technical solution of the present invention is proposed. In the present invention, the EtherCAT communication system based on the dual-core architecture includes: an application layer, a kernel layer and ADEOS, the application layer includes NRT-APP and RT-APP, the kernel layer includes a Linux kernel, a Xenomai kernel, an EtherCAT-APP-Manage module, an EtherCAT-Master module and an EtherCAT network card driver module; the ADEOS is used to realize the dual-core coexistence of Linux and Xenomai, and the Linux kernel and the Xenomai kernel share hardware resources; the NRT-APP runs in the Linux kernel, is used to receive non-real-time tasks, and sends them to the EtherCAT-APP-Manage module, the RT-APP runs in the Xenomai kernel, is used to receive real-time tasks, and sends them to the EtherCAT-APP-Manage module, Send to the EtherCAT-APP-Manage module; the EtherCAT-APP-Manage module runs in the Xenomai kernel, and is used to receive non-real-time tasks through the NRT interface, receive real-time tasks through the RT interface, and manage and configure slave devices according to the received non-real-time tasks, create the highest priority RT-Task thread according to the received real-time tasks, and perform data interaction of real-time tasks with the slave devices according to the RT-Task thread; the EtherCAT-Master module runs in the Xenomai kernel, and the EtherCAT network card driver module runs in the Xenomai kernel and is isolated from the Linux kernel. The EtherCAT-Master module is used to call the EtherCAT network card driver module according to the RT-Task thread and perform data interaction of real-time tasks with the slave devices.

[0022] Specifically, based on the Linux + Xenomai dual-kernel architecture, this invention optimizes the EtherCAT software framework within the entire system, achieving higher performance and lower latency. In this communication system, the ADEOS-based Linux + Xenomai systems run simultaneously within a single code base. The EtherCAT network card driver module, based on the industrial computer network card, is isolated from the Linux system, providing a network data transceiver interface. This makes the network card an independent module that Linux cannot access through the general network stack, achieving hardware resource isolation through exclusive use of the network card driver. Data interfaces between the Linux and Xenomai systems are provided via NRT-APP and RT-APP, with interface parameters and the operating system (Linux or Xenomai) determined based on business needs. Docking with upper-layer application services; the EtherCAT-APP-Manage module centralizes task scheduling and resource management through a unified interface. Real-time tasks automatically create the highest-priority RT-Task thread, allowing real-time interactive data to run in a separate thread, isolating the non-real-time part. Developers do not need to directly call Xenomai or Linux kernel APIs, thereby eliminating the dispersion of task scheduling, reducing context switching and the amount of exchanged data, reducing the amount of code, and reducing development complexity. Moreover, through modular scheduling and hardware resource isolation, the interference of non-real-time tasks on real-time resources can be completely eliminated, thereby improving the real-time performance of real-time tasks. In addition, the present invention uses shared memory to transfer data, realizes online modification of slave station parameters and communication configuration, and avoids system restart.

[0023] The technical solution of this embodiment will be clearly and completely described below in conjunction with the drawings in this embodiment. Obviously, the described embodiment is only a part of the embodiments of the present invention, rather than all the embodiments.

[0024] Figure 1 A schematic diagram of the structure of an EtherCAT communication system based on a dual-core architecture is shown in Figure 1 , including: an application layer, a kernel layer and ADEOS, the application layer includes NRT-APP and RT-APP, the kernel layer includes Linux kernel, Xenomai kernel, EtherCAT-APP-Manage module, EtherCAT-Master module and EtherCAT network card driver module.

[0025] The ADEOS is used to realize the dual-kernel coexistence of Linux and Xenomai, and the Linux kernel and the Xenomai kernel share hardware resources.

[0026] Specifically, the dual-kernel coexistence mechanism of Xenomai and Linux is implemented using ADEOS (Adaptive Domain Environment Operating System). This involves modifying the Linux kernel using an ADEOS patch, inserting it into the Xenomai real-time domain, and configuring dual-kernel startup parameters. ADEOS supports hardware resource sharing, sharing resources such as CPU and memory through an inter-domain synchronization mechanism. This embodiment uses shared memory to transfer data, thus avoiding delays introduced by data copies.

[0027] The NRT-APP runs on the Linux kernel, is used to receive non-real-time tasks, and sends them to the EtherCAT-APP-Manage module, and the RT-APP runs on the Xenomai kernel, is used to receive real-time tasks, and sends them to the EtherCAT-APP-Manage module.

[0028] Specifically, NRT-APP provides a data interface for non-real-time tasks in the Linux system, such as configuring slave parameters and logging. NRT-APP runs as a Linux user-mode process, and non-real-time tasks are passed to the EtherCAT-APP-Manage module via the NRT interface (such as sockets, shared memory, or character devices). RT-APP provides a data interface for real-time tasks in the Xenomai system, such as periodic servo control instructions. Real-time tasks are passed to the EtherCAT-APP-Manage module via the RT interface.

[0029] For example, when executing non-real-time tasks, instructions are sent through the Linux system's command line tool to modify slave device parameters, and the NRT interface (such as ioctl or Netlink socket) is called to pass the corresponding control instructions to the EtherCAT-APP-Manage module; when executing real-time tasks, servo control instructions with a period of 1ms are sent through the Xenomai real-time thread, and the RT interface (such as the real-time pipe RT-Pipe) is called to pass the corresponding control instructions to the EtherCAT-APP-Manage module.

[0030] The EtherCAT-APP-Manage module runs on the Xenomai kernel and is used to receive non-real-time tasks through the NRT interface, receive real-time tasks through the RT interface, manage and configure slave devices according to the received non-real-time tasks, create the highest priority RT-Task thread according to the received real-time tasks, and interact with the slave devices for real-time task data according to the RT-Task thread.

[0031] The EtherCAT-Master module runs on the Xenomai kernel, the EtherCAT network card driver module runs on the Xenomai kernel and is isolated from the Linux kernel, and the EtherCAT-Master module is used to call the EtherCAT network card driver module according to the RT-Task thread to perform real-time task data interaction with the slave device.

[0032] In this embodiment, the EtherCAT-APP-Manage module is specifically used to read the control instructions of non-real-time tasks, and call the EtherCAT-Master module to send the SDO message corresponding to the control instructions of the non-real-time tasks; and read the operation result data in the shared memory and send it to NRT-APP; the EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send the SDO message to the slave device; and receive the operation result data of the slave device through the EtherCAT network card driver module, and update the shared memory according to the operation result data.

[0033] Specifically, after receiving a non-real-time task, the EtherCAT-APP-Manage module generates a corresponding SDO message if the parsed request type is SDO write, and calls the EtherCAT-Master module to write the parameters corresponding to the SDO message to the slave device. After the parameter writing is completed, the EtherCAT-Master module receives the operation result data of the slave device through the EtherCAT network card driver module, and updates the shared memory according to the operation result data; the EtherCAT-APP-Manage module reads the operation result data in the shared memory and asynchronously returns the result to NRT-APP through the NRT interface.

[0034] In this embodiment, the EtherCAT-APP-Manage module is specifically used to read the control instructions of the real-time task according to the RT-Task thread, and call the EtherCAT-Master module to send the PDO message corresponding to the control instructions of the real-time task; and read the feedback data in the shared memory and send it to the RT-APP; the EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send the PDO message to the slave device; and receive the feedback data of the slave device through the EtherCAT network card driver module, parse the feedback data, and update the shared memory.

[0035] Specifically, after receiving a real-time task, the EtherCAT-APP-Manage module creates an RT-Task thread for each real-time task. The priority is set to the highest level (99) of Xenomai and is bound to a dedicated CPU core (such as CPU0). The thread scheduling policy is Cyclic Executive and is executed at a fixed cycle (such as 1ms). In each cycle, the RT-Task thread calls the EtherCAT-Master module to send the corresponding PDO message to the slave device through the EtherCAT network card driver module. After receiving the PDO message, the slave device executes the corresponding control instruction and returns feedback data (such as actual position). The EtherCAT-Master module receives the feedback data from the slave device through the EtherCAT network card driver module, parses the feedback data, and updates the shared memory. The EtherCAT-APP-Manage module reads the feedback data in the shared memory and sends it to the RT-APP in real time through the RT interface.

[0036] In summary, the dual-core EtherCAT communication system provided in this embodiment leverages the Linux + Xenomai dual-core architecture to optimize the EtherCAT software framework across the entire system, achieving higher performance and lower latency. This composite system design not only leverages a wide range of Linux applications, ensuring debuggability, but also ensures sub-millisecond EtherCAT operation by running EtherCAT-related modules on Xenomai to process periodic PDO data and implement distributed clocks. In this communication system, the EtherCAT-APP-Manage module centralizes task scheduling and resource management through a unified interface. Real-time tasks automatically create the highest-priority RT-Task thread, so that real-time interactive data can run in a separate thread, isolating the non-real-time part. Developers do not need to directly call Xenomai or Linux kernel APIs, thereby eliminating the dispersion of task scheduling, reducing context switching and the amount of exchanged data, reducing the amount of code, and reducing development complexity. Through modular scheduling and hardware resource isolation, the interference of non-real-time tasks on real-time resources can be completely eliminated, thereby improving the real-time performance of real-time tasks. In addition, this embodiment uses shared memory to transfer data, realizes online modification of slave parameters and communication configuration, and avoids system restart.

[0037] Based on the above technical solution, this embodiment also proposes an EtherCAT communication method based on a dual-core architecture, which is applied to the EtherCAT communication system based on a dual-core architecture described in the embodiment. Figure 2 , the method comprising: The NRT-APP receives non-real-time tasks and sends them to the EtherCAT-APP-Manage module. The EtherCAT-APP-Manage module receives non-real-time tasks through the NRT interface and manages and configures slave devices according to the received non-real-time tasks; The RT-APP receives the real-time task and sends it to the EtherCAT-APP-Manage module. The EtherCAT-APP-Manage module receives the real-time task through the RT interface and creates the highest priority RT-Task thread according to the received real-time task. The EtherCAT-Master module calls the EtherCAT network card driver module according to the RT-Task thread to interact with the slave device for real-time task data.

[0038] It can be understood that since the EtherCAT communication method based on the dual-core architecture described in this embodiment is a method implemented based on the EtherCAT communication system based on the dual-core architecture described in the embodiment, for the communication method disclosed in the embodiment, since it corresponds to the communication system disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the communication system.

[0039] Based on the above technical solution, this embodiment further proposes a robot control system, including the EtherCAT communication system based on the dual-core architecture described in the embodiment.

[0040] It can be understood that since the robot control system described in this embodiment includes the EtherCAT communication system based on the dual-core architecture described in the embodiment, for the robot control system disclosed in the embodiment, since it corresponds to the communication system disclosed in the embodiment, the description is relatively simple. For relevant details, please refer to the partial description of the communication system, which will not be repeated here.

Claims

1. EtherCAT communication system based on dual-core architecture, characterized by: include: Application layer, kernel layer and ADEOS, the application layer includes NRT-APP and RT-APP, the kernel layer includes Linux kernel, Xenomai kernel, EtherCAT-APP-Manage module, EtherCAT-Master module and EtherCAT network card driver module; The ADEOS is used to realize the dual-kernel coexistence of Linux and Xenomai, and the Linux kernel and the Xenomai kernel share hardware resources; The NRT-APP runs on the Linux kernel, is used to receive non-real-time tasks, and sends them to the EtherCAT-APP-Manage module, and the RT-APP runs on the Xenomai kernel, is used to receive real-time tasks, and sends them to the EtherCAT-APP-Manage module; The EtherCAT-APP-Manage module runs on the Xenomai kernel and is used to receive non-real-time tasks through the NRT interface, receive real-time tasks through the RT interface, manage and configure slave devices according to the received non-real-time tasks, create a highest-priority RT-Task thread according to the received real-time tasks, and perform real-time task data interaction with the slave devices according to the RT-Task thread; The EtherCAT-Master module runs on the Xenomai kernel, the EtherCAT network card driver module runs on the Xenomai kernel and is isolated from the Linux kernel, and the EtherCAT-Master module is used to call the EtherCAT network card driver module according to the RT-Task thread to perform real-time task data interaction with the slave device.

2. The EtherCAT communication system based on dual-core architecture according to claim 1, characterized in that: The EtherCAT-APP-Manage module is specifically used to read the control instructions of the real-time task according to the RT-Task thread, and call the EtherCAT-Master module to send the PDO message corresponding to the control instruction of the real-time task; and read the feedback data in the shared memory and send it to the RT-APP; The EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send PDO messages to the slave device; and receive feedback data from the slave device through the EtherCAT network card driver module, and update the shared memory after parsing the feedback data.

3. The EtherCAT communication system based on dual-core architecture according to claim 1, characterized in that: The EtherCAT-APP-Manage module is specifically used to read the control instructions of non-real-time tasks, and call the EtherCAT-Master module to send the SDO messages corresponding to the control instructions of non-real-time tasks; and read the operation result data in the shared memory and send it to the NRT-APP; The EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send SDO messages to the slave device; and receive operation result data of the slave device through the EtherCAT network card driver module, and update the shared memory according to the operation result data.

4. The EtherCAT communication method based on the dual-core architecture is characterized in that: Applied to the EtherCAT communication system based on the dual-core architecture according to any one of claims 1 to 3, the method comprises: The NRT-APP receives non-real-time tasks and sends them to the EtherCAT-APP-Manage module. The EtherCAT-APP-Manage module receives non-real-time tasks through the NRT interface and manages and configures slave devices according to the received non-real-time tasks; The RT-APP receives the real-time task and sends it to the EtherCAT-APP-Manage module. The EtherCAT-APP-Manage module receives the real-time task through the RT interface and creates the highest priority RT-Task thread according to the received real-time task. The EtherCAT-Master module calls the EtherCAT network card driver module according to the RT-Task thread to interact with the slave device for real-time task data.

5. The EtherCAT communication method based on dual-core architecture according to claim 4, characterized in that: Data interaction with slave devices for real-time tasks, including: The EtherCAT-APP-Manage module reads the control instructions of the real-time task according to the RT-Task thread, and calls the EtherCAT-Master module to send the PDO message corresponding to the control instructions of the real-time task; The EtherCAT-Master module calls the EtherCAT network card driver module to send the PDO message to the slave device; The EtherCAT-Master module receives feedback data from the slave device through the EtherCAT network card driver module, analyzes the feedback data, and updates the shared memory; The EtherCAT-APP-Manage module reads the feedback data in the shared memory and sends it to the RT-APP.

6. The EtherCAT communication method based on dual-core architecture according to claim 4, characterized in that: Configure the slave device based on the received non-real-time task management, including: The EtherCAT-APP-Manage module reads the control instructions of the non-real-time task and calls the EtherCAT-Master module to send the SDO message corresponding to the control instructions of the non-real-time task; The EtherCAT-Master module is specifically used to call the EtherCAT network card driver module to send the SDO message to the slave device, receive the operation result data of the slave device through the EtherCAT network card driver module, and update the shared memory according to the operation result data; The EtherCAT-APP-Manage module reads the operation result data in the shared memory and sends it to the NRT-APP.

7. Robot control system, characterized in that, The invention comprises an EtherCAT communication system based on a dual-core architecture as described in any one of claims 1 to 3.

Citation Information

Cited By

  • Integrated synchrotron radiation beam linear motion control system based on OPC UA

    CN121433042A