可变汇编语言(Variable Assembly Language,VAL)是一个设计给Unimation Inc.工业机器人用的电脑控制系统及编程语言。VAL机器人语言是会被永久地储存于系统内,这包括了个体应用软件的导向。VAL能从容熟谙人类语法,它使用了明了,简洁的自我学习机能,所有对机器人的命令或通话都由简明的单字与数字序列组成。VAL的连续轨道计算程式允许机器人在有效发挥内存资源下,实时移动复杂的路线、在线接受操作者的程式上的指挥及其修改。



Variable Assembly Language
From Wikipedia, the free encyclopedia

Variable Assembly Language(VAL) is acomputer-basedcontrol systemand language designed specifically for use withUnimation Inc.industrial robots.

The VALrobotlanguage 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-explanatoryinstruction set. 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 areal-timesystem, VAL's continuoustrajectorycomputation 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.




The following terms are frequently used in VAL related operations.


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.


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 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 [<dx>] , [<dy>] , [<dz>] , [<rotation>]

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 ismillimeter, 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, 1024mm and 700mm for the PUMA 500 and PUMA 250 robots, respectively). Within the resultant range, distance values can be specified in increments of 0.01mm. 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) 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.




宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=



功能:重绘winform的GroupBox,以便调整边框颜色和边框宽度 using System; using System.Collections.Generic; using System.ComponentModel; using System.Drawing; using System.Data; using System.Linq; using...

C# 与 SQLite的操作

1、通过Add References引用SQLite ADO .NET安装目录的bin目录下的System.Data.SQLite.DLL。 2、创建数据库文件:因为始终是个0字节文件,应该利用IO也可以(?!)。 System.Data.SQLite.SQLiteConnection.CreateFile(datasource);3、连接数据库 Syst...


背景:客户提出一个需求,写SQL脚本的时候,内容是拼接的,如何将这个拼接SQL执行的结果取出来调用执行呢?我想到的方案是先把结果取出来,存为一个中间文件,再调用该文件即可。知识点:如何将sqlplus结果中的无关信息都去掉?可以使用sqlplus -s进入调用拼接SQL脚本,脚本中配合使用set设定相关属性即可实现。下面举一个简单的示例来说明: 1.拼接...

【Oracle/Java】以Insert ALL方式向表中插入百万条记录,耗时9分17秒

由于按一千条一插程序长期无反应,之后改为百条一插方式,运行完发现插入百万记录需要9m17s,虽然比MySQL效率差,但比单条插入已经好不少了。 对Oracle的批量插入语法不明的请参考: 代码如下: package com.hy; import...


Jenkins基于https的k8s配置 登录jenkins,点击 Manage Jenkins --> Manage Plugins --> 可选插件 在搜索框中,输入关键字 kubernetes 选择安装完成后重启Jenkins 重新登录后,点击 Manage Jenkins --> Configure System, 将网页拉...

WkHtmlToPdf 生成 PDF

1. 首先去 下载最新版本的安装包 2. 执行安装完成 3. CMD 命令行运行wkhtmltopdf.exe程序生成PDF C:Program Fileswkhtmltopdfin>wkhtmltopdf.exe --orientation Landscape --javas...