Skip to content

1. Binding Variable Parameter Description

The following instructions add binding variables to the position variable types:

  • P $ INT: When a local integer variable (INT) is assigned a value, the local position P represents the position indicated by that value.
    Usage Example:I001 = 2 P$I001is equivalent toP0002。

  • P $ GINT: When a global integer variable (GINT) is assigned a value, the local position P represents the position indicated by that value.
    Usage Example:GI001 =3 P$GI001is equivalent toP0003。

  • GP $ INT: When a local integer variable (INT) is assigned a value, the global position GP represents the position indicated by that value.
    Usage Example:I001 = 4 GP$I001is equivalent toGP004。

  • GP $ GINT: When a global integer variable (GINT) is assigned a value, the global position GP represents the position indicated by that value.
    Usage Example:GI001 = 5 GP$GI001is equivalent toGP0005。

  • E $ INT: When a local integer variable (INT) is assigned a value, the local position E represents the position indicated by that value.
    Usage Example:I001 = 6 E$I001is equivalent toE0006。

  • E $ GINT: When a global integer variable (GINT) is assigned a value, the local position E represents the position indicated by that value.
    Usage Example:I001 = 7 E$GI001is equivalent toE0007。

  • GE $ INT: When a local integer variable (INT) is assigned a value, the global position GE represents the position indicated by that value.
    Usage Example:I001 = 8 GE$I001is equivalent toGE0008。

  • GE $ GINT: When a global integer variable (GINT) is assigned a value, the global position GE represents the position indicated by that value.
    Usage Example:GI001 = 9 GE$GI001is equivalent toGE0009。


2. Motion Control Instructions

> 2.1 MOVJ - Point to Point

Function: Moves to the target point using joint interpolation. Used in sections where trajectory constraints do not apply when the robot moves to the target point. The robot operates at maximum speed in space.

Parameter Description:

ParameterDescription
P/GPUse local position variable (P) or global position variable (GP). When the value is "New", inserting this instruction creates a new P variable and records the robot's current position to that P variable.
VJJoint interpolation speed, range 1-100, unit is percentage. Actual motion speed is the maximum axis speed in robot joint parameters multiplied by this percentage.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set equal to VJ value.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set equal to VJ value.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of a point-to-point instruction, acceleration and deceleration will automatically display at a 1:1 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVJ P0001 VJ = 10 % PL = 1 ACC = 10 DEC = 10 0

MOVJ GP0002 VJ = 10 % PL = 0 ACC = 7 DEC = 11 0


> 2.2 MOVL - Linear

Function: Moves to the target point using linear interpolation. During the robot's movement to the target point, the trajectory of the robot end-effector is a straight line.

Parameter Description:

ParameterDescription
P/GPUse local position variable (P) or global position variable (GP). When the value is "New", inserting this instruction creates a new P variable and records the robot's current position to that P variable.
VMotion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of a linear instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVL P0003 V = 200 mm/s PL = 2 ACC = 20 DEC = 20 0


> 2.3 MOVC - Arc

Note: Motion instructions containing arcs and full circles cannot be used independently. Their speed, PL, and other parameters are all affected by the first arc/full circle instruction.

Function: The robot draws a circle by moving through 3 taught points using arc interpolation. If robot axes are taught with arc interpolation, the motion command is MOVC(Note: a complete arc curve requires one MOVJ or MOVL instruction plus two MOVC instructions). The starting point of a single arc and the first arc of a continuous arc can only be MOVJ or MOVL.

Single Arc When there is only one arc, teach 3 points P0001-P0003 using arc interpolation. If P0001 before the arc is taught using joint or linear interpolation, the trajectory from P0001 to P0002 automatically becomes a straight line.

Continuous Arc When there are 2 or more consecutive arcs with changing curvature, the arcs will ultimately separate. Therefore, insert a joint or linear interpolation point at the connection point between arcs.

Parameter Description:

ParameterDescription
P/GPUse local position variable (P) or global position variable (GP). When the value is "New", inserting this instruction creates a new P variable and records the robot's current position to that P variable.
VMotion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of an arc instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVJ P0001 VJ = 10 % PL = 0 ACC = 1 DEC = 1 0

MOVC P0002 V = 100 mm/s PL = 0 ACC = 10 DEC = 10 0

MOVC P0003 V = 100mm/s PL = 0 ACC = 5 DEC = 8 0


> 2.4 MOVCA - Full Circle

Function: By teaching the starting point of the circle (MOVJ or MOVL) and two passing points (MOVCA), the robot draws a complete circle.

Instruction insertion prerequisite: Click the "Tool" button in the upper status bar and select the previously calibrated tool hand.

Insertion Steps - Four Instructions Total:

  1. Click Insert, click Coordinate Switch category, select SWITCHTOOL instruction, select the previously calibrated tool hand number.
  2. Move to any point on the desired circle as shown P1, click Insert, click Motion Control category, select MOVJ or MOVL.
  3. Move to another point on the desired circle as shown P2 (different from step 2), click "Coordinate System" button in upper status bar, select "Tool" coordinate system, click Insert, click Motion Control category, select MOVCA.
  4. Move to another point on the desired circle as shown P3 (different from steps 2 and 3), click "Coordinate System" button in upper status bar, select "Tool" coordinate system, click Insert, click Motion Control category, select MOVCA.

Parameter Description:

ParameterDescription
P/GPUse local position variable (P) or global position variable (G). When the value is "New", inserting this instruction creates a new P variable and records the robot's current position to that P variable.
VMotion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.
SPINOrientation unchanged: full circle runs with the same orientation as calibrated P001, completing the circle trajectory with this orientation.
Six-axis fixed: full circle runs according to calibrated orientation, while six-axis remains stationary.
Six-axis rotating: full circle runs according to calibrated state, while six-axis rotates 360 degrees during operation.

Note: When modifying the speed of an arc instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVJ P0001 VJ = 10 % PL = 0 ACC = 10 DEC = 10 SPIN=1 0

MOVCA P0002 V = 100 mm/s PL = 0 ACC = 10 DEC = 10 SPIN=1 0

MOVCA P0003 V = 100mm/s PL = 0 ACC = 10 DEC = 10 SPIN=1 0


> 2.5 MOVS - Curve Interpolation

Function: In operations such as welding, cutting, fusion, and priming, using free curve interpolation makes it easier to teach irregular curve workpieces. The trajectory is a spline curve passing through 4 points. If robot axes are taught with free curve interpolation, the motion command is MOVS.

Single MOVS Teach 4 points P1-P4 to form a spline curve. P0 - Joint/Linear (first motion instruction in program cannot be MOVS). P1-P4 - Curve interpolation. P5 - Joint/Linear.

Continuous MOVS A spline curve composed of more than 4 points. P1-P5 form one spline curve. P0 - Joint/Linear. P1-P5 - Curve interpolation. P6 - Joint/Linear.

Note: A curve requires a minimum of four curve points.

Parameter Description:

ParameterDescription
P/GUse local position variable (P) or global position variable (G). When the value is "New", inserting this instruction creates a new P variable and records the robot's current position to that P variable.
VMotion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of an arc instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVJ P0001 VJ = 10 % PL = 0 ACC = 10 DEC = 10 0

MOVS P0002 V = 100 mm/s PL = 0 ACC = 10 DEC = 10 0

MOVS P0003 V = 100mm/s PL = 0 ACC = 10 DEC = 10 0

MOVS P0004 V = 100 mm/s PL = 0 ACC = 10 DEC = 10 0

MOVS P0005 V = 100mm/s PL = 0 ACC = 10 DEC = 10 0


> 2.6 IMOV - Incremental

Function: Moves from the current position by the set incremental distance using joint or linear interpolation.

Parameter Description:

ParameterDescription
RPIncremental variable, can select from joint, Cartesian, tool, or user coordinate systems. Positive values for forward direction, negative for reverse. Fill 0 if no movement.
V/VJWhen RP is in joint coordinate system, this is VJ, Joint interpolation speed, range 1-100, unit is percentage. Actual motion speed is the maximum axis speed in robot joint parameters multiplied by this percentage.当RP为直角、工具、用户Coordinate system下的值when,该处为V,Motion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10% or VJ.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10% or VJ.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of an arc instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

IMOV RP0001 V=10mm/s BF PL=0 ACC=0 DEC=0


> 2.7 MOVJEXT - External Axis Point to Point

Function: The robot moves to the taught position using joint interpolation, while the external axis moves using joint interpolation.

Parameter Description:

ParameterDescription
EVariable that simultaneously records robot and external axis position data. When the value is "New", inserting this instruction creates a new E variable and records the current positions of the robot and external axis to that E variable.
VJJoint interpolation speed, range 1-100, unit is percentage. Actual motion speed is the maximum axis speed in robot joint parameters multiplied by this percentage.External Axisspeed changes with robot speed。
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set equal to VJ value.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set equal to VJ value.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of an external axis point-to-point instruction, acceleration and deceleration will automatically display at a 1:1 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVJEXT E0001 VJ = 10 % PL = 0 ACC= 10 DEC = 10 0


> 2.8 MOVLEXT - External Axis Linear

Function: The robot moves to the taught position using linear interpolation, while the external axis moves using joint interpolation.

Parameter Description:

ParameterDescription
EVariable that simultaneously records robot and external axis position data. When the value is "New", inserting this instruction creates a new E variable and records the current positions of the robot and external axis to that E variable.
VRobot motion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.External Axisspeed changes with robot speed。
PLSmooth transition level, range 0-5.
SYNCWhether robot and external axis move synchronously. When Yes, robot and external axis cooperate for linear motion. When No, robot moves linearly in space while external axis moves independently.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.

Note: When modifying the speed of an external axis linear instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVLEXT E0002 V = 10 mm/s PL = 0 ACC = 1 DEC = 1 SYNC = 0 0


> 2.9 MOVCEXT - External Axis Arc

Function: The robot moves to the taught position using arc interpolation, while the external axis moves using joint interpolation.

Parameter Description:

ParameterDescription
EVariable that simultaneously records robot and external axis position data. When the value is "New", inserting this instruction creates a new E variable and records the current positions of the robot and external axis to that E variable.
VRobot motion speed, range 2-2000, unit is mm/s. External axis speed changes with robot speed.
PLSmooth transition level, range 0-5.
SYNCWhether robot and external axis move synchronously. When Yes, robot and external axis cooperate for arc motion. When No, robot moves in arc in space while external axis moves independently.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of an external axis arc instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVLEXT E0002 V = 10 mm/s PL = 0 ACC = 1 DEC = 1 SYNC = 1 0

MOVCEXT E0003 V = 10 mm/s PL = 0 ACC = 1 DEC = 1 SYNC = 1 0

MOVCEXT E0004 V = 10 mm/s PL = 0 ACC = 1 DEC = 1 SYNC = 1 0


> 2.10 SPEED - Global Speed

Function: The motion speed of all motion instructions below SPEED is: instruction speed * status bar speed * SPEED percentage.

Parameter Description: Global speed (%): speed percentage: 1-200.

Usage Examples:

SPEED = 9 %


> 2.11 SAMOV - Absolute Position Move

Function: The robot moves to a set absolute position using joint interpolation. If you do not want to move a certain axis, leave the coordinate blank (do not fill 0!).

Parameter Description:

ParameterDescription
APAbsolute position, can select from joint, Cartesian, tool, or user coordinate systems. If corresponding axis is not filled, that axis will not move.
V/VJWhen AP is in joint coordinate system, this is VJ, Joint interpolation speed, range 1-100, unit is percentage. Actual motion speed is the maximum axis speed in robot joint parameters multiplied by this percentage.当AP为直角、工具、用户Coordinate system下的值when,该处为V,Motion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10% or equal to VJ.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10% or equal to VJ.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of an absolute position move instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

SAMOV AP0001 VJ= 10 % PL= 2 ACC= 10 DEC= 10


> 2.12 MOVJDOUBLE - Dual Robot Point to Point

Function: When configured for two robots, both robots simultaneously move to the target position using joint interpolation, starting and stopping together.

Parameter Description:

ParameterDescription
EVariable that simultaneously records position data of both robots. When the value is "New", inserting this instruction creates a new E variable and records the current positions of both robots to that E variable.
VJJoint interpolation speed, range 1-100, unit is percentage. Actual motion speed is the maximum axis speed in robot joint parameters multiplied by this percentage.Speed is synchronized between both robots
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set equal to VJ value.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set equal to VJ value.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of a dual robot point-to-point instruction, acceleration and deceleration will automatically display at a 1:1 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVJDOUBLE E0001 VJ = 10 % PL = 0 ACC= 10 DEC = 10 0


> 2.13 MOVLDOUBLE - Dual Robot Linear

Function: When configured for two robots, both robots simultaneously move to the target position using linear interpolation. Starting and stopping together.

Parameter Description:

ParameterDescription
EVariable that simultaneously records position data of both robots. When the value is "New", inserting this instruction creates a new E variable and records the current positions of both robots to that E variable.
VRobot motion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.Speed is synchronized between both robots。
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of a dual robot linear instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVLDOUBLE E0001 V = 100 mm/s PL = 0 ACC= 10 DEC = 10 0


> 2.14 MOVCDOUBLE - Dual Robot Arc

Function: When configured for two robots, both robots simultaneously move to the target position using arc interpolation. Starting and stopping together.

Parameter Description:

ParameterDescription
EVariable that simultaneously records position data of both robots. When the value is "New", inserting this instruction creates a new E variable and records the current positions of both robots to that E variable.
VRobot motion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.Speed is synchronized between both robots。
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of a dual robot arc instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVLDOUBLE E0001 VJ = 10 % PL = 0 ACC= 10 DEC = 10 0

MOVCDOUBLE E0002 V = 100 mm/s PL = 0 ACC= 10 DEC = 10 0

MOVCDOUBLE E0003 V = 100mm/s PL = 0 ACC= 10 DEC = 10 0


> 2.15 MOVCADOUBLE - Dual Robot Full Circle

Function: When configured for two robots, both robots simultaneously move to the target position using full circle interpolation. Starting and stopping together.

Parameter Description:

ParameterDescription
EVariable that simultaneously records position data of both robots. When the value is "New", inserting this instruction creates a new E variable and records the current positions of both robots to that E variable.
VRobot motion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.Speed is synchronized between both robots。
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10%.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Note: When modifying the speed of a dual robot full circle instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration or deceleration, do so manually.

Usage Examples:

MOVLDOUBLE E0001 VJ = 10 % PL = 0 ACC= 10 DEC = 10 0

MOVCADOUBLE E0002 V = 100 mm/s PL = 0 ACC= 10 DEC = 10 0

MOVCADOUBLE E0003 V = 100 mm/s PL = 0 ACC= 10 DEC = 10 0


> 2.16 MOVCOMM - External Point

Function: Moves to the point sent by external devices via Modbus or TCP to the controller using the specified interpolation method.

Parameter Description:

ParameterDescription
Interpolation methodInterpolation method used to move to the target point, including joint, linear, and curve.
V/VJWhen B is in joint coordinate system, this is VJ, Joint interpolation speed, range 1-100, unit is percentage. Actual motion speed is the maximum axis speed in robot joint parameters multiplied by this percentage.当B为直角、工具、用户Coordinate system下的值when,该处为V,Motion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10% or equal to VJ.
DECDeceleration ratio, range 1-100, unit is percentage. Recommended to set to V*10% or equal to VJ.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.

Usage Examples:

MOVCOMM MOVL VJ= 10 mm/s PL = 0 ACC = 1 DEC = 1 0


> 2.17 EXTMOV - External Axis Following

Function: Instruction for the external axis to follow the robot at a speed that is a multiple of the robot's linear speed or at a constant speed.

Parameter Description:

ParameterDescription
External AxisSelect an axis from O1-O5 for following.
TypeFollowing type: speed changes with robot's real-time linear speed.
• K:External Axis速度(°/s)=K*线速度(mm/s)。
Constant speed type: runs at a constant speed.
• Speed value source: can select INT/DOUBLE/GINT/GDOUBLE/manual input.
• Variable name:速度值来源为INT/DOUBLE/GINT/GDOUBLEwhen,用于选择哪个变量。
• Manual value:速度值来源为手填when,用于输入恒定运行的速度值。

Usage Examples:

EXTMOV O1 FOLLOW 22.22


> 2.18 GEARIN - Electronic Gear

Function: Instruction to make an external axis move together with a robot axis.

Parameter Description:

ParameterDescription
Main axisSelect from robot axes J1~J6
External AxisSelect an axis from O1-O5 for following
Ratio KFollowing axis speed (°/s) = K * main axis speed (°/s)

Usage Examples:

GEARIN J1 O1 22.22


> 2.19 MRESET - Reset External Axis Multi-turn Rotation

Function: Based on the max/min limits set for external axis rotation, when rotation exceeds limits, this instruction resets the external axis coordinate to allow continued rotation, preventing limit exceeded errors.

Parameter Description: MRESET: can select all axes or a single axis

Usage Examples:

MRESET 0


> 2.20 DRAG_TRAJECTORY - Drag Teaching

Function: The robot runs according to a previously recorded trajectory.

Parameter Description:

ParameterDescription
Trajectory nameName of the robot trajectory
Playback rateMotion speed (0~500%)

Usage Examples:

DRAG_TRAJECTORY Track1 20%


> 2.21 SWITHCPAYLOAD - Switch Payload Parameters

Function: During actual operation, actual payload matches payload parameters. Switch payload number instruction switches payload parameters. Affects collision detection and torque feedforward.

Parameter Description: Payload number: can fill tool number or use binding variable function.

Usage Examples:

SWITHCPAYLOAD 1


> 2.22 MOVARCH - Arch Motion

Function: Allows the robot to move in an arch trajectory.

Parameter Description:

ParameterDescription
P/GUse local position variable (P) or global position variable (G). When the value is "New", inserting this instruction creates a new P variable and records the robot's current position to that P variable.
VMotion speed, range 1-1000 (default Cartesian parameter maximum speed is 1000, range varies based on actual Cartesian parameters), unit is mm/s.
PLSmooth transition level, range 0-5.
ACCAcceleration ratio, range 1-100, unit is percentage.
DECDeceleration ratio, range 1-100, unit is percentage.
Displacement axis(X,Y,Z) Axis for displacement during arch motion. Standard arch motion displaces in Z-axis direction.
Displacement distanceDistance to displace on the displacement axis. Standard arch motion displaces 25mm on Z-axis.
Linear distanceDistance to maintain vertical motion at rising and falling ends of the arch.
TIMETime, range is non-negative integer, unit is ms. Executes the next instruction ahead of time.
View trajectory diagramCan view the arch motion trajectory diagram.

Note: When modifying the speed of a point-to-point instruction, acceleration and deceleration will automatically display at a 1:10 ratio with the speed. To modify acceleration and deceleration, do so manually.

Usage Examples:

MOVARCH P001 V=10 PL=0 ACC=10 DEC=10 X 10 0

MOVARCH GP001 V=10 PL=0 ACC=10 DEC=10 X 10 0


3. Input/Output Instructions

> 3.1 DIN - IO Input

Function: Reads digital input values from the IO board and stores them in an integer or boolean variable.

Parameter Description:

ParameterDescription
Port value stored inStores input value in the target variable's name and type.
Input IO boardIf there are multiple EtherCAT IO boards, can select which one.
Input group number (input channels)Input is read by groups: 1 channel, 4 channels, or 8 channels per group.For 1 channel per group, 16 DIN ports form 16 groups; for 4 channels per group, 1-4, 5-8, 9-12, 13-16 each form a group; for 8 channels per group, 1-8, 9-16 each form a group. Group number can be selected using binding variable function. Data is converted from binary to decimal.
Example: For 8 channels per group, if ports 1-8 have values 10110101, starting from port 8 it becomes 10101101. Converting to decimal gives 173, stored in variable as 173.

Usage Examples:

DIN I001 IN#(5)


> 3.2 DOUT - IO Output

Function: Sets the corresponding IO port on the IO board high or low.

Parameter Description:

ParameterDescription
Output IO boardIf there are multiple EtherCAT IO boards, can select which one.
Output group number (output channels)Output is by groups: 1 channel, 4 channels, or 8 channels per group.For 1 channel per group, 16 DOUT ports form 16 groups; for 4 channels per group, 1-4, 5-8, 9-12, 13-16 each form a group; for 8 channels per group, 1-8, 9-16 each form a group.
Output value (variable source)Divided into manual selection and variable type. Manual selection means checking boxes below, selected outputs 1, unselected outputs 0.例:当输出组号为4路输出,第2组when,下面的选择框中端口1、端口3选中,其它两个留空,那么运行该指令when,IO板的输出端口中5-8号端口的输出值为1010。当变量来源选择INT、GINT、BOOL、GBOOLwhen,会将correspondingVariable value转换为2进制,输出到IO板上。
例:若Variable value为173,则其转换为二进制则为10101101。若8路一组,将二进制值从8号端口开始输出,那么8-1号端口值为10101101,1-8号端口的值为10110101。
Variable nameWhen variable source selects INT, GINT, BOOL, GBOOL, select the variable name to output here.
when间Invert output time, output inverts after specified time. For example, if DOUT1=1 and time is 2, DOUT1 outputs high for 2 seconds then inverts to low; if time is 0, continuously outputs high.
Error stop handlingKeep output: IO continues outputting according to instruction parameters when error occurs. Timer end stop: stops when timer ends

Usage Examples:

DOUT OT#(1) I001 0


> 3.3 AIN - Analog Input

Function: Reads the input value of the corresponding analog input port into the target variable.

Parameter Description:

ParameterDescription
Analog input portThe analog input port to read.
Variable value sourceThe variable type of the target variable.
Variable nameVariable name of the target variable.

Usage Examples:

AIN D001 B001


> 3.4 AOUT - Analog Output

Function: Sets the output value of the corresponding analog output port to the defined value.

Parameter Description:

ParameterDescription
Analog output portThe port to output.
Variable value sourceThe variable type of the value to output.
New parameterWhen variable value selects custom, enter manual data here, range 0-10V, the corresponding port will output this value.
Variable nameVariable name of the variable to output.

Usage Examples:

AOUT AOUT1 1.1


> 3.5 PULSEOUT - Pulse Output

Function: Outputs on pin 4 (PWM+) of the DB9 terminal on the R1 PWMIO board according to the set pulse frequency and count.

Parameter Description:

ParameterDescription
Count脉冲Count。
Frequency脉冲Frequency。

Usage Examples:

PULSEOUT RATE = 100 SUM = 100


> 3.6 READ_DOUT - Read Output

Function: Reads the output status of the digital output port and stores it in the target variable.

Parameter Description:

ParameterDescription
Output IO boardIf there are multiple EtherCAT IO boards, can select which one.
Variable typeVariable type of the target variable to store.
Variable name要存入的Variable name of the target variable.
Output group number (output channels)Output port values are read by groups: 1 channel, 4 channels, or 8 channels per group.For 1 channel per group, 16 DOUT ports form 16 groups; for 4 channels per group, 1-4, 5-8, 9-12, 13-16 each form a group; for 8 channels per group, 1-8, 9-16 each form a group.
Example: For 8 channels per group, if ports 1-8 have values 10110101, starting from port 8 it becomes 10101101. Converting to decimal gives 173, stored in variable as 173.

Usage Examples:

READ_DOUT I001 OT#(1)


4. Timer Instructions

> 4.1 TIMER - Delay

Function: Delays for the set value, then continues running.

Parameter Description: Variable value source:可以在New parameterManual value。也可以再More选项中选择绑定的变量,会延whenVariable valuecorresponding的when间长度。

Usage Examples:

TIMER T= 10


5. Arithmetic Instructions

> 5.1 ADD - Addition

Function: Addition operation (+), A=A+B.

Parameter Description:

ParameterDescription
VariableVariable type of addend A, can be manually entered or selected from more types.
Variable valueVariable type of addend B, can be manually entered or selected from more types.

Usage Examples:

ADD GI001 22;Meaning:GI001=GI001+22

ADD GI002 I003;Meaning:GI002=GI002+I003


> 5.2 SUB - Subtraction

Function: Subtraction operation (-), A=A-B.

Parameter Description:

ParameterDescription
VariableVariable type of minuend A, can be manually entered or selected from more types.
Variable valueVariable type of subtrahend B, can be manually entered or selected from more types.

Usage Examples:

SUB GI001 22;Meaning:GI001=GI001-22

SUB GI002 I003;Meaning:GI002=GI002-I003


> 5.3 MUL - Multiplication

Function: Multiplication operation (), A=AB.

Parameter Description:

ParameterDescription
VariableMultiplicandA的Variable type,可以手填可以选择More中的Variable type。
Variable valueMultiplierB的Variable type,可以手填可以选择More中的Variable type。
New parameter当Variable value source选择自定义when,本输入框有效,所填值为B的值。
Source parameter当Variable value source选择变量when,这里为B的Variable name。

Usage Examples:

MUL GI001 22;Meaning:GI001=GI001*22

MUL GI002 I003;Meaning:GI002=GI002*I003


> 5.4 DIV - Division

Function: Division operation (÷), A=A÷B.

Parameter Description:

ParameterDescription
VariableDividendA的Variable type,可以手填可以选择More中的Variable type。
Variable valueDivisorB的Variable type,可以手填可以选择More中的Variable type。

Usage Examples:

DIV GI001 22;(Meaning:GI001=GI001÷22)

DIV GI002 I003;(Meaning:GI002=GI002÷I003)


> 5.5 MOD - Modulo

Function: Modulo operation (Mod), A=A Mod B.

Parameter Description:

ParameterDescription
VariableDividendA的Variable type,可以手填可以选择More中的Variable type。
Variable value sourceDivisorB的Variable type,可以手填可以选择More中的Variable type。

Usage Examples:

MOD GI001 22; (Meaning:GI001=GI001 Mod 22)

MOD GI002 I003;(Meaning:GI002=GI002 Mod I003)


> 5.6 SIN - Sine

Function: Sine operation (sin), A=sin(B), B is in radians.

Parameter Description:

ParameterDescription
VariableResultA的Variable type,可以手填可以选择More中的Variable type。
Variable valueSine radian valueB的Variable type,可以手填可以选择More中的Variable type。

Usage Examples:

SIN GI001 22; (Meaning:GI001=sin(22))

SIN GI002 I003;(Meaning:GI002=sin(I003))


> 5.7 COS - Cosine

Function: Cosine operation (cos), A=cos(B), B is in radians.

Parameter Description:

ParameterDescription
VariableResultA的Variable type,可以手填可以选择More中的Variable type。
Variable valueCosine radian valueB的Variable type,可以手填可以选择More中的Variable type。

Usage Examples:

COS GI001 22; (Meaning:GI001=cos(22))

COS GI002 I003;(Meaning:GI002=cos(I003))


> 5.8 ATAN - Arctangent

Function: Arctangent operation (arctan), A=arctan(B), B is in radians.

Parameter Description:

ParameterDescription
VariableResultA的Variable type,可以手填可以选择More中的Variable type。
Variable valueArctangent radian valueB的Variable type,可以手填可以选择More中的Variable type。

Usage Examples:

ATAN GI001 22;Meaning:GI001=arctan(22)

ATAN GI002 I003;Meaning:GI002=arctan(I003)


> 5.9 LOGICAL_OP - Logical Operation

Function: Logical operation (AND, OR, NOT), B001=I001 AND I002.

Parameter Description:

ParameterDescription
Parameter 1 type参与运算的参数1的Variable type。
Parameter 1 name参与运算的参数1的Variable name。
Operation typeLogical AND(&&),Logical OR(
Parameter 2 type参与运算的参数2的Variable type。
Parameter 2 name参与运算的参数2的Variable name。
结果存入Variable type运算结果存入的Variable type。
结果存入Variable name运算结果存入的Variable name

Usage Examples:

LOGICAL_OP B001 = I001 AND 10;(Meaning:变量I001、常数10Logical AND运算结果存入B001)


6. Conditional Control Instructions

Note: When conditional control needs to compare strings, the actual comparison is based on the ASCII code values of the characters.


> 6.1 CALL - Call Subroutine

Function: Calls another program. After the called program finishes, it returns to the next line of the CALL instruction and continues running.

Parameter Description:

ParameterDescription
CALLName of the program to be called.

Usage Examples:

CALL [Program]:(Meaning:Call program Program)


> 6.2 CALL_LUAFILE - Call Lua File

Function: Calls a Lua file uploaded from upgrade.

Parameter Description:

ParameterDescription
CALL_LUAFILEName of the Lua file to call.
传入参数CountNumber of input parameters for the Lua file.
Input parameter selectionSelect the number and values of required input parameters (quantity should match the actual Lua file).
输出参数CountNumber of output parameters for the Lua file.
Output parameter selectionSelect the number and values of required output parameters (quantity can be less than the actual Lua file).

Usage Examples:

CALL_LUAFILE [$demo.lua$] IN (1.0,2.0,3.0,) OUT (2.0,2.0)

That is, calls Lua file demo.lua, passes 3 values 1,2,3 to demo, and demo outputs 2 values both equal to 2.


> 6.3 IF - If

Function: When the IF instruction's condition is met, the instructions between IF and ENDIF are executed. When the condition is not met, it jumps directly to ENDIF and continues running the instructions below ENDIF, without running the instructions between IF and ENDIF.

IF的Condition为(比较数1Comparison method 比较数2),例如比较数1为2,比较数2为1,Comparison method为">",则2>1,Condition成立;若Comparison method为"<"或"==",则Condition不成立。

IF instruction can be used alone or with ELSEIF and ELSE instructions. Note: ELSEIF and ELSE instructions cannot be used independently without IF!

注意,当程序的开头为IF且最after一行为ENDIF指令when,Insert a 0.1-second TIMER (delay) instruction above IF or below ENDIF, otherwise when IF condition is not met, the program will freeze.

插入IF指令when会同when插入ENDIF指令,当删除IF指令when请注意将corresponding的ENDIF指令也删掉,否则会导致程序无法执行。

IF can nest another IF or other conditional instructions such as WHILE, JUMP。

IF now supports multi-condition evaluation in sequence. Parentheses are evaluated first, then expressions outside. Maximum 5 conditions supported.

Parameter Description:

ParameterDescription
Parameter typeType of comparand 1: variable, number, or analog input value.
Parameter name若Parameter type选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name
若Parameter type选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号
Comparison method== 等于
< 小于
> 大于
<= 小于或等于
>= 大于或等于
!= 不等于
Variable value source比较数2的类型,自定义或变量或数字、模拟量的输入值。
New parameter若Variable value source选择的类型为自定义,则此处不可选
若Variable value source选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name
若Variable value source选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号
Source parameter若Variable value source处选择的为自定义,则在此处直接填写比较数2的值。

Usage Examples:

IF (GI001>=D001)

Other instructions, such as MOVJ.

ENDIF


> 6.4 ELSEIF - Else If

Function: ELSEIF指令必须插入在IF和ENDIFbetween,ELSEIF与ENDIFbetween还可以插入一条ELSE指令或多条ELSEIF指令。

当IF的condition is metwhen,会忽略掉ELSEIF和ELSEIF与ENDIFbetween的指令,仅运行IF与ELSEIFbetween的指令,然after跳转到ENDIF下面的一行指令继续运行。

当IF的condition is not metwhen,会跳转到ELSEIF指令,判断ELSEIF的Condition,若满足,则运行ELSEIF和ENDIFbetween的指令,然after继续运行ENDIF下面的指令;若不满足,则直接跳转到ENDIF下面的一行指令继续运行。

若在IF与ENDIF中嵌套了多条ELSEIF,当IF的Condition不成立when首先判断第一条ELSEIF的Condition,若成立则运行第一条ELSEIF与第二条ELSEIFbetween的指令;若不成立则判断第二条ELSEIF的Condition,以此类推。

注意,当删除IF指令when,需删除与其corresponding的ELSEIF和ENDIF指令,否则会导致程序无法运行。

ELSEIF now supports multi-condition evaluation in sequence. Parentheses are evaluated first, then expressions outside. Maximum 5 conditions supported.

Parameter Description:

ParameterDescription
Parameter typeType of comparand 1: variable, number, or analog input value.
Parameter name若Parameter type选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name。
若Parameter type选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号。
Comparison method== 等于
< 小于
> 大于
<= 小于或等于
>= 大于或等于
!= 不等于
Variable value source比较数2的类型,自定义或变量或数字、模拟量的输入值。
New parameter若Variable value source选择的类型为自定义,则此处不可选
若Variable value source选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name
若Variable value source选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号
Source parameter若Variable value source处选择的为自定义,则在此处直接填写比较数2的值。

Usage Examples:

IF (GI001>=D001)

Other instructions 1, such as MOVJ

ELSEIF (D001<9)

Other instructions 2, such as MOVJ

ENDIF


> 6.5 ELSE - Else

Function: ELSE instruction must be inserted between IF and ENDIF, but only one ELSE instruction per IF.

当IF的Condition成立when,会运行IF与ELSEbetween的指令after跳转到ENDIF的下一行指令继续运行,而不运行ELSE和ENDIFbetween的指令。

当IF的Condition不成立when,会跳转到ELSE与ENDIFbetween的指令运行,而不运行IF与ELSEbetween的指令。

注意,当删除IF指令when,需删除与其corresponding的ELSE和ENDIF指令,否则会导致程序无法运行。

Parameter Description: N/A.

Usage Examples:

IF (GI001<9)

Other instructions 1, such as MOVJ

ELSE

Other instructions 2, such as MOVJ

ENDIF


> 6.6 WAIT - Wait

Function: WAIT即等待,可以选择是否有等待when间。当没有勾选"TIME"选项,则在Condition不成立when一直停留在该WAIT指令等待,直到Condition成立。若勾选了"TIME"选项,则会在等待该参数的when长after不再等,继续运行下一条指令。若在等待whencondition becomes met,则立刻运行下一条指令。

WAIT now supports multi-condition evaluation in sequence. Parentheses are evaluated first, then expressions outside. Maximum 5 conditions supported.

Parameter Description:

ParameterDescription
Parameter typeType of comparand 1: variable, number, or analog input value.
Parameter name若Parameter type选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name。
若Parameter type选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号。
Comparison method== 等于
< 小于
> 大于
<= 小于或等于
>= 大于或等于
!= 不等于
Variable value source比较数2的类型,自定义或变量或数字、模拟量的输入值。
New parameter若Variable value source选择的类型为自定义,则此处不可选。
若Variable value source选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name。
若Variable value source选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号。
Source parameter若Variable value source处选择的为自定义,则在此处直接填写比较数2的值。
TIME可选项,不选则永远等待直到条件成立。
选择则可填写等待when间(秒),等待到该when长after,即使条件依然不成立,依然会跳转到下一行继续运行。
PL continuous是指机器人的轨迹曲线的平滑是否会被打断。
连续:在condition is metafter,机器人运行曲线较为平滑。
不连续:在condition is metafter,机器人的轨迹平滑被打断。
滤波when间可选项,不选则无作用。
选择则为输入信号满足when间,当输入信号when长满足滤波when间when(无需等待TIME),跳转到下一行继续运行,不满足滤波when间when,则等待TIMEwhen间之after跳转到下一行继续运行。

Usage Examples:

WAIT (GI001==2) T = 2 F = 1


> 6.7 WHILE - Loop

Function: 当WHILE指令的condition is metwhen,会循环运行WHILE与ENDWHILE两条指令between的指令。在运行到WHILE指令之before若Condition不满足,在运行到WHILE指令when会直接跳转到ENDWHILE指令而不运行WHILE与ENDWHILEbetween的指令;若在运行WHILE与ENDWHILEbetween的指令过程中,Condition变成不满足,会继续运行,直到运行到ENDWHILE行,不再循环而是继续运行ENDWHILE下面的指令。

WHILE的Condition为(比较数1Comparison method 比较数2),例如比较数1为2,比较数2为1,Comparison method为">",则2>1,Condition成立;若Comparison method为"<"或"==",则Condition不成立。

注意,插入WHILE指令的同when会同when插入ENDWHILE指令。若要删除WHILE指令请同when删掉其corresponding的ENDWHILE指令,否则会导致程序无法运行。

当程序的开头为WHILE且最after一样指令为ENDWHILEwhen,请在程序的开头或结尾插入一条0.3秒的TIMER(延when)指令。否则当WHILE指令的condition is not metwhen会导致程序陷入死机。

当WHILEwithin部的指令没有运动类指令或在某种情况下可能会陷入死循环when,请在WHILE与ENDWHILE间插入一条0.3秒的TIMER(延when)指令,否则当WHILE指令的condition is metwhen可能会导致程序陷入死机。

WHILE指令可以同when嵌套多个WHILE、IF或JUMP等其它判断类指令使用。

WHILE now supports multi-condition evaluation in sequence. Parentheses are evaluated first, then expressions outside. Maximum 5 conditions supported.

Parameter Description:

ParameterDescription
Parameter typeType of comparand 1: variable, number, or analog input value.
Parameter name若Parameter type选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name
若Parameter type选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号
Comparison method== 等于
< 小于
> 大于
<= 小于或等于
>= 大于或等于
!= 不等于
Variable value source比较数2的类型,自定义或变量或数字、模拟量的输入值。
New parameter若Variable value source选择的类型为自定义,则此处不可选
若Variable value source选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name
若Variable value source选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号
Source parameter若Variable value source处选择的为自定义,则在此处直接填写比较数2的值。

Usage Examples:

WHILE (GI001<2)

Other instructions1,MOVJ等

WHILE (D001<10)

Other instructions2,MOVJ等

ADD D001 1

ENDWHILE

Other instructions 3

ADD GI001 1

ENDWHILE


> 6.8 LABEL - Label

Function: Target label for JUMP instruction。

Parameter Description:

ParameterDescription
Label nameLabel name, must start with a letter。

Usage Examples:

LABEL *A1


> 6.9 JUMP - Jump

Function: JUMP is used for jumping, must be used with LABEL。

  • JUMP可以设置有无Condition。当设置为没有Conditionwhen,运行到该指令会直接跳转到corresponding的LABEL指令after继续运行LABEL下一行指令。
  • 当设置为有Conditionwhen,若condition is met则跳转到LABEL指令行;若condition is not met则忽略JUMP指令,继续运行JUMP指令的下一行指令。
  • LABEL can be inserted above or below JUMP, but cannot jump across programs。
  • LABELLabel name必须为字母开头的两位above字符。
  • Inserting LABEL does not affect execution, but must follow rules. Cannot be above MOVC or local variable definition。
  • JUMP now supports multi-condition evaluation in sequence. Parentheses are evaluated first, then expressions outside. Maximum 5 conditions supported.

Parameter Description:

ParameterDescription
Label name已插入LABEL指令的Label name,选项。
Condition选项,若选中则可以设置Condition。
若不选中则运行到JUMPafter直接跳转。
Parameter typeType of comparand 1: variable, number, or analog input value.
Parameter name若Parameter type选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name
若Parameter type选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号
Comparison method== 等于
< 小于
> 大于
<= 小于或等于
>= 大于或等于
!= 不等于
Variable value source比较数2的类型,自定义或变量或数字、模拟量的输入值。
New parameter若Variable value source选择的类型为自定义,则此处不可选
若Variable value source选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name
若Variable value source选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号
Source parameter若Variable value source处选择的为自定义,则在此处直接填写比较数2的值。

Usage Examples:

MOVJ

LABEL *C1

Other instructions1,MOVJ等

JUMP *C1 WHEN (I001==0)

Other instructions2


> 6.10 UNTIL - Until

Function: UNTIL is used to break out during a motion process。即在机器人的一个运动过程中暂停并开始下一个过程。当condition is metwhen,不论当before机器人是否运行,立即暂停并开始ENDUNTIL指令下面的一条指令。

UNTIL的Condition为(比较数1 Comparison method 比较数2),例如比较数1为2,比较数2为1,Comparison method为">",则2>1,Condition成立;若Comparison method为"<"或"==",则Condition不成立。

注意,插入UNTIL指令的同when会同when插入ENDUNTIL指令。若要删除UNTIL指令请同when删掉其corresponding的ENDUNTIL指令,否则会导致程序无法运行。

UNTIL now supports multi-condition evaluation in sequence. Parentheses are evaluated first, then expressions outside. Maximum 5 conditions supported.

Parameter Description:

ParameterDescription
Parameter typeType of comparand 1: variable, number, or analog input value.
Parameter name若Parameter type选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name。
若Parameter type选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号。
Comparison method== 等于
< 小于
> 大于
<= 小于或等于
>= 大于或等于
!= 不等于
Variable value source比较数2的类型,自定义或变量或数字、模拟量的输入值。
New parameter若Variable value source选择的类型为自定义,则此处不可选;
若Variable value source选择的类型为变量(INT、DOUBLE、BOOL、GINT、GDOUBLE、GBOOL),则此处为比较数1的Variable name;
若Variable value source选择的类型为输入值(DIN、AIN),则此处为数字输入或模拟输入的端口号。
Source parameter若Variable value source处选择的为自定义,则在此处直接填写比较数2的值。

Usage Examples:

UNTIL (GI001<2)

Other instructions

ENDUNTIL

MOVJ


> 6.11 CRAFTLINE - Craft Line Skip

Function: Special craft instruction. After running this instruction, the special craft interface will jump to the corresponding line number.

Parameter Description: New parameter: corresponding line number in the special craft interface.

Usage Examples:

CRAFTLINE 22


> 6.12 CMDNOTE - Comment Instruction

Function: Instruction comment. Use this instruction to add comments at appropriate positions for easier debugging.

如果插入了一条注释指令在单步运行这条指令when会跳到下一行指令运行,不会有报错提示。

Parameter Description: Comment content: supports Chinese and English, case sensitive, supports numeric and symbol input.

Usage Examples:

##iINEXBOT$$;Meaning:注释within容为"INEXBOT"。


> 6.13 POS_REACHABLE - Position Reachable Check

Function: Reachability check instruction. Used to determine if a target point can be reached. If reachable, variable is set to 1; if not, set to 0.

Parameter Description:

ParameterDescription
位置Variable nameCan select P point or G point.
Motion typeCan select MOVJ or MOVL.
状态存入Variable typeCan store in BOOL or GBOOL.
状态存入Variable nameBOOL、GBOOLVariable name称。

Usage Examples:

POS_REACHABLE MOVJ P001 B001;Meaning:Calculates whether MOVJ can reach P001. If reachable, B001=1; if not, B001=0。


> 6.14 CLKSTART - Start Timer

Function: CLKSTART指令用于计when。运行该指令开始计when,并将when间记录到一个局部或者全局DOUBLE变量中。计when指令的Accuracy为小数点after两位(即10ms,误差±2ms)。

Parameter Description:

ParameterDescription
Sequence number计when器的Sequence number,可以同when使用32个计when器分别计when。
存入Variable type将计when的when间存入到局部DOUBLE变量或者全局的GDOUBLE变量。
存入Variable name将when间存入的变量的Variable name。

Usage Examples:

CLKSTART ID = 1 D001;(Meaning:Craft number 1 starts timing, result stored in D001)


> 6.15 CLKSTOP - Stop Timer

Function: CLKSTOP指令用于停止correspondingSequence number的计when器计when。停止after已存入变量的值不会归零。

Parameter Description:

ParameterDescription
Sequence number要停止计when的计when器的Sequence number。

Usage Examples:

CLKSTOP ID=1;(Meaning:Craft number 1 timing stopped)


> 6.16 CLKRESET - Reset Timer

Function: CLKRESET指令用于将correspondingSequence number的计when器归零。若没有使用该指令,下次运行CLKSTART指令会累积计when。

Parameter Description:

ParameterDescription
Sequence number要归零计when的计when器的Sequence number。

Usage Examples:

CLKRESET ID=1;Meaning:Reset craft number 1 timing result。


> 6.17 READLINEAR - Read Linear Speed

Function: Reads the robot's linear speed in real-time into a variable.

Parameter Description:

ParameterDescription
Variable typeVariable type to store, can select GINT/GDOUBLE.
Variable nameVariable name to store.

Usage Examples:

READLINEAR GDOO1


> 6.18 CALL_LUASTRING - Call Lua Statement

Function: Implements functions or operations by calling Lua statements.

Parameter Description:

ParameterDescription
Statement要输入的LuaStatement。
MoreManual input and variable
• 手填:自己输入相应且正确的LuaStatement可以直接单步或运行
• 变量:把LuaStatement写到字符串(string)变量中,通过调用相应的字符串变量来实现其功能

Usage Examples:

CALL_LUASTRING [Statement]

或者 CALL_LUASTRING 字符串变量


> 6.19 WAIT_POS - Wait for Position

Function: MOVcompletion does not mean servo operation is complete, only position command sent. This waits for servo to reach precise position。

Parameter Description:

ParameterDescription
Position/Speed等到运动到点的参数。
Accuracy判断是否到点的参考;例:数值为0.1,只要点位下发完成等待【设定的when间】开始判断是否到点。
Minimum wait time不管有没有运动到指定点位,这个when间都要等待。
Maximum wait time如果等待when间超过了此when间,机器人还没有运动到点的话,就会报错。

Usage Examples:

  1. NOP

  2. MOVL P0001 V=10mm/s PL=0 ACC=1 DEC=1 0

  3. MOVL P0002 V=10mm/s PL=0 ACC=1 DEC=1 0

  4. MOVL P0003 V=10mm/s PL=0 ACC=1 DEC=1 0

  5. WAIT_POS

  6. TIMER T=2

  7. END

Example: When line 4 completes, position operation ends. When line 5 completes, servo operation ends. After servo reaches position, delay instruction begins.


7. Variable Instructions

> 7.1 SET - Assign

Note: To define this variable, go directly to the local variable interface. This instruction has been deprecated.

Function: Defines local integer, floating-point, and boolean variables and assigns values simultaneously.

Parameter Description:

ParameterDescription
VariableClick More to select the required variable type.
Variable value sourceAssign value to the above variable. Can manually enter or select from more types.

Usage Examples:

INT I001 = 11

INT I002 = GI003


> 7.2 FORCESET - Force Write to File

Function: During program execution, all calculations and assignments modify cache values, not system files. When program stops, all global variable values revert. To force global numeric variables to be written to files, use FORCESET instruction.

Parameter Description:

ParameterDescription
Variable nameClick More to select the variable name to force write to file.

Usage Examples:

FORCESET GI001


8. String Instructions

> 8.1 STRING_SPELL - String Append

Function: Adding required characters to an existing string variable or empty string variable creates a new string variable.

Parameter Description:

ParameterDescription
VariableVariable type and name.
Variable valueConstant or bound to another variable.

Usage Examples:

STRING_SPELL [S001 + S002]


> 8.2 STRING_SLICE - String Slice

Function: Extracts a portion of a string variable and stores it in the specified variable.

Parameter Description:

ParameterDescription
VariableVariable name of the string to be extracted.
Start indexStart index的位置。
End indexEnd index的位置。
Variable valueLocation to store the extracted data。

Usage Examples:

STRING_SLICE S001 (I001,I001) S001 I001


> 8.3 STRING_SPLIT - String Split

Function: Splits the string in a variable using one of its characters and stores the split characters sequentially in specified variables.

Parameter Description:

ParameterDescription
VariableParameter containing the string to search.
DelimiterDelimiter的类型。
First variable to store dataFirst position to store queried data sequentially.
Data storage countRecords the quantity of extracted data.

Usage Examples:

STRING_SPLIT S001 (I001,I001) S001 I001


> 8.4 STRING_LOCATE - String Locate

Function: Queries the position of a character in a string variable and stores the position and count sequentially in specified variables.

Parameter Description:

ParameterDescription
VariableParameter containing the string to search.
Variable to be indexedThe character to search for.
First variable to store dataFirst position to store queried data sequentially.
Data storage countRecords the quantity of extracted data.

Usage Examples:

STRING_LOCATE S001 S002 I001 0


> 8.5 STRING_LENGTH - String Length

Function: Calculates the length of a string in a string variable and stores the length in the specified variable.

Parameter Description:

ParameterDescription
VariableVariable whose length to be calculated.
Variable to store dataRecords the quantity of extracted data.

Usage Examples:

STRING_LENGTH S001 I001


> 8.6 STRING_TO - String to Non-string

Function: Converts a string in a string variable to a non-string.

Parameter Description:

ParameterDescription
字符串变量The string to be converted.
非字符串变量Target variable for conversion.

Usage Examples:

STRING_TO S001 I001


> 8.7 TO_STRING - Non-string to String

Function: Converts a variable in a non-string variable to a string.

Parameter Description:

ParameterDescription
非字符串变量The variable to be converted.
字符串变量Target variable for conversion.

Usage Examples:

TO_STRING I001 S001


9. Coordinate Switch Instructions

> 9.1 SWITCHTOOL - Switch Tool

Function: Switches the currently used tool coordinate system during program execution.

Parameter Description:

ParameterDescription
Tool coordinateTool number of the tool coordinate system to switch to.

Usage Examples:

SWITCHTOOL (3)


> 9.2 SWITCHUSER - Switch User Coordinate

Function: Switches the currently used user coordinate system during program execution.

Parameter Description:

ParameterDescription
User coordinateSequence number of the user coordinate system to switch to.

Usage Examples:

SWITCHUSER (3)


> 9.3 USERCOORD_TRANS - User Coordinate Transform

Function: Superimposes user coordinate systems B and C (×), result placed in user coordinate system A.

Parameter Description:

ParameterDescription
User coordinate A结果存入该用户Coordinate system,这里是用户Coordinate systemSequence number。
User coordinate B用户Coordinate systemSequence number。
User coordinate C用户Coordinate systemSequence number。

Usage Examples:

USERCOORD_TRANS (1) (2) (3)


> 9.4 SWITCHSYNC - Switch External Axis

Function: 在程序运行中切换当before使用的External Axis。

Parameter Description:

ParameterDescription
External Axis组号Group number of the external axis to switch to.

Usage Examples:

SWITCHSYNC 1


10. Network Communication Instructions

> 10.1 SENDMSG - Send Message

Function: 向另外一个网络设备Send characters串信息。

Parameter Description:

ParameterDescription
IDCraft number in Settings - Network Settings interface.
Send charactersString to send. To send a variable, add $ before the variable. To send a character, use two $. Supports escape characters and formatted output.

Usage Examples:

SENDMSG ID = 1 #$D001#


> 10.2 PARSEMSG - Parse Message

Function: Parses data sent by another network device via TCP and stores the data in multiple variables.

当有TCP接收到多位数值when,会将数值分别存入多个变量中,所使用的变量分别为第一位变量、第一位变量往下顺延。即,若发来3位数值,A、B、C,设置的第一位Variable name为GI006,则将A存入GI006,B存入GI007,C存入GI008。

Parameter Description:

ParameterDescription
IDCraft number in Settings - Network Settings interface.
First variable to store data(第一位Variable type)存入第一位变量的类型,点击More选择Variable type。
Clear buffer after parsingClears buffered data after parsing.
Data storage count通过变量Records the quantity of extracted data.
第一位Variable name存入第一位变量的Variable name。

Usage Examples:

PARSEMSG ID = 1 GI006 CLEARCAHE = 0;Meaning:把接收到的数据存到变量GI001中,解析完成after清除缓存的数据


> 10.3 READCOMM - Read Communication

Function: 读取以太网或Modbus发送的点位存到位置变量中、Count存到数值变量中。

Parameter Description:

ParameterDescription
Craft number要打开通讯的网络通讯的Craft number。
Communication methodUse Ethernet communication or Modbus communication.
位置Variable typeCan select global or local position variable.
位置Variable name位置Variable name;存接收到的点位,多个点位位置变量顺延,例如指令位置变量填GP003,接收3个点位,则分别存到GP003、GP004、GP005。
Variable typeCan select global or local integer。
Variable nameVariable name;存接收到点位的数量。
Note: Currently only available for Modbus.

Usage Examples:

READCOOM ID=1 EHTERNET TO G001 I001


> 10.4 OPENMSG - Open Message

Function: Opens network communication.

Parameter Description:

ParameterDescription
IDCraft number in Settings - Network Settings interface.

Usage Examples:

OPENMSG ID = 1


> 10.5 CLOSEMSG - Close Message

Function: Closes network communication.

Parameter Description:

ParameterDescription
IDCraft number in Settings - Network Settings interface.

Usage Examples:

CLOSEMSG ID = 2


> 10.6 PRINTMSG - Print Message

Function: Prints a string via notification bar.

Parameter Description:

ParameterDescription
Output charactersString to print. To print a variable, add $ before the variable. To print a character, use two $. Supports escape characters and formatted output.

Usage Examples:

PRINTMSG #this is $D001#


> 10.7 MSG_CONNECTION_STATUS - Get Message Connection Status

Function: 获取网络设置里某个Craft number的连接状态。

Parameter Description:

ParameterDescription
Craft number需要知道的网络设置的Craft number。
状态存入Variable nameClick More to select BOOL/GBOOL type to store.

Usage Examples:

MSG_CONN_ST 1 B001


11. Position Variable Instructions

Note: below指令中位置Variable type新增的变量可参考运动控制类部分的绑定变量说明。


> 11.1 USERFRAME_SET - Modify User Coordinate

Function: Changes the value of an axis in the user coordinate system.

Parameter Description:

ParameterDescription
User coordinate number要改变值的User coordinate number。
User coordinate parameterUser coordinate axis whose value to change.
Variable type可以选择Manual value或其他变量。
Variable name当选择其他变量when,在这里选择Variable name,会将该变量的值赋给User coordinatecorresponding的坐标轴。
Manual value当Variable type选择Manual valuewhen,在这里直接填入要改变的目标值。

Usage Examples:

USERFRAME_SET ID = 1 UX GI001

USERFRAME_SET ID = 2 UY 99


> 11.2 TOOLFRAME_SET - Modify Tool Coordinate

Function: Changes the value of an axis in the tool coordinate system.

Parameter Description:

ParameterDescription
Tool coordinate number要改变值的Tool coordinate number。
Tool coordinate parameterTool coordinate axis whose value to change.
Variable type可以选择Manual value或其他变量。
Variable name当选择其他变量when,在这里选择Variable name,会将该变量的值赋给User coordinatecorresponding的坐标轴。
Manual value当Variable type选择Manual valuewhen,在这里直接填入要改变的目标值。

Usage Examples:

TOOLFRAME_SET ID = 1 TX GI001;Meaning:Change tool 1 X-axis offset to GI001 variable value

TOOLFRAME_SET ID = 2 TY 99;Meaning:Change tool 2 X-axis offset to 99


> 11.3 READPOS - Read Position

Function: Reads the value of a position variable axis into a floating-point variable.

Parameter Description:

ParameterDescription
Variable type要读入的浮点型Variable type,局部或全局。
Variable name要读入的浮点型变量的Variable name。
位置Variable type要读取的位置Variable type,当before位置、局部位置变量或全局位置变量。
位置Variable name当位置Variable type选择局部位置变量或全局位置变量,这里选择corresponding的Variable name。若选择P$INT、P$GINT、G$INT、G$GINT,在这里选择corresponding的整型Variable name。例选择P$INT,Variable nameI001,I001=33,则得到的位置变量为P033。
Position variable coordinate systemCoordinate system of the position variable value to read.
Position variable axisAxis of the position value in the corresponding coordinate system.

Usage Examples:

READPOS GD004 P$GI003 RF 1


> 11.4 POSADD - Position Add

Function: 位置变量加法运算(+),This instruction can perform addition on a single axis value of a position variable (global or local), then assign the result to that axis.

Parameter Description:

ParameterDescription
位置Variable typeType of position variable to change, local or global.
位置Variable name要改变的位置变量的Variable name。
Position variable coordinate systemCoordinate system of the position variable axis to change.
Position variable axisAxis of the position variable to change in the corresponding coordinate system.
Variable type可以选择Manual value或其他变量。
数值Variable name当选择其他变量when,在这里选择Variable name,会将该变量的值加上位置变量corresponding轴的值,再赋值给该位置变量。
Manual value当Variable type选择Manual valuewhen,在这里直接填入目标值,会将该值加上位置变量corresponding轴的值,再赋值给该位置变量。

Usage Examples:

POSADD P0001 RF 1 788


> 11.5 POSSUB - Position Subtract

Function: 位置变量减法运算(-),This instruction can perform subtraction on a single axis value of a position variable (global or local), then assign the result to that axis.

Parameter Description:

ParameterDescription
位置Variable typeType of position variable to change, local or global.
位置Variable name要改变的位置变量的Variable name。
Position variable coordinate systemCoordinate system of the position variable axis to change.
Position variable axisAxis of the position variable to change in the corresponding coordinate system.
Variable type可以选择Manual value或其他变量。
数值Variable name当选择其他变量when,在这里选择Variable name,会将位置变量corresponding轴的值减去该变量的值,再赋值给该位置变量。
Manual value当Variable type选择Manual valuewhen,在这里直接填入目标值,会将位置变量corresponding轴的值减去该值,再赋值给该位置变量。

Usage Examples:

POSSUB P0001 RF 1 88


> 11.6 POSSET - Position Set

Function: This instruction can modify the value of a single axis of a position variable (global or local).

Parameter Description:

ParameterDescription
位置Variable typeType of position variable to change, local or global.
位置Variable name要改变的位置变量的Variable name。
Position variable coordinate systemCoordinate system of the position variable axis to change.
Position variable axisAxis of the position variable to change in the corresponding coordinate system.
Variable type可以选择Manual value或其他变量。
数值Variable name当选择其他变量when,在这里选择Variable name,会将位置变量corresponding轴的值赋值给该位置变量。
Manual value当Variable type选择Manual valuewhen,在这里直接填入目标值,会将位置变量corresponding轴的值赋值给该位置变量。

Usage Examples:

POSSET P0001 RF 1 88


> 11.7 COPYPOS - Copy Position

Function: Copies all axis values of one position variable to another.

Parameter Description:

ParameterDescription
源位置Variable type要读取值的位置变量的类型。可以选择当before位置,既将当before机器人位置赋值给另一个位置变量。
源位置Variable name要读取值的位置变量的Variable name。
目标位置Variable type被赋值的位置变量的Variable type。
目标位置Variable name被赋值的位置变量的Variable name。

Usage Examples:

COPYPOS G003 TO P001

COPYPOS CURPOST TO P002


> 11.8 POSADDALL - Position Add All

Function: 位置变量加法运算(+),This instruction can perform addition on multiple axis values of a position variable (global or local), then assign the result.

Parameter Description:

ParameterDescription
位置Variable typeType of position variable to change, local or global.
位置Variable name要改变的位置变量的Variable name。
Position variable coordinate systemCoordinate system of the position variable axis to change.
More可以选择Manual value或其他变量。
1. 数值Variable name:当选择其他变量when,在这里选择Variable name,会将位置变量corresponding轴的值加上该变量的值,再赋值给该位置变量。
2. Manual value:当Variable type选择Manual valuewhen,在这里直接填入目标值,会将位置变量corresponding轴的值加上该值,再赋值给该位置变量。

Usage Examples:

POSADDALL GP0001 RF I001 GI001 D001 GD001 10.1 10


> 11.9 POSSUBALL - Position Subtract All

Function: 位置变量减法运算(-),This instruction can perform subtraction on multiple axis values of a position variable (global or local), then assign the result.

Parameter Description:

ParameterDescription
位置Variable typeType of position variable to change, local or global.
位置Variable name要改变的位置变量的Variable name。
Position variable coordinate systemCoordinate system of the position variable axis to change.
More可以选择Manual value或其他变量。
1. 数值Variable name:当选择其他变量when,在这里选择Variable name,会将位置变量corresponding轴的值减去该变量的值,再赋值给该位置变量。
2. Manual value:当Variable type选择Manual valuewhen,在这里直接填入目标值,会将位置变量corresponding轴的值减去该值,再赋值给该位置变量。

Usage Examples:

POSSUBALL GP0001 RF I001 GI001 D001 GD001 10.1 10


> 11.10 POSSETALL - Position Set All

Function: This instruction can modify multiple axis values of a position variable (global or local).

Parameter Description:

ParameterDescription
位置Variable typeType of position variable to change, local or global.
位置Variable name要改变的位置变量的Variable name。
Position variable coordinate systemCoordinate system of the position variable axis to change.
More可以选择Manual value或其他变量。
1. 数值Variable name:当选择其他变量when,在这里选择Variable name,会将位置变量corresponding轴的值赋值给该位置变量。
2. Manual value:当Variable type选择Manual valuewhen,在这里直接填入目标值,会将位置变量corresponding轴的值赋值给该位置变量。

Usage Examples:

POSSETALL GP0001 RF I001 GI001 D001 GD001 10.1 10


> 11.11 TOFFSETON - Trajectory Offset Start

Function: This instruction can perform real-time offset on the robot's trajectory.

Parameter Description:

ParameterDescription
偏移Coordinate system要改变运行轨迹所corresponding的的Coordinate system。
Offset type可以选择Manual value或其他Variable type。
Offset当Variable type选择Manual valuewhen,在这里直接填入目标值,会将机器人的轨迹坐标加上这个Manual value。
More可以选择Manual value或其他变量。
1. 数值Variable name:当选择其他变量when,在这里选择Variable name,会将位置变量corresponding轴的值赋值给该位置变量。
2. Manual value:当Variable type选择Manual valuewhen,在这里直接填入目标值,会将位置变量corresponding轴的值赋值给该位置变量。

Usage Examples:

TOFFSETON RF GI001 I002 2 3 4 5


> 11.12 TOFFSETOFF - Trajectory Offset End

Function: Trajectory offset ends. Subsequent trajectories will no longer be offset.

Usage Examples:

TOFFSETOFF


> 11.13 READPOSMSG - Read Position Message

Function: Reads position tool number, user coordinate number, coordinate system, orientation angle/radian, and configuration values into an integer variable.

Parameter Description:

ParameterDescription
Variable typeCan select global or local position variable.
Variable nameName of the position variable.
信息Tool number/User coordinate number/Coordinate system/Angle/Radian/Configuration。
More(目标Variable type)被读取的位置变量的Variable type。
目标Variable name被读取的位置变量的Variable name称。

Usage Examples:

READPOSMSG P0001 TOOL I001


> 11.14 POS_STRETCH - Position Stretch

Function: Shortens or lengthens the ends of a line or arc. Changing the arc midpoint can alter the arc trajectory.

Parameter Description:

ParameterDescription
Stretch typeSupports line or arc instruction stretching.
Start point直线或圆弧指令的Start point。
Arc midpointMidpoint of arc instruction.
End point直线或圆弧指令的End point。
Start point偏移Start point点位缩短或拉伸的距离。
End point偏移End point点位缩短或拉伸的距离。
输出Start point位置将拉伸after的Start point点位保存在局部点位或全局点位中。
输出End point位置将拉伸after的End point点位保存在局部点位或全局点位中。

Usage Examples:

POS_STRETCH LINE P0001 P0002 10 10 P0004 P0005


> 11.15 SETPOSMSG - Set Position Message

Function: Sets position's coordinate system, angle/radian, configuration, tool number, and user coordinate number.

Parameter Description:

ParameterDescription
Variable typeCan select global or local position variable.
Coordinate system通过局部整型变量、全局整型变量、不变设值Coordinate system号。
Angle/Radian通过局部整型变量、全局整型变量、不变设置Angle/Radian。
Configuration通过局部整型变量、全局整型变量、不变设置Configuration。
Tool number通过局部整型变量、全局整型变量、不变设置Tool number。
User coordinate number通过局部整型变量、全局整型变量、不变设置User coordinate number。

Usage Examples:

SETPOSMSG P0001 1 1 1 1 1 1


12. Program Control Instructions

> 12.1 PTHREAD_START - Start Thread

Function: Starts a background task. Background task executes once and ends. To edit, go to Settings - Background Tasks. Local background tasks sync with main program stop/run, global ones do not.

Parameter Description:

ParameterDescription
类型Select local background or global background
Background taskBackground task name.

Usage Examples:

PTHREAD_START [TTT]


> 12.2 PTHREAD_END - End Thread

Function: 关闭已开启的Background task。

Parameter Description:

ParameterDescription
类型Select local background or global background。
Background taskBackground task name.

Usage Examples:

PTHREAD_END [TTT]


> 12.3 PAUSERUN - Pause Run

Function: Pauses program execution.

Parameter Description:

ParameterDescription
类型Program type to pause: all, main program, or background program.
程序Program name to pause.

Usage Examples:

PAUSERUN [TTT]

PAUSERUN MAIN

PAUSERUN ALL


> 12.4 CONTINUERUN - Continue Run

Function: Continues a paused program (stopped programs cannot continue).

Parameter Description:

ParameterDescription
类型Program type to continue: main program or local background program.
程序Program name to continue.

Usage Examples:

CONTINUERUN [TTT]

CONTINUERUN MAIN


> 12.5 STOPRUN - Stop Run

Function: Stops running all programs.


Q&A

Q: What are binding variables?

A: 绑定变量是将位置变量与整型变量关联起来的方法。通过将整型变量赋值,可以动态引用不同的位置变量。例如当I001=2when,P$I001is equivalent toP0002。

Q: What is the difference between MOVJ and MOVL instructions?

A: MOVJ使用关节Interpolation method,机器人在空间within以最快的速度运行,不受轨迹约束。MOVL使用直线Interpolation method,机器人末端以直线运动到目标点。

Q: How to implement conditional control in a program?

A: Use IF instruction for conditional control. When IF condition is met, instructions between IF and ENDIF are executed, otherwise jumps to ENDIF. Can be used with ELSEIF and ELSE.

Q: Can IF instruction perform multi-condition evaluation?

A: 可以,IF指令supports多条件判断按顺序判断。有括号的优先判断括号within的再于括号外的进行判断,最多supports5个Condition。

Q: What should I note when the program starts with IF and ends with ENDIF?

A: Insert a 0.1-second TIMER (delay) instruction above IF or below ENDIF, otherwise when IF condition is not met, the program will freeze.

Q: What is the function of the CALL instruction?

A: CALL instruction calls another program. After the called program finishes, it returns to the next line after CALL and continues.

Q: How to call a Lua file?

A: 使用CALL_LUAFILE指令Calls a Lua file uploaded from upgrade.需要指定Lua文件名称、传入参数和输出参数。

Q: Are there any limitations with the WHILE loop instruction?

A: When using WHILE for looping, the loop condition must truly change when an event occurs, otherwise it will enter an infinite loop.

Q: How to use TIMER instruction to implement delay?

A: TIMER instruction implements program delay. Parameter is an integer in seconds. For example, TIMER 2 means 2-second delay.

Q: What coordinate system options are available for position variables?

A: 位置变量的Coordinate system包括基座Coordinate system(RF)、工具Coordinate system(TF)、用户Coordinate system(UF)、沿着视线方向的Coordinate system(VF)等多种选项。

Q: What is the purpose of the READPOS instruction?

A: READPOS指令用于Reads the value of a position variable axis into a floating-point variable.需要指定源位置变量和目标变量。

Q: How to modify the value of a position variable?

A: Use POSSET to modify a single axis value of a position variable, or POSSETALL to modify multiple axis values.

Q: What is the difference between POSADD and POSSUB instructions?

A: POSADD performs addition on position variables, POSSUB performs subtraction. Both can operate on a single axis.

Q: How to use the trajectory offset function?

A: 使用TOFFSETON指令开始轨迹偏移,指定偏移Coordinate system和Offset。使用TOFFSETOFF指令结束轨迹偏移,结束after的运动轨迹不再偏移。

Q: What are INT and DOUBLE type variables?

A: INT is an integer variable for integer values. DOUBLE is a floating-point variable for decimal values. Global versions GINT and GDOUBLE are also available.

Q: What instructions are included in IO operations?

A: IO operations include DOUT (digital output), AOUT (analog output), POUT (pulse output) for output, and DIN, AIN, PIN for reading input status.