FBDってなんだ?
PLC(Programmable Logic Controller)では、ニモニックやラダーが結構使われています。
たまにST言語だのFBDだの聞きますが、これって一体何?という方のために書きたいと思います。
ST言語というのは、Structured Textの略で、高級言語に似通った内容です。
また、FBDとは、Function Block Diagramの略で、ラダーに似ていますが、役割を持ったブロックを繋ぎ合わせて作るプログラムのことです。最近、流行りのLabViewに近い感じがします。
一例として、私が作成したFBDを使った一例をご紹介いたします。
このFBDは、EN端子をONにすると、1秒パルスを出力するという単純な物です。
ST言語で書いてみましたが、ラダーでもFBDへの記述はできます。
FBDのメリット
ラダーで記述すると、どうしても可読性が悪くなりがちですが、FBDにすると、1つの命令系として、プログラム上で何度も使いまわしすることが可能となり、(画像の通り)すっきりとしたプログラムになるというわけです。
ちなみに、今回の例の場合は、凄く単純な物なので、ラダーで書く方が見やすいプログラムとなりますので、簡単なプログラムでは、全くメリットがありません。
複雑であればあるほど、FBDのメリットが生かされることでしょう。
PCのプログラムからPLCの世界に入った人は、結構ラダーが戸惑われることと思いますが、ST言語だと、高級言語と似通った命令体系ですので(Visual BasicとC++の愛の子?)移行しやすいかも知れませんね。
便利そうなST言語ではありますが、CX-Programmerだと、FBDを作成する以外に使えず、実際のプログラム上では使えません。
しかし、インラインSTと言って、実際のプログラム上でもST言語が使えるような環境が整いつつあり、オムロンでは、統合開発環境SysmacStudioを使えば、インラインSTが使えます。
また、FBDは、対応機種が限られておりますので、それも気になります。
開発環境は非常に高価になるのがネックとなるので、どうしても対応機種を使わなければならないなど余程のことがなければ、インラインSTのために移行するのは難しいかも知れませんね。
※なんと!CP2Eになり、FBDが使えるようになりました。下記アーティクルでレビューしていますので、併せてご覧ください。