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

プレリリース版のマニュアルを表示しています。安定リリース版(星マーク付き)のマニュアルを表示するには、ページの右上隅にあるバージョン番号をクリックして切り替えてください。

オムロンPLCとMech-MindビジョンシステムとのEtherNet/IP通信は、以下のような流れで行われます。

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

ハードウェア

  • EIP通信機能に対応可能なオムロンPLCは以下の通りです。

    • CJ2H-CPU6□-EIP、CJ2M-CPU3□など、EIP機能を内蔵したCPU本体。

    • CJ1W-EIP21またはCS1W-EIP21通信モジュール(EtherNet/IP Unit)のインストールに対応可能なその他のCPU。

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

  • 電源モジュール。

  • Mech-MindのIPCに搭載されたインターフェースカード:HMS IXXAT INpact EIP Slave PCIe。

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

本サンプルは、CJ2H CPU65-EIPで、UNIT NO.を0、NODE NO.を15(16進数、10進数は21)に設定したものを使用します。

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

hardware connection

ソフトウェア

  • オムロンPLCプログラミングソフトウェアCX-Programmer 9.70。

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

  • Ixxat VCI(ネットワークカード)ドライバー

  • ネットワークカードのIPアドレスを設定するための HMS ipconfig

  • Mech-Mind EDS ファイル:005A002B003A0100.EDS。 EDSファイルはMech-VisionとMech-Vizソフトウェアのインストールディレクトリにある Mech-Center/Robot_Interface/EthernetIP フォルダに格納されています。

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

    • AUTOEXEC.OBJ(プログラム)。

    • PROGRAMS.IDX(プログラムインデックス)。

    • SYMBOLS.SYM(符号)。

    • COMMENTS.CMT(プログラムコメント)。

    サンプルプログラムファイルは、Mech-VisionとMech-Vizソフトウェアのインストールディレクトリにある Mech-Center/Robot_Interface/EthernetIP/Programming Samples/Omron CX-Programmer CJ2H PLC EthernetIP フォルダに格納されています。このファイルをコピーし、CX-PROGRAMMERがインストールされているコンピュータへ貼り付けてください。

IPCの設定と通信の開始

IPCのPCI-eカードとドライバソフトウェアの確認

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

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

    device manager

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

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

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

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

    2. 通信方式 で、 インターフェースサービスのタイプ標準インターフェース に、 通信プロトコルETHERNET IP に設定します。

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

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

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

    interface service

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

  1. ネットワークカードのIPアドレスを設定するために、HMSのIPconfigというソフトウェアを使用する必要があります。IpconfigがインストールされているIPCのLANポートと、IXXAT INpactネットワークカードのLANポートをLANケーブルで接続します。

    ネットワークカードをセットアップし、通信ができた後、一時使用LANケーブルを撤去することが可能です。
  2. HMS IPconfigソフトウェアを起動し、スキャンをクリックし、DHCPのチェックを外して、ボードのIPアドレスとサブネットマスクを設定します。PLCで設定されたIPアドレスと同じなIPアドレスを設定し、 適用 をクリックして確認した上で、ソフトウェアを終了します。

    set ip

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

PLCプロジェクトの作成

  1. CX-Programmerソフトウェアを起動し、ツールバーの 新規作成 をクリックすると PLC機種変更 の画面が表示されます。 PLC種類 を実際に合わせて選択し、 設定 をクリックします。すると、 PLC種類の設定 の画面が表示されます。 CPU形式 を実際に合わせて選択し、 OK をクリックして保存します。

    create plc 1
  2. ツールバーの 保存 をクリックし、表示される画面でCX-Programmerプロジェクトファイルの保存パスを選択し、ファイル名を記入してから 保存 をクリックします。

    create plc 2
  3. ツールバーの オンライン をクリックし、表示される画面で はい をクリックします。

    create plc 3
  4. ツールバーの プログラミングモード をクリックし、PLCを停止できるかどうかがポップアップで表示されるので、停止しても問題なければ はい をクリックします。

    create plc 4
    create plc 5
  5. プロジェクトの IOテーブル・ユニット設定  開く をクリックすると、 PLCのI/Oテーブル の画面が表示されます。

    create plc 6
  6. PLCのI/Oテーブル 画面の 内蔵ポート/インナーボード(この例では) を展開します。CJ2B-EIP21(CJ2M 用内蔵 EtherNet/IP ポート) をダブルクリックして CJ2B-EIP21パラメータの編集 画面に入ります。次に、 TCP/IP タブでIPアドレスとサブネットマスクを設定し、 転送[パソコン→ユニット] をクリックします。表示される画面で はい をクリックします。

    create plc 7
  7. 正常に転送できたら、 OK をクリックします。

    create plc 8
  8. ユニット再起動のポップアップウィンドウが表示されますので、 はい をクリックします。再起動後、 OK をクリックして CJ2B-EIP21 パラメータの編集 画面に戻り、 OK をクリックします。

    create plc 9
    create plc 10

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

  1. PLCのI/Oテーブル 画面で、右クリックで CJ2B-EIP21  専用ツールを起動  設定を引き継いで起動 を選択します。

    eds file 1
  2. 表示される 専用ツール選択[CJ2B-EIP21] 画面で Network Configurator を選択して OK をクリックします。

    eds file 14
  3. 表示される Untitled - Network Configurator 画面では、ツールバーの EDS インストール をクリックすると EDSファイルのインストール 画面が表示されます。

    eds file 2
  4. 対応するEDSファイルを選択してから 開く をクリックします。

    eds file 3
    EDSファイルはMech-MindのIPCから取得できます。EDSファイルはMech-VisionとMech-Vizソフトウェアのインストールディレクトリにある Mech-Center/Robot_Interface/EthernetIP フォルダに格納されています。ETHERNETIP フォルダをコピーし、CX-PROGRAMMERがインストールされているIPCに貼り付けます。その後、このファイルを選択して 開く をクリックします。
  5. Untitled - Network Configurator 画面では、 EtherNet/IP HardWare/Vendor/HMS Industrial Networks AB/Generic Device を展開し、Ixxat INpact EtherNet/IP™ を右クリックして このデバイスをネットワークに追加 をクリックします。

    eds file 4
  6. EtherNet/Vendor/OMRON Corporation/Communications Adapter/CJ2B-EIP21 を同様の方法で展開し、 Rev 3 を右クリックして このデバイスをネットワークに追加 をクリックします。

    eds file 5
  7. EtherNet/IP_1 画面では、Mech-Mindのデバイスアイコンを右クリックし、 ノードアドレスの変更 を選択し、ビジョンデバイスのIPを192.168.1.10に変更します。CJ2B-EIP21のデバイスアイコンを右クリックし、 ノードアドレスの変更 を選択し、PLCマスターのIPを192.168.1.21に変更します。ここでは、IPはI/Oテーブルに設定されたものと同じで、両者が同じネットワークセグメントにある必要があります。

    eds file 6
    eds file 15
    eds file 16
  8. EtherNet/IP_1 画面では、ビジョンデバイスアイコンを右クリックし、 プロパティ をクリックします。

    eds file 7
  9. プロパティ画面では、 I/O情報 をクリックし、入力/出力のバイトサイズを確認して記録し、 閉じる をクリックします。

    eds file 8
  10. EtherNet/IP_1 画面では、CJ2B-EIP21アイコンをダブルクリックすると デバイスパラメータの編集 画面が表示されます。 タブセット オプションを選択し、INとOUT第1ソフトコンポーネントをそれぞれ設定します(この例では第1ソフトコンポーネントのアドレス割り当てを示します)。登録完了後に デバイスパラメータの編集 画面に戻ります。

    eds file 9
  11. デバイスパラメータの編集 画面では、INpact EtherNet/IPデバイスを選択し、クリックして下に移動し、登録画面でこのデバイスをダブルクリックします。すると、 Ixxat INpact EtherNet/IP™ Edit Connection 画面が表示されます。

    eds file 10
  12. Ixxat INpact EtherNet/IP™へのコネクション割付 画面では、マスターとスレーブのIO信号を下図のように設定します。設定後、 登録 をクリックしてから 閉じる をクリックします。

    eds file 11
  13. デバイスパラメータの編集 画面に戻り、下図のような情報が表示された場合、 OK をクリックします。

    eds file 12
  14. ビジョンスレーブの関連付けが完了すると、下図のようにアイコンが表示されます。

    eds file 13

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

  1. Network Configurator 画面では、 接続 をクリックすると インターフェースの設定 が表示されます。 OK をクリックすると 接続ネットワークポートの選択 画面が表示されます。

    download configuration 1
  2. 接続ネットワークポートの選択 画面では、 BackPlane/#0 CJ2B-EIP21/TCP:2 を展開し、 OK をクリックすると 接続ネットワークの選択 画面が表示されます。 既存のネットワーク/EtherN IP_1 を選択し、 OK をクリックします。

    download configuration 2
    download configuration 3
  3. Network Configurator 画面では、 ネットワークにダウンロード をクリックし、表示される画面で はい をクリックします。

    download configuration 4
  4. 正常にダウンロードできたら、 OK をクリックします。

    download configuration 5

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

  1. Untitled-Network Configurator 画面では、メニューバーの デバイス  モニタ をクリックします。

    establish communication 1
  2. 表示される Monitor Device 画面で コネクション をクリックします。正常に接続できた場合は、接続状態表示が青色で表示されます。

    establish communication 2
  3. Mech-Visionのメインインターフェイスで、接続ができたら、ログバーの コンソール タブに、 ETHERNET IPコントローラへの接続に成功しました というメッセージが表示されます 。 このようなログがない場合は、以下の設定が正しいかどうか確認します。

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

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

    3. PLCは、ダウンロードされ、PLCのハードウェアにインポートされているかどうか。

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

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

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

  1. CX-Programmerに戻り、「新規PLC1[CJ2H]オフライン \-→ 転送 \-→ ファイルから読出」を選択すると、 ファイルから読み出し の画面が表示されます。

    import file 1
  2. プログラムプログラムインデックス変数テーブルプログラムコメント にチェックを入れます。プログラム の後ろの をクリックし、対応するOBJファイルを選択してから 開く をクリックします。同じディレクトリに他のファイルがある場合は、自動的にファイルが記入され、最後に OK をクリックします。

    import file 2
    import file 3
  3. すると、警告ウィンドウが表示されます。読み込みをすると、保存されたすべてのプログラム、符号やコメントが削除されるので、必ず新規作成されたプロジェクトを使用して読み込みます。 OK をクリックし、サンプルプロジェクトをインポートします。

    import file 4

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

  1. CX-Programmerでは、 新規PLC1[CJ2H]オフライン を右クリックして オンライン接続 をクリックし、プロジェクトをオンライン状態に変換します。

    build plc 1
  2. 同様に、 新規PLC1[CJ2H]オフライン を右クリックし、 転送  パソコン→PLC をクリックします。

    build plc 2
  3. 転送オプション 画面が表示されますので、 OK をクリックします。

    build plc 3
  4. 周辺機器が安全であることを確認した上で、プロンプトウィンドウで はい をクリックします。プロジェクトのダウンロードが成功したら、 OK をクリックします。

    build plc 4
    build plc 5

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

ここでは、サンプルプログラム機能ブロックを使用して、Mech-Visionプロジェクトを実行してビジョンポイントを取得する方法、Mech-Viz プロジェクトを実行して計画した経路を取得する方法について説明します。IOモジュールの機能説明については、 キーエンスPLCとMech-MindシステムとのEtherNet/IP通信コマンド説明 をご参照ください。

事前準備

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

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

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

    preparation 4

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

パラメータの設定

  1. CX-Programmerに戻って、プロジェクトツリーでプログラムを展開し、 CameraTest プログラムをダブルクリックし、ToCamera.COM_ENABLEの状態を常にONに設定します。

    test vision 1
  2. Mech-Visionプロジェクト番号(つまり、Mech-Visionプロジェクトリストでプロジェクト名の前にある番号)を設定します。VISION_PROJ_NUMの値を1に設定すると、プロジェクト番号1のMech-Visionプロジェクトが実行されます。

  3. Mech-Visionプロジェクトから返される位置姿勢の数を設定します。REQ_POSE_NUMの値を0に設定すると、Mech-Visionからすべての位置姿勢の結果が返されます。

    test vision 2

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

  1. 機能ブロックMM_Start_Visの入力変数Start_Visをダブルクリックし、表示される 新しい値を設定 画面で変数の値を1に設定し、 設定 をクリックしてMech-Visionプロジェクトを実行させ、カメラが撮影を開始します。その後、同様の方法でこの変数の値を0にリセットします。

    test vision 3
  2. ウォッチウィンドウ切替 のアイコンをクリックし、 名称 の列からFromCamera.STATUS_CODEを検索し、その返された値を確認します。1102の場合、プロジェクトが正常に実行されたことを意味します。返された値が10XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。

    test vision 4
    test vision 5

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

  1. FromCamera.STATUS_CODEが1102を返したら、機能ブロックMM_Get_VisDataの入力変数Get_VisDataをダブルクリックします。表示される 新しい値を設定 画面で変数の値を1に設定し、 設定 をクリックして位置姿勢の取得を開始します。その後、同様の方法でこの変数の値を0にリセットします。下図に示すように、SendPoseNumの値が3の場合、3つの位置姿勢が取得されたことを意味します。

    test vision 6
    test vision 7
  2. プロジェクトツリーで、 D をダブルクリックすると、 PLCメモリ*の画面が表示されます。 *D メモリテーブルをダブルクリックし、前頭チャネルを 10000 に設定し、データの表示形式を 符号付き10進数ダブルワード に設定してから、 モニタ をクリックします。この例は、ビジョンソフトウェアから送信された3セットの位置姿勢データ(送信値を1万倍に拡大したもの)を受信します。

    test vision 8

Mech-Visionからビジョン結果を自動的に取得

上記では、Mech-Visionからビジョン結果を手動で取得します。下図の各プログラムの接続を参照することで、Mech-Visionからビジョン結果を自動的に取得することができます。

get vis results automatically 1
get vis results automatically 2
get vis results automatically 3
get vis results automatically 4

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

パラメータの設定

  1. CX-Programmer画面に戻り、機能ブロック MM_Get_VisData の入力変数 Start_Empty をダブルクリックします。すると、 新しい値を設定 の画面が表示されます。変数の値を 1 に変更し、 設定 をクリックして前回に取得したビジョン結果を削除します。その後、同様の方法でこの変数の値を 0 にリセットします。

    test viz 1
    test viz 2
  2. Branch_Nameの値を 1 、Branch_Exit_Portの値を 1 と設定すると、 Mech-Vizプロジェクトは分岐1まで実行する場合、出口1に沿って実行し続けます。

    test viz 3
  3. Request_Pose_Typeの値を 1 、Mech-Vizから返されるデータのタイプを関節角度に設定します。

    test viz 4

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

  1. モジュール「MM_Start_Viz」で、入力変数 Start_Vizダブルクリックして、Mech-Vizプロジェクトを実行します。

    test viz 5
  2. FromCamera.STATUS_CODEからの戻り値を確認し、2103になった場合、プロジェクトの実行ができたと表しています。一方、戻り値は20XXになった場合、 標準インターフェースエラーコード一覧とトラブルシューティング をご参照ください。

    test viz 6

Mech-Vizの分岐出口を選択

  1. 機能ロック「M_Set_Branch」で、入力変数 Set_Branch をダブルクリックし、Mech-Viz分岐出口を選択します。

    test viz 7
  2. FromCamera.STATUS_CODEの現在値を確認し、2105になった場合、分岐の設定ができたことを示します。一方、戻り値は20XXになった場合、 標準インターフェースエラーコード一覧とトラブルシューティング をご参照ください。

    test viz 8

Mech-Vizの経路計画を取得

  1. 機能ロック「MM_Set_Branch」で、入力変数 Get_VizData をダブルクリックし、Mech-Vizの計画経路を取得します。

    test viz 9
  2. FromCamera.STATUS_CODEの現在値を確認し、2100になった場合、Mech-Vizの計画経路を取得することができたと示します。一方、現在値は20XXになった場合、 標準インターフェースエラーコード一覧とトラブルシューティング をご参照ください。結果は下図のように、SendPoseNumの値が10であるため、10グループの関節角度データを取得しました。関節角度のデータはTargetPoseに格納されます。

    test viz 10
  3. PLCメモリ 画面に戻り、10セットの位置姿勢データ(送信値を1万倍に拡大したもの)を下図のようになります。

    test viz 11

Mech-Vizから計画経路を自動的に取得

上記では、Mech-Vizから経路計画を手動で取得します。下図の各プログラムの接続を参照することで、Mech-Vizから経路計画を自動的に取得することができます。

get viz results automatically 1
get viz results automatically 2
get viz results automatically 3
get viz results automatically 4
get viz results automatically 5
get viz results automatically 6

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

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