Motion controller and control method

By designing a motion controller including control module, communication module and storage module, the problem that the motion controller cannot be programmed and controlled based on a PC and operated independently as an independent controller in the prior art is solved, and diversified control is achieved Method and higher control effects.

CN116610069BActive Publication Date: 2025-02-25SHENZHEN GAOCHUAN AUTOMATION TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202310673003.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-07
Publication Date
2025-02-25
Estimated Expiration
2043-06-07

AI Technical Summary

Technical Problem

Existing motion controllers cannot be programmed and controlled based on PC and operated independently as independent controllers, which cannot meet the diverse needs of users.

Method used

Design a motion controller, including control module, communication module and storage module, connect to the PC through the PCle bus interface, establish a connection with the PC end through the EthernetRJ45 interface, and establish a connection with the high-speed signal control board through the local high-speed signal RJ45 interface to realize Control of EtherCAT slave equipment.

Benefits of technology

The motion controller can be used as a PC card or as an independent controller, which meets the needs of PC programming control and independent program operation, improves control effect and ensures system safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116610069B_ABST
    Figure CN116610069B_ABST
Patent Text Reader

Abstract

The present invention discloses a motion controller and a control method, the motion controller comprises: a control module, a communication module and a storage module, the control module is connected with the communication module and the storage module respectively; the control module is used to obtain an output signal from the storage module, and output the output signal to an external device through the communication module, or to receive an input signal of the external device through the communication module, and store the input signal in the storage module; the communication module is used to receive an output control instruction issued by the control module to establish a connection with the external device, or to receive an input control instruction issued by the control module to establish a connection with the external device; the storage module is used to receive an input signal of the external device through the communication module, or to output the output signal to the external device through the communication module. The present invention can support PC-side programming control and independent program control of external devices at the same time by designing a motion controller, which greatly improves the control effect of the running controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of controller architecture, and in particular to a motion controller and a control method. Background Art

[0002] Motion control usually refers to converting predetermined control schemes and planning instructions into desired mechanical motion under complex conditions, so as to achieve precise position control, speed control, acceleration control, torque or force control of mechanical motion; a motion controller is a special controller that controls the operation mode of a motor: for example, a motor controls an AC contactor by a travel switch to achieve the motor dragging an object upward to a specified position and then running downward, or a time relay is used to control the motor to rotate forward and reverse or to rotate for a while, stop for a while, rotate for a while, and then stop again. The application of motion control in special machines is usually called general motion control (GMC).

[0003] In industrial control applications, motion controllers are generally in the form of PC-based motion control cards, independently running PLCs, or high-end motion controllers that integrate various visual display controls. Existing motion controllers are generally used alone when connected to a PC or as independent controllers, but cannot be used simultaneously with programs running independently on a PC and in the motion controller.

[0004] Therefore, the prior art still needs to be improved and developed. Summary of the invention

[0005] The main purpose of the present invention is to provide a motion controller and a control method, aiming to solve the problem in the prior art that the motion controller can only be used based on a PC alone or as an independent controller and cannot meet user needs.

[0006] To achieve the above object, the present invention provides a motion controller, wherein the motion controller comprises: a control module, a communication module and a storage module, wherein the control module is connected to the communication module and the storage module respectively;

[0007] The control module is used to issue an output control instruction to obtain an output signal from the storage module, and output the output signal to an EtherCAT slave device externally connected to the motion controller through the communication module, or to issue an input control instruction to receive an input signal from a high-speed signal control board externally connected to the motion controller through the communication module, and store the input signal in the storage module;

[0008] The communication module is used to receive the output control instruction issued by the control module, and establish a connection with the EtherCAT slave device according to the output control instruction, or to receive the input control instruction issued by the control module, and establish a connection with the high-speed signal control board according to the input control instruction;

[0009] The storage module is used to receive an input signal from the high-speed signal control board through the communication module, or to output an output signal to the EtherCAT slave device through the communication module.

[0010] The motion controller, wherein the motion controller further comprises: a fixing hole and a power interface;

[0011] The communication module includes: a PCle bus interface and an Ethernet RJ45 interface;

[0012] When the motion controller is used as a PC-side plug-in card, the communication module establishes a connection with the PC side through the PCle bus interface;

[0013] When the motion controller is used as an independent controller, it is fixed on the housing of the high-speed signal control board or the EtherCAT slave device through the fixing holes, powered by the power interface, and connected to the PC through the Ethernet RJ45 interface.

[0014] The motion controller, wherein the communication module further comprises: a local high-speed signal RJ45 interface and an EtherCAT RJ45 interface;

[0015] The control module includes: a multi-core CPU and an FPGA;

[0016] The communication module establishes a connection with the high-speed signal control board through the local high-speed signal RJ45 interface, or establishes a connection with the EtherCAT slave device through the EtherCAT RJ45 interface;

[0017] The Ethernet RJ45 interface is used to connect to the multi-core CPU via the high-speed data address bus of the multi-core CPU;

[0018] The EtherCAT RJ45 interface is used to connect to the FPGA through the EtherCAT master station physical link constructed by the FPGA;

[0019] The local high-speed signal RJ45 interface is used to connect to the FPGA through the internal high-speed bus constructed by the FPGA;

[0020] The PCle bus interface is used to connect the PCle core constructed by the FPGA to the FPGA;

[0021] The FPGA is used to connect to the multi-core CPU through the high-speed data address bus of the multi-core CPU and the high-speed bus constructed by the FPGA.

[0022] The motion controller, wherein the motion controller further comprises: a jailhouse processing unit;

[0023] The jailhouse processing unit is used to identify hardware resources at startup and reallocate the hardware resources according to the identification;

[0024] The jailhouse processing unit is also used to perform real-time or non-real-time allocation of hardware resources to the multi-core CPU in the motion controller.

[0025] In addition, the present invention also provides a control method of a motion controller, wherein the control method of the motion controller comprises:

[0026] When the motion controller is used as a PC card, the communication module receives the input control instruction of the control module, and the communication module establishes a connection with the PC end through the input control instruction to control the PC end to complete the data configuration of the motion controller and the software development of the PC end;

[0027] When the motion controller is used as an independent controller, the communication module obtains the downloaded program from the PC through the Ethernet communication link and receives the output control instructions from the control module. The communication module establishes a connection with the EtherCAT slave device and controls the operation of the EtherCAT slave device according to the output control instructions and the downloaded program.

[0028] The motion controller and control method, wherein when the motion controller is used as a PC card, the communication module receives the input control instruction of the control module, and the communication module establishes a connection with the PC end through the input control instruction to control the PC end to complete the data configuration of the motion controller and the software development of the PC end, specifically includes:

[0029] When the motion controller is used as a PC card, the communication module receives a first input control instruction of the control module;

[0030] The communication module calls the motion database of the PC terminal according to the first input control instruction and establishes a communication connection with the PC terminal;

[0031] The communication module parses the first input control instruction to obtain a second input control instruction;

[0032] The communication module outputs the second input control instruction to the PC end to control the PC end to configure the motion controller and develop software on the PC end according to the second input control instruction.

[0033] The motion controller and control method, wherein the communication module outputs the second input control instruction to the PC end to control the PC end to configure the motion controller according to the second input control instruction and the software development of the PC end, specifically includes:

[0034] When the PC receives the second input control instruction, controlling the motion control instruction issued by the PC to be consistent with the second input control instruction;

[0035] The communication module controls the PC to configure the motion controller according to the second input control instruction and controls the PC to obtain the motion control program of the motion controller, so as to control the PC to develop software according to the motion control program.

[0036] The motion controller and control method, wherein when the motion controller is used as a PC card, the communication module receives the input control instruction of the control module, and the communication module establishes a connection with the PC end through the input control instruction to control the PC end to complete the data configuration of the motion controller and the software development of the PC end, and then also includes:

[0037] The communication module controls the PC to configure the EtherCAT bus driver and the expansion IO module external to the motion controller through the second input control instruction.

[0038] The motion controller and control method, wherein when the motion controller is used as an independent controller, the communication module obtains the downloaded program of the PC through the Ethernet communication link, and receives the output control instruction of the control module, the communication module establishes a connection with the EtherCAT slave device, and controls the operation of the EtherCAT slave device according to the output control instruction and the downloaded program, specifically including:

[0039] When the motion controller is used as an independent controller, the communication module obtains the download program of the PC through the Ethernet communication link, and obtains the monitoring instruction and the first output control instruction of the control module through the Ethernet communication link, and the communication module parses the first output control instruction to obtain the second output control instruction;

[0040] The communication module detects the hardware configuration of the motion controller through the monitoring instruction, and when the hardware configuration detection passes, obtains the EtherCAT slave device external to the motion controller;

[0041] Based on the second output control instruction, the communication module completes the parameter configuration of the EtherCAT slave device by establishing a communication connection between the motion controller and the EtherCAT slave device, and controls the operation of the EtherCAT slave device according to the second output control instruction and the downloaded program.

[0042] The motion controller and control method, wherein the motion database on the PC side includes a Windows-dll database and a Linux-so database.

[0043] The present invention designs a motion controller that can be used based on PC programming control and as an independent program control. It can also support PC programming control and independent program running control at the same time, and identifies various resources at the bottom layer of the motion controller, effectively preventing the same resource from being controlled by PC programming and independent execution programs at the same time due to the allocation mechanism, thereby ensuring the safety of the system and greatly improving the control effect of the running controller. BRIEF DESCRIPTION OF THE DRAWINGS

[0044] Figure 1 It is a schematic diagram of the principle of the hardware architecture of the motion controller of the present invention;

[0045] Figure 2 It is a schematic diagram of the design of the hardware architecture of the motion controller of the present invention;

[0046] Figure 3 is a flow chart of a preferred embodiment of a control method of a motion controller of the present invention;

[0047] Figure 4 It is a software design schematic diagram of a preferred embodiment of the control method of the motion controller of the present invention;

[0048] Figure 5 Schematic diagram of the Jalihouse design of the motion controller of the present invention. DETAILED DESCRIPTION

[0049] In order to make the purpose, technical solution and advantages of the present invention clearer and more specific, the present invention is further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0050] A motion controller according to a preferred embodiment of the present invention, such as Figure 1 As shown, the motion controller includes a control module, a communication module and a storage module, and the control module is connected to the communication module and the storage module respectively.

[0051] The control module is used to issue an output control instruction to obtain an output signal from the storage module, and output the output signal to an EtherCAT slave device externally connected to the motion controller through the communication module, or to issue an input control instruction to receive an input signal from a high-speed signal control board externally connected to the motion controller through the communication module, and store the input signal in the storage module.

[0052] The communication module is used to receive output control instructions issued by the control module and establish a connection with the EtherCAT slave device according to the output control instructions, or to receive input control instructions issued by the control module and establish a connection with the high-speed signal control board according to the input control instructions.

[0053] The storage module is used to receive an input signal from the high-speed signal control board through the communication module, or to output an output signal to the EtherCAT slave device through the communication module.

[0054] Specifically, the motion controller also includes: a fixing hole and a power supply interface; the communication module includes: a PCle bus interface and an Ethernet RJ45 interface.

[0055] When the motion controller is used as a PC-side plug-in card, the communication module establishes a connection with the PC side through the PCle bus interface.

[0056] When the motion controller is used as an independent controller, it is fixed on the housing of the high-speed signal control board or the EtherCAT slave device through the fixing holes, powered by the power interface, and connected to the PC through the Ethernet RJ45 interface.

[0057] Specifically, Figure 2As shown, in the present invention, interface 1 is an Ethernet RJ45 interface, interface 2 is a local high-speed signal RJ45 interface, interface 3 is an EtherCAT RJ45 interface, interface 4 is a PCle interface, and interface 5 is a power supply interface. The above interface names are simply described as interfaces 1-5 below.

[0058] like Figure 2 As shown, when the motion controller in the present invention is used as a PC-based plug-in card, it can be combined with the PC through interface 4 and programmed on the PC; when used as an independent controller, it can be fixed on the housing of the target control device through the fixing holes on all sides, and the motion controller can be independently powered by interface 5, while interface 1 can communicate with the outside (target control device).

[0059] Whether it is used as a PC-side card or runs independently as an independent controller, the input and output of motion control signals are connected through interface 2 and interface 3. Through interface 2 (interface 2 is the input interface of the motion controller), it can be connected to the high-speed signal control board connected to the motion controller, such as pulse axis signals, external encoder signals, PWM (pulse width modulation) signals, high-speed DIO (Direct I / O, that is, direct I / O) / AIO (Asynchronous I / O, that is, asynchronous I / O.) signals, etc.; through interface 3 (interface 3 is the output interface of the motion controller), the motion controller, as the master station of the EtherCAT bus, can be connected to different external EtherCAT slave devices, such as bus servos, bus IO modules, etc.

[0060] Among them, the communication module also includes: a local high-speed signal RJ45 interface and an EtherCATRJ45 interface; the control module includes: a multi-core CPU and an FPGA; the communication module establishes a connection with the high-speed signal control board through the local high-speed signal RJ45 interface, or establishes a connection with the EtherCAT slave device through the EtherCATRJ45 interface; the EthernetRJ45 interface is used to connect to the multi-core CPU through the high-speed data address bus of the multi-core CPU; the EtherCATRJ45 interface is used to connect to the FPGA through the EtherCAT master station physical link constructed by the FPGA.

[0061] The local high-speed signal RJ45 interface is used to connect to the FPGA through the internal high-speed bus constructed by the FPGA; the PCle bus interface is used to connect to the FPGA through the PCle core constructed by the FPGA; the FPGA is used to connect to the multi-core CPU through the high-speed data address bus of the multi-core CPU and the high-speed bus constructed by the FPGA.

[0062] like Figure 2 As shown in the figure, in the internal hardware design, interface 1 is connected to the multi-core ARM chip through A and is directly controlled by the main control CPU; interface 2 is connected to the FPGA through B; interface 3 is connected to the FPGA through C, and then the connection with the main control CPU is opened through E; the PCIe interface is connected to the FPGA through D, and then E opens the signal interaction between the PC segment and the main control CPU.

[0063] Among them, connection A is realized by the high-speed data address bus built by the main control CPU; connection B is realized by the internal high-speed bus built by FPGA; connection C is realized by the EtherCAT master station physical link built by FPGA; connection D is realized by the PCIe core built by FPGA; and E is connected to the high-speed bus built by FPGA through the high-speed data address bus of the main CPU.

[0064] The motion controller further includes: a jailhouse processing unit, the jailhouse processing unit being used to identify hardware resources at startup and reallocate the hardware resources according to the identification;

[0065] The jailhouse processing unit is also used to perform real-time or non-real-time allocation of hardware resources to the multi-core CPU in the motion controller.

[0066] like Figure 3 As shown, the design of the motion controller of the present invention needs to adopt an ARM processor that can support multiple cores, and through the asymmetric multi-processing (AMP) system, the ARM multi-core is allocated for real-time and non-real-time use. The present invention adopts Jailhouse to design the scheduling architecture. Jailhouse (partition management program) is an industrial-grade hardware partitioning solution based on Linux, which can run on a bare metal to configure the virtualization characteristics of the CPU and hardware. The design of Jailhouse is very simple. Once activated, it runs on the motion controller, fully controls the hardware and does not require external support. Compared with other bare device managers, it can be loaded and configured through the Linux system. The management interface is based on the Linux architecture, so it only needs to start Linux first, and then enable Jailhouse to divide system resources to additional units, so that it can not only not give up the use of Linux's rich functions, but also ensure the needs of real-time performance, industrial safety and certification.

[0067] Jailhouse is booted by an already started Linux system, which is the root unit system. Jailhouse controls all hardware devices before it is started. After Jailhouse is started, Jailhouse is responsible for reallocating hardware resources to the root unit Linux system and other non-root unit systems.

[0068] Among them, the Linux system and RTOS system in the non-root unit respectively implement the following functions:

[0069] The Linux system can realize: 1. Execution of motion controller download program; 2. Acting as EtherCAT master station; 3. Realizing communication management with external devices; 4. Generating motion control trajectory preprocessing commands.

[0070] The RTOS system can achieve: 1. Act as a real-time axis (to ensure the real-time performance of the RTOS); 2. Realize real-time data interaction with the EtherCAT master station.

[0071] At the same time, Jailhouse only supports direct hardware access, and Jailhouse does not use complex and time-consuming (quasi) virtualization methods to simulate device drivers and share physical hardware resources. Therefore, in terms of real-time and non-real-time isolation, it is a good choice for multi-purpose motion controller design using ARM processing.

[0072] Further, based on Figure 1 The motion controller shown in the figure, the control method of the motion controller described in the preferred embodiment of the present invention is as follows: Figure 4 As shown, the control method of the motion controller includes the following steps:

[0073] Step S10: When the motion controller is used as a PC card, the communication module receives the input control instructions of the control module, and the communication module establishes a connection with the PC through the input control instructions to control the PC to complete the data configuration of the motion controller and the software development of the PC.

[0074] like Figure 5 As shown, the motion controller in the present invention can be used as an auxiliary debugging tool based on PC development: Figure 5 In direction B, by calling the motion control library dll or so of the API (application programming interface), the PCIe channel interacts with the main control CPU to complete the configuration of the motion controller and the preliminary debugging of the axis (the smallest unit of motion, such as a motor) and IO signals (control switches, such as switches, lights, and relays).

[0075] Specifically, when the motion controller is used as a PC plug-in card, the communication module receives the first input control instruction of the control module.

[0076] The communication module calls the motion database of the PC according to the first input control instruction to establish a communication connection with the PC; the motion database of the PC includes a Windows-dll database and a Linux-so database; the communication module parses the first input control instruction to obtain a second input control instruction.

[0077] The communication module outputs the second input control instruction to the PC end to control the PC end to configure the motion controller and develop software on the PC end according to the second input control instruction.

[0078] Specifically, when the PC receives the second input control instruction, the motion control instruction issued by the PC is controlled to be consistent with the second input control instruction.

[0079] Among them, Figure 5 As shown, part 12 is a dynamic library on the PC side, which is used to develop application software APP and the call of user PC application software development. In the instruction design of the dynamic library API (motion control library, i.e., the driver or communication library on the PC side), in order to facilitate user use, all motion control instructions (instructions called by user applications) are consistent with the control instructions called by independent controller programming, such as the servo enable of the axis (i.e., the drive is powered on) using the NMC_MtSetSvOn (single-axis control) instruction (basic configuration instruction of the motion controller) (wherein, the instructions used as a PC-side plug-in card and as an independent controller are consistent). When used as a PC-side plug-in card, the motion controller in the present invention can be used in conjunction with the PC segment to indirectly control the external device through the PC side.

[0080] The communication module controls the PC to configure the motion controller according to the second input control instruction and controls the PC to obtain the motion control program of the motion controller, so as to control the PC to develop software according to the motion control program.

[0081] Specifically, the communication module controls the PC to configure the EtherCAT bus driver and the expansion IO module external to the motion controller through the second input control instruction.

[0082] Step S20: When the motion controller is used as an independent controller, the communication module obtains the downloaded program from the PC through the Ethernet communication link and receives the output control instruction from the control module. The communication module establishes a connection with the EtherCAT slave device and controls the operation of the EtherCAT slave device according to the output control instruction and the downloaded program.

[0083] like Figure 5 As shown, it can be used as a development environment for an independent controller to achieve the following functions:

[0084] (1) Complete the configuration of motion controller hardware peripherals;

[0085] (2) Complete the configuration of protocol parameters for data exchange between the motion controller and the display HMI (display screen) of the external device;

[0086] (3) Complete the development, debugging and downloading of motion control programs.

[0087] The data flow interaction is completed through Ethernet communication in the A direction between the motion control software APP and the motion controller. The programming language design can adopt the IEC61131 standard language (which defines the software structure, programming language and program execution method of the PLC) or a scripting language such as Lua (Lua is written in standard C and can be compiled on almost all operating systems and platforms).

[0088] Specifically, when the motion controller acts as an independent controller, the communication module obtains the download program from the PC through the Ethernet communication link, and obtains the monitoring instructions and the first output control instructions of the control module through the Ethernet communication link. The communication module parses the first output control instructions to obtain the second output control instructions.

[0089] The communication module detects the hardware configuration of the motion controller through the monitoring instruction, and when the hardware configuration detection passes, obtains the EtherCAT slave device externally connected to the motion controller.

[0090] Based on the second output control instruction, the communication module completes the parameter configuration of the EtherCAT slave device by establishing a communication connection between the motion controller and the EtherCAT slave device, and controls the operation of the EtherCAT slave device according to the second output control instruction and the downloaded program.

[0091] In the allocation of motion control resources, the present invention adopts a mutually exclusive design when axis resources and IO resources are controlled by PC programming and independent programs at the same time. The present invention pre-registers (i.e., identifies) various resources at the bottom layer of the controller, and through the pre-registration allocation mechanism, it can effectively prevent the same resource from being controlled by PC programming and independent execution programs at the same time, effectively ensuring the safety of system design.

[0092] The present invention achieves the goal of supporting both PC programming control and independent program running control through the above hardware and software architecture design.

[0093] In summary, the present invention provides a motion controller and a control method, wherein the motion controller comprises: a control module, a communication module and a storage module, wherein the control module is connected to the communication module and the storage module respectively; the control module is used to issue an output control instruction to obtain an output signal from the storage module, and output the output signal to an EtherCAT slave device externally connected to the motion controller through the communication module, or to issue an input control instruction to receive an input signal of a high-speed signal control board externally connected to the motion controller through the communication module, and store the input signal in the storage module; the communication module is used to receive an output control instruction issued by the control module, and establish a connection with the EtherCAT slave device according to the output control instruction, or to receive an input control instruction issued by the control module, and establish a connection with the high-speed signal control board according to the input control instruction; the storage module is used to receive an input signal of the high-speed signal control board through the communication module, or to output an output signal to the EtherCAT slave device through the communication module. The present invention designs a motion controller that can be used based on PC programming control and as an independent program control. It can also support PC programming control and independent program running control at the same time, and identifies various resources at the bottom layer of the motion controller, effectively preventing the same resource from being controlled by PC programming and independent execution programs at the same time due to the allocation mechanism, thereby ensuring the safety of the system and greatly improving the control effect of the running controller.

[0094] It should be noted that, in this article, the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal. In the absence of further restrictions, an element defined by the sentence "comprises a ..." does not exclude the presence of other identical elements in the process, method, article or terminal including the element.

[0095] Of course, those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing related hardware (such as a processor, a controller, etc.) through a computer program, and the program can be stored in a computer-readable storage medium that can be read by a computer, and the program can include the processes of the above-mentioned method embodiments when executed. The computer-readable storage medium can be a memory, a disk, an optical disk, etc.

[0096] It should be understood that the application of the present invention is not limited to the above examples. For ordinary technicians in this field, improvements or changes can be made based on the above description. All these improvements and changes should fall within the scope of protection of the claims attached to the present invention.

Claims

1. A motion controller, characterized in that: The motion controller comprises: a control module, a communication module and a storage module, wherein the control module is connected to the communication module and the storage module respectively; The control module is used to issue an output control instruction to obtain an output signal from the storage module, and output the output signal to an EtherCAT slave device externally connected to the motion controller through the communication module, or to issue an input control instruction to receive an input signal from a high-speed signal control board externally connected to the motion controller through the communication module, and store the input signal in the storage module; The communication module is used to receive the output control instruction issued by the control module, and establish a connection with the EtherCAT slave device according to the output control instruction, or to receive the input control instruction issued by the control module, and establish a connection with the high-speed signal control board according to the input control instruction; The storage module is used to receive an input signal from the high-speed signal control board through the communication module, or to output an output signal to the EtherCAT slave device through the communication module; The motion controller also includes: a fixing hole and a power supply interface; The communication module includes: a PCle bus interface and an Ethernet RJ45 interface; When the motion controller is used as a PC-side plug-in card, the communication module establishes a connection with the PC side through the PCle bus interface; When the motion controller is used as a PC card, the communication module receives a first input control instruction of the control module; The communication module calls the motion database of the PC end according to the first input control instruction to establish a communication connection with the PC end; the motion database of the PC end includes a Windows-dll database and a Linux-so database; The communication module parses the first input control instruction to obtain a second input control instruction; The communication module outputs the second input control instruction to the PC end, so as to control the PC end to configure the motion controller and develop software on the PC end according to the second input control instruction; When the motion controller is used as an independent controller, it is fixed on the housing of the high-speed signal control board or the EtherCAT slave device through the fixing hole, powered by the power interface, and connected to the PC through the Ethernet RJ45 interface; When the motion controller is used as an independent controller, the communication module obtains the download program of the PC through the Ethernet communication link, and obtains the monitoring instruction and the first output control instruction of the control module through the Ethernet communication link, and the communication module parses the first output control instruction to obtain the second output control instruction; The communication module detects the hardware configuration of the motion controller through the monitoring instruction, and when the hardware configuration detection passes, obtains the EtherCAT slave device external to the motion controller; Based on the second output control instruction, the communication module completes parameter configuration of the EtherCAT slave device by establishing a communication connection between the motion controller and the EtherCAT slave device, and controls the operation of the EtherCAT slave device according to the second output control instruction and the downloaded program; The motion controller further includes: a jailhouse processing unit; The jailhouse processing unit is used to identify hardware resources at startup and reallocate the hardware resources according to the identification; After the jailhouse processing unit is started, it is responsible for reallocating hardware resources to the root unit Linux system and other non-root unit systems; The jailhouse processing unit is also used to perform real-time or non-real-time allocation of hardware resources to the multi-core CPU in the motion controller.

2. The motion controller according to claim 1, characterized in that: The communication module also includes: a local high-speed signal RJ45 interface and an EtherCAT RJ45 interface; The control module includes: a multi-core CPU and an FPGA; The communication module establishes a connection with the high-speed signal control board through the local high-speed signal RJ45 interface, or establishes a connection with the EtherCAT slave device through the EtherCAT RJ45 interface; The Ethernet RJ45 interface is used to connect to the multi-core CPU via the high-speed data address bus of the multi-core CPU; The EtherCAT RJ45 interface is used to connect to the FPGA through the EtherCAT master station physical link constructed by the FPGA; The local high-speed signal RJ45 interface is used to connect to the FPGA through the internal high-speed bus constructed by the FPGA; The PCle bus interface is used to connect the PCle core constructed by the FPGA to the FPGA; The FPGA is used to connect to the multi-core CPU through the high-speed data address bus of the multi-core CPU and the high-speed bus constructed by the FPGA.

3. A control method based on the motion controller according to any one of claims 1 to 2, characterized in that: The control method of the motion controller comprises: When the motion controller is used as a PC card, the communication module receives the input control instruction of the control module, and the communication module establishes a connection with the PC end through the input control instruction to control the PC end to complete the data configuration of the motion controller and the software development of the PC end; When the motion controller is used as an independent controller, the communication module obtains the downloaded program from the PC through the Ethernet communication link and receives the output control instructions from the control module. The communication module establishes a connection with the EtherCAT slave device and controls the operation of the EtherCAT slave device according to the output control instructions and the downloaded program.

4. The control method of the motion controller according to claim 3, characterized in that: When the motion controller is used as a PC card, the communication module receives the input control instruction of the control module, and the communication module establishes a connection with the PC through the input control instruction to control the PC to complete the data configuration of the motion controller and the software development of the PC, specifically including: When the motion controller is used as a PC card, the communication module receives a first input control instruction of the control module; The communication module calls the motion database of the PC terminal according to the first input control instruction and establishes a communication connection with the PC terminal; The communication module parses the first input control instruction to obtain a second input control instruction; The communication module outputs the second input control instruction to the PC end to control the PC end to configure the motion controller and develop software on the PC end according to the second input control instruction.

5. The control method of the motion controller according to claim 4, characterized in that: The communication module outputs the second input control instruction to the PC end to control the PC end to configure the motion controller according to the second input control instruction and to develop software on the PC end, specifically including: When the PC receives the second input control instruction, controlling the motion control instruction issued by the PC to be consistent with the second input control instruction; The communication module controls the PC to configure the motion controller according to the second input control instruction and controls the PC to obtain the motion control program of the motion controller, so as to control the PC to develop software according to the motion control program.

6. The control method of the motion controller according to claim 5, characterized in that: When the motion controller is used as a PC card, the communication module receives the input control instruction of the control module, and the communication module establishes a connection with the PC end through the input control instruction to control the PC end to complete the data configuration of the motion controller and the software development of the PC end, and then further includes: The communication module controls the PC to configure the EtherCAT bus driver and the expansion IO module external to the motion controller through the second input control instruction.

7. The control method of the motion controller according to claim 3, characterized in that: When the motion controller is used as an independent controller, the communication module obtains the download program of the PC through the Ethernet communication link, and receives the output control instruction of the control module, the communication module establishes a connection with the EtherCAT slave device, and controls the operation of the EtherCAT slave device according to the output control instruction and the download program, specifically including: When the motion controller is used as an independent controller, the communication module obtains the download program of the PC through the Ethernet communication link, and obtains the monitoring instruction and the first output control instruction of the control module through the Ethernet communication link, and the communication module parses the first output control instruction to obtain the second output control instruction; The communication module detects the hardware configuration of the motion controller through the monitoring instruction, and when the hardware configuration detection passes, obtains the EtherCAT slave device external to the motion controller; Based on the second output control instruction, the communication module completes the parameter configuration of the EtherCAT slave device by establishing a communication connection between the motion controller and the EtherCAT slave device, and controls the operation of the EtherCAT slave device according to the second output control instruction and the downloaded program.

8. The control method of the motion controller according to claim 4, characterized in that: The motion database on the PC side includes a Windows-dll database and a Linux-so database.

Citation Information

Patent Citations

  • Novel high-speed and high-precision multi-axis servo motion controller circuit

    CN105242640A

  • Programmable motor motion control system-on-chip

    CN111309669A

  • Robot control system

    CN214818593U