BaMessageSystem
Wenn es zu einem unerwünschten Betriebsverhalten kommt, kann dieses schnell behoben werden, sofern Servicepersonal hiervon in Kenntnis gesetzt wird. Doch verbleiben Fehlermeldungen ohne Managementsystem in der SPS, beziehungsweise in der Gebäudesteuerung, sodass aktiv in der Steuerung nachgesehen werden muss, warum diese nicht optimal regelt. Fehler werden folglich erst bemerkt, wenn eine Nebenwirkung auftritt. Eine mögliche Nebenwirkung kann eine inkorrekte Raumtemperatur sein, die zu Beschwerden führt. Ab diesem Zeitpunkt wird das Servicepersonal informiert und die Fehlermeldungen werden in der Steuerung geprüft. Um Fehlverhalten früher zu bemerken und negativen Effekten vorzubeugen, sollten Fehlermeldungen aus der Gebäudesteuerung an zuständiges Personal verschickt werden, sobald sie auftreten.
Die TF2000-HMI-Erweiterung BaMessageSystem unterstützt den Anwender dabei, dass Fehlermeldungen aus der Gebäudesteuerung direkt an zuständige Personengruppen gesendet werden können. So kann das Suchen einer Fehlerquelle nach einem unerwünschten Betriebsverhalten einer Steuerung optimiert werden.
Beschreibung der Anwendung
Nach der erfolgreichen Konfiguration der Extension werden empfangene Events der TF8040 sowie Verbindungsabbrüche zwischen Automationsstationen und der HMI an eingetragenes Personal weitergeleitet.
Begriffserläuterung
- Events: siehe TF8040 Infosys
- Secure Socket Optionen: Optionen sich mit einem SMTP-Server zu verbinden (siehe Mailkit Wiki )
Eventklassen
Eintreffende Ereignisse werden einer Eventklasse zugeordnet. Diese Klassen besitzen eine Ganz-Zahl als ID und eine Beschreibung. In der Benutzerkonfiguration kann sich ein Benutzer auf eine oder mehrere Eventklassen einschreiben, sodass dieser Benutzer über Ereignisse dieser Klasse informiert wird (siehe Benutzerkonfiguration).
Folgende Gruppen stehen zur Verfügung:
Gruppen für interne Ereignisse haben negative IDs:
- -99: Get all
Dient als Verteiler.
Wenn diese Gruppe einer Person zugeordnet ist, bekommt diese Person alle ausgehenden Nachrichten. Dazu zählen die Wartungsmitteilungen, Verbindungsabbrüche und Events der TF8040 und des HMI-Servers. - -1: Connection Issues
An diese Meldeklasse wird eine Nachricht versendet, wenn ein zuvor verbundenes Gerät die Verbindung verliert, oder ein Gerät nach dem Hinzufügen innerhalb von ca. 2,5 Minuten nicht verbunden ist. Außerdem erhält die Meldeklasse eine Nachricht, wenn eines der obigen Ereignisse eingetreten ist und das Gerät erneut erfolgreich verbunden wurde. - -2: TcHmiSrv
Ist eine Erweiterung unter dem Tab "Überwachung" eingetragen und wird nicht ausgeführt, wird ein Ereignis dieser Eventklasse versendet. - -3: Maintenance
Wenn es im Gebäude zu Wartungen kommt, können Meldungen unerwünscht sein.
Das Senden der Meldungen kann mit dem Wartungsmodus unterdrückt werden.
Dieser Modus kann in der HMI-Konfiguration aktiviert und deaktiviert werden. Siehe Kapitel Wartungsmodus.
Gruppen mit positiven IDs (0-255) werden aus der TF8040-SPS ausgelesen. Sie repräsentieren die in der SPS konfigurierten BACNet Benachrichtigungsklassen. Beispielsweise kann eine Eventklasse "10: Lebensgefahr" existieren.
Installation
Zur Einbindung der Erweiterung in das Projekt muss das NuGet-Paket installiert werden.
- 1. Führen Sie dazu auf dem Knoten Packages einen Rechtsklick aus.
- 2. Es öffnet sich ein Pop-Up, wählen Sie dort NuGet-Pakete verwalten … aus.

- 3. Wählen Sie die Paketquelle je nach Installationsart aus:
1. Workload TF8040 für TwinCAT 4026: tcpkg install TF8040.BuildingAutomation.XAE
2. TcPkg Paket TwinCAT 4026: tcpkg install TwinCAT.HMI.BA.MessageSystem
Wählen Sie dort jeweils den Eintrag BaMessageSystem. - Es öffnet sich ein Info-Fenster auf der rechten Seite, das den Button Installieren enthält.
- 4. Klicken Sie auf Installieren.

- Die Extension wird in das Projekt installiert.
Konfiguration
Die Konfiguration findet in der Konfigurationsseite der HMI statt.
Dieses geschieht zum einen in der "TwinCAT HMI Server Configuration" des XAE-HMI-Projektes oder auf der folgenden Konfigurationsseite im Browser: http://localhost:1010/Config (localhost mit Ihrer Serveradresse ersetzen).
Diese Anleitung bezieht sich auf die "TwinCAT HMI Server Configuration".
Öffnen Sie die "TwinCAT HMI Server Configuration" und klicken Sie auf den Tab BaMessageSystem:

Nun sind sechs Tabs sichtbar (je nach Sprache EN/DE):
Englisch | Deutsch |
|---|---|
Sites | Sites |
Monitoring | Überwachung |
Sending configuration | Sendeeinstellungen |
User Pool | Benutzerkonfiguration |
Common settings | Allgemeine Einstellungen |
Diagnostics | Diagnose |
Sites
Hier werden Sites hinzugefügt, entfernt und geändert.
- 1. Um eine Site hinzuzufügen, klicken Sie auf +Hinzufügen (im Englischen +Add).

- 2. Es öffnet sich ein Dialog, in dem Sie einen Namen, die AmsNetId und den Port des TF8040 Projekts angeben.
Zudem kann ein Gebäudename für die Identifikation der Site in den E-Mails angegeben werden. Dieser wird im Betreff vermerkt (bspw. "[Building B] ...").
Mit Aktiviert = true wird diese Site als zu verbinden gekennzeichnet. - 3. Stimmen alle Angaben, können Sie die Site mit Hinzufügen anlegen.

- 4. Ist das Gerät hinzugefügt, kann über das Stift-Icon
der Name geändert werden. Es öffnet sich ein Fenster, dort wird die Änderung mit Rename betätigt. Mit dem roten X Icon
kann der Eintrag gelöscht werden.
Überwachung
In diesem Tab wird die Überwachung anderer Server-Extensions konfiguriert.

Die Funktion sendet eine Nachricht an die Benutzer der Gruppe "-2: TcHmiSrv" und "-99: Get all", sobald konfigurierte Erweiterungen nicht mehr ausgeführt werden.
Wenn die BaMessageSystem-Erweiterung gestartet wird, so wird diese Funktion eine Minute lang ausgesetzt, da andere Erweiterungen noch nicht geladen sein können und dies zu einer falsch-positiven Fehlmeldung führen kann.
Wenn keine Erweiterung in den Einstellungen angegeben ist, wird der Dienst nicht ausgeführt und nur bei Änderungen der Konfiguration neu gestartet.
Einstellung | Funktion |
|---|---|
Intervall | Das Intervall in Sekunden, in dem der Status der Erweiterungen abgefragt wird. |
Erweiterungen | Hier können Erweiterungen, die überwacht werden sollen, hinzugefügt und aktiviert werden. |
Erweiterungen hinzufügen
- 1. Unter dem Knoten Erweiterungen erstellen Sie über + Hinzufügen einen neuen Eintrag.
- Es öffnet sich ein Dialog.
- 2. Tragen Sie im Feld Name den Namen der gewünschten Extension ein.
Wird das Eingabefeld ausgewählt, so erscheint eine Auflistung aller Extensions, die im HMI-Server eingetragen sind. Ausgenommen bei dieser Vorauswahl sind die server-eigenen Erweiterungen.
Wird der ausgewählte Vorschlag verändert, wird die Extension nicht überwacht, da der Name abweicht. - 3. Zur Überwachung stellen Sie das Feld Aktiviert auf true.
Durch das Feld Aktiviert kann die Überwachung gestoppt werden, ohne den Eintrag zu entfernen. - 4. Haben Sie eine Extension ausgewählt, fügen Sie den Eintrag durch den blauen Button Hinzufügen hinzu.

Sendeeinstellungen
Einstellungen zum Versenden von Nachrichten. Es besteht die Möglichkeit, Nachrichten über SMTP (E-Mail) zu versenden.
Einstellung | Funktion |
|---|---|
Absenderadresse | Die Adresse von der die E-Mail gesendet werden soll. |
Absendername | Der Name, welcher als Absendername in der E-Mail angezeigt werden soll. |
Hostname | Entweder die IP oder die Adresse des SMTP-Servers. Bitte hier keinen Port angeben! |
Port | Der Port des SMTP-Servers. |
Secure Socket Optionen | Die Methode, wie sich zum SMTP-Server verbunden werden soll. (siehe Mailkit Wiki ) |
Benutzername | Der Benutzername mit dem sich beim SMTP-Server angemeldet werden soll. Wenn der SMTP-Server Anonym benutzt werden soll, bitte dieses Feld leer lassen oder deaktivieren. |
Passwort | Das Passwort mit dem sich beim SMTP-Server angemeldet werden soll. Wenn der SMTP-Server Anonym benutzt werden soll, bitte dieses Feld leer lassen oder deaktivieren. |
![]() | Die E-Mail-Adresse darf keine Umlaute besitzen! |
![]() | Erkundigen Sie sich bitte vorher über die Einstellungen des SMTP-Servers bei Ihrem Administrator oder dem jeweiligen Provider! |

![]() | Wenn das Feld "Absendername" leer oder deaktiviert ist, wird die Zeichenfolge vor dem @ der Absenderadresse benutzt. Folglich wäre der Absendername bei einer E-Mail "Sender", sofern das Feld „Absendername“ frei ist. |
Benutzerkonfiguration
- 1. Damit Benutzer bei Events benachrichtigt werden können, fügen Sie diese unter der Kategorie Benutzerkonfiguration hunzu.:

- 2. Geben Sie hier den Namen der Person und die Adressen für die Nachrichten ein.
Zurzeit besteht nur die Möglichkeit eine E-Mail-Adresse einzugeben.
Die beiden Einträge Uhrzeit Anfang und Uhrzeit Ende geben den Zeitraum an, in dem dieser Benutzer benachrichtigt wird.
Wenn beide Einträge gleich sind, werden den ganzen Tag über Nachrichten zugestellt.
Wenn beispielsweise als Anfang 7 (Uhr) und Ende 16 (Uhr) eingetragen sind, werden auftretende Nachrichten von 7:00 Uhr bis 16 Uhr zugestellt.
- Nachdem der Benutzer angelegt ist, ist es möglich den Eintrag aufzuklappen.
- 3. Hier besteht wieder die Möglichkeit den Namen der Person mit dem Stift-Icon zu bearbeiten und mit dem roten X zu löschen.
- 4. Um dem Benutzer eine oder mehrere Eventklassen zuzuweisen, klappen Sie Bei folgenden Eventklassen benachrichtigen auf.
- 5. Fügen Sie einen neuen Eintrag mit einem Klick auf +Hinzufügen hinzu.

- Es öffnet sich ein Dialog.

- Der Eintrag der Eventklasse erfolgt im Feld Name.
- 6. Beim Klick auf das freie Feld öffnet sich ein Drop-down-Menü mit allen Eventklassen, die auf den verbundenen Geräten gefunden wurden.
- Es gibt drei weitere Eventklassen, die intern von der Extension hinzugefügt werden.
Auswahl der Eventklasse, die einer Person hinzugefügt werden soll.
Zudem gibt es weitere Einstellungsmöglichkeiten in diesem Dialog:
Einstellung | Funktion |
|---|---|
Event Klasse | Name der Eventklasse, die zugewiesen werden soll. |
Per E-Mail benachrichtigen | Wenn aktiviert, werden Benachrichtigungen an die eingetragene E-Mail-Adresse gesendet. |
Nachricht mit hoher Priorität senden | Bei E-Mails besteht die Möglichkeit die Priorität festzulegen. Dabei wird hier unterschieden zwischen hoher und normaler Priorität. |
Sprache | Die Sprache, in der die Nachricht gesendet wird. Zurzeit sind Deutsch und Englisch auswählbar. |
Zusätzliche Informationen | Wenn aktiviert, werden für die Eventklasse bei Nachrichten zusätzliche Informationen wie Versionsnummern mit versendet. Für die vollständige Liste siehe Anhang - Zusätzliche Informationen |
- 7. Legen Sie die Eventklasse über Hinzufügen an.
Das Bearbeiten oder Löschen der Eventklasse erfolgt über den Stift bzw. das rote Kreuz.
Zustände der Ereignisklassen
Pro Eventklasse können Zustände benannt werden, bei denen der Nutzer benachrichtigt wird.
Folgende Zustände sind valide und können nach dem Hinzufügen der Eventklasse erweitert werden:
"Present", "Present|Acked", "Gone", und "Gone Acked".
Benutzer werden nur bei dem eingetragenen Status benachrichtigt.
Ist die Eventklasse hinzugefügt, wird automatisch der Status Present hinzugefügt:

Allgemeine Einstellungen

Unter den allgemeinen Einstellungen existieren drei Optionen:
Einstellung | Funktion |
|---|---|
Link zur HMI | Hier kann optional ein Link zur TF8040 HMI angegeben werden, der in jeder E-Mail versendet wird. Dieses Feld kann aber auch leer oder deaktiviert sein. Durch diesen Link kann Servicepersonal schnell die HMI aufrufen und sich weitere Informationen anzeigen lassen. |
Wartungsmodus | Wenn aktiviert, werden keine Events weitergeleitet. Es wird einmalig bei Aktivierung oder Deaktivierung eine E-Mail an die Gruppe / Eventklasse "0: Get All" gesendet. Wenn eine Wartung am Gebäude vorliegt und massenhaft Events versendet werden, sollte diese Option aktiviert sein. Werkseinstellung: FALSE. |
Timer für den Wartungsmodus | Hier kann die Zeit in Stunden eingestellt werden, nach der der Wartungsmodus automatisch deaktiviert wird. Minimum: 0 -> Keine automatische Reaktivierung. Werkseinstellung: 24. |
Unter der Überschrift "Meldeschauer-Unterdrückung" existieren vier Optionen:
Einstellung | Funktion |
|---|---|
Verzögerung in Sekunden | Wenn ein Event eintrifft, wird die definierte Zeit gewartet, bis es gesendet wird. Sollte, währenddessen ein Event mit gleicher Eventklasse und gleichem Symbol eintreffen, wird es nicht gesendet, bis die Zeit erneut verstrichen ist. Die Events werden erst gesendet, wenn diese Verzögerungszeit abläuft, ohne dass das Event erneut eintrifft, oder bis das nachfolgende Sammelintervall verstrichen ist. |
Bericht in Minuten | Sollte ein Meldeschauer über diese Zeit hinaus anhalten, wird die Anzahl der aufgetretenen, identischen Events gesammelt gemeldet. |
Anzahl der Nachrichten bis zur Sammlung | Anzahl der Nachrichten, die im folgenden Zeitintervall zugestellt werden, bis Events gesammelt zugestellt werden, um eine Flut an Nachrichten zu vermeiden. |
Zeitintervall für Sammlung | In Minuten. Wenn in diesem Zeitintervall mehr Nachrichten als angegeben auftreten werden sie zusammengefasst und am Ende des Intervalls zusammen zugestellt. |
Anhang
TF8040 Events und Meldeschauer
Die Einstellung, ob ein Benutzer Standard- oder erweiterte Informationen erhält, wird für den jeweiligen Benutzer selbst getroffen (siehe Kapitel Benutzerkonfiguration)
Ist diese Option gewählt, wird die 'Extended'-Vorlage geladen, falls sie erstellt und gefunden wird.
Falls die E-Mail statisch generiert wird, werden folgende Informationen inkludiert, wenn der Benutzer 'Extended" angegeben hat:
Information | Standard | Erweitert |
|---|---|---|
Uhrzeit | x | x |
Object name | x | x |
Object description | x | x |
Message event texts | x | x |
Status flags | x | x |
Event state | x | x |
Symbol path |
| x |
Lock prio |
| x |
Versionen |
| x |
HMI Extensions
Information | Standard | Erweitert |
|---|---|---|
Uhrzeit | x | x |
Config versions | x | x |
Attached debugger |
| x |
Errors |
| x |
Extension name | x | x |
GUID |
| x |
Licensed |
| x |
Package version |
| x |
Remote |
| x |
Required |
| x |
State | x | x |
Third party |
| x |
Updated |
| x |
Version | x | x |
Visibility |
| x |
Troubleshoot
Zunächst ist es hilfreich, den Auszug aus dem Log anzusehen.
Dort soll sichergestellt sein, dass alle Einstellungen korrekt sind.
Extension kann nicht gestartet werden
Dieses kann mehrere Ursachen haben:
.NET Runtime nicht gefunden:
Folgende Fehlermeldung ist im Log des HMI-Servers eingetragen:
Die Erweiterung 'BaMessageSystem' konnte nicht geladen werden, da .NET Core Desktop Runtime 8.0.0 oder höher nicht gefunden wurde.
oder
Die Erweiterung 'BaMessageSystem' konnte nicht geladen werden, da .NET Core Runtime 8.0.0 oder höher nicht gefunden wurde.
Diese Fehlermeldung sagt aus, dass auf dem Betriebssystem keine .NET 8 Runtime installiert ist.
Diese wird von der Extension zur Funktion benötigt.
![]() | Bitte installieren Sie die .NET 8 Runtime nach! |
Nachricht wird nicht gesendet
Dieses kann mehrere Ursachen haben:
- Der HMI-Server ist nicht mit dem SMTP-Server verbunden.
Es ist zu prüfen, ob die Angaben in dem Tab "Sendeeinstellungen" korrekt sind und ob eine Verbindung zum SMTP-Server aufgebaut werden kann. - Die Absenderadresse ist leer oder inkorrekt.
Es muss sichergestellt sein, dass die Adressen der eingetragenen Benutzer nicht leer oder inkorrekt sind.
Soll eine Versandmethode nicht benutzt werden, kann das Adressfeld für diese Methode zwar leer bleiben, so darf aber die Option nicht beim Eintragen einer Meldeklasse in einer Person aktiviert werden. - Die Meldeklasse ist bei dem Benutzer nicht eingetragen.
Diese muss eingetragen werden, sofern ein Benutzer benachrichtigt werden soll.
Site wird nicht verbunden
Es ist sicherzustellen, dass der Controller läuft, TwinCAT sich im Run Mode befindet und eine Verbindung zwischen dem Controller und dem HMI-Server besteht.
Zudem muss der Controller ordnungsgemäß in den Einstellungen konfiguriert sein.
Absender-E-Mail-Adresse nicht richtig
E-Mail-Adressen dürfen keine Umlaute oder Sonderzeichen enthalten. Prüfen Sie die Absender-Adresse!
Dies kann vorkommen, wenn der SMTP-Server die Absender-Adresse nicht prüft und/oder keine Authentifikation besitzt.
Beispiel: GebäudeB <xn--gebudeb-7wa @beckhoff.com>
