Inbetriebnahme
Es gibt zwei Applikationsbeispiele für die Inbetriebnahme des Alarmhandlings:
- minimale Applikation, um nur das Alarmhandling zu beschreiben.
- Applikation mit kompletter Temperaturbibliothek für das Alarmhandling der Temperaturbibliothek.
In beiden Applikationen sind wichtige Stellen für das Alarmhandling durch (*TVAlarm*) gekennzeichnet.
Grundsätzlicher Aufbau der Applikation Example_TvAlarm zum Alarmhandling
Das Projekt besitzt folgende Arrays:
- stVisuTempAlarm:
Dieses Array ist vom Typ ST_VisuAlarm (eine Applikations-spezifische Struktur) und dient als Puffer, falls es mehrere Programmteile gibt, die gleichzeitig einen Fehler erzeugen (z.B. mehrere Zonen an einem Extruder), sowie zum Voreinstellen von prio, Idx1 und Idx2 zu jeder Fehlernummer. - aaaPfwTempMessageHmi:
Dieses Array ist vom Typ ST_TcTvA_Alarm_Itf und ist das Array, welches für die Visualisierung benutzt werden muss. Hier werden die einzelnen Fehler der Reihenfolge nach aufgelistet. - FB_InitAlarmMessage:
In diesem Baustein wird jeder Zelle des Array stVisuTempAlarm genau ein Fehlercode zugewiesen. - F_initTempMsg:
Diese Funktion wird im Baustein FB_InitAlarmMessage aufgerufen und ist für die Initialisierung des Fehlercodes im Array stVisuTempAlarm zuständig. - FB_MsgCheck:
Dieser Baustein muss zyklisch aufgerufen werden. Von hier aus werden sämtliche Bibliotheksbausteine aufgerufen. Das heißt: - aktive Meldungen werden in das Meldesystem als aktiv eingetragen,
- inaktive Meldungen werden in das Meldesystem als inaktiv eingetragen,
- inaktive Meldungen können gelöscht werden.
- FB_MsgCheckTemp:
In diesem Baustein werden alle Meldungen, die in diesem Zyklus aktiv geworden sind, an den entsprechenden Stellen im Array stVisuTempAlarm eingetragen.
Da in diesem Beispiel die PfwLib_Processing.lib-Bibliothek eingebunden wurde, mussten verschiedene Konstanten für die Temperaturregelung deklariert werden, welche jedoch für das eigentliche Alarm-Handling unwichtig sind und nur dazu dienen, dass das Projekt übersetzt werden kann. Im Quellcode sind diese Stellen entsprechend gekennzeichnet.
Grundsätzlicher Aufbau der Applikation Example_TvAlarm_TempCtrl zum Alarmhandling
Im Vergleich zum oberen Beispiel ist dieses Alarmhandling durch die verschiedenen Zonen der Temperaturregelung und durch die vielen möglichen Fehlermeldungen wesentlich komplexer.
Das Projekt besitzen folgende Arrays:
- stVisuTempAlarm:
Dieses Array ist vom Typ ST_VisuAlarm (eine Applikations-spezifische Struktur) und dient als Puffer, falls in einem Zyklus mehrere Alarme aktiv werden. In dem Array hat man die Möglichkeit 30 verschiedene Fehler für eine Zone aufzunehmen. - aaaPfwTempMessageHmi:
Dieses Array ist vom Typ ST_TcTvA_Alarm_Itf und muss für die Visualisierung benutzt werden. - FB_InitAlarmMessage:
In diesem Baustein wird jeder Zelle eines Arrays stVisuTempAlarm genau ein Fehlercode zugewiesen. - F_initTempMsg:
Diese Funktion wird im Baustein FB_InitAlarmMessage aufgerufen und ist für die Initialisierung des Fehlercodes im Array stVisuTempAlarm zuständig. - FB_MsgCheck:
Dieser Baustein muss zyklisch aufgerufen werden. Von hier aus werden sämtliche Bibliotheksbausteine aufgerufen. Das heißt - aktive Meldungen werden in das Meldesystem als aktiv eingetragen,
- inaktive Meldungen werden in das Meldesystem als inaktiv eingetragen,
- inaktive Meldungen können gelöscht werden.
- FB_MsgCheckTemp:
In diesem Baustein werden alle Meldungen, die in diesem Zyklus aktiv geworden sind, an den entsprechenden Stellen im Array stVisuTempAlarm eingetragen.