テクノ言語 ガイダンス「テクノ言語」は、緻密モーションを活用するためのロボット言語です。軸動作・入力判別・出力制御などを直感的に処理します。簡単な文字列なので、ＥＸＣＥＬやワードでも、サンプル運転プログラムを参考に、すぐに作成できます。実機や現場でも、簡単に作成・修正でき、効率的な試運転が可能です。
精密加工・搬送・組立・ロボット・成型・巻き線・巻き取りなど、共通に使えるのもメリットです。
ここでは、テクノ言語の概要・特徴・全体像を紹介しますが、詳細は以下の資料でも説明しています。
◆サンプル運転プログラム（テクノ言語／Ｇ言語）：導入・練習◆各製品のユーザーズマニュアル〈機能編〉（運転プログラム言語）：機能・仕様

１ テクノ言語の特徴・メリット■１動作/１命令
目的の動作・機能を１行で指令します。複合的な応用命令も１行です。
◆基本命令
位置決め 直線補間 円弧補間 ヘリカル 入力判定 出力制御 タイマー
マクロ変数演算(代入/四則演算/論理演算/比較） IF/SWITCH/JMP/CALL など◆応用命令
接線/法線制御 平行軸制御 トルク指令 オシレーション リジッドタップ ねじ切り
◆専用命令
巻き線 テンション制御 特殊な同期追従 座標回転 特殊固定サイクル などなど

■軸・ＩＯ同時指令（汎用入出力制御）
軸動作・入出力制御・タイマーなどを１行で同時に指令・処理できます。
例：ＰＴＰＡ X1000 Y500 WR01 ONR02
ＰＴＰＡ（位置決め） WR□（入力条件待ち） ONR□（出力ON/OFF制御）■直感的な表現
直線補間： LIN （ linear ）、円弧補間： CIR （ circle ）、位置決め： PTP 、出力制御： ONR/OFR 、タイマー： TIM など、動作内容を直接的に表現します。リーダビリティも抜群で、運転プログラムの保守や改造も容易です。

■テキスト(文字)形式◆文字列表現◆簡単

ＥＸＣＥＬや汎用ソフトで簡単に作成
直感的・分かり易い・読みやすい■自律動作で運転プログラムの負担なし
オープンＭＣでは、自動機の通常機能は、運転プログラムとは別に、自律的に処理します。運転プログラムでは、最終目的の動作を指定することだけに専念できます。
◆動作モード メモリ運転（連続・シングル）、ＤＮＣ、コマンドなど運転方法の管理◆標準入出力 自動機の操作・運転・制御に必要な多くの入出力制御◆動作条件
加減速・早送り・原点復帰関係など、機構に特定の条件はパラメタに記憶■手軽にトライアル＆エラー（効率的な試運転）「機能的な完成度」と「使い勝手」のバランスが良く、実機試運転でも簡単に条件や動作内容を修正しながらトライできます。

２ テクノ言語運転のサンプル■少ない行数で分かり易く
４種の移動・２回の入力判定、２回の出力制御、タイマー、サブルーチン呼び出しの一連の動作を正味８行の命令で実行しています。少ない行数で、効率的に動作指示ができます。
テクノ言語運転プログラム
内 容①PTPA X0 Y0；
どこにいても原点(0,0)へ移動②PTPA X1000 Y500 WR01 ONR01; 入力01がONの間停止。
OFFしたら､出力01をONして移動③TIM0.5；0.5秒停止④CALL SUB1 JNR02；
入力02＝ONなら、SUB1をCALL。
0FFなら何もせず次へ⑤PTPA X#1000 Y#1001 TIM1.0； 変数で指定する位置へ移動し,ﾄｰﾀﾙ1秒となるまで停止。
⑥OFR05 OFR01；
出力05と01を OFF⑦END；
動作プログラム終了
SUB1：
サブルーチン名称ラベル⑧CIRR X0 Y0 I100 J0 F1000； 円弧動作
END；
サブルーチン終了
TB04-2248.jtdc-1

■マクロ変数でさらに拡張命令の指令値をマクロ変数にすると、自由度が格段に向上します。サンプルの⑤では、目標位置をマクロ変数で指定しています。変数を書き換えて、任意の位置を指定できます。
◆自由度
ＰＣやＰＬＣから変数を書き換えて、動作内容を変更できます。
◆状態管理
内部状態(座標、各種ステータス・情報)は、すべてマクロ変数として扱えます。
オープンＭＣの内部情報をリアルタイムに活用できます。
◆演算・判定 運転プログラムで計算や判断をして、動作のバリエーションを広げます。

３ テクノ言語による汎用入出力制御
マシンの実稼働は、軸動作とＩＯ制御の組み合わせになるのが通常です。テクノ言語では、ＩＯ制御も自然に扱えます。

■入力信号の判定
軸動作に合わせて、入力信号のＯＮ／ＯＦＦ状態を判定して、複合動作を指令できます。１行の命令で、同時に４つの入力を判定できます。
●汎用入力処理□□Ｒ□□
入力信号指定正論理･負論理
処理内容指定

処理内容
Ｅｘｉｔ
強制終了
Ｊｕｍｐ
スキップ
Ｗａｉｔ
開始待ち
Ｓｔｏｐ
一時停止

： 汎用入力０～６３： なし：正論理（ＯＮで成立）／Ｎ：負論理（ＯＦＦで成立）： Ｅ，Ｊ、Ｗ，Ｓ

判定成立時の動作
強制的に運転プログラムを完了。

応用事例 特徴
例外やＮＧ判定 作業の中断

そ の ス テ ッ プ の 動 作 を 途 中 終 了 条件待ち(吸着完了など)し、次のステップへ進行。
条件判定で動作の有無を選択
ステップの先頭でチェックし、停止 条件待ち(同期・タイミング調整)します。 (待ち)待ち合わせ
ステップの途中でも動作を一時停 途中停止止。（ストップ入力と同じ)成立条件が無くなると、自然に続行■出力信号のＯＮ／ＯＦＦ制御
軸動作に合わせて、そのステップの開始時に指定の出力信号のＯＮ／ＯＦＦをします。１行の命令で、同時に４つの出力信号を制御できます。
●汎用出力処理
【 例 】

ＯＮＲ□□
ＯＦＲ□□

汎用出力Ｒ□□をＯＮします
汎用出力Ｒ□□をＯＦＦします□□：０～６３

ＰＴＰ Ｘ１０００ ＥＲ００ ＪＮＲ１０ ＯＮＲ０５ ＯＦＲ０１；
ステップ動作
開始時
途中

入力条件
Ｒ I ００ Ｒ I １０
ＯＦＦ
ＯＦＦ
ON
ＯＦＦON×ＯＦＦ
ＯＦＦON
ＯＦＦON×動作
出力信号のＯＮ／ＯＦＦや軸動作
何もせず次のステップへスキップ
ＲＯ０５＝ＯＮ、ＲＯ０１＝ＯＦＦしてＰＴＰ開始
強制終了
ＰＴＰ途中で次のステップへスキップ
ＰＴＰ続行→位置決め完了で次のステップへ強制終了■テクノ言語による簡単なＩＯ制御の例
油圧制御・材料管理・ワーク搬入／搬出など、簡単なＩＯ制御はテクノ言語で処理できます。
TASK
油圧SW ON ?
①コンベアSW
ON ?
②ｎSW1Ｙ
油圧ポンプ

入力信号略称名称入力
ＳＷ１ 油圧起動 RI00
ＳＷ２ コンベア RI01
ｾﾝｻｰ 材料切れ RI02
ＳＷ３ 終了RI03出力信号名 称
出力
油圧ポンプON RO00
コンベアON
RO01
パトライト
RO02

テクノ言語運転プログラム
SW2
Ｙ
コンベア起動

TIM 0.5；① ONR00
JNR00；
TIM 0.5；② ONR01
JNR01；
TB04-2248.jtdc-2

材料切れ？
③

終了SW ?
④

センサー
Ｙ
コンベア停止パトライトON

SW3
Ｙ
油圧コンベアOFF

TIM 0.5；③ IF #6001 & 4；
OFR01；
ONR02；
ENDIF；④ IF #6001 & 8；
OFR00；
OFR01；
ENDIF；END③

OFR01 ONR02 JNR02；(1ステップでも記述可)④

OFR00 OFR01 JNR03；(1ステップでも記述可)③④：マクロ演算では４行ですが、テクノ言語の汎用入出力の書式では、１行で記述できます。

END

４ 効率的な理由
テクノ言語がシンプルで効率的な理由は、オープンＭＣの自律性によるところが大です。

■自律制御／自動機の標準機能
テクノ言語では、各々の動作の固有的な内容を指示するだけです。オープンＭＣには、自動機の標準機能が内在しています。以下は、運転プログラムとは別に、オープンＭＣが自律的に制御しています。
◆動作モードメモリ運転（連続・シングル）、ＤＮＣ、コマンド◆標準入出力自動機に必要な入出力はほとんど準備しています。
標準入出力信号の例
タスク
標準入力
信号名
ＲＥＳＥＴ
タスク毎
入出力
（８組）

全タスク
共通入出力

意味
動作中断
アラーム解除
ＳＴＯＰ
動作停止
ＣＲＣＬＲ
指令座標の設定
ＲＥＷＮＤ
Ｇｺｰﾄﾞ運転終了
ＥＭＳ
非常停止
ＲＥＴＵＲＮ 原点復帰開始
ＯＴ±□
各軸ｵｰﾊﾞﾄﾗﾍﾞﾙ
ＯＲＧ□
各軸原点
機械
各種操作入力パネル
自動 ｵｰﾊﾞﾗｲﾄﾞ等
ＥＭＳ
非常停止
ＯＮＳＷ
サーボ電源ＯＮRi０～63
汎用入力０～63
ＭＦＩＮ
Ｍ読込み完 入力
ＭＯＫ
正常終了
入力
ＭＯＰＴ
ｵﾌﾟｼｮﾅﾙｽﾄｯﾌﾟ入力

標準出力
信号名
意味
ＲＥＡＤＹ
正常動作中
ＲＵＮ
運転中
ＡＬＡＲＭ
ｱﾗｰﾑ発生ＩＮＰＯＳ位置決め完了
ＰＡＵＳＥ
一時停止中
ＰＲＤＹ
ﾌﾟﾛｸﾞﾗﾑ起動可
ＭＯＤＥ0～2 動作ﾓｰﾄﾞ

ＳＶＭ
ｻｰﾎﾞ主電源
ＳＯＵＴ 0/1 主軸制御
ＲＯ0～47
汎用出力0～47
Ｍ0～Ｍ7
Ｍコード出力ＭＳＴＲＢ
Ｍｽﾄﾛｰﾌﾞ出力
ＭＺＳＴＰ
M00/01停止中出力■動作条件はパラメタで記憶済み
各種動作条件を、パラメタとして記憶しています。運転プログラムで記述する必要はありません。
もちろん、条件を変更したい場合は、運転プログラム内でもパラメタを書き換えできます。
設定・選択項目の例（一部）分類
設定／選択項目
動作条件
早送り速度 加減速タイプ 加減速時定数 検出単位 指令単位
原点復帰の各種設定
シ ス テ ム 設 定 起動時サーボオン ＯＮＳＷ 自動原点復帰 ＯＴ時サーボオフ（有効・無効） 原点復帰時の論理座標設定 原点復帰時のホーム位置決め
ＭＯＫ Ｍ００／Ｍ０１
入出力選択
入出力の割当て 手動パルサ・ジョイスティック選択
入出力信号の論理 (Ａ接／Ｂ接)軸形態
無限回転軸 旋回軸 ソフトリミット有無 原点復帰有無■論理的な標準化
各機構の物理的な特殊性は、パラメタやＲＯＭＳＷ（ロムスイッチ）の設定で、論理的な共通化をします。
その結果、使い勝手が統一し、運転プログラムも簡単になります。
TB04-2248.jtdc-3

■さらに効率的な専用命令・カスタマイズ
複合的な動作も専用命令では１行で指令できます。動作に直結する必要最小限の表現で、使い勝手は最適です。
オープンＭＣの最大の特徴の一つがカスタマイズや専用命令です。
巻き線命令・オシレーション・リジッドタップ・フィルム/テンション命令など、詳細は各々の資料やＨＰを参照ください。

５ マクロ機能の特徴やメリット■マクロ機能・マクロ変数のメリット
指令値は、一般に即値とマクロ変数の両方が可能ですが、マクロ変数には、以下のメリットがあります。
◆汎用性
運転プログラム内で、マクロ変数や演算を活用し、いろいろなパターンで動作します。
◆自由度
ＰＣ/ＰＬＣ/外部機器からマクロ変数を読み書きし、動作の内容を自由に変更できます。

■マクロ機能の簡単な説明
運転プログラムで、変数や演算（四則演算、判別）を使って、ワークや状況に応じた動作が可能です。
オープンＭＣのほぼ全ての情報はマクロ変数として扱えるので、自由度は格段にあがります。
■応用例

ワークＮｏ．によるポイント位置決めテーブルの選択
デジスイッチ入力による移動量や動作パターンの選択
ツール番号の指定によるツール交換動作■マクロ演算の種類
分 類
内容
代 入 変数と即値を含む演算式
判 別 IFELSE ENDIF SWITCH/CASE
演 算 ＋ － ＊ ／ ％ ＆(AND) ｜(OR)比較 ＜ ＜＝ ＞ ＞＝ ＝＝ !＝＾(XOR)＜＜（左シフト）＞＞（右シフト）■マクロ変数の使用例/*** SWITCH/CASEを使用した運転プログラム例 ***/SWITCH #1300; /* 動作選択*/
CASE 1;/* 1:ＰＯＲＴ１から取り出し*/
PTMA #1305;/* 指定ラックポイントへ位置決め */CALL INTRI;/* IN取りサブルーチン実行*/
BREAK;■マクロ変数の一覧
オープンＭＣの内部情報・データのほぼ全てがマクロ変数として扱えます。
ＰＬＭＣ－ＭⅡＥＸのマクロ変数一覧
L：LongWord
変数番号形式 名称#1000 ～ #1199 Ｗ
グローバルマクロ変数#1200 ～ #1299 Ｗ
ラダー共有マクロ変数(Ｒ)
書き込みはＭ３←ＭⅡＥＸ限定#1300 ～ #1399 Ｗ
ラダー共有マクロ変数(Ｗ)
書き込みはＭ３→ＭⅡＥＸ限定#1400 ～ #1499 Ｗ
ローカルマクロ変数#1500 ～ #1536 Ｗ
STATUS.mc.Status その他

Ｗ：Word補足
汎用レジスタ（全タスク共通）
ＦＡＭ３ＲからREAD
データ位置番号1001～1100
ＦＡＭ３ＲからWRITE/READ
データ位置番号1101～1200
ＰＬＣやＰＣから通信で送受
各軸ステータス/アラーム
各種内部情報 各軸状態の詳細
STATUS.ax[0-8].AxStatusその他 タスク毎の各種ステータス/アラーム
オーバライド,P番号,Ｓ番号など#1600 ～ #1635 Ｗ
入力ポート０～３５
全入出力のＯＮ/ＯＦＦ情報#1640 ～ #1651 Ｗ
出力ポート０～５#2000 ～ #2899 L/Ｗ サーボパラメータ
オープンＭＣ内の各種データ#3000 ～ #3019 L
工具長補正テーブル#3100 ～ #3108 L
工具長補正値#3500 ～ #3519 L
工具径補正テーブル#4000 ～ #4899 L
ポジション〈各種座標〉#5000 ～ #5008 L
センサーラッチポジション(PR)#5100 ～ #5108 L
センサーラッチポジション(AR)#5200 ～ #5499 L
メカトロリンクコマンド#5500 ～ #5999 L
マクロ変数 #1000～#1499
Longアクセス用#6001 ～ #6016 Ｗ
ＨＥＸ入力
入力信号を１６進数値化#7100 ～ #7108 Ｗ
軸インターロック情報
タスク毎#7200 ～ #7208 Ｗ
軸ネグレクト情報
タスク毎

TB04-2248.jtdc-4

４ 命令コード一覧(テクノ言語／G言語)
テクノ言語とＧ言語は、軸の移動命令の構成が似ています。テクノ言語は、Ｇ言語の機能に入出力制御を加えて、表現を直感的にしたものとも言えます。
各命令の詳細は、以下の資料を参照ください。
◆サンプル運転プログラム（テクノ言語／Ｇ言語）：導入・練習◆各製品のユーザーズマニュアル〈機能編〉（運転プログラム言語）：機能・仕様
ﾃｸﾉ言語 Ｇ言語
動作－
G90
インクレ指定－G91
論理座標系アブソ指定
PTP(G91)G00 インクレ位置決め
PTPA(G90)G00 論理座標系アブソ位置決め
PTPB
G28
機械座標系アブソ位置決め
LIN(G91)G01 インクレ直線補間
LINA(G90)G01 論理座標系アブソ直線補間
LINB
機械座標系アブソ直線補間
SLIN
G31
ｲﾝｸﾚｾﾝｻｰﾗｯﾁ補間
＜OP＞
CIRR
(G91)G02 ｲﾝｸﾚ円弧補間CW 中心指定､半径指定(CR)CIRRA (G90)G02 論理座標系アブソ円弧補間CW
CIRL(G91)G03 インクレ円弧補間CCW
CIRLA (G90)G03 論理座標系アブソ円弧補間CCW
P**－＊＊平面指定円弧半径指定で必要
PXY
G17
ＸＹ平面指定PXZ
G18
ＸＺ平面指定PYZ
G19
ＹＺ平面指定TIM
G04
ドウェル 単位：秒 少数１桁TM
制御周期単位のタイマー
THSET G43
工具長補正開始＜OP＞
THOFF G49
工具長補正キャンセル
INPE
G61
インポズチェック有効
INPD
G64
インポズチェック無効
CSET
G92
論理座標設定PTMA
G100
ポイント位置決め
＜OP＞
AXMV
AXMVA
AXWT
AXMVB
STNE
STND
TURN
TLS
TLC

G91G101
G90G101
G104
G128
G110
G111
G112
－ー

インクレ独立位置決め
論理座標独立位置決め
独立位置決め完了待ち
機械座標独立位置決め
接線制御有効＜OP＞
接線制御キャンセル
ＴＵＲＮ命令トルク制限開始 ＜専用＞
トルク制限解除 ＜専用＞

SPIN
DC
DL
DR

G120
G40
G41
G42

無限回転軸回転動作
径補正キャンセル
径補正左側
径補正右側

＜OP＞
＜OP＞
＜OP＞

ﾃｸﾉ言語
MOUT**
MOUT00
MOUT01
－－－
END
CALL
END－

Ｇ言語
M**
M00
M01
M03M04
M05
M30
M98
M99
S

動作
Ｍコード出力プログラムストップ
オプショナルストップ
主軸正転
＜OP＞
主軸逆転
主軸停止
プログラム運転終了
サブプログラム呼出
サブプログラム終了
主軸回転速度設定＜OP＞

PNT
PNT
ONR**
－
OFR**
－
ER/ENR－
JR/JNR－
SR/SNR－
WR/WNR－
ﾏｸﾛ命令 ﾏｸﾛ命令
IFIF
ELSE
ELSE
ENDIF
ENDIF
SWITCHCASE
DEFAULTBREAK
ENDSWITCH

ﾎﾟｲﾝﾄ位置決めﾃｰﾌﾞﾙ ＜OP＞
汎用出力制御出力信号の ON/OFF
汎用入力制御Exit Jump Stop Ｗａｉｔ
四則演算、内部情報
条件判断

TSTOP
TSTART
TRESET
PRG

G197
G198
G199
－

別タスクプログラム停止
別タスクプログラム起動
別タスクプログラムリセット
スレーブプログラム起動

JMP
PNO
OVR
SVON
SVOF

JMP
（GOTO）ラベルジャンプ
PNO
プログラム番号指定
OVR
オーバライド指定－軸指定サーボオン－軸指定サーボオフN□□□ シーケンス番号

条件分岐

TB04-2248.jtdc-5