PLC(プログラマブル・ロジック・コントローラー)の覚え書き


IEC61131-3とは

シーケンサの国際規格。「プログラムめんどくさい、使いまわせるようにしたい」というずぼらな皆さんのために、標準としてこれだけ守ってくれれば、他社のものにも簡単に移植できるとかそういうのを目指している。
実際のところ各社勝手に独自仕様とか付け足してるため、そのまま移植できることはまれである。
とはいえ基準ができればそれに従うのが日本人。てんでばらばらだったのが、多少は似通ってきた模様。
2013年に第3版に改定されたらしいが、日本のPLC業界はまだ第2版までの内容のところが多い。FB実装してないところすらある。

IEC 61131-3 第3版

主にオブジェクト指向プログラミングの追加
「クラス」「メソッド」「継承」などの要素が増えた
特に「メソッド」の要素は便利で影響が大きいと思われるが、GXWorks3でも使えないようである。
海外のPLC関連掲示板にはメソッド関連の書き込みがあるので、海外の製品では使えるものがある模様。

オブジェクト

データである「フィールド」と処理である「メソッド」をまとめた塊が「オブジェクト」
メソッドが1つなら第2版までのファンクションブロックのことと思って差し支えない。

要は?:FBDFBを置いたらそのFBは「オブジェクト」

クラス

同じ構造体ラベルが複数できるようなら、あらかじめその構造を「クラス」として定義しておいて、ラベルに適用するようにすればラクチン。というやつ。
FBラベル定義とほぼほぼイコール。
タイマーというクラスを設定して、T100というものに適用したら、T100.confでタイマーの設定時間、T100.OUTでタイマーの出力、T100.NOWで現在時間が得られると考えればわかりやすいか。

メソッド

FBに複数機能を入れておいて、ひとつだけ使うとかができるやつ。
第2版までのファンクションブロックは、ひとつのFBには一つの機能しか入れられなかったので、同じようなラベルを使う別の機能を使うには、もう一つFBを作る必要があった。
それをひとつのFBに複数の機能を入れられるようにした。その一つ一つの機能を「メソッド」と呼ぶ。
これで、同じ変数を使う機能をまとめてFBに入れておいて、必要に応じて必要な機能だけ使うことができるようになった。

要は?:FBの中のラダーとかST言語が「メソッド」 第3版からは中身が複数作れるという話

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

編集にはIDが必要です