- Jelina-Überblick
- CommBridge
- Datenerfassung
Modbus-RTU-Erfassung
1. Knoten erstellen
Abschnitt betitelt „1. Knoten erstellen“(1) Öffnen Sie auf der CommBridge-Seite den Bereich „Digitaler Zwilling“ und wechseln Sie links zu „Gerätevernetzung“.

(2) Ziehen Sie nacheinander die Plugins Modbus-Client (Master), Datenverarbeitung und MQTT-Upload in den Plugin-Arbeitsbereich, um drei Knoten zu erstellen.

(3) Verbinden Sie die drei Knoten in dieser Reihenfolge: Modbus-Client (Master) → Datenverarbeitung → MQTT-Upload.

2. Schema erstellen
Abschnitt betitelt „2. Schema erstellen“Wählen Sie als Protokoll
Modbus-RTU.
(1) Doppelklicken Sie auf Modbus-Client (Master) und klicken Sie auf „Schema hinzufügen“.

(2) Geben Sie die Verbindungseinstellungen ein und klicken Sie auf „Weiter“.

(3) Klicken Sie auf Gruppe hinzufügen, geben Sie die Gruppeninformationen ein und klicken Sie auf Bestätigen.

(4) Klicken Sie auf Daten hinzufügen, geben Sie die Datenpunktinformationen ein und klicken Sie auf Bestätigen.

(5) Klicken Sie auf Fertigstellen, um das Erfassungsschema anzulegen.

(6) Aktivieren Sie das Schema über den Schalter und klicken Sie auf Speichern.

3. Ergebnisse anzeigen
Abschnitt betitelt „3. Ergebnisse anzeigen“(1) Klicken Sie im Bereich „Gerätevernetzung“ auf „Bereitstellen“, um die Bereitstellung abzuschließen.

Die Abbildung zeigt die allgemeine Funktion „Bereitstellen“. Verwenden Sie für Knoten und Schema dieser Seite die zuvor konfigurierten Modbus-RTU-Parameter.
(2) Wechseln Sie zu Digitaler Zwilling und bewegen Sie den Mauszeiger auf den Knoten Modbus-Client (Master). Die Knoteninformationen werden eingeblendet.

(3) Klicken Sie auf das Schema, um Echtzeit- und historische Daten der Datenpunkte seiner Gruppen anzuzeigen.

4. Daten schreiben
Abschnitt betitelt „4. Daten schreiben“Die Konfiguration entspricht dem Schreiben von Daten unter Modbus-TCP.
5. Konfigurationsparameter
Abschnitt betitelt „5. Konfigurationsparameter“Verbindungseinstellungen
Abschnitt betitelt „Verbindungseinstellungen“| Parameter | Beschreibung | Format | Beispiel |
|---|---|---|---|
| Schemaname | Benutzerdefinierter Name des Schemas | Darf nicht leer sein | Temperaturerfassung |
| Protokoll | Modbus-Protokoll | Modbus TCP, Modbus RTU | Modbus RTU |
| Synchrone Erfassung | Legt fest, ob die Erfassung synchron erfolgt: Yes oder No | Yes, No | YES |
| Erfassungsintervall | Abfrageintervall für das Lesen der Register jeder Gruppe innerhalb des gesamten Schemas | Zahl, Bereich: (100,2147483647] | 2000 |
| Erfassungsfrist | Alle Datenpunkte einer Gruppe müssen innerhalb dieser Zeit erfasst werden, andernfalls werden die Gruppendaten verworfen. Die Zeit umfasst die Telegrammverzögerung. | Zahl, Bereich: (0, Erfassungsintervall] | 1000 |
| Zeitüberschreitung | Maximale Dauer jeder Datenerfassung einer Gruppe innerhalb des Schemas; bei Überschreitung werden die gelesenen Daten verworfen | Zahl, Bereich: (0, Erfassungsintervall] | 1000 |
| Maximale Registerzahl pro Block | Maximale Anzahl von Registern bei der blockweisen Erfassung aufeinanderfolgender Datenpunkte | Natürliche Zahl, Bereich: [1,120] | 120 |
| Schnittstelle | Entsprechend der seriellen Schnittstelle des Geräts, in der Regel RS485. Beim Anschließen eines USB-Geräts wird der entsprechende Schnittstellenname ergänzt. | ttyS0, ttyS1 | ttyO4 |
| Datenbits | Anzahl der tatsächlichen Datenbits einer Dateneinheit | 7, 8 | 8 |
| Stoppbits | Kennzeichnen das Ende eines einzelnen Datenrahmens | 1, 2 | 1 |
| Parität | Einfaches Verfahren zur Fehlererkennung bei der seriellen Kommunikation | Odd, Even oder None | None |
| Baudrate | Symbolübertragungsrate, also Anzahl der pro Sekunde übertragenen Symbole | 115200, 57600, 38400, 19200, 9600 oder 4800 | 9600 |
| Telegrammverzögerung | Mindestabstand zwischen zwei Erfassungen; Standardwert 0. Bei häufigen Zeitüberschreitungen erhöhen, andernfalls unverändert lassen. | Millisekunden; Zahl, Bereich: [0, 2147483647] | 0 |
| Schreibtelegrammverzögerung | Zusätzliche Wartezeit beim Schreiben; für Geräte mit langsamen Schreiboperationen erforderlich. 0 bedeutet keine zusätzliche Verzögerung. | Millisekunden; Zahl, Bereich: [0, 2147483647] | 0 |
| Funktionscode zum Registerschreiben | Funktionscode zum Schreiben von Halteregistern. | Auto, 06, 10; siehe Erläuterung unten | Auto |
| Änderungsbasierte Erfassung | Art der Datenerfassung: No deaktiviert die änderungsbasierte Erfassung; SingleData überträgt nur geänderte Datenpunkte; WholeGroup überträgt die gesamte Gruppe, sobald sich ein Wert darin ändert. | No, SingleData, WholeGroup | SingleData |
| Rücksetzzeit der änderungsbasierten Erfassung | Erzwingt eine Datenübermittlung, wenn die Daten länger als diese Zeit unverändert bleiben. 0 deaktiviert diese Auslösung. | Sekunden; Zahl, Bereich: (0, 2147483647] | 0 |
| Backoff bei Fehlern | Nach einer fehlgeschlagenen Erfassung wird die Wartezeit gemäß Backoff-Faktor angepasst; maximal Erfassungsintervall × maximaler Backoff-Faktor | Yes, No; siehe Erläuterung unten | Yes |
| Backoff-Faktor | Faktor zur Änderung der Wartezeit bei Fehlern; muss größer als 0 und ungleich 1 sein | Zahl | 2 |
| Maximaler Backoff-Faktor | Grenzwert des Backoff-Faktors; nach Erreichen bleibt dieser unverändert | Zahl | 16 |
Synchrone Erfassung:
- Yes: Erfassungsintervall, Zeitüberschreitung und Erfassungsfrist werden für alle Gruppen des Schemas gemeinsam konfiguriert. Die Einstellung gilt für sämtliche Datenpunkte des Schemas.
- No: Jede Gruppe erhält eigene Einstellungen für Erfassungsintervall, Zeitüberschreitung und Erfassungsfrist.
Funktionscode zum Registerschreiben: Auto verwendet 06 für ein einzelnes Register und 10 für mehrere Register; 06 verwendet immer Funktionscode 06; 10 verwendet immer Funktionscode 10.
Backoff bei Fehlern: Bei einem Erfassungsintervall von 1 Sekunde, Backoff-Faktor 2 und maximalem Backoff-Faktor 16 ergeben sich bei wiederholten Fehlern Wartezeiten von 1 s, 2 s, 4 s, 8 s und 16 s. Bei einem Intervall von 10 Sekunden, Faktor 0.5 und Grenzfaktor 0.1 ergeben sich entsprechend 10 s, 5 s, 2.5 s und 1.25 s. Sobald die Erfassung erfolgreich ist, wird das ursprüngliche Erfassungsintervall wiederhergestellt.
Ist der Backoff-Faktor größer als 1, muss der maximale Backoff-Faktor größer als dieser sein. Ist der Backoff-Faktor kleiner als 1, muss der maximale Backoff-Faktor kleiner sein.
Gruppe hinzufügen
Abschnitt betitelt „Gruppe hinzufügen“| Parameter | Beschreibung | Format | Beispiel |
|---|---|---|---|
| Gruppenname | Benutzerdefinierter Name der Gruppe | Darf nicht leer sein | Temperaturgruppe eins |
| Slave ID | Modbus-Geräteadresse, also Slave-Adresse des abgefragten Geräts | Zahl, Bereich: (0,255] | 1 |
| Erfassungsintervall | Abfrageintervall für das Lesen der Register einer einzelnen Gruppe | Zahl, Bereich: (100,2147483647] | 1000 |
| Erfassungsfrist | Gültigkeitszeit für die Erfassung aller Datenpunkte einer Gruppe. Werden innerhalb dieser Zeit nicht alle Datenpunkte gelesen, werden sämtliche Daten der Gruppe verworfen. | Zahl, Bereich: (0, Erfassungsintervall] | 500 |
| Zeitüberschreitung | Maximale Dauer jeder Datenerfassung einer einzelnen Gruppe; bei Überschreitung werden die gelesenen Daten verworfen | Zahl, Bereich: (0, Erfassungsintervall] | 500 |
Hinweise: Ist die synchrone Erfassung in der Verbindungskonfiguration auf No gesetzt, gelten die Einstellungen für alle Datenpunkte der jeweiligen Gruppe. Die Anzahl gleichzeitig gelesener Modbus-Register ist begrenzt. Für Holding Register und Input Register können höchstens 120 aufeinanderfolgende Register pro Gruppe gelesen werden; für Discrete und Coils beträgt die Grenze 2000 aufeinanderfolgende Datenpunkte.
Daten hinzufügen
Abschnitt betitelt „Daten hinzufügen“| Parameter | Voraussetzung | Beschreibung | Format | Beispiel |
|---|---|---|---|---|
| Datenalias | Name des Datenpunkts, innerhalb der Gruppe eindeutig | Darf nicht leer sein, nicht mit einer Ziffer oder einem Unterstrich beginnen und keine Leerzeichen enthalten | T | |
| Adresse | Registeradresse; innerhalb einer Gruppe dürfen keine Adressen doppelt vorkommen | Zahl, Bereich: (0,2147483647) | 0 | |
| Registertyp | Bestimmt den Modbus-Operationscode | Holding Register, Input Register, Discrete, Coils; siehe Erläuterung unten | Holding Register | |
| Datentyp | Abhängig vom Registertyp | Ursprünglicher Datentyp der Registerdaten | uint16, int16, uint32, int32, float, boolean, combine, string, hex string; siehe Erläuterung unten | uint16 |
| Byte-Reihenfolge | Abhängig von Register- und Datentyp | Speicherreihenfolge für Datentypen mit mehr als einem Byte | AB, BA, ABCD, CDAB, BADC, DCBA; siehe Erläuterung unten | AB |
| Registeranzahl | Abhängig von Register- und Datentyp | Anzahl der Register für den Datentyp | Siehe Erläuterung unten | 1 |
| Lese-/Schreibmodus | Abhängig vom Registertyp | Unterstützt r (nur lesen) und rw (lesen und schreiben) | r, rw | r |
| Berechnung | Benutzerdefinierte Formel auf Grundlage der Datenaliase | T/10 | ||
| Offset | Datentyp bit | Bitoffset vom höchstwertigen zum niederwertigsten Bit nach Anpassung der Byte-Reihenfolge | Zahl, Bereich: [0,15] |
Beispiel: Wenn Sie die Temperatureigenschaft prüfen möchten und deren Adresse im Gerät 1 ist, setzen Sie die Registeradresse auf 1.
- Für die Registertypen Discrete und Coils ist der Datentyp standardmäßig boolean.
- Bei uint16, int16 und combine können AB oder BA gewählt werden; bei uint32, int32 und float ABCD, CDAB, BADC oder DCBA. Für andere Datentypen gibt es keine Einstellung der Byte-Reihenfolge.
- Bei Discrete und Coils beträgt die Registeranzahl standardmäßig 1. Für uint16, int16 und boolean ist sie standardmäßig 1, für uint32, int32 und float 2. Bei combine kann 1 oder 2 ausgewählt werden. Bei string und hex string lässt sich die Registeranzahl manuell eingeben.
16-Bit-Reihenfolge:
- AB: ein Registerwort; höherwertiges vor niederwertigem Wort und innerhalb des Wortes höherwertiges vor niederwertigem Byte (Big Endian).
- BA: ein Registerwort; höherwertiges vor niederwertigem Wort und innerhalb des Wortes niederwertiges vor höherwertigem Byte (Little Endian).
32-Bit-Reihenfolge:
- ABCD: zwei Registerwörter; höherwertiges vor niederwertigem Wort und innerhalb der Wörter höherwertiges vor niederwertigem Byte (Big Endian).
- BADC: zwei Registerwörter; höherwertiges vor niederwertigem Wort und innerhalb der Wörter niederwertiges vor höherwertigem Byte (Big Endian mit Byte-Tausch).
- CDAB: zwei Registerwörter; niederwertiges vor höherwertigem Wort und innerhalb der Wörter höherwertiges vor niederwertigem Byte (Little Endian mit Byte-Tausch).
- DCBA: zwei Registerwörter; niederwertiges vor höherwertigem Wort und innerhalb der Wörter niederwertiges vor höherwertigem Byte (Little Endian).
6. Modbus-Protokollparameter
Abschnitt betitelt „6. Modbus-Protokollparameter“Die Protokollkonfiguration von Modbus-RTU entspricht Modbus-TCP.