SFCプログラムからFBD言語のサブプログラムを起動するには、どのように記述するのか?


例として、以下のように記述すると、エラー008-0035(変数の型の不一致)が発生してしまう。

action(P):
    sw:=output();
end_action;
(* sw...論理値型変数、output....FBDサブプログラム *)

 上記のプログラムは、文法的には問題はありません。上記のエラーは、文法以外の所にエラーがあります。


考えられる原因
プログラムの2行目の,代入時の型が異なっている可能性があります。左辺swが論理値型であるのに、右辺のサブプログラムが論理値型でないからかもしれません。
とくに、ISaGRAF Ver.3では新規にサブプログラムやファンクションを作ると、出力パラメータの型(タイプ)は、デフォルトでは整数型になりますので注意が必要です。

対処
サブプログラムの出力パラメータの型を修正します。サブプログラムの編集時に,メニューの「ファイル」-「パラメータ」を実行してください。パラメータのなかに、サブプログラムと同じ名前のものがあります。これを正しい型にします。
今回の例では,outputを「論理値」にしてください。
下の図を見てください。サブプログラムは、デフォルトの出力パラメータが整数型になっています。出力のパラメータが重要でない(親プログラムで必要としない)プログラムを作る場合、型の変更を忘れがちですので注意が必要です。
最終更新:
2009-03-19 15:46
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

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

最近の 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)