CM600 RTCP 6-Axis Motion controll
CM300 R 3-Axis Motion controller
CM300 3-Axis Motion controller
Specifications
Download(12)
windows Software Manual
Download(33)
Android All-in-One PC Video Instruction Manual
Download(581)
Android All-in-One PC Video Instruction Manual
https://www.youtube.com/playlist?list=PLdHHM911x7vpwVQKFLiMyXeS3po8uKaB-
Cyclmotion Motion Control System 2025-12-31-001 Standard
Download(682)
cyclMotion(2025-12-31-001-win).zip
1. Ensure external control commands (IO hotkeys) have the highest execution priority and are not blocked by the editing focus.
2. Added Modbus TCP Support
The system defaults to Modbus RTU (serial) support only. If required, configuration can be performed in one of the following two ways:
A. Switch the Default Channel to TCP
If you only need to connect a single TCP device to replace the original serial device, you can use the setDefaultTcp command.
Command Format: widgetFunc["setDefaultTcp", "", "", "IP_Address<<Port<<Slave_ID"]
Configuration Example: Set the default to connect to 192.168.1.10:
widgetFunc["setDefaultTcp", "", "", "192.168.1.10<<502<<1"]
In this case, the system will automatically use the default Modbus configuration and data areas, defined as follows:
Configuration Area (Defining functional rules):
1035: IO Config
1036: AD Config (Analog Input)
1038: DA Config (Analog Output)
Data Area (Storing real-time values):
1029: IO Input (DI)
1030: IO Output (DO)
1037: AD Input (AI)
1039: DA Output (AO)
B. Add Additional TCP Slaves
If you need to connect multiple devices, you can use addTcpEndpoint to add new slaves.
Command Format: widgetFunc["addTcpEndpoint", "", "", "IP<<Port<<Slave_ID<<IO_Cfg<<AD_Cfg<<DA_Cfg<<IO_In<<IO_Out<<AD_In<<DA_Out"]
Note: You must specify independent configuration and data area macro variables for the newly added slave. Furthermore, the sub-item structure of these macro variables must remain consistent with the system default macro variables (e.g., 1035).
Configuration Example: Connect to IP 192.168.1.50 (Slave ID 2) using custom 4000-series variables:
widgetFunc["addTcpEndpoint", "", "", "192.168.1.50<<502<<2<<4000<<4001<<4002<<4003<<4004<<4005<<4006"]
Definition requirements for macro variables in this example:
a. Configuration Area (Structure must be cloned in the Macro Variable Window):
4000: New IO Config -> Sub-item structure must match default 1035.
4001: New AD Config -> Sub-item structure must match default 1036.
4002: New DA Config -> Sub-item structure must match default 1038.
b. Data Area (Create sufficient sub-items to receive data):
4003: Used for receiving IO Input (DI)
4004: Used for storing IO Output (DO)
4005: Used for receiving AD Input (AI)
4006: Used for storing DA Output (AO)
Tip: You can place the above macro function at the end of the env/maininit script so that the configuration automatically takes effect upon software startup.