スポンサーリンク
今回は、制御設計に応用できる『オブジェクト指向』について、設計への応用について紹介します。
あなたは『オブジェクト指向』という言葉をご存知ですか?プログラムに関わっている方はよく聞く言葉かもしれません。
『オブジェクト指向』という言葉の概念を理解し、設計に応用できればかなり効率よく設計できるようになります。結果として、ミスなく早い設計ができるようになってくるので、昇進、昇格や給料アップも期待できますね。
『オブジェクト指向』を理解して、設計に活かしていきましょう。
スポンサーリンク
1.オブジェクト指向ってなに?
オブジェクト指向は、主にJavaやRubyといった言語系プログラムで使われる言葉です。『オブジェクト』とは『モノ』を指していて、それぞれの機能を『モノ』のように考えていく概念を『オブジェクト指向』と言います。
オブジェクト指向は、実は定義が明確化されておらず、検索すると人によって言っていることが違ったりすることが多いです。ですが、肝心なのは機能を『モノ』としてとらえ、『モノ』と『モノ』をつなぎ合わせていくという考え方を理解することです。
オブジェクト指向三原則というものがありますが、初めて見ても ??? となってしまう人も多くいると思います。定義が明確化されていないので『こんな感じか~』というくらい理解できていれば問題ないです。
オブジェクト指向は概念ですので、どのように捉えて考えていくか、応用していくかがキモになります。
オブジェクト指向の概念を応用するメリットとして、変更などに柔軟に対応できるようになることです。
「仕様が決まらなくてなかなか進まない」
「やっとできたのに膨大な変更をしなければならなくなった」
こんなことにも柔軟に対応できるようになります。
機能を『モノ』のように考えて、変更に強い設計をしていきましょう。
2.オブジェクト指向の考え方
オブジェクト指向は最初に説明した通り、機能を『モノ』としてとらえていくことです。
制御設計をしている方は、要求された機能を満足するために『部品』を選んで『つなぎ合わせ』していきますよね?オブジェクト指向も同じように、機能を『モノ』つまり温度調節計などの機能を持ったコントローラーのような『モノ』としてとらえて考えていく概念です。
各機能を『モノ』化できれば、今度は『モノ』と『モノ』をつなぎ合わせていけば、色々な機能を持った大きな『モノ』になります。制御盤や装置も細かく機能を分けることができます。
この細かく分けた機能という『モノ』と『モノ』をつなぎ合わせた大きな『モノ』が制御盤や装置になると考えてみてください。
このように考えると難しくないですよね?
制御盤でも温度調節機能の制御回路もあれば、モーターを自己保持する機能の制御回路もあります。温度調節機能という『モノ』、モーター自己保持機能という『モノ』をつなぎ合わせて制御盤にするような捉え方が、オブジェクト指向という概念を応用する考え方です。
3.オブジェクト指向の概念を応用した制御設計
オブジェクト指向の概念のように捉えることで、各機能はある程度の『パターン化』が出来ます。パターン化するとどのようなメリットがあるでしょうか。
温度調節機能を『A機能』 自己保持機能を『B機能』 と仮定しましょう。
『A機能』は全部で3つ、『B機能』は全部で5つある制御盤を製作する場合、例えば『A機能』に変更があったとしましょう。『A機能』を割り当てた3つの回路は、全て同じ回路構成になっています。
すると、変更するとしても同じ回路ですので同じように変更していけばすべて同様に変更可能です。パターン化することで変更が容易になり、3つあっても1つの回路変更を考えれば、あとは同じように変更することが出来て考える時間を削減できることがメリットとして挙げられます。
また、パターン化することで回路を割り当てるだけという『簡単な作業』になるので、まだ回路を理解していない人などに『作業』の指示をすれば回路が出来上がります。あとは数を増やしたり、各機能を割り当てていくだけで大きな『モノ』、つまり制御盤や装置が完成します。
考える部分と割り当て作業の部分として分担できるようになることもメリットの1つです。
オブジェクト指向はプログラムの概念ですが、制御設計にも応用することで柔軟に変更に対応可能な設計が進められ、作業分担も簡単にできるようになります。
スポンサーリンク
4.ラダープログラム設計への応用
オブジェクト指向という概念は、もともとはプログラムの概念の1つです。制御設計にも応用できるのであれば、ラダープログラムであれば元々の概念に近い応用ができます。
ラダープログラムでも 自己保持、位置決め、アラーム(エラー)、モード選択、設定 などの各機能を、機能ごとにプログラムします。制御設計の場合はいくつも同じ回路を複製していくようなやり方になってしまいますが、ラダープログラムであれば複製せずとも「繰り返し」回路を作成することで、いくつも複製を作成する必要はありません。
ラダープログラムには繰り返し処理をする【FOR~NEXT命令】があります。インデックス(Z)デバイスを利用すれば、同じ配列に並べたアドレス割付をすることでひとつの回路で複数の同じ制御が実現可能です。
【FOR~NEXT命令】については別の機会にご紹介しますが、繰り返し処理を実行することで非常に短く簡単なラダープログラムが作成できるので、作成時間も非常に短くすることができます。
機能回路を作成したあとは、実際の入出力との『つなぎ合わせ』を考えてあげればプログラムは作成完了です。
オブジェクト指向の概念のラダープログラムへの応用は非常に有効な手段であり、効率化に大きく貢献します。
5.さいごに
オブジェクト指向はJavaやRubyという言語の概念ではありますが、考え方を応用することで制御設計も効率よく簡単にすることができます。プログラムの概念だからといって、まったく関係ないものと考えずに考え方が応用できないかを考えてみるものよいかもしれません。
オブジェクト指向という概念を理解し、設計に応用していきましょう。
関連記事:制御盤製作案件時の業務手順