TDBuildツールでC言語ファンクションブロックの登録時に「Initialize Instance」(FBインスタンスの初期化)というオプションがあるが、これはどういう意味か?


 ISaGRAF PROV4.10以降では、ワークベンチの辞書で登録したファンクションブロックインスタンスのローカル変数に対して初期値が設定できるようになりました。「Initialize Instance」オプションはこの初期化を明示的に行うかどうかの指定するものです。

TDBuildでは、新しいCファンクションブロックを作成する時に、定義ウィンドウの"Options" から以下の設定を行うことができます。


 

  • Yes, initialize instances(ファンクションブロックインスタンスの初期化を行う)
    ファンクションブロックに2つの関数
    "FblInstInit"(ファンクションブロックインスタンスの初期化)
    "FblInstExit"(ファンクションブロックインスタンスの終了)
    が生成されます。これらの関数は各インスタンス毎にファンクションブロックのローカル変数を初期化するために使用し、ターゲットの初期化/終了時にカーネルがこの関数をコールします。
    なお、生成される関数の中身は空なので、具体的な初期処理の内容はユーザがコーディングすることになります。
  • No, don't call instance initialization(ファンクションブロックインスタンス初期化をコールしない)
    2つの関数は生成されますが、実行時にはカーネルからコールされることはありません。

"Yes"/"No"のいずれを選択しても、ワークベンチへインポートする定義ファイルのみが変更されるだけで、生成されるファンクションブロックのテンプレートのCソースは同じものになります。

ファンクションブロックインスタンスのローカル変数の初期化の設定
FblInstInit関数を実装していても、同時に辞書からローカル変数の初期値を設定すると、辞書からの設定が優先されるので留意ください。
また、辞書でファンクションブロックインスタンスを登録しても、IECプログラム中で使用しなければFblInstInit関数はコールされません。
最終更新:
2009-03-19 12:05
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

  1. LD言語で、ある接点がFALSEの場合、それ以降のファンクションブロックを実行しないように出来るか? (44509 回の閲覧)
  2. SFC要素の「ステップ」と「トランジション」の意味と役割を教えてください。 (43374 回の閲覧)
  3. ISaGRAF WorkbenchをWindows 7で使用するにはどうしたらよいでしょうか? (40914 回の閲覧)
  4. ISaGRAFはIEC1131-3のシステム定義に準拠しているか? (38984 回の閲覧)
  5. PLCプログラムをより早く動かすにはどうすればよいですか? (38807 回の閲覧)
  6. LD言語で、立ち上がり・立ち下がりの出力はあるか? (36853 回の閲覧)
  7. VxWorksターゲットにおける変数管理の留意点について (36368 回の閲覧)
  8. 日立製作所製SHマイコン用コンパイラ使用時の注意事項 (35553 回の閲覧)
  9. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (35516 回の閲覧)
  10. FBD/LD言語で同じ行に複数の演算がある場合の実行順序は? (33501 回の閲覧)

最近の FAQ RSS

  1. ファンクションブロックはネストできますか。 (2016-08-05 15:07)
  2. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (2015-01-30 14:24)
  3. 前のISaGRAFで作成したプロジェクトをインポートしたら、コメントが文字化けを起こしています。 (2014-05-07 06:52)
  4. 前のバージョンで作成したプロジェクトは読み込めますか。 (2014-03-07 07:46)
  5. ISaGRAFでコンフィグレーション、リソースそれにPOUはそれぞれいくつ作成できますか。 (2014-03-07 02:06)