セクション: alg.アラーム
セクション SEC alg.Alarm モジュールアラームを定義します。モジュール アラームは基本的に、モジュールからのアラームに対応します。 CODESYS- アラームグループで設定されたアラーム管理。ただし、モジュール アラームにはモジュール固有の追加が含まれています。
詳細については、次の章を参照してください モジュール宣言の構文 そして オブジェクト: アラームグループ
仕様
SEC alg.Alarm //optional: yes, modifier: [UPDATE]
SEC SetAlarm <alarm identifier> //optional: yes, modifier [UPDATE]
Class := <class name>; //optional: no, type: ID
Message := <TextlistEntry>; //optional: no, type: TextListEntry
LatchVar1 := <LatchVariable1>; //optional: yes, type: InstancePath
LatchVar2 := <LatchVariable2>; //optional: yes, type: InstancePath
Deactivation := <DeactivationVariable>; //optional: yes, type: InstancePath
PendingTime := <PendingTime>; //optional: yes, type: LiteralOrConstant
PendingTimeParameter := <string> //optional: no, type: literal/string
HigherPrioAlarm := <HigherPrioAlarm_ID>; //optional: yes, type: ID
ModuleCalls := <ModuleCallFlags>; //optional: yes, type: ModuleCallFlag
SEC Messages : <alarm identifier> //optional: yes, modifier: [UPDATE]
Message := <TextlistEntry>; //optional: no, type: TextListEntry
Number := <ColumnNumber>; //optional: no, type: Literal
END_SEC
SEC LatchVar <latch var identifier> //optional: yes, modifier [UPDATE]
LatchVar := <LatchVariable>; //optional: no, type: InstancePath
Number := <LatchVarNumber> //optional: no, type: LiteralOrConstant
END_SEC
SEC UpperLimit //optional: yes, modifier: [UPDATE]
Expression := <Expression>; //optional: no, type: Literal/String
IncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool
UpperExpression := <UpperExpression>; //optional: no, type: Literal/String
Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant
END_SEC
SEC LowerLimit //optional: yes, modifier: [UPDATE]
Expression := <Expression>; //optional: no, type: Literal/String
IncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool
LowerExpression := <LowerExpression>; //optional: no, type: Literal/String
Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant
END_SEC
SEC InsideRange //optional: yes, modifier: [UPDATE]
Expression := <Expression>; //optional: no, type: Literal/String
AreaLow := <AreaLowValue>; //optional: no, type: Literal/String
LowIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool
HighIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool
AreaHigh := <AreaHighValue>; //optional: no, type: Literal/String
Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant
END_SEC
SEC OutsideRange //optional: yes, modifier: [UPDATE]
Expression := <Expression>; //optional: no, type: Literal/String
AreaLow := <AreaLowValue>; //optional: no, type: Literal/String
LowIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool
HighIncludeBorder := TRUE/FALSE; //optional: no, type: FlagBool
AreaHigh := <AreaHighValue>; //optional: no, type: Literal/String
Hyteresis := <HysteresisValue>; //optional: yes, type: LiteralOrConstant
END_SEC
SEC Digital //optional: yes, modifier: [UPDATE]
Expression := <Expression>; //optional: no, type: Literal/String
Equal := TRUE/FALSE; //optional: no, type: FlagBool
EqualsExpression := <Expression>; //optional: no, type: Literal/String
END_SEC
SEC Change //optional: yes, modifier: [UPDATE]
Expression := <Expression>; //optional: no, type: Literal/String
END_SEC
SEC Event //optional: yes, modifier: [UPDATE]
END_SEC
END_SEC
END_SEC
| のサブセクション |
| アラームが存在するアラーム クラス名。 アラーム クラスがアプリケーションにすでに存在する場合、アラームはこのクラスの下に自動的に作成されます。クラスが存在しない場合は、ビュー内にあるアラーム クラス テンプレート オブジェクトを検索します。 POU 嘘をつかなければなりません。対応するアラーム クラス テンプレート オブジェクトが見つからない場合、モジュール スキャンはエラーを返します。 |
| ID (フォームの アラーム グループ設定内のテキストにワイルドカードを含めることができるのと同様に、ID によって参照されるメッセージにはワイルドカードを含めることができます。たとえば、次のようなワイルドカード 指定されたテキスト リスト エントリが見つからない場合、スキャンによって警告が発行されます。 設定に対応 ニュース オブジェクトの中で アラームグループ。 |
| プレースホルダー変数 モジュール固有のアラームの現在のケースでは、モジュール FB から変数のみを直接指定できます (パラメータの変数がモジュール宣言で指定されるのと同様)。 設定に対応 ラッチ変数1 / ラッチ変数2 プレースホルダー用 |
| 非アクティブ化変数 (
以外の型の変数の場合 設定に対応 非アクティブ化 オブジェクトの中で アラームグループ」。 |
| 最小限の待ち時間。アラームが限界に達してから実際にトリガーされるまでの時間を指定します。 例: 設定に対応 最小待ち時間 オブジェクトの中で アラームグループ。 |
| 最小待ち時間を設定するパラメータ パラメータに割り当てられる値は、時間として解釈できる文字列です。または、モジュール パラメーターと時間リテラルで構成される式として。 . 例:
|
| 優先度の高いアラームのID 現在のアラームが分類されるアラームを識別するために、現在のモジュールのアラームにはターゲット ID が使用されます。 設定に対応 優先度の高いアラーム オブジェクトの中で アラームグループ。 |
| モジュール固有のアラーム管理の場合、モジュール FB は、モジュール アラームがトリガーされたときに呼び出すことができる特定のインターフェイスを提供できます。フラグによって、どのような場合にこれが発生するかが決まります。 . ModuleCallFlags利用可能なもの:
このフラグを介して呼び出されるモジュール FB には、インターフェイスが必要です。 最上位モジュールの場合、フラグ |
| サブセクションはパラメータと同じタスクを実行します。
|
| ラッチ変数。このセクションでは、最大 10 個のラッチ変数を定義できます。 このセクションに加えてエントリがある場合、
|
| 上限または下限を超えたときにトリガーされるアラームのアラーム条件を指定します。 セクションの下で 1 回のみ使用できます
設定に対応 上限 / 下限 オブジェクト内の監視タイプの場合 アラームグループ。 |
| 式が特定の値の範囲内または範囲外になったときにトリガーされるアラームを定義するアラーム条件。 セクションの下で 1 回のみ使用できます
設定に対応 範囲内 / 範囲外 オブジェクト内の監視タイプの場合 アラームグループ。 |
| 2 つの式が相互に比較されたときにトリガーされるアラームのアラーム条件。 セクションの下で 1 回のみ使用できます
設定に対応 デジタル オブジェクト内の監視タイプの場合 アラームグループ。 |
| 式の値が変更されたときにトリガーされるアラーム。 セクションの下で 1 回のみ使用できます
設定に対応 変化 オブジェクト内の監視タイプの場合 アラームグループ。 |
| 現在のアラーム セクションがイベント アラームを生成していることを示します。これは関数で実現できます |
例
SEC SetAlarm : ValueRange
Class := Error;
Message := TL.Alarm_Temperature;
LatchVar1 := rAlarmValueLow;
LatchVar2 := rAlarmValueHigh;
ModuleCalls := THIS | PARENTS;
SEC Messages : msg2
Message := TL.msg5_Message;
Number := 5;
END_SEC
SEC OutsideRange
Expression := 'rValue';
AreaLow := 'rAlarmValueLow';
LowIncludeBorder := TRUE;
HighIncludeBorder := TRUE;
AreaHigh := 'rAlarmValueHigh';
END_SEC
END_SECPendingTimeSEC alg.Alarm SEC SetAlarm : NoVar Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'NoVar'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : WithVar Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'WithVar'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : SimpleMath Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTimeParameter := 'WithVar - NoVar + TIME#5S'; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC SEC SetAlarm : NoParam Class := AlarmClassTemplate; Message := TL.NoVar_Message; PendingTime := TIME#5S; SEC Digital Expression := 'xAlarm'; Equal := TRUE; EqualsExpression :='TRUE'; END_SEC END_SEC END_SEC