SEL LANGUAGE Programming Manual Super SEL Type E Super SEL Type E DS-S-C1 Intelligent Actuator Inc.
This publication was written to assist you in better understanding this part of your IA system. If you require further assistance, please contact IA Technical Support. For Central and East Coast Time Zones, please call our Itasca, IL office at 1-800-944-0333 or FAX 630467-9912. For Mountain and Pacific Time Zones, please call our Torrance, CA office at 1-800-736-1712 or FAX 310-891-0815; Monday thru Friday from 8:30AM to 5:00PM. Intelligent Actuator, Inc. U.S. Headquarters 2690 W.
Foreword SEL Language is the simplest type of the numerous robot languages being used today. The perplexing problem of using simple language to effect high level control has been beautifully resolved with SEL Language. The language most generally used for robot control is based on BASIC language which uses sentences formats and interpreting these sentences requires considerable time. As the level of expression gets higher, the interpreter becomes less capable of handling real time control *1.
Table of Contents 1. Numerals and Symbols in SEL Language 1.1 List of numerals handled by SEL Language ........................................................................................................ 4 1.2 Symbols used in SEL Language .......................................................................................................................... 5 2. I/O Ports 2.1 Input ports ...............................................................................................................
Table of Contents 12. SEL Language 12.1 Numeric calculation commands .......................................................................................................................32 12.2 Arithmatic calculation commands ....................................................................................................................34 12.3 Functional calculation commands ...................................................................................................................37 12.
1. Numerals and Symbols in SEL Language 1.1 List of numerals handled by SEL Language The various types of functions required in a program are expressed as numerals.
1. Numerals and Symbols in SEL Language l 1. 2. 3. 1.2 Range of numerical values in SEL SEL uses two types of numbers, integers and real numbers but are subject to the following limitations. Inside the controller The range of whole numbers that can be accommodated is ±2,147,483,648 and for real numbers the theoretical range is ±3.4 x 1038, as a single precision floating point.
2. I/O Ports 2.1 Input Ports Input ports are used for limit switches, sensor switches, etc. 2.2 Input No. Assignment Type E·G 001~023 Standard 024~047 Option 048~071 Option 072~095 Option Input No. Assignment DS Type 001~015 Standard Output Ports These are used as various output ports. Output No. Assignment Type E·G 300~323 Standard 324~347 Option 348~371 Option 372~395 Option Output No.
2. I/O Ports 2.3 List of ports for the Super SEL type Port N o. 000 Function Explanation External Start i nput At the moment i nput turns ON, the desi gnated program i s executed. Users can use thi s port as they choose. 001 User i nput 002 Emergency stop b-type contact i nput When thi s i nput turns OFF, the controller goes i nto emergency stop. 003 System reserve C annot be used (thi s port wi ll be used to add a new functi on i n the future).
2. I/O Ports 2.4 List of I/O ports for the DS type Program Mode Port No. Function Explanation PRG No. 01 (user input) PRG No. 02 (user input) 10°units PRG No. 04 (user input) PRG No. 08 (user input) PRG No. 10 (user input) Used as BCD codes to designate the start up program. The moment input port 000 (external start input) turns ON, the designated program is executed. 10 1 units PRG No. 20 (user input) Reserve CPU reset input Restarts the controller.
I/O Ports Positioning Mode Port No. Function Explanation PRG No. 01 (user input) PRG No. 02 (user input) PRG No. 04 (user input) When using the positioning mode, turn the Program No. input to [0] (OFF) status. PRG No. 08 (user input) PRG No. 10 (user input) PRG No. 20 (user input) Reserve CPU reset input 000 External start input 001 Hold input Restarts the controller. At the moment input turns ON, the designated program is executed. When this turns ON, the actuator moves to the desinated position.
3. 3. Flags Flags The function of flags is to set and reset data within "Memory." This is analogous to "internal relays" or "coils" in a PLC. In general, there are two (2) types of flags: Global flags 600 ~ 887 which can be used in all programs and local flags 900 ~ 999 which can be used only in individual programs. Global flags are saved when the power is turned OFF (battery backup). Local flags are erased when the power is turned OFF.
4. Variables 4.1 What are variables? The term "variable register" is a software term. Imagine a box that holds numbers. Numbers can be put in and taken out, added, subtracted, and so on. Put 1234 into variable register #1 Take 456 out of variable register #1 R Var eg ia is bl te e r# 1 Add 1 to variable register #1 Command Operand 1 Operand 2 Add 1 1 This command adds 1 to variable register #1. If the register contains 2, then the variable becomes 3.
4. Variables 4.2 Types of variables There are two types of variables. Integer variable These are whole number variables which cannot take decimal points. For example: [-2, -1, 0, 1, 2, 3] R Var eg ia is ble te r# 1 Integer Variable No. Integer Variable No. Integer Variable Register 1234 200~299 Global integer variable: Can be used in all programs 1~99 Local integer variable: Can be used only within an individual program Note: The variable 99 is a special register for whole integer calculation.
4. Variables Variables with an asterisk (*) The asterisk symbol (*) is used to designate contents of the variable register. In the example given below, the contents in variable register 1 are placed in variable register 2. If "1234" is in variable register 1, then "1234" is what goes in variable register 2.
5. Tags "Tag" means heading. A TAG can be thought of as the same as placing labels on important pages. The TAG as it is used in the SEL programming language is the "return to" area and is used in conjunction with the GOTO command to provide programming loops. Tag Command Operand 1 TAG Tag No. (Integers 1~64) Can be used individually in each program.
6. Subroutines Frequently repeated steps in a program can be expressed as subroutines in order to simplify the entire application program. These subroutines are individually usable in each program. (Up to a maximum of 15 subroutines can be nested) Command Operand 1 EXSR Subroutine No. (1 ~ 64 Integers, or Variables) Execute subroutine command Command Operand 1 BGSR Subroutine No.
7. Axis Designation There are two ways to designate the axes to be used: axis number and axis pattern. 7.1 Axis number and notation With the Super SEL controller, multiple axes are indicated as shown in the table, but it is possible to change the figures using the parameters. Axis No. Default Notation 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 The axis no. is used when designating one axis out of many axes. Commands to designate Axis No.
7. Axis Designation 7.2 Axis Pattern Selection of an axis is specified by either "1" or "0" (Upper) (Lower) Axis No. 8 7 6 5 4 3 2 1 Used 1 1 1 1 1 1 1 1 Not Used 0 0 0 0 0 0 0 0 Example If Axis 1 and Axis 2 are in use, then this is signified by... 0 0 0 0 0 0 1 1 Axis 1 Axis 2 The zeroes before the 1 are unnecessary. The simplified form is 11, without leading zeroes. Example If Axis 1 and Axis 8 are in use, then this is signified by...
8. Structure of SEL Language The SEL programming consists of a position and application program (command) section. 8.1 Position Program In the position section, we have coordinates, velocity, acceleration, and variables. 1~1500 mm/sec *1,2 Standard 0.3G *2 Posi ti Veloci ty on No. Accelerati on ±9999.999mm Axi s 1 Axi s 2 Axi s 3 Axi s 4 Axi s 5 Axi s 6 Axi s 7 Axi s 8 1 2 3 4 1997 1998 1999 2000 *1 *2 Varies according to the actuator model.
8. Structure of SEL Language The outstanding feature of Super SEL Language is the simplicity of its command structure which eliminates the need for a compiler and allows high speed operation with just an interpreter. 8.2 Commands 8. 2-1 Structure of Super SEL Language One step of the command has the following structure.
8. Structure of SEL Language 8.
9. List of Parameters Reference values are indicated below. Settings at the time of shipment vary according to the actuator model. 9.1 Common parameters for multiple axes (1) Servo parameters N o. Parameter Name Default Content 1 Axis Size 8 Number of axes 2 Numerator 1 Numerator 3 Denominator 1 Denominator 4 Override (%) 100 Override 5 Acceler (G) 0.30 Acceleration factor 6 Acceler Max (G) 1.
9. List of Parameters (5) Serial I/O parameters N o. Parameter Name Default Content 1 Terminal ID 99 Multi-drop address code 2 Time Out (S) 0 Time out (S) 3 Baud Rate (bit/s) 3 Baud rate (bit/s) 4 Clear Length 0 Character length 5 Parity 0 Parity 6 Stop Bit 0 Stop bit (6) Parallel input port parameters N o. Parameter Name Default Content 1 Device No. 1~3 Device No. 2 Unit ID 1 Unit No. 3 Scan Time (ms) 1 Scan time (ms) 4 Unit ID 1 Unit No.
9. List of Parameters 9.2 Common parameters for a single axis (1) Servo parameters N o. Parameter N ame D efault C ontent 1 Axi s Si ze 1 Number of axes 2 Numerator 1 Numerator 3 D enomi nator 1 D enomi nator 4 Over Ri de (%) 100 Over ri de 5 Acceler (G) 0.30 Accelerati on factor (G) Maxi mum accelerati on factor (G) 6 Acceler Max (G) 1.
9. List of Parameters 9.3 Parameters by axis (1) Servo parameters by axis N o. Parameter Name Default Content 1 Axis Name 1~8 Axis name 2 Servo Service 400 No. of times of servo service (times/s) 3 Numerator 1 Numerator 4 Denominator 1 Denominator 5 Over Ride (%) 100 Over ride (%) 6 Acceler 0.30 Acceleration (G) 7 Jog Vel (mm/s) 30 Jog velocity (mm/s) 8 Pend Band 10 Position end band (pulse) 9 Soft Limit Offset 2.
9. (3) List of Parameters Motor parameters by axis N o. Parameter Name Default Content 1 Motor RPM Max 4000 Motor RPM maximum 2 Encoder Pulse 400 Encoder pulse per revolution 3 Screw Lead 8 Screw lead (mm) 4 Multiple 4 Encoder pulse multiplier 5 Brake Time 0.1 Brake time 6 Position Gain 60 Position gain 7 Speed Gain 80 S peed gai n 8 F/F Gain 0 Feed forward gain 9 Integral Gain 30 Integral gain 10 Total Gain 150 Total gain 11 Int. Volt.
10.
10. List of SEL Language Command Codes C ategory C ondition C ommand Operand 1 Operand 2 Output Function P ag e Multiple Single Axis Axis Opti onal *GTRS Obtai n resource No. Acqui re resource 58 O O Opti onal *RLRS Return resource No. Return resource 58 O O 59 O O 59 O O Resource Posi ti on Assi gn posi ti on to vari able Opti onal PGET Axi s No. Posi ti on No. Opti onal PPUT Axi s No. Posi ti on No. Opti onal P C LR Starti ng posi ti on No. End posi ti on No.
10.
11. Alphabetical List of SEL Language Command Codes Condition Command Operand 1 Operand 2 Output Optional ABPG Stop program No. Optional AC C Acceleration (G) Optional AD D Add to variable Number added ZR Optional AND Variable apply logic and to Calculation number ZR Optional ARC Passing position No. End position No. Optional ARCH Start position No. End position No.
11. Alphabetical List of SEL Language Command Codes Condition Command Operand 1 Operand 2 Output Optional HOLD Pause input port Optional HOME Homing axis pattern Optional IFXX Compare variable Comparison variable Optional IN First I/O • flag End input • flag Optional INB First I/O • flag No.
11.
12. SEL Language 12.1 Numeric calculations commands ● LET (Assign) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional LE T Variable No. Data P o st (Output port · Flag) ZR [Function] Assigns the value in operand 2 to the variable in operand 1. When 0 is assigned to the variable in Operand 1, the output turns ON. [Example 1] LET 1 10 Assign a value of 10 to variable register 1.
12. SEL Language ● CLEAR (Clear Variables) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional C LR Variable No. Variable No. P o st (Output port · Flag) ZR [Function] Clears the variables from the variable in operand 1 to the variable in operand 2. The contents of the cleared variables becomes 0. When 0 is assigned to the variable in operand 1, the output turns ON. [Example 1] CLR 1 5 Clear variables from 1 to 5.
12. SEL Language 12.2 Arithmatic calculation commands ● ADD (Add) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional AD D Variable No. Data P o st (Output port · Flag) ZR [Function] Adds the value in operand 2 to the contents of the variable in operand 1, then stores this in the variable in operand 1. The output turns ON when the result of the operation is 0. [Example1] LET ADD 1 1 3 2 Assign 3 to variable 1.
12. SEL Language ● MULT (Multiply) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional MULT Variable No. Data P o st (Output port · Flag) ZR [Function] Multiplies the contents of the variable in operand 1 by the value in operand 2, then stores this in the varible in operand 1. The output turns ON when the result of the operation is 0. [Example 1] LET MULT 1 1 3 2 Assign 3 to variable 1. Multiply 3 (content of variable 1) by 2.
12. SEL Language ● MOD (Remainder) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional MOD Variable No. Data [Function] Note: P o st (Output port · Flag) ZR Divides the contents of the variable in operand 1 by the value in operand 2, then stores the remainder in the variable in operand 1. The output turns ON when the result of the operation is 0. The MOD command is used with respect to an integer type variable.
12. SEL Language 12.3 Functional calculation commands ● SIN (Sine) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional SIN Variable No. Data [Function] P o st (Output port · Flag) ZR Assigns the sine of operand 2 to the contents of the variable in operand 1. The output turns ON when the result of the operation is 0. For the setting in operand 1, designate a real number varible in the operand 100~199, 300~399.
12. SEL Language ● TAN (Tangent) Command Expandsion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional TAN Variable No. Data [Function] Note 1: P o st (Output port · Flag) ZR Assigns the tangent of operand 2 to the contents of the variable in operand 1. The output turns ON when the result of the operation is 0. For the setting in operand 1, designate a real number variable in the range 100~199, 300~399. The unit in operand 2 is radians.
12. SEL Language ● SQR(Square) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional SQR Variable No. Data [Function] P o st (Output port · Flag) ZR Stores the square root (SQR) of the data in operand 2 in the variable in operand 1. The output turns ON when the result of the operation is 0. [Example 1] SQR 1 4 Assign square root of 4,2 to variable 1. [Example 2] LET LET SQR 1 2 *1 10 4 *2 Assign 10 to variable 1.
12. SEL Language 12.4 Logic and Operation commands ● AND (Logic And) Command Expandsion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional AND Variable No. Data [Function] P o st (Output port · Flag) ZR Stores the results of the logic AND operation on the contents of the variable in operand 1 and the in operand 2, in the variable in operand 1. The output turns ON when the result of the operation is 0.
12. SEL Language ● OR (Logic Or) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional OR Variable No. Data P o st (Output port · Flag) ZR [Function] Stores the results of the logic OR operation on the contents of the variable in operand 1 and the data in operand 2, in the variable in operand 1. The output turns ON when the result of the operation is 0.
12. SEL Language ● EOR (Exclusive Or Logic) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional EOR Variable No. Data P o st (Output port · Flag) ZR [Function] Stores the results of the exclusive logic operation on the contents of the variable in operand 1 and the data in operand 2, in the variable in operand 1. The output turns ON when the result of the operation is 0. [Example 1] LET EOR 1 1 204 170 Assign 204 to variable 1.
12. SEL Language 12.5 Comparison operation commands ● CPXX (Compare) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal C PXX Vari able No. D ata [Function] P o st (Output port · Flag) EQ NE GT GE LT LE Compares the contents of the variable in operand 1 and the value in operand 2 and if the condition is satisfied, the output turns ON. When the condition is not satisfied, the output turns OFF.
12. SEL Language 12.6 Timer Commands ● TIMW (Timer) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional TIMW TIME [Function] TU The program stops and waits for the time set in operand 1. Setting range is 0.01 ~ 99 and units are seconds. When the designated time has elapsed and the program moves to the next step, the output turns ON. [Example 1] TIMW 1.
12. SEL Language ● GTTM (Time Acquisition) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional GTTM Variable No. [Function] Writes the system time to the variable in operand 1. The time unit is 10msec. The time obtained with this command is a value that has no base. Therefore, call this command twice, and the difference gives the time that has elapsed.
12. SEL Language 12.7 I/O · Flag operation commands ● BTXX (Output Port • Flag Operation) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional BTXX Output · Flag Optional [Function] P o st (Output port · Flag) Turns ON, OFF, or inverts from the output · flag designated in operand 1 to the output · flag designated in operand 2. BTXX ON OF NT 300 ... ... ... Turns the status ON. Turns the status OFF. Inverts the status.
12. SEL Language ● WTXX (I/O Port • Flag Wait) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional WTXX I/O · Flag Optional Time out [Function] P o st (Output · Flag) TU Program waits until designated in operand 2 turns ON/OFF. Can abort the wait after a set time by designating a time in operand 2. Setting range is 0.01~99 seconds. After a set time has elapsed, the output turns ON (Only where is an operand 2).
12. SEL Language ● IN (Binary Number Read I/O • Flag) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal IN I/O port·Flag I/O port·Flag [Function] P o st (Output · Flag) Reads the value from the designated I/O port or flag as a binary number, then stores this value in variable register 99. 27 23 26 22 25 21 24 20 23 19 22 18 21 17 20 16 ON OFF OFF OFF OFF ON OFF ON ••• ••• Binary Number Input Port No.
12. SEL Language ● INB (BCD Read I/O • Flag) C ommand E xpansi on condi ti on (A ND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal INB Input port No. of B C D di gi ts P o st (Output · Flag) [Function] Reads the BCD value from the designated input port, then stores this value in variable register 99. Upper digits 15 ON 14 OFF 13 OFF Lower digits 12 OFF 11 OFF 10 ON 9 OFF 8 ON ••• Input port No.
12. SEL Language ● OUT (Binary Number Output) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal OUT I/O · Flag I/O · Flag P o st (Output · Flag) [Function] Output the value of variable 99 to output ports or flags from operand 1 to opreand 2.
12. SEL Language ● OUTB (BCD Output) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional OUTB I/O · Flag No. of BCD digits P o st (Output · Flag) [Function] Output the value of variable 99 to ourput ports or flags from operand 1 to operand 2.
12. SEL Language ● GOTO (Jump) Input condition (I/O · Flag) Command Operand 1 Optional Optional GOTO Tag No. [Function] Note: Operand 2 P o st (Output · Flag) Jumps to the position of the tag number designated in operand 1. The GOTO command is valid only within the same program. [Example 1] [Example 2] ● Command Expansion condition (AND · OR) TAG : : : GOTO 1 Set the tag. 1 Jump to tag 1. LET GOTO 1 *1 10 Assign 10 to 1. Jump to tag 10 (content of variable 1).
12. SEL Language ● EXSR (Execute Subroutine) Expansion condition (AND · OR) [Function] Command Input condition (I/O · Flag) Command Operand 1 EXSR Subroutine No. Operand 2 P o st (Output · Flag) Executes the subroutine number designated in operand 1. Note: Only a subroutine number within the same program is enabled. [Example1] EXSR 1 : : EXIT BGSR 1 : : : Execute subroutine 1. Begin subroutine 1 EDSR [Example 2] LET EXSR End subroutine 1.
12. SEL Language 12.9 Task management commands ● EXIT (Exit Program) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Optional Optional EXIT [Function] Operand 1 Operand 2 P o st (Output · Flag) Finishes the program. When final step is reached without the EXIT command, process returns to the front. * The status when the program is complete • Output Port ..................... Valid • Local Flag ..................... Invalid • Local Variable ...............
12. SEL Language ● ABPG (Stop Other Program) Input condition (I/O · Flag) Command Operand 1 Optional Optional ABPG Program No. [Function] Note: CP The ABPG command stops the program once the command being executed is completed. ABPG [Example 2] LET 1 ABPG *1 10 Stop program No. 10. 10 Assign 10 to variable 1. Stop variable 1 (content 10) program. SLPG (Task Pause) * Commands not yet publicly available can not be used.
12. SEL Language ● GTPG (Acquire Task Level) * Commands not yet publicly available can not be used. Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional GTPG Variable No. Program No. [Function] P o st (Output · Flag) Reads the task condition of operand 2 program into operand 1 variable.
12. SEL Language ● STPR (Task Level Change) * Commands not yet publicly available can not be used. Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional STPR Task level Operand 2 P o st (Output · Flag) [Function] Change the task level of the self task to the value of operand 1. The task level range is 1~5, smaller number receiving priority. [Example 1] STPR 1 Change task level to 1. [Example 2] LET 1 STPR *1 Assign variable 1 to 3.
12. SEL Language 12.10 Resource management commands ●GTRS (Obtain Resource) *Commands not yet publicly available can not be used. Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional GTRS Resource No. Operand 2 P o st (Output · Flag) [Function] Obtains resource. If resource is not available, program pauses until the resource is released. Assigns resource no. 1~9. [Example 1] Define X axis as resource 1.
12. SEL Language 12.11 Position Data Operation Commands ● PPUT (Write Position Data) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional PPUT Axis No. Position No. Variable No. [Function] Writes the coordinates in variable 199 to the designated axis position data. [Example] ● PGET LET 199 PPUT 2 150 3 Assign 150 to variable 199. Write variable 199 (content 150) to position 3 (axis 2).
12. SEL Language ● PCLR (Position Data Clear) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional P C LR Position No. Position No. P o st (Output port · Flag) [Function] Clears the data in the range of positions designated by operand 1 and operand 2 (becomes XX.XXX, not 0.00). [Example] PCLR 10 20 Clears data from position 10 in operand 1 through position 20 in operand 2.
12. SEL Language ● PRED (Read Coordinates) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional PRED Axis pattern Position No. P o st (Output port · Flag) [Function] Reads the current coordinates of the axis designated in operand 1 and writes it to the position designated in Operand 2. [Example] PRED ● PTST 11 10 Read the current coordinates of axis 1 and axis 2 designated in operand 1 into position 10.
12. SEL Language ● PVEL (Assign Velocity Data) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional PVEL Velocity Position No. [Function] P o st (Output port · Flag) Assigns the value in operand 1 as the velocity for the designated position data. Variables can also be used. This command is used to change the actual velocity.
12. SEL Language ● PSIZ (Check Position Data Size) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional PSIZ Variable No. Operand 2 [Function] Checks the maximum size of the position data that can be used. [Example] PSIZ 1 P o st (Output port · Flag) The maximum value of the position data goes into variable 1 (variable to be assigned) in operand 1.
12. SEL Language ● VEL(Velocity) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Opti onal Opti onal VEL Veloci ty [Function] P o st (Output port · Flag) Operand 2 Sets the velocity of an actuator movement in mm/sec. The maximum velocity varies according to the model of the actuator so please set below that value. *Decimal places cannot be used. Entering a decimal value will cause an error. *The minimum velocity setting is 1mm/sec.
12. SEL Language ● ACC (Acceleration) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional AC C Acceleration Operand 2 P o st (Output port · Flag) [Function] Sets the acceleration of the actuator movement which is expressed in G (Gravity). The maximum acceleration varies and depends on the actuator model and payload. The rated acceleration is 0.3 G. The actuator moves at the rated acceleration 0.
12. SEL Language ● SCRV (S Motion Ratio Setting) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional SCRV Ratio [Function] Operand 2 P o st (Output port · Flag) Sets the ratio to control the S motion of the actuator. The setting range is integers from 0 ~ 50 (%). If this command is not used to set the ratio or when it is set to 0 (%), the actuator makes a trapezoid motion.
12. SEL Language ● ATRG (Arch Motion Trigger) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Opti onal Opti onal ATRG Posi ti on rati o (%) [Function] Operand 2 P o st (Output port · Flag) Sets the axis movement position ratio to execute the ARCH command. *The position ratio depends on the distance of the movement but it should be set at 50~60% or higher. When the ratio is set too low, a "C2" alarm may occur. [Example] Posi ti on D ata No.
12. SEL Language ● HOLD(Hold: Axis Temporary Stop) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Opti onal Opti onal HOLD I/O · Flag Operand 2 P o st (Output port · Flag) [Function] Designates an input port for sending a command to decelerate and stop while a move command is being executed. If the designated input port turns ON, then velocity decreases until all motion stops. When the input port turns OFF, then motion begins again.
12. SEL Language ● CANC(Cancel: Cancels Remainder of Move) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Opti onal Opti onal C ANC I/O · Flag Operand 2 P o st (Output port · Flag) [Function] Designates an input or flag for sending a command to decelerate and stop while a move command is being executed. If the actuator is moving and the designated input port turns ON, then velocity decreases until all motion stops.
12. SEL Language ●GRP (Grouping of Axes) E xpansi on condi ti on (A ND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Opti onal Opti onal GRP A xi s pattern C ommand Operand 2 P o st (Output port · Flag) [Function] This command moves the actuator through the position data of the designated axis pattern. (Even if there is data in axes other than those designated, the actuator will not move to these positions).
12. SEL Language ●AXST (Axis Status Acquisition) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional AXST Variable No. Axis No. P o st (Output port · Flag) [Function] Stores the status (error code) of the axis in Operand 2 in the variable in Operand 1. Only error codes that begin with the letter "A" will be stored in the register in Operand 1.
12. SEL Language 12.13 Actuator Control Commands ● SVXX (Servo ON/OFF) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional SVXX Axis pattern Operand 2 P o st (Output port · Flag) [Function] This commands turns the servo of the designated axes ON/OFF . SVXX [Example] ● HOME ON ••• OF ••• Turns the servo ON. Turns the servo OFF. SVON SVON 11001100 Turn on the servo for axis 4, 7, 8. This does not affext axes that are already ON.
12. SEL Language ● MOVD (Direct Designate Move) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional MOVD Move position Operand 2 P o st (Output port · Flag) Optional [Function] Moves the actuator to a position designated in operand 1. Output turns OFF when axis move starts, and upon completion, turns ON. [Example 1] MOVD 100 [Example 2] LET 1 MOVD *1 Move the axis to position 100. 100 Assign 100 to variable 1.
12. SEL Language ● MOVL( Position Data with Interpolation) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Optional Optional MOVL Operand 1 Position No. Variable Operand 2 P o st (Output port · Flag) Optional [Function] Moves the actuator to the designated point while using interpolation (not point to point). [Example] MOVL 100 Move to position No. 100 using interpolation. MOVL *1 If variable 1 is 150, then the actuator moves to position 150 using interpolation.
12. SEL Language ● MVPI (Incremental PTP Move) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Optional Optional MVPI Position No. Operand 2 P o st (Output port · Flag) PE [Function] Moves the actuator to the designated position number in reference to the current position from point to point without interpolation.
12. SEL Language ● ARCH (Arch Motion) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal ARC H Starti ng posi ti on No. Endi ng posi ti on No. P o st (Output port · Flag) [Function] In order to accomplish faster pick & place motion in the air and the tact time, the actuator performs an arch motion movement by changing the position ratio of the axis movement before it reached the intermediate target position.
12. SEL Language ● CIR (Circular Movement) C ommand E xpansi on condi ti on (A ND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal C IR P assi ng posi ti on 1 P assi ng posi ti on 2 [Function] Executes circular motion using the current position as the starting point and passing points 1 and 2. The rotation direction is determined by the position data.
12. SEL Language ● ARC (Arc Movement) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal ARC Passi ng posi ti on 1 Passi ng posi ti on 2 [Function] P o st (Output port · Flag) PE Executes an arc motion from the current position to operand 2 position, passing through operand 1. The output turns OFF during an arc move and turns ON upon completion.
12. SEL Language ●JXWX (Jog move) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal JXWX Axi s pattern I/O Flag [Function] P o st (Output port · Flag) PE Continues to move while the axis designated in operand 1 meets the condition I/O port flag designated in operand 2. Stops when the axis reached soft limit. JXWX F B F B Note: ••• N N F F ••• • • • ••• Designated port moves forward during ON.
12. SEL Language 12.14 Structured IF Commands ● IFXX (Structured IF) Expansion condition (AND · OR) Optional [Function] Command Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional IFXX Variable No. Data P o st (Output port · Flag) Compares the contents of the variable in operand 1 and the value in operand 2. When the condition is established, the program proceeds to the next step.
12. SEL Language ● ISXX (String Comparison) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional ISXX Column No. Column No. Literal character [Function] P o st (Output port · Flag) Compares the character string in the column numbers in Operand 1 and Operand 2. When the condition is established, the program proceeds to the next step.
12. SEL Language ● ELSE Expansion condition (AND · OR) Input condition (I/O · Flag) Command Command Operand 1 Operand 2 P o st (Output port · Flag) E LS E [Function] The ELSE command is used in conjunction with the IFXX command and ISXX command. When the condition is not established, the command following the ELSE statement will be executed. [Example] Refer to IFXX and ISXX.
12. SEL Language 12.15 Structured DO Command ● DWXX (DO WHILE) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal D WXX Vari able No. D ata [Function] P o st (Output port · Flag) Compares the contents of the variable in Operand 1 and the value in Operand 2. While the condition is established, the commands are executed up to EDDO.
12. SEL Language ●LEAV (Escape From DO WHILE) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Opti onal Opti onal LEAV [Function] Operand 1 Operand 2 P o st (Output port · Flag) Escapes the DOXX loop, then the program proceeds to the next step after EDDO. [Example] DWEQ 1 0 · · LEAV · · EDDO While variable 1 is 0, the commands up to the EDDO command are repeated.
12. SEL Language 12.16 Branching commands ●SLCT (Start Selection Group) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Opti onal Opti onal S LC T Operand 1 Operand 2 P o st (Output port · Flag) [Function] Branches to the next step after the OTHE command if none of the conditions set up by the WHXX, WSXX or any commands up to the EDSL command are met.
12. SEL Language ● WHXX (Selected When True Variable) Expansion condition (AND · OR) [Function] Input condition (I/O · Flag) * Command Operand 1 Operand 2 WHXX Variable No. Data P o st (Output port · Flag) This is used between the SLCT∼ EDSL commands. Compares the contents of the variable in operand 1 to the value in operand 2. If the conditions are met, then the code following the WHXX will be executed up to the next WHXX.
12. SEL Language ● WSXX (Selected When True Character) Expansion condition (AND · OR) [Function] Input condition (I/O · Flag) Command Command Operand 1 Operand 2 WSXX Colum No. Column No. · Literal character P o st (Output port · Flag) This is used during SLCT∼ EDSL. Compares the character string in the columns in operand 1 and operand 2. If the conditions are met, then the code following the WSXX will be executed up to the next WSXX.
12. SEL Language ● OTHE (Selected in Case of Other) Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand C ommand Operand 1 Operand 2 P o st (Output port · Flag) OTHE [Function] This is used between SLCT~EDSL commands. This declares the command to be executed when no other conditions are met. [Example] Please refer to SLCT, WHXX and WSXX.
12. SEL Language 12.17 External input output command ● OPEN (Open Channel) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Opti onal Opti onal OPEN C hannel No. Operand 2 P o st (Output port · Flag) [Function] Opens the channel specified in operand 1. Channels specified after this will be able to transmit and receive signals. An ending character must be set by the SCHA command before executing this command.
12. SEL Language ● READ C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal READ C hannel No. C olumn No. [Function] Reads the character string from the channel in operand 1 to the column in operand 2. Stops reading when the character designated in the SCHA command appears. The column can be either local or global.
12. SEL Language ● WRIT (Write) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal WRIT C hannel No. C olumn No. [Function] Writes the character string from the channel in operand 1 to the column in operand 2. Stops writing after the character designated in the SCHA command is written. The column can be either local or global.
12. SEL Language 12.18 String processing commands ● SCPY C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal SC PY C olumn No. C olumn No. Li teral C haracter P o st (Output port · Flag) [Function] Copies the character string from the column in operand 2 to the column in operand 1. Copies only the length set by the SLEN command. When operand 2 is a literal character, that is the length copied.
12. SEL Language ● SGET (Acquire Character String) C ommand Expansi on condi ti on (AND · OR) Input condi ti on (I/O · Flag) C ommand Operand 1 Operand 2 Opti onal Opti onal SGET Vari able No. C olumn No. P o st (Output port · Flag) [Function] Assigms 1 character from the column in operand 2 to the variable in operand 1. [Example] SGET 100 LET LET SCPY SGET 1 2 1 *1 ● SPUT Assign 1 byte of column 100 to variable 1. 3 1 ‘A’ *2 Assign 3 to variable 1. Assign 1 to variable 2.
12. SEL Language ● STR (Change Character String Decimal) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional STR Column No. Data [Function] [Example] P o st (Output port · Flag) Copies the data in operand 2 which has been converted to a decimal character string to the column in operand 1. Uses zero-suppress to match this to the length set by the SLEN command.
12. SEL Language ● STRH (Change Character String Hexadecimal) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional STRH Column No. Data [Function] [Example] P o st (Output port · Flag) Copies the data in operand 2 which has been converted to a hexadecimal character string to the column in operand 1. Uses zero-suppress to match only the integers to the length set by the SLEN command.
12. SEL Language ● VAL (Character String Change Data Decimal) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional VAL Variable No. Column No. P o st (Output port · Flag) [Function] Converts the data in the column in operand 2 to a number and assigns this to the variable in operand 1. The length set by the SLEN command will be converted. [Example] SCPY 10 '1234' Copy the string '1234' into columns 10~13.
12. SEL Language ● VALH (Character String Data Hexadecimal) Command Expansion condition (AND · OR) Input condition (I/O · Flag) Command Operand 1 Operand 2 Optional Optional VALH Variable No. Column No. P o st (Output port · Flag) [Function] Converts the hexadecimal data in the column in operand 2 to a decimal number and assigns this to the variable in operand 1. The length set by the SLEN command will be converted.
13. Error Codes 13.1 List of error codes Erro r Co d e A1 A2 A3 A4 A5 B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 BA BB BC C0 C1 C2 C3 CA CB CC CD CE CF D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF E0 E1 E2 E3 EG F0 Erro r Name Ex p lanatio n 1. Mo to r o v e r c urre nt Ex te rnal Inte rrup t Erro r 2. Ov e r re g e ne rativ e c urre nt (o v e r ne g ativ e lo ad ) 3.
13. Error Codes 13.2 What to do When an Error Code Occurs Below we indicate what to do in case any of the error codes described on the preceding page appear in the 7-segment display on the face of the controller. (1) A1 ~ A5 alarms related to the servo When one of these alarms related to the axis appears, determining which axis is the cause of the error makes it easier to solve the problem. One of the ways to do this is to judge by the axis status or movement at the time the error was generated.
13. Error Codes (2) B0 - BC Programming Errors Group 1 An error will be displayed when there is a problem with the written program itself or the program that was started up. In this case, alarm output 300 will not be asserted. C ode Error What To D o The program that was run from external startup has no defi ned content. Run the program wi th the proper number. The program that was runni ng restarted. Thi s i s not necessari ly a problem - the code di splay i s just a warni ng to the operator.
13. Error Codes (3) C0 - CF programming errors Group 2/Command Error - 1 This group of errors is also related to programming, but primarily arises from the way the commands are used. C0 Homing incomplete error Tried to execute move command without performing homing. After the power is turned ON, or after an emergency stop, homing must always be performed. C1 Position designation error Tried to move to a position not specified by the position data. Set position data.
13. Error Codes D2 Override error The override was specified outside the range of 1 ~ 100%. Specify value within this range. D3 Angle error The angle parameter for the circular move command was specified outside the range of 0.1 ~ 120°. Specify angle within this range. D4 Axis pattern error The axis pattern designation is incorrect. Or, the problem is the same as for a C1 position setting error. Correct the data setting.
13. Error Codes (5) E0 - E3 programming errors Group 4/Command error - 3 These errors, like those in sections 3 and 4 above, primarily arise from the way the commands are used. E0 Undefined command error Attempted to execute an undefined command. If you use the PC interface software, the check function will prevent this. E1 Subroutine overnesting error There are more than 15 subroutines nested. This alarm occurs after trying to run the program.
13. Error Codes Another thing to consider with an emergency stop Usually, the emergency stop input is tied to a ground. In the case where you are using an external power supply, the power supply voltage can drop, causing an emergency stop to occur. The way the circuitry is designed, the 24V DC power supply must be turned on before the controller, and the power supply must not be turned OFF while the controller is in operation.
Intelligent Actuator Inc. 2690 W. 237th Street Torrance, CA 90505 310-891-6015 / 310-891-0815 (Fax) www.intelligentactuator.com Publication No.