SFCフラグ
SFCフラグは、定義済みの名前を持つ暗黙的に生成される変数です。フラグを使用することで、SFCチャートの処理に影響を与えることができます。例えば、タイムアウトを表示したり、ステップチェーンをリセットしたりできます。さらに、ジョギングモードを有効にして、遷移をアクティブ化することもできます。これらの変数にアクセスするには、宣言してアクティブ化する必要があります。
SFCフラグ
名前 | データ型 | 説明 |
---|---|---|
|
|
|
|
| 同様の動作をする しかし、CODESYS初期ステップの初期化後も処理を続行します。例えば、初期ステップで、 |
|
|
|
|
| (をアクティブ化するために特別に使用される この変数を宣言して有効にする場合(SFC設定)、次のように設定する必要があります。 要件は、 |
|
| タイムアウトを引き起こしたステップの名前を保存します。これは、 登録されたステップエラーがリセットされるまで、名前は保持されます。 要件は、 |
|
| タイムアウトが発生し、登録されたブロックの名前を保存します。 要件は、 |
|
| このブール変数が 要件は、 |
|
| この変数が |
|
|
|
|
| 時間監視に関係なく、アクティブなステップの名前を表示します。 並列分岐では、右端の分岐ラインのステップの名前が常に保存されます。 |
|
| SFCブロックの「ジョギングモード」を制御します このフラグを有効にすると、 |
| 合計値に寄与するすべての変数を文字列として含む
| |
| 合計値に寄与するすべての変数を表にまとめます
|
SFCフラグの暗黙的な生成
CODESYSそれぞれのオプションを有効にすると、SFCフラグが自動的に宣言されます。このオプションは、 SFC設定各POUのプロパティダイアログのタブ、またはSFCプロジェクト内の各 SFC POU のプロジェクト設定ダイアログ。
ヒント
個々のPOUのSFCフラグのSFC設定は、デフォルトを使用するオプション。このオプションを選択すると、プロジェクト設定で定義された設定が適用されます。
ヒント
SFC 設定ダイアログで宣言した SFC フラグは、SFC ブロックのオンライン ビューでのみ表示されます。
SFCフラグの明示的な生成
手動での申告は、CoDeSys V2.3は、他のブロックからの書き込みアクセスを有効にする場合にのみ必要となります。この場合、グローバル変数リストでフラグを宣言する際には、そのフラグを無効化する必要があることに注意してください。宣言する SFC設定ダイアログで設定してください。これを行わない場合、ローカルSFCフラグが暗黙的に宣言され、CODESYSグローバル変数の代わりに使用します。
SFCErrorのアプリケーション例
SFCブロックを作成しましたsfc1
、これにはs1
ステップ。ステップのプロパティでタイムアウトを定義しました。(「sfc1
(下記「SFC POU」を参照してください。)
何らかの理由でs1
ステップが時間プロパティで許可された時間(タイムアウト)よりも長くアクティブなままの場合、CODESYS設定するSFCError
アプリケーションによるアクセスを許可するフラグ。
アクセスを許可するには、SFC設定でSFCフラグを宣言して有効化する必要があります。宣言のみの場合、SFCフラグはオンラインビューにのみ表示されます。sfc1
宣言部分にありますが、機能はありません。

これで、SFCフラグはPOU内、たとえばアクション(2)内やブロック(1)外から参照できるようになりました。

SFCブロックのオンラインビューsfc1

SFCError
はTRUE
タイムアウトが発生するとすぐにsfc2
。
使用できることに注意してくださいSFCErrorAnalyzation
そしてSFCErrorAnalyzationTable
フラグ(Analyzation
ライブラリ)を使用して、値に寄与する式のコンポーネントを決定しますTRUE
のSFCError
。
旗へのアクセス
アクセスの構文
フラグは POU 内で直接割り当てます。<variable name>:=<SFC flag>
checkerror:=SFCerror;
POU 名を持つ別の POU から: <variable name>:=<POU name>.<SFC flag>
checkerror:=SFC_prog.SFCerror;
別のブロックからの書き込みアクセスが必要な場合は、SFC ブロック内で VAR_INPUT 変数として SFC フラグを明示的に宣言するか、GVL 内でグローバルに宣言する必要があります。
ローカル宣言
PROGRAM SFC_prog VAR_INPUT SFCinit:BOOL; END_VAR
グローバル変数リスト内のグローバル宣言
VAR_GLOBAL SFCinit:BOOL; END_VAR
PROGRAM PLC_PRG VAR setinit: BOOL; END_VAR SFC_prog.SFCinit:=setinit; //Write access to SFCinit in SFC_prog