通信設定とサンプルプログラムの使用
以下では、三菱iQ-RシリーズPLC(外部モジュールRJ71EIP91搭載)とMech-MindビジョンシステムとのEtherNet/IP通信は、以下のような流れで行われます。
ハードウェアとソフトウェアの要件
ハードウェア
-
PLC:
-
三菱iQ-RシリーズPLC(外部モジュールRJ71EIP91搭載)。以下では、三菱RCPU R00型式のPLCを使用して説明します。
-
三菱電源モジュールR61P、メインボードR33B。
-
-
IPC:標準PCI-eネットワークカードがインストールされているHMS IXXAT INpact 40。
-
PLCプログラムダウンロード用USB Type-A - USB mini-B変換ケーブル。
-
スイッチおよびLANケーブル。
ハードウェアの接続は下図の通りです。
ソフトウェア
ソフトウェア | 説明 | インストール場所 |
---|---|---|
GX Works3 1.081K |
三菱PLCプログラミングソフトウェア |
三菱PLCプログラミングのためのPC |
EtherNet/IP設定ソフトウェア |
三菱PLCプログラミングのためのPC |
|
1.7.0バージョン以降のMech-VisionとMech-Vizソフトウェア |
Mech-Mindソフトウェアシステム |
IPC |
ネットワークカードのIPアドレス設定 |
IPC |
上記のソフトウェアに加え、次のファイルをコピーしてGX Works3がインストールされているPCに貼り付ける必要があります。
-
EDSファイル:005A002B003A0100.EDS。EtherNet/IPネットワークにおけるIPCのアイデンティティに関する情報を提供するために使用されます。 EDSファイルはMech-VisionとMech-Vizソフトウェアのインストールディレクトリにある
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.kfb機能ブロック(各種インターフェースコマンドの機能を実装するために使用されます)。
サンプルプログラムファイルは、Mech-VisionとMech-Vizソフトウェアのインストールディレクトリにある
Mech-Center/Robot_Interface/EthernetIP/Programming Samples/MITSUBISHI iQ-R PLC EthernetIP
フォルダに格納されています。 -
IPCの設定と通信の開始
IPCのPCI-eカードとドライバソフトウェアの確認
-
下図の通り、INpact EIP Slave PCIe ネットワークカードがIPCのPCI-eスロットに圧入されていることを確認してください。
-
IPCを起動し、Windowsのアイコンを右クリックしてデバイスマネージャーを開き、ドライバーソフトウェア VCI4 INpact PCIeがインストールされていることを確認します。
「ロボット通信設定」を実行
-
Mech-Visionのツールバーで ロボット通信設定 をクリックします。
-
ロボット通信設定 の画面で以下の設定を行います。
-
ロボットを選択 のドロップダウンボックスをクリックし、 適応可能なロボット を選択して ロボット型番を選択 をクリックします。表示される画面で特定のロボット型番を選択して 次へ をクリックします。
-
通信方式 で、 インターフェースサービスのタイプ を 標準インターフェース に、 通信プロトコル を ETHERNET IP に設定します。
-
(オプション) ソリューションを開くとインターフェースサービスを自動的に起動 にチェックを入れることを推奨します。
-
適用をクリックします。
-
-
Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認します。
PLCプロジェクトの作成と設定
PLCプロジェクトの作成
-
GX Works3ソフトウェアを起動し、ツールバーの 新規作成 アイコンをクリックします。この画面で、シリーズを RCPU に、機種を R00 に、プログラム言語を ラダー に設定してから、 OK をクリックします。
-
ユニット追加 の画面で 設定変更 をクリックします。
オプション 画面で、「ユニットラベルを使用する」を はい に設定して OK をクリックします。その後、 ユニット追加 の画面に戻って OK をクリックします。
-
左側の 接続先 画面の 現在の接続先 タブで、 Connection をダブルクリックします。
-
すると、 接続先指定 Connection 画面が表示されます。
-
パソコン側で シリアル USB を設定し、シーケンサ側で CPUユニット を選択します。すると、 RCPU が自動的にCPUモードに記入されます。
-
CPUユニット直結設定 をクリックします。表示される画面で USB を選択して、 はい をクリックします。
-
接続先指定 Connection 画面に戻り、 通信テスト をクリックします。R00CPUとの接続に成功しました というメッセージが表示された場合、GX Works3ソフトウェアがPLCと正常に通信できたことを意味します。
-
「接続先指定 Connection」画面の OK をクリックし、GX Works3ソフトウェア画面に戻ります。
-
-
左側のナビゲーション画面で、 パラメータ を展開し、 システムパラメータ をダブルクリックします。すると、 システムパラメータ 画面が表示されます。
-
システムパラメータ 画面で、「I/O割付設定」タブで ベース/電源/増設ケーブル設定 を選択し、選択アイコンをクリックします。すると、 形名選択 の画面が表示されます。
-
形名選択 画面で、実際の状況に応じてベース形名と電源ユニット形名を選択してから、 OK をクリックします。
すると、下図のようなポップアップが表示され、 OK をクリックします。
-
システムパラメータ 画面で、「I/O割付設定」タブで I/O割付設定 を選択し、選択アイコンをクリックします。すると、 新規ユニット追加 画面が表示されます。
-
新規ユニット追加 画面で、ユニット形名を ネットワークユニット に、ユニット形名を RJ71EIP91 に選択し、 OK をクリックします。
-
すると、下図のようなポップアップが表示され、 OK をクリックします。
-
-
左側のナビゲーション画面で、 パラメータ を展開し、追加された 0000:RJ71EIP91 をダブルクリックします。すると、 設定項目一覧 画面が表示されます。
-
設定項目一覧 画面で、 基本設定 を選択し、 自ノード設定 を展開し、IPアドレス行の空白場所をダブルクリックします。
-
すると、 IPアドレス設定 画面が表示されます。この画面でIPアドレスとサブネットマスクを設定してから OK をクリックします。
-
PLCハードウェア構成をPLCにダウンロード
-
左側のナビゲーション画面で、 プログラム を選択し、メニューバーで
を順番にクリックします。 -
全変換 画面で、 オプション設定 をクリックします。すると、 オプション 画面が表示されます。
-
オプション 画面で、左側の 基本設定 をクリックし、「全変換実行時、ラベルを再割付する」を はい に設定してから OK をクリックします。
-
全変換 画面に戻り、 OK をクリックします。
-
-
プログラムが正常に変換された後、メニューバーで
を順番にクリックします。 -
すると、 オンラインデータ操作 画面が表示されます。この画面で 書込み タブを選択し、 パラメータ+プログラム をクリックして 実行 をクリックします。
-
すると、下図のようなポップアップが表示され、 はい をクリックします。
-
安全を確認した上で、 はい をクリックします。
-
上書き 画面で、 全てはい をクリックします。
-
正常にダウンロードしたら、下図のようなポップアップが表示されます。安全を確認した上で はい をクリックします。
-
完了しました 画面で、 OK をクリックします。その後、 オンラインデータ操作 画面に戻って 閉じる をクリックします。
-
-
設定を有効にするために、PLCを再起動します。
EDSファイルをインストールして設定
-
設定項目一覧 画面で EtherNet/IP Configuration Tool アイコンをダブルクリックして、 EIP Configuration Tool for RJ71EIP91 設定ソフトウェアを起動します。
-
表示される 新しいエレメントを追加 画面で、RJ71EIP91ユニットのIPアドレスを入力して、 OK をクリックします。入力したIPアドレスは、GX Works3ソフトウェアで「0000:RJ71EIP91ユニットパラメータ」に設定されたIPアドレスと一致させる必要があります。
-
EIP Configuration Tool for RJ71EIP91 画面で、 機器一覧 を展開し、 EtherNet/IP機器 を右クリックして 追加 をクリックします。すると、 EDSファイルマネジメント 画面が表示されます。
-
EDSファイルマネジメント 画面で 次へ をクリックします。
-
参照 をクリックし、表示される画面からEDSファイル(事前にIPCからコピーする必要があります)を選択して 次へ をクリックします。
-
次へ をクリックします。
-
完了 をクリックします。
-
-
EDSファイルが正常に追加された後、 EtherNet/IP機器 を展開し、 Ixxat INpact EtherNet/IP™ を右クリックし、 コンフィグレーションに挿入 をクリックしてEtherNet IPネットワークに接続します。 すると、 Ixxat INpact EtherNet/IP™ 画面が表示されます。
基本 タブでビジョンシステムのスレーブIPアドレスを設定します。このIPアドレスはHMS IpconfigのIPと同じであり、ここで192.168.1.10に設定します。
-
コネクション タブで 基本 をクリックし、「入力モード」の値を「Point to Point」に変更し、「入力サイズ」と「出力サイズ」の通信データ長を記録してから、 OK をクリックします。
-
PLC EtherNet/IPネットワーク構成をPLCにダウンロード
-
「Ixxat INpact EtherNet/IP™」が正常に追加された後、下図のようなオプションが表示されます。ツールバーの オンラインモード アイコンをクリックします。
-
「オンラインへ移送する前にコンフィグレーションを保存しますか?」のポップアップが表示され、 はい をクリックしてオンラインモードが有効になります。
-
オンラインモード で、ツールバーの ダウンロード アイコンをクリックし、現在設定されたパラメータをEtherNet/IP通信ユニットRJ71EIP91に書き込みます。
-
表示されるポップアップで「configuration.apa」にチェックを入れ、コンフィグファイル(.apa)がダウンロード可能であることを示し、コンフィグファイル(.apa)を後でアップロードして再編集することができるようにしました。その後、 ダウンロード をクリックします。
-
すると、下図のようなポップアップが表示され、 OK をクリックします。
-
-
設定を有効にするために、PLCを再起動します。
サンプルファイルをインポートしてPLCプログラムをPLCにダウンロード
Mech-Mindサンプルプログラムファイルをインポート
Mech-Mindサンプルプログラムファイルをインポートしてテストするために、新しいPLCプロジェクトを使用する必要があります。既存のPLCプロジェクトに追加する場合は、新しいプロジェクトを作成して、インポートとテストを行ってから、既存のプロジェクトに移転することをお勧めします。 |
-
GX Works3 ソフトウェア画面で、メニューバーで
を順番にクリックします。すると、下図のようなポップアップが表示され、 OK をクリックします。
-
ライブラリをライブラリ一覧に登録 画面で、ビジョン通信のサンプルライセンスファイル「iQ-R_RJ71EIP91.usl」を選択して 開く をクリックします。「iQ-R_RJ71EIP91.usl」ファイルは、事前にIPCからコピーする必要があります。
-
GX Works3 ソフトウェア画面で、右側の 部品選択 で2つのサンプルファイル(CameraSignalsMoveとCameraTest)を選択し、右クリックして
を選択します。すると、下図のようなポップアップが表示され、 はい をクリックします。
-
GX Works3ソフトウェア画面に戻り、左側のプロジェクトツリーでサンプルプログラム、機能ブロック、ラベルがすべてインポートされたことを確認し、メニューバーで
をクリックします。すると、下図のようなポップアップが表示され、 OK をクリックします。
PLCプログラムをPLCにダウンロード
-
プログラムが正常に変換された後、メニューバーで
を順番にクリックします。 -
すると、 オンラインデータ操作 画面が表示されます。この画面で 書込み タブを選択し、 パラメータ+プログラム をクリックして 実行 をクリックします。
-
すると、下図のようなポップアップが表示され、 はい をクリックします。
-
安全を確認した上で、下図のようなポップアップで はい をクリックします。
-
上書き 画面で、 全てはい をクリックします。
-
正常にダウンロードしたら、下図のようなポップアップが表示されます。安全を確認した上で はい をクリックします。
-
完了しました 画面で、 OK をクリックします。その後、 オンラインデータ操作 画面に戻って 閉じる をクリックします。
-
通信が成立しているか確認
-
GX Works3ソフトウェア画面で、ナビゲーション画面に プログラム本体 をクリックします。
-
メニューバーで
を順番にクリックします。正常に接続したら、FromCamera.HEARTBEATのハートビート信号モニタ値が連続的に変化します。
-
Mech-Visionのメインインターフェイスで、接続ができたら、ログバーの コンソール タブに、 ETHERNET IPコントローラへの接続に成功しました というメッセージが表示されます 。 このようなログがない場合は、以下の設定が正しいかどうか確認します。
-
ハードウェアのネットワーク接続が正常に行われているかどうか。
-
Mech-Visionのインターフェースサービスが有効になっているかどうか。
-
PLCプログラムがPLCハードウェアに正常にダウンロードされたかどうか。
-
ビジョンプロジェクトのテスト
ここでは、サンプルプログラム機能ブロックを使用して、 Mech-Vision プロジェクトを実行してビジョンポイントを取得する方法、 Mech-Viz プロジェクトを実行して計画した経路を取得する方法について説明します。
事前準備
-
Mech-Visionソリューションを作成します。ソリューションを右クリックして ソリューションを自動的に読み込む にチェックを入れます。すると、ソリューション内のプロジェクトも自動読み込みに設定され、プロジェクト名の前に番号が表示されます。
-
Mech-Vizプロジェクトを作成します。Mech-Vizのリソースパネルでプロジェクトを右クリックし、 自動的に読み込む にチェックを入れます。
テストのためのMech-Vizプロジェクトでは、下図のように、ステップ名が1の「メッセージによって異なる分岐を実行」を使用する必要があります。
Mech-Visionからビジョンポイントを取得
パラメータの設定
-
GX Works3ソフトウェア画面で、 CameraTest プログラム本体の下にあるイネーブルスイッチ「ToCamera.COMM_ENABLE 」を常にONにします。
-
MM_Start_Vis機能ブロックをクリックし、以下のポート値を設定します。
-
Vision_Proj_Numのポート値を 1 に設定し、プロジェクト番号1のMech-Visionプロジェクトを実行することを意味します。
-
Req_Pose_Numのポート値を 0 に設定し、Mech-Visionがすべてのビジョン結果を返すことを意味します。
-
Robot_Pose_Typeのポート値を 0 に設定し、プロジェクトがEye to Handモードなので写真撮影時のロボットの位置姿勢を送信する必要がないことを意味します。
-
Mech-Visionプロジェクトの実行
-
GX Works3ソフトウェア画面で、「MM_Start_Vis」に入力された「Camera_User.Start_Vis」ラベルを右クリックし、
を順番にクリックします。それを1に変更し、Mech-Visionプロジェクトが実行されたら、このラベルをリセットします。 -
STATUS_CODEの返された値が1102であるかを確認します。
-
メニューバーで
を順番にクリックします。 -
「ウォッチ1」の画面で、名称から「FromCamera」ラベルを見つけます。
-
それを展開し、STATUS_CODEの返された値を確認します。
-
返された値が 1102 の場合、Mech-Visionプロジェクトが正常に実行されたことを意味します。返された値が10XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。 |
Mech-Visionで計算した位置姿勢の結果を取得
-
GX Works3ソフトウェア画面で、「MM_Get_VisData」に入力された「Camera_User.Get_VisData」ラベルを右クリックし、
を順番にクリックします。それを1に変更し、位置姿勢の結果が取得されたら、このラベルをリセットします。 -
「ウォッチ1」の画面で、STATUS_CODEの返された値を確認します。
返された値が 1100 の場合、Mech-Visionからビジョンポイントが正常に取得されたことを意味します。返された値が10XXの場合、 標準インターフェースのステータスコード一覧とトラブルシューティング を参照して問題を解決してください。 -
Target_Poseの返された値を確認します。
-
メニューバーで
を順番にクリックします。 -
「ウォッチ2」の画面で、名称から「Camera_User」ラベルを見つけます。
-
それを展開し、Target_Poseの返された値を確認します。下図では、ビジョンシステムから取得された2つのグループの位置姿勢データ(値は実際の値に10000をかけたもの)を示します。
-
Mech-Vizから計画した経路を取得
パラメータの設定
-
GX Works3ソフトウェア画面で、「MM_Get_VisData」に入力された「Camera_User.Start_Empty」ラベルを右クリックし、
を順番にクリックします。それを1に変更し、前回で取得されたビジョン結果が削除されたら、このラベルをリセットします。「ウォッチ2」の画面で、ビジョン結果が削除された後の「Target_Pose」値を確認します。
-
MM_Set_Branch機能ブロックをクリックし、以下のポート値を設定します。
-
Branch_Nameのポート値を 1 に設定し、分岐番号が1であることを意味します。
-
Branch_Exit_Portのポート値を 1 に設定し、Mech-Vizプロジェクトが分岐1に実行したときに出口1から実行を続けることを意味します。
-
-
MM_Get_VizDataをクリックしてRequest_Pose_Typeのポート値を 1 に設定し、Mech-Vizから返されたデータ形式が関節角度であることを意味します。
Mech-Vizプロジェクトの実行
-
GX Works3ソフトウェア画面で、「MM_Start_Viz」に入力された「Camera_User.Start_Viz」ラベルを右クリックし、
を順番にクリックします。それを1に変更し、Mech-Vizプロジェクトが実行されたら、このラベルをリセットします。 -
「ウォッチ1」の画面で、STATUS_CODEの返された値を確認します。
返された値が 2103 の場合、Mech-Vizプロジェクトが正常に実行されたことを意味します。返された値が20XXの場合、 標準インターフェースエラーコード一覧とトラブルシューティング を参照して問題を解決してください。 |
Mech-Vizの分岐出口を選択
-
GX Works3ソフトウェア画面で、「MM_Set_Branch」に入力された「Camera_User.Set_Branch」ラベルを右クリックし、
を順番にクリックします。それを1に変更し、Mech-Vizの分岐出口が選択されたら、このラベルをリセットします。 -
「ウォッチ1」の画面で、STATUS_CODEの返された値を確認します。
返された値が 2105 の場合、分岐が正常に設定されたことを意味します。返された値が20XXの場合、 標準インターフェースエラーコード一覧とトラブルシューティング を参照して問題を解決してください。
Mech-Vizの経路計画を取得
-
GX Works3ソフトウェア画面で、「MM_Get_VizData」に入力された「Camera_User.Get_VizData」ラベルを右クリックし、
を順番にクリックします。それを1に変更し、Mech-Vizによって計画した経路が取得されたら、このラベルをリセットします。 -
「ウォッチ1」の画面で、STATUS_CODEの返された値を確認します。
返された値が 2100 の場合、計画した経路が正常に取得されたことを意味します。返された値が20XXの場合、 標準インターフェースエラーコード一覧とトラブルシューティング を参照して問題を解決してください。 -
MM_Get_VizDataをクリックし、Send_Pose_Numの値が10の場合、このサンプルで10グループの関節角度データが取得されたことを示します。
-
「ウォッチ2」の画面で、Target_Poseの返された値(値は実際の値に10000をかけたもの)を確認します。