Pythonでキーエンス製PLC上位リンク通信機能のやり方は簡単にソケット通信でできる

Python

Pythonでキーエンス製PLC上位リンク通信機能のやり方は簡単にソケット通信でできる

PLCとPCのデータ連携

PLC内のデータをPCから読み出してデータ活用をする機会が増えました。そこで、今回は、キーエンス製のPLCとPCとのデータ連携を可能にする機能である「上位リンク通信」でのTCP通信をpython言語で試してみた。

python言語でTCP/IP通信

以外と簡単にPLCとの通信ができることがわかりました。下記の通り今回は3つのやり方についてソースコードを載せました。

  1. 機種問合せコマンド
  2. 読み出しコマンド
  3. 書き込みコマンド

下記は、機種の問合せを行うコマンドを投げて応答を返すソースコードです。

次に、データの読み出しコマンドのやり方を載せます。

PLC内のデバイス値の値は下記通りに適当に入れてたとします。

デバイス値 表示 コメント
DM53000 7 ±10進数32Bit データ1
DM53002 1203 ±10進数32Bit データ2
responseで返ってくる値は、10桁0埋めなので、データ処理する際はご注意下さい。

ちなみに、コマンドの

のコメント(‘#’)を入れ替えるとデータ連続読み出しになります。

次のコマンドは書き出しコマンドのやり方です。

コマンドの詳細は、キーエンスPLCのユーザーマニュアルの「上位リンク通信」を参照して下さい。

以上、Python言語でPLCとTCP通信してみました。これを応用してデータのやりとりやデータ収集などの応用ができますね。

その他、C#でTCP通信のやり方

【PLC】PCとリンクしてリアルタイムデータを読み書きして連携する

【PLC】キーエンスKV-7500で上位リンク通信でPCとPLCの通信を確立してデータを読み書きする方法