最近、ラズパイでPLC(Programmable Logic Controller)開発環境を整えて、実機確認をおこなったので紹介します。
まず、PLCを学習する環境として、ラダー図の作成から実機確認まで無料で使用できるということで、「CODESYS(ソフトウェアPLC)」を使って環境を作ってみました。

CODESYSの設定と接続回路(LEDやSWの接続)は以下です。
- GPIO4,17,22,27:押しボタンスイッチを接続
- GPIO18,23,24:確認用のLEDを接続
①CODESYS(ソフト側)で使用するGPIO端子の設定を行います。

②ラズパイで使用するGPIO端子とラダー図のスイッチ番号を紐づけます

以上の設定で、ラダー図を作成して、動作確認までおこなうことができるのですが、肝心のラダー図を作成するための知識がないことに気づきました…ということで、ラダー図を作成するためにちょっとだけ勉強することにしました。
まず、PLCを使うにあたって、ラダー図の理解が必須です。最低限、A接点とB接点について学習して、ラダー図も書いてみました。(素人なので間違っていたらごめんなさい)
まずは、ラダー図の基本となる、「A接点」と「B接点」について学習したメモです。


次は、実際にCODESYSでラダー図を書いみました。実際にCODESYSを使って、押しボタンスイッチとLEDを組み合わせて確認してみました。







以上の学習結果を踏まえて、実際の動作に合わせてシーケンス制御のラダー図を作成してみました。予算の関係で機器がないので、こう動くだろうという想定でLEDなどに表示を確認しています。(なんちゃってラダー図です)

実際に「CODESYS+ラズパイ(ソフトウェアPLC」を使って動作させた動画が以下です。
思ったような動作ができました。これにリレー回路などを追加すると、面白いシステムが作れそうですね。