Variable Assembly Language
Encyclopedia
Variable Assembly Language (VAL) is a computer
Computer
A computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...

-based control system
Control system
A control system is a device, or set of devices to manage, command, direct or regulate the behavior of other devices or system.There are two common classes of control systems, with many variations and combinations: logic or sequential controls, and feedback or linear controls...

 and language designed specifically for use with Unimation Inc. industrial robots.

The VAL robot
Robot
A robot is a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. In practice a robot is usually an electro-mechanical machine that is guided by computer and electronic programming. Robots can be autonomous, semi-autonomous or...

 language is permanently stored as a part of the VAL system. This includes the programming language used to direct the system for individual applications. The VAL language has an easy to understand syntax. It uses a clear, concise, and generally self-explanatory instruction set
Instruction set
An instruction set, or instruction set architecture , is the part of the computer architecture related to programming, including the native data types, instructions, registers, addressing modes, memory architecture, interrupt and exception handling, and external I/O...

. All commands and communications with the robot consist of easy to understand word and number sequences. Control programs are written on the same computer that controls the robot. As a real-time
Real-time computing
In computer science, real-time computing , or reactive computing, is the study of hardware and software systems that are subject to a "real-time constraint"— e.g. operational deadlines from event to system response. Real-time programs must guarantee response within strict time constraints...

 system, VAL's continuous trajectory
Trajectory
A trajectory is the path that a moving object follows through space as a function of time. The object might be a projectile or a satellite, for example. It thus includes the meaning of orbit—the path of a planet, an asteroid or a comet as it travels around a central mass...

 computation permits complex motions to be executed quickly, with efficient use of system memory and reduction in overall system complexity. The VAL system continuously generates robot control commands, and can simultaneously interact with a human operator, permitting on-line program generation and modification.

A convenient feature or VAL is the ability to use libraries or manipulation routines. Thus, complex operations may be easily and quickly programmed by combining predefined subtasks.

The VAL language consists of monitor commands and program instructions.
The monitor commands are used to prepare the system for execution of user-written programs. Program instructions provide the repertoire necessary to create VAL programs for controlling robot actions.

Monitor

The VAL monitor is an administrative computer program that oversees operation of a system. It accepts user input and initiates the appropriate response; follows instructions from user-written programs to direct the robot; and performs the computations necessary to control the robot.

Editor

The VAL editor is an aid for entering information into a computer system, and modifying existing text. It is used to enter and modify robot control programs. It has a list of instructions telling a computer how to do something. VAL programs are written by system users to describe tasks the robot is to perform.

Location

Location is a position of an object in space, and the orientation of the
object. Locations are used to define the positions and orientations the robot tool is to assume during program execution.

VAL programming

Several conventions apply to numerical values to be supplied to VAL commands and instructions. Preceding each monitor-command description are two symbols indicating when the command can be typed by the user. A dot (.) signifies the command can be performed when VAL is in its top-level monitor mode and no user program being executed (that is, when the system prompt is a dot). An asterisk (*) indicates the command can be performed at the same time VAL is executing the program (that is, when the system prompt is an asterisk). If both symbols are present the command can be executed in either case. Most monitor commands and program instructions can be abbreviated. When entering any monitor command or program instruction, the function name can be abbreviated to as many characters as are necessary to make the name unique.

For commands and instructions, angle brackets, < >, are used to enclose an item which describes the actual argument to appear. Thus the programmer can supply the appropriate item in that position when entering the command or instruction. Note that these brackets used here are for clarification, and are never to be included as part of a command or instruction.

Many VAL commands and instructions have optional arguments. For notations, optional arguments are enclosed in square brackets, [ ]. If there is a comma following such an argument, the comma must be retained if the argument is omitted, unless nothing follows. For example, the monitor BASE command has the form:
BASE [] , [] , [] , []

To specify only a 300-millimeter change in the Z direction, the command
could be entered in any of the following ways:
  • BASE 0,0,300,0
  • BASE ,,300,
  • BASE ,,300


Note that the commas preceding the number 300 must be present to correctly to relate the number with a Z-direction change. Like angle brackets, square brackets are never entered as part of a command or instruction.

Several types of numerical arguments can appear in commands and instructions. For each type there are restrictions on the values that are accepted by VAL. The following rules should be observed:
  1. Distances are entered to define locations to which the robot is to move. The unit of measure for distances is millimeter, although units are never explicitly entered for any value. Values entered for distances can be positive or negative, with their magnitudes limited by a number representative of the maximum reach of the robot (for example, 1024 mm and 700 mm for the PUMA 500 and PUMA 250 robots, respectively). Within the resultant range, distance values can be specified in increments of 0.01 mm. Note, however, that some values cannot be represented internally, and are stored as the nearest representable value.
  2. Angles in degrees are entered to define and modify orientations the robot is to assume at named locations, and to describe angular positions of robot joints. Angle values can be positive or negative, with their magnitudes limited by 1800 or 3600 depending on the usage. Within the range, angle values can be specified in increments of 0.01°. Values cannot be represented internally, however they are stored as

nearest representable value.

The VAL system

The function of VAL is to regulate and control a robot system by following user commands or instructions. In addition to being a compact stand-alone system, VAL has been designed to be highly interactive to minimize programing time, and to provide as many programming aids as possible.

External communication

The standard VAL system uses an operator's console terminal and manual control box to input commands and data from the user. The operator console serves as the primary communication device and can be either a direct play terminal or a printing terminal. Interaction with other devices in an automated cell is typically handled by monitoring input channels and switching outputs. By this means the robot can control a modest cell without the need for other programmable devices.

VAL Operating System

The controller has two levels or operation:
  • the top level is called the VAL operating system, or monitor, because it administers operations of the system, including interaction with the user;
  • the second level is used for diagnostic work on the controller hardware. The system monitor is a computer program stored VAL programmable read-only memory (PROM
    Programmable read-only memory
    A programmable read-only memory or field programmable read-only memory or one-time programmable non-volatile memory is a form of digital memory where the setting of each bit is locked by a fuse or antifuse. Such PROMs are used to store programs permanently...

    ) in the Computer/Controller.

PROM memory retains its contents finitely, and thus VAL is immediately available when the controller is switched on. The monitor is responsible for control of the robot, and its commands come from the manual control unit, the system terminal, or from programs. To increase its versatility and flexibility, the VAL monitor can perform of its commands even while a user program is being executed. Commands that can be processed in this way include those for controlling the status the system, defining robot locations, storing and retrieving information the floppy disk, and creating and editing robot control programs.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK