「インクレメンタル指令ならどこでもコピペして使い回せる」と思っていたら、医療機器が誤動作して治療位置がずれることがあります。
アブソリュート指令(G90)とは、あらかじめ設定したワーク座標の原点(プログラム原点)を絶対的なゼロ点として、そこから移動先の座標を直接指定する方法です。英語の「absolute(絶対的な)」が示す通り、どこに工具や装置があっても「原点から見てここ」という1点の位置を指令します。
たとえば東京駅を原点とし、「北へ5km、東へ2km」という指示を出すのがアブソリュート指令です。出発地点がどこであれ、常に東京駅基準で同じ目的地に向かえます。これが絶対値指令と呼ばれる理由です。
GコードではG90と表記し、NCプログラムの中でG90を一度宣言すると、以降のブロックにも継続して効果が及ぶ「モーダル指令」として動作します。座標値の指令ミスがあった場合も、その1点の座標値だけを修正すれば済みます。これは非常に大きなメリットです。
アブソリュート指令が主流として使われる理由も、ここにあります。
| 項目 | アブソリュート指令(G90) | インクレメンタル指令(G91) |
|---|---|---|
| 基準点 | ワーク座標原点(固定) | 現在の工具位置(移動のたびに変わる) |
| 別名 | 絶対値指令 | 増分値指令・相対座標指令 |
| Gコード | G90 | G91 |
| ミス発生時 | その座標のみ修正でOK | 以降の全座標がずれる |
| プログラム長 | 長くなりやすい | 短くなりやすい |
医療従事者がNCプログラムや医療機器の制御仕様を理解する際、この表が基本の比較軸になります。アブソリュート指令が原則です。
インクレメンタル指令(G91)は、「今いる場所から、どれだけ動くか」を数値で指定する方式です。「現在地から北へ2km」という案内を繰り返すイメージで、前の動作の終点が次の動作の起点になります。増分値指令、または相対座標指令とも呼ばれます。
メリットは明快です。同じ動作を繰り返す場面で、座標ブロックをそのままコピー&ペーストして使い回せます。たとえば「5mm間隔で10か所に穴を開ける」といった均等繰り返し加工では、G91でX5.0を10回繰り返すだけで済みます。プログラムが短くなり、一見シンプルです。
しかし、ここに重大な落とし穴があります。
インクレメンタル指令は、1か所でも座標を間違えると、それ以降の全座標位置がずれてしまいます。アブソリュート指令ならミスは1点だけで止まりますが、インクレメンタル指令ではミスが「連鎖」する構造になっています。また、Z軸の移動指令を見るだけでは、工具が材料に食い込んでいる状態かどうかが視覚的にわからないという問題もあります。これは非常に危険な特性です。
プログラムのメンテナンス性を考えると、インクレメンタルだけで書かれたプログラムは後から読み解くのが非常に難解になります。結局1から書き直すことになった、という現場の声も少なくありません。使い捨ての短いプログラムなら便利ですが、長期使用するプログラムには不向きです。
「どちらを使うべきか?」は、現場でよく出る疑問です。
結論から言えば、主プログラムはアブソリュート指令で書き、特定の繰り返し動作にのみインクレメンタル指令を使うのが一般的な考え方です。これが原則です。
アブソリュート指令が向いているケースは次の通りです。NCプログラムを長く使い回す場合、複数人でプログラムを管理・修正する場合、設計変更でツールパスを修正する可能性がある場合、座標の視認性や安全確認を重視する場合、これらはすべてアブソリュート指令が有利な状況です。インクレメンタルに比べてNCプログラムの行数は長くなりますが、可読性と安全性のトレードオフとして、ほとんどの現場でアブソリュートが選ばれます。
一方、インクレメンタル指令が便利なケースもあります。
HILLTOPなどの5軸加工を行うメーカーでは、CAD/CAMで生成されるNCプログラムのほぼ全てがアブソリュート指令で出力されるように設定されています。プログラマーとオペレーターが完全に分業している環境では、「他人が書いたプログラムを読んで素早く把握できるか」が重要だからです。これは使えそうです。
参考として、NCプログラミングにおける座標と指令の基礎は、職業訓練用フリーソフト「CAM13」を使った教材でも詳しく解説されています。
穴吹カレッジ「NCプログラミング基礎」テキスト(アブソリュート・インクレメンタル指令の解説あり)
「NCプログラムの話だから医療現場には関係ない」と考えていませんか?実はそうではありません。
医療機器の多くには、軸の位置を検出・制御する「エンコーダ」が内蔵されており、そのエンコーダにもアブソリュート方式とインクレメンタル方式があります。この2種類の違いは、患者の安全に直接関わる問題です。
放射線治療装置(リニアック)のコリメータ(照射野を絞る絞り装置)は、照射角度を0.01度単位で制御する必要があります。この角度検出に使用されるのが、HEIDENHAINのECN 400シリーズのようなアブソリュートエンコーダです。アブソリュートエンコーダは電源を切っても位置情報を保持するため、電源再投入後に原点復帰の動作が不要です。一方、インクレメンタル方式では電源ON・OFFのたびに原点復帰が必要で、その手順を怠ると位置がずれたまま治療を開始するリスクがあります。
医療用電動ベッドには、HEIDENHAINのROQ 400シリーズのアブソリュートエンコーダが採用されています。患者が乗ったまま電源が一時的に遮断されても、ベッドの傾斜角が正確に把握されているため、急な動作で患者が転落するリスクを抑えられます。これが条件です。
医療機器メーカーがアブソリュート方式を採用する最大の理由は「停電・再起動後の安全性」です。インクレメンタル型は相対位置しか知らないため、電源が落ちると現在位置を失います。医療現場では停電やシステム再起動は避けられない状況もあり、「電源を入れ直したら必ず原点復帰してから使う」という運用が確実に守られる保証はないのが実態です。
参考:HEIDENHAINのECN 400シリーズは、放射線治療装置の放射線放射角度の検出に実績のあるアブソリュートエンコーダです。
HEIDENHAIN(ハイデンハイン)「医療技術向けエンコーダ」公式ページ:放射線治療・CT・医療用ベッドへの採用事例あり
NCプログラムやエンコーダの話で「インクレメンタルは使いにくい」という論調は多くありますが、ここで見落とされがちな問題を掘り下げます。それが「原点の陳腐化」という問題です。
インクレメンタル方式では、運用のたびに「今どこにいるか」が起点になります。そのため、長期運用の中で原点そのものがズレていく現象が起きることがあります。具体的には、インクレメンタルエンコーダを使った機器が、定期的な原点確認なしに長期稼働し続けた場合、累積したカウントエラーやノイズにより、実際の物理的な位置とシステムが認識している位置の間に乖離が生じます。
医療機器においてこれが問題になるのは、たとえば「患者ごとに毎回正確に位置合わせをしているはずなのに、数か月後に測定してみると1mm以上のズレが蓄積していた」というケースです。1mmというのは、骨のX線では看過できない誤差になりえます。これは意外ですね。
医療機器の点検・保守を担当する臨床工学技士や放射線技師にとって、この「累積ズレのリスク」を理解した上で定期的な原点確認の手順をルーティンに組み込むことは、患者安全管理の観点から非常に重要です。インクレメンタル方式のエンコーダを使用した機器では、電源ON時の原点復帰手順が定められているケースがほとんどです。その手順が確実に実施されているか、定期的な確認が必要です。
HEIDENHAINのアブソリュートリニアエンコーダ「LIC 2000」のような製品は、電源投入後の原点復帰が不要で、絶対位置を常に保持します。医療機器の更新・導入検討時には、こうした仕様の違いをエンジニアと確認しておくと安心です。
参考:モノタロウ「NCプログラム(インクレメンタルとアブソリュート)」では、芝浦工業大学の澤教授による解説が掲載されており、NCプログラミングの基礎として信頼性の高い情報源です。
モノタロウ「マシニングセンタ基礎講座:NCプログラム(インクレメンタルとアブソリュート)」