Share this

Application of EtherCAT motion controller in UVW alignment platform

2026-04-06 04:17:54 · · #1

ZMC406 Hardware Introduction

The ZMC406 is a multi-axis, high-performance EtherCAT bus motion controller launched by Zheng Motion. It has communication interfaces such as EtherCAT, EtherNET, RS232, CAN and USB flash drive. The ZMC series motion controllers can be used in various occasions that require offline or online operation.

The ZMC406 supports 6-axis motion control and can be expanded to 32 axes. It supports linear interpolation, arbitrary circular interpolation, spatial circular interpolation, helical interpolation, electronic cam, electronic gear, synchronous following and other functions.

The ZMC406 supports three programming methods: PLC, Basic, and HMI configuration. PC-based API programming supports interfaces such as C#, C++, LabVIEW, Matlab, Qt, Linux, VB.Net, and Python.

The ZMC406 supports 6-axis motion control and can use pulse axes (with encoder feedback) or EtherCAT bus axes. Its general-purpose I/O includes 24 input ports and 12 output ports, two analog AD/DA channels, and an EtherCAT refresh cycle of up to 125µs.

·

This type of motion controller has the following advantages compared to PCI motion control cards:

·

(1) No slots are used, resulting in better stability; (2) MINI computers or ARM industrial control computers can be selected to reduce overall costs; (3) The controller can be used directly as a wiring board, saving space; (4) Programs can run in parallel on the controller, and only simple interaction with the PC is required, reducing the complexity of PC software, etc.

The ZMC controller is debugged using the RTSys development environment, a convenient programming, compiling, and debugging environment. RTSys can connect to the controller via serial port, Ethernet, PCI, and local connections. Applications can be developed using software such as VC, VB, VS, C++Builder, and C#. During debugging, the RTSys software can be connected to the controller simultaneously. The program requires the dynamic library zmotion.dll to run.

The ZMC4 series controller supports PPR, a 3-axis UVW platform with PPR structure, and joint axes U, V, and W. Edited programs can be downloaded to the controller offline (or monitored via PC or operated by sending commands in real time). The desired motion trajectory can be edited using a touchscreen teaching method.

▶▶▶

UVW Alignment Platform Introduction

1. UVW platform

The UVW platform, also known as the XXY platform or XYR alignment platform, is a high-precision moving platform designed specifically for high-precision alignment equipment.

This platform is a three-axis parallel motion mechanism. By controlling the parallel movement of three linear translation axes, it can achieve rotational motion around any point on a plane and translation in any direction. This design makes the UVW platform a core technology in industrial automation, especially suitable for applications requiring high-precision alignment.

2. Application Scenarios and Advantages of the UVW Platform

The UVW platform, integrated with a vision CCD correction system, can quickly complete high-precision correction tasks, with a repeatability typically reaching ±1μm. Compared to the previous xyθ platform, the UVW platform offers significant advantages in control precision and flexibility.

The UVW platform has higher control precision than the xyθ platform, and it can rotate around any point on the plane, while the rotation center of the xyθ platform must be fixed at a certain point on the platform and move with the platform.

Furthermore, the UVW platform requires an absolute coordinate system as its reference, while the xyθ platform uses a coordinate system that moves with the platform. The UVW platform operating mode is shown in the following figure:

UVW platforms are primarily used in industries such as PCB and semiconductor manufacturing, including exposure machines, screen printing machines, and laminating machines. In these applications, UVW platforms, in conjunction with machine vision systems, achieve high-precision alignment, thereby improving production efficiency and product quality. In general, UVW platforms, with their high precision, high flexibility, and wide range of applications, have become an indispensable part of modern industrial automation. 3. Differences between PPR and PRP Structures in UVW Platforms The main differences between PPR and PRP structures in UVW platforms lie in their configuration and application characteristics. First, in terms of configuration, PPR and PRP structures represent different design approaches for UVW platforms. Both structures are common forms of UVW platforms, but they may differ in specific mechanical layouts, motion axis configurations, and joint connection methods. These differences result in different performance characteristics in terms of stiffness, stability, and precision. Second, in terms of application characteristics, PPR structure UVW platforms may place greater emphasis on structural stability and precision, making them suitable for scenarios requiring high precision and stable motion. The UVW platform with PRP structure may have advantages in certain application scenarios, such as those requiring greater flexibility or more complex motion patterns.

▶▶▶

Forward motion UVW robotic arm model

The UVW platform motion control algorithm has three common models: FRAME33, FRAME34, and FRAME37. These correspond to two mechanical structures (PRP and PPR) and two coordinate systems (XYY and XXY), respectively, and can realize complex motions such as single-axis linear motion, two-axis linear interpolation, two-axis circular interpolation, and spatial circular arcs.

I. FRAME33-UVW Alignment Platform (PRP Structure - XYY or XXY) Principle: Positioning requirements are achieved through the movement of three drive axes mounted on the same plane (all diagrams below are based on the initial position after the platform returns to zero).

A. The virtual XY coordinates of the motor direction and angle range satisfy the right-hand rule. The positive angle direction and the virtual XY coordinates also satisfy the right-hand rule. There are no requirements for the actual motor shaft direction. Just fill in the structural parameters according to the actual situation.

B. The TABLE register is sequentially filled with the robot arm's structural parameters.

When establishing the robot connection, the mechanical structure parameters need to be filled into the TABLE array in the following order. The mechanical structure parameters of the FRAME33 model are explained below.

Starting from TableNum, the robot's structural parameters are sequentially entered into Table: distance parameters along the U-axis, distance parameters along the V-axis, distance parameters along the W-axis, the number of pulses per revolution of the virtual rotation axis, the direction of the U-axis, the direction of the V-axis, and the direction of the W-axis. TABLE(TableNum,lu,lv,lw,angleonecircle,diru,dirv,zdirw). The example program starts by filling in the required mechanical parameters for the Frame from TABLE(100).

C. Set joint axis parameters and virtual axis parameters

The axis type and pulse equivalent (units) of each axis must be set correctly, and set to the number of pulses required for the motor to move 1mm. The units of the virtual axis are not related to the actual number of pulses sent, and are used to set the motion accuracy. The pulse equivalent of the virtual axis is generally set to 1000, which means the accuracy is three decimal places.

D. Determine the zero point position of the robotic arm

FRAME33 requires that the VW axis be horizontal. Any point on the platform can be used as the zero point, as long as the structural parameters are correct.

E. Establish forward and inverse kinematics solutions for the robotic arm

Forward Path Establishment: Taking the FRAME33 model as an example. First, store the robot's structural parameters sequentially into the Table array, starting from a certain Table number. Then, select the axis list corresponding to the model and use the CONNREFRAME command to establish the forward path mode. Command instructions can be found in the Rtsys software menu bar under 【General】-【Help Documentation】-【RTBasic Help】-【Index】; search for CONNREFRAME in the search bar.

·

'Store the robot parameters sequentially into the Table array starting from TableNum: TABLE(TableNum,lu,lv,lw,angleonecircle,diru,dirv,zdirw)' Select the axis list: BASE(Viraxis_x, Viraxis_y,Viraxis_v)' Create the robot's forward kinematics: CONNREFRAME(33,tablenum, Axis_a,Axis_b,Axis_c)

If the robot's forward motion is successfully established, the virtual axis MTYPE (current motion type) will display as 34. At this point, only the joint axes can be manipulated to adjust the robot's posture in the joint coordinate system. Manual motion can be achieved through the RTSys software menu bar: 【Tools】-【Manual Motion】. After the 【Manual Motion】 interface pops up, select the joint axis number (in this article, the joint axes are designated as Axis 0 (U-axis), Axis 1 (V-axis), and Axis 2 (W-axis)). Then, select jogging or inching according to the actual needs. The virtual axis will automatically calculate the position of the end effector working point in the Cartesian coordinate system.

Inverse kinematics setup: Taking the Frame33 model as an example. First, store the robot's structural parameters sequentially into a Table array, starting from a certain Table number. Then, select the axis list corresponding to the model and use the CONNFRAME command to establish the forward kinematics mode. Command instructions can be found in the Rtsys software toolbar under 【Common】-【Help Documentation】-【RTBasic Help】-【Index】, by searching for CONNFRAME in the search bar.

·

'Store the robot parameters sequentially into the Table array starting from TableNum: TABLE(TableNum,lu,lv,lw,angleonecircle,diru,dirv,zdirw)' Select the axis list: BASE(Axis_a,Axis_b,Axis_c)' Create the robot's inverse kinematics: CONNFRAME(33,tablenum, Viraxis_x, Viraxis_y,Viraxis_v)

If the reverse engineering of the robot is successfully established, the MTYPE (current motion type) of the joint axis will be displayed as 33. The method for operating the virtual axis in the [Manual Motion] interface is the same as above. At this time, the machining process commands can only operate on the virtual axis. The pre-edited motion trajectory moves in the Cartesian coordinate system (the virtual axes in this article are axis 3, axis 4, and axis 5 as examples). The joint axis will automatically calculate how to coordinate the motion in the joint coordinate system.

II. FRAME34-UVW Alignment Platform (PPR Structure - XXY)

Structural diagram

A. Motor direction and angle range

The virtual XY coordinates follow the right-hand rule, and the positive angle coordinates with the virtual XY coordinates also follow the right-hand rule. There are no requirements for the actual motor shaft direction; simply fill in the structural parameters according to the actual situation.

B. When establishing a robot connection, the mechanical structure parameters need to be sequentially stored in the TABLE register. The mechanical structure parameters for the FRAME34 model are explained below.

Starting from TableNum, the following parameters are sequentially entered into the Table: distance parameters of the robot structure along the U-axis, V-axis, and W-axis; the angle between the U-axis and X-axis at zero point; the angle between the V-axis and X-axis at zero point; the angle between the W-axis and X-axis at zero point; the number of pulses per revolution of the virtual rotation axis; and the directions of the U-axis, V-axis, and W-axis. The Table is defined as follows: TABLE(TableNum,Ru,Rv,Rw,Uangle,Vangle,Wangle,angleonecircle,diru,dirv,dirw)

C. Set joint axis parameters and virtual axis parameters

The axis type and pulse equivalent (units) of each axis must be set correctly, and set to the number of pulses required for the motor to move 1°. The units of the virtual axis are not related to the actual number of pulses sent, and are used to set the motion accuracy. The pulse equivalent of the virtual axis is generally set to 1000, which means the accuracy is three decimal places.

D. Determine the zero point position of the robotic arm

FRAME34 ensures that the VW axis is horizontal and parallel to the X-axis, and that the U axis is parallel to the Y-axis. Any point on the platform can be used as the zero point, as long as the structural parameters are correct.

E. Establish forward and inverse kinematics solutions for the robotic arm

Forward Path Establishment: Taking the FRAME34 model as an example. First, store the robot's structural parameters sequentially into the Table array, starting from a certain Table number. Then, select the axis list corresponding to the model and use the CONNREFRAME command to establish the forward path mode. Command instructions can be found in the Rtsys software menu bar under 【General】-【Help Documentation】-【RTBasic Help】-【Index】; search for CONNREFRAME in the search bar.

·

'Store the robot parameters sequentially into the Table array starting from TableNum: TABLE(TableNum,Ru,Rv,Rw,Uangle,Vangle,Wangle,angleonecircle,diru,dirv,dirw)' Select the axis list: BASE(Viraxis_x, Viraxis_y,Viraxis_v)' Create the robot's forward kinematics: CONNREFRAME(34,tablenum, Axis_a,Axis_b,Axis_c)

If the robot's forward motion is successfully established, the virtual axis MTYPE (current motion type) will display as 34. At this point, only the joint axes can be manipulated to adjust the robot's posture in the joint coordinate system. Manual motion can be achieved through the RTSys software menu bar: 【Tools】-【Manual Motion】. After the 【Manual Motion】 interface pops up, select the joint axis number (in this article, the joint axes are designated as Axis 0 (U-axis), Axis 1 (V-axis), and Axis 2 (W-axis)). Then, select jogging or inching according to the actual needs. The virtual axis will automatically calculate the position of the end effector working point in the Cartesian coordinate system.

Inverse kinematics setup: Taking the FRAME34 model as an example. First, store the robot's structural parameters sequentially into a Table array, starting from a certain Table number. Then, select the corresponding axis list of the model and use the CONNFRAME command to establish the forward kinematics mode. Command instructions can be found in the RTSys software toolbar under 【Common】-【Help Documentation】-【RTBasic Help】-【Index】, by searching for CONNFRAME in the search bar.

·

'Store the robot parameters sequentially into the Table array starting from TableNum: TABLE(TableNum,Ru,Rv,Rw,Uangle,Vangle,Wangle,angleonecircle,diru,dirv,dirw)' Select the axis list: BASE(Axis_a,Axis_b,Axis_c)' Construct the inverse kinematics solution: CONNFRAME(34,tablenum, Viraxis_x, Viraxis_y,Viraxis_v)

If the reverse engineering of the robot is successfully established, the MTYPE (current motion type) of the joint axis will be displayed as 33. The method for operating the virtual axis in the [Manual Motion] interface is the same as above. At this time, the machining process commands can only operate on the virtual axis. The pre-edited motion trajectory moves in the Cartesian coordinate system (the virtual axes in this article are axis 3, axis 4, and axis 5 as examples). The joint axis will automatically calculate how to coordinate the motion in the joint coordinate system.

III. FRAME37-UVW Alignment Platform (PPR Structure - YYX)

A. The virtual XY coordinates of the motor direction and angle range satisfy the right-hand rule. The positive angle direction and the virtual XY coordinates also satisfy the right-hand rule. There are no requirements for the actual motor shaft direction. Just fill in the structural parameters according to the actual situation.

B. The TABLE register is sequentially filled with the robot arm's structural parameters.

When establishing the robot connection, the mechanical structure parameters need to be filled into the TABLE array in the following order. The mechanical structure parameters for the FRAME37 model are explained below.

Starting from TableNum, sequentially input the following robot structure parameters into the Table: distance parameters of the U-axis, V-axis, and W-axis; the angle between the U-axis and X-axis at zero point; the angle between the V-axis and X-axis at zero point; the angle between the W-axis and X-axis at zero point; the number of pulses per revolution of the virtual rotation axis; and the direction of the U-axis, V-axis, and W-axis.

TABLE(TableNum,Ru,Rv,Rw,Uangle,Vangle,Wangle,angleonecircle,diru,dirv,dirw).

C. Set joint axis parameters and virtual axis parameters. The axis type and pulse equivalent (units) for each axis must be set correctly, representing the number of pulses required for the motor to move 1°. The units of the virtual axis are independent of the actual number of pulses sent and are used to set the motion accuracy. The pulse equivalent of the virtual axis is generally set to 1000, indicating an accuracy of 3 decimal places. D. Determine the zero-point position of the robot arm.

FRAME37 ensures that the VW axis is horizontal and parallel to the X-axis, and that the U axis is parallel to the Y-axis. Any point on the platform can be used as the zero point, as long as the structural parameters are correct.

E. Establishing Forward and Inverse Solving Methods for the Robotic Arm: Forward Solving Method Establishment: Taking the FRAME37 model as an example. First, store the structural parameters of the robotic arm sequentially in the Table array, starting from the initial number of a certain Table. Then, select the axis list corresponding to the model and use the CONNREFRAME command to establish the forward solution mode. Instruction instructions can be viewed in the RTSys software menu bar under 【Common】-【Help Documentation】-【RTBasic Help】-【Index】, by searching for CONNREFRAME in the search bar.

·

'Store the robot parameters sequentially into the Table array starting from TableNum: TABLE(TableNum,Ru,Rv,Rw,Uangle,Vangle,Wangle,angleonecircle,diru,dirv,dirw)' Select the axis list: BASE(Viraxis_x, Viraxis_y,Viraxis_v)' Create the robot's forward kinematics: CONNREFRAME(37,tablenum, Axis_a,Axis_b,Axis_c)

If the robot's forward motion is successfully established, the virtual axis MTYPE (current motion type) will display as 34. At this point, only the joint axes can be manipulated to adjust the robot's posture in the joint coordinate system. Manual motion can be achieved through the RTSys software menu bar: 【Tools】-【Manual Motion】. After the 【Manual Motion】 interface pops up, select the joint axis number (in this article, the joint axes are designated as Axis 0 (U-axis), Axis 1 (V-axis), and Axis 2 (W-axis)). Then, select jogging or inching according to the actual needs. The virtual axis will automatically calculate the position of the end effector working point in the Cartesian coordinate system.

Inverse kinematics setup: Taking the FRAME37 model as an example. First, store the robot's structural parameters sequentially into a Table array, starting from a certain Table number. Then, select the axis list corresponding to the model and use the CONNFRAME command to establish the forward kinematics mode. Command instructions can be found in the RTSys software toolbar under 【Common】-【Help Documentation】-【RTBasic Help】-【Index】, by searching for CONNFRAME in the search bar.

·

'Store the robot parameters sequentially into the Table array starting from TableNum: TABLE(TableNum,Ru,Rv,Rw,Uangle,Vangle,Wangle,angleonecircle,diru,dirv,dirw)' Select the axis list: BASE(Axis_a,Axis_b,Axis_c)' Construct the inverse kinematics solution: CONNFRAME(37,tablenum, Viraxis_x, Viraxis_y,Viraxis_v)

If the reverse engineering of the robot is successfully established, the MTYPE (current motion type) of the joint axis will be displayed as 33. The method for operating the virtual axis in the [Manual Motion] interface is the same as above. At this time, the machining process commands can only operate on the virtual axis. The pre-edited motion trajectory moves in the Cartesian coordinate system (the virtual axes in this article are axis 3, axis 4, and axis 5 as examples). The joint axis will automatically calculate how to coordinate the motion in the joint coordinate system.

▶▶▶

Example Demonstration

RTSys software supports mixed programming of Basic, HMI, and PLC. This example demonstrates mixed programming using Basic combined with an HMI interface. The interactive interface can be designed by dragging and dropping elements in the HMI-Toolbox menu of the RTSys software.

1. Download the program to the controller and run it. Click on 【Tools】-【Plugins】-【XPLC SCREEN】 in the RTSys software menu bar.

2. After the interactive interface pops up, click the "UVW Platform" button, select the corresponding UVW type and configure the corresponding mechanical parameters according to the actual hardware.

3. After selecting the UVW platform type and setting the mechanical parameters, click the "Mechanical Parameters" button to configure the shaft parameters.

4. After setting the UVW platform and axis parameters, click "Manual Motion" to switch between forward and inverse kinematics and operate the corresponding axis for motion.

That concludes our presentation on the application of the EtherCAT motion controller in the UVW alignment platform.

For more exciting content, please follow the "Zheng Motion Assistant" WeChat official account. For related development environment and example code, please contact Zheng Motion's technical sales engineer: 400-089-8936.

This article is original content from Zheng Motion Technology. We welcome everyone to reprint it for mutual learning and to jointly improve China's intelligent manufacturing level. Copyright belongs to Zheng Motion Technology. Please indicate the source if you reprint this article.

Read next

CATDOLL Kelsie Soft Silicone Head

You can choose the skin tone, eye color, and wig, or upgrade to implanted hair. Soft silicone heads come with a functio...

Articles 2026-02-22