Changes for page 08 Motion Control

Last modified by Iris on 2026/04/03 10:39

From version 5.1
edited by Iris
on 2025/10/21 16:17
Change comment: There is no comment for this version
To version 12.1
edited by Iris
on 2026/04/03 10:39
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -15,8 +15,6 @@
15 15  
16 16  Device used (only a single device can be used, and device splicing and offset are not supported)
17 17  
18 -
19 -
20 20  |=(% rowspan="2" %)**Instruction**|=(% rowspan="2" %)**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
21 21  |**X**|**Y**|**M**|**S**|**SM**|**T(bit)**|**C(bit)**|**LC(bit)**|**HSC(bit)**|**D.b**|**KnX**|**KnY**|**KnM**|**KnS**|**T**|**C**|**D**|**R**|**SD**|**LC**|**HSC**|**K**|**H**|**E**|**[D]**|**XXP**
22 22  |(% rowspan="8" %)MC_POWER|Enable|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | |
... ... @@ -36,20 +36,19 @@
36 36  
37 37  Variable Type Used
38 38  
37 +|**Instruction**|**Pin type**|**Variable type**|**Variable type**|**Can be empty or not**|**Range**|**Description**
38 +|(% rowspan="8" %)MC_POWER|(% rowspan="4" %)Input|Enable|BOOL|No|TRUE/FALSE|Enable
39 +|EnablePositive|BOOL|No|TRUE/FALSE|Allow movement in the positive direction
40 +|EnableNegative|BOOL|No|TRUE/FALSE|Allow movement in negative direction
41 +|Axis|WORD|No|[0,65535]|Axis number
42 +|(% rowspan="4" %)Output|Status|BOOL|Yes|TRUE/FALSE|Enable status
43 +|Valid|BOOL|Yes|TRUE/FALSE|Data valid or not
44 +|Error|BOOL|Yes|TRUE/FALSE|Whether there is an error or not
45 +|ErrorID|DWORD|Yes|-|Error code (See [8.11 Error code comparison table])
39 39  
40 -|=**Instruction**|=**Parameter**|=**Variable type**|=**Can be empty or not**|=**Range**|=**Description**
41 -|(% colspan="1" rowspan="8" %)MC_POWER|Enable|BOOL|No|TRUE/FALSE|Enable
42 -|EnablePositive|BOOL|No|TRUE/FALSE|Allow motion in the positive direction
43 -|EnableNegative|BOOL|No|TRUE/FALSE|Allow motion in negative direction
44 -|Axis|WORD|No|0 to 65535|Axis number
45 -|Status|BOOL|No|TRUE/FALSE|Enable status
46 -|Valid|BOOL|No|TRUE/FALSE|Data valid or not
47 -|Error|BOOL|No|TRUE/FALSE|Whether there is an error or not
48 -|ErrorID|DWORD|No|-|[Error code]
49 -
50 50  Function
51 51  
52 -* This function block must be enabled if an axis is to participate in motion.
49 +* This funcion block must be enabled if an axis is to participate in motion.
53 53  * The function is as follows:
54 54  
55 55  1. When the Enable input is TRUE, the power to the drive is enabled, not to the function block itself;
... ... @@ -814,6 +814,9 @@
814 814  Precautions
815 815  
816 816  * This function block is not available when the axis does not exist.
814 +* In profile mode, the STOP command requires the mapper to map the PDOs of 0x6060, 0x6061, 0x60FF, and 0x606C for normal operation;
815 +* In CST/CSV mode, triggering STOP switches to synchronous velocity mode;
816 +* In CST/CSV mode, the STOP command requires the mapper to map the PDOs of 0x6060, 0x6061, 0x60FF, and 0x606C for normal operation;
817 817  
818 818  Error code
819 819  
... ... @@ -1497,7 +1497,7 @@
1497 1497  Variable type used
1498 1498  
1499 1499  |=**Instruction**|=**Pin**|=**Parameter**|=**Variable type**|=**Can it be empty**|=**Range**|=**Description**
1500 -|(% colspan="1" rowspan="10" %)(((
1500 +|(% colspan="1" rowspan="11" %)(((
1501 1501  
1502 1502  
1503 1503  
... ... @@ -1540,7 +1540,7 @@
1540 1540  
1541 1541  Others: Reserved
1542 1542  )))
1543 -|(% colspan="1" rowspan="5" %)(((
1543 +|(% colspan="1" rowspan="6" %)(((
1544 1544  
1545 1545  
1546 1546  
... ... @@ -1548,6 +1548,7 @@
1548 1548  )))|Done|BOOL|Yes|TRUE/FALSE|Busy flag
1549 1549  |BusY|BOOL|Yes|TRUE/FALSE|Aborted flag
1550 1550  |InstructionAborted|BOOL|Yes|TRUE/FALSE|Abortion flag
1551 +|ReadyUpdate|BOOL|Yes|TRUE/FALSE|Cam table update comp flag
1551 1551  |Error|BOOL|Yes| |Whether there is an error or not
1552 1552  |ErrorID|DWORD|Yes| |Error Code (Please check [8.10 Error Code Cross-reference Table] )
1553 1553  
... ... @@ -1622,9 +1622,9 @@
1622 1622  MC_SAVECAMTABLE
1623 1623  )))|(% colspan="1" rowspan="2" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable
1624 1624  |CamTableID|INT|No|-|Cam tableID
1625 -|(% colspan="1" rowspan="5" %)Output|Done|BOOL|Yes|TRUE/FALSE|Busy flag
1626 -|BusY|BOOL|Yes|TRUE/FALSE|Aborted flag
1627 -|InstructionAborted|BOOL|Yes|TRUE/FALSE|Abortion flag
1626 +|(% colspan="1" rowspan="5" %)Output|Done|BOOL|Yes|TRUE/FALSE|Completion flag
1627 +|BusY|BOOL|Yes|TRUE/FALSE|Busy flag
1628 +|InstructionAborted|BOOL|Yes|TRUE/FALSE|Abort flag
1628 1628  |Error|BOOL|Yes|-|Whether there is an error or not
1629 1629  |ErrorID|DWORD|Yes|-|Error Code (Please check [8.10 Error Code Cross-reference Table]
1630 1630  
... ... @@ -2203,6 +2203,16 @@
2203 2203  
2204 2204  
2205 2205  
2207 +
2208 +
2209 +
2210 +
2211 +
2212 +
2213 +
2214 +
2215 +
2216 +
2206 2206  == **Management functions of axis group motion control** ==
2207 2207  
2208 2208  ----
... ... @@ -3816,11 +3816,11 @@
3816 3816  
3817 3817  **Function**
3818 3818  
3819 -* The MC _ MoveVelocity function block is used to continue the movement of the previous function block and move according to the speed specified by the function block. The input values of acceleration, deceleration and jerk are used to monitor whether the corresponding values of the controlled axis are within the input values.
3830 +* The MC_ MOVEVELOCITY_CSV function block is used to continue the movement of the previous function block and move according to the speed specified by the function block. The input values of acceleration, deceleration and jerk are used to monitor whether the corresponding values of the controlled axis are within the input values.
3820 3820  * Since there is no input signal of position or distance, the function block will move until other function block sends a new command to stop movement of this function block;
3821 3821  * When the speed of the controlled axis reaches the input parameter ‘Velocity’ setpoint, the output parameter ‘InVelocity’ is set. Once the input ‘Execute’ signal detects a falling edge or other function block to abort this function block, the output parameter InVelocity is reset;
3822 -* The MC _ MoveVelocity function block shall be in a stopped motion state or a single-axis operation state when the controlled axis is operated. After this function block is triggered, the controlled axis transitions to the ‘Continuous Motion’ state. If the controlled axis is not in the above state, the function block is not executed, Error output is set;
3823 -* The MC _ MoveVelocity function block can be triggered repeatedly multiple times.
3833 +* The MC_ MOVEVELOCITY_CSV function block shall be in a stopped motion state or a single-axis operation state when the controlled axis is operated. After this function block is triggered, the controlled axis transitions to the ‘Continuous Motion’ state. If the controlled axis is not in the above state, the function block is not executed, Error output is set;
3834 +* The MC_ MOVEVELOCITY_CSV function block can be triggered repeatedly multiple times.
3824 3824  
3825 3825  **Error code**
3826 3826  
... ... @@ -3876,7 +3876,11 @@
3876 3876  
3877 3877  VELOCITY
3878 3878  )))|Execute|BOOL|No|TRUE/FALSE|Enable
3879 -|Velocity|LREAL|No|[0,999999999.999999]|Setting velocity
3890 +|Velocity|LREAL|No|(((
3891 +[-999999999.999999,99999
3892 +
3893 +9999.999999]
3894 +)))|Setting velocity
3880 3880  |Axis|(((
3881 3881  WORD
3882 3882  
... ... @@ -4881,16 +4881,41 @@
4881 4881  ----
4882 4882  
4883 4883  (% style="text-align:center" %)
4884 -[[image:1709016272018-406.png||height="669" width="631"]]
4899 +[[image:123.png||height="659" width="621"]]
4885 4885  
4901 +**✎Note**: Continuous line arrows indicate transitions via command. Dashed line arrows indicate automatic transitions, which occur when a command on an axis ends or a related system transition occurs (e.g., a related error).
4902 +
4903 +① The transition condition for any state to fault stop or deceleration stop is: a fault occurs on the axis.
4904 +
4905 +② The transition condition for any state to off is: MC_Power.Enable = FALSE and there is no fault on the axis.
4906 +
4907 +③ MC_Reset = FALSE and MC_Power.Status = FALSE.
4908 +
4909 +④ MC_Reset = TRUE, MC_Power.Status = TRUE, and MC_Power.Enable = TRUE.
4910 +
4911 +⑤ MC_Power.Enable = TRUE and MC_Power.Status = TRUE.
4912 +
4913 +⑥ MC_Stop.Done = TRUE and MC_Stop.Execute = FALSE.
4914 +
4886 4886  === **Axis group motion control status diagram** ===
4887 4887  
4888 4888  ----
4889 4889  
4890 4890  (% style="text-align:center" %)
4891 -[[image:1709016323709-202.png]]
4920 +[[image:234.png||height="405" width="669"]]
4892 4892  
4922 +**✎Note**: For all states in the diagram could be transitioned to GroupDisabled state by MC_GroupDisable or MC_UngroupAllAxes.
4893 4893  
4924 +① Applies to all non-administrative (i.e., motion control) function blocks.
4925 +
4926 +② In the GroupErrorStop or GroupStopping state, all function blocks can be invoked, although they are not executed (except that MC_GroupReset is executed in the GroupErrorStop state and any other errors are generated). In exceptional cases, GroupErrorStop or GroupStopping will transition to GroupStandby or GroupErrorStop accordingly.
4927 +
4928 +③ MC_GroupStop.Done = TRUE and MC_GroupStop.Execute = FALSE.
4929 +
4930 +④ The state transition is available if the last axis is removed from the axis group.
4931 +
4932 +⑤ The transition is available when the axis group is non-empty.
4933 +
4894 4894  === **Arc mode description** ===
4895 4895  
4896 4896  ----
... ... @@ -4902,22 +4902,20 @@
4902 4902  
4903 4903  Features
4904 4904  )))|(((
4905 -The arc composed of starting point, auxiliary point and ending point is regarded as the trajectory circle of motion.
4906 -
4907 -
4945 +The arc path consists of the starting point, auxiliary points, and ending point.
4908 4908  )))|(((
4909 4909  
4910 4910  
4911 -The auxiliary point is defined as the center of the motion trajectory, so the auxiliary point should be on the perpendicular line connecting the starting point and the ending point.
4949 +The arc path consists of the starting point, the center point, and theending point.
4912 4912  
4913 4913  
4914 4914  
4915 4915  )))|(((
4916 -According to the right-hand grip rule, the ending point and the vector perpendicular to the plane of the circle are defined, and the length of the vector corresponds to the radius of the circle.
4954 +The arc is determined by its starting point, ending point, and the normal vector of the plane containing the circle.
4917 4917  
4918 4918  The direction of the vector determines the direction of CW and CCW circles.
4919 4919  
4920 -The major arc and minor arc are determined by path choice.
4958 +The vector length is the radius of the arc.
4921 4921  )))
4922 4922  |(((
4923 4923  
... ... @@ -5167,6 +5167,7 @@
5167 5167  |0x00400005|MC_ERROR_ID_POSITION_OVER_POSITIVE_LIMIT|Position over positive limit
5168 5168  |0x00400006|MC_ERROR_ID_POSITION_OVER_NEGATIVE_LIMIT|Position over negative limit
5169 5169  |0x00400007|MC_ERROR_ID_POSITION_LAG_OVERLIMIT|Position lag over limit
5208 +|0x00400008|MC_ERROR_ID_TORQUE_OVER_LIMIT|Torque over limit
5170 5170  |(% colspan="3" %)**Error Stop**
5171 5171  |0x00500000|MC_ERROR_ID_AXIS_ERROR_STOP|Axis error stopped
5172 5172  |(% colspan="3" %)**Error from servo**
... ... @@ -5190,6 +5190,25 @@
5190 5190  |0x00600011|MC_ERROR_ID_SERVO_PARAWRITE|Write Servo parameter error
5191 5191  |0x00600012|MC_ERROR_ID_LOCAL_PULSE_HOME_TIMEOUT|Time out when origin regression
5192 5192  |0x00600013|MC_ERROR_ID_LOCAL_PULSE_HOME_NOT_TOUCH_LIMI|The execution has not encountered the limit
5232 +|0x00600014|(((
5233 +MC_ERROR_ID_LOCAL_PULSE_HOME_VELOCITY_
5234 +
5235 +OVER_LIMIT
5236 +)))|Pulse shaft HOME Velocity over limit
5237 +|0x00600015|(((
5238 +MC_ERROR_ID_LOCAL_PULSE_HOME_ACC_
5239 +
5240 +OVER_LIMIT
5241 +)))|Pulse shaft HOME Acceleration over limit
5242 +|0x00600020|(((
5243 +MC_ERROR_ID_MODE_SWITCH_NEEDPDO_
5244 +
5245 +NOTMAP
5246 +)))|(((
5247 +There is no required PDO for the mode
5248 +
5249 +corresponding to mode switching.
5250 +)))
5193 5193  |0x006000FF|MC_ERROR_ID_SERVO_LOST|Servo lost
5194 5194  |(% colspan="3" %)**Axis’s error**
5195 5195  |0x00700000|MC_ERROR_ID_AXIS_GENERAL_ERROR|Axis's general error
123.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +292.1 KB
Content
1770693592357-540.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +133.1 KB
Content
234.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Iris
Size
... ... @@ -1,0 +1,1 @@
1 +223.0 KB
Content