Skip to main content

SFCフラグ

SFCフラグは、定義済みの名前を持つ暗黙的に生成される変数です。フラグを使用することで、SFCチャートの処理に影響を与えることができます。例えば、タイムアウトを表示したり、ステップチェーンをリセットしたりできます。さらに、ジョギングモードを有効にして、遷移をアクティブ化することもできます。これらの変数にアクセスするには、宣言してアクティブ化する必要があります。

SFCフラグ

名前

データ型

説明

SFCInit

BOOL

TRUECODESYSシーケンスを初期ステップにリセットします。他のSFCフラグもリセットされます(初期化)。変数がTRUEの場合、初期ステップは設定(アクティブ)されたままですが、そのアクションは実行されません。SFCInit再びFALSE POU はさらに正常に処理されます。

SFCReset

BOOL

同様の動作をするSFCInit

しかし、CODESYS初期ステップの初期化後も処理を続行します。例えば、初期ステップで、SFCResetフラグをFALSE

SFCError

BOOL

TRUE SFCチャートでタイムアウトが発生した場合。プログラムで2回目のタイムアウトが発生した場合、変数を事前にリセットしない限り、タイムアウトは記録されません。SFCError宣言SFCError他のフラグ変数が時系列を制御するために機能するための要件である( SFCエラーステップSFCErrorPOUSFCQuitError)。

SFCEnableLimit

BOOL

(をアクティブ化するために特別に使用されるTRUE)と非アクティブ化(FALSE)タイムアウト制御を段階的に行うにはSFCError

この変数を宣言して有効にする場合(SFC設定)、次のように設定する必要があります。TRUEのためにSFCError動作しません。宣言しない場合、タイムアウトは無視されます。これは、例えば起動時や手動操作時などに便利です。変数を宣言しない場合、SFCError自動的に動作します。

要件は、SFCError

SFCErrorStep

STRING

タイムアウトを引き起こしたステップの名前を保存します。これは、SFCError

登録されたステップエラーがリセットされるまで、名前は保持されます。SFCQuitError (偽 -> 真)。

要件は、SFCError

SFCErrorPOU

STRING

タイムアウトが発生し、登録されたブロックの名前を保存します。SFCError名前はタイムアウトがリセットされるまで保存されます。SFCQuitError

要件は、SFCError

SFCQuitError

BOOL

このブール変数がTRUECODESYS SFCチャートの処理を一時停止し、変数に保存されたタイムアウトをSFCErrorはリセットされます。変数をFALSE、アクティブなステップの以前の時間はすべてリセットされます。

要件は、SFCError

SFCPause

BOOL

この変数がTRUECODESYS SFC チャートの処理を一時停止します。

SFCTrans

BOOL

TRUE切り替えがアクティブなとき

SFCCurrentStep

STRING

時間監視に関係なく、アクティブなステップの名前を表示します。

並列分岐では、右端の分岐ラインのステップの名前が常に保存されます。

SFCTip

SFCTipMode

BOOL

SFCブロックの「ジョギングモード」を制御します

このフラグを有効にすると、SFCTipMode=TRUEを設定することで次のステップをアクティブにすることができますSFCTipTRUE。 その間SFCTipMode設定されているFALSE、トランジションを使用してアクティベーションを継続することもできます。

SFCErrorAnalyzation

合計値に寄与するすべての変数を文字列として含むTRUESFCError(1ステップでタイムアウト)

SFCErrorこれを有効化する必要があります。

SFCErrorAnalyzation暗黙的にPOUの機能を使用するAnalyzeExpressionAnalyzation図書館。

SFCErrorAnalyzationTable

合計値に寄与するすべての変数を表にまとめますTRUESFCError(1ステップでタイムアウト)

SFCErrorこれを有効化する必要があります。

SFCErrorAnalyzationTable暗黙的にPOUの機能を使用するAnaylzeExpressionTableAnalyzation図書館。

SFCフラグの暗黙的な生成

CODESYSそれぞれのオプションを有効にすると、SFCフラグが自動的に宣言されます。このオプションは、 SFC設定各POUのプロパティダイアログのタブ、またはSFCプロジェクト内の各 SFC POU のプロジェクト設定ダイアログ。

ヒント

個々のPOUのSFCフラグのSFC設定は、デフォルトを使用するオプション。このオプションを選択すると、プロジェクト設定で定義された設定が適用されます。

ヒント

SFC 設定ダイアログで宣言した SFC フラグは、SFC ブロックのオンライン ビューでのみ表示されます。

SFCフラグの明示的な生成

手動での申告は、CoDeSys V2.3は、他のブロックからの書き込みアクセスを有効にする場合にのみ必要となります。この場合、グローバル変数リストでフラグを宣言する際には、そのフラグを無効化する必要があることに注意してください。宣言する SFC設定ダイアログで設定してください。これを行わない場合、ローカルSFCフラグが暗黙的に宣言され、CODESYSグローバル変数の代わりに使用します。

SFCErrorのアプリケーション例

2.

SFCブロックを作成しましたsfc1、これにはs1ステップ。ステップのプロパティでタイムアウトを定義しました。(「sfc1(下記「SFC POU」を参照してください。)

何らかの理由でs1ステップが時間プロパティで許可された時間(タイムアウト)よりも長くアクティブなままの場合、CODESYS設定するSFCErrorアプリケーションによるアクセスを許可するフラグ。

アクセスを許可するには、SFC設定でSFCフラグを宣言して有効化する必要があります。宣言のみの場合、SFCフラグはオンラインビューにのみ表示されます。sfc1宣言部分にありますが、機能はありません。

_cds_img_sfc_sfc_flags.png

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

_cds_img_sfc_sfcerror_example.png

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

_cds_img_sfc_sfcerror_example_online.png

SFCErrorTRUEタイムアウトが発生するとすぐにsfc2

使用できることに注意してくださいSFCErrorAnalyzationそしてSFCErrorAnalyzationTableフラグ(Analyzationライブラリ)を使用して、値に寄与する式のコンポーネントを決定しますTRUESFCError



旗へのアクセス

アクセスの構文

フラグは POU 内で直接割り当てます。<variable name>:=<SFC flag>

3.

checkerror:=SFCerror;



POU 名を持つ別の POU から: <variable name>:=<POU name>.<SFC flag>

4. 例:

checkerror:=SFC_prog.SFCerror;



別のブロックからの書き込みアクセスが必要な場合は、SFC ブロック内で VAR_INPUT 変数として SFC フラグを明示的に宣言するか、GVL 内でグローバルに宣言する必要があります。

5.

ローカル宣言

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