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

現在ご覧いただいているのは未リリースのバージョンです(V2.1.0)。異なるバージョンを参照する場合は、画面右上のボタンから切り替えが可能です。

■ ご利用中のバージョンが分からない場合はお気軽にサポート窓口までご連絡ください。

以下では、三菱電機㈱のQシリーズPLC(Ethernet内蔵)とMech-MindビジョンシステムとのModbus TCP通信を行うために必要な設定について説明します。

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

ハードウェア

  • PLC:MITSUBISHI QCPU(Q mode)Q03UDV。

  • パワーモジュール:三菱 Q61P、基本ベースユニット:三菱 Q33B。

  • Mech-MindのIPCまたはPC。

  • USB Type-A - USB Mini-B 変換ケーブル。

  • LANケーブル。

ソフトウェア

  • 三菱PLCプログラミングソフトウェア:GX Works2。

  • 2.0.0バージョン以降のMech-VisionとMech-Vizソフトウェア。

  • PLCサンプルプログラムファイル:

    • MODBUS_TCP_Protocol Configuration.tpc(Modbus TCP通信の構築のため)。

    • MODBUS TCP_Q_Simple_Label.GXW(様々なインターフェースコマンドの実装のため)。

    サンプルファイルは、Mech-VisionとMech-Vizソフトウェアのインストールディレクトリにある Communication Component/Robot_Interface/Modbus TCP/MITSUBISHI Q serial フォルダに格納されています。このファイルをコピーして、GX Works2がインストールされているPCに貼り付ける必要があります。

IPCやPCではファイアウォールソフトを無効にする必要があります。

IPCの設定と通信の開始

IPCまたはPCのIPv4アドレスを設定

  1. コントロールパネルを開き、 ネットワークの状態とタスクの表示 をクリックします。

    set ip1
  2. ネットワークと共有センターの画面で、 アダプターの設定の変更 をクリックします。

    set ip2
  3. ネットワーク接続画面で、PLCにネットワーク接続されている イーサネット アダプターをダブルクリックし、表示される イーサネットの状態 画面で プロパティ をクリックします。

    set ip3
  4. イーサネットのプロパティ 画面の ネットワーク タブで、 インターネット プロトコル バージョン4(TCP/IPv4) をダブルクリックします。

    set ip4
  5. インターネットプロトコルバージョン4(TCP/IPv4)のプロパティ 画面で、固定IPアドレス、サブネットマスク、デフォルトゲートウェイ(PLCと同じネットワークセグメント内にある必要があります)を下図のように設定します。

    set ip5

「ロボット通信設定」を実行

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

  2. ロボット通信設定 の画面で以下の設定を行います。

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

    2. 通信方式 の画面で、 インターフェースサービスのタイプ標準インターフェース に、 通信プロトコルMODBUS TCP Slave に、 バイトオーダーCDAB に選択し、スレーブID255 に設定します。

    3. ホストIPアドレスの後のポート番号を 2000 に設定します。

    4. (オプション) ソリューションを開くとインターフェースサービスを自動的に起動 にチェックを入れることを推奨します。

    5. 適用をクリックします。

      modbus tcp q series
  3. Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認します。

    interface service

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

PLCプロジェクトの作成

  1. GX Works2ソフトウェアを起動し、左側のツールバーの 新規作成 をクリックします。新規作成の画面で、シリーズを QCPU(Qモード) に、機種を Q03UDV に、プロジェクト種別を シンプルプロジェクト に設定します。 ラベルを使用する にチェックを入れ、プログラム言語を ラダー に設定して、 OK をクリックします。

    create plc 1
  2. ナビゲーション  接続先  現在の接続先 で、 Connection1 をダブルクリックします。

    create plc 2
  3. すると、 接続先指定 Connection1 の画面が表示されます。パソコン側に シリアルUSB を選択し、CPUモードを QCPU(Qモード) に設定し、 シーケンサ直結設定 をクリックします。表示される画面で USB を選択して はい をクリックします。次に、 接続先指定 Connection1 の画面で 通信テスト をクリックします。 「Q03UDVCPUとの接続に成功しました」 というメッセージが表示されれば、パソコンのGX Works2ソフトウェアはハードウェアPLCと正常に通信しています。「接続先指定 Connection1」の画面で OK をクリックしてGX Works2ソフトウェア画面に戻ります。

    create plc 3
  4. GX Works2ソフトウェア画面で、メニューバーの オンライン をクリックし、 リモート操作 をクリックします。

    create plc 4
  5. すると、 リモート操作 画面が表示されます。「操作」で stop を選択し、 実行 をクリックして STOP操作を実行しますか? というメッセージが表示され、 はい をクリックします。すると、 STOP操作を完了しました。 というメッセージが表示され、 OK をクリックします。その後、「リモート操作」画面で 閉じる をクリックしてGX Works2のソフトウェア画面に戻ります。

    create plc 5

Modbus TCPの通信パラメータを設定

  1. ナビゲーション  プロジェクト  パラメータPCパラメータ をダブルクリックします。

    configure plc 1
  2. すると、 Qパラメータ設定 画面で 内蔵EtherNetポート設定 タブに切り替え、IPアドレス設定のエリアでPLCのIPアドレスを産業用PCのIPアドレス(192.168.1.21など)と同じネットワークセグメントにあるように設定し、サブネットマスクを255.255.255.0、デフォルトルータIPアドレスを192.168.1.0に設定します。 オープン設定 をクリックすると、 内蔵EtherNetポートオープン設定 の画面が表示されます。

    configure plc 2
  3. 内蔵EtherNetポートオープン設定 画面で、1行目のパラメータを下図のように設定し、 設定終了 をクリックします。その後、 Qパラメータ設定 画面で 設定終了 をクリックしてGX Works2のソフトウェア画面に戻ります。

    configure plc 3
  4. GX Works2 のソフトウェア画面で、メニューバーの ツール通信プロトコル支援機能  内蔵EtherNet を選択して、 通信プロトコル支援機能-内蔵EtherNet 画面に入ります。

    configure plc 4
  5. 通信プロトコル支援機能-内蔵EtherNet 画面で 開く アイコンをクリックし、ローカルから MODBUS_TCP_Protocol Configuration.tpc というModbus TCP通信の設定ファイルを選択して 開く をクリックします。

    configure plc 5
  6. 通信プロトコル支援機能-内蔵EtherNet の画面で ユニット書込 のアイコンをクリックします。

    configure plc 6
  7. 表示される ユニット書込 画面で 実行 をクリックします。対象メモリには既にプロトコル設定ファイルが存在します。上書きしてもよろしいですか? が表示された場合、はい をクリックします。

    configure plc 7
  8. 対象メモリへの書込みが完了しました が表示された場合、 OK をクリックします。

    configure plc 8

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

Mech-Mindサンプルプログラムファイルをインポートしてテストするために、新しいPLCプロジェクトを使用する必要があります。既存のPLCプロジェクトに追加する場合は、新しいプロジェクトを作成して、インポートとテストを行ってから、既存のプロジェクトに移転することをお勧めします。
  1. GX Works2 ソフトウェア画面で、メニューバーの プロジェクト  ライブラリ操作  ライブラリをプロジェクトに取得 を順番に選択します。

    import file 1
  2. すると、 ライブラリをプロジェクトに取得 の画面が表示されます。ライブラリ一覧を ライブラリ(プロジェクト)を選択 に選択し、 参照 をクリックし、ローカルから MODBUS TCP_Q_Simple_Label.GXW ファイルを選択して 開く をクリックします。

    import file 2
  3. ライブラリをプロジェクトに取得 の画面で FB一覧更新 をクリックします。FB選択 エリアですべての項目を選択して OK をクリックします。

    import file 3
  4. 上書きしますか のメッセージが表示され、 はい をクリックします。

    import file 4
  5. GX Works2ソフトウェア画面に戻り、メニューバーで ツール  自動割付デバイス設定 をクリックします。

    import file 5
  6. すると、 自動割付デバイス設定 の画面が表示されます。ワードデバイスのDとビットデバイスのMの割付選択を変更して OK をクリックします。

    import file 6
  7. プロンプト画面で はい をクリックし、GX Works2のソフトウェア画面に戻ります。

    import file 7

PLCプログラムの構築とダウンロード

  1. GX Works2ソフトウェア画面で、左側にある「プログラム設定」を展開し、 実行タイプなし の下の MAINスキャンプログラム にドラッグし、それを展開して プログラム本体 をダブルクリックします。

    download configuration 1
  2. プログラム部品/FB管理 を展開し、 MM_MBTCPMAIN/0行目 にドラッグします。FBインスタンス名入力 の画面が表示されますので、ここでは初期値を使用して OK をクリックします。

    download configuration 2
  3. ツールバーの 横線入力 をクリックすると下図のような画面が表示されます。 OK をクリックすると、左のバスバーが機能ブロック入力EN1ポートに接続されます。

    download configuration 3
  4. ツールバーの 変換+全コンパイル をクリックします。

    download configuration 4
  5. 表示される 注意 画面で はい をクリックします。

    download configuration 5
  6. ツールバーの PC書込 をクリックします。

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

    download configuration 7
  8. すると、下図のようなポップアップが表示され、 はい をクリックします。

    download configuration 8
  9. 表示される 上書き 画面で 全てはい をクリックします。

    download configuration 9
  10. プログレスバーの下のテキストボックスに PLC書込:終了 と表示されたら、閉じる をクリックします。

    download configuration 10
  11. 下図のようなメッセージが表示され、安全を確認した上で はい をクリックし、 オンラインデータ操作 画面に戻って 閉じる をクリックします。その後、PLC CPUユニットの電源を切り、再起動します。

    download configuration 11

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

  1. GX Works2ソフトウェア画面で、ツールバーの モニタ開始(全ウィンドウ) をクリックします。

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

    establish communication 2
  3. MAIN/0行目 にあるMM_MBTCP機能ブロックをダブルクリックし、プログラムを423行目までスクロールします。正常に接続したら、ハートビート信号モニタ値が連続的に変化します。

    establish communication 3
  4. Mech-Visionのメイン画面では、正常に接続された場合は、ログバーの コンソール タブに クライアントが接続されています が表示されます。 このようなログがない場合は、以下の設定が正しいかどうか確認してください。

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

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

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

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

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

事前準備

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

  2. Mech-Vizプロジェクトを作成します。Mech-Vizのリソースパネルでプロジェクトを右クリックし、 自動的に読み込む にチェックを入れます。

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

    preparation 4

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

パラメータ設定

  1. GX Works2ソフトウェア画面で、 ツールバーモニタ(書込モード) をクリックします。

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

    test vision 2
  3. プログラム部品/FB管理 を展開し、MM_Start_Visを MAIN/8行目 にドラッグします。下図にような画面が表示されますので、ここでは初期値を使用し、 OK をクリックします。

    test vision 3
  4. ツールバーの 横線入力 をクリックすると下図のような画面が表示されます。 OK をクリックすると、左バスバーが機能ブロック入力EN1ポートに接続されます。

    test vision 4
  5. Mech-Visionプロジェクト番号(つまり、Mech-Visionプロジェクトリストでプロジェクト名の前にある番号)を設定します。Vision_Proj_Numのポート値を 1 に設定し、プロジェクト番号1のMech-Visionプロジェクトを実行することを意味します。

  6. Mech-Visionプロジェクトから返される位置姿勢の数を設定します。Req_Pose_Numのポート値を 0 に設定し、Mech-Visionがすべてのビジョン結果を返すことを意味します。

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

  8. MM_Start_Vis機能ブロックの入力側「Start_Vision」ポートの同行左端をダブルクリックし、ノーマリーオープン接点を選択し、グローバルラベル Camera_User.Start_Vis を入力して OK をクリックすると、左バスバーとStart_Visionポートが接続します。

    test vision 5
    test vision 6
  9. MM_Get_VisDataMAIN/8行目 にドラッグすると、 FBインスタンス名入力 の画面が表示されますので、ここでは初期値を使用し、 OK をクリックします。ツールバーの 横線入力 をクリックして OK をクリックすると、左バスバーが機能ブロック入力EN1ポートに接続されます。

    test vision 7
  10. Mech-Visionプロジェクト番号(つまり、Mech-Visionプロジェクトリストでプロジェクト名の前にある番号)を設定します。Vision_Proj_Numのポート値を 1 に設定し、プロジェクト番号1の Mech-Visionプロジェクトを実行することを意味します。

  11. 「MM_Get_VisData」機能ブロックの入力側「Get_VisData」ポートの同行左端をダブルクリックし、ノーマリーオープン接点を選択し、グローバルラベル Camera_User.Get_VisData を入力して OK をクリックすると、「Get_VisData」ポートに接続されます。

    test vision 8
  12. ツールバーの 変換+コンパイル+RUN中書込 アイコンをクリックします。

    test vision 9
  13. 表示される 変換+コンパイル+RUN中書込実行確認 の画面で OK をクリックします。

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

    test vision 11
  15. OK をクリックすると、PLCへの最新プログラムの書込が完了します。

    test vision 12

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

  1. MAINメインプログラムの画面で、MM_Start_Vis機能ブロックの入力側「Camera_User.Start_Vis」変数を右クリックし、 デバッグ  現在値変更 を選択します。

    test vision 13
  2. 下図のような画面がポップアップするので、それをONに変更し(このウィンドウは開いたまま継続できます)、Mech-Visionプロジェクトをトリガーして実行し、この変数をリセットします。

    test vision 14
  3. プログラムの空白場所を右クリックし、 ウォッチウィンドウへ登録 を選択し、グローバルラベル MM_Camera.Status_Code を入力します。返された値が 1102 の場合、プロジェクトが正常に実行されたことを意味します。返された値が10XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

    test vision 15

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

  1. MM_Get_VisData機能ブロックの入力側「Camera_User.Get_VisData」変数を選択し、それをONに変更してビジョンポイントを取得してから、この変数をリセットします。

    test vision 16
  2. ウォッチ 画面で、グローバルラベルMM_Camera.Status_Codeを入力すると、返された値が 1100 になります。返された値が10XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。グローバルラベル MM_Camera.Target_Pose を入力すると、返された値がビジョン位置姿勢のデータとなります。

    test vision 17

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

パラメータ設定

  1. MM_Start_Emptyを MAIN/54行目 にドラッグすると、 FBインスタンス名入力 画面が表示されますので、ここでは初期値を使用して OK をクリックします。ツールバーの 横線入力 をクリックし、左バスバーと機能ブロック入力EN1ポートが接続します。

    test viz 1
  2. MM_Start_Vis機能ブロックの入力側「Start_Empty」ポートの同行左端をダブルクリックし、ノーマリーオープン接点を選択し、グローバルラベルCamera_User.Start_Emptyを入力して OK をクリックすると、Start_Emptyポートに接続されます。

    test viz 2
  3. MM_Start_Viz、MM_Set_Branch、MM_Get_VizDataをそれぞれ MAIN/54行目 にドラッグすると、 FBインスタンス名入力 の画面が表示されますので、ここでは初期値を使用して OK をクリックします。ツールバーの 横線入力 をクリックし、左バスバーと機能ブロック入力EN1ポートが接続します。

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

  5. MM_Start_Viz機能ブロックの入力側「EN1」ポートの同行左端をダブルクリックし、グローバルラベル Camera_User.Get_VizData を入力し、ノーマリーオープン接点を選択して OK をクリックすると、左バスバーがEN1ポートに接続されます。

  6. MM_Start_Viz機能ブロックの入力側「Start_Viz」ポートの同行左端をダブルクリックし、グローバルラベル Camera_User.Start_Viz を入力し、ノーマリーオープン接点を選択して OK をクリックすると、左バスバーがStart_Vizポートに接続されます。

    test viz 6
  7. Mech-Vizプロジェクトの分岐パラメータを設定します。Branch_Name、Branch_Exit_Portのポート値をそれぞれ1に設定すると、Mech-Vizプロジェクトが分岐1に実行したときに出口1から実行を続けることが指定されます。グローバルラベル Camera_User.Set_Branch を入力し、ノーマリーオープン接点を選択して OK をクリックすると、Set_Branchポートに接続されます。

    test viz 7
  8. 取得する経路上の経路点の位置姿勢のタイプを設定します。Request_Pose_Typeのポート値を1に設定すると、Mech-Vizからのデータが関節角度の形式で返されます。

    ここで Request_Pose_Type と関数MM_Start_Vis、MM_Start_Vizの Robot_Pose_Type が、グローバルラベル「MM_Camera」の Pose_Type ラベルに対応していますが、設定する値が異なると同時に有効ではありません。
  9. MM_Get_VizData機能ブロックの入力側「EN1」ポートの同行左端をダブルクリックし、グローバルラベル Camera_User.Start_Viz を入力し、ノーマリーオープン接点を選択して OK をクリックすると、左バスバーがEN1ポートに接続されます。

  10. MM_Get_VizData機能ブロックの入力側「Get_VizData」ポートの同行左端をダブルクリックし、グローバルラベル Camera_User.Get_VizData を入力し、ノーマリーオープン接点を選択して OK をクリックすると、左バスバーがGet_VizDataポートに接続されます。

    test viz 8
  11. ツールバーの 変換+コンパイル+RUN中書込 アイコンをクリックします。

    test viz 9
  12. 表示される 変換+コンパイル+RUN中書込実行確認 の画面で OK をクリックします。

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

    test viz 11
  14. OK をクリックすると、PLCへの最新プログラムの書込が完了します。

    test viz 12

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

  1. MAINメインプログラムの画面で、MM_Start_Empty機能ブロックの入力側「Camera_User.Start_Empty」ポートを右クリックし、 デバッグ  現在値変更 を選択します。それをONに変更し、前回取得したビジョン結果がクリアされたら、この変数をリセットします。

    test viz 13

    ウォッチ 画面で、グローバルラベル「MM_Camera.Status_Code」を入力すると、返された値が 3103 になり、グローバルラベル「Camera_User.Target Pose、Camera_User.Target LabelおよびCamera_User.Target Tool ID」の変数値がクリアされます。

    test viz 14
  2. MM_Start_Viz機能ブロック入力側の「Camera_User.Start_Viz」変数を選択してONに変更し、Mech-Vizプロジェクトを実行してからこの変数をリセットします。

    test viz 15
  3. ウォッチ 画面で、グローバルラベ「MM_Camera.Status_Code」を入力します。返された値が 2103 の場合、プロジェクトが正常に実行されたことを意味します。返された値が20XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

    test viz 16

Mech-Vizの分岐出口を選択

  1. MM_Set_Branch機能ブロック入力側の「Camera_User.Set_Branch」変数を選択してONに変更し、Mech-Vizの分岐を選択してからこの変数をリセットします。

    test viz 17
  2. ウォッチ 画面で、グローバルラベル「MM_Camera.Status_Code」を入力します。返された値が 2105 の場合、分岐が正常に設定されたことを意味します。返された値が20XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

    test viz 18

Mech-Vizによって計画された経路を取得

  1. MM_Get_VizData機能ブロック入力側の「Camera_User.Get_VizData」変数を選択してONに変更し、Mech-Vizの計画経路を取得してからこの変数をリセットします。

    test viz 19
  2. ウォッチ 画面で、グローバルラベル「MM_Camera.Status_Code」を入力します。返された値が 2100 の場合、計画した経路が正常に取得されたことを意味します。返された値が20XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。グローバルラベル「MM_Camera.Target_Pose」を入力すると、返された値がMech-Vizによって計画された経路の関節角度データとなります。

    test viz 20

Mech-Mindは、お客様のプライバシーを重視しています

このサイトでは最高の体験を提供するために Cookie を使用しています。サイトの閲覧を続ける場合、Cookie の使用に同意したことになります。「拒否する」を選択すると、このサイトを訪れた際に追跡や記憶が行われないように単独の Cookie が使用されます。