Die Datenprotokollierungskomponente ist ein spezielles Werkzeug in großen Farb-Serialschirmen zur Aufzeichnung von Alarmen/Events. Im Modbus-Projekt zeigt sie die Alarmzustände von Slave-Geräten (PLC, Frequenzumrichter, Temperaturregelmodule) zeitlich sortiert auf dem Bildschirm an. Dieses Tutorial führt Sie durch den gesamten Prozess von der Protokollkonfiguration über die Variablenerstellung bis zur Bildschirmintegration und legt dabei den Schwerpunkt aufbeiden gängigsten Anwendungsweisen der Ereignisaufzeichnung, um Fehlerkonfigurationen zu vermeiden, die zu Nichtanzeige oder Nichtspeicherung auf dem Display führen. Das Dokument basiert auf der „MODBUS-Anleitung _ Datenprotokollierungskontrolle V1.0“ von Guangzhou Dacai Optoelectronics Technology Co., Ltd. und unterliegt dem Copyright von Dacai.
1 Anwendungsbereich und Entwicklungsumgebung
Dieses Dokument gilt für alleDacai-Displays mit serieller Schnittstelle, die Modbus unterstützen: Grundmodell, Wirtschaftsmodell, Businessmodell, F-Modell, IoT-Modell, 86er-Box, 485-Serie. Die NANO-Serie ist ausgenommen (NANO unterstützt nur das Dacai-Konfigurationsprotokoll, nicht Modbus).
Vor dem Projektsetup prüfen Sie, ob die Version ausreicht. Eine unzureichende Version kann zu seltsamen Problemen während der Kompilierung oder im Betrieb führen, die erst nach langer Fehlersuche auf veraltete Firmware zurückgeführt werden:
| Software/Firmware | Mindestversion | Anzeigemethode |
|---|---|---|
| VisualTFT-Hochstufungssoftware | V3.0.0.1037 und höher | oberen rechten Bereich der Startseite / unteren rechten Ecke der Software |
| Basis-Typ / Wirtschaftstyp / Kommerzieller Typ Firmware | MB 2.22.912.259 und höher | Aufkleber auf der Rückseite des Displays oder Textsteuerung mit „Systemvariable → Firmware-Version“ gebunden |
| IoT-Typ Firmware | V3.0.301.0 und höher | wie oben |
| F-Typ Firmware | V4.1.66.0 und höher | wie oben |
Die Hardware-Verifizierungsplattform für dieses Beispiel istGroßfarbiger Basis-Typ 7-Zoll-Bildschirm DC80480B070, andere Größen der seriellen Portbildschirme können dieses Tutorial folgen. VisualTFT auf PC, offizielle Website http://www.gz-dc.com Herunterladen.
2 Serienbildschirme Modbus-Protokollgrundlage
Alle Serienbildschirme mit Ausnahme von NANO unterstützen gleichzeitig zwei Protokollversionen: das Modbus RTU-Protokoll und das Modbus RTU-Protokoll. Die physikalische Spezifikation des seriellen Anschlusses des Bildschirms ist festgelegt auf: 1 Startbit / 8 Datenbit / keine Validierung / 1 Stopp-Bit (8N1). Portratenbereich: RS232 unterstützt 1200 bis 921600 Bits/s (typisch 115200) und RS485 unterstützt 1200 bis 115200 Bits/s (typisch 9600).
Wenn Sie ein Modbus-Projekt entwickeln, werden die Variablen und Protokolle, die Sie in VisualTFT installieren, kompiliert und unter dem Projektpaket auf dem Bildschirm festgelegt. Wenn der Bildschirmals Hostverwendet wird, lesen Sie regelmäßig Anweisungen von der Maschine aus, erhalten Sie eine Antwort von der Maschine, aktualisieren Sie die gebundenen Steuerelemente oder lösen Sie eine voreingestellte Aktion aus. Wenn der Bildschirmals Ausgangsmaschinefunktioniert, reagiert er auf eine Abfrage der externen Hauptstation.
3 Modbus-Protokoll- und Variablenkonfiguration (Voraussetzung)
Öffnen Sie das VisualTFT-Menü Werkzeuge → Protokoll- und Variableneinstellungen, wählen Sie den Dateipfad auf der linken Seite und setzen Sie den Protokolltyp in der rechten Protokolleinstellungsleiste. Das Datenaufzeichnungssteuerelement selbst bindet keine spezifischen Registerlasen an, es zeigt die Statusänderungen der "Variablen" an, die aus dem Modbus-Register zugeordnet wurden - daher müssen das Protokoll und die Variablen zuerst zusammengesetzt werden.
3.1 Bildschirm als Host / Von-Maschine-Konfiguration


| Konfiguration | Standardwert | Beschreibung |
|---|---|---|
| Protokoll aktivieren | — | Muss angekreuzt werden, um Modbus zu unterstützen |
| Protokolltyp | — | Wählen Sie „Modbus Host“ oder „Modbus Slave“; dieser Beispielcode ist im Host-Modus |
| Slave-Adresse | 1 | Nur im Slave-Modus erforderlich, im Host-Modus wird die Slave-Adresse separat in der Variable eingetragen |
| Polling-Zyklus | 1 Sekunde | Intervall für das periodische Auslesen von Variablen |
| Polling-Verzögerung | 100 Millisekunden | Intervall zwischen zwei aufeinanderfolgenden Lesekommandos |
| Antworttimeout | 100 Millisekunden | Maximale zulässige Antwortverzögerung des Slave |
| Kontinuierliches Lesen | — | Maximale Anzahl an aufeinanderfolgenden Adressvariablen, die auf einmal gelesen werden können |
| Optimiertes Lesen | — | Bei Aktivierung werden nur Variablen des aktuellen Bildes gelesen, um seriellen Bandbreite zu sparen |
| Speicherungseinstellungen | — | Nicht speichern / Alle speichern / Spezifizierte Variablen speichern (Letzteres wird empfohlen, um Systemparameter mit seltenen Änderungen zu speichern) |
| Speichermarkierung | — | Das Datenformat wurde geändert, ändern Sie diesen Wert manuell, um das Lesen der alten Version des Speichers zu verhindern |
in den Speiseinstellungen„Alle speichern“ nicht empfohlen— Häufiges Schreiben in den Flash beschleunigt den Verschleiß von Blöcken. Für den Speicher bei Stromausfall wählen Sie „Speichern Sie bestimmte Variablen“ und klicken Sie auf die gewünschten Variablen. Bei der Konfiguration als Slave-Display gibt es weniger Optionen: Protokoll aktivieren, Protokolltyp auf „Modbus Slave“ einstellen, Slave-Adresse (Standard 1), Speiseinstellungen, Speichermarkierung.
3.2 Variablen erstellen


Nach dem Hinzufügen des Variablennodes im Eigenschaftsfenster einstellen. Einige wichtige Eigenschaften:
| Eigenschaft | Beschreibung |
|---|---|
| Name | Standard: Variable1/2/3…, empfohlen: sinnvoller Name wie „Anlagenstatus“; für segmentierte Variablen Standard: Field1/2/3…, kann geändert werden zu „Ein/Aus“ |
| Format / Symbol | Short-Integer, Long-Integer, Single-Precision-Float, String; kann als unsigned / signed eingestellt werden |
| Lese-/Schreibkonfiguration | Lesen & Schreiben / Nur Lesen / Nur Schreiben |
| Standardwert | Standardanzeigewert |
| Wertkonvertierung | Istwert = Rohwert × Skalierung + Verschiebung, z.B. 0,1-Faktor zur Umwandlung von Register-Integer in Dezimalgrößen |
| Anzeigeformat | Einstellung der Stellenanzahl für Ganzzahl- und Dezimalteil |
| Array-Typ | Bei Aktivierung werden ab dieser Adresse N Register nacheinander bearbeitet |
| Speicherung? | Nach dem Aktivieren der Speicherungseinstellung im Protokoll kann hier durch Ankreuzen die Speicherung bei Stromausfall erfolgen |
In den Variablenparametern: Unterstützte VariablentypenSpule, diskrete Eingabe, Speicherregister, Eingangsregister, Speichervariable, Systemvariable; Muss nur ausgefüllt werden, wenn die Anzeige als Host fungiertSlave-Adresse和Variable-Adresse (hexadezimal eingeben); „Slave initialisieren“ bedeutet, die Variablenwerte nach dem Einschalten an den Slave zurückzuschreiben; „Fehlerlesen auf Null setzen“ bedeutet, dass die Variable bei Nichterreichbarkeit auf Null gesetzt wird (in Alarmfällen mit Vorsicht verwenden, kann zu Fehldarstellungen führen).
4 Zwei Verwendungsweisen der Datenrekorder-Schaltfläche (erst lesen, dann konfigurieren)
Der Datenrekorder schreibt „Ereignisse, die durch Änderungen des Variablenzustands verursacht werden“. Um eine Alarmmeldung anzuzeigen, müssen zwei Dinge geschehen:
- Alarminterpretation: Erstellen einer Zuordnungstabelle „Ereignis-ID → Text/Farbe“. Was auf der Anzeige angezeigt wird und in welcher Farbe, wird hier festgelegt.
- Ereignisprotokoll [Auslösen]: Entscheidet, „wann ein Eintrag aufgezeichnet wird“. Nur wenn die Auslösebedingungen erfüllt sind, wird ein zeitstempelbasiertes Protokoll gemäß dem Text in der Alarmanalyse generiert.
Die Angabe der Ereignis-ID und der Formulierung der Auslösebedingungen hängt vom Slave abWelche Daten werden zurückgegeben?. In der Praxis gibt es zwei Verwendungsweisen mit völlig unterschiedlichen Konfigurationsmethoden, die nachfolgend differenziert erläutert werden.
4.1 Verwendungsweise 1: Bit-Mapping (Register liefert Bitmask, erfordert Unterknoten)
Anwendungsszenario: Der Slave verwendet unterschiedliche Bits in einem Register, um verschiedene Alarme darzustellen, und liefert eine „Bitmaske“. Beispiel: Erstellen einer diskreten Eingangsvariable „Anlagenfehler“ (nimmt 1 16-Bit-Register ein), wobei bit0=Kältemaschinen-Niederdruck, bit1=Lüfterfehler, bit2=Rauchmelderalarm, bit3=Filterverstopfung.
Muss Unterknoten erstellen: Da diese Verwendungsweise jedes Bit separat als Variable extrahieren muss, kann die Steuerung sonst nicht erkennen, welches Bit gemeint ist. Unter der Variable Unterknoten (Segmentvariablen) hinzufügen und bit0~bit3 benennen:
| Unterknoten (Segmentvariablen) | entspricht Bit | Bedeutung |
|---|---|---|
| Feld1 | bit0 | Kältemaschinen-Niederdruck |
| Feld2 | bit1 | Lüfterfehler |
| Feld3 | bit2 | Rauchmelderalarm |
| Feld4 | bit3 | Filterverstopfung |
Alarmanalyse: Event-ID füllenSubknotennummer 0/1/2/3(entspricht bit0~bit3), Beschreibung und Farbe festlegen.
Ereignisprotokoll [Auslösen]: Ereignisparameter auf Variable, Event-ID auf entsprechenden Subknoten (0/1/2/3) auswählen, Ausführungskondition als „dieser Subknoten == 1“ eingeben. Beispiel: Ereignisparameter=Variable / Event-ID=0 / Ausführungskondition=Gleich / Variable=Maschinenausfall/Kompressor-Niederdruck / Wert=1.
⚠ Hinweis:In der bit-Nutzung bezieht sich Event-ID aufSubknotennummer (beginnend mit 0), nicht auf 0001/0002, die vom Register zurückgegeben wird. Entsprechende Registerwerte: 0x0001/0x0002/0x0004/0x0008. Ein 16-Bit-Register kann maximal 16 Ereignisse von bit0~bit15 aufnehmen. Die Ereignisverknüpfung erfolgt aufder Bildschirmseite: Die Steuerung nimmt den Registerwert und passt ihn an den Subknoten nach bit an, dann greift sie in der Alarmanalyse auf den Text zu.
4.2 Verwendung 2: Wertzuordnung (Direktlesen der Ereignisnummer aus dem Register, ohne Unterknoten zu erstellen)
Anwendungsfall: Der Slave gibt direkt einen „Ereignisnummer“-Wert zurück, z.B. 0x0001 für Ereignis 1, 0x0002 für Ereignis 2, 0x0003 für Ereignis 3… Das Register enthält die Nummer selbst,es ist nicht erforderlich, Bits zu trennen oder Unterknoten zu erstellen。
Keine Unterknoten: Bei dieser Verwendung gibt es nur eine Variable, der zurückgelesene Wert ist die Ereignisnummer, trennen Sie keine Bits.
Alarmanalyse: Füllen Sie die Ereignis-ID mitdem vom Slave zurückgegebenen Nummervalue(z.B. 1, 2, 3 oder den entsprechenden Hexwert 0001, 0002, 0003, entsprechend dem tatsächlichen Rückgabewert des Registers) aus und legen Sie Beschreibung und Farbe fest.
Ereignisprotokoll [Auslösen] Konfiguration (streng nach folgenden 5 Schritten):
- Ereignisparameter: Wählen Sie "Variable"
- Ereignis-ID: Wählen Sie die oben festgelegte Registriervariable aus (die Variable selbst, die die Nummer liest)
- Ausführungsbedingung: Wählen Sie "gleich"
- Variable: oder wählen Sie dieses Register aus (das gleiche wie in Schritt 2)
- Wert: Füllen Sie den von der Maschine zurückgegebenen Wert aus (z. B. 1 / 2 / 3 oder 0001 / 0002 / 0003, entsprechend der Ereignis-ID in der Warnauflösung)
⚠ Hinweis: Die Wertzuordnungverwendet keine Unterknoten und schreibt nicht "Bit == 1". Die Bedingung ist "Registerwert == eine bestimmte Nummer", und der Hit-Bildschirm zeigt / protokolliert die Zeit direkt auf dem Text, der der Nummer entspricht, die in der Warnung aufgelöst wurde. Die Ereignis-ID in der Warnauflösung muss genau mit dem "Wert" übereinstimmen, sonst wird die gelesene Zahl nicht mit dem Text übereinstimmen und wird nicht auf dem Bildschirm angezeigt oder gezählt.
4.3 Welche der beiden Verwendungen wählen
| Vergleichsmerkmale | Verwendung 1 Bit-Mapping | Verwendung 2 Wertzuordnung |
|---|---|---|
| Slave Rückgabe | Bitmap (jedes Bit ein Alarm) | Ereignisnummerwert (0001/0002/0003…) |
| Subknoten erstellen | Erforderlich (Bit aufteilen) | Nicht erforderlich |
| Welchen Ereignis-ID eintragen | Subknotennummer 0/1/2/3 | Die zurückgegebene Nummer des Registers |
| Ausführungsbedingung | Ein bestimmtes Unterknoten == 1 | Register == eine bestimmte Nummer |
| Häufige Szenarien | Ein Fehlerwort enthält mehrere Schaltgrößen | Die Slave meldet aktiv die Ereignisnummer |
5 Tutorial-Implementierung (vollständige Demonstration der bit-Verwendung, Wertzuordnung siehe 4.2)
Die Datenrekordersteuerung unterstützt drei Rekordtypen:Aktuelle Alarme、Historische Alarme、Historische Alarme und Entfernung(Die "Historischen Warnungen" enthalten zusätzlich die Freigabedaten jeder Warnung). Dieses Beispiel demonstriert die ersten beiden Schritte, insgesamt gibt es drei Phasen: Material vorbereiten → Funktionalität implementieren → Projekt herunterladen. Im Folgenden wird der gesamte Prozess anhand der bit-Nutzung in Abschnitt 4.1 durchgeführt (mit Diagrammen); wenn Ihr Projekt eine Wertezuordnung nach 4.2 verwendet, passen Sie einfach die "Ereignisprotokolle [Auslösen]" nach den 5 Schritten in 4.2 an, sonst ist alles gleich.
5.1 Projektmaterial vorbereiten
Die Hardware verwendet den DC80480B070 mit einem 7-Zoll-Display als Basismodell; die Software nutzt VisualTFT; die UI verwendet vorbereitete Grafiken. Die Engineering-Struktur besteht aus einer Startseite-Navigation + Unterteilung: Die Startseite hat zwei Schaltknöpfe zur Wechsel zu den Bildschirmen „Aktuelle Warnungen“ und „Historische Warnungen“, jeweils mit einem Zurück-zur-Startseite-Knopf. Zusätzlich gibt es zwei rein informative Bildschirme: „Erläuterung zu aktuellen Warnungen“ und „Erläuterung zu historischen Warnungen“.
5.2 Neues Projekt erstellen

Öffnen Sie das Menü [Datei] → [Neues Projekt], das Fenster zum Erstellen eines neuen Projekts erscheint, richten Sie den Projektnamen, den Pfad und den Gerätyyp ein und klicken Sie auf [OK].
5.3 Modbus-Host konfigurieren

Gehen Sie zu Werkzeuge → Protokoll- und Variableneinstellungen und setzen Sie den Protokolltyp Modbus-Host auf, die Parameter lauten Abschnitt 3.1. Umfrage Zyklus 1 Sekunde, Umfrage Verzögerung 100ms, Antwort Timeout 100ms ist Standard, in der Regel nicht bewegen.
5.4 Ansicht und Steuerelementkonfiguration


Auf der Startseite werden zwei Schaltflächen (Steuerelement-ID: 1) platziert, mit dem Touch-Typ „Bild wechseln“, wobei die Zielbilder jeweils [Aktuelle Warnungen] und [Historische Warnungen] sind. In den Schaltflächen-Eigenschaften wird der Touch-Typ auf „Bild wechseln“ gesetzt und das Zielbild auf [Aktuelle Warnungen] ausgewählt, der andere Schaltfläche entsprechend.
5.5 Aktuelle Alarmauswertungsansicht
Wenn das Slavegerät einen Alarm auslöst, zeigt das DatenanzeigesteuerelementAktuelledie Alarm- und Auslösezeit; nach der Alarmbehebung wird die Komponente diese Zeile nicht mehr anzeigen. Konfigurationsschritte:
- Fügen Sie auf dem Bildschirm eine Datenrekorder-Komponente hinzu (Komponenten-ID:1), setzen Sie den „Aufzeichnungstyp“ aufaktuellen Alarm;
- und definieren Sie in der „Alarminterpretation“ die Werte, Anzeigefarben und Beschreibungen für die einzelnen Ereignis-IDs;
- Für jede Ereignis-ID wird eine logische Verarbeitung mit der Verwendung „Ereignisprotokoll [Auslösen]“ hinzugefügt, wobei die Ausführungsvoraussetzung auf dieser Bitposition == 1 (Bitnutzung) oder auf diesem Registerwert == Nummer (Wertzuordnung, siehe 4.2) eingestellt wird.


„Alarminterpretation“ Dialogfeld mit drei Spalten: Ereignis-ID (Wert), Vordergrundfarbe, Beschreibung. In diesem Beispiel wird die Bit-Verwendung verwendet, eine diskrete Eingabeveränderliche „Anlagenfehler“ mit den ersten 4 Bits erstellt, die Ereignis-IDs mit den Teilordernummer0=Kompressor-Niederdruck, 1=Lüfterfehler, 2=Rauchmelderalarm, 3=Filterverstopfung(in den aktuellen Alarmen werden die Farben nach Schweregrad unterschieden, z.B. Kompressor-Niederdruck rot, Lüfter/Rauchmelder grün, Filter blau).

Jede Ereignis-ID entspricht einer Logik „Ereignisprotokoll [Auslösen]“. Die Bit-Nutzung und -Schreibweise sieht wie folgt aus:事件记录[触发] / 控件(1,1) / 事件(0) / 条件(机组故障/压缩机低压 == 1), d.h. wenn dieser Bit 1 ist, wird ein Alarmprotokoll ausgelöst. Die vier Ereignisse sind Ereignis 0 (Kompressor-Niederdruck), Ereignis 1 (Lüfterfehler), Ereignis 2 (Rauchmelderalarm) und Ereignis 3 (Filterverstopfung) – die Ereignis-IDs müssen den in der „Alarminterpretation“ angegebenen Werten ein-zu-ein entsprechen.
Wenn Sie die Wertzuordnung in 4.2 verwenden, folgen Sie hier den 5 Schritten in 4.2: Ereignisparameter=Variable / Ereignis-ID=das Register / Ausführungsvoraussetzung=Gleich / Variable=das gleiche Register / Wert=zurückgegebene Nummer (z.B. 1).
5.6 Historische Alarmdarstellung
Historische Alarme sind fast identisch mit der aktuellen Alarmkonfiguration, der einzige Unterschied ist, dass der DatensatztypHistorische Alarmewählt. Unterschied: Nachdem der Alarm aufgehoben wurde, bleibt dieser Eintrag der historischen Alarmein der Tabelle; Wenn Sie die Speichereinstellungen im Modbus-Protokoll aktivieren, können Sie den Strom auch ausschalten und speichern, ohne dass der Strom wieder eingeschaltet wird.



Die Logik von „Alarmanalyse“ und „Ereignisprotokoll [Auslösen]“ für historische Alarme ist vollständig symmetrisch zu den aktuellen Alarmen, nur dass die Steuerelemente auf Bildschirm 2 zeigen und die vier Farben in der Alarmanalyse einheitlich auf rot (255,0,0) eingestellt sind, um „Ereignisse hinterlassen“ zu betonen. Die Ereignis-ID beginnt ebenfalls bei 0 und entspricht der Kindknotennummer (Bit-Nutzung), und in der Logik muss ebenfalls die Bedingung „alle Bits == 1“ geschrieben werden; die Verwendung der Wertzuordnung siehe 4.2.
5.7 Ausführen einer Vorschau


Dieser Routinebildschirm wird mit der SoftwareModbus Slaveals Host simuliert. Führen Sie einen virtuellen Bildschirm aus und sehen Sie die Auswirkungen online mit Modbus Slave: Der aktuelle Alarmbildschirm zeigt aktive Alarme (Kompressor-Niederdruck, Rauchalarm, Filterblockage) und ihre Auslösezeit, während der Modbus Slave rechts den entsprechenden Registerwert und das Kommunikationsprotokoll anzeigt. Spezifische Referenz für den Betrieb 【MODBUS】Serial Port Screen_Application Document_V1.0.pdf】.
6 Download-Projekt

Nachdem die VisualTFT-Kompilierung erfolgreich ist, wird das Ausgabefenster "Kompilierung erfolgreich" auffordern und auf zwei Weise auf den Bildschirm herabgeladen:
- USB-DownloadKlicken Sie auf "Zum Gerät herunterladen" im Menü und übertragen Sie die Konfiguration über einen USB-Kabel zum Bildschirm.
- SD-Karten-DownloadMenü: Werkzeuge → Massenproduktionsassistent → Wählen Sie „SD-Karte herunterladen“, kopieren Sie alle Dateien im Popup-Fenster in das Stammverzeichnis der SD-Karte, laden Sie den Bildschirm wieder ein und nehmen Sie die SD-Karte ab.
7 praktische Schwerpunkte (Hinweise zu Fehlern)
- Zuerst die Verwendung festlegen, dann konfigurieren: Gibt die Slave-Anzeige eine Bitmap (bit-Verwendung, Unterknoten aufspalten) oder eine Ereignisnummer (Wertzuordnung, Unterknoten nicht aufteilen)? Die beiden Konfigurationsmethoden sind völlig unterschiedlich, gemischte Schreibweise auf der Anzeige führt zwangsläufig zu keinem Anzeige.
- bit-Verwendung: Ereignis-ID = Unterordnungsnummer 0/1/2/3, entspricht den Registerwerten 0x0001/0x0002/0x0004/0x0008. Füllen Sie nicht „Register zurückgibt 0001/0002/0003“ als Nummer in die Ereignis-ID ein – 0003 ist bit0+bit1 gleichzeitig gesetzt, nicht „Ereignis 3“.
- Wertzuordnungsverwendung: keine Unterordnung erstellen, schreiben Sie nicht „ein bestimmtes Bit == 1“Ereignisprotokoll [Auslösen] gemäß den 5 Schritten in 4.2: Ereignisparameter=Variable → Ereignis-ID=das Register → Ausführungsbedingung=gleich → Variable=dasselbe Register → Wert=Rückgabenummer. Die Ereignis-ID in der Alarmanalyse muss genau mit diesem Wert übereinstimmen.
- Die Ereignis-ID muss übereinstimmenDie in "Alarmanalyse" eingetragene ID ist dieselbe wie die Ereignis-ID (oder Zahl) in der Logik "Ereignisprotokoll [Auslösen]". Wenn sie nicht übereinstimmen, wird der entsprechende Alarm nicht auf dem Bildschirm angezeigt.
- Logische Voraussetzung"Ereignisprotokoll [Auslösen]" ohne Ausführungsvoraussetzung löst bedingungslos aus, alle Ereignisse werden aufgezeichnet, Bild ist ein Durcheinander.
- Historische Alarme müssen bei Stromausfall gespeichert werden, stellen Sie sicher, dass Speicherung aktiviert ist.: Nur in der Modbus-Protokollkonfiguration «Speicherungseinstellung = Speichern von Variablen» aktivieren und im Variablenattribut «Speichern» ankreuzen, dann verlieren historische Alarme bei Stromausfall nichts. Beide Einstellungen müssen vorgenommen werden, eine allein reicht nicht aus.
- Semantik von aktiven vs. historischen Alarmen: Aktive Alarme sind «lebendig» – werden bei Beseitigung gelöscht; historische Alarme sind «buchführend» – bleiben auch nach Beseitigung als Aufzeichnung erhalten. Klären Sie bei Auswahl, ob Sie Echtzeitstatus oder Auditprotokolle benötigen.
- Polling-Zyklus nicht zu aggressiv wählen: Bei langsamer Reaktion der Slave-Geräte oder vielen Busgeräten sollten 1-s-Polling + 100-ms-Verzögerung entsprechend erhöht werden, sonst kommt es zu Timeout während des Lesens oder Alarmumschaltungen.
- Farb-ID hat Bedeutung: Aktive Alarme mit unterschiedlichen Vordergrundfarben (Rot/Grün/Blau) nach Schweregrad, historische Alarme einheitlich rot – tragen Sie nicht willkürlich ein, sonst sind sie auf der Anzeige nicht unterscheidbar.
Zusammengestellt von Guangzhou Dacai Optoelectronic Technology Co., Ltd. „MODBUS Tutorial_Datenrekorder-Kontrolle V1.0“ (www.gz-dc.com), Urheberrecht von Dacai. Für Details zur Online-Fehlerbehebung siehe Dacais „[MODBUS] serieller Bildschirm_Anwendungs-Dokument_V1.0.pdf“.
Antwort veröffentlichen