通信設定とサンプルプログラムの使用
キーエンスPLCとMech-MindソフトウェアシステムとのEtherNet/IP通信は、以下のような流れで行われます。
ハードウェアとソフトウェアの要件
ハードウェア
-
KV-8000/8000A/7500/5500 統合EIP通信機能、KV-EP21V、KV-NC1EP 通信モジュール。
-
USB Type-A - USB Type-B 変換ケーブル。
-
AC 220V - DC 24V 電源変換アダプター。
-
Mech-MindのIPCに搭載されたインターフェースカード:HMS IXXAT INpact EIP Slave PCIe。
-
スイッチおよびLANケーブル。
下記のサンプルプログラムでは、KV-8000モデルを使用しています。 |
ハードウェアの接続は下図の通りです。
ソフトウェア
-
KEYENCE PLC プログラミングソフトウェア KV STUDIO V11.41。
-
1.7.0バージョン以降のMech-Mindソフトウェアシステム。
-
ネットワークカードのIPアドレスを設定するための HMS ipconfig 。
-
Mech-Mind EDS ファイル:005A002B003A0100.EDS。 EDSファイルは、Mech-Mindソフトウェアシステムのインストールパスにある
Mech-Center/Robot_Interface/EthernetIP
フォルダに格納されています。 -
PLC サンプルプログラムファイル:
-
CameraSignalsMove.mod(ビジョンシステム信号転送)。
-
CameraTest.mod(ビジョンシステムテスト)。
-
MM_XXX_XXX.kfb(各種インターフェイスコマンドの機能を実装するために使用されます)。
サンプルプログラムファイルは、Mech-Mindソフトウェアシステムのインストールパスにある
Mech-Center/Robot_Interface/EthernetIP/Programming Samples/Keyence KV-8000 PLC EthernetIP
フォルダに格納されています。このファイルをKV STUDIOがインストールされているコンピュータへ転送してください。 -
IPCの設定と通信の開始
IPCのPCI-eカードとドライバソフトウェアの確認
-
下図の通り、INpact EIP Slave PCIe ネットワークカードがIPCのPCI-eスロットに圧入されていることを確認してください。
-
IPCを起動し、Windowsのアイコンを右クリックしてデバイスマネージャーを開き、ドライバーソフトウェア VCI4 INpact PCIeがインストールされていることを確認します。
Mech-Visionで「ロボット通信設定」を実行
-
Mech-Visionのツールバーで ロボット通信設定 をクリックします。
-
ロボットを選択 のドロップダウンボックスをクリックし、 適応可能なロボット を選択して ロボット型番を選択 をクリックします。表示される画面で特定のロボット型番を選択して 次へ をクリックします。
-
通信方式 の画面で以下のことを実行します。
-
インターフェースタイプを 標準インターフェース に設定します。
-
通信プロトコルを ETHERNET IP に設定します。
-
適用 をクリックします。
-
-
Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認します。
IPCのネットワークカードのIPアドレスを設定
-
ネットワークカードのIPアドレスを設定するために、HMSのIPconfigというソフトウェアを使用する必要があります。IpconfigがインストールされているIPCのLANポートと、IXXAT INpactネットワークカードのLANポートをLANケーブルで接続します。
ネットワークカードをセットアップし、通信ができた後、一時使用LANケーブルを撤去することが可能です。 -
HMS IPconfigソフトウェアを起動し、スキャンをクリックし、DHCPのチェックを外して、ボードのIPアドレスとサブネットマスクを設定します。PLCで設定されたIPアドレスと同じなIPアドレスを設定し、適用 をクリックして確認した上で、ソフトウェアを終了します。
PLCプロジェクトの作成と設定
PLCプロジェクトの作成
-
KV STUDIOを起動し、 プロジェクトの新規作成 をクリックします。対象物に合わせて 対応機種 を選択して、 プロジェクト名 を入力します。 参照 をクリックし、プロジェクトの保存パスを選択して、最後に OK をクリックします。
-
ポップアップウィンドウが出て、 運転記録設定を自動設定しますか? というメッセージが表示されます。 はい をクリックします。
-
ポップアップウィンドウが出て、 最初にユニット構成を設定しますか? というメッセージが表示されます。 いいえ をクリックします。
-
左側の プロジェクト バーで、順番に ユニット構成/KV-8000 、 EtherNet/IP R30000 DM10000 をダブルクリックすると、EtherNet/IP 設定 ポップアップウィンドウが出てきます。 手動設定 をクリックします。
-
EtherNet/IP 設定 ウィンドウで、KV-8000 を選択し、機器設定 で PLC の IP アドレスを設定します。
EDSファイルをインストールして設定
-
EtherNet/IP 設定 ウィンドウで、メニューにある EDSファイル をクリックし、 登録 を選んでください。ポップアップウィンドウで、対応するEDSファイルを選択し、開く ボタンをクリックします。
EDSファイルは Mech-Mind のIPCから取得できます。EDSファイルはMech-Mindソフトウェアシステムのインストールディレクトリにある Mech-Center/Robot_Interface/EthernetIP
フォルダに格納されています。EthernetIP
フォルダをコピーして、KV Studioがインストールされているコンピュータに移転し、 登録 をクリックすると、フォルダが表示されます。アイコンを選択 ポップアップウィンドウ が出てきたら、アイコンファイルを選択 を選択して OK をクリックします。
対応するアイコンファイルを選択した後、 開く をクリックします。
-
EDSファイルが正常に登録されと、機械一覧に Ixxat INpact EtherNet/IP™ という機器が表示され、これをダブルクリックすると、EtherNet IPネットワークに接続することができます。
-
アダプタ初期設定 ポップアップウィンドウ が出て、デバイスのIPアドレス(HMS ipconfigにあるIPアドレス設定と同じように)を設定し、 OK をクリックします。
-
Ixxat INpact EtherNet/IP™ を選択し、 機器設定(2) タブで、コネクション設定 の右側にある .. をクリックします。
-
コネクション設定 ウィンドウで、 デバイス割付(D) をクリックします。ポップアップウィンドウで必要に応じて IN(アダプタから入力 、 OUT(アダプタへ出力) デバイス割付領域(図に表示されているデバイス割付領域はサンプルプログラムと一致しています)、デバイス割付の設定が終わった、 EtherNet/IP 設定 ウィンドウに戻ります。
-
EtherNet/IP 設定 ウィンドウにカメラスレーブと設定情報が表示ているので、 OK をクリックします。
-
ユニットエディタ ウィンドウで、 OK をクリックします。
通信が成立しているか確認
-
通信が成立した場合、 KV STUDIOはモニタモードに入り、また左側より設備がオンラインであることを確認できます。
-
Mech-Visionのメインインターフェイスで、接続ができたら、ログバーのConsoleタブに、 ETHERNET IPコントローラへの接続に成功しました というメッセージが表示されます 。
このようなログがない場合は、以下の設定が正しいかどうか確認します。
-
ハードウェアのネットワーク接続が正常に行われているかどうか。
-
Mech-Visionのインターフェースサービスが有効になっているかどうか。
-
PLCは、ダウンロードされ、PLCのハードウェアにインポートされているかどうか。
-
サンプルファイルをインポートしてPLCプログラムをPLCにダウンロード
Mech-Mindサンプルプログラムファイルをインポートしてテストするために、新しいPLCプロジェクトを使用する必要があります。既存のPLCプロジェクトに追加する場合は、新しいプロジェクトを作成して、インポートとテストを行ってから、既存のプロジェクトに移転することをお勧めします。 |
ビジョンプロジェクトのテスト
ここでは、サンプルプログラム機能ブロックを使用して、Mech-Visionプロジェクトを実行してビジョンポイントを取得する方法、Mech-Viz プロジェクトを実行して計画した経路を取得する方法について説明します。IOモジュールの機能説明については、 キーエンスPLCとMech-MindシステムとのEtherNet/IP通信コマンド説明 をご参照ください。
事前準備
-
Mech-Visionソリューションを作成します。ソリューションを右クリックして ソリューションを自動的に読み込む にチェックを入れます。すると、ソリューション内のプロジェクトも自動読み込みに設定され、プロジェクト名の前に番号が表示されます。
-
Mech-Vizプロジェクトを作成します。Mech-Vizのリソースパネルでプロジェクトを右クリックし、 自動的に読み込む にチェックを入れます。
テストのためのMech-Vizプロジェクトでは、下図のように、ステップ名が1の「メッセージによって異なる分岐を実行」を使用する必要があります。
Mech-Visionからビジョンポイントを取得
パラメータの設定
-
KV STUDIOメインインウィンドウに戻って、プロジェクトツリーでプログラムを展開し、 CameraTest プロジェクトをダブルクリックし、 ToCamera.COM_ENABLEの状態を常にONに設定します。
-
Mech-Visionプロジェクト番号(つまり、Mech-Visionプロジェクトリストでプロジェクト名の前にある番号)を設定します。VISION_PROJ_NUMの値を1に設定すると、プロジェクト番号1のMech-Visionプロジェクトが実行されます。
-
Mech-Visionプロジェクトから返される位置姿勢の数を設定します。REQ_POSE_NUMの値を0に設定すると、Mech-Visionからすべての位置姿勢の結果が返されます。
Mech-Visionプロジェクトの実行
-
機能ブロック「MM_Start_Vis」の入力変数「Start_Vision」をダブルクリックすれば、この値は1に設定されます。Mech-Visionプロジェクトを実行します。その後、もう一度この変数をダブルクリックすると、値が0に設定されます。
-
登録モニタウィンドウ をクリックし、 デバイス の列に、FromCamera.STATUS_CODEを見つけて、現在値を確認します。1102になった場合、プロジェクトが正常に実行していることを示します。一方、現在値は10XXになった場合、 標準インターフェースのエラーコード一覧とトラブルシューティング をご参照ください。
Mech-Visionで計算した位置姿勢の結果を取得
-
FromCamera.STATUS_CODEから1102が返されると、機能ブロック「MM_Get_VisData」の入力変数「Get_VisData」をダブルクリックすれば、この値は1になり、位置姿勢を取得することを示します。その後、またこの変数をダブルクリックすれば、その値は0にリセットされ、結果は下図のようになります。SendPoseNumの值为を3に設定すると、3つの位置姿勢を取得します。
-
FromCamera.STATUS_CODEの現在値を確認し、1100になった場合、Mech-Visionからビジョンポイントを取得することができたと示します。一方、現在値は10XXになった場合、 標準インターフェースのエラーコード一覧とトラブルシューティング をご参照ください。
Mech-Vizから経路計画を取得
パラメータの設定
-
モジュール MM_Get_VisData で、入力変数 Start_Empty をダブルクリックします。ソフト成分値一括変更/読み出しウィンドウ ウィンドウで、メニューにある
をクリックすると、前回取得したビジョン結果を削除します。 -
Branch_Nameの値を 1 、Branch_Exit_Portの値を 1 と設定すると、 Mech-Vizプロジェクトは分岐1まで実行する場合、出口1に沿って実行し続けます。
-
Request_Pose_Typeの値を 1 、Mech-Vizから返されるデータのタイプを関節角度に設定します。
Mech-Vizプロジェクトの実行
-
モジュール「MM_Start_Viz」で、入力変数 Start_Viz ダブルクリックして、Mech-Vizプロジェクトを実行します。
-
FromCamera.STATUS_CODEからの戻り値を確認し、2103になった場合、プロジェクトの実行ができたと表しています。一方、戻り値は20XXになった場合、 標準インターフェースエラーコード一覧とトラブルシューティング をご参照ください。
Mech-Vizの分岐出口を選択
-
機能ロック「M_Set_Branch」で、入力変数 Set_Branch をダブルクリックし、Mech-Viz分岐出口を選択します。
-
FromCamera.STATUS_CODEの現在値を確認し、2105になった場合、分岐の設定ができたことを示します。一方、戻り値は20XXになった場合、 標準インターフェースエラーコード一覧とトラブルシューティング をご参照ください。
Mech-Vizの経路計画を取得
-
機能ロック「MM_Set_Branch」で、入力変数 Get_VizData をダブルクリックし、Mech-Vizの計画経路を取得します。
-
FromCamera.STATUS_CODEの現在値を確認し、2100になった場合、Mech-Vizの計画経路を取得することができたと示します。一方、現在値は20XXになった場合、 標準インターフェースエラーコード一覧とトラブルシューティング をご参照ください。結果は下図のように、SendPoseNumの値が10であるため、10グループの関節角度データを取得しました。関節角度のデータはTargetPoseに格納されます。