Changes for page 08 Motion Control

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

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

Summary

Details

Page properties
Content
... ... @@ -15,6 +15,8 @@
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 +
18 18  |=(% rowspan="2" %)**Instruction**|=(% rowspan="2" %)**Parameter**|=(% colspan="24" %)**Devices**|=**Index modification**|=**Pulse expansion**
19 19  |**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**
20 20  |(% rowspan="8" %)MC_POWER|Enable|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | |
... ... @@ -34,19 +34,20 @@
34 34  
35 35  Variable Type Used
36 36  
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])
46 46  
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 +
47 47  Function
48 48  
49 -* This funcion block must be enabled if an axis is to participate in motion.
52 +* This function block must be enabled if an axis is to participate in motion.
50 50  * The function is as follows:
51 51  
52 52  1. When the Enable input is TRUE, the power to the drive is enabled, not to the function block itself;
... ... @@ -811,9 +811,6 @@
811 811  Precautions
812 812  
813 813  * 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="11" %)(((
1500 +|(% colspan="1" rowspan="10" %)(((
1501 1501  
1502 1502  
1503 1503  
... ... @@ -1540,7 +1540,7 @@
1540 1540  
1541 1541  Others: Reserved
1542 1542  )))
1543 -|(% colspan="1" rowspan="6" %)(((
1543 +|(% colspan="1" rowspan="5" %)(((
1544 1544  
1545 1545  
1546 1546  
... ... @@ -1548,7 +1548,6 @@
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
1552 1552  |Error|BOOL|Yes| |Whether there is an error or not
1553 1553  |ErrorID|DWORD|Yes| |Error Code (Please check [8.10 Error Code Cross-reference Table] )
1554 1554  
... ... @@ -1623,9 +1623,9 @@
1623 1623  MC_SAVECAMTABLE
1624 1624  )))|(% colspan="1" rowspan="2" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable
1625 1625  |CamTableID|INT|No|-|Cam tableID
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
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
1629 1629  |Error|BOOL|Yes|-|Whether there is an error or not
1630 1630  |ErrorID|DWORD|Yes|-|Error Code (Please check [8.10 Error Code Cross-reference Table]
1631 1631  
... ... @@ -2201,19 +2201,6 @@
2201 2201  
2202 2202  
2203 2203  
2204 -
2205 -
2206 -
2207 -
2208 -
2209 -
2210 -
2211 -
2212 -
2213 -
2214 -
2215 -
2216 -
2217 2217  == **Management functions of axis group motion control** ==
2218 2218  
2219 2219  ----
... ... @@ -3749,9 +3749,9 @@
3749 3749  
3750 3750  === **MC _ MOVEVELOCITY _ CSV** ===
3751 3751  
3752 -MC _ MOVEVELOCITY _ CSV-Sets motion according to the speed specified by the function block
3738 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps1.png]]MC _ MOVEVELOCITY _ CSV-Sets motion according to the speed specified by the function block
3753 3753  
3754 -[[image:1761032781939-478.png]]
3740 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps2.jpg]]
3755 3755  
3756 3756  The function block is used to continue the motion of the previous function block and move according to the speed specified by the function block.
3757 3757  
... ... @@ -3827,11 +3827,11 @@
3827 3827  
3828 3828  **Function**
3829 3829  
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.
3816 +* 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.
3831 3831  * 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;
3832 3832  * 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;
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.
3819 +* 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;
3820 +* The MC _ MoveVelocity function block can be triggered repeatedly multiple times.
3835 3835  
3836 3836  **Error code**
3837 3837  
... ... @@ -3845,15 +3845,16 @@
3845 3845  
3846 3846  **Timing diagram**
3847 3847  
3834 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps3.jpg]]
3848 3848  
3849 -(% style="text-align:center" %)
3850 -[[image:1761032845559-339.png||height="306" width="520"]]
3851 3851  
3852 -=== **MC _ SYNCMOVEVELOCITY** ===
3853 3853  
3838 +
3839 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps4.png]]**8.7.5 MC _ SYNCMOVEVELOCITY**
3840 +
3854 3854  MC _ SYNCMOVEVELOCITY-Sets motion according to the speed specified by the function block
3855 3855  
3856 -[[image:1761032974104-584.png]]
3843 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps5.jpg]]
3857 3857  
3858 3858  The function block is used to continue the motion of the previous function block and move according to the speed specified by the function block.
3859 3859  
... ... @@ -3887,11 +3887,7 @@
3887 3887  
3888 3888  VELOCITY
3889 3889  )))|Execute|BOOL|No|TRUE/FALSE|Enable
3890 -|Velocity|LREAL|No|(((
3891 -[-999999999.999999,99999
3892 -
3893 -9999.999999]
3894 -)))|Setting velocity
3877 +|Velocity|LREAL|No|[0,999999999.999999]|Setting velocity
3895 3895  |Axis|(((
3896 3896  WORD
3897 3897  
... ... @@ -3925,14 +3925,16 @@
3925 3925  
3926 3926  **Timing diagram**
3927 3927  
3928 -(% style="text-align:center" %)
3929 -[[image:1761033004563-270.png]]
3911 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps6.jpg]]
3930 3930  
3931 -=== **MC _ SETTORQUE** ===
3932 3932  
3914 +
3915 +
3916 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps7.png]]**8.7.6 MC _ SETTORQUE**
3917 +
3933 3933  MC _ SETTORQUE-Synchronous torque instruction
3934 3934  
3935 -[[image:1761033083623-162.png]]
3920 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps8.jpg]]
3936 3936  
3937 3937  **Device used (only a single device can be used, and device splicing and Index are not supported)**
3938 3938  
... ... @@ -3999,12 +3999,27 @@
3999 3999  
4000 4000  * This function block is not available when the axis does not exist.
4001 4001  
4002 -=== **MC _ TORQUECONTROL** ===
4003 4003  
4004 -MC _ TORQUECONTROL-Torque control command
4005 4005  
4006 -[[image:1761033167971-496.png||height="206" width="262"]]
4007 4007  
3990 +
3991 +
3992 +
3993 +
3994 +
3995 +
3996 +
3997 +
3998 +
3999 +
4000 +
4001 +
4002 +**8.7.7 MC _ TORQUECONTROL**
4003 +
4004 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps9.png]]MC _ TORQUECONTROL-Torque control command
4005 +
4006 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps10.jpg]]
4007 +
4008 4008  **Device used (only a single device can be used, and device splicing and Index are not supported)**
4009 4009  
4010 4010  |(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|(((
... ... @@ -4068,6 +4068,8 @@
4068 4068  
4069 4069  * If VD3E is used, the value of startup parameter 2001:9 is 2;
4070 4070  
4071 +
4072 +
4071 4071  **Function description**
4072 4072  
4073 4073  * This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction;
... ... @@ -4110,302 +4110,16 @@
4110 4110  
4111 4111  After setting the target torque, the command is triggered, and the actual output torque can reach the target torque.
4112 4112  
4113 -(% style="text-align:center" %)
4114 -[[image:1761033264625-188.png]]
4115 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps11.jpg]]
4115 4115  
4116 -
4117 4117  After setting the target torque, the command is triggered, and finally the actual output torque cannot reach the target torque.
4118 4118  
4119 -(% style="text-align:center" %)
4120 -[[image:1761033334729-116.png]]
4119 +[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps12.jpg]]
4121 4121  
4122 -=== **MC _ MOVEABSRELPP** ===
4121 +== ==
4123 4123  
4124 -MC _ MOVEABSRELPP-Positioning instruction based on contour position mode
4123 +== ==
4125 4125  
4126 -[[image:1761034254689-443.png]]
4127 -
4128 -**Device used (only a single device can be used, and device splicing and Index are not supported)**
4129 -
4130 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|**Index modification**|(((
4131 -**Pulse**
4132 -
4133 -**Expansion**
4134 -)))
4135 -|**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**
4136 -|(% rowspan="13" %)(((
4137 -MC _ MOVEA
4138 -
4139 -BSRELPP
4140 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4141 -|Position| | | | | | | | | | | | | | | | | | | | | | | | | |
4142 -|Velocity| | | | | | | | | | | | | | | | | | | | | | | | | |
4143 -|Acceleration| | | | | | | | | | | | | | | | | | | | | | | | | |
4144 -|Deceleration| | | | | | | | | | | | | | | | | | | | | | | | | |
4145 -|Mode| | | | | | | | | | | | | | | | | | | | | | | | | |
4146 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | |
4147 -|Done| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4148 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4149 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4150 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4151 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4152 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | |
4153 -
4154 -**Notes for using devices**
4155 -
4156 -* LC and HSC are signed 32-bit data types;
4157 -* T, C, D, R and SD are signed 16-bit data types.
4158 -
4159 -**Variable type used**
4160 -
4161 -|**Instruction**|**Pin Type**|**Parameter**|**Variable type**|**Empty or not**|**Range**|**Description**
4162 -|(% rowspan="13" %)(((
4163 -MC _ MOVE
4164 -
4165 -ABSRELPP
4166 -)))|(% rowspan="7" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable
4167 -|Mode|INT|No|0,1|(((
4168 -1: Absolute mode.
4169 -
4170 -1: Relative mode
4171 -)))
4172 -|Position|LREAL|No|(((
4173 --999999999.999999
4174 -
4175 -999999999.999999
4176 -)))|Target location
4177 -|Velocity|LREAL|No|(0,999999999.999999]|Velocity
4178 -|Acceleration|LREAL|No|(0,999999999.999999]|Acceleration
4179 -|Deceleration|LREAL|No|(0,999999999.999999]|Deceleration
4180 -|Axis|WORD|No|[0,65535]|Axis number
4181 -|(% rowspan="6" %)Output|Done|BOOL|Yes|TRUE/FALSE|Completion flag
4182 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag
4183 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag
4184 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag
4185 -|Error|BOOL|Yes|TRUE/FALSE|Error or not
4186 -|ErrorID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#_8.11 错误码对照表]]])
4187 -
4188 -**Function**
4189 -
4190 -* This command is used to control the EtherCAT bus contour axis to realize the absolute/relative positioning function in contour position mode. In the basic settings of axis configuration, the contour mode option needs to be checked before it can be called, and the rising edge is valid.
4191 -* Contour Position Mode requires the following PDOs:
4192 -
4193 -0x1600: 0x6081, 0x6083, 0x6084, 0x607A, 0x6060, 0x6040
4194 -
4195 -0x1A00: 0x6061, 0x6064, 0x6041
4196 -
4197 -**Function description**
4198 -
4199 -* This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction;
4200 -* At the rising edge of the Execute input, the instruction latches the input parameters on the left side such as Position and Velocity, triggers the absolute/relative positioning function, and switches the PLCOpen state machine of the axis to the DiscreteMotion state;
4201 -* When Mode = 0, the positioning Mode is absolute positioning Mode, and Position is used to set the target Position of absolute positioning. If the axis Mode is configured as rotation Mode, the target Position is positioned according to the shortest distance;
4202 -* When Mode = 1, the positioning Mode is a relative positioning Mode, and Position is used to set the target distance of relative positioning;
4203 -* Interrupt
4204 -
4205 -When this instruction is valid in PLCOpen, the axis will be in the Discretemotion state. Other outline mode instructions that can make the axis in Discretemotion or comply with PLCOpen state machine switching can interrupt this instruction. CommandAboarted is valid when the instruction is interrupted. The instruction of periodic synchronization mode cannot be called, otherwise a fault will be reported;
4206 -
4207 -CommandAboarted is valid when the MC _ Power instruction is invalid when Execute = TRUE and the Busy signal is valid causes the axis to be de-enabled.
4208 -
4209 -**Timing diagram**
4210 -
4211 -
4212 -(% style="text-align:center" %)
4213 -[[image:1761034304535-743.png]]
4214 -
4215 -=== **MC _ MOVEVELOCITYPV** ===
4216 -
4217 -MC _ MOVEVELOCITYPV-Contour Speed Command
4218 -
4219 -[[image:1761034415972-645.png]]
4220 -
4221 -**Device used (only a single device can be used, and device splicing and Index are not supported)**
4222 -
4223 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|(((
4224 -**Index**
4225 -
4226 -**Modification**
4227 -)))|(((
4228 -**Pulse**
4229 -
4230 -**Expansion**
4231 -)))
4232 -|**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**
4233 -|(% rowspan="11" %)(((
4234 -MC _ MOVEVELO
4235 -
4236 -CITYPV
4237 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4238 -|Velocity| | | | | | | | | | | | | | | | | | | | | | | | | |
4239 -|Acceleration| | | | | | | | | | | | | | | | | | | | | | | | | |
4240 -|Deceleration| | | | | | | | | | | | | | | | | | | | | | | | | |
4241 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | |
4242 -|InVelocity| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4243 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4244 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4245 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4246 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4247 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | |
4248 -
4249 -**Notes for using devices**
4250 -
4251 -* LC and HSC are signed 32-bit data types;
4252 -* T, C, D, R and SD are signed 16-bit data types.
4253 -
4254 -**Variable type used**
4255 -
4256 -|**Instruction**|(((
4257 -**Pin**
4258 -
4259 -**type**
4260 -)))|**Parameter**|(((
4261 -**Variable**
4262 -
4263 -**Type**
4264 -)))|(((
4265 -**Can you**
4266 -
4267 -**Is empty**
4268 -)))|**Range**|**Description**
4269 -|(% rowspan="11" %)(((
4270 -MC _ MOVEVE
4271 -
4272 -LOCITYPV
4273 -)))|(% rowspan="5" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable
4274 -|Velocity|LREAL|No|(((
4275 --999999999.999999
4276 -
4277 -999999999.999999
4278 -)))|Velocity
4279 -|Acceleration|LREAL|No|(0,999999999.999999]|Acceleration
4280 -|Deceleration|LREAL|No|The QPS Exceeds Maximum Limit 5|Deceleration
4281 -|Axis|WORD|No|[0,65535]|Axis number
4282 -|(% rowspan="6" %)Output|InVelocity|BOOL|Yes|TRUE/FALSE|Completion flag
4283 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag
4284 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag
4285 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag
4286 -|Error|BOOL|Yes|TRUE/FALSE|Error or not
4287 -|ErrorID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#错误码对照表]]])
4288 -
4289 -**Function**
4290 -
4291 -* This command is used to realize the continuous motion function of EtherCAT bus contour axis in contour speed mode. In the basic settings of axis configuration, the contour mode option needs to be checked before it can be called, and the rising edge is valid;
4292 -* This instruction is a simulated velocity instruction based on the profile velocity (PV) mode;
4293 -* The following PDOs are required for the profile speed mode:
4294 -
4295 -0x1600: 0x6083, 0x6084, 0x60FF, 0x6060, 0x6040
4296 -
4297 -0x1A00: 0x6061, 0x606c, 0x6041
4298 -
4299 -**Function description**
4300 -
4301 -* This instruction can only be invoked if the axis is switched to the STANDSTILL state using the MC _ Power instruction;
4302 -* When Execute = TRUE, the instruction latches the input parameters on the left side such as Velocity and Acceleration, the axis continuously runs according to the target speed set by Velocity, and switches the PLCOpen state machine of the axis to the ContinuousMotion state.
4303 -
4304 -**Timing diagram**
4305 -
4306 -
4307 -(% style="text-align:center" %)
4308 -[[image:1761034458765-139.png]]
4309 -
4310 -=== **MC _ TORQUECONTROLPT** ===
4311 -
4312 -MC _ TORQUECONTROLPT-Contour torque control command
4313 -
4314 -[[image:1761034544967-630.png]]
4315 -
4316 -**Device used (only a single device can be used, and device splicing and Index are not supported)**
4317 -
4318 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|**Index modification**|**Pulse expansion**
4319 -|**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**
4320 -|(% rowspan="11" %)(((
4321 -MC _ TORQUE
4322 -
4323 -CONTROLPT
4324 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4325 -|TORQUE| | | | | | | | | | | | | | | | | | | | | | | | | |
4326 -|TorqueRamp| | | | | | | | | | | | | | | | | | | | | | | | | |
4327 -|MaxVelocity| | | | | | | | | | | | | | | | | | | | | | | | | |
4328 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | |
4329 -|InTorque| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4330 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4331 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4332 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4333 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | |
4334 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | |
4335 -
4336 -**Notes for using devices**
4337 -
4338 -* LC and HSC are signed 32-bit data types;
4339 -* T, C, D, R and SD are signed 16-bit data types.
4340 -
4341 -**Variable type used**
4342 -
4343 -|**Instruction**|**Pin Type**|**Parameter**|**Variable type**|**Empty or not**|**Range**|**Description**
4344 -|(% rowspan="11" %)MC_ TORQUECONTROLPT|(% rowspan="5" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable
4345 -|Torque|LREAL|No|[-32768,32767]|Target torque (unit is 0.1%)
4346 -|TorqueRamp|LREAL|No|(0,999999999.999999]|Torque slope
4347 -|MaxVelocity|LREAL|No|[0,999999999.999999]|Maximum speed
4348 -|Axis|WORD|No|[0,65535]|Axis number
4349 -|(% rowspan="6" %)Output|InTorque|BOOL|Yes|TRUE/FALSE|Completion flag
4350 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag
4351 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag
4352 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag
4353 -|Error|BOOL|Yes|TRUE/FALSE|Error or not
4354 -|ErrorID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#错误码对照表]]])
4355 -
4356 -**Function**
4357 -
4358 -* This instruction is used to control the EtherCAT bus profile axis to realize the absolute/relative positioning function in profile position mode. In the basic settings of axis configuration, the profile mode option needs to be checked before it can be called, and the rising edge is valid;
4359 -* This instruction is used to realize the torque control function and is only used for the EtherCAT bus axis. The rising edge of the instruction is valid and the virtual axis mode is not supported;
4360 -* Profile torque mode needs to be configured with the following PDOs:
4361 -
4362 -0x1600: 0x6087 (optional), 0x6060, 0x6071, 0x607f (optional), 0x6040
4363 -
4364 -0x1A00: 0x6061, 0x6077, 0x6041
4365 -
4366 -**Function description**
4367 -
4368 -* This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction. Otherwise, report a fault;
4369 -* This instruction uses the driver synchronous torque mode to realize the torque control function;
4370 -* On the rising edge of the instruction, the function block latches the input parameters of TarTorque, TorqueSlope and MaxVelocity, and the axis is in the ContinuousMotion state and performs torque motion;
4371 -
4372 -TarTorque: Target torque, the unit is 0.1%, one decimal place after the decimal point is valid in the program, and the latter ones are directly discarded. The actual torque of the driver is limited by the maximum positive and negative torques set in the configuration parameters;
4373 -
4374 -TorqueRamp: Torque ramp, the unit is 1%, one decimal place after the decimal point is valid in the program, and the latter ones are directly discarded.
4375 -
4376 -* Speed control in torque mode
4377 -
4378 -For servo drives, if 0x607f is mapped in the axis parameter, this instruction limits the maximum speed of the servo motor by 0x607f, if 0x607f is not mapped, the speed limit is invalid;
4379 -
4380 -On the rising edge of Execute, the instruction converts the speed limit set by Velocity into pulse units and writes it into 0x607f through PDO;
4381 -
4382 -When the torque instruction is interrupted by others, the maximum speed of the axis will be limited by the "Maximum speed" in the configuration interface;
4383 -
4384 -For third-party drives, Velocity can only be used as a speed limit under the following conditions:
4385 -
4386 -The maximum speed of the servomotor can be limited by 0x607F;
4387 -
4388 -0x607F can be configured into the PDO;
4389 -
4390 -The unit of 0x607F is pulse unit, non-speed unit.
4391 -
4392 -* Stop control on torque mode
4393 -
4394 -In the torque mode, the MC _ Stop instruction is called to perform the shut down, and after receiving the Stop instruction, the driver switches to the synchronous position mode, and performs deceleration according to the deceleration set by the Stop instruction.
4395 -
4396 -* Interrupt
4397 -
4398 -In PLCOpen, when the instruction is valid, the axis will be in the Continuous Motion state. Other instructions that can make the axis in Discrete motion or comply with PLCOpen state machine switching can interrupt the instruction. When the instruction is interrupted, CommandAboarted is valid;
4399 -
4400 -CommandAboarted is valid when Execute=ON and Done signal is invalid and is about to hit the limit signal execution needs to perform deceleration;
4401 -
4402 -The axis de-enable CommandAboarted is valid when Execute=ON and the Done signal is invalid.
4403 -
4404 -**Timing diagram**
4405 -
4406 -(% style="text-align:center" %)
4407 -[[image:1761034615747-763.png]]
4408 -
4409 4409  == **SDO instruction** ==
4410 4410  
4411 4411  ----
... ... @@ -4896,41 +4896,16 @@
4896 4896  ----
4897 4897  
4898 4898  (% style="text-align:center" %)
4899 -[[image:123.png||height="659" width="621"]]
4615 +[[image:1709016272018-406.png||height="669" width="631"]]
4900 4900  
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 -
4915 4915  === **Axis group motion control status diagram** ===
4916 4916  
4917 4917  ----
4918 4918  
4919 4919  (% style="text-align:center" %)
4920 -[[image:234.png||height="405" width="669"]]
4622 +[[image:1709016323709-202.png]]
4921 4921  
4922 -**✎Note**: For all states in the diagram could be transitioned to GroupDisabled state by MC_GroupDisable or MC_UngroupAllAxes.
4923 4923  
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 -
4934 4934  === **Arc mode description** ===
4935 4935  
4936 4936  ----
... ... @@ -4942,20 +4942,22 @@
4942 4942  
4943 4943  Features
4944 4944  )))|(((
4945 -The arc path consists of the starting point, auxiliary points, and ending point.
4636 +The arc composed of starting point, auxiliary point and ending point is regarded as the trajectory circle of motion.
4637 +
4638 +
4946 4946  )))|(((
4947 4947  
4948 4948  
4949 -The arc path consists of the starting point, the center point, and theending point.
4642 +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.
4950 4950  
4951 4951  
4952 4952  
4953 4953  )))|(((
4954 -The arc is determined by its starting point, ending point, and the normal vector of the plane containing the circle.
4647 +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.
4955 4955  
4956 4956  The direction of the vector determines the direction of CW and CCW circles.
4957 4957  
4958 -The vector length is the radius of the arc.
4651 +The major arc and minor arc are determined by path choice.
4959 4959  )))
4960 4960  |(((
4961 4961  
... ... @@ -5205,7 +5205,6 @@
5205 5205  |0x00400005|MC_ERROR_ID_POSITION_OVER_POSITIVE_LIMIT|Position over positive limit
5206 5206  |0x00400006|MC_ERROR_ID_POSITION_OVER_NEGATIVE_LIMIT|Position over negative limit
5207 5207  |0x00400007|MC_ERROR_ID_POSITION_LAG_OVERLIMIT|Position lag over limit
5208 -|0x00400008|MC_ERROR_ID_TORQUE_OVER_LIMIT|Torque over limit
5209 5209  |(% colspan="3" %)**Error Stop**
5210 5210  |0x00500000|MC_ERROR_ID_AXIS_ERROR_STOP|Axis error stopped
5211 5211  |(% colspan="3" %)**Error from servo**
... ... @@ -5229,25 +5229,6 @@
5229 5229  |0x00600011|MC_ERROR_ID_SERVO_PARAWRITE|Write Servo parameter error
5230 5230  |0x00600012|MC_ERROR_ID_LOCAL_PULSE_HOME_TIMEOUT|Time out when origin regression
5231 5231  |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 -)))
5251 5251  |0x006000FF|MC_ERROR_ID_SERVO_LOST|Servo lost
5252 5252  |(% colspan="3" %)**Axis’s error**
5253 5253  |0x00700000|MC_ERROR_ID_AXIS_GENERAL_ERROR|Axis's general error
123.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -292.1 KB
Content
1761032781939-478.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -27.1 KB
Content
1761032845559-339.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -67.2 KB
Content
1761032974104-584.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -16.7 KB
Content
1761033004563-270.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -45.4 KB
Content
1761033083623-162.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -23.7 KB
Content
1761033167971-496.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -17.6 KB
Content
1761033264625-188.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -36.1 KB
Content
1761033334729-116.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -31.4 KB
Content
1761034254689-443.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -35.3 KB
Content
1761034304535-743.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -32.6 KB
Content
1761034415972-645.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -34.2 KB
Content
1761034458765-139.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -37.2 KB
Content
1761034544967-630.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -29.7 KB
Content
1761034615747-763.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -38.8 KB
Content
1770693592357-540.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -133.1 KB
Content
234.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Iris
Size
... ... @@ -1,1 +1,0 @@
1 -223.0 KB
Content