IAI America DS-S-C1 User Manual

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 630­467-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. 237th Street Torrance, CA 90505 310-891-6015 / 310-891-0815 FAX
Intelligent Actuator, Inc.
Midwest Regional Office
1261 Hamilton Parkway Itasca, IL 60143 630-467-9900 / 630-467-9912 FAX
www.intelligentactuator.com
©April, 1998 Intelligent Actuator, Inc. All rights reserved. No portion of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechnical, recording, or otherwise, without the prior written permission of Intelligent Actuator, Inc.
Disclaimer
The information and technical data contained herein are subject to change without notice. Intelligent Actuator, Inc. assumes no responsibility for any errors or omissions regarding the accuracy of the information contained in this publication.
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
*1.
becomes less capable of handling real time control added. Furthermore, the process becomes increasingly complex, as one encounters problems with false commands, required knowledge of MS-DOS, etc.
It goes without saying that being able to accomplish the same task using a simple method is much better. So, we welcome you to step into the world of high level control using SEL Language which is a simple system, that operates at high speeds even as it is interpreting.
At this point, an extra step, compling *2 , needs to be
*1 An interpreter is executing a command as it translates that command into computer language. *2 Compling refers to translating the command into computer language before the comand is executed,
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 .......................................................................................................................................................... 6
2.2 Output ports ........................................................................................................................................................ 6
2.3 List of I/O ports for the Super SEL type .............................................................................................................. 7
2.4 List of I/O ports for the DS type.......................................................................................................................... 8
3. Flags .........................................................................................................................................................................10
4. Variables
4.1 What are variables?........................................................................................................................................... 11
4.2 Types of variables ............................................................................................................................................. 11
5. Tags ..........................................................................................................................................................................14
6. Subroutines ...............................................................................................................................................................15
7. Axis Designation
7. 1 Axis No. and Display..........................................................................................................................................16
7. 2 Axis pattern. .......................................................................................................................................................17
8 . Structure of SEL Language
8. 1 Position program. ...............................................................................................................................................18
8. 2 Commands ........................................................................................................................................................19
8.2-1 Structure of SEL Language.....................................................................................................................19
8.2-2 Expansion Condition ............................................................................................................................... 20
9. List of Parameters
9. 1 Common parameters for multiple axes. ...............................................................................................................22
9. 2 Common parameters for a single axis..................................................................................................................23
9. 3 Parameters by axis ..............................................................................................................................................24
10 . List of SEL Language Command Codes by Function ................................................................................................26
11 . List of SEL Language Command Codes in Alphabetical Order .................................................................................30
2
12 . SEL Language
12.1 Numeric calculation commands .......................................................................................................................32
12.2 Arithmatic calculation commands....................................................................................................................34
12.3 Functional calculation commands ...................................................................................................................37
12.4 Logic operation commands..............................................................................................................................40
12.5 Comparison operation commands ...................................................................................................................43
12.6 Timer commands..............................................................................................................................................44
12.7 I/O•Flag operation commands .........................................................................................................................46
12.8 Program control commands .............................................................................................................................52
12.9 T ask management commands ..........................................................................................................................54
12.10 Resource management commands...................................................................................................................58
12.11 Postion operation commands ..........................................................................................................................59
12.12 Actuator control declarations..........................................................................................................................64
12.13 Actuator control commands ............................................................................................................................72
12.14 Structured IF commands. .................................................................................................................................80
12.15 Structured DO commands................................................................................................................................83
12.16 Branching commands ......................................................................................................................................85
12.17 External I/O commands ....................................................................................................................................89
12.18 String processing commands...........................................................................................................................92
Table of Contents
13 . Error Codes
13.1 List of Error Codes ..........................................................................................................................................98
13.2 What to do when an Error Code occurs ...........................................................................................................99
3
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.
noitcnuF
troPtupnI
troPtuptuO
galF
)sregetnI(elbairaV
elbairaV
)srebmunlaeR(
nmuloC
.oNgaT
.oNenituorbuS
.oNsixA
nrettaPsixA
.oNnoitisoP
.oNmargorP
.oNpetS
leveLksaT
.oNecruoseR
.oNlennahC
8 7 6 5 4 3 2 1
labolGlacoLaeralabolGlacoL
)882(782~000)51(510~100
)882(785~003)8(703~003 )882(788~006)001(999~009)882(788~006)001(999~009
)001(992~002)99(99~1)001(992~002)99(99~199rofBTUO,BNIesU )001(993~003)001(991~001)001(993~003)001(991~001991rofTEGP,TUPPesU
999~003
)sretcarahc007(
8~11
stigidyranib8
0002~1005~1
46~123~1
0003~10001~1 5~15~1 9~19~1
2~1
otelbisiV
smargorplla
epyTLESrepuS epyTSD
999~003
)sretcarahc007( )46(46~1)46(46~1 )46(46~1)46(46~1
anihtiwylnoelbisiV
egnarlacoL(.margorp
margorptasraelc
)putrats
otelbisiV
smargorplla
skrameR
otgnidroccaseiraV
epytrellortnoc
otgnidroccaseiraV
epytrellortnoc
otgnidroccaseiraV
epytrellortnoc
detangisedehtrof1esU
sixa
otgnidroccaseiraV
epytrellortnoc
anihtiwylnoelbisiV
egnarlacoL(.margorp
margorptasraelc
)putrats
.esu
laicepsera991dna99selbairaV
.noitaluclacnidesuselbairav
larenegrofesehtgnisudiovA
Note: Variables 99 and 199 are special registers that the system uses for calculations.
l Battery Back-up Range
When the power is turned back ON, everything will be cleared except the area backed up by the battery. (Same as an emergency stop)
Program........................ Stop
Output Port .................. Clear
Local Flag .................... Clear
Local Variable .............. Clear
Home Position ............. Clear
Global Flag................... Maintained
Global Variable ............ Maintained
4
1. Numerals and Symbols in SEL Language
l Range of numerical values in SEL
SEL uses two types of numbers, integers and real numbers but are subject to the following limitations.
1. 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 10
2. Limitations in actual use The programming tool developed initially was an LCD teaching pendant which resulted in certain constraints with respect to input and output from the program. The numerical values that can be handled from the program are ­9,999,999~99,999,999 for integers and -999,999~9999,999 or -.999999~.999999, in other words an eight digit value including the decimal point sign for real numbers. Also, when doing floating point calculations, the significant figure can only be guaranteed up to 7 digits and it will include errors that are particular to floating points.
3. Position data Internally, position data is handled as whole number data but during the calculation process, these are incorporated into real numbers and treated as real numbers. There are no problems when dealing with numbers ±9999.999 but when these are internally calculated as general data and not position data (repeated multipliying and dividing), a problem arises with the accuracy of the last digit. When using the Super SEL, please pay close attention to these points. In particular, if you use the CPEQ command in a comparative calculation using real numbers, you will see almost no correlation. In this case, you will need to use the CPLE/CPGE command which can view the large and small relations in parallel.
38,
as a single precision floating point.
1. 2 Symbols used in SEL Language
SYMBOL MEANING EXAPLANA TION
ZR Zero When calculation results are 0, post turns ON EQ Equal When operand 1 = operand 2, post turns ON NE Not equal When operand 1 operand 2, post turns ON
G T Greater tham When operand 1 > operand 2, post turns ON GE Greater or equal to When operand 1 operand 2, post turns ON
LT Less than When operand 1 < operand 2, post turns ON LE Less than or equal to When operand 1 < operand 2, post turns ON
PE Position end When movement is comeplete, post turns ON
C P Complete When the command is completed, post turns ON TU Time up After the time has elapsed, post turns ON XX No position data When there is no valid value in the position, post turns ON ON ON On OF OFF Off NT Not Invert
FN Forward ON Moves forward while the designated I/O · flag is ON FF Forward OFF Moves forward while the designated I/O · flag is OFF B N Backward ON Moves backward while the designated I/O · flag is ON B F Backward OFF Moves backward while the designated I/O · flag is OFF
(turns ON 2 points before the end of path, circular and arc moves when used in successive, consecutive lines of code)
5
.oNtupnI
tnemngissA
epyTSD
510~100dradnatS
2. I/O Ports
2. 1 Input Ports
Input ports are used for limit switches, sensor switches, etc.
2.2 Output Ports
These are used as various output ports.
.oNtupnI
tnemngissA
320~100dradnatS 740~420noitpO
170~840noitpO
590~270noitpO
.oNtuptuO tnemngissA
G·EepyT
G·EepyT
323~003dradnatS 743~423noitpO 173~843noitpO 593~273noitpO
.oNtuptuO tnemngissA
703~003dradnatS
6
epyTSD
2. I/O Ports
2. 3 List of ports for the Super SEL type
.oNtroP noitcnuF noitanalpxE
000tupnitratSlanretxE .detucexesimargorpdetangisedeht,NOsnruttupnitnemomehttA 100tupniresU .esoohcyehtsatropsihtesunacsresU 200tupnitcatnocepyt-bpotsycnegremE .potsycnegremeotniseogrellortnoceht,FFOsnruttupnisihtnehW 300evresermetsyS .)erutufehtninoitcnufwenaddaotdesueblliwtropsiht(desuebtonnaC 400evresermetsyS .)erutufehtninoitcnufwenaddaotdesueblliwtropsiht(desuebtonnaC 500tupniresU .esoohcyehtsatropsihtesunacsresU 600tupniresU .esoohcyehtsatropsihtesunacsresU 700tupniresU .esoohcyehtsatropsihtesunacsresU
800)tupniresu(10.oNGRP
900)tupniresu(20.oNGRP
010)tupniresu(40.oNGRP
110)tupniresu(80.oNGRP
210)tupniresu(01.oNGRP
310)tupniresu(02.oNGRP
410)tupniresu(04.oNGRP 510
~
320 420
~
782 003tuptuomralA/potsycnegremE .sruccororrenanehwropotsycnegremenagnirudNOsnrutsihT 103tuptuoydaeR .ydaersirellortnocehtnehwNOsnrutsihT 203
~
323 423
~
785
tupniresU .esoohcyehtsatuptuosihtesunacsresU
tupninoisnapxE
tuptuoresU .esoohcyehtsatuptuosihtesunacsresU
tuptuonoisnapxE
10°units
101units
.tinudrac
008~014 are 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.
O/InoisnapxenanogniddaybdesuebnactahtstroptupniresueraesehT
.tinutroptupnideepshgihrotinudrac
O/InoisnapxenanogniddaybdesuebnactahttroptuptuoresueraesehT
7
2. I/O Ports
2. 4 List of I/O ports for the DS type
.oNtroP noitcnuF noitanalpxE
evreseR
000tupnitratslanretxE .detucexesimargorpdetangisedeht,NOsnruttupnitnemomehttA 100
510 003tuptuomralA/potsycnegremE .sruccororrenanehwropotsycnegremenagnirudNOsnrutsihT 103tuptuoydaeR .ydaersirellortnocehtnehwNOsnrutsihT 203
703
tupniresU .esoohcyehtsatropsihtesunacsresU
tuptuoresU .esoohcyehtsatropsihtesunacsresU
Program Mode
)tupniresu(10.oNGRP )tupniresu(20.oNGRP )tupniresu(40.oNGRP )tupniresu(80.oNGRP )tupniresu(01.oNGRP )tupniresu(02.oNGRP
tupniteserUPC.rellortnocehtstratseR
10°units
101units
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.
8
2. I/O Ports
.oNtroP noitcnuF noitanalpxE
000tupnitratslanretxE .detucexesimargorpdetangisedeht,NOsnruttupnitnemomehttA 100tupnidloH .noitisopdetanisedehtotsevomrotautcaeht,NOsnrutsihtnehW 200
300 400tupni1.oNnoitisoP 500tupni2.oNnoitisoP 600tupni4.oNnoitisoP 700tupni8.oNnoitisoP 800tupni01.oNnoitisoP 900tupni02.oNnoitisoP 010tupni04.oNnoitisoP 110tupni08.oNnoitisoP 210tupni001.oNnoitisoP 310tupni002.oNnotisoP 410tupni004.oNnoitisoP 510CN.edomgninoitisopgnirudCNotsegnahc510 003tuptuomralA/potsycnegremE .sruccororrenanehwropotsycnegremenagnirudNOsnrutsihT 103tuptuoydaeR.ydaersirellortnocehtnehwNOsnrutsihT 203tuptuoetelpmocgninoitisoP .etelpmocsievomnoitisopnehwNOsnrutsihT 303
703
Positioning Mode
)tupniresu(10.oNGRP )tupniresu(20.oNGRP )tupniresu(40.oNGRP )tupniresu(80.oNGRP )tupniresu(01.oNGRP )tupniresu(02.oNGRP
evreseR
tupniteserUPC.rellortnocehtstratseR
CN.edomgninoitisopgnirudCNotsegnahc300~200
CN.edomgnirudCNotsegnahc703~303
10°units
101units
102units
margorPehtnrut,edomgninoitisopehtgnisunehW
.sutats)FFO(]0[ottupni.oN
004~014 are used as BCD codes to designate the Position No.
The moment input port 000 (external start input) turns ON, the actuator moves to the designated position.
Homing is performed when there is no Position No. designation.
9
3. Flags
3. 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 .
rebmuNgalF788~006smargorpllanidesuebnaC:galflabolG
rebmuNgalF999~009margorplaudividninanihtiwylnodesuebnaC:galflacoL
Program 1
BTON 600
Turn Flag 600 ON
Communicates signals by using global flags which are visible in all programs.
Program n
WTON 600
Waiting for Flag 600 to turn ON
BTON 900 BTON 900
Even though these are the same command, these local flags exist individually in each program.
10
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.
Variable
Register #1
Put 1234 into variable register #1
T ake 456 out of variable register #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.
Add one to variable register #1
Variable
Register #1
2
(Already contains "2")
11
4. Variables
4.2 T ypes 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]
V ariable
Register #1
Integer V ariable
Register
1 2 3 4
Integer Variable
No.
Integer Variable
No.
Note: The variable 99 is a special register for whole integer calculation.
The numbers that can be input in the program are -9,999,999 to 99,999,999.
200~299 Global i nteger variable: Can be used in all programs
1~99
Local integer variable: Can be used o nly within an i ndivi dual program
Real variable
These are variables that can accommodate the actual value exactly as it appears, including digits following the decimal point. [Example: 1234.567]
Real V ariable
V ariable
Register #1
Register
1234.567
Integer Variable
No.
Integer Variable
No.
Note: The variable 199 is a special register for real number calculation.
The numbers that can be input in the program are -99,999.9 to 999,999.99 (8 digits which includes the decimal point sign).
300~399 Global i nteger variable: Can be used in all programs
100~199
Local integer variable: Can be used o nly within an i ndivi dual program
12
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.
Command Operand 1 Operand 2
LET 1 1234
1234
Put in
V ariable
Register #1
1 2 3 4
Command Operand 1 Operand 2
LET 2 *1
V ariable
Register #2
1 2 3 4
V ariable
Register #1
1 2 3 4
13
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)
T AG 1
GOTO 1
Can be used individually in each program.
14
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. (1 ~ 64 Integers)
Begin subroutine command
Command Operand 1
EDSR --------
End subroutine command
EXSR 1
EXSR 1
EXSR 1
BGSR 1
EDSR
Call subroutine
Subroutine
15
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.
1 1
2 2
3 3
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. are: BASE, PPUT , PGET
Default
Notation
4
Note: The DS type displays only one axis.
16
7. Axis Designation
7.2 Axis Pattern
Selection of an axis is specified by either "1" or "0"
(Upper)
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 2
Axis 1
The zeroes before the 1 are unnecessary . The simplified form is 11, without leading zeroes.
(Lower)
Example
If Axis 1 and Axis 8 are in use, then this is signified by ...
1 0 0 0 0 0 0 1
Axis 8
Axis 1
In this example, the zeroes are necessary in order to indicate the position of Axis 8.
Axis pattern is used when designating more than one axis at the same time.
Axis pattern designation command OFST , GRP , SVON, SVOF , HOME, JFWN, JFWF , JBWN, JBWF , STOP , PTST , PRED
Note: The axis pattern for the DS type is preset since there is only one axis.
17
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
-itisoP
.oNno
1 2 3 4
7991 8991 9991 0002
yticoleV
-itareleccA
no
±9999.999mm
1sixA2sixA3sixA4sixA5sixA6sixA7sixA8sixA
* 1 Varies according to the actuator model. *2 When velocity and acceleration are set in the position data, this has priority over the data set in the
application program. T o validate the application data, set x.xxx or 0 in the position data.
Note: The DS type is a single axis only. Also position numbers go up to 500.
18
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.
noisnapxE
)RO·DNA(
Putting this in a ladder diagram,
noitidnoCtupnI
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
ò
-nammoC
d
(1) The conditions before the commands are equivalent to "if ~ then" statements in BASIC language.
-nammoC
d
IF ~ THEN ELSE
Carry out a command when an input condition is established, and turn the post ON, if post is
designated. When not established, go on to the next step regardless of the next command (ex. WTON, WTOF). The designated post remains the same , however it needs to be monitored carefully.
If there is no conditioning set up, carry out command unconditionally.If condition is used as "negative condition", then place an "N" (NOT).Input/output port & flag can be used for condition.
○○○○○○○○○○○○○○○○○○○○○○○○○○
dnarepO
1
dnarepO
1
dnarepO
2
dnarepO
2
To the next step,
tsoP
○○○○○○
. . . . .
tsoP
tsoP
·troptuptuO(
)galF
ò
(2) Post is set based on the result of the command execution.
-nammoC
d
Actuator motion control commands: becomes OFF immediately after the command starts to be executed,
and becomes ON when the command is completed. Computation commands: when the result becomes a certain value, it turns ON, and it stays OFF otherwise.
Output ports and flags can be used for the post section.
dnarepO
1
dnarepO
2
19
tsoP
8. Structure of SEL Language
8. 2-2 Expansion Condition
It is possible to combine conditions to make more complicated conditions as follows:
AND Expansion (Ladder Diagram display) (Super SEL Language)
Cond 1
Cond 2
Cond 3
OR Expansion
Cond 1
Cond 2
AND
AND
OR
Expansion Input
Commands
Command Operand1 Operand2
Condition1
AND Condition 2
AND Condition 3 Command Operand1 Operand2
Commands
Expansion Input
Command Operand1 Operand2
Condition 1
OR Condition 2 Command Operand 1 Operand 2
Output
Ouptput
AND/OR Expansion
Cond 1
Cond 2
Cond 3
AND
OR
Expansion Input
Command Operand1 Operand2
Condition1
AND Condition 2
OR Condition 3 Command Operand1 Operand2
Commands
Output
Note: By conevention, all “AND” operations are performed before the “OR” operations when they are used in conjunction.
20
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
.oN emaNretemaraP tluafeD tnetnoC
1eziSsixA8 sexaforebmuN 2rotaremuN1 rotaremuN 3rotanimoneD1 rotanimoneD
4)%(edirrevO001edirrevO
5)G(releccA03.0rotcafnoitareleccA
6)G(xaMreleccA00.1)G(rotcafnoitareleccamumixaM
7)s/mm(leVevirD001)ces/mm(yticolevevirD
8)s/mm(xaMleVevirD0001)ces/mm(yticolevevirdmumixaM
(2 ) Program parameters
.oN emaNretemaraP tluafeD tnetnoC
1margorPtratSotuA0 .oNrebmunmargorptratsotuA
2margorPycnegremE0 .oNrebmunmargorppotsycnegremE 3eziSmagrorP46smargorpforebmuN 4eziSksaT61sksatforebmuN 5eziSpetS0003spetsmargorpforebmuN 6ecilSemiT10.0eulavkcehcecilsemiT
(3 ) Point parameters
.oN emaNretemaraP tluafeD tnetnoC
1eziStnioP0002ytitnauqatadtnioP
(4) Arc parameters
.oN emaNretemaraP tluafeD tnetnoC
1)°(elgnAelcriC0.51)°(elgnaecilS
2)s/mm(tleDelcriC0 )s/mm(tnemercniyticoleV
21
9. List of Parameters
(5 ) Serial I/O parameters
.oN emaNretemaraP tluafeD tnetnoC
1DIlanimreT99edocsserddapord-itluM
2)S(tuOemiT0 )S(tuoemiT
3)s/tib(etaRduaB3 )s/tib(etarduaB
4htgneLraelC0 htgnelretcarahC
5ytiraP0 ytiraP 6tiBpotS0 tibpotS
(6 ) Parallel input port parameters
.oN emaNretemaraP tluafeD tnetnoC
1.oNeciveD3~1.oNeciveD
2DItinU1 .oNtinU
3)sm(emiTnacS1 )sm(emitnacS
4DItinU1 .oNtinU
5)sm(emiTnacS1 )sm(emitnacS 6DItinU1 .oNtinU
7)sm(emiTnacS1 )sm(emitnacS 8DItinU1 .oNtinU
9)sm(emiTnacS1 )sm(emitnacS
22
9. List of Parameters
9. 2 Common parameters for a single axis
(1 ) Servo parameters
.oN emaNretemaraP tluafeD tnetnoC
1eziSsixA1 sexaforebmuN 2rotaremuN1 rotaremuN 3rotanimoneD1 rotanimoneD
4)%(ediRrevO001edirrevO
5)G(releccA03.0)G(rotcafnoitareleccA
6)G(xaMreleccA00.1)G(rotcafnoitareleccamumixaM
7)s/mm(leVevirD001)ces/mm(yticolevevirD
8)s/mm(xaMleVevirD0001)ces/mm(yticolevevirdmumixaM
(2 ) Program parameters
.oN emaNretemaraP tluafeD tnetnoC
1margorPtratSotuA0 .oNrebmunmargorptratsotuA 2margorPycnegremE0 .oNrebmunmargorppotsycnegremE 3eziSmargorP23smargorpforebmuN
4eziSksaT8 sksatforebmuN
5eziSpetS0001spetsmargorpforebmuN 6ezilSemiT10.0eulavkcehcecilsemiT
(3 ) Point parameters
.oN emaNretemaraP tluafeD tnetnoC
1eziStnioP005ytitnauqatadtnioP
(4 ) Serial I/O parameters
.oN emaNretemaraP tluafeD tnetnoC
1DIlanimreT99edocsserddapord-itluM
2)S(tuOemiT0 )S(tuoemiT
3)s/tib(etaRduaB3 )s/tib(etarduaB 4htgneLrahC0 htgnelretcarahC 5ytiraP0 ytiraP 6tiBpotS0 tibpotS
23
9. List of Parameters
9. 3 Parameters by axis
(1) Servo parameters by axis
.oN emaNretemaraP tluafeD tnetnoC
1emaNsixA8~1emansixA 2ecivreSovreS004)s/semit(ecivresovresfosemitfo.oN 3rotaremuN1 rotaremuN 4rotanimoneD1 rotanimoneD
5)%(ediRrevO001)%(edirrevO 6releccA03.0)G(noitareleccA
7)s/mm(leVgoJ03)s/mm(yticolevgoJ 8dnaBdneP01)eslup(dnabdnenoitisoP 9tesffOtimiLtfoS0.2tesffotimilerawtfoS
01)+(timiLtfoS9999)+(timiLtfoS
11)-(timiLtfoS0 )-(timiLtfoS
(2) Homing parameters by axis
.oN emaNretemaraP tluafeD tnetnoC
1riDemoH0 noitceridemoH 2epyTemoH0 dohtemgnimoH 3ecneuqeSemoH1 ecneuqeS 4loPwSemoH1 ytiraloptupnitimiL 5egdEZemoH1 egdetcetedesahp-Z 6leVpeerCemoH001yticolevpeerC 7leVkcaBemoH01yticolevni-nuR 8leVZemoH5 yticolevhcraesesahp-Z 9tesffOemoH0 )htgnel(tnuomaevomtesffO
01noitaiveDemoH766)eslup(noitaivedpotsdraH 11tnerruCemoH06timiLtnerruC
24
.oN
emaNretemaraP
tluafeD
tnetnoC
1xaMMPRrotoM0004mumixamMPRrotoM 2esluPredocnE004noituloverrepeslupredocnE 3daeLwercS8 )mm(daelwercS 4elpitluM4 reilpitlumeslupredocnE 5emiTekarB1.0emitekarB 6niaGnoitisoP06niagnoitisoP 7niaGdeepS08niagdeepS 8niaGF/F0 niagdrawrofdeeF 9niaGlargetnI03niaglargetnI
01niaGlatoT051niaglatoT 11tmL.tloV.tnI06timilegetalovlargetnI 21deepSrevO014tnatsnocdeepsrevO 31egnaRrorrE6662rorreevitalumuC 41ruCxaMrotoM09tnerrucmumixamrotoM 51daoLrevOrotoM00361timilrewoldaolrevorotoM
9. List of Parameters
(3 ) Motor parameters by axis
25
10. List of SEL Language Command Codes
yrogetaC noitidnoC dnammoC 1dnarepO 2dnarepO tuptuO noitcnuF egaP
lanoitpOTELelbairavngissArebmuNngissARZngissA23OO
ciremuN
snoitaluclaC
citemhtirA
snoitaluclaC
lanoitcnuF
snoitaluclaC
cigoL
snoitarepO
erapmoClanoitpOXXPCelbairavnosirapmoCrebmuNnosirapmoC
remiT
galF•O/I
snoitarepO
margorP lortnoC
ksaT
tnemeganaM
lanoitpONART
lanoitpORLCelbairavgniraelcnigeBelbairavraelcdnERZselbairavraelC33OO lanoitpODDAelbairavotddAdeddarebmuNRZddA43OO lanoitpOBUSelbairavmorftcartbuSdetcartbusrebmuNRZtcartbuS43OO lanoitpOTLUMelbairavylpitluMrebmuNreilpitluMRZylpitluM53OO lanoitpOVIDelbairavediviDrebmungnidiviDRZediviD53OO
lanoitpODOM
lanoitpONIS
lanoitpOSOCelbairavenisocngissA
lanoitpONAT
lanoitpONTA
lanoitpORQS
lanoitpODNA
lanoitpORO
lanoitpOROE
lanoitpOWMIT)ces(emittiaWUTtiawemiT44OO lanoitpOCMIT.oNmargorP lecnactiawemiT44OO lanoitpOMTTGelbairavngissaemiTemiteriuqcA54OO lanoitpOXXTBgalf•tuptuotratSgalf•tuptuodnE]TNFONO[galF•tuptuO64OO lanoitpOXXTW)ces(emittiaWUTtiaW]TNFONO[galF•tupnI74OO lanoitpONIgalf•O/ItsriFgalf•tupnidnE)tib13xaM(tupniyraniB84OO
lanoitpOBNIgalf•O/ItsriF
lanoitpOTUOgalf•O/ItsriFgalf•tuptuodnE)tib13xaM(tupniyraniB05OO lanoitpOBTUOgalf•O/ItsriF )stigid8xaM(tupniDCB15OO lanoitpOOTOGpmujrof.oNgaTpmuJ25OO
GAT.oNgatdetatS tegratpmujeralceD25OO
lanoitpORSXE.oNenituorbusetucexE enituorbusetucexE35OO
RSGBenituorbusdetatS enituorbustratS35OO
RSDE enituorbusdnE35OO lanoitpOTIXE margorpetanimreT45OO lanoitpOGPXE.oNmargorpetucexEPCmargorptratS45OO lanoitpOGPBA.oNmargorppotSPCsmargorprehtopotS55OO lanoitpOGPLS* esuapksaT55OO lanoitpOGPUW*.oNmargorpputratSPCsutatsksatrehtO55OO
lanoitpOGPTG*
lanoitpORPTG*
lanoitpORPTS*levelksaT levelksategnahC75OO lanoitpOCILS*levelksaT)ces(eulavkcehCgnittesecilsemiT75OO
ypocelbairaV
noitanitsed
redniamerngissA
elbairav
elbairavnisngissA
)naidar(
tnegnatngissA
elbairav
tnegnatcrangissA
elbairav
toorerauqsngissA
elbairav
cigolylppaotelbairaV
otdna
cigolylppaotelbairaV
otro
ylppaotelbairaV
otcigolroevisulcxe
ksaterotsotelbairaV
sutats
ksaterotsotelbairaV
level
ypocotelbairaVRZypoC23OO
rebmunnoitaluclaC
)naidar(
)naidar(
)naidar(
)naidar(
otstigidfo.oN
ottrevnoc
RZredniamererugiF63OO
rebmunnoitaluclaC
RZeniS73OO
rebmuNnoitaluclaC
RZenisoC83OO
rebmuNnoitaluclaC
RZtnegnaT83OO
rebmuNnoitaluclaCRZtnegnatcrA83OO
rebmuNnoitaluclaCRZtoorerauqS93OO
rebmuNnoitaluclaCRZdnacigoL04OO
rebmuNnoitaluclaCRZrocigoL14OO
rebmuNnoitaluclaCRZcigolevisulcxE24OO
QEEN
TG
EGTLEL
.oNmargorperiuqcAlevelksateriuqcA65OO
nosirapmoC34OO
)stigid8xaM(tupniDCB94OO
levelksateriuqcA65OO
elpitluM
sixA
elgniS
sixA
* Commands not yet publicly available cannot be used.
Note: The circle (O) in the multiple axes, single axis columns indicates that the commands can be used for
for multiple axes or a single axis.
26
10. List of SEL Language Command Codes
yrogetaC noitidnoC dnammoC 1dnarepO 2dnarepO tuptuO noitcnuF egaP
ecruoseR
noitisoP
noitarepO
rotautcA
lortnoC
snoitaralceD
rotautcA
lortnoC
sdnammoC
lanoitpOSRTG*.oNecruoserniatbO ecruosereriuqcA85OO lanoitpOSRLR*.oNecruosernruteR ecruosernruteR85OO
lanoitpOTEGP.oNsixA.oNnoitisoP
lanoitpOTUPP.oNsixA.oNnoitisoP
lanoitpORLCP.oNnoitisopgnitratS.oNnoitisopdnEatadtniopraelC06OO
lanoitpOYPCP
lanoitpODERPdaerotnrettapsixA.oNnoitisoptegraterotS
lanoitpOTSTPnrettapsixademrifnoC.oNnoitisopdemrifnoCXXatadnoitisopmrifnoC16OO lanoitpOLEVP)ces/mm(yticoleV.oNnoitisoptegratngissAyticolevnoitisopngissA26OO
lanoitpOCCAP)G(noitareleccA.oNnoitisoptegratngissA
lanoitpOSXAP
lanoitpOZISP.oNelbairaveziS ezisnoitisopkcehC36OO lanoitpOLEV)ces/mm(yticoleV yticolevteS46OO lanoitpODRVO)%(oitaryticolaV rotcafyticolevteS46OO lanoitpOCCA)G(noitareleccA noitareleccateS56OO lanoitpOVRCS)%(oitaR oitarnoitom-SteS66OO lanoitpOTSFOnrettapsixatluafeD)mm(eulavtesffOtesffoteS76OO lanoitpOGRTA)%(oitarnoitisoP reggirthcrateS76O lanoitpODLOHtroptupniesuaP tropesuaperalceD86OO lanoitpOESAB.oNsixadradnatS sixadradnatsteS96O
lanoitpOCNAC
lanoitpOGEDnoisividfoelgnA noisividfoelgnateS07O lanoitpOPRGnrettapsixadilaV sexapuorgteS07O lanoitpOTSXAsutatserotsotelbairaV sutatssixaeriuqcA17OO lanoitpOXXVSnrettapsixagnitarepO.oNsixaderiuqcA]FONO[ovreS27OO lanoitpOEMOHnrettapsixagnimoHEPgnimoH27OO lanoitpODVOMnoitisopevoMEPevometangisedyltceriD37SD
lanoitpOPVOM
lanoitpOIDVMtnuomaevoMEPtnemevomlatnemercnI47SD
lanoitpOLVOM
lanoitpOIPVM
lanoitpOILVM
lanoitpOHCRA.oNnoitisoptratS.oNnoitisopdnEEPtnemevomhcrA67O lanoitpOHTAP.oNnoitisoptratS.oNnoitisopdnEEPtnemevomhtaP67OO lanoitpORIC.oNnoitisopgnissaP.oNnoitisopgnissaPEPtnemevomcrA77O lanoitpOCRA.oNnoitisopgnissaP.oNnoitisopdnEEPtnemevomralucriC87O lanoitpOXWXJnrettapsixagnivoMgalf•O/ItratSEP]FBNBFFNF[GOJ97OO lanoitpOPOTSnrettapsixadeppotSEPtlahaotswolssixA97OO
.oN
.oN
trop
.oN
.oN
.oN
.oN
noitisoptegratypoC
elbairavnrettapsixA
tupnietelpmocpotS
noitisoptegratevoM
noitisoptegratevoM
noitisoptegratevoM
noitisoptegratevoM
.oNnoitisoPnrettapsixadaeR36OO
.oNnoitisopecruosypoCatadtniopypoC06OO
991
991
sixa
EP
EP
EP
EP
noitisop
noitisop
elpitluM
sixA
elbairavotnoitisopngissA
95OO
elbairavfoeulavngissA
95OO
fonoitisoptnerrucdaeR
16OO
noitisopngissA
noitarelecca
detangisedotevoM
otevomdetalopretnI
noitisopdetangised detangisedotevoM
otevomdetalopretnI
noitisopdetangised
26OO
tropetelpmocpotseralceD96OO
37OO
47O
57OO
57O
elgniS
sixA
* Commands not yet publicly available cannot be used.
Note: The circle (O) in the multiple axes, single axis columns indicates that the commands can be used for
used for multiple axes or a single axis.
However, MOVD, MVDI are command languages specific to the DS type.
27
10. List of SEL Language Command Codes
yrogetaC noitidnoC dnammoC 1dnarepO 2dnarepO tuptuO noitcnuF egaP
lanoitpOXXFIelbairaverpamoCelbairavnosirapmoC]ELTLEGTGENQE[erapmoC08OO
lanoitpOXXSIlaretilronmuloClaretilronmuloC
FIderutcurtS
ESLE
FIDE etelpmocFIeralceD28OO
lanoitpOXXWDelbairavnosirapmoCelbairavnosirapmoC]ELTLEGTGENQE[pooL38OO
derutcurtS
OD
gnihcnarB
laireS
gnirtS
gnissecorP
ODDE etelpmocODeralceD38OO lanoitpOVAEL ODmorftixE48OO lanoitpORETI ODtaepeR48OO lanoitpOTCLS gnihcnarbfotratseralceD58OO
XXHWelbairaverapmoCelbairavnosirapmoC
XXSWnmulocerapmoClaretilronmuloC ]ENQE[gnihcnarbgnirtsretcarahC78OO
EHTO
LSDE etelpmocTCLSeralceD88OO lanoitpONEPO.oNlennahC nepOOIS98OO lanoitpOSOLC.oNlennahC esolCOIS98OO lanoitpODAERlennahcdaeR.oNnmuloCdaeRtupniOIS09OO lanoitpOTIRWlennahcetirW.oNnmuloCetirWtuptuoOIS19OO lanoitpOAHCSedocretcarahC retcarahcgnidneteS19OO lanoitpOYPCSnmuloctegratypoClaretilronmuloCgnirtsretcarahcypoC29OO lanoitpOPMCSnmulocerpamoClaretilronmuloCgnirtsretcarahcerapmoC29OO lanoitpOTEGSelbairavtegratdneSnmuloctegratdneSretcarahceriuqcA39OO lanoitpOTUPSnmuloctegratdneSatadetirWsretcarahcegnarrA39OO
lanoitpORTS
lanoitpOHRTS
lanoitpOLAV
lanoitpOHLAV
lanoitpONELS
tegratnoisrevnoC
nmuloc
tegratnoisrevnoC
nmuloc
tegratnoisrevnoC
elbairav
tegratnoisrevnoC
elbairav
ebotsretcarahcfo.oN
nodetarepo
ecruosnoisrevnoC
elbairav
ecruosnoisrevnoC
elbairav
nmulocecruosnoisrevnoCeulavlamicedottrevnoC69OO
nmulocecruosnoisrevnoCeulavlamicedaxehottrevnoC79OO
]ENQE[
gnihcnarbeulaV
]ELTLEGTGENQE[
temtonerasnoitidnoc
gnirts
elpitluM
sixA
nosirapmocgnirtsretcarahC
FInehwtegratnoitucexeeralceD
.temtonsinoitidnocdnammoc
nehwtegratgnihcnarberalceD
18OO
28OO
68OO
88OO
gnirtsretcarahclamicedottrevnoC49OO
retcarahclamicedaxehottrevnoC
59OO
noitareporofsretcarahcfo.onteS79OO
elgniS
sixA
Note: The circle (O) in the multiple axes, single axis columns indicates that the command can be used for
multiple axes or a single axis. However, the commands in the serial I/O category and string processing cannot be used with the DS type.
[Command languages specific to the DS type]
yrogetaC noitidnoC dnammoC 1dnarepO 2dnarepO tuptuO noitcnuF egaP
rotautcA
lortnoC
sdnammoC
lanoitpODVOMnoitisopevoMEPevometangisedyltceriD37 lanoitpOIDVMnoitisopevoMEPtnemevomlatnemercnI47
28
elpitluM
sixA
O O
elgniS
sixA
1 1. Alphabetical List of SEL Language Command Codes
elpitluM
noitidnoC dnammoC 1dnarepO 2dnarepO tuptuO noitcnuF egaP
lanoitpOGPBA.oNmargorppotSPCsmargorprehtopotS55OO lanoitpOCCA)G(noitareleccA noitareleccateS56OO lanoitpODDAelbairavotddAdeddarebmuNRZddA43OO lanoitpODNAotdnacigolylppaelbairaVrebmunnoitaluclaCRZdnacigoL04OO lanoitpOCRA.oNnoitisopgnissaP.oNnoitisopdnEEPtnemevomralucriC87O lanoitpOHCRA.oNnoitisoptratS.oNnoitisopdnEEPtnemevomhcrA67O lanoitpONTAelbairavtnegnatcrangissArebmunnoitaluclaCRZtnegnatcrA83OO lanoitpOGRTA)%(oitarnoitisoP reggirthcrateS76O lanoitpOTSXAsutatserotsotelbairaV.oNsixaderiuqcAsutatssixaeriuqcA17OO lanoitpOESAB.oNsixadradnatS sixadradnatsteS96O
RSGB.oNenituorbusdetatS enituorbustratS35OO lanoitpOXXTBgalf•tuptuotratSgalf•tuptuodnE]TNFONO[galf•tuptuO64OO lanoitpOCNACtroptupnietelpmocpotS tropetelpmocpotseralceD96OO lanoitpORIC.oNnoitisopgnissaP.oNnoitisopgnissaPEPtnememvomcrA77O lanoitpOSOLC.oNlennahC esolcOIS98OO lanoitpORLCelbairavgniraelcnigeBelbairavraelcdnERZselbairavraelC33OO lanoitpOSOCelbairavenisocngissA)naidar(rebmunnoitaluclaCRZenisoC73OO
lanoitpOXXPCelbairavnosirapmoCrebmunnosirapmoC
lanoitpOGED)º(noisividfoelgnA noisividfoelgnateS07O lanoitpOVIDelbairavediviDrebmungnidiviDRZediviD53OO lanoitpOXXWDelbairaverapmoCelbairavnosirapmoC]ElTLEGTGENQE[erapmoC38OO
ODDE etelpmocODeralceD38OO
FIDE etelpmocFIeralceD18OO
LSDE etelpmocTCLSeralceD88OO
RSDE enituorbusdnE35OO
ESLE
lanoitpOROE
lanoitpOTIXE margorpetanimreT45OO lanoitpOGPXE.oNmargorpetucexEPCmargorptratS45OO lanoitpORSXErebmunenituorbusetucexE enituorbusetucexE35OO lanoitpOOTOGpmuJ.oNgaTpmuJ25OO lanoitpOPRGnrettapsixadilaV sexapuorgteS07O
lanoitpOGPTG*
lanoitpORPTG*levelksaterotsotelbairaV levelksateriuqcA65OO lanoitpOSRTG*.oNecruoserniatbO ecruosereriuqcA85OO lanoitpOMTTGelbairavngissaemiT emiteriuqcA54OO
otcigol
sutats
evisulcxeylppaotelbairaV
ksaterotsotelbairaV
rebmunnoitaluclaCRZcigolroevisulcxE24OO
.oNmargorperiuqcAsutatsksateriuqcA65OO
QEEN
TGEG
TLEL
nosirapmoC34OO
FInehwtegratnoitucexeeralceD
temtonsinoitidnocdnammoc
sixA
18OO
elgniS
sixA
* Commands not yet publicly available cannot be used.
Note: The circle (O) in the multiple axes, single axis columns indicates that the command can be used for
multiple axes or a single axis.
29
11. Alphabetical List of SEL Language Command Codes
elpitluM
noitidnoC dnammoC 1dnarepO 2dnarepO tuptuO noitcnuF egaP
lanoitpODLOHtroptupniesuaP tropesuaperalceD86OO lanoitpOEMOHnrettapsixagnimoHEPgnimoH27OO lanoitpOXXFIelbairaverapmoCelbairavnosirapmoC]ELTLEGTGENQE[erapmoC08OO lanoitpONIgalf•O/ItsriFgalf•tupnidnE)tib13xaM(tupniyraniB84OO lanoitpOBNIgalf•O/ItsriFottrevnocotstigidfo.oN)stigid8xaM(tupniDCB94OO
lanoitpOXXSInmulocerapmoClaretilronmuloC
lanoitpORETI ODtaepeR48OO lanoitpOXWXJnrettapsixagnivoMgalf•O/ItratSEP]FBNBFFNF[GOJ97O lanoitpOVAEL ODmorftixE48OO lanoitpOTELelbairavngissArebmunngissARZngissA23O lanoitpODOMelbairavredniamerngissA)naidar(rebmunnoitaluclaCRZredniamererugiF63OO lanoitpODVOMnoitisopevoMEPevometangisedyltceriD37SD
lanoitpOLVOM.oNnoitisoptegratevoMEP
lanoitpOPVOM.oNnoitisoptegratevoMEPnoitisopdetangisedotevoM37OO lanoitpOTLUMelbairavylpitluMrebmunreilpitluMRZreilpitluM53OO lanoitpOIDVMtnuomaevoMEPtnemevomlatnemercnI47SD
lanoitpOILVM.oNnoitisoptegratevoMEP
lanoitpOIPVM.oNnoitisoptegratevoMEPnoitisopdetangisedotevoM57OO lanoitpOTSFOnrettapsixatluafeD)mm(eulavtesffOtesffoteS76OO lanoitpONEPO.oNlennahC nepoOIS98OO lanoitpOROotrocigolylppaotelbairaVrebmunnoitaluclaCRZrocigoL14OO
EHTO
lanoitpOTUOgalf•O/ItsriFgalf•tupnidnE)tib13xaM(tupniyraniB05OO lanoitpOBTUOgalf•O/ItsriF )stigid8xaM(tupniDCB15OO lanoitpODRVO)%(oitaryticoleV rotcafyticolevteS46OO lanoitpOCCAP)G(noitareleccA.oNnoitisoptegratngissAnoitareleccanoitisopngissA26OO lanoitpOHTAP.oNnoitisoptratS.oNnoitisopdnEEPtnemevomhtaP67OO lanoitpOSXAP.oNelbairavnrettapsixA.oNnoitisoPnrettapsixadaeR36OO lanoitpORLCP.oNnoitisopgnitratS.oNnoitisopdnEatadtniopraelC06OO lanoitpOYPCP.oNnoitisoptegratypoC.oNnoitisopecruosypoCatadtniopypoC06OO lanoitpOTEGP.oNsixA.oNnoitisoP991elbairavotnoitisopngissA95OO lanoitpOTUPP.oNsixA.oNnoitisoP991elbairavfonoitisopngissA95OO lanoitpODERPdaerotnrettapsixA.oNnoitisoptegraterotSsixafonoitisoptnerrucdaeR16OO lanoitpOZISP.oNelbairaveziS ezisnoitisopkcehC36OO lanoitpOTSTPnrettapsixademrifnoC.oNnoitisopdemrifnoCXXatadnoitisopmrifnoC16OO lanoitpOLEVP)ces/mm(yticoleV.oNnoitisoptegratngissAyticolevnoitisopngissA26OO
]EN
noitisop
noitisop
QE[nosirapmocgnirtsretcarahC
detangisedotevomdetalopretnI
detangisedotevomdetalopretnI
nehwtegratgnihcnarberalceD
temtonerasnoitidnoc
sixA
18OO
47O
57O
88OO
elgniS
sixA
* Commands not yet publicly available cannot be used.
Note: The circle (O) in the multiple axes, single axis columns indicates that the command can be used for
multiple axes or a single axis. However, MOVD, MVDI are command languages specific to the DS type.
30
1 1. Alphabetical List of SEL Language Command Codes
elpitluM
noitidnoC dnammoC 1dnarepO 2dnarepO tuptuO noitcnuF egaP
lanoitpODAERlennahcdaeRrebmunnmulocdaeRtupptuoOIS09OO lanoitpOSRLR*ecruosernruteR ecruosereriuqcA85OO lanoitpOAHCSedocretcarahC retcarahcgnidneteS19OO lanoitpOPMCSnmulocerapmoClaretilronmuloCgnirtsretcarahcerpamoC29OO lanoitpOYPCSnmuloctegratypoClaretilronmuloCgnirtsretcarahcypoC29OO lanoitpOVRCS)%(oitaR oitarnoitom-SteS66OO lanoitpOTEGSelbairavtegratdneSnmuloctegratdneSretcarahceriuqcA39OO lanoitpONISelbairavnisngissA)naidar(rebmunnoitaluclaCRZeniS73OO lanoitpOTCLS gnihcnarbfotratseralceD58OO
lanoitpONELS
lanoitpOCILS*levelksaT)ces(eulavkcehCgnittesecilsemiT75OO lanoitpOGPLS* esuapksaT55SD lanoitpOTUPSnmuloctegratdneSatadetirWsretcarahcegnarrA39OO lanoitpORQSelbairavtooreruqsngissArebmunnoitaluclaCRZtoorerauqS93OO lanoitpOPOTSnrettapsixadeppotSEPtlahaotswolssixA97OO lanoitpORPTS*levelksaT levelksategnahC75SD lanoitpORTSnmuloctegratnoisrenoCelbairavecruosnoisrevnoCgnirtsretcarahclamicedottrevnoC49O
lanoitpOHRTSnmuloctegratnoisrevnoCelbairavecruosnoisrevnoC
lanoitpOBUSelbairavmorftcartbuSdetcartbusrebmuNRZtcartbuS43OO lanoitpOXXVSnrettapsixagnitarepO ]FONO[ovreS27OO lanoitpOGAT.oNgatdetatS tegratpmujeralceD25OO lanoitpONATelbairavtnegnatngissA)naidar(rebmunnoitaluclaCRZtnegnaT83OO lanoitpOCMIT.oNmargorP lecnactiawemiT44OO lanoitpOWMIT)ces(emittiaWUTtiawemiT44OO lanoitpONARTnoitanitsedypocelbairaVypocotelbairaVRZypoC23OO lanoitpOLAVelbairavtegratnoisrevnoCnmulocecruosnoisrevnoCeulavlamicedottrevnoC69OO lanoitpOHLAVelbairavtegratnoisrevnoCnmulocecruosnoisrevnoCeulavlamicedaxehottrevnoC79OO lanoitpOLEV)ces/mm(yticoleV yticolevteS46OO lanoitpOXXHWelbairaverapmoCelbairavnosirapmoC]ELTLEGTGENQEpooL68OO lanoitpOTIRW 19OO lanoitpOXXSWnmulocerapmoClaretilronmuloC ]ENQE[gnihcnarbgnirtsretcarahC78OO lanoitpOXXTWgalf•O/IemittiaWUTtiaw]FONO[galf•tupnI74OO lanoitpOGPUW*.oNmargorPputratSPCputratsksatrehtO55OO
nodetarepo
ebotsretcarahcforebmuN
noitarepo
gnirts
rofsretcarahcfosrebmunteS
retcarahclamicedaxehottrevnoC
sixA
79O
59OO
elgniS
sixA
* Commands not yet publicly available cannot be used.
Note: The circle (O) in the multiple axes, single axis columns indicates that the command can be used for
multiple axes or a single axis. However, MOVD, MVDI are command languages specific to the DS type.
31
12. SEL Language
12.1 Numeric calculations commands
LET (Assign)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOTEL.oNelbairaVataDRZ
[Function] Assigns the value in operand 2 to the variable in operand 1.
[Example 1] LET 1 1 0 Assign a value of 10 to variable register 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
TRAN (Transfer)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
When 0 is assigned to the variable in Operand 1, the output turns ON.
LET 3 10 Assign 10 to variable 3. LET * 1 * 3 Assign 10 (content of variable 3) to variable 2 (content of variable 1).
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC 1dnarepO 2dnarepO
dnammoC
dnammoC
tsoP
)galF·troptuptuO(
tsoP
)galF·troptuptuO(
lanoitpOlanoitpONART.oNelbairaV.oNelbairaVRZ
[Function] Assigns the contents of the variable in Operand 2 to the variable in Operand 1.
This function is also known as "indirect addressing" or "pointing to a pointer."
[Example 1] TRAN 1 2 Assign the content of variable 2 to variable 1.
[Example 2] LE T 1 2 Assign 2 to variable 1.
LET 2 3 Assign 3 to variable 2. LET 3 4 Assign 4 to variable 3. LET 4 10 Assign 10 to variable 4. TRAN 1 *3 Assign 10 (variable 4 which is the content of variable 3) to the
variable for 2.
The variables change in the following manner.
2
1
2
3
2
3
4
104
à
1
2
3
4
410
10
32
12. SEL Language
CLEAR (Clear Variables)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpORLC.oNelbairaV.oNelbairaVRZ
[Function] Clears the variables from the variable in operand 1 to the variable in operand 2.
[Example 1] CLR 1 5 Clear variables from 1 to 5.
[Example 2] LET 1 10 Assign 10 to variable 1.
tupnI
noitidnoc
)galF·O/I(
The contents of the cleared variables becomes 0. When 0 is assigned to the variable in operand 1, the output turns ON.
LET 2 20 Assign 20 to variable 2. CLR * 1 * 2 Clear variables from 10 (content of variable 1)
dnammoC 1dnarepO 2dnarepO
to 20 (content of variable 2).
dnammoC
tsoP
)galF·troptuptuO(
33
12. SEL Language
12.2 Arithmatic calculation commands
ADD (Add)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpODDA.oNelbairaVataDRZ
[Function] Adds the value in operand 2 to the contents of the variable in operand 1, then stores this in the
[Example1] LE T 1 3 Assign 3 to variable 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
SUB (Subtract)
tupnI
noitidnoc
)galF·O/I(
variable in operand 1. The output turns ON when the result of the operation is 0.
ADD 1 2 Add 2 to 3 (content of variable 1).
LET 2 3 Assign 3 to variable 2. LET 3 2 Assign 2 to variable 3. ADD *1 * 3 Add 2 (content of variable 3) to variable 2 (content of variable 1).
dnammoC 1dnarepO 2dnarepO
3+2 is 5 which is entered in variable1.
3+2 is 5 which is entered in variable 2.
dnammoC
tsoP
)galF·troptuptuO(
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOBUS.oNelbairaVataDRZ
[Function] Subtracts the value in operand 2 from the contents of the variable in operand 1, then stores
[Example 1] LET 1 3 Assign 3 to variable 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
tupnI
noitidnoc
)galF·O/I(
this in the variable in operand 1. The output turns ON when the result of the operation is 0.
ADD 1 2 Subtract 2 from 3 (content of variable 1).
LET 2 3 Assign 3 to variable 2. LET 3 2 Assign 2 to variable 3. ADD *1 * 3 Subtract 2 (content of variable 3) from variable 2
dnammoC 1dnarepO 2dnarepO
(content of variable 1). 3-2 is 1 which is entered in variable 2.
dnammoC
tsoP
)galF·troptuptuO(
34
12. SEL Language
MULT (Multiply)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOTLUM.oNelbairaVataDRZ
[Function] Multiplies the contents of the variable in operand 1 by the value in operand 2, then stores this
[Example 1] LET 1 3 Assign 3 to variable 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
DIV (Divide)
tupnI
noitidnoc
)galF·O/I(
in the varible in operand 1. The output turns ON when the result of the operation is 0.
MU LT 1 2 Multiply 3 (content of variable 1) by 2.
LET 2 3 Assign 3 to variable 2. LET 3 2 Assign 2 to variable 3. MULT * 1 *2 Multiply variable 2 (content of variable 1) by 2
dnammoC 1dnarepO 2dnarepO
(content of variable 1). 3x2 is 6 which is entered in variable 2.
dnammoC
tsoP
)galF·troptuptuO(
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOVID.oNelbairaVataDRZ
[Function] Divides the contents of the variable in operand 1 by the value in operand 2, then stores this
Note: When operand 1 is an integer type variable, anything beyond the decimal point is disregarded.
[Example 1] LET 1 3 Assign6 to variable 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
tupnI
noitidnoc
)galF·O/I(
in the varible in operand 1. The output turns ON when the result of the operation is 0.
DIV 1 2 Divide 6 (content of variable 1) by 2.
LET 2 6 Assign 3 to variable 2. LET 3 2 Assign 2 to variable 3. MULT *1 *3 Divide variable 2 (content of variable 1) by 2
dnammoC 1dnarepO 2dnarepO
(content of variable 1). 6÷2 is 3 which is entered in variable 2.
dnammoC
tsoP
)galF·troptuptuO(
35
12. SEL Language
MOD (Remainder)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpODOM.oNelbairaVataDRZ
[Function] Divides the contents of the variable in operand 1 by the value in operand 2, then stores
Note: The MOD command is used with respect to an integer type variable.
[Example1] LET 1 7 Assign 7 to variable 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
tupnI
noitidnoc
)galF·O/I(
the remainder in the variable in operand 1. The output turns ON when the result of the operation is 0.
MOD 1 3 Figure the remainder when 7 (content of variable 1)is divided by 3.
LET 2 3 Assign 7 to variable 2. LET 3 3 Assign 3 to variable 3. MO D *1 *2 Figure the remainder when variable 2 (content of variable 1).
dnammoC 1dnarepO 2dnarepO
7
÷3 is 2 with a remainder of 1 which is entered in variable 1.
7÷3 is 2 with a remainder of 1 which is entered in variable 1.
dnammoC
tsoP
)galF·troptuptuO(
36
12. SEL Language
12.3 Functional calculation commands
SIN (Sine)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpONIS.oNelbairaVataDRZ
[Function] Assigns the sine of operand 2 to the contents of the variable in operand 1.
Note 1: Radian=Angle x π÷180
[Example 1] SIN 100 0.523599 Assign 0.5, sine of 0.523599, to variable 100.
[Example 2] LET 1 1 00 Assign 100 to variable 1.
tupnI
noitidnoc
)galF·O/I(
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
LET 10 1 30 30x π÷180 (radian) (convert 30°to radian and MULT 101 3.141592 assign this to variable 101). DI V 1 01 180 Assign 0.5, sine of contents in variable101 to SIN *1 *101 variable 100 (contents of variable 1).
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
~199, 300~399.
)galF·troptuptuO(
COS(Cosine)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOSOC.oNelbairaVataDRZ
[Function] Assigns the cosine of operand 2 to the contents of the variable in operand 1.
Note: Radian = Angle x π÷180.
[Example 1] SIN 100 1.047197 Assign 0.5, sine of 1.047191 to variable 100.
[Example 2] LE T 1 100 Assign 100 to variable 1.
tupnI
noitidnoc
)galF·O/I(
The output turnsON 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.
L E T 10 1 30 60x π÷180 (radian) (convert 60°to radian and MULT 101 3.141592 assign this to variable 101). DI V 1 01 180 Assign 0.5, cosine of contents in variable101 to SIN *1 *101 variable 100 (contents of variable 1).
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
37
12. SEL Language
TAN (Tangent)
noisdnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpONAT.oNelbairaVataDRZ
[Function] Assigns the tangent of operand 2 to the contents of the variable in operand 1. The output turns
Note 1: Radian=Angle x π÷ 180
[Example 1] TAN 10 0 0.785398 Assign 1, tangent of 0.785398, to varible in 100.
[Example 2] LE T 1 100 Assign 100 to variable 1.
ATN (Arctangent)
tupnI
noitidnoc
)galF·O/I(
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.
LET 101 45 45x π÷180 (radian) (convert 45°to radian and MULT 101 3.141592 assign this to variable 101). DI V 101 180 Assign 1, tangent of contents in variable101 to TAN *1 *101 variable 100 (contents of variable 1).
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpONTA.oNelbairaVataDRZ
[Function] Assigns the arctanagent of operand 2 to the contents of the variable in operand 1. The output
Note 1: Radian=Angle x
[Example 1] A TN 100 1 Assign 0.785398, arctangent of 1, to variable 100.
[Example 2] LE T 1 100 Assign 1 to variable 101.
tupnI
noitidnoc
)galF·O/I(
turns ON when the result of the operation is 0. For the settings in operand 1, designate a real number variable in the range 100~199, 300~199. The unit in operand 2 is radians.
π ÷
180
L E T 1 0 1 1 Assign 0.785398, arctangent of contents in variable101 TAN *1 *101 to variable 100 (contents of variable 1).
dnammoC 1dnarepO 2dnarepO
dnammoC
Assign 100 to variable 1.
tsoP
)galF·troptuptuO(
38
12. SEL Language
SQR(Square)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpORQS.oNelbairaVataDRZ
[Function] 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] LE T 1 10 Assign 10 to variable 1.
tupnI
noitidnoc
)galF·O/I(
LET 2 4 Assign 4 to variable 2. S QR *1 *2 Assign the square root of 4 (contents of variable 2) to variable 10
dnammoC 1dnarepO 2dnarepO
(contents of variable 1).
dnammoC
tsoP
)galF·troptuptuO(
39
12. SEL Language
12.4 Logic and Operation commands
AND (Logic And)
noisdnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpODNA.oNelbairaVataDRZ
[Function] Stores the results of the logic AND operation on the contents of the variable in operand 1
[Example 1] LET 1 204 Assign 204 to variable 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
tupnI
noitidnoc
)galF·O/I(
and the in operand 2, in the variable in operand 1. The output turns ON when the result of the operation is 0.
AN D 1 1 70 Assign 136 the result of logic AND on 204 (contents of variable 1)
L ET 2 204 Assign 204 to variable 2. L ET 3 170 Assign 170 to variable 3.
dnammoC 1dnarepO 2dnarepO
AND 170 (data in operand 2), to vaiable 1.
dnammoC
tsoP
AND *1 * 3 Assign 136, the result of logic AND on 204(content of variable 2 which is
the content in variable 1) and 170 (content of variable 3), to 2(the content of variable 1).
)galF·troptuptuO(
Decimal number Binary number
204 11001100
AND 170
136
AND 10101010 10001000
40
12. SEL Language
OR (Logic Or)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpORO.oNelbairaVataDRZ
[Function] Stores the results of the logic OR operation on the contents of the variable in operand 1 and the
[Example 1] LET 1 204 Assign 204 to variable 1.
[Example 2] LET 1 2 Assign 2 to variable 1.
tupnI
noitidnoc
)galF·O/I(
data in operand 2, in the variable in operand 1. The output turns ON when the result of the operation is 0.
OR 1 1 7 0 Assign in 238, the result of logic AND on 204 (contents of variable 1)
LET 2 204 Assign 2 to variable 1. L ET 3 170 Assign 170 to variable 3. OR *1 *3 Assign 238, the result of logic OR on 204 (content of variable 2 which is
dnammoC 1dnarepO 2dnarepO
and 170 (data in operand 2), to variable 1.
the content in variable 1) and 170 (content of variable 3), to 2(the content of variable 1).
dnammoC
tsoP
)galF·troptuptuO(
Decimal number Binary number
204 11001100
OR 170
238
OR 10101010 10001000
41
12. SEL Language
EOR (Exclusive Or Logic)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOROE.oNelbairaVataDRZ
[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 1 204 Assign 204 to variable 1.
E OR 1 1 7 0 Assign 102 in, the result of exclusive logic of 204 (contents of variable 1)
[Example 2] LET 1 2 Assign 2 to variable 1.
LET 2 204 Assign 2 to variable 1. L ET 3 170 Assign 170 to variable 3. E OR *1 *3 Assign 102, the result of logic OR on 204 (content of variable 2 which is
Decimal number Binary number
204 11001100
EOR 170
102
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
and 170 (data in operand 2), to variable 1.
the content in variable 1) and 170 (content of variable 3), to 2 (the content of variable 1).
EOR10101010 0110110
dnammoC
tsoP
)galF·troptuptuO(
42
12. SEL Language
12.5 Comparison operation commands
CPXX (Compare)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOXXPC.oNelbairaVataD
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
QEEN
TGEG
TLEL
[Function] 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.
CPXX
EQ ... Operand 1 = Operand 2 NE ... Operand 1 Operand 2
GT ... Operand 1 > Operand 2 GE . .. Operand 1 Operand 2 L T ... Operand 1 < Operand 2 LE ... Operand 1 Operand 2
[Example 1] LET 1 10 Assign 10 to variable 1.
CPEQ 1 10 600 If the content of variable 1 is 10, flag 600 turns ON,
6 0 0 AD D 2 1 If flag 600 is ON, 1 is added to variable 2.
tsoP
)galF·troptuptuO(
[Example 2] LET 1 2 Assign 2 to variable 1.
L ET 2 10 Assign 10 to variable 2. L ET 3 10 Assign 10 to variable 3. CPNE *1 *3 310 If the variable in 2 (the content of variable 1) does not equal the
content of variable 3, then output 310 turns ON. Therefore, in this example, output 310 is OFF .
43
12. SEL Language
12.6 Timer Commands
TIMW (Timer)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOWMITEMITUT
[Function] 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.5 W ait for 1.5 seconds.
[Example 2] LET 1 10 Assign 10 to variable 1.
TIMW *1 Contents of variable 1 waits 10 seconds.
TIMC (Timer Cancel)
noisnapxE
noitidnoc
·DNA(
)RO
tupnI
noitidnoc
)galF·O/I(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC 1dnarepO 2dnarepO
dnammoC
dnammoC
tsoP
)galF·troptuptuO(
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOCMIT.oNmargorP
[Function] Cancels the time
of the other programs designated in operand 1 that are running in parallel.
[Example 1] TIMC 10 Cancel time wait for prorgam 10.
[Example 2] L ET 1 1 0 Assign 10 to variable 1.
TIMC *1 Cancel time wait for program 10 (content of variable 1).
44
12. SEL Language
GTTM (Time Acquisition)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOMTTG.oNelbairaV
[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.
[Example 1] GTTM 1 Read the reference time to variable 1.
AD D 1 500 Set the ending time for 5 seconds later . GTTM 2 Read the current system time to variable 2. DWGE 1 *2 After 5 seconds, proceeds to the next step after EDDO. : The processing during this time will repeat for 5 seconds. :
GTTM 2 Read the current system time to variable 2.
EDDO
[Example 2] LET 1 5 Assign 5 to variable 1.
GTTM *1 Store the current system time in the variable for 5 (content of variable 1).
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
45
12. SEL Language
12.7 I/O · Flag operation commands
BTXX (Output Port Flag Operation)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOXXTBgalF·tuptuOlanoitpO
[Function] Turns ON, OFF , or inverts from the output · flag designated in operand 1 to the output · flag designated
in operand 2.
BTXX
ON ... Turns the status ON. OF ... Turns the status OFF. NT ... Inverts the status.
[Example 1] BTON 300 Output port 300 turns ON. [Example 2] BTOF 300 30 7 Output port 300307 turns OFF .
[Example 3] LE T 1 600 Assign 600 to variable 1.
BTNT ∗1 Invert flag 600 (content of variable 1).
)galF·troptuptuO(
[Example 4] LE T 1 600 Assign 600 to variable 1.
L ET 2 607 Assign 607 to variable 2. BTON *1 *2 Turns flags from 600 (content of variable 1) to 607
(content of variable 2) ON.
46
12. SEL Language
WTXX (I/O Port Flag Wait)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOXXTWgalF·O/I
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpO
tuoemiT
UT
[Function] 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).
WT
XX
ON ... Waits for I/O port · flag to turn ON. OF ... Waits for I/O port · flag to turn OFF.
[Example 1] WTON 15 Waits for I/O port 15 to turn ON.
[Example 2] WTOF 25 5 900 W ait for input 25 to turn ON. If not ON within 5 seconds,
turn flag 900 ON and proceed to the next step.
tsoP
)galF·tuptuO(
47
12. SEL Language
IN (Binary Number Read I/O Flag)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpONIgalF·tropO/IgalF·tropO/I
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[Function] Reads the value from the designated I/O port or flag as a binary number, then stores this
value in variable register 99.
7
2
3222120291817161
NOFFOFFOFFOFFONOFFONO
6
2
5
2
4
2
3
2
2
2
1
2
0
2
• • • Binary Number
• • • Input Port No.
ò
0010010
7
2
+ 0 + 0 + 0 + 0 + 2
28 + 0 + 0 + 0 + 0 + 4 + 0 + 2
2
+ 0 + 2
1
0
Binary number
= 133 in decimal notation
ò
133 • • • • • • • • • • • Variable 99
Note: The maximum input limit for the port is 31 consecutive bits.
tsoP
)galF·tuptuO(
[Example 1] I N 8 15 Read input ports 8 ~15 as a binary number in variable 99.
[Example 2] LET 1 8 Assign 8 to variable 1.
LET 2 15 Assign 15 to variable 2.
IN * 1 *2 Read port 8(content of variable 1) to port 15
(content of variable 2) as a binary number to variable 99.
48
12. SEL Language
INB (BCD Read I/O Flag)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOBNItroptupnI
[Function] Reads the BCD value from the designated input port, then stores this value in variable register 99.
15
ON OFF
Note 1: The maximum number of digits that can be input is 8 (32 bits).
Note 2: The I/O Port • Flag used is 4 x n (number of digits).
[Example 1] INB 8 2 Read input port from 8 for 2 digits (up to 15) as a binary number
tupnI
noitidnoc
)galF·O/I(
Upper digits
14 13
OFF OFF
dnammoC 1dnarepO 2dnarepO
Lower digits
12 11
ON
OFF
133
to variable 99.
• • • • • • • • • Variable 99
dnammoC
10 9
OFF
fo.oN
stigidDCB
8
••• Input port No.
ON
tsoP
)galF·tuptuO(
[Example 2 ] LET 1 8 Assign 8 to variable 1.
LET 2 2 Assign 2 to variable 2.
IN * 1 *2 Read from input port 8 (content of variable 1) for 2 digits
(content of variable 2)(up to 15) as a BCD value to variable 99.
49
12. SEL Language
OUT (Binary Number Output)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOTUOgalF·O/IgalF·O/I
[Function] Output the value of variable 99 to output ports or flags from operand 1 to opreand 2.
133 • • • • • • • • • • • • • • • • Variable 99
Upper
1
307 306 305 304 303 302
ON
Note 1: The maximum number of digits that can be output is 32 bits.
OFF OFF OFF OFF
000 0
0
ò
1
ON ON
1
301 300
OFF
• •• Output port Number
• • •Output port Number
tsoP
)galF·tuptuO(
[Example 1] OUT 300 307 Write the value of variable 99 as a binary value to output ports from
300~307.
[Example 2] LET 1 3 00 Assign 300 to variable 1.
LET 2 307 Assign 307 to variable 2. OUT *1 *2 Write the value of variable 99 as a binary number to output ports 300
(content of variable 1) through 307 (content of variable 2).
50
12. SEL Language
OUTB (BCD Output)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOBTUOgalF·O/IstigidDCBfo.oN
[Function] Output the value of variable 99 to ourput ports or flags from operand 1 to operand 2.
10000101
tupnI
noitidnoc
)galF·O/I(
reppUrewoL
dnammoC 1dnarepO 2dnarepO
85 • • • • • • • • • • • • • • • • Variable 99
ò
dnammoC
• • •Binary number
tsoP
)galF·tuptuO(
ò
307 306 305 304 303 302
ON
Note 1: The maximum number of digits that can be output is 8 (32 bits). Note 2: The output port • f lag used is 4 x n (number of digits).
.
[Example 1] OUT 300 2 Write the value of variable 99 as a BCD value to output ports from 300
OFF OFF OFF OFF
for 2 digits (up to 307).
ON ON
301 300
OFF
• • •Output port Number
[Example 2] LET 1 3 00 Assign 300 to variable 1.
LET 2 2 Assign 2 to variable 2. OUT *1 *2 Write the value of variable 99 as a BCD value to output ports from 300
(content of variable 1) for 2 digits (content of variable 2) (up to 15).
51
12. SEL Language
GOTO (Jump)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOOTOG.oNgaT
[Function] Jumps to the position of the tag number designated in operand 1.
Note: The GOTO command is valid only within the same program.
[Example 1] TAG 1 Set the tag.
: : : GOTO 1 Jump to tag 1.
[Example 2] LET 1 10 Assign 10 to 1.
GOTO *1 Jump to tag 10 (content of variable 1).
tsoP
)galF·tuptuO(
TAG (Tag Declaration)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
lanoitpOlanoitpOGAT.oNgaT
[Function] Sets the tag number designated in operand 1.
[Example] Refer to the GOTO command.
dnammoC
tsoP
)galF·tuptuO(
52
12. SEL Language
EXSR (Execute Subroutine)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
RSXE.oNenituorbuS
[Function] Executes the subroutine number designated in operand 1.
Note: Only a subroutine number within the same program is enabled.
[Example1] EXSR 1 Execute subroutine 1.
: : EXIT BGSR 1 Begin subroutine 1 : : :
EDSR End subroutine 1.
[Example 2] LET 1 10 Assign 10 to 1
EXSR *1 Execute subroutine 10 (content of variable 1).
tsoP
)galF·tuptuO(
BGSR (Begin Subroutine)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
RSGB.oNenituorbuS
[Function] Commands the start of the subroutine number designated in operand 1.
[Example] Refer to the EXSR command.
EDSR (End Subroutine)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
RSDE
[Function] Commands end of subroutine. This is always required at the end of a subroutine. After this, the
program moves to the step after the EXSR called out.
)galF·tuptuO(
)galF·troptuptuO(
[Example 1] Refer to the EXSR command.
53
12. SEL Language
12.9 Task management commands
EXIT (Exit Program)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOTIXE
[Function] 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...............Invalid
• Current Value .................. Valid
• Global Flag ..................... Valid
• Global Variable ............... Valid
[Example] :
:
EXIT Ends the program.
tsoP
)galF·tuptuO(
EXPG (Start Another Program)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOGPXE.oNmargorPPC
[Function] Starts another program and processes it in parallel.
When that program (task) has been started, the port and flag in the post section is output.
[Example 1] EXPG 1 0 Start program number 10.
[Example 2] LET 1 10 Assign 10 to variable 1.
EXPG *1 Start variable 1 (content 10) program.
tsoP
)galF·tuptuO(
54
12. SEL Language
ABPG (Stop Other Program)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOGPBA.oNmargorPPC
[Function] Forces the other program being executed in operand 1 to end.
When that progran (task) is forced to end, the port and flag in the post section is output.
Note: The ABPG command stops the program once the command being executed is completed.
[Example 1] ABPG 10 Stop program No. 10.
[Example 2] LE T 1 1 0 Assign 10 to variable 1.
ABPG * 1 Stop variable 1 (content 10) program.
SLPG (Task Pause) * Commands not yet publicly available can not be used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·tuptuO(
tsoP
)galF·tuptuO(
lanoitpOlanoitpOGPLS
[Function] Pauses self task, and begins execution again by WUPG command of another program.
[Example1] SLPG Pauses self task.
WUPG (Startup Other Task) * Commands not yet publicly available can not be used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOGPUW.oNmargorPPC
[Function] Executes programs paused by the SLPG command assigned in operand 1.
Once the startup is succesful, output turns ON.
[Example 1] WUPG 1 Execute program No. 1.
)galF·tuptuO(
[Example 2] LET 1 10 Assign 10 to variable 1.
WUPG *1 Execute variable1 (content 10) program.
55
12. SEL Language
GTPG (Acquire Task Level) * Commands not yet publicly available can not be used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOGPTG.oNelbairaV.oNmargorP
[Function] Reads the task condition of operand 2 program into operand 1 variable.
The value being read is as follows:
Execute condition · · · TTS__RUN 01 Execute able condition · · · TTS__RDY 02
Wait condition · · · TTS __WAI 04
Forced wait condition · · · TTS__SUS 08 Double wait condition · · · TTS__RDY 0C (12) WAI + SUS (4+8) Pause conditon · · · TTS__RDY 10 (16)
[Example 1] GTPG 10 5 Read task condition of program 5 into variable 10.
[Example 2] LET 1 10 Assign 10 to variable 1.
LET 2 5 Assign 5 to variable 1. GTPG*1 *2 Read task condition of variable 2 (content 5) program into
variable 1 (content 10 variable).
tsoP
)galF·tuptuO(
GTPR (Acquire Task Level) * Commands not yet publicly available can not be used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpORPTG.oNelbairaVPC
[Function] Stores task level of self task to operand 1 variable.
[Example 1] GTPR 1 Store task level into variable 1.
[Example 2] LET 1 10 Assign 10 to variable 1.
GTPR *1 Store task level into variable 1 (content 10).
)galF·tuptuO(
56
12. SEL Language
STPR (Task Level Change) * Commands not yet publicly available can not be used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpORPTSlevelksaT
[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 Assign variable 1 to 3.
STPR *1 Change the task level of variable 1 (content 3).
SLIC (Time Slice Value Change) * Commands not yet publicly available can not be
used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·tuptuO(
)galF·tuptuO(
lanoitpOlanoitpOCILSlevelksaTecilsemiT
[Function] Changes task level of operand 1 to the check value of operand 2. Assigns task level range from
1~5 and check value at 10mm/sec per unit.
[Example1] SLIC 2 0.02 Change the check value of task level 2 to 0.02 sec.
[Example 2] LET 1 00 0.5 Assign 0.5 to variable 100.
SLIC 3 *100 Changes the task data of task level 3 to variable 100
(content 0.5 sec).
57
12. SEL Language
12.10 Resource management commands
GTRS (Obtain Resource) *Commands not yet publicly available can not be used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOSRTG.oNecruoseR
[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.
Program 1 Program 2
GTRS 1 : Program 1 obtain resource 1.
MOVL 1 GTRS 1 Program 2 can not obtain resource 1.
RLRS 1 (Obtain wiat) As resource 1 returns, Program 2 obtains it.
: MOVP 2 Program 2 uses the X axis.
: RLRS 1 Program 2 returns the resource.
By doing the above, even when the same axis is used for multiple programs, an error will not be encountered. .
[Example 2] LE T 1 5 Assign 5 to variable 1.
GTRS *1 Obtain resource of variable 1 (content 5).
tsoP
)galF·tuptuO(
RLRS (Return Resource) * Commands not yet publicly available can not be used.
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOSRLR.oNecruoseR
[Function] Returns the obtained resources.
[Example 1] Please refer to GTRS.
58
)galF·tuptuO(
12. SEL Language
12.11 Position Data Operation Commands
PPUT (Write Position Data)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
lanoitpOlanoitpOTUPP.oNsixA
[Function] Writes the coordinates in variable 199 to the designated axis position data.
[Example] LE T 199 15 0 Assign 150 to variable 199.
PPUT 2 3 Write variable 199 (content 150) to position 3
PGET (Read Position Data)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
.oNnoitisoP .oNelbairaV
(axis 2).
dnammoC
tsoP
)galF·troptuptuO(
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOTEGP.oNsixA
[Function] Reads the position data for the designated axis to variable 199. (Opposite of PPUT) When
executing this command, if the data being read is xxx.xx, the data will not be entered in variable 199 (command is not executed).
[Example] PGET 2 3 Read data at position no. 3 for axis no. 2 to variable 199.
59
.oNnoitisoP .oNelbairaV
12. SEL Language
PCLR (Position Data Clear)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpORLCP.oNnoitisoP.oNnoitisoP
[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.
PCPY (Position Data Copy)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
)galF·troptuptuO(
lanoitpOlanoitpOYPCP.oNnoitisoP.oNnoitisoP
[Function] Copies data in the designated position No. (copy data in operand 2 to operand 1).
[Example] PCPY 20 10 Copy data from position 10 in operand 2 to position 20 in operand 1.
60
12. SEL Language
PRED (Read Coordinates)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpODERPnrettapsixA.oNnoitisoP
[Function] Reads the current coordinates of the axis designated in operand 1 and writes it to the position
designated in Operand 2.
[Example] PRED 11 10 Read the current coordinates of axis 1 and axis 2 designated in operand 1 into
position 10.
)galF·troptuptuO(
PTST (Check Position Data)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOTSTPnrettapsixA.oNnoitisoPderiuqeR
[Function] Checks to see whether there is valid data in the designated axis pattern and position number. If there is no
data, the post flag or output port turns ON. Post section turns ON only when all the axes specified by the axis pattern are XX.XXX. ("0" is considered as data.)
[Example] PTST 11 11 60 0 If there is no data in position 11 of axis 1 and 2, flag 600 turns ON.
61
12. SEL Language
PVEL (Assign V elocity Data)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOLEVPyticoleV.oNnoitisoP
[Function] 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.
*When a value is assigned that will result in a negative number after calculation, there is no warning at the time you execute this command but an alarm will occur when you try to use the data.
[Example] PVEL 100 3 Assign a value of 100mm/sec to the velocity data for position number 3.
)galF·troptuptuO(
PACC (Assign Acceleration Data)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOCCAPnoitareleccA.oNnoitisoP
[Function] Assigns the acceleration data in Operand 1 for the acceleration of the position data. As with the PVEL
command, you can assign a value using the variable but there is no function that checks the value range when executing this command. Therefore, please be careful not to assign a value that exceeds the actuator's limits.
[Example] P ACC 0.3 3 Assign a value of 0.3 to the acceleration speed data for position number 3.
)galF·troptuptuO(
62
12. SEL Language
PSIZ (Check Position Data Size)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOZISP.oNelbairaV
[Function] Checks the maximum size of the position data that can be used.
[Example] PSIZ 1 The maximum value of the position data goes into variable 1 (variable to be assigned) in
operand 1.
PAXS (Read Axis Pattern)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOSXAP.oNelbairaV.oNnoitisoP
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
)galF·troptuptuO(
[Function] Stores the axis pattern of the position in operand 2 into the variable in operand 1.
[Example 1] P AXS 100 200 Store the axis pattern of position 200 into variable 100. When the points are set
as in the position table below , 2 (10 in binary notation) is stored in variable 100.
[Example 2] When the points are set as below , 2 (10 in binary notation) is stored in variable 100.
LET 1 3 Assign 3 to variable 1. P A XS *1 *2 Assign 101 to variable 2. LET 2 301 Store the axis pattern of the position for 101 which is the value contained in
variable 2, to variable 3 which is contained in variable 1. When the points are set as below , 3 (11 in binary notation) is stored in variable 3.
63
12. SEL Language
VEL(Velocity)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOLEVyticoleV
[Function] 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.
[Example] V EL 1000
1000mm/sec (V elocity Setting)
VEL1000 MOVP 1 MOVP 2 VEL 500 MOVP 3 MOVP 4
The velocity between these two points is 1000mm/sec.
The velocity between these two points is 500mm/sec.
OVRD (Override)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
lanoitpOlanoitpODRVO
[Function] This command decreases the velocity according to the designated ratio. (V elocity coef ficient setting).
The range of the ratio settings is from 1 ~100%.
*When you use the override function, any value below 1 will be clamped at 1. Any decimal value in the speed setting will be rounded off.
[Example] V EL 100 100mm/sec setting.
OVRD 50 100mm/sec is reduced by 50% and the actual velocity becomes 50mm/sec.
64
dnammoC
tsoP
yticoleV
eulavoitar
)galF·troptuptuO(
12. SEL Language
ACC (Acceleration)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOCCAnoitareleccA
[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.3 G when acceleration is not set by the ACC command.
[Example] ACC 0.3
0.3G (Acceleration setting at 0.3G)
65
12. SEL Language
SCRV (S Motion Ratio Setting)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
lanoitpOlanoitpOVRCSoitaR
[Function] 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.
v
dnammoC
tsoP
)galF·troptuptuO(
[Example 1] SCRV 30 S motion ratio is set to 30%.
[Example 2] LET 1 50 Assign 50 to variable 1.
S CRV *1 S motion ratio is set to 50 (%) which is the content of variable 1.
66
t
12. SEL Language
ATRG (Arch Motion Trigger)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
lanoitpOlanoitpOGRTA
dnammoC 1dnarepO 2dnarepO
dnammoC
noitisoP
)%(oitar
[Function] 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] Application program
200
(No.1)
X
60%
(No.2)
HOME 11 VEL 100 A TRG 60 ACC 0.3 ARCH 1 3
60%
0
200
(No.3)
Y
noitisoP ataD
1.oN000.002xxx.xxx
2.oNxxx.xxx000.002
3.oN00.0xxx.xxx
sixAXsixAY
tsoP
)galF·troptuptuO(
OFST (Offset)
noisnapxE
noitidnoc
·DNA(
)RO
tupnI
noitidnoc
)galF·O/I(
lanoitpOlanoitpOTSFO
dnammoC 1dnarepO 2dnarepO
dnammoC
sixA
nrettap
tesffO
eulav
[Function] This command adds an offset value to the target value when the actuator moves. The offset amount is
given in mm and the resolution is 0.001mm. Offset values can be negative numbers within the range of
movement.
* The OFST command can only be used for the axes in that program. T o set an of fset value for axes in multiple programs, the OFST command must be executed for each program.
[Example] OFST 10000011 50.000 50mm is added to the movement amount of Axis 1, Axis 2, and Axis 8.
tsoP
·troptuptuO(
)galF
67
12. SEL Language
HOLD(Hold: Axis Temporary Stop)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpODLOHgalF·O/I
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
[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. The HOLD command applies only to the axes in the designated task (program), and does not affect axes running in other programs.
[Example] HOLD 25 When input port 25 turns ON, velocity decreases until all motion stops.
V
t
Input 25 ON
HOLD
Input 25 OFF
Remaining
motion
Motion
Completed
)galF·troptuptuO(
* When the HOLD function is used during PATH, CIR, ARC motion commands, the actuator stops at the next
position. During the execution of straight line motion commands such as MOVL, MOVP , it stops immediately .
* The IA system uses a unique homing sequence which locks the servo and detects the stroke edge during
homing. If the HOLD is activated at the end of homing, this might cause a "servo run-away = alarm" after the HOLD is released. Therefore, HOLD should be designated after the HOME command. If you need to desig­nate HOLD from the beginning, a home area detection switch (an area limit switch) must be installed so that the HOLD designation will not be carried out in this area.
* HOLD and CANC cannot be used in the same program. (If both are written in the same program, the command
that is designated later is the one that becomes effective).
68
12. SEL Language
CANC(Cancel: Cancels Remainder of Move)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOCNACgalF·O/I
[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. Any other programmed motion thereafter is cancelled and not executed.
* HOLD and CANC cannot be used in the same program. (If both are written in the same program, the
command that is designated later is the one that becomes effective).
[Example] CANC 25
When input port 25 turns ON, velocity decreases until all motion stops. All motion after this is cancelled.
Input 25
V
ON
t
Motion Completed
The rest is cancelled
* During PATH, CIR, ARC motion designa-
tion, the actuator moves to the next position. Any other programmed motion thereafter is cancelled and not executed.
)galF·troptuptuO(
BASE (Axis Base Designation)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
lanoitpOlanoitpOESAB.oNsixA
[Function] Count axes starting with the designated axis as the first axis.
[Example] HOME 11 Axis No.1 and Axis No.2 perform homing.
BASE 3 Axis No.3 is counted as the first axis. HOME 11 Axis No.3 and Axis No.4 perform homing.
After homing, Axis No.3~8 move by designating Axis No.1~6 (axis pattern and position data).
69
dnammoC
tsoP
)galF·troptuptuO(
12. SEL Language
GRP (Grouping of Axes)
noisnapxE
noitidnoc
·DNA(
)RO
lanoitpOlanoitpOPRG
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
[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).
[Example] GR P 00000011 From position data for 8 axes, data from axis 1 and 2 is taken out and executed.
dnammoC
sixA
nrettap
tsoP
·troptuptuO(
)galF
DEG (Degree Setting)
noisnapxE
noitidnoc
·DNA(
)RO
lanoitpOlanoitpOGEDelgnA
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[Function] This command sets up the motion increments for use with CIR (Circular Movement) and ARC
(Arc Movement) commands. When performing CIR and ARC commands, passing points will be calculated by dividing a circle into the degrees as set. When increments are set small, the circular movement is accurate, however, when they are too small, the speed becomes too slow. When CIR and ARC commands are performed without setting increments, the motion increments of the actuator will be 15 degrees.
[Example] D E G 10
Motion in 10 degree increments.
tsoP
·troptuptuO(
)galF
70
12. SEL Language
AXST (Axis Status Acquisition)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOTSXA.oNelbairaV.oNsixA
[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. These error codes are the same ones that are displayed on the front panel of the controller. (The error codes in the table are written in hexadecimal numbers. The hexadecimal value in the variable in Operand 1 must be converted to a decimal number to identify its error code.)
[Example] AXST 1 2 Read the status for Axis 2 to variable 1.
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
If 161 was in variable 1, 161 ÷ 16 = 10 ( = A) with a remainder of 1, then this means that error code A1 (External Interrupt Error) occurred on Axis 2.
dnammoC
tsoP
)galF·troptuptuO(
71
12. SEL Language
12.13 Actuator Control Commands
SVXX (Servo ON/OFF)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOXXVSnrettapsixA
[Function] This commands turns the servo of the designated axes ON/OFF .
SVXX
ON • • • Turns the servo ON. OF
[Example] SVON
HOME (Return Home)
SVON 11001100 Turn on the servo for axis 4, 7, 8. This does not affext
noisnapxE
noitidnoc
)RO·DNA(
• • • Turns the servo OFF.
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
axes that are already ON.
dnammoC
tsoP
)galF·troptuptuO(
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOEMOHnrettapsixAlanoitpO
[Function] This command executes homing of the designated axes. Servos turn ON automatically.
[Example] HOME 10000011 Axis 1, 2, and 8 axes execute homing.
72
12. SEL Language
MOVD (Direct Designate Move)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpODVOMnoitisopevoMlanoitpO
[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 Move the axis to position 100.
[Example 2] LET 1 1 00 Assign 100 to variable 1.
MOVD *1 Move the axis to variable 1 (content 100) position.
* Note: This command is applicable to the DS type only.
MOVP (Point to-Point Position Data)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOPVOM.onnoitisoPlanoitpO
[Function] This command moves the actuator to the designated position number from point to point without
interpolation.
[Example] MOVP 100
Moves to Position No. 100 (point to point).
MOVP *1
If variable 1 is 150, then the actuator moves to
noitisoP
.oN
1 2 3
○○○ ○○
123
position number 150 (point to point).
-0.001
0
0
0
-0.002 0
Move path when X-axis moves to 200mm point and Y-axis moves to 100mm point from home.
Y axis
100mm
Home 0
Y axis motion complete
X axis
200mm
Each axis moves at its own designated speed.
001
051
○○
-0.001
-0.002
-x.xxx
x
-x.xxx
x
73
12. SEL Language
MOVL( Position Data with Interpolation)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
.oNnoitisoP
lanoitpOlanoitpOLVOM
[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.
Move path when X-axis moves to 200mm point and Y-axis moves to 100mm point from home.
Y axis
100mm
Home 0
X and Y axis complete move at the same time
X axis
200mm
elbairaVlanoitpO
The tip of the combined motion for each of the axes moves at the designated speed. The path from the starting point to the end point makes a straight line.
tsoP
)galF·troptuptuO(
MVDI (Incremental Move)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
lanoitpOlanoitpOIDVM
dnammoC 1dnarepO 2dnarepO
dnammoC
noitisoP
tnemercnI
[Function] Moves the as a move load of the value designated in operand 1.
The output becomes OFF when axis move starts, and upon completion, turns ON.
[Example] MVDI 30 Move 30mm from the current position to the +direction.
* Note: This command is applicable to the DS type only.
tsoP
)galF·troptuptuO(
EP
74
12. SEL Language
MVPI (Incremental PTP Move)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
lanoitpOlanoitpOIPVM.oNnoitisoPEP
[Function] Moves the actuator to the designated position number in reference to the current position from point to point
without interpolation.
[Example] MVPI 1
When the current position is (50, 50) and position 1 data is (150, 100), the actuators move 150 in the X direction and 100 in the Y direction to the position (200, 150).
150mm
50mm
Home 0
Y axis
50mm 200mm
Y axis only completes movement
Each axis moves at its own designated speed.
X axis
MVLI (Incremental Interpolation Movement)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
lanoitpOlanoitpOILVM.onnoitisoPlanoitpO
[Function] Moves the actuator to the designated point in operand 1 from the current position while interpolating
(not point to point).
[Example] MVLI 1
When the current position is (50, 50) and the position 1 data is (150, 100), the actuators move to the position (200, 150) which is 150 in X direction and 100 in Y direction from the current position.
150mm
50mm
Home 0
Y axis
50mm 200mm
X, Y complete motion at the same time
The tip of the combined motion for each of the axes moves at the designated speed. The path from the start to the finish point makes a straight line.
X axis
)galF·troptuptuO(
75
12. SEL Language
ARCH (Arch Motion)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
lanoitpOlanoitpOHCRA
dnammoC 1dnarepO 2dnarepO
dnammoC
gnitratS
.oNnoitisop
gnidnE
.oNnoitisop
tsoP
[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.
[Example] LET 1 1 Assign 1 to variable 1.
LET 2 3 Assign 3 to operand 2. ATRG 7 0 Set position ratio to 70%. ARCH *1 Execute arch move from variable 1 (content 1) to variable 2 (content 3)
position.
*Note: See ATRG command
PATH (Path Movement)
)galF·troptuptuO(
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOHTAP
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
gnitratS
noitisop
.oN
gnidnE
noitisop
.oN
tsoP
)galF·troptuptuO(
EP
[Function] Actuator moves continuously between the designated starting point and the finishing point. The locus is
a B-spline-type, free-form curve which passes through the inside of the designated coordinate. It is possible for the actuator to move close to the designated coordinate by increasing the acceleration. However, when it exceeds the maximum acceleration, an error will occur.
* Three and four axis motion can be performed by this command.
[Example 1] PATH 1 0 0 12 0 Moves continuously to position 100 ~ 120.
[Example 2] LET 1 50 Assign 50 to variable 1.
LET 2 100 Assign 100 to variable 2. PATH *1 *2 Continuosly move positions from variable 1 (content 50) to variable 2
(content 100).
76
12. SEL Language
CIR (Circular Movement)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpORIC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
gnissaP
1noitisop
[Function] Executes circular motion using the current position as the starting
point and passing points 1 and 2. The rotation direction is deter­mined by the position data. The following diagram shows CW (clockwise) motion but this can be changed to CCW (counterclock­wise) by exchanging positions 1 and 2.
*This command is available for the specified orthogonal plane
(Automatically selected by position data. Generally the XY plane is selected.) Also, care is needed if using this with the OFST command (check movement).
[Example] CI R 100 101
Executes a circular motion passing through position numbers 100 and 101.
gnissaP
2noitisop
Starting Point
Starting Point
tsoP
)galF·troptuptuO(
lanoitpO
Passing Position 1
Passing Position 2
Position No. 100
Position No. 101
77
12. SEL Language
ARC (Arc Movement)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOCRA
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
gnissaP
1noitisop
gnissaP
2noitisop
tsoP
EP
[Function] 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. However, when other commands as ARC, P ATH and CIR follow in a consecutive order, turns ON at the 2nd point prior to the last point.
* This command is available for the specified orthogonal plane (automatically selected by position data). Generally the XY plane is selected.
[Example 1] ARC 100 101 Executes an arc motion from the current position to position 101,
passing through 100.
[Example 2] LET 1 5 Assign 5 to variable 1.
LET 2 6 Assign 6 to variable 1. AR C *1 *2 Executes an arc motion from the currrent position
(passing through variable 1 content 5) to variable 2 (content 6) position.
)galF·troptuptuO(
78
12. SEL Language
JXWX (Jog move)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOXWXJ
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
sixA
nrettap
O/I
galF
tsoP
EP
[Function] 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
FN
• • • Designated port moves forward during ON.
BN• • • Designated port moves backward during ON. FF• • • Designated port moves forward during OFF. BF• • • Designated port moves backward during OFF.
Note: HOLD is not available for this command. [Example 1] JBWF 11001100 10 While input 10 is OFF, Axis 3, 4, 7, and 8 moves backwards.
[Example 2] LET 5 20 Assign 20 to variable 5.
JFWN 10101010 * 5 While input of variable 5 (content 20) is ON, move forward
axis 2, 4, 6, and 8.
)galF·troptuptuO(
STOP (Slows to a Stop)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOPOTS
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
sixA
nrettap
[Function] Axis designated in operand 1 axis pattern slows to a stop.
[Example] STOP 11001100 Axis 3, 4, 7 and 8 Slows to a stop.
tsoP
)galF·troptuptuO(
EP
79
12. SEL Language
12.14 Structured IF Commands
IFXX (Structured IF)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOXXFI.oNelbairaVataD
[Function] Compares the contents of the variable in operand 1 and the value in operand 2. When the condition is estab-
lished, the program proceeds to the next step. When the condition is not established, if there is a corresponding ELSE command, the program proceeds to the next step after that. If not, it proceeds to the next step after the corresponding EDIF command. When the input condition is not established and there is no IFXX command executed, the program proceeds to the step following the corresponding EDIF . Up to 15 levels of nesting are available when ISXX and DWXX are combined.
IFXX
tupnI
noitidnoc
)galF·O/I(
EQ · · · Operand 1 = Operand 2 NE · · · Operand 1 Operand 2 G T · · · Operand 1 > Operand 2 GE · · · Operand 1 Operand 2 LT · · · Operand 1 < Operand 2 LE · · · Operand 1 Operand 2
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
[Example]
600 IFEQ 1 1 Select axis
IFGE 2 0 Select moving direction JFWN 01 5 Move Axis 1 forward ELSE JBWN 01 5 Move Axis 1 backward EDIF ELSE IFNE 2 1 Select moving direction JFWN 10 5 Move Axis 2 forward ELSE JBWN 10 5 Move Axis 2 backward EDIF EDIF Variable 1 selects Axis 1 or Axis 2. Variable 2 selects forward or backward to jog. When flag 600 is OFF, nothing is done and the program proceeds to the step after the last EDIF.
*Do not use GOTO (TAG) in between IFXX and EDIF.
80
12. SEL Language
ISXX (String Comparison)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOSI XX .oNnmuloC
[Function] 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. When the condition is not established, if there is a corresponding ELSE command, the program proceeds to the next step after that. If not, it proceeds to the next step after the corresponding EDIF command. The length of the string to be compared is set by the SLEN command. If there is a literal character in either Operand 1 or Operand 2, the length to be compared is that of the literal character. When the input condition is not established and there is no IFXX command executed, the program proceeds to the step following the corresponding EDIF. Up to 15 levels of nesting are available when ISXX and DWXX are combined.
ISXX
600 ISEQ 1 '1AXS' Select Axis
Column 1 ~ 4 is to select Axis 1, Axis 2 and column 5 ~ 8 is to select the jog direction. When flag 600 is OFF, nothing is done and the program proceeds to the step after the last EDIF. When column 1 ~ 8 contains the data shown below, Axis 1 moves forward.
tupnI
noitidnoc
)galF·O/I(
EQ · · · Operand 1 = Operand 2 NE · · · Operand 1 Operand 2
SCPY 10 'GOFD' Go forward SCPY 14 'GOBK' Go backward LET 1 5 LET 2 14
SLEN 4 ISEQ 5 10 Select moving direction JFWN 01 5 Move Axis 1 forward ELSE JBWN 01 5 Move Axis 1 backward EDIF ELSE ISNE *1 *2 Select moving direction JFWN 10 5 Move Axis 2 forward ELSE JBWN 10 5 Move Axis 2 backward EDIF EDIF
dnammoC 1dnarepO 2dnarepO
dnammoC
.oNnmuloC
retcarahclaretiL
tsoP
)galF·troptuptuO(
12345678 1AXSGOFD
81
12. SEL Language
ELSE
noisnapxE
noitidnoc
·DNA(
)RO
[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.
tupnI
noitidnoc
)galF·O/I(
dnammoC
dnammoC 1dnarepO 2dnarepO
ESLE
tsoP
)galF·troptuptuO(
EDIF (IFXX End)
noisnapxE
noitidnoc
·DNA(
)RO
[Function] Declares the end of an IFXX command. [Example] Refer to IFXX.
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
FIDE
dnammoC
tsoP
)galF·troptuptuO(
82
12. SEL Language
12.15 Structured DO Command
DWXX (DO WHILE)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOWD XX .oNelbairaVataD
[Function] 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.When the condition is not established, the program proceeds to the step after the corresponding EDDO command. The LEAV command can be used to force the end of the loop. When the input condition is not established, the DWXX command is not executed and the program proceeds to the next step after the corresponding EDDO. Up to 15 levels of nesting are available when ISXX and DWXX are combined.
DWXX
tupnI
noitidnoc
)galF·O/I(
EQ · · · Operand 1 = Operand 2 NE · · · Operand 1 Operand 2 GT · · · Operand 1 > Operand 2 GE · · · Operand 1 Operand 2 LT · · · Operand 1 < Operand 2 LE · · · Operand 1 Operand 2
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
[Example] DWEQ 1 0
·
· 600 LEAV
·
· EDDO While variable 1 is 0, the commands up to the EDDO command are repeated. If flag 600 turns ON during this time, the loop is forced to end and the program proceeds to the next step after the EDDO command.
EDDO (End DO WHILE)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
lanoitpOlanoitpOODDE
[Function] Declares the end of the loop which started with DWXX.
When a DWXX condition is not established, the program proceeds to next step after this command.
tsoP
)galF·troptuptuO(
[Example] Refer to DWXX.
83
12. SEL Language
LEAV (Escape From DO WHILE)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOVAEL
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[Function] Escapes the DOXX loop, then the program proceeds to the next step after EDDO.
[Example] DWEQ 1 0
·
·
600 LEAV
·
· EDDO While variable 1 is 0, the commands up to the EDDO command are repeated. If flag 600 turns ON during this time, the loop is forced to end and the program proceeds to the next step after the EDDO command. If variable 1 is still 0, then the loop is repeated.
ITER (Repeat)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
tsoP
)galF·troptuptuO(
lanoitpOlanoitpORETI
[Function] Forces the control to move to EDDO during the DOXX loop.
[Example] DWEQ 1 0
·
·
600 ITER
·
· EDDO While variable 1 is 0, the commands up to the EDDO command are repeated. If flag 600 turns ON during this time, the loop is forced to end and control is forced to move to the EDDO command. If variable 1 is still 0, then the loop is repeated.
84
12. SEL Language
12.16 Branching commands
SLCT (Start Selection Group)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOTCLS
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
[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.
(Example] SCPY 1 ‘Right’ Assign ‘Right’ to column 1 and 5.
:
600 SLCT Since the string in columns 1 through 5 are equal to ‘Right’, the
commands that follow this WSEQ will be executed.
WSEQ 1 ‘Right’ Since the string in columns 1 through 5 are not equal to ‘left’,
the commands that follow this WSEQ will not be executed. If it
is neither, then the commands that follow OTHE are executed. WSEQ 1 ‘Left’ When flag 600 is OFF, or if any one of the conditions is executed, : then end the select. OTHE : EDSL
)galF·troptuptuO(
85
12. SEL Language
WHXX (Selected When T rue Variable)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
XXHW.oNelbairaVataD
dnammoC
[Function] 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. If the conditions are not met, the program will go to the next WHXX command or OTHE command or EDSL.
WHXX
EQ .......... Operand 1 = Operand 2
NE .......... Operand 1 Operand 2
GT .......... Operand 1 >Operand 2
GE .......... Operand 1 >Operand 2
LT .......... Operand 1 <Operand 2
LE .......... Operand 1 <Operand 2
[Example] LET 1 20 Assign 20 to variable 1.
L ET 2 10 Assign 10 to variable 2. : SLCT Branches. WHEQ 1 10 If the content of variable is 10, (1) is executed but since the : content is 20, program refers to the next condition. (1) : WHGT 1 *2 Executed if the content of variable 1 is greater than the : - content of variable 2.
(2 ) V ariable 1 (=20) > variable 2 (=10), so (2) is executed. :
OTHE If no conditions are fufilled, this is executed. Since (2) was : executed, (3) will not be executed. (3)
: EDSL When one of the conditions is met and that command is : performed, processing moves to EDSL. In this example, (4 ) (2) and (4) are executed. :
tsoP
)galF·troptuptuO(
* When there is a possibility of several conditions being met, the WXXX command that appears first goes into effect and
the commands that follow are not executed. When conditions are demanding, list the ones with the highest priority first.
86
12. SEL Language
WSXX (Selected When True Character)
noisnapxE
noitidnoc
)RO·DNA(
[Function] This is used during SLCTEDSL. Compares the character string in the columns in operand 1 and
tupnI
noitidnoc
)galF·O/I(
operand 2. If the conditions are met, then the code following the WSXX will be executed up to the next WSXX. If the conditions are not met, the program will go up to the next WSXX command or OTHE command or EDSL. Comparison is made based on the length designated in the SLEN command. When operand 2 is a literal character, that is the length that is executed.
WSXX
dnammoC
dnammoC 1dnarepO 2dnarepO
XXSW.oNmuloCretcarahclaretiL·.oNnmuloC
tsoP
)galF·troptuptuO(
EQ NE
• • • Operand 1 = Operand 2
• • • Operand 1 Operand 2
[Example] SLEN 3 Sets the number of characters to be compared to 3.
SCPY 1 ‘ABC’ Assign ‘ABC’ to column 1. LET 1 3 Assign 3 to variable 1. : SLCT WSEQ 1 ‘XYZ’ Branches. : If columns 1~3 are ‘XYZ’, (1) is executed but since columns
(1) 1~3 are ‘ABC’, this is not executed. :
WSEQ 1 ‘ABC’ : If columns1~3 are ‘ABC’, (2) is executed. Therefore, this (2) code is executed. : OTHE : If no conditions are fufilled, this is executed. Since (2) was (3) executed, (3) will not be executed. : EDSL When one of the conditions is met and that command is performed, : processing moves to EDSL. In this example, (2) and (4) (4) are executed.
* When there is a possibility of several conditions being met, the WXXX command that appears first goes into effect and
the commands that follow are not executed. When conditions are demanding, list the ones with the highest priority first.
87
12. SEL Language
OTHE (Selected in Case of Other)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
EHTO
dnammoC
tsoP
[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.
)galF·troptuptuO(
EDSL (End of Selected Group)
noisnapxE
noitidnoc
)RO·DNA(
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
LSDE
[Function] Declares the end of SLCT command.
[Example] Please refer to SLCT, WHXX and WSXX.
dnammoC
tsoP
)galF·troptuptuO(
88
12. SEL Language
12.17 External input output command
OPEN (Open Channel)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpONEPO.oNlennahC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
[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.
[Example] SCHA 10 Designate 10 (=LF) as the ending character.
OPEN 1 Open channel 1.
SCHA 13 Designate 13 (=CR) as the ending character. L ET 1 2 Assign 2 to variable 1. Open channel 2, the value contained in variable 1. OPEN *1
CLOS (Close Channel)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOSOLC.oNlennahC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
[Function] Closes the channel specified in operand 1. Channels specified after this will be unable to transmit and
receive signals.
[Example] CLOS 1 Close the channel.
[Example] LE T 1 2 Assign 2 to variable 1.
CLOS *1 Close channel 2, the value contained in variable 1.
)galF·troptuptuO(
89
12. SEL Language
READ
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpODAER.oNlennahC.oNnmuloC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[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.
[Example] SCHA 10 Set LF (= 10) for the ending character .
OPEN 1 Open channel 1. READ 1 2 Read the character string from channel 1 to column 2 until LF appears. CLOS 1 Close the channel.
LET 1 2 Assign 2 to variable 1. LET 2 3 Assign 3 to variable 2. SCHA 13 Set CR (= 13) for the ending character. READ *1 *2 Read the character string from channel 2 (content of variable 1) to column 3
(content of variable 2) until CR appears.
tsoP
)galF·troptuptuO(
90
12. SEL Language
WRIT (Write)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOTIRW.oNlennahC.oNnmuloC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[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.
[Example] SCHA 10 Set LF (= 10) for the ending character .
OPEN 1 Open channel 1. WRIT 1 2 Write the character string from channel 1 to column 2 until LF appears. CLOS 1 Close the channel.
LET 1 2 Assign 2 to variable 1. LET 2 3 Assign 3 to variable 2. SCHA 13 Set CR (= 13) for the ending character. WRIT *1 *2 Read the character string from channel 2 (content of variable 1) to column 3
(content of variable 2) until CR appears.
tsoP
)galF·troptuptuO(
SCHA (Set Ending Letter)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOAHCSedocretcarahC.oNnmuloC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[Function] Sets the ending letter to be used in the READ command and WRIT command. A value from 0 ~ 255
(character code used in BASIC) can be designated for the character.
[Example] Refer to the READ command and WRIT command.
tsoP
)galF·troptuptuO(
91
12. SEL Language
12.18 String processing commands
SCPY
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOYPCS.oNnmuloC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
.oNnmuloC
retcarahClaretiL
[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.
[Example] SCPY 1 ‘ABC’ Copy ‘ABC’ to column 1.
SLEN 10 Set the length of the operation to 10 bytes. SCPY 100 200 Copy the length of the operation to 10 bytes.
Copy 10 bytes from the column 200 to column 100.
L ET 1 300 Assign 300 to variable 1. L ET 2 400 Assign 400 to variable 2. SLEN 5 Set the length of the operation to 5 bytes. SCPY *1 *2 Copy 5 bytes from column 400 (the content of variable 2)
to column 300 (the content of variable 1).
tsoP
)galF·troptuptuO(
SCMP (Compare Character String)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOPMCS.oNnmuloC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
.oNnmuloC
retcarahClaretiL
tsoP
)galF·troptuptuO(
QE
[Function] Compares the column in operand 1 and the column in operand 2. Compares only the length set by the
SLEN command. When operand 2 is a literal character, that is the length compared.
[Example] SCMP 1 ‘ABC’ 60 0 When column 1~3 are ‘ABC’ flag 600 turns ON.
SLEN 5 Set the length to be compared to 5 bytes. SCPY 10 30 999 When the 5 bytes from column 10 and column 30 are equal,
flag 999 turns ON.
L ET 1 1 0 Assign 300 to variable 1. L ET 2 2 0 Assign 400 to variable 2. SLEN 3 Set the length of the operation to 5 bytes. SCMP *1 *2 310 When the 3 bytes in column 10 (the content of variable 1) and
the 3 bytes in column 20 (the content of variable 2) are equal, then, the output turns ON.
92
12. SEL Language
SGET (Acquire Character String)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOTEGS.oNelbairaV.oNnmuloC
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[Function] Assigms 1 character from the column in operand 2 to the variable in operand 1.
[Example] SGET 100 Assign 1 byte of column 100 to variable 1.
LET 1 3 Assign 3 to variable 1. LET 2 1 Assign 1 to variable 2. SCPY 1 ‘A’ Copy ‘A ’ to coumn 1. SGET *1 *2 Assign ‘A’ in column 1 (content of variable 2) to
variable 3(content of variable 1).
tsoP
)galF·troptuptuO(
SPUT (Set Character)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOTUPS.oNnmuloCataD
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
[Function] Sets the data in operand 2 to the column in operand 1.
[Example] SPUT 5 10 Set 10 (LF) to column 5.
L ET 1 100 Assign 100 to variable 1. L ET 2 50 Assign 50 to variable 2. SPUT *1 *2 Set 50 (' 2') which is the content of variable 2 to column 100
(content of variable 1).
tsoP
)galF·troptuptuO(
93
12. SEL Language
STR (Change Character String Decimal)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpORTS.oNnmuloCataD
[Function] 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. Even if the data is longer than the length, the length set by the SLEN command takes precedence.
[Example] SLEN 5. 3
tupnI
noitidnoc
)galF·O/I(
STR 1 123
Set the length to a 5 digit integer with 3 decimals. The following will be set in column 1~9,
123456789
LET 1 10 LE T 2 987. 6543 SLEN 2. 3 STR *1 *2
Assign 10 to variable 1. Assign 987. 6543 to variable 2. Set the length to a 2 digit integer with 3 decimals. The following will be set in column 10~15,
dnammoC 1dnarepO 2dnarepO
123 .000
dnammoC
tsoP
)galF·troptuptuO(
011121314151
87.654
. Since the data was longer than the set length, 9 in the 100s place and 3 in the 4th decimal place
are cut off.
94
12. SEL Language
STRH (Change Character String Hexadecimal)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOHRTS.oNnmuloCataD
[Function] 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. Even if the data is longer than the set length, the setting by the SLEN command will take precedence.
[Example] SLEN 5
tupnI
noitidnoc
)galF·O/I(
STRH 1 255 Set format for a 5 digit integer. The following will be set in column 1~5,
12345
FF
LET 1 10 LE T 2 987. 6543 SLEN 2. 3 STRH *1 *2
Assign 10 to variable 1. Assign 987. 6543 to variable 2. Set format for a 2 digit integer with 3 decimals. The following will be set in column 10~11,
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
0111
DB
.3, the decimal segment of the SLEN command, and .6543 in variable 2 will be ignored. The integer expressed in hexadecimal notation is ' 3DB'. However, 3 in the third digit will be cut off since the length is set to 2 digits.
95
12. SEL Language
VAL (Character String Change Data Decimal)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOLAV.oNelbairaV.oNnmuloC
[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.
SLEN 4 Set the length to 4 bytes. VAL 1 10 ‘1234’ in column 10 is converted to the number 1234 and assigned
L ET 1 100 Assign 100 to variable 1. L ET 2 20 Assign 20 to variable 2
SCPY 20 ‘1234’ Copy ‘1234’ to column 20~23. SCPY 24 ‘.567’ Copy ‘.567’ to columns 24~27.
SLEN 8 Set the length to 8 bytes. VA L H *1 *2 ‘1234.567’ in column 20 (content of variable 2) will be converted to
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
to variable 1.
the binary number 1234.567 and assigned to variable 100 (content of variable 1).
dnammoC
tsoP
)galF·troptuptuO(
96
12. SEL Language
V ALH (Character String Data Hexadecimal)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpOHLAV.oNelbairaV.oNnmuloC
[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. Only the integers will be converted and the decimal places will be disregarded.
[Example] SCPY 10 ' 1234' Set ' 1234' in column 10.
SLEN 4 Set the length to 4 bytes. VAL 1 1 0 The hexadecimal number ' 1234' in column 10 is converted to the
L ET 1 100 Assign 100 to variable 1. L ET 2 20 Assign 20 to variable 2 SCPY 20 ' ABCD' Copy ' ABCD' to column 20. SLEN 4 Set the length to 4 bytes. VA L H *1 *2 The hexadecimal ' ABCD' in column 20 (content of variable 2) will be
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
number 4660 and assigned to variable 1.
converted to the binary number 43982 and assigned to variable 100 (content of variable 1).
dnammoC
tsoP
)galF·troptuptuO(
SLEN (Set Length)
noisnapxE
noitidnoc
)RO·DNA(
lanoitpOlanoitpONELShtgneL
[Function] Sets the length for the string command.
SCMP ··· Decimals Invalid SCPY ··· Decimals Invalid ISXX ··· Decimals Invalid STRH ··· Decimals Invalid V AL,VALH ··· Decimals Invalid STR ··· Decimals V alid
[Example] Refer to each of the commands above.
tupnI
noitidnoc
)galF·O/I(
dnammoC 1dnarepO 2dnarepO
dnammoC
tsoP
)galF·troptuptuO(
97
13. Error Codes
13.1 List of error codes
edoCrorrEemaNrorrEnoitanalpxE
1ArorrEtpurretnIlanretxE
2ArorrEdaolrevOrotoMrotomfodaolrevolacinahceM 3ArorrEnoitaiveD daolrevolacinahcemoteudylreporpmrofrepotelbanusirotoM 4ArorrEtimiLerawtfoStimilerawtfosdedeecxE 5ArorrEesneSeloPelopesnesotelbanU
0BrorrEmargorPoNtsixetonseodmargorP
1BrorrEnoitucexEmargorPmargorpgnitucexeyltnerrucafonoitucexE 2BrorrErevOmargorPsretemarapsatesesohtsdeecxesksatforebmuN 3B 4BrorrErebmuNgaTelbuoDdesuerarebmungatemasehtfoeromroowT 5BrebmuNenituorbuSdenifednUdenifedtonsirebmunenituorbuS 6BrebmuNgaTdenifednUdenifedtonsirebmungaT 7BrorrEriaPenituorbuSytitnauqemasehttoneraRSDEdnaRSGB 8BrorrERSGB1petSrorrERSGBasi1petS 9BrorrEriaPODDE,ODytitnauqemasehttoneraODDEdnaOD
ABrorrErevOtseNODsemit51nahteromdesusawOD BBrorrEriaPFIytitnauqemasehttoneraESLEdnaFI CBrorrEESLEFIDEdnaFIneewtebtonsawhcihwecalpanidesusawESLE
0CrorrEgnimoHoNsrotautcagninnurerofebdemrofreptonsawgnimoH
1CrorrEataDtnioPatadtniopderetsigernudetucexeotedamneebsahtpmettA 2CrorrEnoitucexEelbuoDsixAgnivomyltnerrucsixaotnevigdnammocevoM 3CrorrEtimiLerawtfoSmargorpnidedeecxetimilerawtfoS
ACrorrEnmuloC999~1foegnarehtedistuotessawrebmunnmuloC BCrorrE.oNlennahC2~1foegnarehtedistuotessaweciveD CCrorrErotanimreTtestonsawrettelgnidnE DCrorrE.oNecruoS9~1foegnarehtedistuotessawrebmunecruoS ECrorrEtnecrePnoitoMS%05~0foegnarehtedistuotesswtnecrepnoitomS FCrorrEreggirThcrA%001~05foegnarehtedistuotessawreggirT
0DrorrEnoitareleccAstimilsdeecxenoitareleccA
1DrorrEyticoleVoNtesneebtonsahyticoleV 2DrorrEedirrevO%001~1foegnarehtedistuotessawedirrevO 3DrorrEelgnAseerged021~1.0foegnarehtedistuotessawelgnA 4DrorrEnrettaPsixA 5DrorrErebmuNsixA8~1foegnarehtedistuotessawrebmunsixA 6DrorrEsixAnoitomcra/ralucricnidetangisederasexa3nahteroM 7DrorrErebmuNmargorPtimilehtsdeecxerebmunmargorP 8DrorrErebmuNnoitisoPtimilehtsdeecxerebmunnoitisoP 9DrorrErebmuNtnioPrebmuntniopehtnitupnisawrebmunevitageN
ADrorrErebmuNgalFyltcerrocdengissatonsigalF BDrorrEelbairaVyltcerrocdengissatonsielbairaV CDrorrErevOstigiD)stib23yranib(stigid8sdeecxerebmundengissA DDrorrE)0(noisiviD"0"sinoisividehtfotluseR ED FDrorrEleveLksaT5~1foegnarehtfoedistuotessawlevelksaT
0ErorrEdnammoCdenifednUdnammocdenifednuetucexeotdetpmettA 1ErorrEgnitseNrevOenituorbuSsenituorbus51nahteromfognitseN 2ErorrEgnitseNrednUenituorbuSriapagnikamtoneraRSDEdnaRSXE 3ErorrEnmuloCgnillortnoCtcerroctonsinoitidnocfoesU
GErorrEGMEdetressasaw)potSycnegremE(ycnegremE 0FrorrEtpurretnIhctamtonodtnemeganamtpurretnIdnaUPCrotoM
tnerrucrevorotoM.1
taehrevorevirD.3
rebmuNenituorbuSelbuoD
rorrE
)rorre
noitatupmoCnoitoMralucriC
rorrE
)daolevitagenrevo(tnerrucevitarenegerrevO.2
desuerarebmunenituorbusemasehtfoeromroowT
atadtniop(1Crofosla4DsyalpsiD.yltcerroctestonsawnrettapsixA
tupnisawnoitomralucricmrofreptonnactahtatadnoitisoP
* For the DS Type, E is attached in the front of the error code, displayed on the 1st column.
98
Loading...