ラズベリーパイでPLC(シーケンサ)・ラダーの使い方を学んでみた

PLC(シーケンサ)

どうもミソジです。

今回は筆者が持っているラズベリーパイをPLC(シーケンサ)として使う実践編で「ラズベリーパイでPLC(シーケンサ)・ラダーの使い方を学んでみたを紹介します

 

ラズベリーパイでラダーのプログラムを実際に動かす手順を紹介しています。「自分でPLC(シーケンサ)・ラダーを色々触ってみたい!」という方におススメな記事となっています

 

本来は1記事でデバッグ動作の記事まで書きたかったのですが、長くなりすぎるので2つの記事に分けています。前回の記事はこちらから

前回の続き

前回はラダー作成・シミュレーションまで終了しました。

 

今回はラズベリーパイの設定~デバッグ動作まで行っていきます。接続図は下記イメージで、PLC(シーケンサ)代わりに使うラズベリーパイのGPIO設定からスタートします

 

「CODESYS」でGPIOマッピングをする

前回はラダー回路を書いただけですので、ラズベリーパイのどこのGPIOピンを入力・出力にするかマッピングしていきます。(まだどのピンで入力・出力するか決めていません。)

 

今回はラズベリーパイの「GPIO27」を入力、「GPIO17」を出力に選択します。(特に選択したピンに意図はそこまでありません。GPIOとして独立しているピンを基本選択しました)

 

前回の続きでPCで「CODESYS」を編集していきます。まずデバイスの欄にある「GPIOs_A_B」を選択してGPIOの設定画面を出します

 

①まずはGPIOs’パラメータの箇所でどのピンを入力・出力にするか決定します。設定する箇所の値をクリックして選択します(今回は「GPIO27」を入力、「GPIO17」を出力)

 

②次にGPIOs’ I/O マッピング を編集してラダー回路の「X001,Y001」と「GPIO17,GPIO27」を紐付けます。マッピングの箇所をクリックして入力・出力のピン一覧を出して該当の入出力箇所を選択します

新たなウインドウが出てきますのでまず入力のGPIO27では「Application」⇒「PLC_PRG」⇒「X001」を選択してあげます。

 

そして次に出力も同様に設定していきます。出力の場合はGPIO17の箇所に「Y001」を
選択します。

これでGPIO設定の処理が完了しました。次の章ではデバッグ用配線についてを説明します

 

デバッグ用の配線をする

今回は1入力(SW)・1出力(LED)の回路を用意していきます。

必要部品は上記に書いてある通りです
・タクトSW
・LED(赤)
・抵抗×2(筆者は10kΩ×2) ※入力のプルダウン用,LEDの電流制限用
・ブレッドボード
・ジャンパー線 ※筆者はメス-オスが4本,オス-オス2本でした

 

電子工作する人ならば基本手元にある部品かと思いますが、無ければ下記のようなセットを購入すればよいかと思います

 

接続図としては下記のような回路となります。よくある回路ですので特に問題ないはずです。

 

ラズベリーパイの設定を行う

前回記載していましたが今回PLC(シーケンサ)として使っているラズベリーパイ側の設定を行っていきます

今回のラズベリーパイ環境

今回の環境は下記となっています

ラズベリーパイ本体は古い「Raspberry Pi 1 Model B」から~最新の「Raspberry Pi 3 Model B+」のどのVerでもOKです。筆者も両方で動作を確認できています

OSに関しては筆者はRaspbianのその当時最新Ver(Ver4.14)で実施しています。

筆者のSDカードは下記の「Raspberry Pi 3 Model B+」はMicroSDの32GB,「Raspberry Pi 1 Model B」はSDの16GBですが特に問題ありませんでした

 

OSのRaspbianのダウンロード・インストールに関しては既にネット上に多くの記事がありますので省略します。

LANの設定(ラズベリーパイ側)

OSインストール後のラズベリーパイ側の設定に関して行っていきます。まずはPCとラズベリーパイをLANで接続するのでLAN周辺を設定します。

※PC側のLAN設定に関しては次章で説明します

今回はPCのIPアドレスを「192.168.0.100」、ラズベリーパイのIPアドレスは「192.168.0.10」設定していきます。

※特に繋がればIPアドレスは任意に設定してもらって大丈夫です(筆者はラズベリーパイのデフォルト値を使用しています)

 

最近のRaspbianは助かることにデフォルト設定を用意してくれています。

筆者が行った手順としては「/etc」フォルダを開き「dhcpcd.conf」ファイルを開きます。

青所の「Example static IP configuration」の箇所を編集します。といっても頭の「#」を消すだけです。「interface~」から「static domain~」の行の頭「#」を消します

消し終えましたら上書き保存したら終了です

インターフェイス設定(ラズベリーパイ側)

LAN経由で動かすとなるとSSH等の設定が必要になると思いましたのであらかじめ筆者は対応しました。(もし不要でしたらすみません)

 

こちらも最近のRaspbianは便利なもので、左上のラズベリーパイのアイコンから「設定」⇒「Raspberry Piの設定」で変更できます

タブをインターフェイスにすればSSH,VNC,SPIなどすべてここで変更が可能です。筆者は一旦すべて有効にしておきました。

理由はI2C・SPI・Onewire・カメラなどの情報も「CODESYS」経由で使えるらしいためです。(また使えるようになりましたら記事にしたいと思います)

これでラズベリーパイ側の設定は終了です。

 

PC側のLAN設定を行う

先ほどはラズベリーパイ側の設定をしましたので、PC側の設定もしておきます

PC側のLANのIPアドレスを「192.168.0.100」に設定していきます

 

「コントロールパネル」などから「ネットワーク接続」に行き、ローカルエリア接続のTCP/IPv4を選択します

後はIPアドレスを指定すればOKです。筆者のは下記設定ですが特にラズベリーパイと接続できるならば好きに設定しもらえれば構いません。

これでPC側のLAN設定も終了です

ラズベリーパイをPLC(シーケンサ)にする

これまでの章で準備が終わったので実際にラズベリーパイをPLC(シーケンサ)にしていきます。

 

LAN接続して電源を入れておく

既にデバッグ回路は組みましたので、この段階でPCとラズベリーパイをLAN接続していきます。LANケーブルは特に何でも構いません

筆者が使ったのは下記です

 

PCとラズベリーパイのLANコネクタ口にケーブルを接続します

LAN接続したら電源を入れておきましょう。

 

ビルドしておきましょう

既に何かしらビルドしてエラーないことを確認していると思いますが、実施していなかったら行っておきましょう。

タブの「ビルド」⇒「ビルド」を選択すれば実行できます、特にエラーが無ければOKです。

 

CODESYSをラズベリーパイにインストールします

PC経由でラズベリーパイにCODESYSをインストールをします。

 

まずは左枠にでている「Device」をダブルクリックしてDevice設定ができる画面を開きいておきます。※但しこの時点ではまだPCとラズベリーパイが接続できません

 

ラズベリーパイ側にまだ「CODESYS」がインストールされていないためです。そのためインストールします。「ツール」⇒「Update Raspberry Pi」を選択します

 

左枠がでてきましたらラズベリーパイを探してインストールしていきます。

 

①ラズベリーパイのユーザ名・パスワードを入力します。
②IPアドレスを入れてスキャンします。正常にLAN設定できていれば無事スキャンできます。見つけれたら「OK」を選択します

 

③「install」を選択しますと「CODESYS」がラズベリーパイ側にもインストールされます。少し時間がかかりますがこれでインストール作業完了です

 

特に実施する必要はありませんがインストール後に「System info」をクリックすると、ラズベリーパイの詳細情報(CPU情報・パッケージ内容など)が確認できます

 

インストール後にはデバイス欄でラズベリーパイが認識できるようになっています

 

デバッグ動作をしてみる

最後にラズベリーパイでデバッグ動作をしてみます。

 

①タブ「オンライン」から「ログイン」を選択します

 

②ダウンロードしていいか聞かれるので「はい」を選択しましょう

 

これでラダープログラムが動き出す直前になりました。「運転」のアイコンをクリックしましょう。

 

実際のラダー回路動作

前回作成したラダープログラム通りでしたらSWを押しているときは「X001」⇒「M001」⇒「Y001」とラダー回路が動作し、LEDが付くようになっています。

 

※SWが押していないとき…LED非点灯

 

※SWを押しているとき…LED点灯

 

実動作とラダー動作を合わせた動画をYoutubeでも上げておきました。こちらの方が何をしているか分かりやすいかと思います


これで無事ラズベリーパイをPLC(シーケンサ)としてラダー回路を動作させることができました。ラダー回路を変更すれば、様々な動作が可能です。

 

まとめ・感想

今回はフリーで使える「CODESYS」を使って実際にラズベリーパイをPLC(シーケンサ)として動作させることができました。

 

「自宅でPLC(シーケンサ)・ラダー回路の勉強・デバッグをしてみたい!」という方には非常に使いやすいソフトだと思います。ぜひ使ってみてください

 

次の記事ではさらに簡単なPLC・ラダーのプログラムを2例ほど作って動作させています。よろしければご覧ください

 

 

コメント