Changes for page 08 Motion Control

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

From version 5.2
edited by Iris
on 2025/10/22 15:12
Change comment: There is no comment for this version
To version 1.1
edited by Wecon
on 2025/09/03 21:02
Change comment: Imported from XAR

Summary

Details

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