action(P):
(* sw...論理値型変数、output....FBDサブプログラム *) |
上記のプログラムは、文法的には問題はありません。上記のエラーは、文法以外の所にエラーがあります。
考えられる原因
プログラムの2行目の,代入時の型が異なっている可能性があります。左辺swが論理値型であるのに、右辺のサブプログラムが論理値型でないからかもしれません。
とくに、ISaGRAF Ver.3では新規にサブプログラムやファンクションを作ると、出力パラメータの型(タイプ)は、デフォルトでは整数型になりますので注意が必要です。
サブプログラムの出力パラメータの型を修正します。サブプログラムの編集時に,メニューの「ファイル」-「パラメータ」を実行してください。パラメータのなかに、サブプログラムと同じ名前のものがあります。これを正しい型にします。
今回の例では,outputを「論理値」にしてください。
下の図を見てください。サブプログラムは、デフォルトの出力パラメータが整数型になっています。出力のパラメータが重要でない(親プログラムで必要としない)プログラムを作る場合、型の変更を忘れがちですので注意が必要です。