標準インターフェイスコマンド

FANUCで標準インターフェイスを用いてロボットプログラミングを行う際は、以下の点にご注意ください。

  1. 複数のパラメータはコンマで区切る必要があります。

  2. すべてのパラメータはプログラムファイル内でローカル変数として定義する必要があります。

  3. パラメータは入力パラメータと出力パラメータと定義します。

この標準インターフェースはTCP/IPプロトコルを介して通信を行います。

通信の初期化

ホストIPアドレス、ポート番号、およびTCP/IPの待機時間を設定するために使用されます。

プログラム

MM_INIT_SKT (C_Tag, Ip_Addr, Svr_Port, Time_Out)

パラメータ

パラメータ

説明

入力パラメータ

C_Tag

クライアントのポート番号、ロボットのポート番号です。

Ip_Addr

IPCのIPアドレスです。

Svr_Port

サーバーポート番号で、デフォルトのポート番号は50000です。

Time_Out

接続の試行を停止するまでの待機時間(分)です。

サンプル

CALL MM_INIT_SKT ('1','192.168.1.20',50000,5)

このサンプルを実行すると、クライアントポート番号は1、ホストIPアドレスは192.168.1.20、ポート番号は50000、待機時間は5分に設定されます。

Mech-Visionをトリガー

Mech-Vizを使用せずMech-Visionを使用する場合に使用します。対応するMech-Visionプロジェクトを実行して、データの取得および処理を行います。

プログラム

MM_START_VIS (Job, Pos_Num_Need, SendPos_Type)

パラメータ

パラメータ

説明

入力パラメータ

Job

Mech-VisionプロジェクトID(1~99)です。

Mech-Centerで 設定 ‣ Mech-Vision でプロジェクトのIDを確認、調整を行ってください。

Pos_Num_Need

Mech-Visionが送信する結果の数(0~20)です。0はすべて送信することを意味します。

SendPos_Type

送信されるロボットの画像撮像姿勢(0~2)を設定します。

0:画像撮像姿勢を送信しないことを意味します。 1:画像撮影姿勢を関節角度で送信します。 2:画像撮影姿勢をフランジ位置姿勢で送信します。

サンプル

CALL MM_START_VIS (1,1,1)

このサンプルを実行するとMech-VisionのNo. 1プロジェクトを実行します。結果としてMech-VisionのNo. 1プロジェクトから1つの視覚結果を送信します。同時にロボットから画像撮影姿勢を関節角度で1つの位置姿勢をMech-Centerへ送信します。

Mech-Visionの結果取得

Mech-Vizを使用せずMech-Visionを使用する場合に使用します。対応するMech-Visionプロジェクトから画像処理結果を取得します。

プログラム

MM_GET_VIS (Job, Reg_Lst_Data, Reg_Pos_Num, Reg_Status)

パラメータ

パラメータ

説明

入力パラメータ

Job

Mech-VisionプロジェクトID(1~99)です。

Mech-Centerで 設定 ‣ Mech-Vision でプロジェクトのIDを確認、調整を行ってください。

出力パラメータ

Reg_Lst_Data

すべての結果が送信されたかどうかを記録するためのレジスタです。

0は結果をすべて送信し終わっていないことを意味し、1はすべての結果を送信されたことを意味します。

Reg_Pos_Num

取得した出力結果の数を記録するためのレジスタです。

MM_Status

Mech-Visionのステータスコードを記録するためのレジスタです。詳細については、 標準インターフェイスのステータスコード一覧とトラブルシューティング をご参照ください。

サンプル

CALL MM_GET_VIS (1,50,51,52)

このサンプルを実行するとMech-VisionのNo.1プロジェクトから視覚結果を取得します。すべての結果が送信されたかどうかはレジスタR[50]に保存されます。受信した結果の数はレジスタR [51]に保存されます。ステータスコードはレジスタR[52]に保存されます。

Mech-Vizをトリガー

Mech-VisionとMech-Vizの両方を使用する場合に使用します。対応するMech-Vizプロジェクトを実行します。この時Mech-Vizのシミュレーション上でロボットの初期関節位置が設定されます。

プログラム

MM_START_VIZ (SendPos_Type)

パラメータ

パラメータ

説明

入力パラメータ

SendPos_Type

Mech-Vizのシミュレーション上でのロボット初期位置を設定します。

0:ロボットの初期関節角度を[0,0,0,0,0,0]に設定します。 1:ロボットの初期関節位置を実際のロボットの関節角度に設定します。

サンプル

CALL MM_START_VIZ (1)

このサンプルを実行すると、対応するMech-Vizプロジェクトを実行し、シミュレーション上のロボット初期関節角度を実際のロボットと同期します。

移動計画を取得

Mech-Vizのプロジェクトの計画経路を取得するために使用されます。

プログラム

MM_GET_VIZ (Jps_Pos, Reg_Lst_Data, Reg_Pos_Num, Reg_VPos_Num, Reg_Status)

パラメータ

パラメータ

説明

入力パラメータ

Jps_Pos

Mech-Vizから送信される移動位置の方式を設定します。

1:関節角度を送信します。 2:TCP位置姿勢を送信します。

出力パラメータ

Reg_Lst_Data

すべての行動計画が送信されたかどうかを記録するためのレジスタです。0は結果をすべて送信し終わっていないことを意味し、1はすべての結果を送信されたことを意味します。

Reg_Pos_Num

取得した出力結果の数を記録するためのレジスタです。

Reg_VPos_Num

最初の視覚移動の順番を記録するためのレジスタです。

例えば、move-1、move-2、visual_move-3、move-3、visual_move-2の場合、最初の視覚移動の順番は3です。行動計画に視覚移動が含まれていない場合、0に設定します。

Reg_Status

Mech-Visionのステータスコードを記録するためのレジスタです。詳細については、 標準インターフェイスのステータスコード一覧とトラブルシューティング をご参照ください。

サンプル

CALL MM_GET_VIZ (2,50,51,52,53)

このサンプルを実行するとMech-Vizから行動計画をTCP位置姿勢で取得します。すべての行動計画が送信されたかどうかをレジスタR[50]に保存されます。受信した移動位置の数はレジスタR [51]に保存されます。視覚移動の順番はレジスタR [52]に保存されます。ステータスコードはレジスタR[53]に保存されます。

位置姿勢を取得

Mech-VisionまたはMech-Vizによって送信されたTCP位置姿勢を指定した位置レジスタに保存します。

プログラム

MM_GET_POS (Serial, Pr_Num, Reg_Label, Reg_Speed)

パラメータ

パラメータ

説明

入力パラメータ

Serial

保存する位置姿勢のインデックスを指定します。

出力パラメータ

Pr_Num

指定された位置姿勢を記録するための位置レジスタです。

MM_Label

指定した位置姿勢に対応するラベルを記録するためのレジスタです。

MM_Speed

指定した位置姿勢に移動する速度を記録するためのレジスタです。

サンプル

CALL MM_GET_POS (1,60,61,62)

このサンプルを実行すると、最初に受信した位置姿勢をレジスタPR [60]に、対応するラベルをレジスタR [61]に、対応する移動速度をレジスタR[62]に保存します。

関節角度を取得

Mech-VisionまたはMech-Vizによって送信された関節角度を指定した位置レジスタに保存します。

プログラム

MM_GET_JPS (Serial, Pr_Num, Reg_Label, Reg_Speed)

パラメータ

パラメータ

説明

入力パラメータ

Serial

保存する位置姿勢のインデックスを指定します。

出力パラメータ

Pr_Num

指定した関節角度データを記録するための位置レジスタです。

Reg_Label

指定した位置姿勢に対応するラベルを記録するためのレジスタです。

Reg_Speed

指定した位置姿勢に移動する速度を記録するためのレジスタです。

サンプル

CALL MM_GET_JPS (1,60,61,62)

このサンプルを実行すると、最初に受信した関節角度をレジスタPR [60]に、対応するラベルをレジスタR [61]に、対応する移動速度をレジスタR[62]に保存します。

Mech-Visionパラメータレシピの切り替え

使用するMech-Visionプロジェクトのパラメータレシピを指定します。このコマンドは、 MM_START_VIS の前に呼び出す必要があります。

プログラム

MM_SET_MOD (Job, Model_Num)

パラメータ

パラメータ

説明

入力パラメータ

Job

Mech-VisionプロジェクトID(1~99)です。

Mech-Centerで 設定 ‣ Mech-Vision でプロジェクトのIDを確認、調整を行ってください。

Model_Num

Mech-Visionプロジェクトのパラメータレシピ番号(1~99)です。

サンプル

CALL MM_SET_MOD (2,2)

このサンプルを実行すると、Mech-VisionプロジェクトNo.2で使用されているパラメータレシピをNo.2に切り替えます。

Mech-Vizのブランチを選択

Mech-Vizプロジェクトをどのブランチに沿って実行するかを選択する場合に使用されます。このようなブランチは、「メッセージによって異なるブランチを実行」タスクをプロジェクトに追加することで実現可能です。このコマンドの前に MM_START_VIZ を呼び出す必要があります。Mech-Vizで実行される次のタスクが「メッセージによって異なるブランチを実行」タスクである場合、Mech-Vizは、このコマンドが実行されるまで待機します。

プログラム

MM_SET_BCH (Branch_Num, Export_Num)
  • パラメータ説明:

    パラメータ

    説明

    入力パラメータ

    Branch_Num

    このパラメータ、つまり、 消息分支 のタスクIDは正の整数である必要があります。タスクIDは、タスクパラメータで読み取りを行います。

    Export_Num

    Mech-Vizプログラムは設定されたブランチの出口に沿って実行し続けます。パラメータ範囲は[1-99]です。

サンプル

CALL MM_SET_BCH (1,3)

このサンプルを実行すると、Mech-Viz内の1という名前の「メッセージによって異なるブランチを実行」の出口3を通過するようになります。

移動インデックスを設定

Mech-Viz内タスクのパラメータ、現在のインデックスの値を設定することができます。このパラメータを設定できるタスクは、「リストによる移動」、「グリッドによる移動」、「カスタムパレットパターン」、「スマートパレットパターン」などがあります。このコマンドを呼び出す前に、 MM_START_VIZ を実行する必要があります。

プログラム

MM_SET_IDX (Skill_Num, Index_Num)
  • 入力パラメータ説明:

    Skill_Num

    インデックス付きの移動タスクののタスクIDで、正の整数である必要があります。タスクIDは、タスクパラメータで読み取りを行います。

    Index_Num

    次にこのタスクが実行されたときに設定されるべきインデックス値です。

    このコマンドを送信すると、Mech-Vizの現在のインデックス値がこのパラメータの値から1を引いた値に変更されます。

    このコマンドで指定したタスクにMech-Vizプロジェクトが実行されると、Mech-Vizの現在のインデックス値が、このパラメータの値まで1つずつ増加します。

  • サンプル:

    CALL MM_SET_IDX (2,10)
    

    このサンプルを実行すると、2という名前のタスクのインデックス値を9に設定します。

ソフトウェアのステータスを取得

現在、Mech-Visionのプロジェクトステータスを確認できます。将来的には、このコマンドを使用して、Mech-Vision、Mech-Viz、およびMech-Centerの実行ステータスを取得できるようになります。

プログラム

MM_GET_STAT (MM_Status: OUT)

パラメータ

パラメータ

説明

出力パラメータ

MM_Status

Mech-Visionのステータスコードを記録するためのレジスタです。詳細については、 標準インターフェイスのステータスコード一覧とトラブルシューティング をご参照ください。

サンプル

CALL MM_GET_STAT (70)

このサンプルを実行すると、ステータスコードを取得し、レジスタR[70]に格納します。

Mech-Visionへ物体寸法を入力

物体の寸法をMech-Visionに入力するコマンドです。このコマンドはMM_START_VISの前に呼び出す必要があります。

プログラム

MM_SET_BS (Job:IN, Lenght, Width, Height)
  • パラメータ説明:

    パラメータ

    説明

    入力パラメータ

    Job

    Mech-VisionプロジェクトID(1~99)です。

    Mech-Centerで 設定 ‣ Mech-Vision でプロジェクトのIDを確認、調整を行ってください。

    Lenght

    物体の長さ(ミリメートル単位、浮動小数点数)です

    Width

    物体の幅(ミリメートル単位、浮動小数点数)です

    Height

    物体の高さ(ミリメートル単位、浮動小数点数)です

サンプル

CALL MM_SET_BS (1,11.0,12.0,13.0)

このサンプルを実行すると、Mech-VisionプロジェクトNo.1のステップ「対象物の寸法を読み込む」の物体寸法を11×12×13mmに設定されます。

DO信号リストの取得/DO信号リストの設定

この二つのコマンドで区分化された吸着ハンドを制御するためにDO信号のリストを取得し、それに応じたDO信号を設定することができます。このコマンドは MM_GET_VIZ の前に呼び出す必要があります。

XXXX/Mech-Center-xxx/tool/viz_project/suction_zone にあ suction_zone.vizのサンプルプロジェクトを参考にしてMech-Vizプロジェクトを作成し、Mech-Vizプロジェクトに吸盤のコンフィグファイルを設定する必要があります。

プログラム

  • DOリストを取得:

MM_GET_DL
  • DOリストを設定:

MM_SET_DL

パラメータ

ありません。

サンプル

CALL MM_GET_DL
CALL MM_SET_DL

これらの2つのサンプルを実行すると、Mech-Vizで設定されたDO信号のリストを取得し、それをDo_Port [i]に保存して、DOの値を設定することができます。

Mech-VizにTCP座標を入力

动态传入位姿点数据。配合 Mech-Viz 中的 外部移动 使用。该功能需要配合 XXXX/Mech-Center-xxx/tool/viz_project/outer_move 工程使用,并在运行之前把其中的 外部移动 放到合适的位置。 该指令需要在调用 MM_START_VIZ 程序之前调用。

プログラム

MM_SET_POS (X, Y, Z, W, P, R)

パラメータ

パラメータ

説明

入力パラメータ

変数1

X;位置姿勢の位置変数[mm]

Y;位置姿勢の位置変数[mm]

変数3

Z;位置姿勢の位置変数[mm]

変数4

W;位置姿勢の角度変数[度]

変数5

P;位置姿勢の角度変数[度]

変数6

R;位置姿勢の角度変数[度]

サンプル

CALL MM_SET_POS (100.1,200.2,300.3,90.0,180.0,0.0)

このサンプルを実行すると、TCPの位置姿勢(100.1,200.2,300.3,90.0,180.0,0.0)をMech-Viz内のタスク「外部移動」に送信します。

キャリブレーション

カメラの外部パラメータをキャリブレーションするときに使用します。Mech-Visionのカメラキャリブレーション機能と連動してキャリブレーションを自動的に行います。

プログラム

MM_CALIB (Move_Type, PosJps, WaitTime, AxisNum, AxisVal, Reg_CalibPos)
  • パラメータ説明:

    パラメータ

    説明

    入力パラメータ

    Move_Type

    移動方式を設定します。

    1:MoveL(直線運動) 2:MoveJ(関節運動)

    PosJps

    位置姿の送信形式を設定します。

    1:TCP位置姿勢 2:関節角度

    WaitTime

    ロボットがキャリブレーションポイントに到達した後の待機時間(秒)で、デフォルトでは2秒です。

    AxisNum

    ロボットの軸の数です。

    AxisVal

    外部7軸目のデータ(mm)で、外部軸がない場合は0を入力します(オプション機能)。

    Reg_CalibPos

    MM_AUTO_CALIBで使用される位置レジスタで、デフォルトではPR[100]です。

サンプル

CALL MM_CALIB (2,1,2,6,0,100)

このサンプルを実行すると、6軸ロボットを関節運動で動かし、TCP位置姿勢を受信し、2つの位置姿勢間の待機時間を2秒に設定します。また、ロボットには外部7軸を設定していません。レジスタPR[100]には、受信した位置姿勢を保存します。