通信設定とサンプルプログラムの使用

本節では、三菱iQ-RシリーズPLC(外部モジュールRJ71EIP91搭載)とMech-MindソフトウェアシステムとのEtherNet/IP通信は、以下のような流れで行われます。

ハードウェアとソフトウェアの要件

ハードウェア

  • PLC:

    • 三菱iQ-RシリーズPLC(外部モジュールRJ71EIP91搭載)。以下では、三菱RCPU R00型式のPLCを使用して説明します。

    • 三菱電源モジュールR61P、メインボードR33B。

  • 産業用PC:標準PCI-eネットワークカードがインストールされているHMS IXXAT INpact 40。

  • PLCプログラムダウンロード用USB Type-A - USB mini-B変換ケーブル。

  • スイッチおよびLANケーブル。

ハードウェアの接続は下図の通りです。

../../../../_images/hardware_connection6.png

ソフトウェア

ソフトウェア

説明

インストール場所

GX Works3 1.081K

三菱PLCプログラミングソフトウェア

三菱PLCプログラミングのためのPC

SW1DN-EIPCT-BD 01B

EtherNet/IP設定ソフトウェア

三菱PLCプログラミングのためのPC

1.7.0バージョン以降のMech-Mindソフトウェアシステム

Mech-Mindソフトウェアシステム

産業用PC

HMS IPconfig

ネットワークカードのIPアドレス設定

産業用PC

上記のソフトウェアに加え、次のファイルをコピーしてGX Works3がインストールされているPCに貼り付ける必要があります。

  • EDSファイル:005A002B003A0100.EDS。EtherNet/IPネットワークにおける産業用PCのアイデンティティに関する情報を提供するために使用されます。

    EDSファイルは、Mech-Mindソフトウェアシステムのインストールパスにある Mech-Center/Robot_Interface/EthernetIP フォルダに格納されています。

  • PLCサンプルプログラムファイル:iQ-R_RJ71EIP91.usl。このファイルには以下のユーザーライブラリが含まれています。

    • M_RJ71EIP91_Class1SetOutputData_00A:Class1通信により、指定した接続の入力データを取得します。

    • M_RJ71EIP91_Class1GetInputData_00A:Class1通信により、指定した接続の出力データを取得します。

    • CameraSignalsMove:ビジョンシステムの信号転送に使用されます。

    • CameraTest:ビジョンシステムのテストに使用されます。

    • MM_XXX_XXX機能ブロック:各種のインターフェースコマンドの実装に使用されます。

    サンプルファイルは、Mech-Mindソフトウェアシステムのインストールパスにある Mech-Center/Robot_Interface/EthernetIP/Programming Samples/MITSUBISHI iQ-R PLC EthernetIP フォルダに格納されています。

産業用PCの設定と通信の開始

産業用PCのPCI-eカードとドライバソフトウェアの確認

  1. 下図の通り、INpact EIP Slave PCIe ネットワークカードが産業用PCのPCI-eスロットに圧入されていることを確認してください。

    ../../../../_images/install_communication_board1.png
  2. 産業用PCを起動し、Windowsのアイコンを右クリックしてデバイスマネージャーを開き、ドライバーソフトウェア VCI4 INpact PCIeがインストールされていることを確認します。

    ../../../../_images/device_manager1.png

Mech-Visionで「ロボット通信設定」を実行

  1. Mech-Visionのツールバーで ロボット通信設定 をクリックします。

  2. ロボットを選択 のドロップダウンボックスをクリックし、 適応可能なロボット を選択して ロボット型番を選択 をクリックします。表示される画面で特定のロボット型番を選択して 次へ をクリックします。

  3. 通信方式 画面で以下のことを実行します。

    • インターフェースタイプを 標準インターフェース に設定します。

    • 通信プロトコルを ETHERNET IP に設定します。

    • 適用 をクリックします。

    ../../../../_images/deployment_settings_11.png
  4. Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認します。

    ../../../../_images/deployment_settings_21.png

産業用PCのネットワークカードのIPアドレスを設定

  1. LANケーブルで産業用PCのLANポートを、IXXAT INpactネットワークカードのLANポートに接続します。

    注意

    ネットワークカードをセットアップし、通信ができた後、一時使用LANケーブルを撤去することが可能です。

  2. HMS Ipconfigソフトウェアを起動し、スキャンボタンをクリックし、「Retrieve IP Settings Dynamically from a DHCP server」のチェックを外します。ネットワークカードのIPアドレスとサブネットマスクを設定して Apply をクリックし、確認した上でソフトウェアを終了します。

    ../../../../_images/set_ip3.png

PLCプロジェクトの作成と設定

PLCプロジェクトの作成

  1. GX Works3ソフトウェアを起動し、ツールバーの 新規作成 アイコンをクリックします。すると、 新規作成 画面が表示されます。この画面で、シリーズを RCPU に、機種を R00 に、プログラム言語を ラダー に設定してから、 OK をクリックします。

    ../../../../_images/create_plc_11.png
  2. ユニット追加 の画面で 設定変更 をクリックします。

    ../../../../_images/create_plc_21.png

    オプション 画面で、「ユニットラベルを使用する」を はい に設定して OK をクリックします。その後、 ユニット追加 の画面に戻って OK をクリックします。

    ../../../../_images/create_plc_31.png
  3. 左側の 接続先 画面の 現在の接続先 タブで、 Connection をダブルクリックします。

    ../../../../_images/create_plc_41.png
  4. すると、 接続先指定 Connection 画面が表示されます。

    1. パソコン側で シリアル USB を設定し、シーケンサ側で CPUユニット を選択します。すると、 RCPU が自動的にCPUモードに記入されます。

    2. CPUユニット直結設定 をクリックし、表示される画面で USB を選択して、 はい をクリックします。

    3. 接続先指定 Connection 画面に戻り、 通信テスト をクリックします。 R00CPUとの接続に成功しました というメッセージが表示された場合、GX Works3ソフトウェアがPLCと正常に通信できたことを意味します。

    4. 接続先指定 Connection 画面の OK をクリックし、GX Works3ソフトウェア画面に戻ります。

    ../../../../_images/create_plc_51.png
  5. 左側のナビゲーション画面で、 パラメータ を展開し、 システムパラメータ をダブルクリックします。すると、 システムパラメータ 画面が表示されます。

    1. システムパラメータ 画面で、 I/O割付設定 タブで ベース/電源/増設ケーブル設定 を選択し、選択アイコンをクリックします。すると、 形名選択 画面が表示されます。

    2. 形名選択 画面で、実際の状況に応じてベース形名と電源ユニット形名を選択してから、 OK をクリックします。

      ../../../../_images/create_plc_6.png
    3. すると、下図のようなポップアップが表示され、 OK をクリックします。

      ../../../../_images/create_plc_7.png
    4. システムパラメータ 画面で、 I/O割付設定 タブで I/O割付設定 を選択し、選択アイコンをクリックします。すると、 新規ユニット追加 画面が表示されます。

    5. 新規ユニット追加 画面で、ユニット形名を ネットワークユニット に、ユニット形名を RJ71EIP91 に選択し、 OK をクリックします。

      ../../../../_images/create_plc_8.png
    6. すると、下図のようなポップアップが表示され、 OK をクリックします。

      ../../../../_images/create_plc_9.png
  6. 左側のナビゲーション画面で、 パラメータ を展開し、 追加された 0000:RJ71EIP91 をダブルクリックします。すると、 設定項目一覧 画面が表示されます。

    1. 設定項目一覧 画面で、 基本設定 を選択し、 自ノード設定 を展開し、IPアドレス行の空白場所をダブルクリックします。

    2. すると、 IPアドレス設定 画面が表示されます。この画面でIPアドレスとサブネットマスクを設定してから OK をクリックします。

    ../../../../_images/create_plc_10.png

PLCハードウェア構成をPLCにダウンロード

  1. 左側のナビゲーション画面で、 プログラム を選択し、メニューバーで 変換 ‣ 全変換 を順番にクリックします。

    ../../../../_images/configure_plc_1.png
  2. 全変換 画面で、 オプション設定 をクリックします。すると、 オプション 画面が表示されます。

    ../../../../_images/configure_plc_2.png
    1. オプション 画面で、左側の 基本設定 をクリックし、「全変換実行時、ラベルを再割付する」を はい に設定してから OK をクリックします。

    2. 全変換 画面に戻り、 OK をクリックします。

    ../../../../_images/configure_plc_3.png
  3. プログラムが正常に変換された後、メニューバーで オンライン ‣ シーケンサへ書込み を順番にクリックします。

    ../../../../_images/configure_plc_4.png
  4. すると、 オンラインデータ操作 画面が表示されます。この画面で 書込み タブを選択し、 パラメータ+プログラム をクリックして 実行 をクリックします。

    ../../../../_images/configure_plc_5.png
    1. 下図のようなポップアップが表示されますので、 はい をクリックします。

      ../../../../_images/configure_plc_6.png
    2. 安全を確認した上で、 はい をクリックします。

      ../../../../_images/configure_plc_7.png
    3. 上書き 画面で、 全てはい をクリックします。

      ../../../../_images/configure_plc_8.png
    4. 正常にダウンロードしたら、下図のようなポップアップが表示されます。安全を確認した上で はい をクリックします。

      ../../../../_images/configure_plc_9.png
    5. 完了しました 画面で、 OK をクリックします。その後、 オンラインデータ操作 画面に戻って 閉じる をクリックします。

      ../../../../_images/configure_plc_10.png
  5. 設定を有効にするために、PLCを再起動します。

EDSファイルをインストールして設定

  1. 設定項目一覧 画面で EtherNet/IP Configuration Tool アイコンをダブルクリックして、 EIP Configuration Tool for RJ71EIP91 設定ソフトウェアを起動します。

    ../../../../_images/install_file_1.png
  2. 表示される 新しいエレメントを追加 画面で、RJ71EIP91ユニットのIPアドレスを入力して、 OK をクリックします。入力したIPアドレスは、GX Works3ソフトウェアで「0000:RJ71EIP91ユニットパラメータ」に設定されたIPアドレスと一致させる必要があります。

    ../../../../_images/install_file_2.png
  3. EIP Configuration Tool for RJ71EIP91 画面で、 機器一覧 を展開し、 EtherNet/IP機器 を右クリックして 追加 をクリックします。すると、 EDSファイルマネジメント 画面が表示されます。

    ../../../../_images/install_file_3.png
    1. EDSファイルマネジメント 画面で 次へ をクリックします。

      ../../../../_images/install_file_4.png
    2. 参照 をクリックし、表示される画面からEDSファイル(事前に産業用PCからコピーする必要があります)を選択して 次へ をクリックします。

      ../../../../_images/install_file_5.png
    3. 次へ をクリックします。

      ../../../../_images/install_file_6.png
    4. 完了 をクリックします。

      ../../../../_images/install_file_7.png
  4. EDSファイルが正常に追加された後、 EtherNet/IP機器 を展開し、 Ixxat INpact EtherNet/IP(TM) を右クリックし、 コンフィグレーションに挿入 をクリックしてEtherNet IPネットワークに接続します。すると、 Ixxat INpact EtherNet/IP(TM) 画面が表示されます。

    ../../../../_images/install_file_8.png
    1. 基本 タブでビジョンシステムのスレーブIPアドレスを設定します。このIPアドレスはHMS IpconfigのIPと同じであり、ここで192.168.1.10に設定します。

      ../../../../_images/install_file_9.png
    2. コネクション タブで 基本 をクリックし、 入力モード の値を Point to Point に変更し、 入力サイズ出力サイズ の通信データ長を記録してから、 OK をクリックします。

      ../../../../_images/install_file_10.png

PLC EtherNet/IPネットワーク構成をPLCにダウンロード

  1. 「Ixxat INpact EtherNet/IP(TM)」が正常に追加された後、下図のようなオプションが表示されます。ツールバーの オンラインモード アイコンをクリックします。

    ../../../../_images/download_file_1.png
  2. 「オンラインへ移送する前にコンフィグレーションを保存しますか?」のポップアップが表示され、 はい をクリックしてオンラインモードが有効になります。

    ../../../../_images/download_file_2.png
  3. オンラインモード で、ツールバーの ダウンロード アイコンをクリックし、現在設定されたパラメータをEtherNet/IP通信ユニットRJ71EIP91に書き込みます。

    ../../../../_images/download_file_3.png
    1. 表示されるポップアップで「configuration.apa」にチェックを入れ、コンフィグファイル(*.apa)がダウンロード可能であることを示し、コンフィグファイルを後でアップロードして再編集することができるようにしました。その後、 ダウンロード をクリックします。

      ../../../../_images/download_file_4.png
    2. すると、下図のようなポップアップが表示され、 OK をクリックします。

      ../../../../_images/download_file_5.png
  4. 設定を有効にするために、PLCを再起動します。

サンプルファイルをインポートしてPLCプログラムをPLCにダウンロード

Mech-Mindサンプルプログラムファイルをインポート

注意

Mech-Mindサンプルプログラムファイルをインポートしてテストするために、新しいPLCプロジェクトを使用する必要があります。既存のPLCプロジェクトに追加する場合は、新しいプロジェクトを作成して、インポートとテストを行ってから、既存のプロジェクトに移転することをお勧めします。

  1. GX Works3 ソフトウェア画面で、メニューバーで プロジェクト ‣ ライブラリ操作 ‣ ライブラリ一覧に登録 ‣ ユーザーライブラリ を順番にクリックします。

    ../../../../_images/import_file_11.png

    すると、下図のようなポップアップが表示され、 OK をクリックします。

    ../../../../_images/import_file_21.png
  2. ライブラリをライブラリ一覧に登録 画面で、ビジョン通信のサンプルライセンスファイル「iQ-R_RJ71EIP91.usl」を選択して 開く をクリックします。「iQ-R_RJ71EIP91.usl」ファイルは、事前に産業用PCからコピーする必要があります。

    ../../../../_images/import_file_31.png
  3. GX Works3 ソフトウェア画面で、右側の 部品選択 で2つのサンプルファイル(CameraSignalsMoveとCameraTest)を選択し、右クリックして プロジェクトに追加 ‣ スキャン を選択します。

    ../../../../_images/import_file_4.png

    下図のようなポップアップが表示されますので、 はい をクリックします。

    ../../../../_images/import_file_5.png
  4. GX Works3 ソフトウェア画面に戻り、左側のプロジェクトツリーでサンプルプログラム、機能ブロック、ラベルがすべてインポートされたことを確認し、メニューバーで 変換 ‣ 全変換 をクリックします。

    ../../../../_images/import_file_6.png

    すると、下図のようなポップアップが表示され、 OK をクリックします。

    ../../../../_images/import_file_7.png

PLCプログラムをPLCにダウンロード

  1. プログラムが正常に変換された後、メニューバーで オンライン ‣ シーケンサへ書込み を順番にクリックします。

    ../../../../_images/download_plc_1.png
  2. すると、 オンラインデータ操作 画面が表示されます。この画面で 書込み タブを選択し、 パラメータ+プログラム をクリックして 実行 をクリックします。

    ../../../../_images/download_plc_2.png
    1. 下図のようなポップアップが表示されますので、 はい をクリックします。

      ../../../../_images/download_plc_3.png
    2. 安全を確認した上で、下図のようなポップアップで はい をクリックします。

      ../../../../_images/download_plc_4.png
    3. 上書き 画面で、 全てはい をクリックします。

      ../../../../_images/download_plc_5.png
    4. 正常にダウンロードしたら、下図のようなポップアップが表示されます。安全を確認した上で はい をクリックします。

      ../../../../_images/download_plc_6.png
    5. 完了しました 画面で、 OK をクリックします。その後、 オンラインデータ操作 画面に戻って 閉じる をクリックします。

      ../../../../_images/download_plc_7.png

通信が成立しているか確認

  1. GX Works3 ソフトウェア画面で、ナビゲーション画面に プログラム本体 をクリックします。

    ../../../../_images/establish_communication_11.png
  2. メニューバーで オンライン ‣ モニタ‣ モニタ開始(全ウィンドウ) を順番にクリックします。

    ../../../../_images/establish_communication_2.png

    正常に接続したら、FromCamera.HEARTBEATのハートビート信号モニタ値が連続的に変化します。

    ../../../../_images/establish_communication_3.png
  3. Mech-Visionのメインインターフェイスで、接続ができたら、ログバーのConsoleタブに、 ETHERNET IPコントローラへの接続に成功しました というメッセージが表示されます 。

    このようなログがない場合は、以下の設定が正しいかどうか確認します。

    1. ハードウェアのネットワーク接続が正常に行われているかどうか。

    2. Mech-Visionのインターフェースサービスが有効になっているかどうか。

    3. PLCプログラムがPLCハードウェアに正常にダウンロードされたかどうか。

ビジョンプロジェクトのテスト

以下では、サンプルプログラムの機能ブロックを使用して、 Mech-Visionプロジェクトを実行してビジョンポイントを取得する方法、Mech-Vizプロジェクトを実行して計画した経路を取得する方法について説明します。

事前準備

  1. Mech-Visionソリューションを作成し、それを 自動読み込み に設定します。すると、ソリューション内のプロジェクトも自動読み込みに設定され、プロジェクト名の前に番号が表示されます。

    ../../../../_images/preparation_11.png
  2. Mech-Vizプロジェクトを作成し、 自動的に読み込む にチェックを入れます。Mech-Vizプロジェクトの作成については、 Mech-Vizマニュアル をご参照ください。

    ../../../../_images/preparation_31.png

    テストのためのMech-Vizプロジェクトでは、下図のように、ステップ名が1の「メッセージによって異なる分岐を実行」を使用する必要があります。

    ../../../../_images/preparation_41.png

Mech-Visionからビジョンポイントを取得

パラメータの設定

  1. GX Works3 ソフトウェア画面で、 CameraTest プログラム本体の下にあるイネーブルスイッチ「ToCamera.COMM_ENABLE 」を常にONにします。

    ../../../../_images/test_vision_11.png
  2. MM_Start_Vis機能ブロックをクリックし、以下のポート値を設定します。

    1. Vision_Proj_Numのポート値を 1 に設定し、プロジェクト番号1のMech-Visionプロジェクトを実行することを意味します。

    2. Req_Pose_Numのポート値を 0 に設定し、Mech-Visionがすべてのビジョン結果を返すことを意味します。

    3. Robot_Pose_Typeのポート値を 0 に設定し、プロジェクトがEye to Handモードなので写真撮影時のロボットの位置姿勢を送信する必要がないことを意味します。

      ../../../../_images/test_vision_21.png

Mech-Visionプロジェクトの実行

  1. GX Works3 ソフトウェア画面で、「MM_Start_Vis」に入力された「Camera_User.Start_Vis」ラベルを右クリックし、 デバッグ ‣ 現在値変更 を順番にクリックします。それを1に変更し、Mech-Visionプロジェクトが実行されたら、このラベルをリセットします。

    ../../../../_images/test_vision_31.png
  2. STATUS_CODEの返された値が1102であるかを確認します。

    1. メニューバーで オンライン ‣ ウォッチ ‣ ウォッチ ウィンドウへ登録 ‣ ウォッチ1 を順番にクリックします。

      ../../../../_images/test_vision_41.png
    2. ウォッチ1 の画面で、名称から「FromCamera」ラベルを見つけます。

      ../../../../_images/test_vision_51.png
    3. それを展開し、STATUS_CODEの返された値を確認します。

      ../../../../_images/test_vision_61.png

      注意

      返された値が 1102 の場合、Mech-Visionプロジェクトが正常に実行されたことを意味します。返された値が10XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

Mech-Visionで計算した位置姿勢の結果を取得

  1. GX Works3 ソフトウェア画面で、「MM_Get_VisData」に入力された「Camera_User.Get_VisData」ラベルを右クリックし、 デバッグ ‣ 現在値変更 を順番にクリックします。それを1に変更し、位置姿勢の結果が取得されたら、このラベルをリセットします。

    ../../../../_images/test_vision_71.png
  2. ウォッチ1 の画面で、STATUS_CODEの返された値を確認します。

    ../../../../_images/test_vision_8.png

    注意

    返された値が 1100 の場合、Mech-Visionからビジョンポイントが正常に取得されたことを意味します。返された値が10XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

  3. Target_Poseの返された値を確認します。

    1. メニューバーで オンライン ‣ ウォッチ ‣ ウォッチ ウィンドウへ登録 ‣ ウォッチ2 を順番にクリックします。

      ../../../../_images/test_vision_9.png
    2. ウォッチ2 の画面で、名称から「Camera_User」ラベルを見つけます。

      ../../../../_images/test_vision_10.png
    3. それを展開し、Target_Poseの返された値を確認します。下図では、ビジョンシステムから取得された2つのグループの位置姿勢データ(値は実際の値に10000をかけたもの)を示します。

      ../../../../_images/test_vision_111.png

Mech-Vizから経路計画を取得

パラメータの設定

  1. GX Works3 ソフトウェア画面で、「MM_Get_VisData」に入力された「Camera_User.Start_Empty」ラベルを右クリックし、 デバッグ ‣ 現在値変更 を順番にクリックします。それを1に変更し、前回で取得されたビジョン結果が削除されたら、このラベルをリセットします。

    ../../../../_images/test_viz_11.png

    ウォッチ2 の画面で、ビジョン結果が削除された後の「Target_Pose」値を確認します。

    ../../../../_images/test_viz_21.png
  2. MM_Set_Branch機能ブロックをクリックし、以下のポート値を設定します。

    1. Branch_Nameのポート値を 1 に設定し、分岐番号が1であることを意味します。

    2. Branch_Exit_Portのポート値を 1 に設定し、Mech-Vizプロジェクトが分岐1に実行したときに出口1から実行を続けることを意味します。

    ../../../../_images/test_viz_31.png
  3. MM_Get_VizDataをクリックしてRequest_Pose_Typeのポート値を 1 に設定し、Mech-Vizから返されたデータ形式が関節角度であることを意味します。

    ../../../../_images/test_viz_41.png

Mech-Vizプロジェクトの実行

  1. GX Works3 ソフトウェア画面で、「MM_Start_Viz」に入力された「Camera_User.Start_Viz」ラベルを右クリックし、 デバッグ ‣ 現在値変更 を順番にクリックします。それを1に変更し、Mech-Vizプロジェクトが実行されたら、このラベルをリセットします。

    ../../../../_images/test_viz_51.png
  2. ウォッチ1 の画面で、STATUS_CODEの返された値を確認します。

    ../../../../_images/test_viz_61.png

    注意

    返された値が 2103 の場合、Mech-Vizプロジェクトが正常に実行されたことを意味します。返された値が20XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

Mech-Vizの分岐を選択

  1. GX Works3 ソフトウェア画面で、「MM_Set_Branch」に入力された「Camera_User.Set_Branch」ラベルを右クリックし、 デバッグ ‣ 現在値変更 を順番にクリックします。それを1に変更し、Mech-Vizの分岐出口が選択されたら、このラベルをリセットします。

    ../../../../_images/test_viz_71.png
  2. ウォッチ1 の画面で、STATUS_CODEの返された値を確認します。

    ../../../../_images/test_viz_81.png

    注意

    返された値が 2105 の場合、分岐が正常に設定されたことを意味します。返された値が20XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

Mech-Vizの経路計画を取得

  1. GX Works3 ソフトウェア画面で、「MM_Get_VizData」に入力された「Camera_User.Get_VizData」ラベルを右クリックし、 デバッグ ‣ 現在値変更 を順番にクリックします。それを1に変更し、Mech-Vizによって計画した経路が取得されたら、このラベルをリセットします。

    ../../../../_images/test_viz_91.png
  2. ウォッチ1 の画面で、STATUS_CODEの返された値を確認します。

    ../../../../_images/test_viz_10.png

    注意

    返された値が 2100 の場合、計画した経路が正常に取得されたことを意味します。返された値が20XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

  3. MM_Get_VizDataをクリックし、Send_Pose_Numの値が10の場合、このサンプルで10グループの関節角度データが取得されたことを示します。

    ../../../../_images/test_viz_111.png
  4. ウォッチ2 の画面で、Target_Poseの返された値(値は実際の値に10000をかけたもの)を確認します。

    ../../../../_images/test_viz_12.png