Professional Documents
Culture Documents
Manual Avançado DX100
Manual Avançado DX100
Advanced Programming
Training Manual
Revised 11/30/09
NOT FOR RESALE
© 2009 by MOTOMAN
All Rights Reserved
First Edition June 12, 2009
MOTOMAN, Inc.
805 Liberty Lane
West Carrollton, OH 45449
TEL: (937) 847-6200
FAX: (937) 847-6277
24-HOUR HOTLINE: (937) 847-3200
www.motoman.com
PREFACE
PURPOSE OF THIS MANUAL
MOTOMAN Technical Education Center training manuals are not intended for use
as stand alone training tools. This manual is to be used in conjunction with
the DX100 Advanced Programming course.
DISCLAIMER
Information in this manual is based on the assumption that the DX100
controller is in the MANAGEMENT Security Level and is using the
EXPANDED Language. Be aware that the keystrokes described in this
manual may vary based on other settings, software versions, and options.
NOTE: This manual is not for resale and will not be sold separately.
All training manuals developed by MOTOMAN Technical Education
Center are copyrighted. Do not copy any portion of these manuals.
TABLE OF CONTENTS
1.0 BASIC PROGRAMMING REVIEW............................................... 1-1
1.1 Jogging Coordinates...................................................................... 1-1
1.2 Alarms & Errors............................................................................. 1-1
1.2.1 Error Message................................................................................. 1-1
1.2.2 Minor Alarm..................................................................................... 1-1
1.2.3 Major Alarm..................................................................................... 1-1
1.3 User Frames.................................................................................. 1-2
1.4 Motion Types.................................................................................. 1-3
1.5 Path Creation................................................................................. 1-3
1.6 Path Confirmation.......................................................................... 1-3
1.7 CONTROL Instructions.................................................................. 1-4
1.7.1 CALL JOB:(name)........................................................................... 1-4
Nesting Jobs.................................................................................... 1-5
1.7.2 RET (Return)................................................................................... 1-5
1.7.3 JUMP JOB:(name)........................................................................... 1-5
1.7.4 JUMP*LABEL & *LABEL................................................................. 1-6
1.7.5 COMMENT...................................................................................... 1-6
1.7.6 TIMER.............................................................................................. 1-6
1.7.7 PAUSE............................................................................................. 1-6
1.8 IN/OUT Instructions....................................................................... 1-6
1.8.1 DIN (Digital Input)............................................................................ 1-6
1.8.2 WAIT................................................................................................ 1-6
1.8.3 DOUT (Digital Output)..................................................................... 1-7
1.8.4 PULSE............................................................................................. 1-7
1.9 ARITH Instructions........................................................................ 1-7
1.9.1 INC................................................................................................... 1-7
1.9.2 DEC................................................................................................. 1-7
1.9.3 SET.................................................................................................. 1-8
1.9.4 CLEAR............................................................................................. 1-8
1.10 Undo/Redo.................................................................................... 1-8
1.11 Other Use of Assist Key............................................................... 1-10
1.12 Main Menu Key............................................................................ 1-11
1.13 Trash Job List.............................................................................. 1-11
1.14 Multi-Window Function................................................................ 1-12
COORD
: Joint Coordinates [SLURBT]
63
: User Frame Coordinates [UF#1-63] E- E+ 8- 8+
U
Figure 1-1 Jogging Coordinates, COORD Key, and Axis/TCP Jogging Keys
If running in PLAY mode, the job execution ceases, but Servo Power remains on.
A Major Alarm can only be cleared by cycling the DX100 controller power OFF/ON.
A User Frame is a plane defined by three points ORG, XX, and XY:
•ORG The zero, ORIGIN, position for a User Frame.
•XX A point on the positive direction of the X-axis.
•XY A point on the positive Y side of the plane.
Z-axis
X-axis
XX
XY
Y-axis
ORG
1 2 1 2
MOVJ A B MOVL A B
2
3
B MOVC
MOVC 2
MOVC
MOVC MOVC
MOVC 1 A, B 3
A MOVC 1,4
MOVS
MOVS 5
MOVS MOVS
6
7
MOVS 1 4 B
MOVS A 2
MOVS MOVS 3
1 3
MOVS
A B MOVS
INTER
LOCK
+ TEST
START
keys Continuous program speed/25% max limit
Nesting Jobs
The CALL instruction can be used within a child job to “nest” jobs inside one
another. With each new parent/child execution, a JOB STACK of parent names is
accumulated so that the controller can track the proper RET/END sequence as each is
completed.
Up to twelve levels of nested jobs can be used; the original parent is level one.
1.7.5 COMMENT
Comments are notes/prompts to the programmer or operator. Comments are preceded
by an apostrophe (’) and are limited to 32 characters per line.
1.7.6 TIMER
The TIMER instruction causes a delay in execution of the job until the designated
time expires. The cursor remains on this instruction line while the controller executes
the TIMER. The range is 0.01 to 655.35 seconds; example: TIMER T=1.00.
1.7.7 PAUSE
The Pause instruction is used whenever a programmed hold is required to suspend
execution of the job. The start lamp turns OFF, and the robot maintains its position.
DIN B005 IG#(1) [Stores input group 1 status into byte address B005]
1.8.2 WAIT
The WAIT instruction is used whenever the system is dependent on any I/O status
or B-Variable content to be true before continuing job execution. When an optional
timer tag is used, the controller will wait for either the I/O status to be true or for the
timer to expire; whichever comes first.
1.8.4 PULSE
The PULSE instruction is used to momentarily turn ON/OFF an individual or group
of outputs for a specified time or 0.3 seconds by default.
Regarding Half-Groups, both the upper and lower half can only total 15 since there
are only 4 bits. In the Sample ON/OFF from the table above, the status for either
IGH#(2) or OGH#(2) would be 8 + 1 = 9.
1.9.3 SET
The SET instruction allows a CONSTANT or another Variable’s content to be stored
as the content of a designated Variable address.
NOTE: Whenever the INC/DEC or SET instruction attempts to store a result that
exceeds the range for the designated Variable type, “ALARM: 4446 OVER
VARIABLE LIMIT” will occur.
1.9.4 CLEAR
The CLEAR instruction allows consecutive variable addresses to be initialized to the
default value of zero (0). After designating the starting address, either the number
of addresses desired in the range or the tag “ALL” that follow may be selected.
Examples: CLEAR B000 ALL or CLEAR D020 5.
1.10 Undo/Redo
Upon enabling the UNDO feature, the ASSIST key becomes available for the UNDO
and REDO function regarding job edits.
To enable the UNDO feature, perform the following:
1. In TEACH on the JOB CONTENT screen from the Address Side, choose EDIT.
2. Choose ENABLE UNDO from the Edit menu.
To use the UNDO feature after any change to the JOB CONTENT (insert,
modification of positions, delete, past, speed changes, etc.), perform the
following:
1. In TEACH on the JOB CONTENT screen with the cursor on the line where the
entry just occurred, press the ASSIST key.
NOTE: The UNDO function maintains the buffer until either a change is made
in another job or the ASSIST key is pressed in another job. The DX100
controller is capable of undoing the last 5 job changes. A message will show
on the message line, “Undo data of job editing cleared”.
The UNDO can be reversed by pressing the ASSIST key again so that REDO appears.
To use the REDO feature, perform the following:
1. In TEACH on the JOB CONTENT screen with the cursor on the line below
which the insertion should occur, press the ASSIST key. The address will be
covered with the word REDO.
2. Press SELECT to re-insert the last entry.
The ASSIST key can be used in conjunction with the SHIFT key and the
INTERLOCK key to view a list of uses for either of these two keys.
INTER
Press + LOCK
to view displays/functions for the INTERLOCK key.
ASSIST
The MAIN MENU key is used to display the top level menu choices on the left side
of the pendant screen.
Pressing the MAIN MENU key toggles the display on and off. so that the General
Display screen fully expands across the entire pendant screen’s left-to-right sides.
Another use of the MAIN MENU key is in conjunction with the up/down Cursor to
adjust the screen brightness as either low, medium, or high.
MAIN
MENU
+ UP/DOWN CURSOR increases/decreases brightness.
The Multi-window Layout key can be set to split the general-purpose display
area from just a single window to 2, 3, or 4 windows shown simultaneously. There
are seven patterns to be optionally chosen as desired under DISPLAY SETUP.
The status line icon, , indicates that the Muli-Window Layout has been set.
SHIFT
To toggle between Single/Multi Window, press + keys.
Pressing just the key while in Single-Window allows the previously set
Multi-Windows to appear individually as full screen in the order they were setup
(1g2g3g4g1······).
NOTE: There is less content view per multi-window because of limited size. The Edit
buffer in a JOB CONTENT is displayed only when that window is active. Also,
no auxiliary windows appear.
In addition, BP addresses exist only if one or more robots on the DX100 have a
servo-driven BASE axis, and the EX addresses exist only if the DX100 controls
one or more EXTERNAL station axes servo motors.
The default VAR.DAT standard memory allocation has the following shares:
//VAR
///PFNUM 6,0,0,0 (6 types available: B, I, D, R, S, and P)
///SHARE 100,100,100,100,100,128,0,0 (# allocated: B, I, D, R, S, P, BP, and EX)
Global variable addresses can be reallocated in the Maintenance mode under SETUP,
OPTION FUNCTION, VARIABLE ALLOCATION.
The number of local addresses is set in the JOB HEADER. The JOB HEADER for all
jobs “expands” with an argument area for reserving local variable address memory.
No reference to local variables exists on the INFORM LIST instructions unless a
local variable has been reserved.
NOTE: Local variable files can be displayed from the VARIABLE/LOCAL VARIABLE
selection. To monitor different local variable types, cursor LEFT or RIGHT.
Although up to 255 of each type can be registered, the block of memory dedicated
for total number of Local Variables may not be large enough. If Alarm 4441, LACK
OF LOCAL-VARIABLE AREA occurs, then return to the header and be sure that the
correct number and type of variables have been set.
NOTE: A message appears stating “Reconstruct local variable from next start...”. The
reserved memory for local variable storage only exists while the job is in Play,
START.
A Local Variable is initialized when the job is started (START, CALL, PSTART, etc).
Local Arithmetic Variables are initialized with a “0” value, Local Position Variables
are initialized in an un-formatted state. It is the programmer’s responsibility to
reconstruct the values stored in each address within the structure of the job using
ARITH menu instructions SET, SETE, DIN, or GETS.
Each type may have a Global/Local, Scalar/Array address. In Teach mode, Position
data may be recorded with servo power ON for all global types except TOOL. Data
for all types may be manually entered for shift data and incremental move data using
the SELECT method and number key pad.
System Variable
No. Explanation
Type
$B-Type Variable $B002 Detected/Not Detected by the optional SRCH
instruction
0: Not Detected, 1: Detected
$PX- Type Variable $PX000 Current Value (pulse type)
$RV Type Variable $RV Return value as programmed using the RET
instruction
The SYSTEM POSITION AXES ($PX) variables are used with the GETS instruction
to obtain the current position for the CONTROL GROUP defined in JOB HEADER.
P126 = R2 (slave)
P127 = R1 (master)
BP126 = B2 (slave)
BP127= B1 (master)
EX126= S1
CAUTION! The programmer must allow for expansion of addresses when storing
current psition data with GETS $Px000 in jobs with Control Group for
multiple Robots, Bases, and/or Station axes.
In addition to this, variable data can be transferred from/to the parent/child using
CALL ARGF tag and the GETARG instruction. Also, RET can have a Constant or
Variable tag to send data to the parent via the GETS $RV instruction.
With the purchased software option, CONCURRENT JOB, the DX100 controller can
run up to 8 jobs simultaneously. The jobs to be run concurrently are parallel started
from a master task job with the PSTART instruction.
Nested CALL JOBs create a JOB STACK of parents. Each child job returns to it own
(the previous) parent on the stack by RET or its END. One cycle is completed upon
execution of the initial parent job’s END instruction. The JOB STACK can have up
to 12 parents. It can be monitored in PLAY mode under JOB CONTENT Display.
NOTE: If the JOB STACK exceeds more than 12, then the Minor Alarm:4452 STACK
MORE THAN 12 (JOB CALL) will occur.
For these two types of CALL usage, the child jobs must be named numerically using
“0”, “1”, “2”, “3”, etc., up to “255”. Per execution, this gives only one possible
selection, but there can be up to 256 choices available.
3.2.1 CALL IG#( )
A Universal Input Group is 8 individual Bits looked at by the controller as a Byte.
This Byte value is converted from Binary format to Decimal format. The controller
correlates a decimal numeral from 1-255 as a child job name to pick from the Job List
as the active child job by execution of CALL IG#( ).
The programmer must realize that the status of the referenced Input Group may be
ever changing, but the controller only uses the current status value at the time of
execution of this instruction.
DX Advanced Programming Training Manual 3-1 © MOTOMAN
Job Control & Multi-Tasking
The following illustrates the logic of the controller for use of CALL IG#( ) to
select a child job from the JOB LIST.
This “static” content in the Byte address will not change until the instruction is
either repeated again later in the job or, if not repeated, then it will change upon
the next cycle of performing that Digital Input instruction.
The CALL Bxxx instruction must reference the correct, DIN Bxxx address; Job
names can be 0-255 for a total of 256 possible CALL Bxxx child jobs.
Not only does this allow for many more job possibilities than with CALL Bxxx where
the names can only be 0-255 or with CALL IG#( ) where names can only be 1-255,
but also the JET job names do not have to be numeric. They must, however, be
registered on one of three tables that contain 1024 entries each.
Examples:
CALL JET#(1) ENTRY=459
JUMP JET#(D099) ENTRY=I099 IF LB000=0
CALL JET#(B004) ENTRY=20
The JOB REGISTRATION for Tables 1~3 are accessed under Main Menu, JOB.
Each Table has 1024 possible entries. It is convenient (but not necessary) when two
or more robots are involved that Table 1 be jobs exclusive to R1, Table 2 for R2, and
Table 3 for R3.
Pressing SELECT in the ENTRY line launches the JOB LIST for selection of
an existing name into the Table. All desired Entries should be made prior to
programming any CALL or JUMP using the JET#( ) ENTRY= tag on either of these
CONTROL instructions.
NOTE: Setting S2C443=1 Enables the JET Registration Tables active only in TEACH
Mode. Setting S2C443=2 allows the Tables to be edited in PLAY Mode even
while a job is running.
The DETAIL EDIT for CALL/JUMP allows access to the JET#( ) tag selection.
The same CALL/JUMP programming rules apply regarding nesting and what type
of job can call or jump to another with respect to Control Group or Non-Group using
ROBOT/CONCURRENT job options.
The transferred data can be used by the child job for instruction tags such as Velocity,
PL, Timer, File numbers, I/O selection, or a P-type variable element then SETE, etc.
3. With cursor on dashed line of desired ARG 1~8, press SELECT and choose USE.
4. Enter a descriptive COMMENT.
NOTE: The COMMENT will appear on the GETARG instruction in the child job and it
will also show in the Detail Edit for CALL when programming the parent.
5. Select TYPE, choose the data Type for each used Argument 1~8 to be received.
3.4.2 GETARG
The ARGUMENT INFO SETUP is required before programming the GETARG
instruction.
To program the GETARG instruction in the child job, perform the following:
1. In child’s JOB CONTENT, on Inform List, choose ARITH menu.
2. Choose GETARG and SELECT its Detail Edit screen.
3. Use to identify Local Type, and enter the PUT TO variable address.
Information from the parent job with CALL ARGF tag(s) will be received upon
execution of each corresponding GETARG IARG#( ) instruction in the child job.
Any child job with a GETARG instruction cannot be run independently; it will cause
Minor Alarm:4608 Wrong Execution of GETARG Instruction.
5. Enter Variable type and address, or CONSTANT value to be passed to child job.
Figure 3-15 Argument Edit Default Selection ARG1 and ARG3 Complete
6. Insert the CALL instruction into the job.
Notice that in the figure above, the first example shows what the default
ARGUMENT EDIT screen displays when the child’s ARGUMENT INFO has not
been set prior to programming the parent CALL instruction.
The second window above shows what the DETAIL EDIT for CALL ARGUMENT
EDIT displays when the child’s ARGUMENT INFO has been completed with
COMMENT and TYPE prior to programming the CALL into the parent.
The figure below shows what the instruction tag displays when a CONSTANT, a
Variable address, and/or a STRING are used. Also, notice that only Arguments 1~4
and 8 are being sent to the child; the commas are the delineation between the missing
arguments 5, 6, and 7.
To program the GETS instruction, perform the following in the parent job:
1. In the parent job, open the Inform List ARITH menu; choose GETS.
2. In the Detail Edit screen of GETS, cursor to the PUT TO and press SELECT.
Choose the variable type the information will be placed in.
3. SELECT and enter specific variable address to receive information; ENTER.
Figure 3-19 GETS Detail Edit for Get From: GETS $RV
With both the child’s RET Value and the parent’s programmed with GETS $RV
instruction, the information will be passed from the Child to the Parent.
This function is frequently used when multiple groups of servo-motors for Robots,
Base axes and/or External Station axes are controlled by a single controller.
Any system with two or more groups must have this option.
NOTE: The DX100 is capable of running a total of 8 jobs concurrently with standard
hardware, or 16 jobs concurrently with optionally available hardware.
With the CONCURRENT JOB software option, the CREATE NEW JOB
screen has four parts:
• Job Name (up to 32 characters)
• Comment (up to 32 characters)
• Group Set (NO GROUP AXES, R1, R2, R1+R2, R1+S1, etc.)
• Job Type (CONCURRENT or ROBOT)
The Job Type selection, either ROBOT or CONCURRENT, indicates what can be
included in the job. In order program motion to control Group Axes, ROBOT type
must be selected.
A CONCURRENT job cannot control any group axes; only non-motion instructions
can be entered into the CONCURRENT job type. Therefore, the Group Set for all
CONCURRENT jobs should be NO GROUP AXES.
If continuation of the Master Task is not desired until SUB 1 or SUB 2, etc. have
been completed, then a PWAIT SUB1 and/or PWAIT SUB2, etc. is necessary.
5. Cursor to the Target Job line and select “JOB:”, then select the desired job name.
7. Press ENTER to return to the job screen with the information in the Edit Buffer.
8. Press INSERT, ENTER.
NOTE: Programming with “TARGET JOB UNUSED” requires setting of a Master Job
Task name in the “CTRL MASTER” section.
The PWAIT instruction causes the Master Task to wait for the completion of the
designated subroutine before resuming its own execution. Without the PWAIT,
the Master Task would continue processing its instructions regardless of when the
subroutines finish. This would mean that in AUTO CYCLE, the Master Task could
start over again before the subroutines are completed.
Therefore, if not used earlier in the master task, there should at least be a PWAIT for
each sub task prior to the END instruction in the Master Task.
Also, pressing SHIFT + “4” key alternates the setting. Using this shortcut method
will display a message either “Single Job Mode Available” or “Multi Job Mode
Available”. In the Single Job Mode, only the active/viewed job is executed.
This instruction is programmed into both the subroutines. As there are 32 of these
available, each is identified with a number (1-32). Whichever program gets to the
TSYNC instruction first, it will wait until the other job gets to the corresponding
numbered TSYNC instruction. The controller thereby synchronizes the tasks.
NOTE: Non-Group indicates that this job can contain only non-motion INFORM LIST
instructions. Group Set R1 or other combinations, as available based on the
controller setup, can have motion only for the identified Control Group.
To Select a Macro Job (in Management Mode only), perform the following:
1. From the Main Menu, choose Select Macro Job. The Macro Job Directory will
be displayed.
2. Cursor to the desired Macro Job name and press SELECT.
NOTE: ROBOT type Macro jobs must be set up on the MACRO (ROBOT) page;
CONCURRENT type are set up from the MACRO (CONCURRENT) page.
3. Use the Page Key to access the appropriate page.
4. Cursor to the next available MACRO setting, cursor to the EXECUTE Job
column, press SELECT.
NOTE: The Macro Setup has the opportunity to set a Suspend Job. This job is a
Non-Group job that runs whenever the Macro Execute job is interrupted by a
Hold or E-Stop.
Figure 4-5 Job with Macro Instruction
CAUTION! Macro jobs will restart at the beginning when interrupted. Robot Macro
jobs with motion may not have a clear path from the point of interruption
to the first point in the job.
Example:
MOVL V=950
CIRCLE radius= 50 speed= 500
MOVL V=950
NOTE: The Macro Job can be programmed using a RET instruction is a Return Value
tag is desired. This allows the transferring of numerical information back to
the parent job via the GETS $RV instruction.
NOTE: DISPLAY ON allows the argument to be shown on the Edit Buffer Line.
EXPRES’N places a descriptive comment preceding the value/variable.
7. Change the Display to ON and enter a description for the EXPRES’N.
NOTE: COMMENT1 will be shown on the Detail Edit screen preceeding the constant
or variable. COMMENT2 will follow the constant/variable.
9. Enter descritpions in COMMENT1 and COMMENT2 for the Detail Edit screen.
Changing Data Type (from one variable type to another), adding or deleting
arguments, or adding or deleting Suspend Jobs will result in an UNMATCH
indication.
NOTES
NOTE: The structure of the language will automatically insert the pair’s related
terminating instruction immediately below it in the JOB CONTENT. However,
the active cursor remains on the initial instruction such that INSERT, ENTER
will program between from the Address Side. Also, Copy/Cut and then Paste
may be used to move existing instructions between the paired structure from
the Instruction Side EDIT Menu.
NOTE: The SWITCH structure can include not only CASE instructions, but also an
optional DEFAULT prior to ENDSWITCH. Similarly, the IFTHEN structure
can include the conditional ELSEIF instructions, as well as a non-conditional
ELSE option prior to the ENDIF.
The FOR instruction declares the Integer Variable address to be paired with NEXT
and sets the range for the initial start content to the desired end value.
The NEXT instruction increments by either the default one or the STEP value.
It also identifies the end of the loop section for that pair’s Integer address.
The following examples show how both the Pendant and a simple text
editor would display the structure.
A Start value of 1 with an End value equal to the desired number of total executions
works well for the default increment of one.
NOP
MOVJ C00000 VJ=25.00
FOR I000 START= 1 TO 5
MOVL C00001 V=250.0
MOVC C00002 V=250.0
MOVC C00003 V=83.3
MOVC C00004 V=83.3
MOVL C00005 V=250.0
NEXT I000
MOVJ C00006 VJ=25.00
END
Setting the STEP value is only necessary for an increment of 2 or more. For this, it is
recommended to use a START value equal to the STEP increment.
The example above would execute the For~Next set of instructions 12 times.
The condition(s) can be based on only three types of status: 1) Universal Input;
2) Input Group; or 3) B, I D, R, or S Variable Content.
NOP
CALL JOB:START
WHILE IN#(1)=ON
CALL JOB:TEST1
CALL JOB:TEST2
CALL JOB:TEST3
ENDWHILE
CALL JOB:START
END
NOP
CALL JOB:START
WHILE IN#(1)=ON ANDIF B000<>123 ORIF IG#(1)=20
CALL JOB:TEST1
CALL JOB:TEST2
CALL JOB:TEST3
ENDWHILE
CALL JOB:START
END
The SWITCH instruction line includes the declared Integer address and the first
CASE number that will run, CASE 1. Additional CASE# instructions for other cases
to be selected are programmed between the pair.
NOTE: Each Case# in the program must be a unique number. During Job execution
of SWITCH, only one exclusive CASE is completed, then the job goes to the
ENDSWITCH.
However, an optional DEFAULT instruction can be inserted prior to the
ENDSWITCH for instructions to be executed only when the CASE# requested does
not exist.
If there is not a corresponding CASE# for the current Integer value, the job goes to
the ENDSWITCH unless an optional DEFAULT instruction set is programmed.
NOP
CALL JOB:START
DIN B000 IG#(1)
SET I000 B000
SWITCH I000 CASE 1
CALL JOB:TEST1
CASE 2
CALL JOB:TEST2
CASE 4
CALL JOB:TEST3
DEFAULT
PULSE OG#(1) 255 T=1.00
ENDSWITCH
CALL JOB:START
END
The ELSEIF instruction may be inserted anywhere between the IFTHEN and
ENDIF. This can create a programming logic similar to the Case, but based on 1-3
Condition(s) rather than an Integer content selection.
NOP
CALL JOB:START
DIN B000 IG#(1)
IFTHEN B000=1
CALL JOB:TEST1
ELSEIF B000=2
CALL JOB:TEST2
ELSEIF B000=3
CALL JOB:TEST3
ENDIF
CALL JOB:START
END
NOTE: Up to three conditions can be programmed using AND/OR with the IFTHEN
and the ELSEIF instructions.
Using the ELSE instruction allows for a default selection if none of the other
conditions have been met, similar to the Switch Default function.
NOTE: The ELSE instruction is non-conditional.
NOP
CALL JOB:START
DIN B000 IG#(1)
IFTHEN B000=1
CALL JOB:TEST1
ELSEIF B000=2
CALL JOB:TEST2
ELSEIF B000=3
CALL JOB:TEST3
ELSE
PULSE OG#(1) 255 T=1.00
ENDIF
CALL JOB:START
END
The spacing indentation in the JOB CONTENT helps to identify the paired sections.
The default display in a simple text editor uses a tabbed indentation.
The figure below shows both formats; however, the limited JOB CONTENT view
from the pendant, Lines:0004-0015, only illustrate the nested FOR~NEXT pairs.
The *.jbi file example shows Lines:0000-0016 so that at least a portion of the most
outer pair of instructions using SWITCH CASE is visible in order to illustrate the
CASE 1 and the beginning of CASE 2.
NOTES
NOTE: Current Position data cannot be captured or displayed in TOOL data type.
With regard to Position Variables, only BASE, ROBOT, and USER Frame can be
the chosen data type for registering positions with servo power. However, TOOL in
addition to BASE, ROBOT, and USER, are available as COORD data type choices
when using the elements for shift data and IMOV data.
6.3.1 Robot Frame (RF)
The ROBOT Frame (RF) XYZ Cartesian coordinate system, as illustrated below,
shows the zero position and the directions of the X+, Y+, and Z+ coordinate axes
which is the direction of operation for the axis keys when using the [RECT] jogging
coordinates. Each robot, R1~R8, would have its own RF of reference.
The XYZ directions remain the same, but the zero position is identified by a location
on the Base axis as well as a robot location. Up to eight BF references are available,
B1~B8.
Base Coordinate System
NOTE: In a system without any base axes, the BASE Frame (BF) position data will be
the same as the ROBOT Frame (RF) data.
ORG
Not only can User Frames be used for jogging the robot in USER Coordinates, but
also the UF#( ) tag can be used in program instructions with position variables
regarding IMOV or with the CALL instruction to run the job in different User
Frames. In addition, performing dynamic editing with the PAM function or a 3-D
shift with the Relative Job software option includes User Frames.
6.3.4 Tool Frame (TF)
Data for shifting or incremental moves may be entered by numeric keypad not only in
BF, RF, and UF #( ), but also TF with any Tool No. 00-63.
NOTE: Although the direction of the TOOL FRAME is ever-changing as the TCP
travels, the location of the TCP in TF is always 0.000 mm for X, Y, & Z..
Therefore, the software does not display position data in TOOL, nor does it
register points with position variables in TOOL data type.
Y+
X+
Z+
TOOL NO. 04
Figure 6-9 Example Tool No. 04 for each STEP in JOB CONTENT
Each Motion Step COMMAND POSITION address in the JOB CONTENT displays
its recorded Tool No. when the cursor is highlighting that Line/Step address.
Consequently, the first concern is selecting the correct Tool Number for new steps or
modifying points; also when capturing current position data into a Position Variable.
NOTE: For multiple TCP use, set the Teaching Condition to PERMIT Tool Number
Switching. The currently active tool will remain as the selected Tool No. on the
tool list until changed as described below.
Cursor to the desired tool number. (Assuming the TCP data has been manually or
automatically stored previously.) Then, new steps or modifying step positions for that
desired tool is available. To close the list, press [SHIFT] + [COORD] again. Choose
any desired coordinate system for jogging purposes.
NOTE: The Teaching Condition “Tool Number Interlock for Step Entry” set as Prohibit
keeps all jobs from being programmed and/or edited accidentally with the
wrong Tool No. This means that all steps in a job must be entered with the
same Tool No. as the first motion step in the job; otherwise “ERROR 0070:
Program and current tool different” will occur.
Positioner Positioner
Robot
Torch Tack
Tender Table
3. Enter the correct positive or negative Pulse Counts using the number key pad.
4. Press ENTER.
Repeat Steps 2 through 4 for desired modification of S, L, U, R, B, and T.
The <TYPE> data, on the right side of the Position Variable display screen, FRONT/
REAR S<180 or S>=180, UP/DOWN R<180 or R>=180, as well as FLIP/NO FLIP
T<180 or T>=180 are not position elements. These are factory set to define robot
configuration such as wall-mounted with S-axis facing (REAR) cables down the wall,
ceiling mounted with the R-axis rotated 180 deg., etc.
Motion Type can be selected either on the Edit Buffer Line for Command Position
programming or from the INFORM LIST: MOTION menu for programming with
Position Variables.
Other motion tags that can optionally be included are PL= (Position Level) or FINE=;
CR= (Corner Radius; MOVL only); FPT= (MOVC only); NWAIT; UNTIL IN#( )=
or SRCH RIN#( )=; ACC/DEC= (Acceleration/Deceleration Reduction: 20 to 100%);
or “//COMMENT” (up to 32 characters).
The instructions in the following JOB CONTENT show the format of motion
programmed using Position Variables.
Job Example:
LINE INSTRUCTION
0000 NOP
0001 MOVJ P000 VJ=25.00
0002 MOVJ VJ=100.00
0003 MOVL P018 V=76
0004 MOVL P126 V=220 PL=0
The Position Variable data type, PULSE/XYZ, determines control of either the job’s
Control Group motors or the active TCP.
If using XYZ data, then the Frame type, BF, RF, or UF#(1-63), will determine the
referenced origin where the TCP position is located.
For example, X=0, Y=0, Z=0 in RF may be an unobtainable TCP position, but in BF
it is the origin of the Base track and in any UF#(1-63) it is the User defined origin of
the specific frame.
NOTE: Modification of the Position Variable cannot be done from the Job Content.
Editing of Position Variable content, at the DX100 Pendant, can only be
performed within the Position Variable address window.
To program a motion step into a job using a previously stored position variable
location, complete the following steps:
1. Display the job in TEACH with the cursor on the address side.
2. Press the INFORM LIST key, choose MOTION.
NOTE: Press SELECT again to access the DETAIL EDIT screen to make changes for
more specific editing choices, then go to step 8. To just change number data,
continue with steps 4-8.
4. Cursor onto the existing Position Variable address on the edit buffer line; press
SELECT.
5. Enter the desired Position Variable address (0-127); press ENTER.
6. Place the cursor on existing velocity for V or VJ; press SELECT.
7. Enter the desired Control_point_speed= or Joint_speed=; press ENTER.
8. Press INSERT, ENTER to put the entire MOV_ instruction into the job.
NOTE: If no speed is desired, cursor to the MOV_ and press SELECT. Choose the V
or VJ area of DETAIL EDIT and select UNUSED.
NOTE: To just change number data, continue with steps 4-7. Otherwise, press
SELECT to access DETAIL EDIT for other required editing choices.
4. Cursor to the existing PXXX; press SELECT. Enter the desired Position Variable
number; press ENTER.
5. Cursor to the existing velocity; press SELECT. Enter the desired Control_point_
speed= or Angle_speed=; press ENTER.
6. Cursor to the existing COORDINATE and SELECT required frame BF, RF, TF,
MTF, or UF. If UF#( ), cursor to the existing number; press SELECT, then
enter the desired number; press ENTER.
7. Press INSERT, ENTER.
LINE INSTRUCTION
0000 NOP
0001 MOVJ VJ=25.00
0002 SET I000 5
0003 *LABEL
0004 IMOV P002 V=2250 UF#(18)
0005 IMOV P003 V=2250 UF#(18)
0006 DEC I000
0007 JUMP *LABEL IF I000 > 0
0008 MOVJ VJ=100.00
0009 END
A stair-step pattern has been created by setting XYZ format for P002 to Y=-50 mm,
and P003 to Z= 50 mm (with all other elements remaining zero). The robot will move
in this stair-step pattern five times based on the IF condition for the JUMP instruction.
These include SMOV_ instructions for Coordinated Motion Control, SYMOV_ for
conveyor tracking, and EIMOV_ for motion correlating to an External Reference
Point (External TCP).
Access to these COMMAND POSITION motion types for the Edit Buffer Line is
by the following keystroke choices:
To select the SMOV_ instruction, press the “4” key (designated as SMOV for its
secondary marking).
For access to SYMOV_ or EIMOV_ press SHIFT + MOTION TYPE to change
to that type, then press only the MOTION TYPE to choose the desired SYMOVJ
or SYMOVL, or to choose EIMOVL or EIMOVC. To return to the standard
MOTION TYPE key instructions, repeat SHIFT + MOTION TYPE.
Access to these motion types for programming with position variables is through the
INFORM LIST key MOTION menu selection.
Figure 7-5 Inform List Motion Menu for EIMOV_ Pxxx Instruction
The SPEED instruction can have tags for setting all of the velocity types:
VJ=Joint_speed
V=Control_point_speed
VR=Angle_speed (velocity of rotation)
VE=External Axis speed, if applicable
CAUTION! The SPEED instruction must precede any steps that are to default to the
Default Speed Register’s current setting(s).
The convenience of using the default speed method is that if the speeds for these steps
need to be adjusted, only one line needs to be edited, rather than each step.
In the sample job below, the robot will move at the default VJ=50.00 (%) for the
MOVJ in Lines 0003 and 0009. In Lines 0005 through 0007, the robot will move at
the default V=1125 (cm/min) during travel in the circular path and the MOVL.
LINE INSTRUCTION
0000 NOP
0001 SPEED VJ=50.00 V=1125
0002 MOVJ VJ=25.00
0003 MOVJ
0004 MOVC V= 138
0005 MOVC
0006 MOVC
0007 MOVL
0008 MOVL V=138
0009 MOVJ
0010 END
In order for a motion step to use the default SPEED, the motion step must be entered
into the job without the edit buffer line designating any velocity tag. This can be
done by “unchecking” the * ENABLE SPD TAG in the EDIT menu if multiple steps
will not require speed tags.
Otherwise, each step can be set individually in DETAIL EDIT with speed UNUSED.
NOTE: Depending on Application Parameter [AxP] settings, motion steps without
speed tags that are programmed between the ON/OFF instructions of the
DEVICE menu, such as ARCON ASF#( ) and ARCOF, may default to a
SPEED setting within the ARCON file.
6. Complete any other DETAIL editing for the desired edit buffer line.
7. Press [INSERT] ENTER.
NOTE: To remove a Speed Tag on an existing line, the DETAIL EDIT screen may be
accessed from the Instruction Side to set the SPEED to UNUSED.
3. With the cursor on the Input Buffer line on SPEED, press SELECT.
4. Activate Joint (VJ), TCP (V), or ANGLE (VR) SPEED by selecting UNUSED
on each item.
^
5. SELECT on [ ] to program the Default Speed as either a Constant value or a
^
Variable.
or
SELECT on the speed digits to change the speed to a new constant.
6. Press ENTER (the data moves to the edit buffer line).
NOTE: The default speed can also be programmed as any B, I, or D Variable type.
In the example below, the controller considers Line 0025 complete as soon as the
IN#(3)=ON. If the input never turns on, then the robot continues to the original
command position location. (If the input is already ON when the instruction is
executed, then the robot will go directly from the location in Line 0024 to Line 0026.)
LINE INSTRUCTION
0024 MOVL V=1125
0025 MOVL V=66 UNTIL IN#(3)=ON
0026 MOVL V=138
If the job contains no other motion steps after the line with the UNTIL tag, then the
robot will stop when the input is ON.
To program an UNTIL tag, complete the following steps:
1. Put the cursor on address side for initial programming of a new MOVJ or MOVL
instruction, or put the cursor on the instruction side on an existing MOVJ or
MOVL line that requires the UNTIL tag.
2. Access the DETAIL EDIT screen of the MOV_.
An optional timer, T= tag, delays movement toward the search position and prevents
recognition of the RIN until the time expires.
Another advantage of the SRCH function is that it allows the robot to continue
searching linearly beyond the target position for a distance designated in millimeters.
This DIS= tag value should be set for the furthest distance that the object could safely
be located beyond the motion step’s programmed location.
The SRCH tag can be used on a Servo Command Position MOVL, on a MOVL Pxxx
to a Position Variable location, or on an IMOV Pxxx Incremental Move.
NOTE: The SRCH function’s return code for Rapid Input is the System Variable
address $B002.
The example below illustrates the use of the NWAIT tag on Line 0002.
LINE INSTRUCTION
0000 NOP
0001 MOVJ VJ=25.00
0002 MOVL V=138 NWAIT
0003 SET B004 255
0004 SET I099 0
0005 SET D015 20000
0006 CLEAR R000 ALL
0007 MOVL V=276
0008 MOVJ VJ=50.00
The instructions in Line 0003 through Line 006 will be executed while the robot
travels from Line 0001 to the position of Line 0002.
NOTE: The NWAIT expires upon completion of the entire MOVE INSTRUCTION SET.
If the non-motion takes longer than the robot’s travel to the tagged step, then
the robot will hesitate at this step location until all instructions are completed.
NOTE: The NWAIT motion tag is also available in the DETAIL EDIT for MOTION with
position variables (MOV_ Pxxx) and incremental moves (IMOV Pxxx).
In this case, the NWAIT tag expires upon execution of a CWAIT control instruction
within the MOVE INSTRUCTION SET.
The example below illustrates use of both NWAIT tag and the CWAIT instruction.
LINE INSTRUCTION
0011 MOVL V=138
0012 MOVL V=138 NWAIT
0013 DOUT OG#(1) 240
0014 CWAIT
0015 DOUT OT#(2) OFF
0016 MOVL V=276
The DOUT instruction on Line 0013 will be executed while the robot travels from
Line 0011 to the position of Line 0012.
The DOUT on Line 0015 will not execute until the MOVL of Line 0012 is complete.
NOTE: The CWAIT instruction is only available in the Expanded Language Level.
LINE INSTRUCTION
0011 MOVL V=138
0012 MOVL V=138 ENWAIT T=3.00
0013 DOUT OT#(1) ON
Parameter S2C714 = 1 enables the ENWAIT tag in DETAIL EDIT for motion.
7.11 PL Tag
An additional detail “Positioning_level=” PL= tag may be used to define the level of
completion for that step.
If exact precision is needed, regardless of the velocity, a PL=0 tag can be used to have
the robot reach the Command Position. This will cause a momentary hesitation as the
controller confirms the exact pulse data for [SLURBT].
Other settings of PL=1 through PL=8 are set by parameter in microns for the required
level of travel completion to the point.
NOTE: To enable a display for setting PL=1 through PL=8, set Parameter S2C387=1.
Settings for PL=1 through PL=8 can then be viewed/changed from the SETUP
menu, and they are automatically stored into the DX100 Parameters.
The FINE=0 has the same result as the PL=0 tag which causes a complete stop/
hesitation at either the exact COMMAND POSITION (0 Pulse Count tolerance), or
within 25 Pulse Counts for each motor, depending on an enabled/disabled parameter
setting for the system.
The FINE tag may be added only to a MOVJ or a MOVL step instruction.
An individual parameter for each motor link is set in PULSE counts for SLURBT
(and E, 7th axis, if applicable) for FINE=1, FINE=2, and FINE=3.
The Yaskawa/Motoman position set zones for the FINE tag are as follows:
FINE=1 (100 Pulse Counts)
FINE=2 (300 Pulse Counts)
FINE=3 (1,000 Pulse Counts)
2
6
1 3 5 7
4
The instruction and comment are separated by a double slash “//” delineation.
MOVJ VJ=100.00 // HOME POSITION
To add a Comment to any Motion Type Instruction, perform the following:
1. SELECT the DETAIL EDIT screen of the MOV_ instruction.
2. Cursor to COMMENT UNUSED and press SELECT.
3. Cursor to // and press SELECT.
4. Cursor to the default setting COMMENT and press SELECT. The Keyboard will
be displayed.
5. Type a comment up to 32 characters and press ENTER.
6. Press ENTER again to return to the DETAIL EDIT screen.
7. Press ENTER again to return to the JOB CONTENT screen.
8. Press [INSERT] if on the address side, ENTER to accept into the job content.
Another way to temporarily offset positions is to teach a child job using the
MOTION menu with USER data Position Variables. This job can then be called
from another program using the CALL UF#( ) tag. The User Frame Coordinate
referenced, ranging from 1-63 different User Frame locations, can be based on either
a CONSTANT or a VARIABLE content
In the job example, the motions in Lines 0013, 0014, and 0015 will be shifted during
continuous operation in Play mode or with INTERLOCK + TEST START in Teach.
LINE INSTRUCTION
0011 MOVJ VJ=25.00
0012 SFTON P127 UF#(5)
0013 MOVJ P000 VJ=100.00
0014 MOVL V=1250
0015 MOVL V=1250
0016 SFTOF
0017 MOVJ VJ=100.00
NOTE: The current shift value may be monitored, when active during job execution,
by displaying the SHIFT VALUE screen under the ROBOT menu.
8.1.1 SFTON
Prior to programming the SFTON instructions, it is necessary to verify the correct
Position Variable address desired.
To program the SFTON instruction, complete the following steps:
1. Display the job in Teach mode with the cursor on the Address side.
2. Press the INFORM LIST key and choose SHIFT.
3. Choose SFTON.
4. Press SELECT with the cursor on SFTON at the Edit Buffer line to access the
DETAIL EDIT screen.
5. Cursor to the existing P-VAR ROBOT address, press SELECT, enter the desired
address number; press ENTER.
CAUTION! If no coordinate frame is specified for an XYZ data type address, then it
is defaulted to Base Frame upon execution of that SFTON instruction.
The instruction tag for FRAME will take priority over the data type in the
Position Variable address.
8.1.2 SFTOF
WARNING! If the cursor is placed on any motion step between the SFTON and
SFTOF (without execution of the shift instruction) and the program is
restarted by PLAY or by INTERLOCK+TEST START or jogged by the
FWD/BWD key method, the controller will move the robot/TCP to the
original location of the step!
The following job sample shows the master and child jobs performing a UF#(19) shift
at the pick location and use of a compound shift with RF and TF at the placement.
J: MASTER
NOP
SUB P010 P010 [Zero elements of UF#(19); P010=0.000,0.000,0.000,0.0000,0.0000,0.0000]
SETE P010 (1) 50800 [Set X element of P0010=50.800,0.000,0.000,0.0000,0.0000,0.0000]
SUB P020 P020 [Zero elements of RF data type; P020=0.000,0.000,0.000,0.0000,0.0000,0.0000]
SETE P020 (3) 50800 [Set Z element of P020=,0.000,0.000,50.800,0.0000,0.0000,0.0000]
SUB P011 P011 [Zero all elements of UF#(19) data type current shift value for PICK]
SUB P021 P021 [Zero all elements of RF current shift value for STACK]
SUB P022 P022 [Zero elements of TF; P022=0.000,0.000,0.000,0.0000,0.0000,0.0000]
SETE P022 (6) -450000 [Set Rz of P022 to -45 degrees for alternating STACK orientation]
SET D099 1 [Initially JUMP the SFTON P022 TF for no orientation shift]
MOVJ P001 VJ=5.00 [Move to start position]
DOUT OT#(11) OFF [Redundancy of DOUT OFF to ensure gripper is open]
INPUT # of blocks [“Live” INPUT to I017 for number of blocks to be picked and stacked]
*LABEL
CALL JOB:PICK
CALL JOB:STACK
DEC I017 [DEC for completion of each block placed in stack]
JUMP *LABEL IF I017>0 [Repeat loop to complete number of blocks]
MOVJ P001 VJ=100.00 [Move to start position at end of job]
MUL D099 -1 [Alternate JUMP condition status (1/-1) for shift TF orientation in J:STACK]
MUL P011 0 [Redundant Zero all elements of UF#(19) current shift value for PICK]
MUL P021 0 [Redundant Zero all elements of RF current shift value for STACK]
MUL P022 0 [Redundant Zero TF; P022=0.000,0.000,0.000,0.0000,0.0000,0.0000]
END
J: PICK
NOP
DOUT OT#(11) OFF [Redundancy of DOUT OFF to ensure gripper is open]
SFTON P011 UF#(19) [Current shift amount for PICK position in UF#(19) Frame]
MOVJ C00000 VJ=100.00 //Approach
MOVL C00001 V=150.0 PL=0 // Pick Position
CALL JOB:GRIP
MOVL C00002 V=750.0 ACC=40 // Depart
SFTOF [Clears CURRENT SHIFT VALUE buffer]
ADD P011 P010 [Add next X+ offset UF#(19); P0011=??.???,0.000,0.000,0.0000,0.0000,0.0000]
END
J: STACK
NOP
SFTON P021 RF [Current shift amount for STACK position in Robot Frame]
JUMP*LABEL IF D099=1 [Every other cycle tool orientation -45 deg. to stack piece]
SFTON P022 TF [Current compound shift amount for STACK position in Tool Frame]
*LABEL
MOVL C00000 V=1500.0 //Approach
MOVL C00001 V=93.0 PL=0 DEC=20 // Place Position
WAIT SOUT##(59) = ON [Cannot release item unless in Cube#3 Interference Zone]
CALL JOB:UNGRIP
MOVL C00002 V=375.0 // Depart
INC D018 [Cumulative count of completed pieces stacked]
SFTOF [Clears CURRENT SHIFT VALUE buffer]
ADD P021 P020 [Add next Z+ Offset in RF); P020=,0.000,0.000,??.???,0.0000,0.0000,0.0000]
END
NOTE: The data type must be manually selected for each Position Variable address
prior to use.
If the data type has not been established, a minor alarm will occur during execution of
any instruction involving the address.
While the job is in progress, the current SHIFT VALUE can be accessed in the
ROBOT menu. To view each data type, when compound shift amounts are involved,
press SELECT and cursor to the desired type to display.
Figure 8-2 Example Selection for SFTON Pxxx TF - Shift Coordinate: TOOL Display
NOTE: The SFTOF instruction clears the current SHIFT VALUE buffer.
8.2 MSHIFT
The MSHIFT (Make Shift) instruction calculates an offset between two position
variables and stores the difference in a third position variable. This allows the
amount of shift in millimeters/degrees to be determined during the execution of a job.
The two absolute position variables used to calculate the difference can be set up
in any data type; however, the data will always be stored in the resultant variable in
XYZ format with a declared Frame type of either BF, RF, TF, MTF, or UF#( ).
In the following example, the MSHIFT in line 0001 will subtract the position data in
P001 from the position data in P002 and store the difference (result) into P003 in BF
(Base Frame) XYZ format.
NOTE: To execute the instruction in TEACH with servos ON, hold INTERLOCK+FWD.
This tag can allow the job to play within any defined User Frame coordinate system.
It can be expressed as a CONSTANT or a B, I, or D type Variable.
The following parent job calls the child job, J:FRAMES, to play in UF#(15) instead
of its original Frame location.
/JOB
//NAME CALL_UF#
//POS
///NPOS 0,0,0,0,0,0
//INST
///DATE 2009/05/28 16:20
///ATTR SC,RW
///GROUP1 RB1
NOP
CALL JOB:FRAMES UF#(15)
END
The child job sample below, J:FRAMES, is programmed with Position Variables that
create a perfect rectangle from data manually entered into the files P100, P101, P102,
and P103 [originally as UF#(09) data type].
/JOB
//NAME FRAMES
//POS
///NPOS 0,0,0,5,0,0
///TOOL 0
///POSTYPE PULSE
///PULSE
P000=0,0,0,0,-80000,27000
///USER 9 [Example originally at UF#(9) location]
///POSTYPE USER
///RECTAN
///RCONF 0,0,0,0,0,0,0,0
P100=0.000,0.000,5.000,175.0000,45.0000,0.0000
P101=90.000,0.000,5.000,175.0000,45.0000,0.0000
P102=90.000,70.000,5.000,175.0000,45.0000,0.0000
P103=0.000,70.000,5.000,175.0000,45.0000,0.0000
//INST
///DATE 2009/05/28 16:08
///ATTR SC,RW
///GROUP1 RB1
NOP
MOVJ P000 VJ=50.00 [Original location because of PULSE data type]
MOVJ P100 VJ=50.00 PL=0
MOVL P101 V=76.5 PL=0
MOVL P102 V=76.5 PL=0 [Location relative to UF#(15)] on CALL Coord Tag]
MOVL P103 V=76.5 PL=0
MOVL P100 V=76.5 PL=0
MOVJ P000 VJ=50.00 [Original location because of PULSE data type]
END
NOTE: The address P000 is in PULSE data type, and therefore is not affected by
the CALL UF#( ) tag. Also, motion steps recorded as standard COMMAND
POSITIONS would not be shifted by this method.
For even more flexibility of location, the DIN instruction can be used to store a
number into a Byte address to be referenced as a User Frame coordinate when the
child job plays. This will allow the child job to play in any other defined User Frame
ranging from 1 to 63 locations.
/JOB
//NAME CALL_UF#
//POS
///NPOS 0,0,0,0,0,0
//INST
///DATE 2009/05/28 16:27
///ATTR SC,RW
///GROUP1 RB1
NOP
*LABEL
DIN B000 IG#(1)
JUMP *LABEL IF B000=0
CALL JOB:FRAMES UF#(B000) IF B000 <=63
END
/JOB
//NAME FRAMES
NOP
MOVJ P000 VJ=50.00 [Original location because of PULSE data type]
MOVJ P100 VJ=50.00 PL=0
MOVL P101 V=76.5 PL=0
MOVL P102 V=76.5 PL=0 [Relative to Variable Frame number in B000 content]
MOVL P103 V=76.5 PL=0
MOVL P100 V=76.5 PL=0
MOVJ P000 VJ=50.00 [Original location because of PULSE data type]
END
NOTES
4. Cursor to the XYZ element to be changed, press SELECT and enter the
dimension for the adjustment.
5. Choose COMPLETE.
This adjustment is a permanent change to the Command Position. If UNDO has been
enabled, the ASSIST/UNDO function will allow the change to be reverted to the
original location.
If the parameter S2C652 =0, a single existing job, or portion of the job, can be
permanently shifted in a parallel manner. Only the designated steps within the single
job are shifted; points in a CALL job are not affected. The Parallel Shift screen
provides only the frame and X, Y, and Z elements.
If the parameter S2C652 = 1, the Parallel Shift is based on a Position Variable. All 6
elements of the Position Variable are considered, and child jobs can be shifted.
CAUTION! If jobs are used as sub-routines for multiple jobs, this shifting may
cause unexpected results and robot crashes.
3. Verify that the source job shown is correct. If not, press SELECT, cursor to the
desired job; press SELECT.
4. The default step numbers for job shift is the whole job; skip to step 6 to shift
the entire job. If only a specific section is desired, set the beginning and ending
step numbers to be shifted by cursoring to STEP SECTION addresses, press
SELECT, enter step number; press ENTER.
NOTE: The DX100 is able to calculate a shift amount using the TEACH SETTING
element.
Cursor to BASE POINT: TEACH SETTING, press SELECT.
The display screen will then show two points: BASE POINT (SRC) on the left, which
is a point on the original job, and BASE PT (DEST) on the right, which is the location
of the same point at the desired shifted job location.
9. Cursor to the BASE PT (SRC), move the robot tool to the original point location
and press MODIFY, ENTER.
10. Cursor to the BASE PT (DEST), jog the robot tool to the desired shifted location
and press MODIFY, ENTER.
11. Choose EXEC. The SHIFT VALUE is then computed and the screen is returned
to the Parallel Shift Job screen.
12. Choose EXEC.
13. If no Destination Job is annotated, choose YES on the “Overwrite?” screen. The
converted job will be displayed on the pendant.
NOTE: The Parallel Shift Function may cause programmed points to shift out of the
robot’s working envelope or past soft limits. These points will be displayed in
the job as “/OV”. These positions must be modified. Do not play a job until it
has been tested with the FWD key.
NOTE: Rotational data will only change the orientation of the tool. The job will not be
3 dimensionally shifted.
2. From the desired JOB CONTENT, choose UTILITY.
3. Choose PARALLEL SHIFT JOB.
4. Cursor to FILE # and enter the Position Variable number from Step 1.
5. Verify the Shift Job Name is correct. If not, press SELECT, cursor to the desired
job; press SELECT.
6. Choose the Mode to be Single if only the source job is to be shifted, or Related if
the source and all CALLed jobs are to be shifted.
7. Cursor to and choose the desired Coordinate.
NOTE: The coordinate in the Parallel Shift Job screen takes priority over the Position
Variable coordinate. If one is set for PULSE and the other is set for any XYZ
frame, an error will occur on execution.
8. Cursor to CONV. METHOD to specify if related jobs control groups are shifted
by the same shift value or by a different shift value. Choose COMMON or
EACH.
NOTE: COMMON All the manipulators/ bases/ stations are converted by the same
shift value. EACH Each manipulator/ base/ station is converted separately by
individual values.
9. Press EXECUTE.
No choice is provided for a Destination Job. The only choice is to overwrite the
existing job. No warning is provided that executing the Parallel Shift will overwrite
the existing job.
The shifted axes are determined by S1CxG 065 according to the following bit pattern:
Axis T B R U L S S, R, & T
NOTE: The value of 41 is the default for a 6-axis robot, the value of 105 is the default
for a 7-axis robot.
In the above example, using 41 for this parameter, only the signs on the S, R, and T
axes will be reveresed during the MIRROR SHIFT, and the signs on the other three
axes L, U, and B will not.
CAUTION! MIRROR SHIFT by Pulse data will shift the COMMAND POSITION of the
points but it does not guarantee that the tool orientation will be retained.
NOTE: With the Robot Frame mirror shift function, conversion for a Station Axis is
performed by reversing the sign for the axes specified with the parameter
S1CxG065 MIRROR SHIFT SIGN INVERSION. Mirror shift conversion for
the Base Axis is not performed with the RF mirror shift function.
Axis data is not controlled and may cause the creation of positions that the robot
cannot reach.
CAUTION! Points shifted out of the robot’s TCP working envelope or past motor
soft limits will be displayed in the job as “/OV” and must be modified.
Do not play a job until it has been tested with the FWD key.
Figure 9-9 Mirror Shift by USER FRAME using X-Z Plane Target
The PAM (Position Adjustment by Manual) function allows not only permanent
shifting of taught points and/or rotation in any XYZ Frame, but also changing the
velocity of steps, or modification of associated position levels while in the PLAY
mode while the job is running or in TEACH mode.
The changes become effective at the next NOP instruction of the selected job in
PLAY mode or immediately if in TEACH mode.
NOTE: If the step number for each desired change is unknown, activate the
addresses for all steps by choosing ENABLE STEP NO from the DISPLAY
menu in the JOB CONTENT screen.
The SETUP menu provides the Functional Condition Setting screen that sets
maximum change values for the PAM dynamic editing function.
To use the PAM function in Play mode, perform the following procedure:
1. With the job executing in PLAY/AUTO, verify the STEP number (not LINE
number) of each step to be changed and what position adjustment or speed/POS
LEVEL modifications are desired.
2. From the JOB CONTENT screen, choose UTILITY.
3. Choose PAM.
NOTE: Shift amount data will not be accepted on the PAM screen unless a STEP
number has been entered first.
NOTE: EDIT allows access to LINE CLEAR (clears all data for that step), LINE COPY
(copies all data for that step), LINE PASTE (pastes all data copied from
another step).
13. Repeat Steps 11 and 12 for each data change for up to 10 steps maximum.
14. When all changes have been entered, choose COMPLETE.
15. Choose “YES” on the “Correct?” screen.
NOTE: In PLAY mode, the permanent changes will occur the next time the cursor
is at NOP during playback; in TEACH mode, the permanent changes to the
selected job are done immediately. Inserting additional NOP instructions
throughout the job will allow quicker reaction to the PAM execution.
If the changes made are undesirable, the UNDO becomes available in TEACH mode
or if stopped in PLAY mode. The UNDO feature is in the EDIT menu of the PAM
function screen, as shown in the figure.
For off-line programming, the User Frame XYZ data type allows all motion step
position data to be entered in a format of millimeters/degrees with respect to the user-
defined zero (ORG) location.
Other convenient uses of REL JOB are for 3-D shifting, or for alignment of tool
(TCP) change/deformation, or for using jobs taught on other robots.
NOTE: RELATIVE JOB software can only convert COMMAND POSITION steps.
It does not convert motion steps programmed with Position Variable data.
NOTE: If a DESTINATION NAME is not chosen, the system will ask if the original job
may be overwritten. To overwrite the original job, skip to step 10.
9. Cursor to DESTINATION JOB, press SELECT and enter a name; press ENTER.
NOTE: The parameter S2C332 specifies how to operate a relative job. A method to
convert a relative job into a standard job (pulse), and a conversion method to
calculate the aimed position (pulse position) when a relative job is operated
can be specified as follows:
0: Previous step with priority (B-axis moving distance minimized)
1: Form with priority
2: Previous step with priority (R-axis moving distance minimized)
/JOB
//NAME BEAD-ON-PLATE
//POS
///NPOS 6,0,0,0,0,0
///TOOL 0
///POSTYPE PULSE
///PULSE
C00000=-1,-4538,-14494,1,5795,4,-1
C00001=20395,-1242,-40427,-2,23403,-4999,96
C00002=20395,375,-45434,-1,27424,-5000,97
C00003=-18952,-76,-45912,1,27425,4633,-12
C00004=-18952,-1104,-43016,1,25041,4633,-12
C00005=-1,-4538,-14494,1,5795,4,-1
//INST
///DATE 2009/04/24 04:27
///ATTR SC,RW
///GROUP1 RB1
NOP
MOVJ C00000 VJ=0.78
MOVJ C00001 VJ=100.00
MOVJ C00002 VJ=25.00
ARCON ASF#(1)
WVON WEV#(1)
MOVL C00003 V=13.3
WVOF
ARCOF AEF#(1)
MOVJ C00004 VJ=25.00
MOVJ C00005 VJ=100.00
END
Figure 9-25 Job Example with PULSE Command Position Steps
However, if the job is converted to a UF data type, then all positions can be
expressed in X,Y,Z,Rx,Ry,Rz data as the distance/orientation from the frame’s ORG.
The results of a conversion to USER data type are as shown in the example below:
/JOB
//NAME BEAD-ON-PLATE-UF1
//POS
///NPOS 6,0,0,0,0,0
///USER 1
///TOOL 0
///POSTYPE USER
///RECTAN
///RCONF 1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
C00000=-112.151,563.339,315.209,179.8412,44.6295,39.8937,-0.0001
C00001=-241.714,720.303,67.214,179.8418,44.6299,39.8945,0.0170
C00002=-241.370,720.456,11.771,179.8425,44.6301,39.8932,0.0179
C00003=10.787,419.906,12.540,179.8428,44.6292,39.8938,-0.0021
C00004=10.589,419.820,45.260,179.8427,44.6286,39.8937,-0.0021
C00005=-112.151,563.339,315.209,179.8412,44.6295,39.8937,-0.0001
//INST
///DATE 2009/04/24 04:28
///ATTR SC,RW,RJ
////FRAME USER 1
///GROUP1 RB1
NOP
MOVJ C00000 VJ=0.78
MOVJ C00001 VJ=100.00
MOVJ C00002 VJ=25.00
ARCON ASF#(1)
WVON WEV#(1)
MOVL C00003 V=13.3
WVOF
ARCOF AEF#(1)
MOVJ C00004 VJ=25.00
MOVJ C00005 VJ=100.00
END
Figure 9-26 Job Example with USER “RECTAN” (XYZ) Command Position Steps
Once the position steps are in XYZ (mm) and Rx,Ry,Rz (deg.), the command
positions can easily be “touched-up” to be the exact distances desired for the
dimensions of the part, as well as the angle of tool orientation.
Relative job 3-D shift capability can also be used dynamically. Capturing the robot’s
position into position variables with the GETS instruction and using the Arithmetic
instruction MFRAME to recreate the User Frame allows the program to be shifted for
a different/deviated part position on every cycle.
In order to use Relative Job for a 3-D shift, a User Frame for the job’s original
location must first be taught. User frames for the shifted position can be taught or
modified as required.
NOTE: RELATIVE JOB software can only convert motion steps that were servo
recorded in the job. It cannot convert position data of steps that use Position
Variable moves. Therefore, it may be advantageous to intentionally program
the first/last position in the job as a MOVJ P000 so that it is not converted
and thus not “shifted” each time a different User Frame is used.
NOTE: For accurate shift results, the placement of the ORG, XX, and XY positions for
the shifted location should be a direct correlation from their relationship within
the original location.
To shift the job to the new USER FRAME location, perform the following :
1. In the JOB CONTENT screen, choose DISPLAY.
2. Choose JOB HEADER.
3. Cursor down until TEACH COORD is highlighted on the JOB HEADER screen;
press SELECT.
4. Enter the new desired “>User_coord._no.=” for the shifted location; press
ENTER.
The job is now shifted to the new User Frame location, but is still in XYZ data type.
NOTE: If a DESTINATION NAME is not chosen, the system will ask if the original job
may be overwritten. To overwrite the original job, skip to step “5”.
4. Cursor to DESTINATION JOB; press SELECT. Enter a new name; ENTER.
5. Cursor down to EXEC; press SELECT.
NOTE: Moves that cannot be accommodated by the shift will be displayed in the
steps of the job as “/OV.” These moves must be modified.
It can also be used when an old tool must be replaced with a completely different end-
effector.
The PMT software function calculates the difference between two sets of TCP data
and applies the difference to the Command Positions,rewriting either all jobs in the
controller or just an individual job with or without including its child jobs.
NOTE: Always backup all job files and tool data before performing the PMT function.
NOTE: Original Tool Data must be saved to the PMT Buffer before the tool data is
changed to the deformed tool.
In the PMT function, the old tool data is called the ORIGINAL TOOL, and the new
tool data is called the ORIENTATION TOOL.
NOTE: Any one of the existing 64 tool files, TOOL NO. 00-63, can be stored as either
the original tool or orientation tool.
To store the ORIGINAL tool data to the PMT buffer, complete the following
steps:
1. From the JOB CONTENT, choose UTILITY.
2. Choose PMT.
NOTE: The tool data saved to the PMT buffer is retained until the controller is turned
off. Do not turn off the DX100 until the PMT function has been completed.
5. Verify the Tool Data of the ORIGINAL and ORIENTATION tools. Modify the
ORIENTATION Tool data if required.
6. Choose EXECUTE.
10. Cursor to EXEC; press SELECT to rewrite the selected job(s) with the PMT
Utility.
NOTE: After conversion, be sure to confirm the path by using the FWD and BWD
keys.
NOTE: Any steps that are out of the robot envelope will show as “/OV” instead of the
motion type. The “/OV” will disappear after the position is corrected.
CAUTION! The indicated Tool Number now has the “new” Tool Data. Any jobs
programmed with this Tool but not shifted through PMT will be at the
original Command Position, but will be using the new Tool data.
(Max.)
C
Depth of Intrusion
NOTE: Defining a zone does not activate Interference Check. The DX100 controller’s
SYSTEM LADDER may already include Cubes for “Sequence Wait” based on
application/setup. The USER LADDER may be modified for using additional
CUBE/AXIS zones with their corresponding Specific Outputs.
Z-axis
Y X
Z X-axis
Center
point
Y-axis
NOTE: If the desired center point is a location already stored in a Position Variable or
Command Position within a job, then FWD to this location before accessing
the cube setting menu under ROBOT INTERFERENCE.
To define a cube using CENTER POS method, complete the following steps:
1. From MAIN MENU choose ROBOT.
2. Choose INTERFERENCE.
3. Use the PAGE key to display the desired cube number.
or
Choose DIRECT PAGE, enter the number; press ENTER.
4. Cursor to the METHOD; press SELECT, as required, to set to CUBIC
INTERFERENCE. (Answer YES to “Clear data?” if previous data exists.)
NOTE: The pendant will display the Maximum and Minimum locations of the cube.
Z-axis
Maximum
value
X-axis
Minimum
value
Y-axis
To define a cube using the MAX/MIN method, complete the following steps:
1. From MAIN MENU, choose ROBOT.
2. Choose INTERFERENCE.
3. Use the PAGE key to display the desired cube number.
or
Choose DIRECT PAGE, enter the number; press ENTER.
4. Cursor to METHOD; press SELECT, as required, to set to CUBIC
INTERFERENCE. (Answer YES to “Clear data?” if previous data exists.)
5. Cursor to the CONTROL GROUP; press SELECT, then choose R1 or other.
6. Cursor to the CHECK MEASURE; press SELECT to toggle between the
Command Position / Feedback Position setting choices.
7. Cursor to the REF COORDINATE; press SELECT to choose BASE, ROBOT,
or
select USER, enter the UF#; press ENTER.
8. Cursor to the TEACHING METHOD, press SELECT to display MAX/MIN.
9. Press MODIFY; the cursor will highlight MAX position.
10. Jog TCP to the desired Maximum XYZ; with servos ON, press ENTER.
11. Cursor to MIN position column. Press MODIFY.
12. Jog TCP to the desired Minimum XYZ position; with servos ON, press ENTER.
NOTE: The Cubes 1 through 56 are always stored by parameters with MAX/MIN data
format in microns, regardless of teaching method. The Cubes 57 through 64
are either based on their cube parameters, or if the Work Home method of
teaching is used, then (R8~R1) center is the robot’s [OPE ORIGIN POS] and
the edge length is based on Parameter S3C1097.
10.1.3 Work Home [OPE ORIGIN POS] Method (Cubes 57-64 only)
The DX100 controller acknowledges up to eight robot Work Home Position cubes
(Cubes 57-64), but only if the corresponding robot exists in the system. Otherwise,
each available zone may be defined by other methods for another purpose.
All cube edges default to a parameter formatted in microns such that the zone is truly
a cube with all sides the same length. (Parameter S3C1097)
Cube 64
CAUTION! If necessary, the Cubes 57~64 for R8~R1 may be defined using any of
the other methods whenever the XYZ lengths must differ. However, if
the Work Home Position method is ever used to modify the cube, then
not only does that change the Cube’s center, but it also changes its
edge lengths back to the default S3C1097 parameter defined dimension.
CAUTION! The WORK HOME POSITION for each robot is also associated with the
Specific Inputs for Operation Origin Return R1~R8 to go to the center of
Cubes 64~57, respectively. Modifying the WORK HOME POS will change
the location for [OPE ORIGIN RET] function as well.
Figure 10-9 Specific Inputs for Return to WORK HOME (Center of Cubes 64~57)
NOTE: If a cube within 57~64 is being used for a purpose other than the robot’s
WORK HOME POS, then its OPE ORIGIN RET function cannot be used.
NOTE: The Maximum and Minimum range values may also be entered by using the
numeric keypad. The maximum must be greater than the minimum setting.
When the REF COORDINATE is USER FRAME as shown in the figure below, this
method is convenient because the data is user friendly.
The following figure shows the before and after for modifying all six cube elements.
To program the WAIT instruction for SOUT#( ) status, complete the following:
1. Display the JOB CONTENT in TEACH with cursor on the Address Side.
2. Press INFORM LIST and choose IN/OUT.
3. Choose WAIT.
4. Press SELECT to access the DETAIL EDIT screen.
5. Cursor to WAIT TARGET; press SELECT.
The Left zone extends from the set “border” all the way to the S-axis maximum
operation limit. Similarly, the Right zone extends from its “border” setting to the
S-axis minimum operation limit. There will be a non-signaled “dead zone” between
these areas as shown in the figure below.
(+) side (-) side
NOTE: The Left border does not have to be a positive number, nor does the Right
border have to be negative; the only requirement is that the Left setting be
greater than the Right. For a setup with no gap, the Left/Right borders must
differ by at least one pulse count.
The activation parameter, S2C002, as well as the pairs of S3C parameters for L/R of
each robot are set by the user as desired.
To create a Left/Right setup with an equal split such that there is essentially no gap
(other than the 0 Pulse position of the S-Axis motor), the bordering parameters would
be set to +1 Pulse count for the Left and -1 Pulse count for the Right.
For example, if S2C002=3, then “WITH CHECK” is active for both R1 and R2.
NOTE: By default, S2C002 = 0 such that no S-Axis L/R Check is active for R1 ~ R8.
The controller also supports 64 User Messages and 64 User Alarms that are displayed
or activated based on the DX100 Ladder Program setup.
Figure 11-1 MSG Instruction in Job Content & Message Line Display
NOTE: The MSG content can be constructed from a constant “STRING” on the
instruction line, or it can be referenced from a String Variable address.
The current MSG remains permanently in the Message Line until overwritten by
another MSG instruction.
If other type messages are being display concurrently, the MSG takes priority on the
message list over standard prompts, (such as “Turn servo power on” or “E-Stop...”),
but not over Ladder Program USER MESSAGES or SYSTEM MESSAGES.
The MSG stays actively displayed after job execution stops, and even resumes its
display after the DX100 has had the power cycled OFF/ON.
NOTE: The only way to remove any MSG display is to execute another MSG
instruction with no characters by either a constant, “ ” or a referenced
S-Variable address with no content.
3. SELECT its Detail Edit screen, use the chevrons to choose either...
STRING for a message exclusive to the instruction,
or
S to reference a String Variable address or S[ ] for an array address.
4. If STRING was chosen, cursor to the characters in quotation marks, and press
SELECT. On the Character screen, cancel existing characters, enter desired
message of up to 32 characters, and press ENTER.
or
If S/S[ ] was chosen, cursor and SELECT the current String Variable address,
enter the desired address; press ENTER.
~OR~
Figure 11-4 “STRING” MSG or S-Variable MSG
NOTE: The current MSG display in the Message Line will remain until it is overwritten
by another MSG instruction. To remove the MSG display, overwrite with
another MSG instruction using no characters.
NOTE: All System Messages and System Alarms are defined in the SYSTEM
LADDER based on application.
NOTE: The USER ALARM operation will stop execution of a job; servos remain on.
USER ALARMS must be RESET.
CAUTION! Do not attempt to edit the LADDER PROGRAM without proper training.
: Operation Mode
: Edit Mode
: Management Mode
OPERATION MODE is the lowest access level and never requires a User ID number.
EDITING and MANAGEMENT are each protected by a separate 4 to 8-digit User ID
number. The preset factory User ID/password for the EDITING MODE is 00000000
(8 zeros), and MANAGEMENT MODE is 99999999 (8 nines).
A time-out value can also be entered to automatically Log-Off the user into Operation
Mode if a key is not pressed within a defined amount of time.
Figure A-2 The LOGON Screen for Entering User Name and Password
NOTE: Regarding Password LOGON, there are not only LOAD restrictions, but also
there are SAVE restrictions based on individual LOGON capability. (Items
such as MACRO JOB files may even be protected from SAVE.)
B.1.1 LOAD
All information types can be loaded when the DX100 is in the TEACH mode.
In PLAY mode, it is possible to load some types of information while operating,
and other certain information only when not in operation. The authority to LOAD
information is based on the same Security Level, EDITING/MANAGEMENT,
required for accessing and editing the data.
NOTE: Regarding the DX100 LOGON passwords, LOAD capability is based on the
setup for each individual.
When loading jobs, those on the external memory that are not currently on the Job
List are marked with an asterisk.
B.1.2 SAVE
Information can be saved in any Security Mode while in TEACH or PLAY.
Most data backup can even be performed during PLAY operation.
Parameter settings define the overwriting onto the external memory device. If the
parameter RS059 is set for “no overwrite” (0), then the file must first be deleted
before its replacement can be saved.
If the parameter RS059 is set for “overwrite” (1), then the controller will ask if a
Forced Overwrite is permitted before executing the replacement backup.
B.1.3 VERIFY
Verification of information on the external memory checks the content and syntax of
the information. If the information is not correct, an error will occur.
B.1.4 DELETE
The Delete function removes files from the external memory. This may be required
if the parameter RS059 is not set for Forced Overwrite, or may be used for file
management on the external memory.
Table B-1 Load and Save Files
SENSOR
SE.PRM YES YES YES NO NO YES
PARAMETER
SERVO
SV.PRM YES YES YES NO NO YES
PARAMETER
SERVOMOTOR
SVM.PRM YES YES YES NO NO YES
PARAMETER
OPERATION
CONTROL AMC.PRM YES YES YES NO NO YES
PARAMETER
SERVO POWER
BLOCK SVP.PRM YES YES YES NO NO YES
PARAMETER
MOTION
FUNCTION MF.PRM YES YES YES NO NO YES
PARAMETER
SERVOPACK
SVS.PRM YES YES YES NO NO YES
PARAMETER
CONVERTER
SVC.PRM YES YES YES NO NO YES
PARAMETER
CIO PROGRAM CIOPRG.LST YES YES YES NO NO YES
I/O NAME DATA IONAME.DAT YES YES YES NO NO YES
PSEUDO INPUT
I/O DATA
POSITION
ABSO.DAT YES YES YES NO NO YES
CALIBRATING
DATA
SYSTEM
SYSTEM.SYS YES YES YES NO NO NO
INFORMATION
WORK HOME
POSITION OPEORG.DAT YES YES YES NO NO YES
DATA
I/O MESSAGE
IOMSGHST.DAT YES YES YES NO NO NO
HISTORY DATA
FUNCTION KEY
ALLOCATION KEYALLOC.DAT YES YES YES NO NO YES
DATA
ARC MONITOR
ARCMON.DAT YES YES YES NO NO NO
DATA
B.2.2 CMOS.BIN
The CMOS.BIN file is unique in that it contains all data files in the DX100 controller.
(The CMOS.HEX files contain a limited number of data files, and could become
corrupt more easily than the CMOS.BIN.) It is also unique because it can only be
saved/loaded from the bootup Maintenance Mode Menu.
3. Choose Ex Memory.
5. Choose YES.
CAUTION! Do not interrupt the system while the information is being transferred.
NOTES
3. Cursor through the Log Data Condition Setting screen and SAVE those items to
be recorded in the Log Data Display.
//LOGDATA
///INDEX 1
DATE :2009/05/12 15:45
EVENT :VARIABLE EDIT
LOGIN NAME :
VARIABLE KIND :B VAR
VARIABLE NUMBER :0
BEFORE EDIT :0
AFTER EDIT :20
///INDEX 2
DATE :2009/05/12 15:44
EVENT :JOB EDIT(P. MOD)
LOGIN NAME :
TASK :0
FILE NAME :11
LINE :1
CURR VALUE
R1 : S 2
L -16803
U -15869
R 0
B -1154
T 1
Deleting the Log Data
Data in the Log Data is not individually selectable for deletion.
To delete all lines in the Log Data, perform the following:
1. Display the Log Data in Management Mode.
2. Choose Data in the Menu Area.
NOTES
D.0 PARAMETERS
The definition for how the controller operates the Robot(s), Base(s), External axes,
and the Programming Pendant is stored in all the various PARAMETER files.
Items as simple as the values in the Speed List or as complex as elements for
interpolation are stored in customer accessible parameters in Management Mode only.
The controller uses some parameters during boot-up, and others dynamically.
NOTE: Some SETUP Menu items are directly linked to parameters while some are
entities in themselves.
NOTE: Values cannot be set greater than those set as the jog operation speed limit.
When the TCP is within the specified positioning zone, the controller starts moving
the robot to the next step. The system is set up so that inward-turning operation is
carried out when moving through the next path; any speed changeover is smooth.
NOTE: Parameters S1C1G406 & S1C1G407 are maximum and S1C1G414 &
S1C1G415 are minimum softlimits for additional motors on the robot such as
E+/E- for 7th-axis on robot model or motor(s) attached to the flange that are
servo driven by the DX100 controller.
5. Enter the Search Data to find, and enter the Replace Data.
6. Choose EXECUTE.
0: Disabled
1: Enabled
0: Enable
1: Disable
The TCP is limited to a cubic area designated only in Base Frame coordinates.
Units of µm (1000 microns = 1 mm).
If all OT#( ) parameters S4C327~S4C390 (Left-Column in Table D-1) are ‘0’ default,
then the RELAY ON selection under the Main Menu’s IN/OUT does not exist.
Each Output Parameter used requires a desired Operation Setting in the corresponding
Parameter S4C391~S4C454 (Right-Column in Table D-1).
In the example above, OT#(1) and OT#(20) are set for Momentary operation with the
INTERLOCK+SELECT keys. The OT#(45) is set to Alternate ON/OFF also with
operation by INTERLOCK+SELECT.
NOTE: For SETUP of up to 32 Universal Inputs/Outputs for monitoring/operating and
B, I, or D type variables for monitoring/editing content, refer to Appendix E for
I/O-VAR CUSTOMIZE screen.
The definitions in the specific SETUP screens ensure the correct parameter is changed
to the correct setting.
E.1 DATE/TIME
The date and time settings on the DX100 are in numeric format. This information
is used when jobs are created or modified and when Alarms occur. The time is
displayed with a 24-hour clock reference; the date format is Year-Month-Day.
To set the time or date the DX100 must first be in MANAGEMENT MODE, then
complete the following steps:
1. In the SETUP icon menu, choose DATE/TIME.
2. Cursor to DATE or TIME; press SELECT.
3. Use the number keypad to enter the date or time using the decimal [.] for the
colon between hour and minutes.
4. Press ENTER.
E.2 USER ID
This permits only authorized personnel who know the password(s) to modify the
existing User ID numbers for EDITING and/or MANAGEMENT Mode.
NOTE: When User Password is enabled, User ID is disabled.
NOTE: When in EDITING Mode, only the Editing Mode User ID is available to
change. If in the Management Mode, both User IDs are available to change.
4. Enter the current ID number using the number keypad; press ENTER.
5. Enter the desired new 4 to 8-digit ID number using the keypad; press ENTER.
If no password is desired for either EDITING MODE and/or MANAGEMENT
MODE, then press ENTER (without any characters in “Password=” block) so
that PASSWORD NONE will be set.
If the chain is still broken, an attempt can be made to reconnect in the Management
mode using UTILITY, REPAIR.
Due to frequency of need for changing and/or easy access, these items are available
on the Teaching Condition list so that it is not necessary to set their corresponding
parameters in Management Mode only.
S2C211 = 0,1,2
S2C214 = 0,1
S2C206 = 0,1
S2C433 = 0,1
S2C203 = 0,1
S2C196 = 0,1
S2C431 = 0,1
S2C234 = 0,1
S2C320 = 0,1
S2C413 = 0,1
S2C231 = 0,1
S2C688 = bit
S2C688 = bit
STEP will only allow a new MOV_ instruction to be inserted above the next STEP.
LINE will insert a motion instruction directly below the cursor as the next LINE.
S2C221 = 0,1,2,3
S2C313 = 0,1,2,3
S2C314 = 0,1,2,3
S2C294 = 0,1,2,3
S2C293 = 0,1,2,3
S2C312 = 0,1,2,3
S2C195 = 0,1,2,
S2C215 = 0,1
S2C235 = 0,1
S2C219 = 0,1
S2C220 = 0,1
S2C225 = 0,1
S2C227 = 0,1
S2C228 = 0,1
S2C229 = bit
S2C229 = bit
S2C229 = bit
When set to PROHIBIT, neither SETTING nor CANCEL are available. This helps
to prevent unintentional changing/canceling of register if CALL MASTER JOB is
used frequently.
NOTE: When the Reserved Job Change function is set to PROHIBIT, an ERROR
occurs when SETTING/CANCEL on name list is selected regardless of the
Security Level causing the ERROR shown below.
In PLAY, the RESERVED START function recognizes an Input and runs the
associated job. If there are multiple Input signals, a que is created and the jobs are
run in the order the Inputs are recognized by the controller.
Conveniently, the Universal Inputs can use SIM ON/OFF and the Outputs can be
forced ON/OFF from this screen with INTERLOCK+SELECT.
Each registered Variable address can have its CONTENT edited. Also, the NAME for
each item is displayed and can be updated from this screen.
Up to 16 individual signals can be set for ANTOUT and 8 groups can be designated.
Also, in DETAIL EDIT, the ANTDIS tag can be used for Distance with a range of
-3276.8 to +3276.7 millimeters.
NOTE: Although the parameter S2C646 for Anticipation Output is enabled by the
Function Enable Setting window, Parameter S4C008 =1 must also be set.
ANTOUT Instruction
5. No additional tag will default to the set <SINGLE> ON TIME and OFF TIME
and <GROUP> TIME.
or
SELECT on TIME to change UNUSED to either ANT=seconds or
ANTDIS=millimeters; enter the desired value. Press ENTER.
NOTE: The MOV_ preceding the ANTOUT instruction requires an NWAIT tag.
When MANUAL SPEED SAVE is VALID, changing COORD will revert to the last
setting used for either JOINT/XYZ jogging with Manual Speed I, L, M, or H.
S2C197 = 0,1,2,3
S2C204 = 0,1
S2C208 = 0,1
S2C210 = 0,1
S2C217 = 0,1
S2C316 = 0,1
S2C240 = 0 (OUTPUT NUMBER)
When set to “POS. CHECK,” the operator must comply with the message line prompt
“Check Position.” This requires TEACH MODE manual FWD in M or H speed to
the corresponding ROBOT’s SECOND HOME. Then, after visual observation of
Robot achieving this position satisfactorily, CONFIRM POSITION under DATA.
CAUTION! Set each Range value conservatively to help prevent unsafe dynamic
edits which occur at NOP during PLAY mode operation.
Each function item may be set in one of the following four categories:
• MAKER - Used for application specific functions such as voltage/
current adjust in Arc Welding.
• INSTRUCTION - Sets a frequently used instruction from the INFORM
LIST into the edit buffer line.
• JOB CALL - Pressing a designated hot key will insert a CALL
line with specific job name into the Input Buffer. The NO. (1-10)
references the name on the RESERVE JOB NAME list.
• DISPLAY - A shortcut key can be used to display a designated
pendant screen. (See Section 9.5.3 for setup.)
INTER
Press + LOCK
to view key allocations used with INTERLOCK.
ASSIST
NOTE: To activate the ALLOCATE SIM KEY functions, hold the INTERLOCK key,
then press the desired allocated key.
NOTE: The “DISPLAY” will allocate both [EACH] and [SIM] keys for use.
To change any or all of the 8 preset speeds on the SET SPEED menu, complete
the following steps:
1. In the SETUP icon menu, choose SET SPEED.
2. Press SELECT to toggle to the correct list (JOINT or LNR/CIR).
3. Cursor to desired item; press SELECT.
4. Enter the desired value within the range of the data type, and press ENTER.
0.01 to 100.00%
0.1 to 1500.0 mm/sec.
1 to 90000 mm/min.
1 to 9000 cm/min.
1 to 3543 in./min.
NOTE: A whole number must be entered prior to pressing the decimal point key.
(ie 0.78 instead of .78)
NOTES
This extracted information can be used with other ARITH instructions to prepare for
relative movements, such as an IMOV, or for temporary offset of points using SHIFT
instructions.
Examples:
GETS B005 $B002 (Get System’s current return code for MOVL SRCH RIN# and
stores status results in B005)
GETS PX000 $PX000 (Get System’s current position; stores PULSE data in PX000)
Note: If R1 + R2 job, both P000 and P001 would store data;
in R1 + S1 job, P000 and EX000 would store data.
GETS PX011 $PX001 (Get System’s R1 position in BF; stores data in P011)
Note: In R1 + R2 job, both P011 and P012 would store
current BF data.
CAUTION! Use care with address choices when using GETS in jobs involving
multiple robots, bases, and/or station axes.
F.1.2 CNVRT
The CNVRT instruction converts a Position variable from Pulse or any XYZ Frame
to only an XYZ type ( BF, RF, UF, or TF). The converted data may be stored in the
same address or another designated Position variable address.
Examples:
CNVRT PX003 PX003 RF (Converts data of P003 into RF type)
CNVRT LPX004 LPX005 UF#(24) (Converts data of LP005 into UF type in LP004)
F.1.3 GETE
GET ELEMENT gets the single designated element of a Position variable and stores
the value in a D-variable address. In PULSE data the elements 1-6 correspond to
SLURBT; for XYZ data type the elements 1-6 correspond to X, Y, Z, Rx, Ry, & Rz
respectively.
1
2
3
4
5
6
7
Examples:
GETE D099 P007 (3) (Gets third element of P007 and stores value in D099)
F.1.4 SETE
SET ELEMENT sets the designated element in a Position variable equal to a
constant or a value stored in a D-variable address.
Examples:
SETE P007 (5) -4500 (Sets constant into fifth element of P007)
SETE LP005 (B002) LD[B002] (Sets data from LD address determined by B002
into LP005’s element also determined by B002)
F.1.5 MFRAME
MAKE FRAME creates a User Frame from three Position variables of any data
type. The first designated address data becomes the ORG, the second is the XX data,
and the third is stored as the XY data.
Example:
MFRAME UF#(4) PX005 PX006 PX007 (Makes User Frame #(4) with
PX005=ORG, PX006=XX, & PX007=XY)
F.1.6 GETPOS
GET POSITION captures the location of a Step in a job and places the information
into a Position Variable.
Examples:
GETPOS PX000 STEP#(1) (Places the Command Position data of Step 1
into Position Variable 000)
Examples:
ADD LD008 -81726354 (Adds constant to value stored in LD008)
Add the 6 elements stored in a Position variable address to the resultant Position
variable’s elements. (Data type must be same; Pulse, BF, RF, or UF.) Suggestion:
This function is useful for combining XYZ shift amounts.
Examples:
ADD P125 P124 (Adds 6 elements of P124 to values in P125)
F.2.2 SUB
The SUB instruction finds the difference between two values by subtracting
either a constant or value stored in any other arithmetic variable address from the
current content of the resultant arithmetic variable address.
Examples:
SUB LD008 -45362718 (Subtracts from LD008 the constant -45362718)
SUB R006 B018 (Subtracts from R006 the value stored in B018)
SUB D[B000] 27348 (Subtracts from D address, determined by number in B000, the
constant 27348)
Subtract the 6 elements stored in a Position variable address from the designated
Position variable’s elements. (Data type must be same; Pulse, BF, RF, or UF.)
Examples:
SUB P127 P127 (Subtracts all elements from itself to “zero” all values)
F.2.3 MUL
The Multiply instruction stores the product of the current content of the resultant
arithmetic variable address and a constant or value stored in any other address.
Examples:
MUL I005 25 (Multiplies 25 times value in I005)
Multiply a single element or all 6 elements stored in the position variable address
by an integer constant or any D-variable value.
Examples:
MUL P009 (2) -1 (Multiplies integer constant -1 times second element of P009)
NOTE: Multiplying by zero is useful for “initializing” all 6 elements without clearing the
data type.
MUL P127 (1) D039 (Multiplies value in D039 times first element of P127)
F.2.4 DIV
The DIV instruction divides the current value in the resultant arithmetic variable
address by a constant or value stored in any arithmetic variable address.
Examples:
DIV R005 67.854 (Divides value in R005 by constant)
Divide an integer constant or any D-variable value into a single element or all 6
elements stored in the designated Position variable address.
Examples:
DIV P026 (1) 2 (Divides first element of P026 by 2)
Set all 6 elements of a designated Position variable equal to another Position vari-
able’s elements of the same type (Pulse, BF, RF, UF).
Examples:
SET P055 P040 (Sets all 6 elements of P040 into P055)
SET P[B005] LP[LI003] (Sets all 6 elements of LP address determined by LI003 into
the P address determined by B005)
Examples:
SET R009 452.2756 (Sets constant into R009)
Examples:
SET R039 LB009 (Sets value stored in LB009 into R039)
SET LR[B001] LD[LB003] (Sets value stored in LD address determined by B003 into the
LR address determined by B001)
Examples:
SET I039 I039 + 5 (Adds 5 to value in I039 and stores result in I039)
SET D032 1000 * B005 (Multiplies 1,000 times value in B005; result in D032)
SET LR001 (255 - B004)/2 (Divides the difference of 255 and value in B004 by 2 and
stores result in LR001)
To construct an expression, use the EXPRESS function found in DETAIL EDIT under
the SOURCE (TOKEN) [«] for the SET instruction.
The choices available for the left parenthesis are (, ((, (((, -(, -((, and -(((;
for the right parenthesis ), )), and ))).
F.3.2 CLEAR
Examples:
CLEAR R007 8 (Clears 8 consecutive “R” addresses, R007 through R014)
Clear the STACK for nested CALL jobs. The STACK is limited to 10 levels, so by
clearing the Stack within a nested Call Job additional levels are made available.
CAUTION! Once the stack is cleared of previous levels, the controller will NOT
RETURN to any of these jobs.
Example:
CLEAR STACK (This job becomes level 1 of 8. When controller gets to
END of this job, cycle is finished at level 0)
Stores the square root of a positive constant or the positive value stored in another
Real variable address into only a designated Real variable address.
Examples:
SQRT R008 3 (v3 = 1.732051E+00 is stored in R008)
F.4.2 SIN
Stores the sine of a constant, degrees, or the value stored in another Real variable ad-
dress into only a designated Real variable address.
Examples:
SIN R008 90 (SIN 90° = 1.000000E+00 is stored in R008)
SIN LR009 R012 (Sine of the degrees value in R012 is stored in LR009)
F.4.3 COS
Stores the cosine of a constant, degrees, or the value stored in another Real variable
address into only a designated Real variable address.
Examples:
COS R008 90 (COS 90° = -2.05103E-10 stored in R008)
COS LR009 R012 (Cosine of the degrees value in R012 stored in LR009)
F.4.4 ATAN
Stores the arc tangent in degrees for a constant ratio or for the value stored in
another Real variable address into only a designated Real variable address.
Examples:
ATAN R008 1 (ATAN 1 = 45°; 4.500000E+01 stored in R008)
0/1 NOT
0 1
1 0
F.5.1 AND
Replaces the initial Byte value with the results of AND when the content is combined
with either a positive constant or the content of another Byte variable address.
BYTE Example:
AND B000 209 (If B000=63, then 17 is stored in B000)
0011_1111 [ 63]
AND 1101_0001 [209]
0001_0001 [ 17]
NOTE: The AND instruction is useful for masking I/O. Align “1” to allow an I/O bit
current status in the resultant Byte, and align “0” with I/O bits to be masked.
F.5.2 OR
Replaces the initial Byte value with the results of OR when the content is combined
with either a positive constant or the content of another Byte variable address.
BYTE Example:
OR B001 209 (If B001=63, then 255 is stored in B001)
0011_1111 [ 63]
OR 1101_0001 [209]
1111_1111 [255]
F.5.3 XOR
Replaces the initial Byte value with the results of Exclusive OR when the content is
combined with a positive constant or the content of another Byte variable address.
BYTE Example:
XOR B003 209 (If B003=63, then 238 is stored in B003)
0011_1111 [ 63]
XOR 1101_0001 [209]
1110_1110 [238]
NOTE: The XOR instruction is useful to selectively “NOT” a signal or signals status
within a group or half-group. Align “1” with I/O bits to be inverted, and align “0”
to keep current status.
I/O Example: 126 = OT#2~OT#7 invert, but OT#(1) & OT#(8) keep status.
DIN B022 OG#(1)
XOR B022 126
F.5.4 NOT
Replaces the initial Byte value with the results of NOT for a positive constant or
NOT for the content of a designated Byte variable address.
NOTE: The existing value in the initial Byte address where the resultant is to be
stored is insignificant because it is not used as part of the NOT logic process.
NOTE: Use NOT to invert CONSTANT or Byte variable content to opposite status.
I/O Example:
DIN B023 OGH#(3)
NOT B023 B023_____
DOUT OGH#(3) B023
NOTE: The DOUT OG#( ) INVERT instruction tag will “flip-flop” an entire group status.
B
BACK (BWD) 1-3
BASE FRAME [BF] B1-B8 6-2, 6-4
BASE AXIS INTERFERENCE 10-7
BATCH CMOS B-5
BATCH USER MEMORY B-5
BOOLEAN LOGIC ARITH INSTRUCTIONS F-10
C
CALL ARGF 3-6
CALL BXXX 3-2
CALL IG#( ) 3-1
CALL JOB:(NAME) 1-4
CALL UF#( ) TAG 8-6
CASE (SWITCH~CASE) 5-1, 5-4
CENTER POSITION TEACHING METHOD - INTF ZONE 10-2
CHANGING THE MACRO INST SET UP 4-9
CLEAR 1-8, F-9
CMOS.BIN B-6
CMOS.HEX B-5
COMMENT 1-6
COMMENT TAG FOR MOTION STEP 7-16
CONCURRENT JOB SYSTEM 3-12
CONTROL INSTRUCTIONS 1-4, 7-
CONVERSION FROM RELATIVE TO STANDARD 9-17
COS F-10
CNVRT F-2
CUBE DEFINITION METHODS 10-2
CWAIT 7-13
E
EDIT BUFFER IN JOB CONTENT 1-12
ELSE (IFTHEN~ENDIF) 5-1, 5-6
ELSEIF (IFTHEN~ENDIF) 5-1, 5-5
ENDIF (IFTHEN~ENDIF) 5-1, 5-5
ENDSWITCH (SWITHCASE~ENDSWITCH) 5-1, 5-4
ENDWHILE (WHILE~ENDWHILE) 5-1, 5-3
ENERGY SAVING FUNCTION E-3
ENWAIT TAG 7-13
ERROR 1-1
ERROR MESSAGE 1-2
EXPANDED JOB HEADER TO RESERVE LOCAL VARIABLES 2-2
EXPANDED LANGUAGE LEVEL 2-2
EXTERNAL AXIS INTERFERENCE 10-7
EXTERNAL STATION AXES 6-7
EXTERNAL MEMORY DEVICE B-1
F
FOLDER B-1
FOR ~ NEXT 5-2
FORWARD (FWD) 1-3
FPT TAG (MOVC ONLY) 7-15
FUNCTIONAL CONDITION SETTING - PAM E-13
FUNCTION ENABLE E-6
G
GENERAL I/O NAME DISPLAY IN JOB 5-4
GETARG 3-7
GETE F-2
GETPOS F-4
GETS F-1
GETS $RV 3-11
GLOBAL VARIABLE ALLOCATION [VAR.DAT FILE] 2-1
GROUP I/O 1-7
GROUP SET 3-12
H
HALF-GROUP 1-7
J
JET (JOB ENTRY TABLE) 3-3
JOB CALL - ALLOCATION E-13, E-14
JOB HEADER SETUP FOR ARGUMENT COMMENT/TYPE 3-7
JOB TYPE (CONCURRENT OR ROBOT) 3-12
JOG CONDITION SETTING E-12
JOG KEY ALLOCATE E-16
JOGGING COORDINATES 1-1
JUMP*LABEL & *LABEL 1-6
JUMP JOB:(NAME) 1-5
K
KEY ALLOCATE 4 BIT OUTPUT - HALF GROUP STATUS (0 TO 15). E-15
KEY ALLOCATE 8 BIT OUTPUT - GROUP STATUS (0 TO 255). E-15
KEY ALLOCATION (EACH) E-13
KEY ALLOCATION (SIM) E-15
KEY ALLOCATION FOR DISPLAY WITH [EACH] OR [SIM] E-16
L
LANGUAGE LEVEL E-4
LAYOUT MULTI-WINDOW 1-12
LINKING JOBS WITH CALL 1-4
LOAD B-1
LOCAL VARIABLE ADDRESSES 2-2
LOG DATA C-1
LOGON/LOGOFF DX100 USER PASSWORDS A-2
M
MACRO INST SET UP 4-9
MACRO JOB FUNCTION 4-1
MAIN MENU KEY 1-11
MAJOR ALARM 1-2
MAKER - ALLOCATION E-13
MANUAL TOOL DATA SCREEN 9-20
MANUAL SPEED 1-3, D-1
MASTER JOB CHANGE E-6
MASTER TASK PROGRAM STRUCTURE 3-13
MASTER TOOL FRAME (MTF) 6-5
MAX/MIN TEACHING METHOD INTERFERENCE AREA 10-4
MFRAME F-4
MINOR ALARM 1-2
MIRROR SHIFT ON PULSE DATA 9-6
MIRROR SHIFT ON ROBOT FRAME X-Z PLANE 9-7
N
NESTING JOBS 1-5
NEXT (FOR-NEXT) 5-1, 5-2
NOT F-12
NWAIT TAG 7-12
O
OPERATE CONDITIONS E-5
OPERATE ENABLE E-5
OR F-11
ORG. 1-3
ORIF (WHILE~ENDWHILE) / (IFTHEN~ENDIF) 5-3, 5-6
ORIENTATION TOOL SCREEN 9-20
P
PAM - DYNAMIC EDITING 9-9, E-13
PARALLEL SHIFT JOB 9-2
PARAMETERS D-1
PASSWORD USER ID OR LOGON/LOGOFF A-1, A-2, E-2
PATH CONFIRMATION 1-3
PATH CREATION 1-3
PAUSE 1-6
PERMANENT SHIFT FUNCTIONS 9-1
PLAYBACK CONDITION SETTING E-12
PMT FUNCTION (POSITION MODIFICATION FOR TOOL) 9-29
POSITION ADJUSTMENT BY NUMBER KEY INPUT 9-1
POSITIONING ACCURACY FINE=TAG 7-14
POSITION LEVEL PL=TAG 7-14
POSITION MODIFICATION FOR TOOL (PMT) 9-19
POSITION VARIABLES 2-4, 6-1
PSTART (PARALLEL START) 3-13
PULSE 1-7
PULSE OUTPUT ALLOCATION E-15
PWAIT (PARALLEL WAIT) 3-14
R
RAPID SEARCH TAG (SRCH RIN#) 7-10
REDO/UNDO 1-8
RELATIVE JOB CONVERSION FOR 3-D SHIFT 9-16
RELATIVE JOB CONVERSION FOR OFF-LINE EDITING 9-14
RELATIVE JOB XYZ [ROBOT] FOR EDITED TCP DATA 9-17
S
S-AXIS LEFT/RIGHT CHECK FUNCTION 10-10
SAVE B-2
SAVE INFORMATION FROM CONTROLLER TO EXTERNAL MEMORY B-1
SAVING ORIGINAL TCP DATA FOR PMT 9-18
SAVING THE LOGDATA.DAT FILE C-2
SCALAR AND ARRAY VARIABLE ADDRESS NUMBERS 2-4
SECURITY LEVELS A-1
SET 1-8, F-7
SET SPEED E-16
SETE F-3
SETUP E-1
SHIFT KEYS - ASSIST 1-10
SHIFT INSTRUCTIONS (SFTON/SFTOF) 8-1
SHIFT VALUE 8-1, 8-6
SIN F-9
SLURBT & E/8 1-1, E-16
SOFTLIMITS D-2
SOUT FOR WAIT INTR AREA 10-9
SPECIFIC INPUT BACKUP. E-2
SPECIFIC OUTPUTS INTR1 ~ INTR64 10-10
SPEED INSTRUCTION 7-5
SQRT F-9
STANDARD LANGUAGE LEVEL E-4
STARTUP AUTO BACKUP E-2
STRING VARIABLES 2-4
STRUCTURED LANGUAGE 5-1
SUB F-5
SUBSET LANGUAGE LEVEL E-4
SWITCH CASE ~ ENDSWITCH 5-4
SYSTEM RETURN VALUE $RV 3-10
SYSTEM VARIABLES 2-5
T
TEACHING CONDITIONS E-4
TEMPORARY SHIFT INSTRUCTIONS 8-1
TEST START 1-3
TIME/DATE E-1
TIMER 1-6
TOOL CALIBRATION 9-20
TOOL COORD 1-1, E-5
TOOL FRAME [TF].TOOL NO. 00-63 6-2, 6-5
TOOL NO. SELECTION FOR MULTIPLE TCPS 6-5
TOOL NUMBER INTERLOCK FOR STEP ENTRY E-5
TOOL NUMBER SWITCH E-5
TRASH JOB LIST 1-11
TSYNC (TASK SYNCHRONIZATION) 3-16
DX Advanced Programming Training Manual Index-5 © MOTOMAN
U
UNDELETE JOB FUNCTION 1-10
UNDO/REDO 1-8
UNIVERSAL I/O VAR CUSTOMIZE E-8
UNITS (V=VELOCITY) E-5, E-16
UNTIL TAG 7-8
UNIVERSAL RELAY ON MONITOR SCREEN - S4C PARAMETER SETTINGS D-7
USER ALARMS 11-5
USER COORD 1-1, 1-2, E-11, E-12, E-13
USER FRAME UF#(1) ~ UF#(63) 1-2 , 6-2, 6-4
USER ID (PASSWORD) E-2
USER MESSAGE 11-4
V
VAR AND I/O CUSTOMIZE MONITOR SCREEN E-8
V=CONTROL_POINT_SPEED 7-5
VE=EXTERNAL AXIS SPEED, IF APPLICABLE 7-5
VERIFY B-1, B-3
VJ=JOINT_SPEED 7-5
VR=ANGLE_SPEED (VELOCITY OF ROTATION) 7-5
X
X (1ST ELEMENT OF XYZ TYPE P-VAR) F-3
XOR F-11, F-12
XX 1-3
XY 1-3
XYZ JOGGING COORD 1-1, 1-2
XZ-PLANE FOR MIRROR SHIFT 9-7
Y
Y (2ND ELEMENT OF XYZ TYPE P-VAR) F-3
Z
Z (3RD ELEMENT OF XYZ TYPE P-VAR) F-3