Modbus TCP-Kommunikationszeichen-LED-Anzeigelösungen
Das MODBUS-Protokoll ermöglicht eine einfache Kommunikation innerhalb einer Vielzahl von Netzwerkarchitekturen. Jedes Gerät (SPS, HMI, Bedienfeld, Treiber, Bewegungssteuerung, Ein-/Ausgabegerät) kann das MODBUS-Protokoll nutzen, um Remote-Operationen zu initiieren.
Modbus verfügt über die folgenden drei Kommunikationsmodi:
Ethernet: Der entsprechende Kommunikationsmodus ist Modbus TCP/IP
Asynchrone serielle Übertragung (verschiedene Medien wie kabelgebundenes RS-232-/422/485/; Glasfaser, drahtlos usw.): Der entsprechende Kommunikationsmodus ist Modbus RTU oder Modbus ASCII
Hochgeschwindigkeits-Token-Passing-Netzwerk: Der entsprechende Kommunikationsmodus ist Modbus PLUS.

Modbus RTU Datenrahmenstruktur
Die Anweisungen im RTU-Protokoll bestehen aus fünf Teilen: Funktionscode (ein Byte), Startadresse (zwei Byte), Adresscode (ein Byte), Daten (N Byte), Prüfcode (zwei Byte), wobei die Daten aus der Datenlänge (zwei Byte, die die Anzahl der Register angeben, vorausgesetzt, der Inhalt ist M) und dem Datenkörper (M multipliziert mit zwei Byte) bestehen.
Nehmen wir zum Beispiel 01 06 00 00 00 1F C8 02
01 Adresse 01
06 Schreibregister
00 00 Register 0 entspricht Variable 0
00 1F Der Wert 31 wird angezeigt
C8 02 Modbus CRC-Verifizierungscode
Modbus TCP-Datenrahmenstruktur
Modbus TCP fügt den MBAP-Paketheader zu Modbus RTU hinzu. Da TCP ein Dienst ist, der auf einer zuverlässigen Verbindung basiert, gibt es in Modbus TCP keine CRC-Prüfung. Alle Modbus TCPADUs senden und empfangen TCP-Übertragungssteuerungsprotokolle. Der Modbus TCP/IP-Server verwendet üblicherweise Port 502 zum Empfangen von Paketen.
Nehmen wir zum Beispiel 00 01 00 00 00 06 01 06 00 00 00 00 00 1F
01 Adresse 01
06 Schreibregister
00 00 Register 0 entspricht Variable 0
00 1F Der Wert 31 wird angezeigt
Modbus TCP Das Netzwerkprotokoll ist nicht verifiziert.
Die Datei modbus.ini unterstützt auch die Textanzeige durch Änderung der Parameterkonfiguration. Im Folgenden finden Sie eine Beschreibung der angezeigten Textkonfigurationsparameter.
Parametername |
Typ |
Standard |
beschreiben |
MaxVarNo |
int |
1 |
Der Wert reicht von 1 bis 100 |
Einheitentyp |
int |
1 |
Einheitentyp: 0: Einheiten werden nicht angezeigt. 1: zeigt die Originaleinheit an. 2: Zeigt Ersatzeinheiten an, derzeit können nur ug/m3 ersetzt werden, es muss die Schriftartdatei „symbol.lmf“ verwendet werden |
Time-out |
int |
200 |
Das Lese-Timeout des Modbus-Protokolls wird in Millisekunden angegeben. Der stabile Ablauf des aktuellen Tests kann nicht weniger als 200 ms betragen. |
Intervall |
int |
5000 |
Gesamtzyklusintervall in Millisekunden |
Anzeigetypnummer |
int |
1 |
Es können maximal 16 Typen angezeigt werden |
Flächennummer |
int |
4 |
Der Wert kann maximal 32 betragen |
1 |
Schnur |
0,1,Freizeit,0,255,0 |
Durch Kommas getrennt, die ersten beiden sind Bereichswerte (schließen das Intervall, können Dezimalzahlen sein), der dritte ist der anzuzeigende Text (nicht mehr als 32 Bytes), wenn es @@ ist, bedeutet dies, dass der Originalwert angezeigt wird, die folgenden drei sind Farb-RGB-Werte, die gesamte Zeile überschreitet nicht 128 Bytes |
[1] |
int |
Variable Nummer |
|
Geräteadresse |
int |
1 |
Modbus-Geräteadresse |
Datenadresse |
int |
0 |
Datenregisteradresse |
Datenlänge |
int |
2 |
Der Wert kann 1 oder 2 sein. 2 bedeutet, dass zwei Werte und vier Bytes gleichzeitig gelesen werden |
Unterzeichnet |
int |
0 |
Vorzeichenlos, 0. Vorzeichenlose Zahl, 1. Vorzeichenbehaftete Zahl, 2. Die höchste Ziffer ist das Vorzeichen 1 minus 0 plus. |
Versatz |
int |
0 |
Notieren Sie die Abweichung zwischen den an der Adresse gespeicherten Daten und dem tatsächlichen Wert. Der Standardwert ist 0 und hat Vorrang vor der Operatorberechnung. |
Sobel |
int |
1 |
Operator: Multiplizieren Sie die gelesenen Daten mit diesem Operator, um die anzuzeigenden Daten zu erhalten. Der Standardwert ist 1 |
Einheit |
Schnur |
µg/m³ |
Die anzuzeigende Einheit ist gültig, wenn UnitType=1/2 ist. Die maximale Länge beträgt 10 |
Format |
Schnur |
%D |
Standardformatzeichenfolge in der Sprache C. Der Standardwert ist %d und die maximale Länge beträgt 10 |
Füllraumnummer |
int |
0 |
Die Anzahl der Leerzeichen, die bei der Anzeige zwischen Daten und Einheiten ausgefüllt werden müssen. Der Standardwert ist 0 |
ExistDecimal |
int |
1 |
Ob es eine Dezimalzahl gibt, 1 existiert, 0 existiert nicht. Der Standardwert ist 0 |
DispTypeNo |
int |
1 |
Der aktuelle Wert zeigt die Displaytypnummer entsprechend „DispTypeNum“ an. Der Wert liegt zwischen „1“ und „DISPtypenum“. |
Funktion |
int |
1 |
Variable Funktion, 0. Variable anzeigen, 1. Sendeprogramm auswählen, 2. Helligkeit einstellen, Standard ist 0 |