| Beta-Programm |
Achtung: Diese Schnittstelle befindet sich aktuell in der Beta-Phase. Dies bedeutet, dass nicht alle Funktionen getestet bzw. fertiggestellt wurden.
- Aktuell ist nur die TCP/UDP-Bibliothek verfügbar
- Der Editor zeigt keine ungültigen Konfigurationen an
- Modbus Slave ist noch nicht verfügbar
Die Modbus-Schnittstelle kann Daten zwischen Geräten lesen und schreiben. Folgende Funktionscodes werden unterstützt:
| FC | Name | Beschreibung |
|---|---|---|
| FC1 | Read coils | Rücklesen mehrerer digitaler Ausgänge |
| FC2 | Read inputs discrete | Lesen mehrerer digitaler Eingänge |
| FC3 | Read holding registers | Lesen mehrerer analoger Eingänge (und Ausgänge) |
| FC4 | Read input registers | Lesen mehrerer analoger Eingänge (und Ausgänge) |
| FC5 | Write coil | Schreiben eines einzelnen digitalen Ausgangs |
| FC6 | Write single register | Schreiben eines einzelnen analogen Ausgangs |
| FC15 | Force multiple coils | Schreiben mehrerer digitaler Ausgänge |
| FC16 | Write multiple registers | Schreiben mehrerer analoger Ausgänge |
| FC22 | Mask write | Manipulation einzelner Bits eines Registers |
| FC23 | Read/write multiple registers | Schreib-Lese-Operation auf analoge Ein-/Ausgänge |
Die Modbus-Schnittstelle arbeitet als Master oder Slave. Jedoch nicht gleichzeitig als Master und Slave. Dafür müssen mehrere Schnittstellen angelegt werden.
Um ein Gerät als Slave zu konfigurieren, muss nichts spezielles beachtet werden. Der Parameter Abfragezyklus, Sync und Init werden beim Slave ignoriert. Die Unit ID wird jedoch beachtet. Kann beim Master keine Unit ID eingestellt werden, setzen Sie diese auf 0 oder ggf. auf 255.
Es ist möglich, jedes Gerät als CSV-Datei zu exportieren und wieder zu importieren. Es wird empfohlen, vorher einen Export zu erstellen, damit die Struktur der Datei bekannt ist. Es ist dabei wichtig, dass die Reihenfolge der Spalten nicht geändert wird. Ausserdem sollten keine ungültigen Daten importiert werden.
Die Konfiguration der Adressen erfolgt in der Installation. Hier können mehrere Geräte mit Ihren Registern angelegt werden. Jedes Register definiert dabei eine Tabelle mit Parametern einer einzelnen Unit ID.
Tipp: Duplizieren Sie die einzelnen Register nach der Inbetriebnahme des ersten Gerätes. Dies beschleunigt die Parametrierung.
In der rechten Spalte finden Sie die Unit ID und die Byte- sowie die Bit-Reihenfolge, falls diese von der verwendeten Hardware abweicht.
Mit einem Klick auf das Symbol können mehrere Register gleichzeitig gelesen oder geschrieben werden. Dies erhöht die Performance der Abfragen enorm. Es ist zu beachten, dass die Anzahl der gleichzeitig abgerufenen Adressen eingehalten werden. Diese sind je nach Gerät unterschiedlich.
Der Wert definiert die Modbus-Adresse. Dieser liegt zwischen 0 und 65'535 bzw. 0x0000 und 0xFFFF.
Der Wert kann als Dezimalwert 32'767 oder als Hex-Wert 0x7FFF definiert werden.
Der Wert definiert die Anzahl der Register in Words oder Bytes. Ein Word entspricht zwei Bytes. Der Modus kann durch Klicken auf den Titel Länge (Word) gewechselt werden.
Der Wert definiert den Funktions-Code. Dieser definiert auch, ob der Wert beschrieben werden kann oder nicht.
Definiert die Variable zur Kommunikation mit der SPS von Antcas. Diese kann individuell eingestellt werden. Soll ein Wert der gleichen Variable gelesen und geschrieben werden, so kann die gleiche Variable mit dem gleichen Datentyp für mehrere Register gesetzt werden.
Tipp: Verwenden Sie ein / als Trennzeichen bei vielen Variablen, um Unterordner in der Installation zu erstellen. Dies ermöglicht eine bessere Übersicht.
Die Beschreibung kommentiert die Variable.
Der Wert zur Übertragung kann mit der entsprechenden Auslösung berechnet werden. Definiert wird dieser z.B. wie folgt:
/64+100
Diese rechnet den Wert durch 64 plus 100 und gibt das Ergebnis direkt an die SPS zurück.
(v%2)/64
Ein Wert kann auch mit v definiert und in Klammern gesetzt werden. Dabei ist darauf zu achten, dass die Klammern stets korrekt geschlossen werden. Es kann auch eine andere Modbus-Adresse im Format wie z.B. $1000 zur Berechnung verwendet werden. Der Wert 1000 entspricht dabei der Modbus-Adresse 1'000 in der Konfiguration. Die Referenz bezieht sich dabei immer auf den Rohwert. D.h. Verkettungen werden nicht berechnet. Ausserdem muss die Adresse im Editor verwendet werden, damit der Wert vorher dekodiert wird.
Definiert den Datentyp zur Umwandlung vom Modbus-Register und zur Kommunikation mit der SPS. Die Berechnungen werden nach der Konvertierung vorgenommen. Deshalb kann der Datentyp als real im Explorer angegeben werden, anstelle des definierten Typen uint. Hier ein Beispiel einer Temperatur:
| Ort | Wert | Datentyp |
|---|---|---|
| Modbus-Register | 215 | uint |
| Nach Konvertierung (uint) | 215 | uint |
| Wert nach Berechnung | 21.5 | real |
| Antcas SPS | 21.5 | real |
Zum Senden der Temperatur wird diese Tabelle von unten nach oben betrachtet.
Die Datentypen Float und Double werden als Real definiert und konfiguriert. Anhand der Länge des Words wird dann die Abfrage konfiguriert.
| Abfragetyp | Länge (Word) |
|---|---|
| Float 16 | 1 |
| Float 32 | 2 |
| Double | 4 |
| Ungültig | Andere Längen |
Der Abfragezyklus wird in Millisekunden definiert. Der Wert kann als Zahl oder mit der SPS-Zeitangabe T#1d1h1m10s500ms definiert werden.
Die Zeit 0 oder kein Wert deaktiviert die Anfrage bzw. das Schreiben des Wertes, bis dieser von der SPS an die Schnittstelle gesendet wird.
Die maximale Zeitangabe entspricht T#1d. Da der Modulus mit dem Zeitzonenoffset sonst nicht berechnet werden kann.
Um eine Abfrage um Mitternacht durchzuführen, kann die Zeitzone entsprechend eingestellt werden. Der Abfragezyklus wird dann auf T#1d eingestellt. Andere Zeitpunkte z.B. Mittags können stündlich abgefragt werden und die Auswertung muss dann in der SPS erfolgen.
Achtung: Zeitzonen mit Zeitumstellungen führen möglicherweise zu ungewollten Ergebnissen bei der Berechnung von Energiedaten.
Wird das Kontrollkästchen ausgewählt, so wird der Wert mit der Echtzeituhr synchronisiert. Dies ist praktisch, falls es sich bei dem Gerät um einen Energiezähler handelt.
Wird das Kontrollkästchen ausgewählt, so wird der Wert beim Starten der Schnittstelle bzw. beim Verbinden zum Slave gelesen bzw. geschrieben.
| Kombination | Funktion |
|---|---|
| ENTER | Nächste Zeile |
| SHIFT+ENTER | Vorherige Zeile |
| CTRL+ENTER | Neue Zeile unterhalb einfügen |
| CTRL+SHIFT+ENTER | Neue Zeile oberhalb einfügen |
| CTRL+D | Zeile duplizieren |
| CTRL+DEL | Zeile löschen |
| ALT+[Pfeil auf] | Zeile nach oben verschieben |
| ALT+[Pfeil ab] | Zeile nach unten verschieben |
Der Monitor zeigt nur alle Änderungen an. Es ist möglich, einen Debug-Modus in den Einstellungen zu aktivieren, um sämtliche Meldungen zyklisch zu sehen.
Wichtig: Dieser Modus verhindert aber das Speichern aller Werte auf die Festplatte. Daher muss der Modus nach der Fehlersuche unbedingt wieder zurückgestellt werden.