〜 シンプル通信PLC For KEYENCEのリファレンス 〜

プロパティ
プロパティ名 意味 設定値 説明
Password
(PARAMで表記する場合は、"ライセンスキー")
ライセンスキー ライセンスキー ベクターにて、送金すると、ライセンスキーが得られます。
このプロパティに、そのライセンスキーを設定すると、制限が解除されます。
Port シリアルポートの番号 1,2,その他 Windowsで対応するポートを設定できます。
PlcType シーケンサのタイプ 0:KV-700
1:KV-10
シーケンサのタイプを設定します。

メソッド
メソッド名 意味 引数値 戻り値 説明
Open() as Boolean
OpenS() as Boolean
ポートを開く - 正常: True
エラー: False
ポートを開き、通信を開始します。
ポートを開けない場合、falseを返します。
OpenSは、Openの特別なものです。
ライセンスキー(Password)が設定されていない場合、Openを実行すると、シェアウェアの確認ダイアログが表示されますが、OpenSでは、この表示はありません。
しかし、ライセンスキーが設定されていない場合、使用期限が過ぎると使用できなくなるのは共通です。
OpenSは、試用期間中に、ダイアログ表示を行いたくない場合や、ASPでの利用の場合に、使います。
Close ポートを閉じます - - ポートを閉じます
Init() as Boolean 通信の初期化 - 正常:True
エラー:False
通信エラーが発生した場合、シーケンサとの再接続を行うために使用します。
このメソッドは、ポートがオープン。つまり、Openメソッドの実行が成功しているときのみ利用できます。このメソッドは、Rs-232Cポートを初期化するのではありません。シーケンサとの接続を確立します。
 (説明)
 キーエンスのシーケンサは、Rs-232Cポートを開いただけでは通信できません。
開いた後で、一定の手順をふんで、パソコンからのコマンドを受け取れるように初期化する必要があります。このメソッドは、コマンドを受け取れるように初期化する(以後、PLC通信初期化と呼ぶ)ためのものです。Openメソッドは、Rs-232Cポートのオープンと、PLC通信初期化の両方を内部で行っています。
非同期コマンド(シーケンサからの返信を待たずに制御を返す)
Rd(ch as Long) as Boolean リレー読込 接点番号 正常: True
エラー: False
リレー接点番号(ch)の値を読み出すコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
St(ch as Long) as Boolean リレーセット 接点番号 正常: True
エラー: False
リレー接点番号(ch)を強制的にONにするコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
Rs(ch as Long) as Boolean リレーリセット 接点番号 正常: True
エラー: False
リレー接点番号(ch)を強制的にOFFにするコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
RdCR(ch as Long) as Boolean コントロールリレー読込 接点番号 正常: True
エラー: False
コントロールリレー接点番号(ch)の値を読み出すコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
StCR(ch as Long) as Boolean コントロールリレーセット 接点番号 正常: True
エラー: False
コントロールリレー接点番号(ch)を強制的にONにするコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
RsCR(ch as Long) as Boolean コントロールリレーリセット 接点番号 正常: True
エラー: False
コントロールリレー接点番号(ch)を強制的にOFFにするコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
RdDM(ch as Long) as Boolean データメモリ読込 メモリ番号 正常: True
エラー: False
データメモリ番号(ch)の値を読み出すコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
WrDM(ch as Long, val as Long) as Boolean データメモリ書き込み ch:メモリ番号
val:値
正常: True
エラー: False
データメモリ番号(ch)にデータ(val)を書き込むコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
RdCM(ch as Long) as Boolean コントロールメモリ読込 メモリ番号 正常: True
エラー: False
コントロールメモリ番号(ch)の値を読み出すコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
WrCM(ch as Long, val as Long) as Boolean コントロールメモリ書込 ch:メモリ番号
val:値
正常: True
エラー: False
コントロールメモリ番号(ch)にデータ(val)を書き込むコマンドを送信します。
シーケンサのデータは、OnComイベントを使って受け取ります。
同期コマンド(シーケンサからの返信を待って制御を返す)
RdSyn(ch as Long) as Long リレー読込 接点番号 正常:値(0,1)
エラー:-1
リレー接点番号(ch)の値を読み出します。
StSyn(ch as Long) as Long リレーセット 接点番号 正常: 0
エラー: -1
リレー接点番号(ch)を強制的にONにします。
RsSyn(ch as Long) as Long リレーリセット 接点番号 正常: 0
エラー: -1
リレー接点番号(ch)を強制的にOFFにします。
RdCRSyn(ch as Long) as Long コントロールリレー読込 接点番号 正常: 値(0,1)
エラー: -1
コントロールリレー接点番号(ch)の値を読み出します。
StCRSyn(ch as Long) as Long コントロールリレーセット 接点番号 正常: 0
エラー: -1
コントロールリレー接点番号(ch)を強制的にONにします。
RsCRSyn(ch as Long) as Long コントロールリレーリセット 接点番号 正常: 0
エラー: -1
コントロールリレー接点番号(ch)を強制的にOFFにします。
RdDMSyn(ch as Long) as Long データメモリ読込 メモリ番号 正常: 値
エラー: -1
データメモリ番号(ch)の値を読み出します。
WrDMSyn(ch as Long, val as Long) as Long データメモリ書き込み ch:メモリ番号
val:値
正常: 0
エラー: -1
データメモリ番号(ch)にデータ(val)を書き込みます。
RdCMSyn(ch as Long) as Long コントロールメモリ読込 メモリ番号 正常: 値
エラー: -1
コントロールメモリ番号(ch)の値を読み出します。
WrCMSyn(ch as Long, val as Long) as Long コントロールメモリ書込 ch:メモリ番号
val:値
正常: 0
エラー: -1
コントロールメモリ番号(ch)にデータ(val)を書き込みます。

イベント
イベントは、非同期のメソッドを実行した場合にのみ発生します。
イベント名 意味 引数値 説明
OnCom(Res as Long) データ受信 シーケンサに非同期のメソッドを使用してコマンドを送信し、シーケンサより正常に応答が返ってきた時、イベントが発生します。
Rd、RdCR、RdCM、RdDMコマンドを送信した場合は、Resに値が入ります。
このイベント内で、Rd、RdCRなどのコマンドを実行できますが、その場合は、すぐに、この関数を抜けるようにしてください。長い処理を行うと、この関数を実行中に、再びイベントが発生し、動作が不安定になります。
例:危険な記述
Private Sub Rs1.OnCom(Byval Res as Long)
 Rs1.Rd 0
 for i = 0 to 1000000 ・・・この関数を実行中に、次のイベントが発生し2重に実行されてしまいます。
 next
End Sub

また、コマンド送信後の構文にブレークポイントを設定し停止させると、再開してもイベントが発生しません。
上記の例では、For文にブレークポイントを設定すると、シーケンサからデータが返ってきても、次のイベントが発生しません。
OnError(lErr) エラー発生 エラー番号 シーケンサにコマンドを送信し、シーケンサより応答が返ってこない場合、イベントが発生します。
現在、コマンド送信後、3秒経っても返信が無い場合、エラーとします。