ラダープログラムの組み方・作り方 シーケンス制御ではどうなの?

技能検定・シーケンス制御

シーケンス制御で現在最も多く使われている「ラダー図」ですが、プログラミングのやり方にもいろんな方法、ルールが存在しています。
多くは、▲▲業界標準だとか、●●社規格だったりしますが、初めて取り組むとしたらどうすればいいのか?
いったい「参考資料」はどこにあるのか? ということが気になるところではないでしょうか?
やすだが考えるラダープログラムの参考資料で一番良い物は「過去に多くの実績がある」「トラブルの少ないメーカー」が「標準的に使用している」パターンだと考えています。
もちろん、時と場合によりけりですが数ある考え方、プログラミングのやり方の中から私がいつもやっている方法を簡単に紹介します。
もちろん、この方法が合わないところもあるでしょうから参考まで・・・ということで。
通常、ラダープログラミングの段階になれば当然ハードの仕様は決まっている(はずです)ので、機械や設備の装置または分類ごとにI/Oを振り分けます。
たとえば、ローディング装置部、姿勢変換部、取付部、加工部、補正装置部、計測部、排出部・・・などです。(架空の名称を使ってますから、自分に合ったように読み替えてください)
それぞれの装置単位毎に使用するI/O(LSやSOL等)が異なりますから、それを分けておくわけです。こうすることでプログラムの単位化(モジュール化)が可能になり各装置部分の専用プログラムを作成することができます。
基本的にはそれらのプログラムをワークの流れる順番に実行できるように作成しますが、いくつかの例外も発生します。
(たとえば、NC装置や特定のデバイス制御が必要なもの、タッチパネルや表示器などで大量のプログラムを作る場合もあり、ワークの流れと関連のない部分で作成するものも多いです。しかしそういった「サブ的」な物もモジュールとして使えるように考えます。)
それと同時に全体の構成を考えておきます。
全体プログラムは先ほどのモジュールを組み合わせますが、ラダー(に限らずソフト全般)では各装置間のインターロックや、全体を統合したり制御する部分が必要となります。そういった部分もある程度モジュール化して作成します。
ポイントとして構成順序の基本は、「流れに逆らわない」ということです。
つまり、電気の流れや信号の流れ、ワークの流れ・・・など、実際の物理的な物の動作や規則に合わせていくことがわかりやすいプログラムになります。
たとえば・・・
1.ボタンを押す
2.設備の状態をチェックする
3.動作シーケンスを起動する
4.出力信号を出す
のように、「入力信号を監視+現在の状況を監視」し、「条件が揃えば動作のために補助リレーをONさせ」それから「出力YをONさせる。」
といった、信号の流れ通りの順序で区分してラダーを組んでいきます。
各モジュールの中身もそのようにします。
1.先頭部分はLSの状態や装置の状態を監視する補助リレーで構成。
2.動作条件や動作シーケンスをその後に記述。
3.出力Yへの結果を記述。
全体構成も似たようなイメージです。
1.全体の状況・状態を監視・掌握する補助リレーで構成
2.各モジュール化されたプログラムからの信号など処理
3.各モジュール毎のプログラムを記述
4.表示器などのプログラムを記述
入力から出力へ、入り口から出口へ・・・この流れをスムーズにつないでいくような構成でラダーを作れば、比較的誰でも読みやすいものになっていくと思います。
欲を言えば各モジュールプログラムの先頭部分くらいに、他のモジュールから受け取るべき信号などをまとめて記述すると、さらに「部品」としての性格が強いプログラムになります。
特に多人数でプログラミングする場合には、工夫次第で効率よくなる・・・はずですが、全体の管理ができない時や一人ですべて作る場合には余計に時間がかかってしまう事もあります。
予算と内容、実行部隊の状況次第・・・といったところでしょうかね。

コメントは利用できません