Changes for page 08 Motion Control
Last modified by Iris on 2026/04/03 10:39
From version 7.1
edited by Jiahao Lai
on 2025/11/05 13:54
on 2025/11/05 13:54
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 14 removed)
- 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
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Jim2581 +XWiki.Wecon - Content
-
... ... @@ -2199,15 +2199,6 @@ 2199 2199 ))) 2200 2200 2201 2201 2202 - 2203 - 2204 - 2205 - 2206 - 2207 - 2208 - 2209 - 2210 - 2211 2211 == **Management functions of axis group motion control** == 2212 2212 2213 2213 ---- ... ... @@ -3741,661 +3741,6 @@ 3741 3741 |=**Error code**|=**Content** 3742 3742 |4084H|Input data beyond the specifiable range 3743 3743 3744 -=== **MC _ MOVEVELOCITY _ CSV** === 3745 - 3746 -MC _ MOVEVELOCITY _ CSV-Sets motion according to the speed specified by the function block 3747 - 3748 -[[image:1761032781939-478.png]] 3749 - 3750 -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. 3751 - 3752 -**Device used (only a single device can be used, device splicing and index are not supported)** 3753 - 3754 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|((( 3755 -**Index** 3756 - 3757 -**Modification** 3758 -)))|((( 3759 -**Pulse** 3760 - 3761 -**Expansion** 3762 -))) 3763 -|**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** 3764 -|(% rowspan="15" %)((( 3765 -MC _ MOVEVELOCITY 3766 - 3767 -_ CSV 3768 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3769 -|ContinuousUpdate|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3770 -|Velocity| | | | | | | | | | | | | | | | | | | | | | | | | | 3771 -|Acceleration| | | | | | | | | | | | | | | | | | | | | | | | | | 3772 -|Deceleration| | | | | | | | | | | | | | | | | | | | | | | | | | 3773 -|Jerk| | | | | | | | | | | | | | | | | | | | | | | | | | 3774 -|Direction| | | | | | | | | | | | | | | | | | | | | | | | | | 3775 -|BufferMode| | | | | | | | | | | | | | | | | | | | | | | | | | 3776 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | | 3777 -|InVelocity| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3778 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3779 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3780 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3781 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3782 -|Error ID| | | | | | | | | | | | | | | | | | | | | | | | | | 3783 - 3784 -**Notes:** 3785 - 3786 -* LC and HSC are signed 32-bit data types; 3787 -* T, C, D, R and SD are signed 16-bit data types. 3788 - 3789 -**Variable type used** 3790 - 3791 -|**Instruction**|**Parameter**|**Variable type**|**Can it be empty**|**Range**|**Description** 3792 -|(% rowspan="15" %)((( 3793 -MC _ MOVE 3794 - 3795 -VELOCITY _ CSV 3796 -)))|Execute|BOOL|No|TRUE/FALSE|Enable 3797 -|ContinuousUpdate|BOOL|Yes|TRUE/FALSE|Whether update continuously or not 3798 -|Velocity|LREAL|No|[0,999999999.999999]|Setting velocity 3799 -|Acceleration|LREAL|No|[0,999999999.999999]|Setting acceleration 3800 -|Deceleration|LREAL|No|[0,999999999.999999]|Set deceleration 3801 -|Jerk|LREAL|Yes|[0,999999999.999999]|The set jerk is only effective in S-curve. 3802 -|Direction|WORD|No|[1,4]|((( 3803 -Direction flag bit (Only rotation mode takes effect)。 3804 - 3805 -~1. Positive direction; 3806 - 3807 -2. Negative direction; 3808 - 3809 -3. The current direction; 3810 - 3811 -4. The shortest path (reserved). 3812 -))) 3813 -|BufferMode|WORD|Yes|[0]|BufferMode 3814 -|Axis|WORD|No|[0,65535]|Axis number and built-in variable of axis 3815 -|InVelocity|BOOL|Yes|TRUE/FALSE|Reach the set velocity flag bit 3816 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag 3817 -|Active|BOOL|Yes|TRUE/FALSE|Activity flag 3818 -|Command aborted|BOOL|Yes|TRUE/FALSE|Interrupt flag bit 3819 -|Error|BOOL|Yes|TRUE/FALSE|Whether there is an error or not 3820 -|Error ID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#错误码对照表]]]) 3821 - 3822 -**Function** 3823 - 3824 -* 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. 3825 -* 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; 3826 -* 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; 3827 -* 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; 3828 -* The MC _ MoveVelocity function block can be triggered repeatedly multiple times. 3829 - 3830 -**Error code** 3831 - 3832 -|**Error code**|**Content** 3833 -|4084H|Input data beyond the specifiable range 3834 - 3835 -**Precautions** 3836 - 3837 -* Different from the MC _ MOVEVELOCITY function block, this function block will automatically switch the servo mode to CSV (Synchronous Cycle Speed) mode; 3838 -* Using this function block requires adding four object dictionaries, H60FF, H6060, H6061, and H606C, to the PDO. 3839 - 3840 -**Timing diagram** 3841 - 3842 - 3843 -(% style="text-align:center" %) 3844 -[[image:1761032845559-339.png||height="306" width="520"]] 3845 - 3846 -=== **MC _ SYNCMOVEVELOCITY** === 3847 - 3848 -MC _ SYNCMOVEVELOCITY-Sets motion according to the speed specified by the function block 3849 - 3850 -[[image:1761032974104-584.png]] 3851 - 3852 -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. 3853 - 3854 -**Device used (only a single device can be used, and device splicing and Index are not supported)** 3855 - 3856 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|**Index modification**|**Pulse expansion** 3857 -|**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** 3858 -|(% rowspan="8" %)((( 3859 -MC _ SYNCMOVE 3860 - 3861 -VELOCITY 3862 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3863 -|Velocity| | | | | | | | | | | | | | | | | | | | | | | | | | 3864 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | | 3865 -|InVelocity| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3866 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3867 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3868 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3869 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | | 3870 - 3871 -**Notes for using devices** 3872 - 3873 -* LC and HSC are signed 32-bit data types; 3874 -* T, C, D, R and SD are signed 16-bit data types. 3875 - 3876 -**Variable type used** 3877 - 3878 -|**Instruction**|**Parameter**|**Variable type**|**Empty or not**|**Range**|**Description** 3879 -|(% rowspan="8" %)((( 3880 -MC _ SYNCMOVE 3881 - 3882 -VELOCITY 3883 -)))|Execute|BOOL|No|TRUE/FALSE|Enable 3884 -|Velocity|LREAL|No|[0,999999999.999999]|Setting velocity 3885 -|Axis|((( 3886 -WORD 3887 - 3888 - 3889 -)))|No|[0,65535]|Axis number and built-in variable of axis 3890 -|InVelocity|BOOL|Yes|TRUE/FALSE|Reach the set velocity flag bit 3891 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag 3892 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Interrupt flag bit 3893 -|Error|BOOL|Yes|TRUE/FALSE|Whether there is an error or not 3894 -|ErrorID|DWORD|Yes|-|((( 3895 -Error code (Please refer to 3896 - 3897 -[[8.11 Error Code>>path:#错误码对照表]] 3898 -))) 3899 - 3900 -**Function** 3901 - 3902 -* The MC _ SYNCMOVEVELOCITY function block function block is used to continue the movement of the previous function block and move according to the speed specified by the function block. 3903 -* 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; 3904 -* 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; 3905 -* The MC _ SYNCMOVEVELOCITY 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; 3906 -* The MC _ SYNCMOVEVELOCITY function block can be triggered repeatedly multiple times. 3907 - 3908 -**✎Note:** After using MC _ SYNCMOVEVELOCITY , the servo mode is automatically switched to the synchronous cycle speed mode. 3909 - 3910 - 3911 -**Error code** 3912 - 3913 -|**Error code**|**Content** 3914 -|4084H|Input data beyond the specifiable range 3915 - 3916 -**Timing diagram** 3917 - 3918 -(% style="text-align:center" %) 3919 -[[image:1761033004563-270.png]] 3920 - 3921 -=== **MC _ SETTORQUE** === 3922 - 3923 -MC _ SETTORQUE-Synchronous torque instruction 3924 - 3925 -[[image:1761033083623-162.png]] 3926 - 3927 -**Device used (only a single device can be used, and device splicing and Index are not supported)** 3928 - 3929 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|((( 3930 -**Index** 3931 - 3932 -**Modification** 3933 -)))|((( 3934 -**Pulse** 3935 - 3936 -**Expansion** 3937 -))) 3938 -|**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** 3939 -|(% rowspan="11" %)MC _ SETTORQUE|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3940 -|TORQUE| | | | | | | | | | | | | | | | | | | | | | | | | | 3941 -|MaxVelocity| | | | | | | | | | | | | | | | | | | | | | | | | | 3942 -|BufferMode| | | | | | | | | | | | | | | | | | | | | | | | | | 3943 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | | 3944 -|InTorque| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3945 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3946 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3947 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3948 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 3949 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | | 3950 - 3951 -**Notes for using devices** 3952 - 3953 -* LC and HSC are signed 32-bit data types; 3954 -* T, C, D, R and SD are signed 16-bit data types. 3955 - 3956 -**Variable type used** 3957 - 3958 -|**Instruction**|**Pin Type**|**Parameter**|**Variable type**|**Empty or not**|**Range**|**Description** 3959 -|(% rowspan="12" %)MC _ SETTORQUE|(% rowspan="6" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable 3960 -|ContinuousUpdate|BOOL|Yes|TRUE/FALSE|Updated during operation 3961 -|Torque|LREAL|No|[-32768,32767]|Target torque (unit is 0.1%) 3962 -|MaxVelocity|LREAL|No|[0,999999999.999999]|Maximum speed 3963 -|BufferMode|WORD|Yes|[0]|Currently only interrupts are supported 3964 -|Axis|WORD|No|[0,65535]|Axis number 3965 -|(% rowspan="6" %)Output|InTorque|BOOL|Yes|TRUE/FALSE|Completion flag 3966 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag 3967 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag 3968 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag 3969 -|Error|BOOL|Yes|TRUE/FALSE|Error or not 3970 -|ErrorID|DWORD|Yes|-|Error code ( Please refer to ~[[[8.11 Error code comparison table>>path:#错误码对照表]]]) 3971 - 3972 -**Function** 3973 - 3974 -* This instruction is used to implement the synchronous torque control function and is only used for the bus servo axis. The rising edge and high level of the command are valid, and the virtual axis mode is not supported. 3975 -* The following PDOs need to be configured in CST mode; 3976 - 3977 -0x1600: 0x6060, 0x6071, 607f (optional), 6040 3978 - 3979 -0x1A00: 0x6061, 0x6077, 0x6041 3980 - 3981 -* If you use VD3E, you need to configure the startup parameter 2001: 9 value to 2; 3982 -* When Enable = ON, the function block converts TarTorque and MaxVelocity from user units to pulse units and sends them to the servo driver from time to time. The shaft is in the Continuous Motion state and performs synchronous torque motion. When the falling edge of Eanble, the function block performs synchronous torque motion with the TarTorque and Velocity latched during the high level, and it is invalid to modify the TarTorque and Velocity in real time; 3983 -* This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction; 3984 -* This instruction uses the driver synchronous torque mode to realize the torque control function. When Enable = ON, the function block converts TarTorque and Velocity from user units to pulse units and sends them to the servo driver from time to time. The shaft is in the Continuous Motion state and performs synchronous torque motion; 3985 - 3986 -TarTorque: The 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. 3987 - 3988 -**Note** 3989 - 3990 -* This function block is not available when the axis does not exist. 3991 - 3992 -=== **MC _ TORQUECONTROL** === 3993 - 3994 -MC _ TORQUECONTROL-Torque control command 3995 - 3996 -[[image:1761033167971-496.png||height="206" width="262"]] 3997 - 3998 -**Device used (only a single device can be used, and device splicing and Index are not supported)** 3999 - 4000 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|((( 4001 -**Index** 4002 - 4003 -**Modification** 4004 -)))|((( 4005 -**Pulse** 4006 - 4007 -**Expansion** 4008 -))) 4009 -|**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** 4010 -|(% rowspan="13" %)((( 4011 -MC _ TORQUE 4012 - 4013 -CONTROL 4014 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4015 -|ContinuousUpdate|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4016 -|TORQUE| | | | | | | | | | | | | | | | | | | | | | | | | | 4017 -|TorqueRamp| | | | | | | | | | | | | | | | | | | | | | | | | | 4018 -|MaxVelocity| | | | | | | | | | | | | | | | | | | | | | | | | | 4019 -|BufferMode| | | | | | | | | | | | | | | | | | | | | | | | | | 4020 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | | 4021 -|InTorque| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4022 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4023 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4024 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4025 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4026 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | | 4027 - 4028 -**Notes for using devices** 4029 - 4030 -* LC and HSC are signed 32-bit data types; 4031 -* T, C, D, R and SD are signed 16-bit data types. 4032 - 4033 -**Variable type used** 4034 - 4035 -|**Instruction**|**Pin Type**|**Parameter**|**Variable type**|**Empty or not**|**Range**|**Description** 4036 -|(% rowspan="13" %)MC _ TORQUECONTROL|(% rowspan="7" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable 4037 -|ContinuousUpdate|BOOL|Yes|TRUE/FALSE|Updated during operation 4038 -|Torque|LREAL|No|[-32768,32767]|Target torque (unit is 0.1%) 4039 -|MaxVelocity|LREAL|No|[0,999999999.999999]|Maximum speed 4040 -|TorqueRamp|LREAL|No|[0,999999999.999999]|Torque slope 4041 -|BufferMode|WORD|Yes|[0]|Only interrupt mode supported 4042 -|Axis|WORD|No|[0,65535]|Axis number 4043 -|(% rowspan="6" %)Output|InTorque|BOOL|Yes|TRUE/FALSE|Completion flag 4044 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag 4045 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag 4046 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag 4047 -|Error|BOOL|Yes|TRUE/FALSE|Error or not 4048 -|ErrorID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#错误码对照表]]]) 4049 - 4050 -**Function** 4051 - 4052 -* 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 imaginary axis mode is not supported. 4053 -* The following PDOs need to be configured in CST mode: 4054 - 4055 -0x1600: 0x6060, 0x6071, 607f (optional), 6040 4056 - 4057 -0x1A00: 0x6061, 0x6077, 0x6041 4058 - 4059 -* If VD3E is used, the value of startup parameter 2001:9 is 2; 4060 - 4061 -**Function description** 4062 - 4063 -* This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction; 4064 -* This instruction uses the driver synchronous torque mode to realize the torque control function; 4065 -* 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; 4066 - 4067 -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 discarded. The actual torque of the driver is limited by the maximum positive and negative torques set in the configuration parameters; 4068 - 4069 -TorqueSlope: Moment slope, the unit is 1%, one decimal place after the decimal point is valid in the program, and the latter ones are directly discarded; 4070 - 4071 -* Speed control in torque mode 4072 - 4073 -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; 4074 - 4075 -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; 4076 - 4077 -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; 4078 - 4079 -For third-party drives, Velocity can only be used as a speed limit under the following conditions: 4080 - 4081 -The maximum speed of the servomotor can be limited by 0x607F; 4082 - 4083 -0x607F can be configured into the PDO; 4084 - 4085 -The unit of 0x607F is pulse unit, non-speed unit. 4086 - 4087 -* Stop control on torque mode 4088 - 4089 -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. 4090 - 4091 -* Interrupt 4092 - 4093 -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; 4094 - 4095 -CommandAboarted is valid when Execute=ON and Done signal is invalid and is about to hit the limit signal execution needs to perform deceleration; 4096 - 4097 -The axis de-enable CommandAboarted is valid when Execute=ON and the Done signal is invalid. 4098 - 4099 -**Timing diagram** 4100 - 4101 -After setting the target torque, the command is triggered, and the actual output torque can reach the target torque. 4102 - 4103 -(% style="text-align:center" %) 4104 -[[image:1761033264625-188.png]] 4105 - 4106 - 4107 -After setting the target torque, the command is triggered, and finally the actual output torque cannot reach the target torque. 4108 - 4109 -(% style="text-align:center" %) 4110 -[[image:1761033334729-116.png]] 4111 - 4112 -=== **MC _ MOVEABSRELPP** === 4113 - 4114 -MC _ MOVEABSRELPP-Positioning instruction based on contour position mode 4115 - 4116 -[[image:1761034254689-443.png]] 4117 - 4118 -**Device used (only a single device can be used, and device splicing and Index are not supported)** 4119 - 4120 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|**Index modification**|((( 4121 -**Pulse** 4122 - 4123 -**Expansion** 4124 -))) 4125 -|**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** 4126 -|(% rowspan="13" %)((( 4127 -MC _ MOVEA 4128 - 4129 -BSRELPP 4130 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4131 -|Position| | | | | | | | | | | | | | | | | | | | | | | | | | 4132 -|Velocity| | | | | | | | | | | | | | | | | | | | | | | | | | 4133 -|Acceleration| | | | | | | | | | | | | | | | | | | | | | | | | | 4134 -|Deceleration| | | | | | | | | | | | | | | | | | | | | | | | | | 4135 -|Mode| | | | | | | | | | | | | | | | | | | | | | | | | | 4136 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | | 4137 -|Done| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4138 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4139 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4140 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4141 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4142 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | | 4143 - 4144 -**Notes for using devices** 4145 - 4146 -* LC and HSC are signed 32-bit data types; 4147 -* T, C, D, R and SD are signed 16-bit data types. 4148 - 4149 -**Variable type used** 4150 - 4151 -|**Instruction**|**Pin Type**|**Parameter**|**Variable type**|**Empty or not**|**Range**|**Description** 4152 -|(% rowspan="13" %)((( 4153 -MC _ MOVE 4154 - 4155 -ABSRELPP 4156 -)))|(% rowspan="7" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable 4157 -|Mode|INT|No|0,1|((( 4158 -1: Absolute mode. 4159 - 4160 -1: Relative mode 4161 -))) 4162 -|Position|LREAL|No|((( 4163 --999999999.999999 4164 - 4165 -999999999.999999 4166 -)))|Target location 4167 -|Velocity|LREAL|No|(0,999999999.999999]|Velocity 4168 -|Acceleration|LREAL|No|(0,999999999.999999]|Acceleration 4169 -|Deceleration|LREAL|No|(0,999999999.999999]|Deceleration 4170 -|Axis|WORD|No|[0,65535]|Axis number 4171 -|(% rowspan="6" %)Output|Done|BOOL|Yes|TRUE/FALSE|Completion flag 4172 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag 4173 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag 4174 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag 4175 -|Error|BOOL|Yes|TRUE/FALSE|Error or not 4176 -|ErrorID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#_8.11 错误码对照表]]]) 4177 - 4178 -**Function** 4179 - 4180 -* 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. 4181 -* Contour Position Mode requires the following PDOs: 4182 - 4183 -0x1600: 0x6081, 0x6083, 0x6084, 0x607A, 0x6060, 0x6040 4184 - 4185 -0x1A00: 0x6061, 0x6064, 0x6041 4186 - 4187 -**Function description** 4188 - 4189 -* This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction; 4190 -* 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; 4191 -* 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; 4192 -* When Mode = 1, the positioning Mode is a relative positioning Mode, and Position is used to set the target distance of relative positioning; 4193 -* Interrupt 4194 - 4195 -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; 4196 - 4197 -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. 4198 - 4199 -**Timing diagram** 4200 - 4201 - 4202 -(% style="text-align:center" %) 4203 -[[image:1761034304535-743.png]] 4204 - 4205 -=== **MC _ MOVEVELOCITYPV** === 4206 - 4207 -MC _ MOVEVELOCITYPV-Contour Speed Command 4208 - 4209 -[[image:1761034415972-645.png]] 4210 - 4211 -**Device used (only a single device can be used, and device splicing and Index are not supported)** 4212 - 4213 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|((( 4214 -**Index** 4215 - 4216 -**Modification** 4217 -)))|((( 4218 -**Pulse** 4219 - 4220 -**Expansion** 4221 -))) 4222 -|**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** 4223 -|(% rowspan="11" %)((( 4224 -MC _ MOVEVELO 4225 - 4226 -CITYPV 4227 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4228 -|Velocity| | | | | | | | | | | | | | | | | | | | | | | | | | 4229 -|Acceleration| | | | | | | | | | | | | | | | | | | | | | | | | | 4230 -|Deceleration| | | | | | | | | | | | | | | | | | | | | | | | | | 4231 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | | 4232 -|InVelocity| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4233 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4234 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4235 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4236 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4237 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | | 4238 - 4239 -**Notes for using devices** 4240 - 4241 -* LC and HSC are signed 32-bit data types; 4242 -* T, C, D, R and SD are signed 16-bit data types. 4243 - 4244 -**Variable type used** 4245 - 4246 -|**Instruction**|((( 4247 -**Pin** 4248 - 4249 -**type** 4250 -)))|**Parameter**|((( 4251 -**Variable** 4252 - 4253 -**Type** 4254 -)))|((( 4255 -**Can you** 4256 - 4257 -**Is empty** 4258 -)))|**Range**|**Description** 4259 -|(% rowspan="11" %)((( 4260 -MC _ MOVEVE 4261 - 4262 -LOCITYPV 4263 -)))|(% rowspan="5" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable 4264 -|Velocity|LREAL|No|((( 4265 --999999999.999999 4266 - 4267 -999999999.999999 4268 -)))|Velocity 4269 -|Acceleration|LREAL|No|(0,999999999.999999]|Acceleration 4270 -|Deceleration|LREAL|No|The QPS Exceeds Maximum Limit 5|Deceleration 4271 -|Axis|WORD|No|[0,65535]|Axis number 4272 -|(% rowspan="6" %)Output|InVelocity|BOOL|Yes|TRUE/FALSE|Completion flag 4273 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag 4274 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag 4275 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag 4276 -|Error|BOOL|Yes|TRUE/FALSE|Error or not 4277 -|ErrorID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#错误码对照表]]]) 4278 - 4279 -**Function** 4280 - 4281 -* 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; 4282 -* This instruction is a simulated velocity instruction based on the profile velocity (PV) mode; 4283 -* The following PDOs are required for the profile speed mode: 4284 - 4285 -0x1600: 0x6083, 0x6084, 0x60FF, 0x6060, 0x6040 4286 - 4287 -0x1A00: 0x6061, 0x606c, 0x6041 4288 - 4289 -**Function description** 4290 - 4291 -* This instruction can only be invoked if the axis is switched to the STANDSTILL state using the MC _ Power instruction; 4292 -* 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. 4293 - 4294 -**Timing diagram** 4295 - 4296 - 4297 -(% style="text-align:center" %) 4298 -[[image:1761034458765-139.png]] 4299 - 4300 -=== **MC _ TORQUECONTROLPT** === 4301 - 4302 -MC _ TORQUECONTROLPT-Contour torque control command 4303 - 4304 -[[image:1761034544967-630.png]] 4305 - 4306 -**Device used (only a single device can be used, and device splicing and Index are not supported)** 4307 - 4308 -|(% rowspan="2" %)**Instruction**|(% rowspan="2" %)**Parameter**|(% colspan="24" %)**Device**|**Index modification**|**Pulse expansion** 4309 -|**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** 4310 -|(% rowspan="11" %)((( 4311 -MC _ TORQUE 4312 - 4313 -CONTROLPT 4314 -)))|Execute|●|●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4315 -|TORQUE| | | | | | | | | | | | | | | | | | | | | | | | | | 4316 -|TorqueRamp| | | | | | | | | | | | | | | | | | | | | | | | | | 4317 -|MaxVelocity| | | | | | | | | | | | | | | | | | | | | | | | | | 4318 -|Axis| | | | | | | | | | | | | | | | | | | | | | | | | | 4319 -|InTorque| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4320 -|Busy| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4321 -|Active| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4322 -|CommandAborted| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4323 -|Error| |●|●|●|●| | | | | | | | | | | | | | | | | | | | | 4324 -|ErrorID| | | | | | | | | | | | | | | | | | | | | | | | | | 4325 - 4326 -**Notes for using devices** 4327 - 4328 -* LC and HSC are signed 32-bit data types; 4329 -* T, C, D, R and SD are signed 16-bit data types. 4330 - 4331 -**Variable type used** 4332 - 4333 -|**Instruction**|**Pin Type**|**Parameter**|**Variable type**|**Empty or not**|**Range**|**Description** 4334 -|(% rowspan="11" %)MC_ TORQUECONTROLPT|(% rowspan="5" %)Input|Execute|BOOL|No|TRUE/FALSE|Enable 4335 -|Torque|LREAL|No|[-32768,32767]|Target torque (unit is 0.1%) 4336 -|TorqueRamp|LREAL|No|(0,999999999.999999]|Torque slope 4337 -|MaxVelocity|LREAL|No|[0,999999999.999999]|Maximum speed 4338 -|Axis|WORD|No|[0,65535]|Axis number 4339 -|(% rowspan="6" %)Output|InTorque|BOOL|Yes|TRUE/FALSE|Completion flag 4340 -|Busy|BOOL|Yes|TRUE/FALSE|Busy flag 4341 -|Active|BOOL|Yes|TRUE/FALSE|Valid flag 4342 -|CommandAborted|BOOL|Yes|TRUE/FALSE|Abortion flag 4343 -|Error|BOOL|Yes|TRUE/FALSE|Error or not 4344 -|ErrorID|DWORD|Yes|-|Error code (Please refer to ~[[[8.11 Error code comparison table>>path:#错误码对照表]]]) 4345 - 4346 -**Function** 4347 - 4348 -* 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; 4349 -* 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; 4350 -* Profile torque mode needs to be configured with the following PDOs: 4351 - 4352 -0x1600: 0x6087 (optional), 0x6060, 0x6071, 0x607f (optional), 0x6040 4353 - 4354 -0x1A00: 0x6061, 0x6077, 0x6041 4355 - 4356 -**Function description** 4357 - 4358 -* This instruction can only be invoked if the axis is switched to the enabled state using the MC _ Power instruction. Otherwise, report a fault; 4359 -* This instruction uses the driver synchronous torque mode to realize the torque control function; 4360 -* 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; 4361 - 4362 -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; 4363 - 4364 -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. 4365 - 4366 -* Speed control in torque mode 4367 - 4368 -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; 4369 - 4370 -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; 4371 - 4372 -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; 4373 - 4374 -For third-party drives, Velocity can only be used as a speed limit under the following conditions: 4375 - 4376 -The maximum speed of the servomotor can be limited by 0x607F; 4377 - 4378 -0x607F can be configured into the PDO; 4379 - 4380 -The unit of 0x607F is pulse unit, non-speed unit. 4381 - 4382 -* Stop control on torque mode 4383 - 4384 -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. 4385 - 4386 -* Interrupt 4387 - 4388 -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; 4389 - 4390 -CommandAboarted is valid when Execute=ON and Done signal is invalid and is about to hit the limit signal execution needs to perform deceleration; 4391 - 4392 -The axis de-enable CommandAboarted is valid when Execute=ON and the Done signal is invalid. 4393 - 4394 -**Timing diagram** 4395 - 4396 -(% style="text-align:center" %) 4397 -[[image:1761034615747-763.png]] 4398 - 4399 4399 == **SDO instruction** == 4400 4400 4401 4401 ---- ... ... @@ -4907,20 +4907,22 @@ 4907 4907 4908 4908 Features 4909 4909 )))|((( 4910 -The arc path consists of the starting point, auxiliary points, and ending point. 4246 +The arc composed of starting point, auxiliary point and ending point is regarded as the trajectory circle of motion. 4247 + 4248 + 4911 4911 )))|((( 4912 4912 4913 4913 4914 -The ar cpath consistsof thestartingpoint,the center point,and theending point.4252 +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. 4915 4915 4916 4916 4917 4917 4918 4918 )))|((( 4919 - The arcisdeterminedbyitsstartingpoint,ending point,and thenormalvector ofthe planecontaining the circle.4257 +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. 4920 4920 4921 4921 The direction of the vector determines the direction of CW and CCW circles. 4922 4922 4923 -The vectorlengthistheradiusofthearc.4261 +The major arc and minor arc are determined by path choice. 4924 4924 ))) 4925 4925 |((( 4926 4926 ... ... @@ -5170,7 +5170,6 @@ 5170 5170 |0x00400005|MC_ERROR_ID_POSITION_OVER_POSITIVE_LIMIT|Position over positive limit 5171 5171 |0x00400006|MC_ERROR_ID_POSITION_OVER_NEGATIVE_LIMIT|Position over negative limit 5172 5172 |0x00400007|MC_ERROR_ID_POSITION_LAG_OVERLIMIT|Position lag over limit 5173 -|0x00400008|MC_ERROR_ID_TORQUE_OVER_LIMIT|Torque over limit 5174 5174 |(% colspan="3" %)**Error Stop** 5175 5175 |0x00500000|MC_ERROR_ID_AXIS_ERROR_STOP|Axis error stopped 5176 5176 |(% colspan="3" %)**Error from servo** ... ... @@ -5194,25 +5194,6 @@ 5194 5194 |0x00600011|MC_ERROR_ID_SERVO_PARAWRITE|Write Servo parameter error 5195 5195 |0x00600012|MC_ERROR_ID_LOCAL_PULSE_HOME_TIMEOUT|Time out when origin regression 5196 5196 |0x00600013|MC_ERROR_ID_LOCAL_PULSE_HOME_NOT_TOUCH_LIMI|The execution has not encountered the limit 5197 -|0x00600014|((( 5198 -MC_ERROR_ID_LOCAL_PULSE_HOME_VELOCITY_ 5199 - 5200 -OVER_LIMIT 5201 -)))|Pulse shaft HOME Velocity over limit 5202 -|0x00600015|((( 5203 -MC_ERROR_ID_LOCAL_PULSE_HOME_ACC_ 5204 - 5205 -OVER_LIMIT 5206 -)))|Pulse shaft HOME Acceleration over limit 5207 -|0x00600020|((( 5208 -MC_ERROR_ID_MODE_SWITCH_NEEDPDO_ 5209 - 5210 -NOTMAP 5211 -)))|((( 5212 -There is no required PDO for the mode 5213 - 5214 -corresponding to mode switching. 5215 -))) 5216 5216 |0x006000FF|MC_ERROR_ID_SERVO_LOST|Servo lost 5217 5217 |(% colspan="3" %)**Axis’s error** 5218 5218 |0x00700000|MC_ERROR_ID_AXIS_GENERAL_ERROR|Axis's general error
- 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