PLCで一連動作を行う場合様々な方法がありますが、個人的によく使う2つの方法についてまとめてみました。
一連動作とは
PLCにおける一連動作とは、事前にプログラムされた動作を順序通り実行する動作です。例えて言うと洗濯機がちょうどよい例だと思います。
洗濯機の場合は例えば以下のような順序動作が行われます。
- 注水
- 洗濯槽回転(一度目の選択)
- 排水
- 注水
- 洗濯槽回転(すすぎ)
- 排水
- 洗濯槽回転(乾燥)
- 終了音とともに電源切
このような順序動作をPLCにて実行する場合は下記の2手法が主に用いられます。
- 自己保持回路の状態によって動作を変更する方法
- データレジスタの数値の変化によって動作を変更する方法
記述方法
自己保持回路の状態によって動作を変更する方法
PLCおなじみの自己保持回路を多用する方法です。イメージは下記の通り。
起動スイッチにより動作が開始し、注水工程を自己保持し、その自己保持時に必要な動作(・・・部)を行うようにプログラミングします。注水工程が終了後洗濯機回転工程に移行します。とてもシンプルですね。
データレジスタの数値の変化によって動作を変更する方法
データレジスタと呼ばれる数値の値を状態によってが変更させる方法です。今回の場合D0の値が0のとき停止、1のとき注水、2のとき洗濯機回転と考えて下記の通りとなります。
こちらも同様に起動スイッチにより動作が開始し、D0に1が入り注水工程に入り必要な動作(・・・部)を行います。注水工程が終了後D0に2が入り洗濯機回転工程に移行します。一見複雑そうに見えますがそこまで難しくもないでしょう。
それぞれの特徴
それぞれの方法の特徴を簡単にまとめてみました
自己保持 | データレジスタ | |
---|---|---|
簡単に作成 | ◎ | ○ |
複数順序のあるプログラムの作成しやすさ | △ | ◎ |
タッチパネルによる状態表示 | △ | ◎ |
電源断時の処理 | ◎ | △ |
総合的に私のオススメはデータレジスタを用いた方法です。
簡単に作成できる
正直どちらの方法も簡単にかけますが、自分が新人の頃初めて記述したのは自己保持による方法です。こちらは、自己保持回路の記述方法さえ知っていればかけないことはないので、取っ付きとしてはとても良いと思います。一方データレジスタを用いた方法は自己保持回路のみではなく、データ値の扱い方を学ばなければならないため、学び始めたばかりの頃はなかなか取っつきにくい記述方法ではあります。
※PC制御から入った方はデータレジスタのほうが簡単だと言うご意見いただきました。
複数順序のあるプログラムの作成しやすさ
ここは記述時に大きく視認性が変わってきます。自己保持回路では上から巻物のように連続したプログラムを作成する際は気になりませんが、条件に応じて上下大きく移動したりするプログラムを作成すると自己保持デバイスや開始用デバイスの管理が煩雑になります。一方データレジスタを用いた方法では、条件に応じてD0に入れる値を変更するだけで良いので、無駄なデバイスを使用することなくスッキリ記述することができます。
タッチパネルによる状態表示
タッチパネルを使用する際に現在の動作状態を表示することがあります。自己保持回路による記述方法では簡単にこのような表示をし辛いですが、データレジスタを用いた方法では値によって変化するランプを使用することで状態表示を簡単に行うことができます。
電源断時の処理
一連動作時にPLCの電源が切れた場合の処理について比較します。自己保持の場合は電源が切れるとすべての自己保持が解除されるため、自動的にリセットされます。それに対してデータレジスタによる状態の遷移は電源が切れても残る場合があります(データレジスタの電源断時の挙動を要設定)途中から再開したい場合を除き、基本的にデータレジスタの値を起動時にすべてリセットするか、電源断でデータレジスタが保持されないようにする必要があります。
まとめ
一連動作をラダーで記述するときは、データレジスタの数値を変更することに伴って動作を行う方法が最終的にラダーがスッキリし総合的におすすめです。どちらにせよ、複数装置のプログラムを作成する際や同部署で記述する人が複数いる場合は今回のような記述方法の大枠をある程度標準化しておくと、メンテナンス時などに有効だともいます。
その場限りの記述ではなく、自分なりのスタイルを確立して、見やすく安定した記述方法を模索しよう!
コメント