Skip to main content

API 呼び出しによるプログラムによるアラーム制御

観測タイプのアラーム アラーム (API) の機能を用いてアプリケーションコード内でプログラム的にトリガーされます AlarmManager ライブラリと IA アラームハンドラー 9 インターフェイス。アラームを起動できますActivateAlarm)) または無効 (DeactivateAlarm) インターフェース経由。状態遷移は必要に応じて設定できます。この種のアラームは、アラームグループで直接定義することも、アラームグループテンプレートでアラームインスタンスとして定義することもできます

イベントによる観察とは異なり (イベント (API)、アラームは、すべての確認方法を使用してすべてのアラームクラスに使用できます。

重要

アラームクラスとその確認方法によっては、ビジュアライゼーションユーザーが実行時にアラームを確認する必要がある場合があります。

API によるアラーム

によるアラームの定義 アラーム (API) タイプ

  1. Alarm Configuration、を設定 アラームグループ

  2. アラームグループで、観測タイプのアラームを定義します アラーム (API)

  3. クラス 列、たとえばアラームクラスを選択 Warning Orange で、目的のアラームメッセージを指定してください。 メッセージ

アラーム ID_20API を介してトリガーされるものが定義されています。

_visu_img_define_alarmconfig_ag_alarmapi.png

このようなアラームはどのアラームクラスでも定義できます。詳細は必要ありません。つまり、アラーム条件は指定されません。アラームは API 呼び出しによってトリガーされます。

API 呼び出しの実装

手順. ステップ・バイ・ステップ
  1. API 呼び出しを行うプログラムの位置にカーソルを置きます。

  2. API 呼び出しを挿入します。

    ヒント

    入力アシスタントに任せて (F2)これを手伝ってください。

    実装

    このコードはアラームをアクティブにします ID_20 アラームグループ内 Alarms1Line

    // Activate by API Call
    Alarmmanager.AlarmGlobals.g_AlarmHandler.ActivateAlarm(1,Alm_Alarms1Line_Alarm_IDs.ID_20);

    このコードはアラームを無効にします ID_20 アラームグループ内 Alarms1Line

    // Deactivate by API Call  
    Alarmmanager.AlarmGlobals.g_AlarmHandler.DeactivateAlarm(1,Alm_Alarms1Line_Alarm_IDs.ID_20);

アラームインスタンスによるアラーム (API) によるアラーム

これは特にライブラリ開発者にとって重要です。さらに、提供されている API メソッドを使用してアラーム状態をプログラムで明示的に設定できます

によるアラームの定義 アラーム (API) タイプ

  1. Alarm Configuration、を設定 アラームグループテンプレート

  2. アラームグループで、観測タイプのアラームを定義します アラーム (API)

  3. クラス 列、たとえばアラームクラスを選択 Warning で目的のアラームメッセージを指定してください メッセージ

アラーム ID_0API を介してトリガーされるものが定義されています。

ヒント

で API アラームを定義することもできます。 アラームグループ

ファンクションブロックと API 呼び出しの実装

手順. ステップ・バイ・ステップ
  1. アプリケーションに関数ブロックを追加して、IEC コードで新しく定義されたアラームのアラーム状態を設定します。

    1. アプリケーションノードを選択し、をクリックします [オブジェクトを追加]POU コマンド。

    2. POU を次のように設定します。名前 MyAlarmFB、タイプ ファンクションブロック、実装言語 ST

      デクラレーション

      FUNCTION_BLOCK MyAlarmFB
      VAR_INPUT
      END_VAR
      VAR_OUTPUT
      END_VAR
      VAR
      END_VAR
      
    3. POU を選択して追加します ActivateAlarm そして DeactrivateAlarm メソッド。

    4. の ST エディタを開きます ActivateAlarm ライブラリ呼び出しをメソッド化し、プログラムします。

      ヒント

      入力アシスタントに任せて (F2)これを手伝ってください。

      このコードはアラームをアクティブにします ID_0 アラームグループテンプレートから。

      METHOD ActivateAlarm : BOOL
      VAR_INPUT
      END_VAR
      // Activate Alarm Instance Alarm by API Call
      Alarmmanager.AlarmGlobals.g_AlarmHandler.ActivateAlarmInstance(THIS, Alm_AlarmGroupTemplate_Alarm_IDs.ID_0);
    5. の ST エディタを開きます DesctivateAlarm ライブラリ呼び出しをメソッド化し、プログラムします。

      このコードはアラームを無効にします ID_0 アラームグループテンプレートから AGT

      METHOD DeactivateAlarm : BOOL
      VAR_INPUT
      END_VAR
      // Deactivate Alarm Instance Alarm by API Call
      Alarmmanager.AlarmGlobals.g_AlarmHandler.DeactivateAlarmInstance(THIS,Alm_AlarmGroupTemplate_Alarm_IDs.ID_0);

      オブジェクトナビゲーター

      _visu_img_alarmapi_agt_objects.png
  2. アラームグループテンプレートでファンクションブロックをインスタンス化します。

    1. のエディターを開く AlarmGroupTemplate そして、の縦の省略記号ボタンをクリックします 「」と入力してアラーム定義を行います。 行。

      入力アシスタントが開きます。

    2. アンダー Application、を選択します。 MyAlarmFB ファンクションブロック。

    アラーム定義がインスタンス化されます。

    _visu_img_define_alarmapi_in_agt.png
  3. IEC コードで API 呼び出しを実装し、目的の場所にアラーム呼び出しを追加します。

    デクラレーション

    PROGRAM PLC_PRG
    VAR
        alarmTemplateInstance : MyAlarmFB;
    END_VAR

    実装

        // Deactivate by API Call  
        alarmTemplateInstance.DeactivateAlarm();
    
        // Activate by API Call
        alarmTemplateInstance.ActivateAlarm(); 
  4. アラームインスタンスを作成します。

    1. を開きます Alarm Configuration 編集して [] をクリックします。 アラームインスタンス タブ。

    2. をクリックします アラームインスタンスを作成または更新します。 ボタン。

    内のアラームインスタンス Alarm Configuration 認識され、更新されました。

    _visu_img_alarmconfiguration_alarminstances.png