KV-Xシリーズ × VS-G/VSシリーズ
接続ガイド
PDFとして使用する場合、画面右上の「このページを印刷する」をクリック後、プリンターの設定で「PDFとして保存」を選択し、保存してください。
目次
Step1:接続に必要な機器
下記の機器を準備してください。
Step2:VS-G / VSシリーズの設定
VS-G / VSシリーズの設定方法を説明します。
ネットワーク設定をおこなう前に、以下の項目をあらかじめ決めておいてください。
| KV-Xシリーズに割り当てるIPアドレス | 例:192.168.0.10(初期値) |
|---|---|
| VS-G / VSシリーズに割り当てるIPアドレス | 例:192.168.0.1(※初期値は192.168.0.10) |
1VS Creator(VS-G / VSシリーズ用のソフト)を起動して、「デバイス接続」画面に対象のVS-G / VSシリーズデバイスが表示されることを確認します。
- ※パソコンと対象のVS-G / VSシリーズが同一ネットワークアドレスグループで接続されている必要があります。
2デバイス一覧でリスト行を選択すると、IPアドレスの隣に
が表示されます。アイコンをクリックすると、[ネットワーク設定]ダイアログが表示され、リスト行で選択したデバイスのネットワーク設定を変更できます。設定変更が完了したら、〔接続〕を選択します。
今回は以下のように設定します。
3「メイン画面」が表示されます。
4【環境設定】の【産業用イーサネット設定】を選択します。
- ※設定モード時のみ変更可能です。
[産業用イーサネット設定]ダイアログの「EtherNet/IP」画面で、以下のとおり設定してください。
| 設定項目 | 設定値 |
|---|---|
| 有効・無効設定 | 有効(右) |
| PLC種別 | Keyence KV |
| 周期通信データサイズ | 496バイト(初期値) |
| エンディアン | リトルエンディアン |
| IPアドレス | 192.168.0.1 |
| サブネットマスク | 255.255.255.0 |
必要に応じて「送受信データの割り付け」、「ユーザー定義領域」を調整します。
詳細はVS-G / VSシリーズユーザーズマニュアルをご確認ください。
5確認ダイアログが表⽰された場合は、〔保存して今すぐ再起動〕を選択します。
One point
VS-G / VSシリーズの[Ethernet]設定、[EtherNet/IP]設定は、再起動時に設定変更が反映されます。
Step3:KV-Xシリーズの設定
このステップではKV-Xシリーズの設定手順を説明します。キャプチャ中に表示されている"Vendor Series"という文字列は、実際に接続する機器名に読み換えてください。
1KV STUDIOを起動し、プロジェクトを新規作成します。
対応機種に「KV-X550※」を選択し、〔OK〕をクリックします。
- ※対応機種は使用される機種にあわせて選択してください。
[ユニット構成設定の確認]ダイアログが表示されるので、〔はい(Y)〕をクリックし、ユニットエディタを開きます。
2ユニットエディタの「ユニット設定(2)」タブで、KV-XシリーズのIPアドレスを設定します。
KV-X500シリーズではポート2でのみEtherNet/IP通信を使用できます。
ポート2のIPアドレスとサブネットマスクを設定してください。
ここでは、以下のとおり設定します。
3[EtherNet/IP設定]を起動します。
ユニットエディタ上でEtherNet/IP設定のアイコンをクリックします。
設定方法を選択するダイアログが表示されるので、KV-Xシリーズと接続する機器をEthernetケーブルで接続した状態で〔自動設定(オートコンフィグレーション)(A)〕をクリックします。
4実機とユニットエディタの構成が異なる場合、プロジェクトの転送を確認するダイアログが表示されるので、PCとKV-XシリーズをUSBケーブルで接続した状態で〔はい(Y)〕をクリックし、プロジェクトを転送します。
5プロジェクトの転送が完了すると、[機器検索設定]ダイアログが表示されるので、〔検索(F)〕をクリックします。
オートコンフィグレーション完了後、接続する機器が自動で登録されるので、〔OK〕をクリックして[EtherNet/IP設定]ウィンドウを閉じます。
6ユニットエディタの〔OK〕をクリックし、[ユニットエディタ]ウィンドウを閉じます。
7下記のダイアログが表示されるので、〔OK〕をクリックし、コネクションで使用する変数を作成します。
8[EtherNet/IP機器 変数設定]ダイアログが表示されます。変数名を入力して2回〔OK〕をクリックし、サイクリック通信用の構造体変数を作成します。
登録した変数は[変数編集]ダイアログから確認できます。
One point
機器を手動で追加する場合
「EtherNet/IP設定」の[機器一覧(1)]タブで、接続する機器をドラッグ&ドロップして機器設定を作成します。
配下に各種センサアンプやI/Oユニットを接続する機器を設定する際は、その配下に接続する各種機器も併せて登録します。
下図は、架空の通信ユニットVendor Series Comに、架空のセンサVendor Series Sensorを接続する場合の例です。
キャプチャ中のVendor Series Com・Vendor Series Sensorという文字列は、実際に接続する通信ユニット・センサ等に読み換えてください。
One point
EtherNet/IPの送受信データにリンクデバイス(B/W)を割り付ける方法
【表示(V)】>【CPU システム設定(P)】>【システムの設定】>【その他の設定】で〔EtherNet/IP 通信の送受信データにデバイスを割り付ける(D)〕にチェックし、〔EtherNet/IP 設定更新時に変数設定ダイアログを表示する(E)〕のチェックを外した状態で〔OK〕をクリックすると、EtherNet/IP 設定時はリンクデバイス(B/W) に割り付くようになります。
One point
キーエンス社製センサ設定ファイル(ez1ファイル)をインポートする方法
機器一覧に接続する機器が表示されない(センサ設定ファイルがインポートされていない)場合、キーエンス社製センサ設定ファイル(ez1ファイル)のインポートが必要です。
[EtherNet/IP設定]ウィンドウから、【EDSファイル(D)】→【登録(I)】を選択し、使用される機器のキーエンス社製センサ設定ファイル(ez1ファイル)をインポートします。
キーエンス社製センサ設定ファイル(ez1ファイル) ダウンロードページ
One point
コネクションを変更することで、最大16ワード(32バイト)のプロセスデータを取得できます。[コネクション設定]ダイアログから設定してください。デフォルトでは16ワード(32バイト)のプロセスデータを取得できます。
プロセスデータは、NQシリーズのポートごとに割り付けられます。例えば、デフォルト(16ワード)の設定では以下のとおり、1ポートにつき3ワードずつ割り付けられています。
| 先頭からのオフセット | データ |
|---|---|
| +0 | P1_プロセス入力データ 0 |
| +1 | P1_プロセス入力データ 1 |
| +2 | P1_プロセス入力データ 2 |
| +3 | P2_プロセス入力データ 0 |
| : | : |
プロセスデータで取得できる内容については、接続するIO-Linkデバイスのマニュアルを参照してください。
Step4:設定データの転送とモニタ
このステップでは接続する機器の情報をモニタする方法について説明します。
キャプチャ中に表示されている"Vendor Series"という文字列は、実際に接続する機器名に読み換えてください。
1メニューから【モニタ / シミュレータ(N)】>【PLC 転送 → モニタモード(C)】を選択します。KV-Xシリーズに設定データを転送し、モニタモードに移ります。
2ワークスペースの接続する機器を右クリックし、【センサIOモニタ(M)】を選択すると、機器の情報を簡単にモニタできます。
One point
リアルタイムチャートモニタ(RTCM)でモニタする方法
リアルタイムチャートモニタを起動して、グラフで確認することもできます。
「センサIOモニタ」上で右クリックし、【リアルタイムチャートモニタ (H)】を選択します。
リアルタイムチャートモニタは自動でスケーリングを実行するので、レンジ調整は不要です。
参考:変数割付
サイクリック通信で取得できるパラメータ一覧
サイクリック通信でやり取りできるパラメータの一覧を以下に記載しています。
サイクリック通信で取得できるパラメータ一覧
サイクリック通信で取得できるパラメータは、KV-XシリーズとVS-G / VSシリーズの間で一定周期ごとに自動で更新されるため、データを読み書きするためのプログラムは不要です。ここでは、変数名をVariableName_IN、VariableName_OUTとしていますが、Step3 手順8で入力した変数名に読み換えてください。
・VS-Gシリーズ
入力(VS-G→KV-X)
| 変数名 | データ型 | 項目 | |
|---|---|---|---|
| メンバ名 | |||
| VariableName_IN | VS_G_Series_IN100 | ||
| Trigger_Ready | ARRAY[0..7] OF BOOL | Trigger Ready | |
| Trigger_Ack | ARRAY[0..7] OF BOOL | Trigger Ack | |
| Pass | BOOL | Pass | |
| Fail | BOOL | Fail | |
| Result_Ready | BOOL | Result Ready | |
| Run_Status | BOOL | Run Status | |
| Error0_Status | BOOL | Error0 Status | |
| Error1_Status | BOOL | Error1 Status | |
| Command_Complete | BOOL | Command Complete | |
| Command_Error | BOOL | Command Error | |
| Command_Ready | BOOL | Command Ready | |
| Prog_Load_Comp | BOOL | Program Load Complete | |
| Prog_Load_Comp_SD | BOOL | Program Load Complete from SD | |
| Prog_Load_Comp_DS | BOOL | Program Load Complete from DS | |
| Soft_Event_Ack | ARRAY[0..7] OF BOOL | Soft Event Ack | |
| Assignable | ARRAY[0..23] OF BOOL | Assignable | |
| Tool_Judge | ARRAY[0..31] OF BOOL | Tool Judge | |
| Error0_Code | UDINT | Error0 Code | |
| Error1_Code | UDINT | Error1 Code | |
| Program_Number | UDINT | Program Number | |
| Total_Count | UDINT | Total Count | |
| Command_Result | UDINT | Command Result | |
| Command_Data | ARRAY[0..5] OF UDINT | Command Data | |
| From_VS_Data | ARRAY[0..109] OF UDINT | From VS Data | |
出力(KV-X→VS-G)
| 変数名 | データ型 | 項目 | |
|---|---|---|---|
| メンバ名 | |||
| VariableName_OUT | VS_G_Series_OUT101 | ||
| Trigger | ARRAY[0..7] OF BOOL | Trigger | |
| Trigger_Disable | BOOL | Trigger Disable | |
| Output_Disable | BOOL | Output Disable | |
| Reset | BOOL | Reset | |
| Rslt_Hndshk_Enable | BOOL | Result Handshake Enable | |
| Result_Ack | BOOL | Result Ack | |
| Go_to_Run | BOOL | Go to Run | |
| Go_to_Setting | BOOL | Go to Setting | |
| Error0_Clear | BOOL | Error0_Clear | |
| Error1_Clear | BOOL | Error1_Clear | |
| Command_Request | BOOL | Command Request | |
| Prog_Load_Exec | BOOL | Program Load Execute | |
| Prog_Load_Exec_SD | BOOL | Program Load Execute from SD | |
| Prog_Load_Exec_DS | BOOL | Program Load Execute from DS | |
| Soft_Event | ARRAY[0..7] OF BOOL | Soft Event | |
| Assignable | ARRAY[0..23] OF BOOL | Assignable | |
| Program_Number | UDINT | Program Number | |
| Command_Number | UDINT | Command Number | |
| Command_Param | ARRAY[0..5] OF UDINT | Command Parameter | |
| To_VS_Data | ARRAY[0..113] OF UDINT | To VS Data | |
・VSシリーズ
入力(VS→KV-X)
| 変数名 | データ型 | 項目 | |
|---|---|---|---|
| メンバ名 | |||
| VariableName_IN | VS_Series_IN100_V2 | ||
| Trigger_Ready | BOOL | Trigger Ready | |
| Trigger_Ack | BOOL | Trigger Ack | |
| Pass | BOOL | Pass | |
| Fail | BOOL | Fail | |
| Result_Ready | BOOL | Result Ready | |
| Run_Status | BOOL | Run Status | |
| Error0_Status | BOOL | Error0 Status | |
| Error1_Status | BOOL | Error1 Status | |
| Command_Complete | BOOL | Command Complete | |
| Command_Error | BOOL | Command Error | |
| Command_Ready | BOOL | Command Ready | |
| Prog_Load_Comp | BOOL | Program Load Complete | |
| Prog_Load_Comp_SD | BOOL | Program Load Complete from SD | |
| Soft_Event_Ack | ARRAY[0..7] OF BOOL | Soft Event Ack | |
| Assignable | ARRAY[0..23] OF BOOL | Assignable | |
| Tool_Judge | ARRAY[0..31] OF BOOL | Tool Judge | |
| Error0_Code | UDINT | Error0 Code | |
| Error1_Code | UDINT | Error1 Code | |
| Program_Number | UDINT | Program Number | |
| Total_Count | UDINT | Total Count | |
| Command_Result | UDINT | Command Result | |
| Command_Data | ARRAY[0..5] OF UDINT | Command Data | |
| From_VS_Data | ARRAY[0..109] OF UDINT | From VS Data | |
出力(KV-X→VS)
| 変数名 | データ型 | 項目 | |
|---|---|---|---|
| メンバ名 | |||
| VariableName_OUT | VS_Series_OUT101_V2 | ||
| Trigger | BOOL | Trigger | |
| Trigger_Disable | BOOL | Trigger Disable | |
| Output_Disable | BOOL | Output Disable | |
| Reset | BOOL | Reset | |
| Rslt_Hndshk_Enable | BOOL | Result Handshake Enable | |
| Result_Ack | BOOL | Result Ack | |
| Go_to_Run | BOOL | Go to Run | |
| Go_to_Setting | BOOL | Go to Setting | |
| Error0_Clear | BOOL | Error0_Clear | |
| Error1_Clear | BOOL | Error1_Clear | |
| Command_Request | BOOL | Command Request | |
| Prog_Load_Exec | BOOL | Program Load Execute | |
| Prog_Load_Exec_SD | BOOL | Program Load Execute from SD | |
| Soft_Event | ARRAY[0..7] OF BOOL | Soft Event | |
| Assignable | ARRAY[0..23] OF BOOL | Assignable | |
| Program_Number | UDINT | Program Number | |
| Command_Number | UDINT | Command Number | |
| Command_Param | ARRAY[0..5] OF UDINT | Command Parameter | |
| To_VS_Data | ARRAY[0..113] OF UDINT | To VS Data | |
参考:サンプルプログラム
ここでは、変数名をVS_IN、VS_OUTとしていますが、Step3 手順8で入力した変数名に読み換えてください。
検査設定No.を切り換えたい
変数リスト
| 変数 | データ型 | コメント |
|---|---|---|
| xChange | BOOL | 検査設定No.切換 |
| udiErrorCode | UDINT | エラーコード |
プログラム
<ニモニックリスト>
LDP xChange
BOX_ST
;VS_OUT.Command_Number := 109;
;VS_OUT.Command_Param[0] := 1;
;VS_OUT.Command_Param[1] := 5;
LDP xChange
AND VS_IN.Command_Ready
OR VS_OUT.Command_Request
ANB VS_IN.Command_complete
OUT VS_OUT.Command_Request
LDP VS_IN.Command_Error
BOX_ST
;udiErrorCode := VS_IN.Command_Result;
動作説明
-
①
運転モードであることを確認し、VS_OUT.Command_NumberにPLコマンドのコマンドNo.である「109」を入力します。
-
②
VS_OUT.Command_Paramに2ワード単位でパラメーターを入力します。
-
③
VS_OUT.Command_RequestをONにします。
-
④
PLコマンドが実行されます。
-
⑤
VS_IN.Command_completeがONになるのを確認します。
-
⑥
VS_IN.Command_ErrorのON/OFFを確認します。OFFであれば、コマンドは正常に処理されています。ONであれば、コマンドの処理に失敗しているので、VS_IN.Command_Resultに書き込まれたエラーコードを確認します。エラーコードの詳細は「VSシリーズ ユーザーズマニュアル」を参照ください。
検査設定No.を読み出したい
変数リスト
| 変数 | データ型 | コメント |
|---|---|---|
| xRead | BOOL | 検査設定No.読出 |
| udiErrorCode | UDINT | エラーコード |
プログラム
<ニモニックリスト>
LDP xRead
BOX_ST
;VS_OUT.Command_Number := 110;
LDP xRead
AND VS_IN.Command_Ready
OR VS_OUT.Command_Request
ANB VS_IN.Command_complete
OUT VS_OUT.Command_Request
LDP VS_IN.Command_Error
BOX_ST
;udiErrorCode := VS_IN.Command_Result;
LDP VS_IN.Command_complete
BOX_ST
;auiResult[0] := VS_IN.Command_Data[0];
;auiResult[1] := VS_IN.Command_Data[1]
動作説明
-
①
運転モードであることを確認し、VS_OUT.Command_NumberにPRコマンドのコマンドNo.である「110」を入力します。
-
②
VS_OUT.Command_RequestをONにします。
-
③
PRコマンドが実行されます。
-
④
VS_IN.Command_completeがONになるのを確認します。
-
⑤
VS_IN.Command_ErrorのON/OFFを確認します。OFFであれば、コマンドは正常に処理されています。ONであれば、コマンドの処理に失敗しているので、VS_IN.Command_Resultに書き込まれたエラーコードを確認します。エラーコードの詳細は「VSシリーズ ユーザーズマニュアル」を参照ください。
-
⑥
VS_IN.Command_Data[0]に返信データが2ワード区切りで出力されているので、確認します。
セルに値を書き込みたい
ビジョンダッシュボードのE3セル(5列3行目)に100を書き込む場合を例に説明します。
変数リスト
| 変数 | データ型 | コメント |
|---|---|---|
| xValWrite | BOOL | 値の書込 |
| udiErrorCode | UDINT | エラーコード |
プログラム
<ニモニックリスト>
LDP xValWrite
BOX_ST
;VS_OUT.Command_Number := 124;
;VS_OUT.Command_Param[0] := 5;
;VS_OUT.Command_Param[1] := 3;
;VS_OUT.Command_Param[2] := 100;
LDP xValWrite
AND VS_IN.Command_Ready
OR VS_OUT.Command_Request
ANB VS_IN.Command_complete
OUT VS_OUT.Command_Request
LDP VS_IN.Command_Error
BOX_ST
;udiErrorCode := VS_IN.Command_Result;
動作説明
-
①
ビジョンダッシュボードのE3セル(5列3行目)に任意の数値を入力します。
-
②
運転モードであることを確認し、VS_OUT.Command_NumberにCWNコマンドのコマンドNo.である「124」を入力します。
-
③
VS_OUT.Command_Paramに列番号、行番号、設定値を2ワード区切りで入力します。
VS_OUT.Command_Param[0]:5(ワークシートの列番号)
VS_OUT.Command_Param[1]:3(ワークシートの行番号)
VS_OUT.Command_Param[2]:100(設定値)
-
④
VS_OUT.Command_RequestをONにします。
-
⑤
CWNコマンドが実行されます。
-
⑥
VS_IN.Command_completeがONになるのを確認します。
-
⑦
VS_IN.Command_ErrorのON/OFFを確認します。OFFであれば、コマンドは正常に処理されています。ONであれば、コマンドの処理に失敗しているので、VS_IN.Command_Resultに書き込まれたエラーコードを確認します。エラーコードの詳細は「VSシリーズ ユーザーズマニュアル」を参照ください。
セルに文字列を書き込みたい
ビジョンダッシュボードのF10セル(6列10行目)に文字列「KEYENCE」を書き込む場合を例に説明します
変数リスト
| 変数 | データ型 | コメント |
|---|---|---|
| xStrWrite | BOOL | 文字列の書込 |
| udiErrorCode | UDINT | エラーコード |
プログラム
<ニモニックリスト>
LDP xStrWrite
BOX_ST
;VS_OUT.Command_Number := 125;
;VS_OUT.Command_Param[0] := 6;
;VS_OUT.Command_Param[1] := 10;
;VS_OUT.Command_Param[2] := 16#454B;
;VS_OUT.Command_Param[3] := 16#4559;
;VS_OUT.Command_Param[4] := 16#434E;
;VS_OUT.Command_Param[5] := 16#45;
LDP xStrWrite
AND VS_IN.Command_Ready
OR VS_OUT.Command_Request
ANB VS_IN.Command_complete
OUT VS_OUT.Command_Request
LDP VS_IN.Command_Error
BOX_ST
;udiErrorCode := VS_IN.Command_Result;
動作説明
-
①
ビジョンダッシュボードのF10セル(6列10行目)に任意の文字列を入力します。
-
②
運転モードであることを確認し、VS_OUT.Command_NumberにCWSコマンドのコマンドNo.である「125」を入力します。
-
③
VS_OUT.Command_Paramに列番号、行番号、文字列を入力します。
VS_OUT.Command_Param[0]:6(ワークシートの列番号)
VS_OUT.Command_Param[1]:10(ワークシートの行番号)
VS_OUT.Command_Param[2~5]:KEYENCE(文字列)
-
④
VS_OUT.Command_RequestをONにします。
-
⑤
CWSコマンドが実行されます。
-
⑥
VS_IN.Command_completeがONになるのを確認します。
-
⑦
VS_IN.Command_ErrorのON/OFFを確認します。OFFであれば、コマンドは正常に処理されています。ONであれば、コマンドの処理に失敗しているので、VS_IN.Command_Resultに書き込まれたエラーコードを確認します。エラーコードの詳細は「VSシリーズ ユーザーズマニュアル」を参照ください。
One point
マニュアルレスでラダー作成可能!
オペランド入力時に、構造体のメンバコメントの一部を入力するだけで接点などの入力ができます。(RT エディット機能)
効率よく変数を検索でき、プログラム作成工数削減につながります。
サイクリック通信用変数名などを対象にRT エディットを有効にさせるために以下の手順が必要です。
① [ 変数編集] ウィンドウで右クリックして、【構造体定義コメント登録(W)】をクリックします。
② 下記ダイアログが表示されます。〔OK〕をクリックします。
③ 構造体のメンバコメントの一部に「trg」が入っている変数の一覧が表示されます。
選択してラダープログラムに入力できます。
参考:通信データの設定
ここでは、VS-G / VSシリーズとPLC間の通信データの設定方法を説明します。
1ここでは例として、VS Creatorの設定において、以下のデータを出⼒するための設定をおこないます。
「通信」の〔+〕ボタンをクリックすると「ツール⼀覧」ダイアログが表示されます。
「出⼒」タブから「データ出⼒(産業⽤イーサネット)」を選択後、〔追加〕を選択します。