このコーナーでは、技術研究所をはじめとするマイコムの技術現場の最新情報を紹介しています。

 今月は、スタンドアロン型コントローラ「SNCシリーズ」のプログラミング方式に採用している「G言語」でのプログラミングの実例と、その動作をご紹介します。

G言語とはモータ制御に特化したプログラミング言語であり、このような簡単なプログラムでモータ制御が可能です。
代表的な命令とその動きを下記でご紹介します。




G01命令 (直線補間)
解 説
 G92X0Y0
 G90
 G01X+80.000Y+40.000
 G91
 G01X-30.000Y+50.000
  現在位置を( 0 , 0 )にします
  座標系を絶対座標にします
  座標( 80.0 , 40.0 )に移動します
  座標系を相対座標にします
  座標( 50.0 , 90.0 )に移動します

G02/G03命令 (円弧補間・全円補間) 
解 説
 G92X30Y20   ・・・現在位置を( 30 , 20 )にします
 G90   ・・・座標系を絶対座標にします
 G02,X+50Y+40   ・・・中心点( 50 , 40 )の全円補間を行います
 G91   ・・・座標系を相対座標にします
 G03,X+20Y+20   ・・・中心点( 50 , 40 )の全円補間を行います

G38/G39命令 (パス動作) 
解 説
 G92X+30Y+30   ・・・現在位置を設定します
 G90   ・・・絶対座標に設定します
 G38   ・・・パス動作開始します
 G02X+70Y70,+30   ・・・円弧補間 (1)
 G01X+80Y+40   ・・・直線補間 (2)
 G02,X+60Y40   ・・・全円補間 (3)
 G39   ・・・パス動作終了します

(1)(2)(3)の3つの動きを停止せず連続で動作します。


G言語 全命令一覧
種類 命 令 内   容 詳細解説
移動命令 G00 PTP位置決め 指定座標位置決め(PTP)
インデックス位置決め(PTP)
位置データ単独指定位置決め(PTP)
汎用レジスタ位置決め(PTP)
G01 直線補間位置決め 指定座標位置決め(直線補間)
インデックス位置決め(直線補間)
位置データ単独指定位置決め(直線補間)
汎用レジスタ位置決め(直線補間)
G02/03 円弧補間位置決め 円弧補間位置決め
全円補間位置決め
G05 パレタイジング動作
G06 電子カム動作
G15 複合台形駆動実行
G27 原点サーチ
G28 仮想原点復帰
M90 スキャン動作
移動量命令 G14 複合台形駆動移動量設定
M50 位置番号設定
M51 インデックス量設定
座標系命令 G90/91 絶対/相対座標指定
G92 仮想原点設定
条件命令 G11 初期設定
G13 複合台形駆動速度設定
M70 最高速度変更
M72 加減速パターン変更
M73 周速制御設定
円弧分解能設定
ジャンプ命令 G37 プログラムジャンプ
I0〜31 汎用入力条件ジャンプ
M56 汎用レジスタ操作・比較ジャンプ
M57 ラベル設定
M60 同一プログラム内 無条件ジャンプ
汎用入出力
命令
I0〜31 汎用入力条件待機
M20,21 汎用出力オン/オフ
補助命令 G04 タイマ
G38/39 パス動作開始/終了
M00 プログラム一時停止
M04〜06 ドライバ制御
M22 汎用レジスタクリア
M30 メインプログラム終了
M31 プログラム開始
M99 サブプログラム終了
M40/41 繰り返し開始/終了
M32 マルチタスク起動
M52 汎用レジスタ操作 数値代入
M53 汎用レジスタ操作 座標代入
位置データ代入
汎用入力代入
M54 汎用レジスタ操作 加算演算
M55 汎用レジスタ操作 減算演算
M80 現在位置送信
M81 レジスタ値送信
M98,99 サブプログラムコール