通信設定とサンプルプログラムの使用¶
キーエンス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の産業用PCに搭載されたインターフェースカード: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がインストールされているコンピュータへ転送してください。
産業用PCの設定と通信の開始¶
産業用PCのPCI-eカードとドライバソフトウェアの確認¶
下図の通り、INpact EIP Slave PCIe ネットワークカードが産業用PCのPCI-eスロットに圧入されていることを確認してください。
産業用PCを起動し、Windowsのアイコンを右クリックしてデバイスマネージャーを開き、ドライバーソフトウェア VCI4 INpact PCIeがインストールされていることを確認します。
Mech-Visionで「ロボット通信設定」を実行¶
Mech-Visionのツールバーで ロボット通信設定 をクリックします。
ロボットを選択 のドロップダウンボックスをクリックし、 適応可能なロボット を選択して ロボット型番を選択 をクリックします。表示される画面で特定のロボット型番を選択して 次へ をクリックします。
通信方式 画面で以下のことを実行します。
インターフェースタイプを 標準インターフェース に設定します。
通信プロトコルを ETHERNET IP に設定します。
適用 をクリックします。
Mech-Visionのメイン画面で、ツールバーのインターフェースサービスが起動されていることを確認します。
産業用PCのネットワークカードのIPアドレスを設定¶
ネットワークカードのIPアドレスを設定するために、HMSのIPconfigというソフトウェアを使用する必要があります。 Ipconfigがインストールされている産業用PCのLANポートと、IXXAT INpactネットワークカードのLANポートをLANケーブルで接続します。
注意
ネットワークカードをセットアップし、通信ができた後、一時使用LANケーブルを撤去することが可能です。
HMS IPconfigソフトウェアを起動し、スキャンをクリックし、DHCPのチェックを外して、ボードのIPアドレスとサブネットマスクを設定します。PLCで設定されたIPアドレスと同じなIPアドレスを設定し、 Apply をクリックして確認した上で、ソフトウェアを終了します。
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の産業用PCから取得できます。EDSファイルはMech-Mindのインストールパスにある
Mech-Center/Robot_Interface/EthernetIP
フォルダに格納されています。EthernetIP
フォルダをコピーして、KV Studioがインストールされているコンピュータに移転し、 登録 をクリックすると、フォルダが表示されます。アイコンを選択 ポップアップウィンドウ が出てきたら、 アイコンファイルを選択 を選択して OK をクリックします。
対応するアイコンファイルを選択した後、 開く をクリックします。
EDSファイルが正常に登録されと、機械一覧に Ixxat INpact EtherNet/IP(TM) という機器が表示され、これをダブルクリックすると、 EtherNet IPネットワークに接続することができます。
アダプタ初期設定 ポップアップウィンドウ が出て、デバイスのIPアドレス(HMS ipconfigにあるIPアドレス設定と同じように)を設定し、 OK をクリックします。
Ixxat INpact EtherNet/IP(TM) を選択し、 機器設定(2) タブで、コネクション設定 の右側にある .. をクリックします。
コネクション設定 ウィンドウで、 デバイス割付(D) をクリックします。ポップアップウィンドウで必要に応じて IN(アダプタから入力) 、 OUT(アダプタへ出力) デバイス割付領域(図に表示されているデバイス割付領域はサンプルプログラムと一致しています)、デバイス割付の設定が終わった、 EtherNet/IP 設定 ウィンドウに戻ります。
EtherNet/IP 設定 ウィンドウにカメラスレーブと設定情報が表示ているので、 OK をクリックします。
ユニットエディタ ウィンドウで、 OK をクリックします。
PLCハードウェア構成をPLCにダウンロード¶
KV STUDIOのメインウィンドウに戻って、メニューバーにある PLC 転送 をクリックして、プログラム転送 ウィンドウがでてきます。
プログラム転送 ウィンドウに、初期設定を使用し、 実行 をクリックします。
ダウンロードする際に、 PLCをPROGRAMモードに切り替える必要があります。ダウンロードが終わったら、またRUN状態に切り替えてください。
通信が成立しているか確認¶
通信が成立した場合、 KV STUDIOはモニタモードに入り、また左側より設備がオンラインであることを確認できます。
Mech-Visionのメインインターフェイスで、接続ができたら、ログバーのConsoleタブに、 ETHERNET IPコントローラへの接続に成功しました というメッセージが表示されます 。
このようなログがない場合は、以下の設定が正しいかどうか確認します。
ハードウェアのネットワーク接続が正常に行われているかどうか。
Mech-Visionのインターフェースサービスが有効になっているかどうか。
PLCは、ダウンロードされ、PLCのハードウェアにインポートされているかどうか。
サンプルファイルをインポートしてPLCプログラムをPLCにダウンロード¶
注意
Mech-Mindサンプルプログラムファイルをインポートしてテストするために、新しいPLCプロジェクトを使用する必要があります。既存のPLCプロジェクトに追加する場合は、新しいプロジェクトを作成して、インポートとテストを行ってから、既存のプロジェクトに移転することをお勧めします。
Mech-Mindサンプルプログラムファイルをインポート¶
KV STUDIOのメインウィンドウのエディタモードで、順番にメニューバーにある
をクリックして、 プログラムのインポート のウィンドウが出てきます。プログラムインポート ウィンドウで、 CameraSignalsMove.mod 、 CameraTest.mod 、 MM_XXX_XXX.kfb ファイルをそれぞれ選んで、 開く をクリックします。
インポートは完了しました のポップアップウィンドウが出てきたら、OK をクリックします。
PLCプログラムをPLCにダウンロード¶
KV STUDIOのメインウィンドウに戻って、メニューバーにある PLC 転送 -> モニタモード をクリックして、プログラム転送 ウィンドウがでてきます。
プログラム転送 ウィンドウに、初期設定を使用し、 実行 をクリックします。
ダウンロードする際に、 PLCをPROGRAMモードに切り替える必要があります。ダウンロードが終わったら、またRUN状態に切り替えてください。
ビジョンプロジェクトのテスト¶
ここでは、サンプルプログラム機能ブロックを使用して、 Mech-Visionプロジェクトを実行してビジョンポイントを取得する方法、Mech-Vizプロジェクトを実行して計画した経路を取得する方法について説明します。IOモジュールの機能説明については、 キーエンスPLCとMech-MindシステムとのEtherNet/IP通信コマンド説明 をご参照ください。
事前準備¶
Mech-Visionソリューションを作成し、それを 自動読み込み に設定します。すると、ソリューション内のプロジェクトも自動読み込みに設定され、プロジェクト名の前に番号が表示されます。
Mech-Vizプロジェクトを作成し、 自動的に読み込み にチェックを入れます。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-Mind-標準インターフェースのエラーコード一覧とトラブルシューティング》 をご参照ください。
Mech-Visionで計算した位置姿勢の結果を取得¶
FromCamera.STATUS_CODEから1102が返されると、機能ブロック「MM_Get_VisData」の入力変数「Get_VisData」をダブルクリックすれば、この値は1になり、位置姿勢を取得することを示します。その後、またこの変数をダブルクリックすれば、その値は0にリセットされ、結果は下図のようになります。SendPoseNumの值为を3に設定すると、3つの位置姿勢を取得します。
FromCamera.STATUS_CODEの現在値を確認し、1100になった場合、 Mech-Visionからビジョンポイントを取得することができたと示します。一方、現在値は10XXになった場合、 《Mech-Mind-標準インターフェースエラーコードとトラブルシューティング》 をご参照ください。
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-Mind-標準インターフェースエラーコード一覧とトラブルシューティング》 をご参照ください。
Mech-Vizの分岐を選択¶
機能ロック「M_Set_Branch」で、入力変数 Set_Branch をダブルクリックし、Mech-Viz分岐を選択します。
FromCamera.STATUS_CODEの現在値を確認し、2105になった場合、分岐の設定ができたことを示します。一方、現在値は20XXになった場合、 《Mech-Mind-標準インターフェースエラーコード一覧とトラブルシューティング》 をご参照ください。
Mech-Vizの経路計画を取得¶
機能ロック「MM_Set_Branch」で、入力変数 Get_VizData をダブルクリックし、Mech-Vizの計画経路を取得します。
FromCamera.STATUS_CODEの現在値を確認し、2100になった場合、Mech-Vizの計画経路を取得することができたと示します。一方、現在値は20XXになった場合、 《Mech-Mind-標準インターフェースエラーコード一覧とトラブルシューティング》 をご参照ください。結果は下図のように、 SendPoseNumの値が10であるため、10グループの関節角度データを取得しました。関節角度のデータはTargetPoseに格納されます。