Changes for page 08 Motion Control
Last modified by Iris on 2026/04/03 10:39
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 17 added, 0 removed)
- 123.png
- 1761032781939-478.png
- 1761032845559-339.png
- 1761032974104-584.png
- 1761033004563-270.png
- 1761033083623-162.png
- 1761033167971-496.png
- 1761033264625-188.png
- 1761033334729-116.png
- 1761034254689-443.png
- 1761034304535-743.png
- 1761034415972-645.png
- 1761034458765-139.png
- 1761034544967-630.png
- 1761034615747-763.png
- 1770693592357-540.png
- 234.png
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 func tion 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="1 0" %)(((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| Busyflag1626 -|BusY|BOOL|Yes|TRUE/FALSE| Abortedflag1627 -|InstructionAborted|BOOL|Yes|TRUE/FALSE|Abort ionflag1626 +|(% 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 ... ... @@ -2200,6 +2200,19 @@ 2200 2200 2201 2201 2202 2202 2204 + 2205 + 2206 + 2207 + 2208 + 2209 + 2210 + 2211 + 2212 + 2213 + 2214 + 2215 + 2216 + 2203 2203 == **Management functions of axis group motion control** == 2204 2204 2205 2205 ---- ... ... @@ -3735,9 +3735,9 @@ 3735 3735 3736 3736 === **MC _ MOVEVELOCITY _ CSV** === 3737 3737 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 block3752 +MC _ MOVEVELOCITY _ CSV-Sets motion according to the speed specified by the function block 3739 3739 3740 -[[image: file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps2.jpg]]3754 +[[image:1761032781939-478.png]] 3741 3741 3742 3742 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. 3743 3743 ... ... @@ -3813,11 +3813,11 @@ 3813 3813 3814 3814 **Function** 3815 3815 3816 -* The MC _ MoveVelocityfunction 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. 3817 3817 * 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; 3818 3818 * 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; 3819 -* The MC_ MoveVelocityfunction 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_ MoveVelocityfunction 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. 3821 3821 3822 3822 **Error code** 3823 3823 ... ... @@ -3831,16 +3831,15 @@ 3831 3831 3832 3832 **Timing diagram** 3833 3833 3834 -[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps3.jpg]] 3835 3835 3849 +(% style="text-align:center" %) 3850 +[[image:1761032845559-339.png||height="306" width="520"]] 3836 3836 3852 +=== **MC _ SYNCMOVEVELOCITY** === 3837 3837 3838 - 3839 -[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps4.png]]**8.7.5 MC _ SYNCMOVEVELOCITY** 3840 - 3841 3841 MC _ SYNCMOVEVELOCITY-Sets motion according to the speed specified by the function block 3842 3842 3843 -[[image: file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps5.jpg]]3856 +[[image:1761032974104-584.png]] 3844 3844 3845 3845 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. 3846 3846 ... ... @@ -3874,7 +3874,11 @@ 3874 3874 3875 3875 VELOCITY 3876 3876 )))|Execute|BOOL|No|TRUE/FALSE|Enable 3877 -|Velocity|LREAL|No|[0,999999999.999999]|Setting velocity 3890 +|Velocity|LREAL|No|((( 3891 +[-999999999.999999,99999 3892 + 3893 +9999.999999] 3894 +)))|Setting velocity 3878 3878 |Axis|((( 3879 3879 WORD 3880 3880 ... ... @@ -3908,16 +3908,14 @@ 3908 3908 3909 3909 **Timing diagram** 3910 3910 3911 -[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps6.jpg]] 3928 +(% style="text-align:center" %) 3929 +[[image:1761033004563-270.png]] 3912 3912 3931 +=== **MC _ SETTORQUE** === 3913 3913 3914 - 3915 - 3916 -[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps7.png]]**8.7.6 MC _ SETTORQUE** 3917 - 3918 3918 MC _ SETTORQUE-Synchronous torque instruction 3919 3919 3920 -[[image: file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps8.jpg]]3935 +[[image:1761033083623-162.png]] 3921 3921 3922 3922 **Device used (only a single device can be used, and device splicing and Index are not supported)** 3923 3923 ... ... @@ -3984,27 +3984,12 @@ 3984 3984 3985 3985 * This function block is not available when the axis does not exist. 3986 3986 4002 +=== **MC _ TORQUECONTROL** === 3987 3987 4004 +MC _ TORQUECONTROL-Torque control command 3988 3988 4006 +[[image:1761033167971-496.png||height="206" width="262"]] 3989 3989 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,8 +4068,6 @@ 4068 4068 4069 4069 * If VD3E is used, the value of startup parameter 2001:9 is 2; 4070 4070 4071 - 4072 - 4073 4073 **Function description** 4074 4074 4075 4075 * This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction; ... ... @@ -4112,16 +4112,302 @@ 4112 4112 4113 4113 After setting the target torque, the command is triggered, and the actual output torque can reach the target torque. 4114 4114 4115 -[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps11.jpg]] 4113 +(% style="text-align:center" %) 4114 +[[image:1761033264625-188.png]] 4116 4116 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 -[[image:file:///C:\Users\Administrator\AppData\Local\Temp\ksohtml13364\wps12.jpg]] 4119 +(% style="text-align:center" %) 4120 +[[image:1761033334729-116.png]] 4120 4120 4121 -== == 4122 +=== **MC _ MOVEABSRELPP** === 4122 4122 4123 - ====4124 +MC _ MOVEABSRELPP-Positioning instruction based on contour position mode 4124 4124 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 + 4125 4125 == **SDO instruction** == 4126 4126 4127 4127 ---- ... ... @@ -4612,16 +4612,41 @@ 4612 4612 ---- 4613 4613 4614 4614 (% style="text-align:center" %) 4615 -[[image:1 709016272018-406.png||height="669" width="631"]]4899 +[[image:123.png||height="659" width="621"]] 4616 4616 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 + 4617 4617 === **Axis group motion control status diagram** === 4618 4618 4619 4619 ---- 4620 4620 4621 4621 (% style="text-align:center" %) 4622 -[[image: 1709016323709-202.png]]4920 +[[image:234.png||height="405" width="669"]] 4623 4623 4922 +**✎Note**: For all states in the diagram could be transitioned to GroupDisabled state by MC_GroupDisable or MC_UngroupAllAxes. 4624 4624 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 + 4625 4625 === **Arc mode description** === 4626 4626 4627 4627 ---- ... ... @@ -4633,22 +4633,20 @@ 4633 4633 4634 4634 Features 4635 4635 )))|((( 4636 -The arc composed of starting point, auxiliary point and ending point is regarded as the trajectory circle of motion. 4637 - 4638 - 4945 +The arc path consists of the starting point, auxiliary points, and ending point. 4639 4639 )))|((( 4640 4640 4641 4641 4642 -The a uxiliarypoint is definedasthecenterof themotion trajectory, sothe auxiliarypointshould be ontheperpendicular lineconnecting thestartingpoint and theending point.4949 +The arc path consists of the starting point, the center point, and theending point. 4643 4643 4644 4644 4645 4645 4646 4646 )))|((( 4647 - Accordingto theright-handgriprule,theending point and the vectorperpendicular to the plane ofthe circleare defined, and the lengthofthevector 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. 4648 4648 4649 4649 The direction of the vector determines the direction of CW and CCW circles. 4650 4650 4651 -The majorarc andminorarc are determinedbypath choice.4958 +The vector length is the radius of the arc. 4652 4652 ))) 4653 4653 |((( 4654 4654 ... ... @@ -4898,6 +4898,7 @@ 4898 4898 |0x00400005|MC_ERROR_ID_POSITION_OVER_POSITIVE_LIMIT|Position over positive limit 4899 4899 |0x00400006|MC_ERROR_ID_POSITION_OVER_NEGATIVE_LIMIT|Position over negative limit 4900 4900 |0x00400007|MC_ERROR_ID_POSITION_LAG_OVERLIMIT|Position lag over limit 5208 +|0x00400008|MC_ERROR_ID_TORQUE_OVER_LIMIT|Torque over limit 4901 4901 |(% colspan="3" %)**Error Stop** 4902 4902 |0x00500000|MC_ERROR_ID_AXIS_ERROR_STOP|Axis error stopped 4903 4903 |(% colspan="3" %)**Error from servo** ... ... @@ -4921,6 +4921,25 @@ 4921 4921 |0x00600011|MC_ERROR_ID_SERVO_PARAWRITE|Write Servo parameter error 4922 4922 |0x00600012|MC_ERROR_ID_LOCAL_PULSE_HOME_TIMEOUT|Time out when origin regression 4923 4923 |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 +))) 4924 4924 |0x006000FF|MC_ERROR_ID_SERVO_LOST|Servo lost 4925 4925 |(% colspan="3" %)**Axis’s error** 4926 4926 |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
- 1761032781939-478.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.1 KB - Content
- 1761032845559-339.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +67.2 KB - Content
- 1761032974104-584.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +16.7 KB - Content
- 1761033004563-270.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.4 KB - Content
- 1761033083623-162.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +23.7 KB - Content
- 1761033167971-496.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.6 KB - Content
- 1761033264625-188.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +36.1 KB - Content
- 1761033334729-116.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +31.4 KB - Content
- 1761034254689-443.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +35.3 KB - Content
- 1761034304535-743.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +32.6 KB - Content
- 1761034415972-645.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +34.2 KB - Content
- 1761034458765-139.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.2 KB - Content
- 1761034544967-630.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +29.7 KB - Content
- 1761034615747-763.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Iris - Size
-
... ... @@ -1,0 +1,1 @@ 1 +38.8 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