APT (プログラミング言語)

APT（Automatically Programmed Tool、自動プログラム ツール)Automatically Programmed Tool https://aptos.sourceforge.net/は、数値制御工作機械の命令を生成するために最もよく使われるコンピュータプログラミング言語である。

ダグラス・テイラー・ロスは、APTの生みの親と言われており、1956年にマサチューセッツ工科大学（MIT）のサーボメカニズム研究所に新設されたコンピュータ応用グループの責任者として、その技術的取り組みを主導した。APTは、数値制御装置の動作と切削工具経路を記述するための座標数値計算作業を軽減するための言語である。この初期のプログラミング言語は1970年代に普及して広く使われ、現在でも国際的な標準となっている。その後、APTの派生言語が開発された。
 言語開発の背景と経緯 
APTは、空間を移動する切削工具を使用して複雑な部品を作成する数値制御工作機械の制御、目的の形状を生成するために切削工具が移動する経路を計算するためのデータを作成するために使用される。APTは専用言語であり、最新のコンピューター支援製造(CAM) システムの前身である。

1950年代後半から1960年代前半にかけて、航空宇宙産業で必要とされる複雑な部品を製造するために切削工具を三次元空間内を移動させるジオメトリポイントを計算するタスクを簡素化するために作成および改良された。これは、当時利用可能になった新しい数値制御技術の直接的な成果であり、機械工やエンジニアが複雑な計算をしなければならないという困難な作業に直面したために開発が始まった。

その開発は、数値制御・フライス盤プロジェクトを主催したのと同じMITラボを中心に行われた。 APTはまた、米国空軍の後援を受けており、政府機関、大学、および航空機産業協会(現在の航空宇宙産業協会) 内で組織された14社のチームを組み合わせた、世界初の主要な共同プログラミング ベンチャーであることで知られている。 APTは、グラフィカル ユーザー インターフェイスが利用可能になる前に作成されたため、部品の加工に必要なジオメトリとツールパスを指定するテキストに依存している。元のバージョンは、FORTRANが登場する前に作成されたもので、最初のANSI 標準であった。以降のバージョンはFORTRANで書き直された。

APTは、FORTRANなどの他のコンピューター プログラミング言語と多くの類似点を共有している。汎用コンピューター言語は、ソース テキストを受け取り、ステートメントを、コンピューターによって内部的に処理できる命令に変換する。 APTは、ソース ステートメントを数値制御工作機械を駆動するためのプログラムに変換する。 APTプロセッサからの出力データは、使用する数値制御装置と工作機械の組み合わせに固有のポストプロセッサを介して実行されるカッター位置(CL) ファイルである。このファイルは、マシンの制御によって実行され、ツールの動作やその他のマシン アクションが生成される。最も一般的なのは、このファイルはRS-274形式の命令であり、一般に「Gコード」として知られている。

 プログラム例 
PARTNO APT-1
CLPRNT
UNITS / MM
NOPOST

$$ GEOMETRY DEFINITION
P1 = POINT / 50, 50, 0
P2 = POINT / -50, -50, 0
L1 = LINE / P1, PARLEL, (LINE / YAXIS)
L2 = LINE / P2, PERPTO, L1
L3 = LINE / P2, PARLEL, L1
L4 = LINE / P1, PERPTO, L1
C1 = CIRCLE / XSMALL, L1, YLARGE, L2, RADIUS, 30
C2 = CIRCLE / XLARGE, L3, YSMALL, L4, RADIUS, 20
PLAN1 = PLANE / 0, 0, 1, 0
PLAN2 = PLANE / PARLEL, PLAN1, ZSMALL, 16

$$ MOTION COMMANDS
LOAD / TOOL, 1
CUTTER / 20
SPINDL / 3000, CLW
FROM / (STRTPT = POINT / 70, 70, 0)
RAPID
GO / TO, L1, TO, PLAN2, TO, L4
FEDRAT / 900, PERMIN
TLLFT, GOLFT / L1, TANTO, C1
GOFWD / C1, TANTO, L2
GOFWD / L2, PAST, L3
GORGT / L3, TANTO, C2
GOFWD / C2, TANTO, L4
GOFWD / L4, PAST, L1
RAPID
GOTO / STRTPT
FINI

 派生言語 
APTから派生言語が開発されたが、当初はメインフレームではなくミニコンピュータでプログラムを実行できるようにすることが主な目的であった。これらには、IBMのADAPT、ドイツの、UNIAPTなどがあり、UNIAPTは United Computingから提供され、後にUnigraphics CADCAMシステムと併用されたCAD/CAM: Computer-Aided Design and Manufacturing, M.Groover & E.Zimmers。工作機械メーカーのシステムは、今日に至るまで APTの要素を利用している。標準STEP-NCなどの開発者は、APTやその他のソースからツールパス曲線を取得した。 

また、APTは、ロボット工学における初期の 2 つのプログラミング言語の基礎を形成した。RAPT(Robot APT) はエディンバラ大学情報学部で開発され、ROBEXはの派生物である。

 参考文献 
 ダグラス・T・ロス(1978)。  In: ACM SIGPLAN Notices, Vol. 13、No.8、1978年8月
 MIT CADCAM http://www.designworldonline.com/50-years-of-cad/#_
 https://web.archive.org/web/20131113032955/http://techtv.mit.edu/videos/10783-automatically-programmed-tools-1959-science-reporter-tv-series
 https://archive.org/details/bitsavers_mitwhirlwie1APTシステムの一般的な説明1959_5339230

 脚注 

 参照 

 関連事項 

 外部リンク 

Category:工作機械
Category:プログラミング言語
Category:ドメイン固有言語