可変アルゴリズム言語(VAL)は、Unimation Inc.の産業用ロボットで使用するために特別に設計された、コンピュータベースの制御システムおよび言語です。
VALロボット言語は、VALシステムの一部として永続的に保存されます。これには、個々のアプリケーション向けにシステムを制御するために使用されるプログラミング言語が含まれます。VAL言語は理解しやすい構文を持ち、明確で簡潔、かつ概ね自己説明的な命令セットを使用します。ロボットとのすべてのコマンドと通信は、理解しやすい単語と数字のシーケンスで構成されます。制御プログラムは、ロボットを制御するのと同じコンピュータ上で作成されます。リアルタイムシステムであるVALは、連続的な軌道計算により、複雑な動作を迅速に実行でき、システムメモリを効率的に使用し、システム全体の複雑さを軽減します。VALシステムはロボット制御コマンドを継続的に生成し、同時に人間のオペレータと対話できるため、オンラインでのプログラム生成と変更が可能です。
VALの便利な機能の一つは、ライブラリや操作ルーチンを利用できることです。これにより、定義済みのサブタスクを組み合わせることで、複雑な操作を簡単かつ迅速にプログラミングできます。
VAL言語は、モニタコマンドとプログラム命令から構成される。モニタコマンドは、ユーザーが作成したプログラムを実行するためのシステム準備に使用される。プログラム命令は、ロボットの動作を制御するVALプログラムを作成するために必要な命令セットを提供する。
以下の用語は、VAL関連の操作で頻繁に使用されます。
VALモニタは、システムの動作を監視する管理用コンピュータプログラムです。ユーザーからの入力を受け取り、適切な応答を開始します。ユーザーが作成したプログラムからの指示に従ってロボットを制御し、ロボットを制御するために必要な計算を実行します。
VALエディタは、コンピュータシステムに情報を入力したり、既存のテキストを修正したりするための補助ツールです。ロボット制御プログラムの入力と修正に使用され、コンピュータに何らかの動作を指示する命令リストを備えています。VALプログラムは、ロボットが実行すべきタスクを記述するために、システムユーザーによって作成されます。
位置とは、空間における物体の位置と向きのことです。位置は、プログラム実行中にロボットツールが取るべき位置と向きを定義するために使用されます。
VAL コマンドおよび命令に指定する数値には、いくつかの規則が適用されます。各モニタ コマンドの説明の前に、ユーザーがコマンドを入力できるタイミングを示す 2 つの記号があります。ドット (.) は、VAL がトップ レベルのモニタ モードであり、ユーザー プログラムが実行されていないとき (つまり、システム プロンプトがドットの場合) にコマンドを実行できることを示します。アスタリスク (*) は、VAL がプログラムを実行しているとき (つまり、システム プロンプトがアスタリスクの場合) にコマンドを実行できることを示します。両方の記号が存在する場合は、どちらの場合でもコマンドを実行できます。ほとんどのモニタ コマンドおよびプログラム命令は省略可能です。モニタ コマンドまたはプログラム命令を入力する際、関数名は一意になるように必要な文字数まで省略できます。
コマンドや命令では、山括弧 < > を使用して、実際に入力する引数を記述する項目を囲みます。これにより、プログラマーはコマンドや命令を入力する際に、適切な項目をその位置に指定できます。なお、ここで使用されている括弧は説明のためのものであり、コマンドや命令の一部として含めるべきではありません。
多くのVALコマンドと命令には、オプションの引数があります。表記では、オプションの引数は角括弧 [ ] で囲まれます。引数の後にコンマがある場合、引数が省略された場合でも、コンマは保持する必要があります(ただし、引数の後に何も続かない場合は除きます)。たとえば、モニターBASEコマンドの形式は次のとおりです。
ベース [<dx>] , [<dy>] , [<dz>] , [<rotation>]
Z軸方向に300ミリメートルだけ変更する場合は、以下のいずれかの方法でコマンドを入力できます。
数値300の前にコンマを付けることで、数値とZ軸方向の変化を正しく関連付けることができることに注意してください。山括弧と同様に、角括弧もコマンドや指示の一部として入力されることはありません。
コマンドや命令には、いくつかの種類の数値引数を使用できます。それぞれの引数の種類ごとに、VAL関数が受け入れる値に制限があります。以下の規則を遵守してください。
最も近い表現可能な値。
VALの機能は、ユーザーのコマンドや指示に従ってロボットシステムを制御・調整することです。VALはコンパクトなスタンドアロンシステムであることに加え、プログラミング時間を最小限に抑え、可能な限り多くのプログラミング支援機能を提供するために、高度なインタラクティブ性を備えるように設計されています。
標準VALシステムでは、オペレーターコンソール端末と手動制御ボックスを使用して、ユーザーからのコマンドとデータを入力します。オペレーターコンソールは主要な通信デバイスとして機能し、直接再生端末または印刷端末のいずれかになります。自動化セル内の他のデバイスとのやり取りは、通常、入力チャネルを監視し、出力を切り替えることによって行われます。この方法により、ロボットは他のプログラマブルデバイスを必要とせずに、小規模なセルを制御できます。
コントローラーには2つの動作レベルがあります。
PROMメモリは内容を有限に保持するため、コントローラの電源を入れるとすぐにVALが使用可能になります。モニタはロボットの制御を担当し、そのコマンドは手動制御ユニット、システム端末、またはプログラムから送信されます。汎用性と柔軟性を高めるため、VALモニタはユーザープログラムの実行中でもコマンドを実行できます。このように処理できるコマンドには、システムの状態制御、ロボットの位置定義、フロッピーディスクへの情報の保存と取得、ロボット制御プログラムの作成と編集などがあります。