サーマルカメラで火災検知した後、PLCを使って消火設備を動かしたり、パトライトやサイレンを鳴らしてメールを送信するシステムを構築していましたが、メールを送るPCの不具合なのかPCが勝手に再起動することがありました。
もしかしたらWindows Updateをオフにしてるんですが、なぜか再起動しちゃってます。やっぱりWindowsは常時監視には向かないなと思い、Linuxにしようと思っていました。
弊社で作成したプログラムはLabviewベースだった為、そう簡単にはLinuxに移行できません。
思い切ってPythonで作ってみようと思い作成してみました。
pythonといっても機械学習等のプログラムはできるけど、TkinterやKivy使ってフロントエンドのGUIがカッコ悪い。。。。。。。と思ってたら、FLETなるものを発見!
ってなことで、PLCの内部リレーを読み込み、データレジスタや内部リレーを表示するプログラムを作成してみました。が、いやいや、面倒くさい。Labview楽だったな〜
何度やっても正確に表示しない。。。。ふとマニュアルを見ると、上位ビット、下位ビット逆なんだ。。。
使ってみるとリレーの状況もわかるし、OPC用にデータレジスタに入れてなんてことしなくても良いので意外に使い道がありそうです。
FLETはポップアップ画面も作れるしボタンやLED表示なんかも綺麗なのでこのフレームワークかなと考えてます。
完成したプログラムはこちらです。
特定したPLCの値をもらうとメール送信します。
PLCの内部リレーを見れるようなデバッグページも作ってみました。
工場の稼働状況を事務所で見たい方や、無人で機械操作しているところにおすすめですね。
SQLでデータを保存すればOPCサーバーみたいな使い方もできます。
コメント
コメントを投稿