Val Ii
Val Ii
VAL II
It is one of the most commonly used and easily learned languages.
It is a computer-based control system and language designed for the
industrial robots at Unimation, Inc.
The VAL II instructions are clear, concise, and generally self explanatory.
The language is easily learned.
VAL II computes a continuous trajectory that permits complex motions to
be executed quickly, with efficient use of system memory and reduction in
overall system complexity.
The VAL II system continuously generates robot commands and can
simultaneously interact with a human operator, permitting on-line
program generation and modification.
A convenient feature of VAL II is the ability to use libraries of
manipulation routines. Thus, complex operations can be easily and
quickly programmed by combining predefined subtasks.
Monitor commands
Defining locations
HERE P1
WHERE
TEACH P1
POINT PA=P1
Program editing and control
EDIT ASSEMBLY1
E
SPEED 50
EXECUTE ASSEMBLY 1
EXECUTE ASSEMBLY 1,5
EXIT This command stores the program in controller memory and
quits the edit mode.
STORE (Program name) This allows the program to be stored on a
specified device.
READ (Program name) Reads a file from storage memory to robot
controller.
LIST (Program name) Displays program on monitor.
PRINT (Program name) Provides hard copy.
DIRECTORY Provides a listing of the program names that are stored
either in the controller memory or on the disk.
ERASE (Program name) Deletes the specified program from memory
or storage.
EXECUTE (Program name) Makes the robot execute the specified
program. It may be abbreviated as EX or EXEC.
ABORT Stops the robot motion during execution.
STOP The same as abort.
Other monitor commands
STORE
COPY
LOAD
FLIST
RENAME
DELETE
DO (programming instruction)
Motion commands
MOVE P1
MOVES P1
APPRO P1,50
MOVES P1
DEPART 50
SPEED 60
SPEED 15 IPS
DRIVE 4,-62.5, 75/ DO DRIVE 4,-62.5, 75
ALIGN
DO ALIGN
Hand control
OPEN 75
CLOSEI 50
GRASP 12.7,120
MOVET P1,75
MOVEST P1,75
Configuration control
RIGHTY or LEFTY- Provide for a change in the
jointed-arm robot configuration so that the first three
joints (base rotation, shoulder and elbow) resemble a
human’s right or left arm respectively.
ABOVE or BELOW-request a change in robot
configuration so that the elbow of the robot is pointed
up or down.
FLIP or NOFLIP- provide for a change in the range
of operation of joint 5 to positive (NOFLIP) or negative
(FLIP) angles.
Interlock commands
SIGNAL -1,4
WAIT SIG(1001,-1003)
REACT VAR1, SUBR2
REACT VAR1, SUBR2,5
REACTI
Input / Output controls
PROMPT “Enter the number of parts:” , PIECES
TYPE /B, “The value of length is”, /F5.2, LENGTH
Display on the CRT
The value of length is 12.75
IOPUT and IOGET commands are used for communication with
other digital devices.
IOPUT OUTBUF = LENGTH- writes the current value of LENGTH
to the memory location identified by the value of OUTBUF.
VAR5 = ADC (5)-evaluates the current input at analog input
channel number 5 and returns it as an integer value in the range
-2048 to 2047.
DAC 1= VAR1
Program control
IF (Logical expression) THEN If the logical expression is true, the group of
statements between THEN and ELSE is
(Group of instructions) executed. If the logical expression is false, the
group of statements between ELSE and END is
ELSE executed. The program continues after the END
statement.
(Group of instructions)
The group of instructions after the DO statement
makes a logical set whose variable value would
END
affect the logical expression with the UNTIL
DO
statement. After every execution of the group of
(Group of instructions) instructions, the logical expression is valuated. If
UNTIL(Logical expression) the result is false, the DO loop is executed again;
if the result is true, the program continues.
CASE…..OF… VALUE… END
10 PROMPT “Enter test value:” , X
IF X<0 GOTO 20
CASE INT(X) OF
VALUE 0,2,4,5,8,10:
TYPE “The number”, X, “is even.”
VALUE 1,3,5,7,9:
TYPE “The number” , X, “is odd.”
ANY
TYPE “The number”, X, “is larger than 10.”
END
GOTO 10
20 TYPE “Stopping because of negative value.”
STOP