OB、FC、FBとDB。|フォローするホーム仕事SiemensOB、FC、FBとDB。今回は少し基本に戻っててSiemensのプログラム構造について紹介したいと思います。Siemensには大体OB、FC、FB、DBとその4つのブロッグがありましてそれそれの功能があってきちんと理解しておかないと効率いいのプログラム作れないですし、SiemensのPLCを使うのももったいないじゃないと思わないですか?でもよろしくお願いしますね!プログラムの流れSiemensのPLCシステムにはオペレーティングシステムとユーザープログラム2つがあります。ーオペレーティングシステムは様々な特定な制御タスク、例えばハードウェア割り込み用のOB40−OB47、エラー処理用のOB80-OB87、OB121とOB122...などなどのファンクションとシーケンスを管理する。ーユーザープログラムはいわゆるプログラマー(つまりあなた)が特定のオートメーションタスクの処理とかコントロールとかのプログラムが作成する部分です。番号によって順番に処理されます。OB1ー周期プログラム処理のオーガニゼーションブロックOB1は周期プログラム処理のブロッグですべての標準なプログラムがここから呼びされて実行します。プログラムの周期的実行するんです。*プログラムの中にOB1が必ず存在します!ファンクション(FC)ファンクション(FC)はメモリなしのブロッグです。FCの中の変数は実行された後消されますのでもしその中のデータが保存したいならデータプロック(DB)を使用するしかありません。メモリがないのため呼び出しの時すべてのパラメータを提供しないといけません。構文で直接再利用可能できるので、計算結果は戻り値のそのまま利用しよりよって複雑な計算式もっと簡潔にかけることができます。ファンクション(FC)は計算関数として使われたり、私はよくアラーム演算とか使うんです。ファンクションブロック(FB)ファンクションブロック(FB)はメモリ付きのブロックです。メモリ)に格納され、テンポラリ変数は、ローカルデータスタックに保存されています。そのため、FBが実行終わった後にもデータが失われません(ローカルデータスタック除く)。文字だけだとちょっとわかりにくいと思いますが、例えばモーターが10つがありまして、それそれの設定と現在スピード、ON/OFF/エラー状態などなどのパラメータたくさいんありまして、FBを使うことによって色々なデータを1つのインスタンスデータブロックでまとめることができます。最後はFBを10回Ctrl+C→Ctrl+Vしてパラメータ入力して完成です;)!共有データブロック(DB)OB、FCとFBと違って、データプロックはプログラムがありません。1つのDBの最大サイズはCPUによって違いますので使っているのCPUの取り扱い書を確認してくださいね。データブロックはユーザープログラムの動作に使用される変数データを保存するところです。いわゆる三菱のDですね。各OB、FC、FBからデータを読み込みと書き込むことができ、そのデータが処理完了した後に結果がDBの中に残ります。インスタンスデータブロックOB、FCとFCと違って、データプロックはプログラムがありません。内で宣言された変数がそのデータプロックの構造決定します。