KEYENCE KVシリーズと接続
概要
-
-
KEYENCE KVシリーズの内臓Ethernetポートに対してメッセージ通信を行いPLCの状態やメモリの読み書きをします
このページでは以下の2つのメッセージを使ってKVシリーズと通信するライブラリを提供します どちらもKEYENCEのPLCがサーバになりKEYENCE側にはラダーは必要ありません
KvLinkライブラリ
-
ダウンロードされたときは利用規約に同意したものとみなします
ライブラリ同梱ファイル- KvLink.slr (ライブラリファイル)
- KvLink.csm2 (ライブラリソースファイル)
- KvLinkSample.csm2 (ライブラリを使用したサンプル)
- KvLink.md (ライブラリの説明)
上位リンク通信
-
上位リンク通信はKEYENCE独自の通信方法でメッセージはASCII文字列で送受信します
プロトコルはTCP/IPとUDP/IPに対応していてポート番号は8501(初期値)を使用します - FB一覧
- 名前空間 : KvLink
-
HostLinkRunModeRead 動作モード確認 HostLinkRunModeChange モード変更 HostLinkUnitType 機種の問い合わせ HostLinkErrClr エラークリア HostLinkEr エラー番号確認 HostLinkSetTime 時刻設定 HostLinkSet 強制セット HostLinkReset 強制リセット HostLinkSts 連続強制セット HostLinkRss 連続強制リセット HostLinkRead データ読出し HostLinkReads 連続データ読出し HostLinkWrite データ書き込み HostLinkWrites 連続データ書き込み HostLinkMBR モニタ読出し(ビット) HostLinkMWR モニタ読出し(ワード) HostLinkUDP 上位リンクコマンド送信 UDP HostLinkTCP 上位リンクコマンド送信 TCP
- HostLinkRunModeRead (動作モード確認)
-
入力 IpAddress STRING[200] 送信先IPアドレス
出力ReciveData STRING 受信データ
0=PROGRAM, 1=RUN - HostLinkRunModeChange (モード変更)
-
入力 IpAddress STRING[200] 送信先IPアドレス RunMode BOOL モード
FALSE=PROGRAM, TRUE=RUN
出力ReciveData STRING 受信データ - HostLinkUnitType (機種の問い合わせ)
-
入力 IpAddress STRING[200] 送信先IPアドレス
出力ReciveData STRING 受信データ
PLCの型式
PLCの型式KV-8000 : 57 KV-8000A : 58 KV-7300 : 54 KV-7500 : 55 KV-3000 : 51 KV-5000 : 52 KV-5500 : 53 KV-NC32T : 128 KV-N60xx : 132 KV-N40xx : 133 KV-N24xx : 134 - HostLinkErrClr (エラークリア)
-
入力 IpAddress STRING[200] 送信先IPアドレス
出力ReciveData STRING 受信データ - HostLinkEr (エラー番号確認)
-
入力 IpAddress STRING[200] 送信先IPアドレス
出力ReciveData STRING 受信データ
エラー番号 - HostLinkSetTime (時刻設定)
-
送信元PLCの時刻と合わせます
入力 IpAddress STRING[200] 送信先IPアドレス
出力ReciveData STRING 受信データ - HostLinkSet (強制セット)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ビットデバイス
出力ReciveData STRING 受信データ - HostLinkReset (強制リセット)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ビットデバイス
出力ReciveData STRING 受信データ - HostLinkSts (連続強制セット)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ビットデバイス Size USINT 書込み個数
出力ReciveData STRING 受信データ - HostLinkRss (連続強制リセット)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ビットデバイス Size USINT 書込み個数
出力ReciveData STRING 受信データ - HostLinkRead (データ読出し)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ワードデバイス
出力ReciveData STRING 受信データ - HostLinkReads (連続データ読出し)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ワードデバイス Size USINT 読出個数
受信データの桁数が1985byte以内
出力ReciveData STRING 受信データ
スペース区切り - HostLinkWrite (データ書き込み)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ワードデバイス WriteData STRING 書込みデータ
出力ReciveData STRING 受信データ - HostLinkWrites (連続データ書き込み)
-
入力 IpAddress STRING[200] 送信先IPアドレス Address STRING ワードデバイス Size USINT 書込個数
書込データの桁数が1968byte以内WriteData STRING 書込みデータ
スペース区切り
出力ReciveData STRING 受信データ - HostLinkMBR (モニタ読出し(ビット))
-
入力 IpAddress STRING[200] 送信先IPアドレス Devices STRING ビットデバイス スペース区切り
出力ReciveData STRING 受信データ - HostLinkMWR (モニタ読出し(ワード))
-
入力 IpAddress STRING[200] 送信先IPアドレス Devices STRING ワードデバイス
スペース区切り
出力ReciveData STRING 受信データ - HostLinkUDP (上位リンクコマンド送信 UDP)
-
入力 IpAdr STRING[200] 送信先IPアドレス Command STRING 上位リンクコマンド
出力ReciveSize UINT 受信バイト数
入出力ReciveData BYTE[*] 受信データ - HostLinkTCP (上位リンクコマンド送信 TCP)
-
入力 IpAdr STRING[200] 送信先IPアドレス Command STRING 上位リンクコマンド
出力ReciveSize UINT 受信バイト数
入出力ReciveData BYTE[*] 受信データ - ビットデバイス
- R0, B0, MR0, LR0, CR0, T0, C0, CTC0, VB0 等
- ワードデバイス
-
R0, B0, MR0, LR0, CR0, VB0, DM0, EM0, FM0, ZF0, W0, TM0, Z1, T0, TC0, TS0, C0, CC0, CS0, AT0, CM0, VM0 等
データ形式
.U .S .D .L .H を指定可能 - レスポンス (ReciveData)
-
正常時
O K [CR] [LF]
正常時(データありの場合)
データ1 sp データ2 sp データ3 sp ... データn [CR] [LF]
異常時
E ? [CR] [LF]
E0 デバイス番号異常 E1 コマンド異常 E2 プログラム未登録 E3 書込み禁止 E4 コマンド異常 E5 本体エラー E6 コメントなし

FB入力変数 | ||
Address | 'MR0' | |
FB出力変数 | ||
ReciveData | 'OK$R$L' |

FB入力変数 | ||
Address | 'MR0' | |
FB出力変数 | ||
ReciveData | '0$R$L' |

FB入力変数 | ||
Address | 'MR0' | |
Size | 5 | |
FB出力変数 | ||
ReciveData | '0 0 0 0 0$R$L' |

FB入力変数 | ||
Address | 'MR0' | |
Size | 3 | |
WriteData | '0 1 1' | |
FB出力変数 | ||
ReciveData | 'OK$R$L' |

FB入力変数 | ||
Devices | 'DM0 DM10' | |
FB出力変数 | ||
ReciveData | '00257 30683$R$L' |

FB入力変数 | ||
Command | 'BE 1$R' | |
FB入出力変数 | ||
ReciveData | 4F 4B 0D 0A ('OK$R$L') |
CIP通信
-
CIP通信はEthernet/IPユニットのメッセージ通信(サーバ)機能を利用してデータの読出しなどをします
- FB一覧
- 名前空間 : KvLink
-
CipRunModeRead 動作モード確認 CipRunModeChange モード変更 CipUnitType 機種の問い合わせ CipErrClr エラークリア CipEr エラー番号確認 CipReads 連続データ読出し CipWrites 連続データ書き込み CipClass3 CIPコマンド送信 Class3
- CipRunModeRead (動作モード読出し)
-
入力 RoutePath STRING[50] ルートパス
出力RespDat BYTE 受信データ
00=PROGRAM, 01=RUN - CipRunModeChange (モード変更)
-
入力 RoutePath STRING[50] ルートパス RunMode BOOL 動作モード
FALSE=PROGRAM, TRUE=RUN
出力ReciveDat BYTE 受信データ - CipUnitType (機種の問い合わせ)
-
入力 RoutePath STRING[50] ルートパス RunMode BOOL 動作モード
FALSE=PROGRAM, TRUE=RUN
出力RespDat BYTE 受信データ
PLCの型式
PLCの型式KV-8000 : 39 KV-8000A : 3A KV-7300 : 36 KV-7500 : 37 KV-3000 : 33 KV-5000 : 34 KV-5500 : 35 KV-NC32T : 80 KV-N60xx : 84 KV-N40xx : 85 KV-N24xx : 86 - CipErrClr (エラークリア)
-
入力 RoutePath STRING[50] ルートパス
出力RespDat BYTE 受信データ - CipEr (エラー番号確認)
-
入力 RoutePath STRING[50] ルートパス
出力RespDat BYTE 受信データ
エラー番号 - CipReads (連続データ読出し)
-
入力 RoutePath STRING[50] ルートパス Device \\KvLink
\DeviceCodeデバイス種別 Address UDNT デバイス番号 DataType BYTE データ形式
0=初期値, 1=ワード, 2=2ワード, 3=ビットReadSize UINT デバイス数
出力RespSize UINT 受信バイト数 RespDat BYTE[512] 受信データ - CipWrites (連続データ書き込み)
-
入力 RoutePath STRING[50] ルートパス Device \\KvLink
\DeviceCodeデバイス種別 Address UDNT デバイス番号 DataType BYTE データ形式
0=初期値, 1=ワード, 2=2ワード, 3=ビットWriteSize UINT 書込みバイト数 WriteData BYTE[500] 書込みデータ
出力RespDat BYTE 受信データ - CIPコマンド送信 Class3
-
入力 RoutePath STRING[50] ルートパス ServiceCode BYTE ClassID UINT InstanceID UINT AttributeID UINT ServiceDat BYTE[512] 送信サービスデータ Size UINT 送信要素数
出力RespSize UINT レスポンスサイズ
入出力RespDat BYTE[*] レスポンスデータ - レスポンス (RespDat)
-
メモリの状態が以下のとき
MR0 MR1 MR2 MR3 MR4 MR5 MR6 MR7 ON ON ON ON OFF ON OFF OFF
DataType = 3 (ビット)の場合
01 01 01 01 00 01 00 00
DataType = 1または2 (ワード)の場合
FF 02

FB入力変数 | ||
RoutePath | '02\192.168.250.31' | |
Device | \\KvLink\DeviceCode#MR | |
Address | 0 | |
DataType | 0 | |
ReadSize | 10 | |
FB出力変数 | ||
RespSize | 10 | |
RespData | 01 01 01 01 00 01 00 00 00 00 |
FB入力変数 | ||
RoutePath | '02\192.168.250.31' | |
Device | \\KvLink\DeviceCode#MR | |
Address | 0 | |
DataType | 0 | |
WriteSize | 6 | |
WriteData | 01 01 01 01 00 01 | |
FB出力変数 | ||
RespDat | 00 |