APT (プログラミング言語)
APT(Automatically Programmed Tool、自動プログラム ツール)[1]は、数値制御工作機械の命令を生成するために最もよく使われるコンピュータプログラミング言語である。
ダグラス・テイラー・ロス[2]は、APTの生みの親と言われており、1956年にマサチューセッツ工科大学(MIT)のサーボメカニズム研究所に新設されたコンピュータ応用グループの責任者として、その技術的取り組みを主導した。APTは、数値制御装置の動作と切削工具経路を記述するための座標数値計算作業を軽減するための言語である。この初期のプログラミング言語は1970年代に普及して広く使われ、現在でも国際的な標準となっている[3]。その後、APTの派生言語が開発された。
言語開発の背景と経緯
APTは、空間を移動する切削工具を使用して複雑な部品を作成する数値制御工作機械の制御、目的の形状を生成するために切削工具が移動する経路を計算するためのデータを作成するために使用される。APTは専用言語であり、最新のコンピューター支援製造(CAM) システムの前身である。
1950年代後半から1960年代前半にかけて、航空宇宙産業で必要とされる複雑な部品を製造するために切削工具を三次元空間内を移動させるジオメトリポイントを計算するタスクを簡素化するために作成および改良された。これは、当時利用可能になった新しい数値制御技術の直接的な成果であり、機械工やエンジニアが複雑な計算をしなければならないという困難な作業に直面したために開発が始まった。
その開発は、数値制御・フライス盤プロジェクトを主催したのと同じMITラボを中心に行われた。 APTはまた、米国空軍の後援を受けており、政府機関、大学、および航空機産業協会(現在の航空宇宙産業協会) 内で組織された14社のチームを組み合わせた、世界初の主要な共同プログラミング ベンチャーであることで知られている[4]。 APTは、グラフィカル ユーザー インターフェイスが利用可能になる前に作成されたため、部品の加工に必要なジオメトリとツールパスを指定するテキストに依存している。元のバージョンは、FORTRANが登場する前に作成されたもので、最初のANSI 標準であった。以降のバージョンはFORTRANで書き直された。
APTは、FORTRANなどの他のコンピューター プログラミング言語と多くの類似点を共有している。汎用コンピューター言語は、ソース テキストを受け取り、ステートメントを、コンピューターによって内部的に処理できる命令に変換する。 APTは、ソース ステートメントを数値制御工作機械を駆動するためのプログラムに変換する。 APTプロセッサからの出力データは、使用する数値制御装置と工作機械の組み合わせに固有のポストプロセッサを介して実行されるカッター位置(CL) ファイルである。このファイルは、マシンの制御によって実行され、ツールの動作やその他のマシン アクションが生成される。最も一般的なのは、このファイルはRS-274形式の命令であり、一般に「Gコード」として知られている。
プログラム例
![](http://upload.wikimedia.org/wikipedia/commons/thumb/e/e0/APT-1-simplified.png/300px-APT-1-simplified.png)
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、ドイツのEXAPT(ドイツ語版、英語版)、UNIAPTなどがあり、UNIAPTは United Computingから提供され、後にUnigraphics CADCAMシステムと併用された[5]。工作機械メーカーのシステムは、今日に至るまで APTの要素を利用している[6][7]。標準STEP-NCなどの開発者は、APTやその他のソースからツールパス曲線を取得した[8]。
また、APTは、ロボット工学における初期の 2 つのプログラミング言語の基礎を形成した。RAPT(Robot APT) はエディンバラ大学情報学部で開発され、ROBEXはEXAPT(ドイツ語版、英語版)の派生物である[9][10][11][12][13]。
参考文献
- ダグラス・T・ロス(1978)。 [4] 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
脚注
- ^ Automatically Programmed Tool http://aptos.sourceforge.net/
- ^ “1970 Interview by NCWorld”. groups.csail.mit.edu. 2023年3月16日閲覧。
- ^ “ISO 4343:2000”. ISO. 2023年3月16日閲覧。
- ^ a b Ross, Douglas T. (August 1978). “Origins of the APT Language for Automatically Programmed Tools”. ACM SIGPLAN Notices 13 (8): 61–99. doi:10.1145/960118.808374. ISSN 0362-1340.
- ^ CAD/CAM: Computer-Aided Design and Manufacturing, M.Groover & E.Zimmers
- ^ “DMG MORI Software Solutions”. DMG MORI COMPANY LIMITED. 2023年3月17日閲覧。
- ^ DMG MORI SEIKI Europe AG (2014年). “MORI MfgSuite post-processor Hassle-free program output”. DMG MORI JOURNAL No.2: p.51. https://en.dmgmori.com/resource/blob/47016/7a26cc2c51f4a28a32c33f7f0e66b3b3/j142uk-data.pdf.
- ^ “AptStepMaker Programming Class”. www.steptools.com. 2023年3月16日閲覧。
- ^ 沖野教郎 (1975年). “NC自動プログラミング”. 精密機械 41巻3号: pp.6 -10. https://www.jstage.jst.go.jp/article/jjspe1933/41/482/41_482_208/_pdf.
- ^ 新井民夫 (1982年). “ロボット言語 - 記述形式と知的レベル”. 計測と制御 Vol.21 No.12: pp.14 - 19. https://www.jstage.jst.go.jp/article/sicejl1962/21/12/21_12_1102/_pdf.
- ^ Gini, Giuseppina; Gini, Maria (1 January 1985) (英語). Robot Languages in the Eighties. 126–138. doi:10.1007/978-3-662-02440-9_14. ISBN 978-3-662-02442-3
- ^ M. Weck, W. Eversheim and D. Zuehlke (1981年). “ROBEX An Off-line Programming System for Industrial Robots”. Proc. of the 11th International Symposium on Industrial Robots, Tokyo, 655/662.
- ^ W. Eversheim, M. Weck, H. Schöling, D. Zühlke, W. Müller (1981年). “Off-Line Programming of Numerically Controlled Industrial Robots Using the ROBEX-Programming-Systems”. C.I.R.P. annals ... manufacturing technology Volume 30, Issue 1,: pp. 419 - 422. https://www.sciencedirect.com/science/article/abs/pii/S000785060760969X.