今日、電気設備製造会社の面接を受けてきた。結果はどうなることやら・・・
言いたいことは全て言えたと思う。
CADオペから始めてゆくゆくは設計をして欲しいとのこと。
どんなものを作っているのか拝見させてもらったところ、ウチの会社で使っている設備にその部品が入っていたので、
ああ~なるほど!この部品は馴染みがあります。たまに設備のメンテナンスもやらされるので配線を組んだりもやってますけどね、
と答えてみた。
そしていろいろ話を聞いているうちに聞き慣れない抽象的な専門用語が出て来たので、ず~っと気になっていたから調べてみた。
その専門用語とは・・・
シーケンサー
さらに調べていくとPLCというものにたどり着き、これがC言語と結び付いたのである。
C言語のPLCは運転中の割り込み処理や変更ができないという欠点があることを知った。
何でも連想して結び付けたがる俺としては、じゃあPythonのPLCを作ったらどうだろうか?という発想に到るまでに一瞬であった。
実際、PythonのPLCは横河電機がすでに開発・販売しているのを知ってちょっと悔しくなった。
→【制御関係で特に一歩先を行くメーカーです。AIアプリケーションに良く用いられるPythonへ対応した機器を既に発売しています。また横河電機ではDCSも取り扱っており、横河電機製PLCの上位システムとしても利用することがあります。】
PythonのPLCは果たして運転中の割り込み処理や変更ができるのだろうか?
なんなら高速な並列処理が得意なGoやRustでPLCを開発してみたらどうだろうか?と思うのであった。
現在稼働中の処理を可視化し、その処理内容をミラーリングして並列化し、片方はそのまま稼働させ、他方は変更する。
変更が終了したら、稼働中の元の処理ラインに該当する部分を検索し、変更した方に移行・切り替えさせることができればこの問題は解決できるはずだ。
Goなら並列処理が得意なので可能なのでは?
※GoによるPLC開発は
→https://speakerdeck.com/laqiiz/go-plc
最後に負けず嫌いの女流棋士鎌田美礼ちゃん。
かわいい!