Delta PLC führt das MODBUS-Kommunikationsprotokoll ein

kostenlosKostenloses technisches Material

Dieser Inhalt ist direkt lesbar und eignet sich für das Grundlagenlernen und die Suche.

Delta PLC führt das MODBUS-Kommunikationsprotokoll ein

Anschluss

ES2 / EX2 / SA2 / SX2 - Series-Hosts verfügen über maximal drei Anschlüsse (COM1 ~ COM3), SS2 - Series-Hosts verfügen über zwei Anschlüsse (COM1, COM2). Unterstützt das Kommunikationsformat „DELTA Q-link" für die Mensch-Maschinen - Schnittstelle (HMI), um die Bilddarstellung des HMI zu beschleunigen.

COM1: RS - 232 - Anschluss, der als Master - oder Slave-Station verwendet werden kann. Bearbeiten Sie die Ports für die Hauptprogramme.

COM2 RS - 485 - Anschluss, kann als Master - oder Slave-Station verwendet werden.

ES2/EX2 /SA2 COM3 RS - 485 - Anschluss, kann als Master oder Slave Station verwendet werden.

SX2 COM3: USB-Anschluss, kann von der Station gemacht werden.

Die COM1 - COM3 - Anschlüsse können für die Kommunikation im Modbus-ASCII - oder RTU-Modus verwendet werden.

Kommunikationsstrukturen:

Anschluss-KommunikationsparameterRS - 232 (COM1)RS - 485 (COM2)RS - 485 (COM3)USB (COM3)
Baudrate110 ~ 115200 bps110 ~ 921.000 bps110 ~ 115200 bps
Datenbitlänge7 ~ 8 Bit
Paritäts-BitsSingular / Par / No
Stopp-Datenbit - Länge1 bis 2 Datenbits
Kommunikationsparameter-Set - RegisterD1036D1120D1109
Kommunikationsformat BeibehaltungM1138M1120M1136
ASCII-ModusMaster / Slave-Stationen sind beide gültigSlave-Stationen sind gültig
RTU-ModusMaster / Slave-Stationen aktiviertSlave-Stationen aktiviert
ASCII / RTU-ModuswechselM1139M1143M1320
Slave-Stationen Kommunikationsadresse Einstellungs-ZwischerspeicherD1121D1255
Lese - und Schreib-Datenlänge (ASCII-Modus)100 Register
Lese - und Schreib-Datenlänge (RTU-Modus)100 Register

Standardkommunikationsformat für das Port

L Modbus-ASCII - Modus

L Sieben Daten.

L 1 Stoppplatz

L Eben

L 9600bps Baudrate

4.2    ASCIIModus-Kommunikationsprotokoll

Kommunikationsdatenstruktur

9600 (Baudrate), 7 (Datenbit), Even (Parity-Bit) 1 (Start-Bit), 1 (Stop-Bit)

FeldnameZusammensetzungBeschreibung
StartzeichenSTXStartzeichen: ', ASCII-Code mit Doppelpunkt 3AH
Adresse der ZwangsstationADR1Adresse der Zwangsstation besteht aus zwei ASCII-Codes
ADR0
BefehlscodeCMD1Der Befehlscode besteht aus zwei ASCII-Codes
CMD0
DatenDaten (0)DATA (0)
Daten (1)
……… .
Daten (n - 1)
LRC-PrüfcodeLRC CHK1LRC-Prüfcode besteht aus zwei ASCII-Codes
LRC CHK0
EndzeichenEND1Das Endzeichen besteht aus zwei ASCII-Codes: END1 = CR (0DH), END0 = LF (0AH)
END0

Hexadezimal - und ASCII-Code - Korrespondenz in der folgenden Tabelle:

ASCII-Code"0 "" 1 ""2 "" 3 "» 4 «" 5 ""6 "" 7 "
16 - Dezimal30H31H32H33H34H35H36H37H
ASCII-Code"8 "" 9 "„A"„B"„C"„D"„E"„F"
16 - Dezimal38H39h41h42h43h44h45h46h

4.2.1  ADR (Adress)

Gültige Adressbereiche von 0 bis 254. Wenn die Kommunikationsadresse 0 ist, bedeutet dies, dass alle SLCs ausgestrahlt werden, und das SLC, das die Broadcast-Nachricht empfängt, antwortet nicht auf die Broadcast-Nachricht. Wenn die PLC-Adresse nicht 0 ist, antwortet die PLC mit einer normalen Nachricht an das Hostgerät.

Beispielsweise wird die ASCII-Darstellung der Adresse einer SPS mit einer Kommunikationsadresse 16 (Dezimal) wie folgt dargestellt (16 ist Hexadezimal 10).

(ADR 1, ADR 0) = '1', '0's' 1 '= 31H, '0' = 30H

4.2.2Befehlcode und Daten

Das Format der Datenzeichen hängt vom Befehlcode ab, die folgenden Tabellen beschreiben gültige Befehlcodes:

Delta PLC führt das MODBUS-Kommunikationsprotokoll einAbbildungBefehlcode(Hex)Delta PLC führt das MODBUS-Kommunikationsprotokoll einAbbildung1BedeutungBedienbare Geräte
01 (01H)Leseknotenstatus (nicht lesbarer Eingangsknotenstatus)S, Y, M, T, C
02 (02H)Leseknotenstatus (lesbarer Eingangsknotenstatus)S, X, Y, M, T, C
03 (03H)Inhalt des LesegistersT, C, D
05 (04H)Erzwingen einzelner Knoten-Zustand Ein / AusS, Y, M, T, C
06 (06H)Voreinstellter Wert des einzelnen RegistersT, C, D
15 (0F H)Erzwingen mehrerer Knoten-Zustände Ein / AusS, Y, M, T, C
16 (10H)Voreinstellte Werte für mehrere RegisterT, C, D
17 (11H)Berichte über die Adresse der Slave StationNone
23 (17H)PLC LINK Ausführen von Lese - und Schreibfunktionen gleichzeitig in einer AbfragezeitNone

Beispiel: Lesen Sie die Daten von 8 aufeinanderfolgenden Zeichengruppen der PLC-Kommunikationsadresse 01 und der Adresse H0614 ~ H61B (Register T20 ~ T27). 0614 (Hexadezimal) ist die Adresse des internen T20 der SLC.

PC und PLC:

": 01 03 06 14 00 08 DA CR LF "

Anforderungsnachricht:

FeldnameASCIICode16Dezimal
Startzeichen:3A
Slave-Station - Adresse0130 31
Befehlcode0330 33
Startdatenadresse Hohe Byte0630 36
Startdatenadresse Niedrig Byte1431 34
Anzahl der Kontakte Hohe Bytes0030 30
Anzahl der Kontakte Niedriges Bytes0830 38
LRC-PrüfcodeDA44 41
EndzeichenCR LF0D 0A

PLC für PC

„: 01 0

Antwort auf die Nachricht:

FeldnameASCIICode16Dezimal
Startzeichen:3A
Slave-Station - Adresse0130 31
Befehlcode0330 33
FeldnamenASCIICode16Dezimal
Anzahl der Bytes1031 30
Hohe Bytes (T20)0030 30
Niedriges Bytes (T20)0130 31
Hohe Bytes (T21)0030 30
Low Byte (T21)0230 32
Hohe Byte (T22)0030
Niedriges Byte (T22)0330 33
Hohe Byte (T23)0030 30
Low Byte (T23)0430 34
Hohe Byte (T24)0030
Niedriges Byte (T24)0530 35
Hohe Byte (T25)0030 30
Low Byte (T25)0630 36
High Byte (T26)0030 30
Low Byte (T26)0730 37
High Byte (T27)0030 30
Niedriges Byte (T27)0830 38
LRC-PrüfcodeC843 38
EndzeichenCR LF0D 0A

4.2.3   LRCPrüfsumme(Prüfsumme)

Der LRC-Prüfcode ist der Wert, der von der Station-Adresse bis zum letzten Dateninhalt der hexadezimalen Zahlen addiert wurde, um die Bits zurückzuziehen und 1 hinzugefügt. Wie im folgenden Beispiel gezeigt, ist der Wert des LRC-Prüfcodes F6 (hexadecimal). Der LRC-Prüfcode wird wie folgt berechnet: 01H + 03H + 04H + 01H + 00 + 01H = 0AH, 0A (16 Dezimal) Das Ergebnis nach der Umkehrung der einzelnen Bit addiert 1 zu F6 (16 Dezimal).

Name des BereichsASCIICode16Dezimal
Startzeichen:3A
Slave-Station - Adresse0130 31
Befehlcode0330 33
Startdatenadresse Hohe Byte0430 34
Startdatenadresse Niedrig Byte0130 31
Anzahl der Kontakte Hohe Byte0030 30
Anzahl der Kontakte Niedrig Byte0130 31
LRC-PrüfcodeF646 36
SchlusszeichenCR LF0D 0A

Ausnahme-Antwort:

Die Slave Station erwarten, eine normale Antwortnachricht zu beantworten, nachdem sie die Befehlnachricht von der Masterstation erhalten hat, aber manchmal reagiert die PLC nicht oder reagiert auf die Fehlerursache nach dem Empfang der Befehlnachricht von der Masterstation, wird im Folgenden beschrieben, dass die PLC nicht an die Masterstation reagiert oder die Fehlerursache reagiert.

1. Aufgrund eines Kommunikationsfehlers empfängt die SPS keine korrekte Befehlsnachricht: Wenn die SPS auf die Nachricht nicht antwortet, muss die Masterstation eine Kommunikationszeitüberschreitung festlegen.

2. Wenn kein Kommunikationsfehler auftritt, empfängt die PLC eine gültige Kommunikationsnachricht, aber die PLC kann die Bedeutung dieser Nachricht nicht verstehen, so dass die PLC eine Ausnahmeantwort an die Masterstation macht. Der höchste Bit des Befehlscodes für die Antwortnachricht wird auf 1 gesetzt und gibt einen Ausnahmecode zurück, der den Grund für die Ausnahmeantwort beschreibt.

Beispiel für eine Ausnahmeantwort bei Befehlcode 01H, Ausnahmeantwortcode 02H

Nachricht angefordert:

FeldnameASCIICodeHexadezimal
Startzeichen:3A
30 31
Slave-Station - Adresse01
Befehl Code0130 31
Startdatenadresse Hohe Byte0430 34
Startdatenadresse Niedrig Byte0030 30
Anzahl der Kontakte Hohe Byte (Bit)0030 30
Anzahl der Kontakte Niedriges Byte (Bit)1031 30
LRC-PrüfcodeEA45 41
EndzeichenCR LF0D 0A

Antwortmeldung

FeldnamenASCIICodeHexadezimal
Startzeichen:3A
30 31
Slave-Station - Adresse01
Befehlcode8138 31
30 32
Ausnahmecode02
LRC-Prüfcode7C37 43
EndzeichenCR LF0D0A
AusnahmecodeBedeutung
01Ungültiger Befehlcode: Ungültiger Befehlcode in der empfangenen Befehlnachricht
02Ungültiger Gerätedresse: Ungültige Adresse in der empfangenen Befehlnachricht.
03Ungültiger Gerätewert: Der Dateninhalt in der von der PLC empfangenen Befehlnachricht ist ungültig.
071. · Prüfen und Fehler Prüfen, ob die Prüfsumme korrekt ist
AusnahmecodeBedeutung
 2. · Unrechtmäßige Befehlsnachrichten · Befehlsnachricht zu kurz Befehlmeldung Länge überschritten

4.3      RTU Modell-Kommunikationsprotokoll

Kommunikationsdatenstruktur

9600 (Bordrate), 8 (Datenbit), Even (Parity-Bit) 1 (Startbit), 1 (Stopbit)

StartKeine Eingabedaten ≥ 10 ms
von der Station AdresseAdresse der Slave Station:: 8 - Bit-Binärzahl
BefehlcodeBefehlcode:: 8 - Bit-Binärzahl
Daten (n - 1)Dateninhalt n × 8 - Bit-Binärzahl, n < = 202
…… .
Daten 0
CRC-Prüfsumme Low ByteCRC-Prüfsumme CRC-Prüfsumme besteht aus zwei 8 - Bit-Binärzahlen
CRC-Prüfsumme High Byte
EndKeine Eingabedaten ≥ 10 ms

4.3.1Adresse(Nachrichtenadresse)

Gültige Nachrichtenadressen liegen im Bereich 0 bis 254. Wenn die Kommunikationsadresse 0 ist, bedeutet dies, dass alle SLCs ausgestrahlt werden, und das SLC, das die Broadcast-Nachricht empfängt, antwortet nicht auf die Broadcast-Nachricht. Wenn die PLC-Adresse nicht 0 ist, antwortet die PLC mit einer normalen Nachricht an das Master-Gerät.

Wenn Sie beispielsweise mit einer SPS mit einer Kommunikationsadresse 16 (Dezimal) kommunizieren, muss die Slave-Station - Adresse auf 10 (16 Dezimal) und die Hexadezimalzahl 16 auf 10 gesetzt werden.

4.3.2 Befehl und Daten

Das Format der Datenzeichen hängt vom Befehlcode ab, eine Beschreibung gültiger Funktionscodes finden Sie in Abschnitt 4.2.2.

Beispiel: Lesen Sie die Daten von 8 aufeinanderfolgenden Zeichengruppen für die SPS-Stationnummer 01, Adresse H0614 ~ H61B (T20 ~ T27). Lesen Sie den Wert des Slave-Station - Geräts (Kommunikationsadresse 1).

PC-PLC

"01 03 06 14 00 08 04 80 "

Übertragung von Nachrichten:

FeldnameDaten (16Dezimal)
StartKeine Eingabedaten ≥ 10 ms
Slave Station Adresse01
Befehlcode03
Datenstart-Adresse06
Name des BereichsDaten(16Dezimal)
 14
Anzahl der Daten (in Bytes)00
08
CRC-Checksumme Low Bytes04
CRC-Checksumme High Bytes80
EndeKeine Eingabedaten ≥ 10 ms

PLC-PC

„01 0

Antwort auf die Nachricht:

FeldnamenDaten(16Dezimal)
BeginnKeine Eingabedaten ≥ 10 ms
Slave-Station - Adresse01
Befehlcode03
Anzahl der Daten (in Bytes)10
Daten High Byte (T20)00
Daten Low Byte (T20)01
Daten High Byte (T21)00
Daten niedriges Byte (T21)02
Daten hoches Byte (T22)00
Daten niedriges Byte (T22)03
Daten hoches Byte (T23)00
Daten niedriges Byte (T23)04
Daten hoches Byte (T24)00
Daten niedriges Byte (T24)05
Daten hoches Byte (T25)00
Data Low Byte (T25)06
Data High Byte (T26)00
Data Low Byte (T26)07
Data High Byte (T27)00
Data Low Byte (T27)08
CRC Check Sum Low Byte72
CRC Check Sum High Byte98
EndKeine Eingangsdaten ≥ 10 ms

4.3.3  CRCPrüfsumme(Prüfsumme)

Die CRC- Prüfsumme beginnt mit der "Slave-Station - Adresse" und endet mit dem "letzten Dateninhalt". Die CRC-Prüfung wird wie folgt berechnet: Schritt1 Lade ein 16 - Bit-Register (CRC-Register genannt) mit einem Inhaltswert von FFFF (Hexadezimal).

Schritte 2: Die 8 - Bit-Daten des ersten Bytes in der Befehlsnachricht werden mit den 8 - Bit-Daten des unteren Bytes des CRC-Registers exklusiv OR-Operationen durchgeführt, und das Ergebnis wird im CRC-Register gespeichert.

Schritte 3: Der Inhalt des CRC-Registers wird um einen Bit nach rechts verschoben und sein oberstes Bit mit 0 gefüllt.

Schritte 4: Prüfen Sie den Wert des niedrigsten Bites des CRC-Registers, wenn es 0 ist, wiederholen Sie Schritt 3: Wenn es 1 ist, wird der Inhalt des CRC-Registers mit A001 (hexadezimal) exklusiv OR-Operationen durchgeführt, und das Ergebnis wird im CRC-Register gespeichert.

Schritte 5 Wiederholen Sie die Schritte 3 und 4, bis der Inhalt des CRC-Registers um 8 Bits nach rechts verschoben wurde. In diesem Moment ist das erste Byte der Befehlnachricht verarbeitet.

Schritte 6: Wiederholen Sie die Schritte 2 bis 5 für das nächste Byte der Befehlsnachricht, bis alle Byte der Befehlsnachricht verarbeitet wurden. Der letzte Inhalt des CRC-Registers ist der CRC-Prüfungwert. Bei der Übertragung des CRC-Prüfwertes in der Befehlsnachricht müssen die berechneten CRC-Prüfwertes hoch und niedrig Bytes ausgetauscht werden, d. h. die CRC-Prüfwertes niedrig Bytes werden zuerst übermittelt.

Hier ist ein Beispiel für die Berechnung des CRC-Prüfwertes in C

unsigned char * data < / / Befehlszeiger für den Inhalt der Nachricht

unsigned char length < / / Länge der Befehlsnachricht

unsigned int crc_chk(unsigned char * data, unsigned char length)

{

int j;

unsigned int reg_crc=0Xffff;

while(length--)

{

reg _ crc ^ = * data++;

für (j=0; j<8; j++)

{

Wenn (reg_crc & 0x01) reg_crc=(reg_crc>>1) ^ 0Xa001; /* LSB(b0)=1 */

sonst reg_crc=reg_crc>>1;

}

}

gibt reg_crc zurück; // the value that sent back to the CRC register finally

}

Ausnahmeantwort:

Die Slave Station erwarten, eine normale Antwortnachricht zu beantworten, nachdem sie die Befehlnachricht von der Masterstation erhalten hat, aber manchmal reagiert die PLC nicht oder reagiert auf die Fehlerursache nach dem Empfang der Befehlnachricht von der Masterstation, wird im Folgenden beschrieben, dass die PLC nicht an die Masterstation reagiert oder die Fehlerursache reagiert.

1. Aufgrund eines Kommunikationsfehlers empfängt die SPS keine korrekte Befehlsnachricht: Wenn die SPS auf die Nachricht nicht antwortet, muss die Masterstation eine Kommunikationszeitüberschreitung festlegen.

2. Wenn kein Kommunikationsfehler auftritt, empfängt die PLC eine gültige Kommunikationsnachricht, aber die PLC kann die Bedeutung dieser Nachricht nicht verstehen, so dass die PLC eine Ausnahmeantwort an die Masterstation macht. Der höchste Bit des Befehlscodes für die Antwortnachricht wird auf 1 gesetzt und gibt einen Ausnahmecode zurück, der den Grund für die Ausnahmeantwort beschreibt.

Das folgende Beispiel ist ein Beispiel für eine Ausnahmeantwort, wenn der Befehlscode 01H ist und der Ausnahmeantwortcode 02H ist.

Nachricht übertragen:

FeldnameDaten(16Dezimal)
BeginnKeine Eingabedaten ≥ 10 ms
Slave-Station - Adresse01
Befehlcode01
Datenstart-Adresse04
00
Anzahl der Daten (in Bytes)00
10
CRC-Prüfcode Low Bytes3C
CRC-Prüfcode High BytesF6
BeendetKeine Eingabedaten ≥ 10 ms

Antwortmeldung:

Delta PLC führt das MODBUS-Kommunikationsprotokoll einAbbildung2FeldnameDaten(16Dezimal)
StartKeine Eingabedaten ≥ 10 ms
Slave-Station - Adresse01
Befehlcode81
Ausnahmecode02
CRC-Prüfcode Low ByteC1
CRC-Prüfcode High Byte91
BeendetKeine Eingabedaten ≥ 10 ms

Delta PLC führt das MODBUS-Kommunikationsprotokoll einAbbildung3PLCGeräteadresse

Delta PLC führt das MODBUS-Kommunikationsprotokoll einAbbildung4GeräteBereichWirkbarer BereichMODBUSAdresseKommunikationsadresse des Geräts
ES2/ EX2SS2SA2 / SX2
S000 ~ 255000 ~ 1023000 ~ 1023000001 ~ 0002560000 ~ 00FF
S256~511000257~0005120100 - 01FF
S512~767000513~0007680200 - 02FF
S768~1023000769~0010240300 ~ 03FF
X000 ~ 377 (Oktal)000 ~ 377000 ~ 377101025 ~ 1012800400 ~ 04FF
Y000 ~ 377 (Oktal)000 ~ 377000~377001281~0015360500 - 05FF
T000 bis 255 Bit000~255000~255001537~0017920600 - 06FF
000 bis 255 Wörter000 ~ 255 Wort000 ~ 255 Wort401537 ~ 401792 Wort0600 ~ 06FF Wort
M000 ~ 255 Wort0000 ~ 40950000~4095 002049~0035840800 - 08FF
M256~5110900 - 09FF
M512~7670A00 ~ 0AFF
M768~10230B00 ~ 0BFF
M1024~12790C00 ~ 0CFF
M1280~15350D00 ~ 0DFF
M1536~1791 045057~047616B000 ~ B0FF
M1792~2047B100 - B1FF
M2048~2303B200 ~ B2FF
M2304~2559B300 bis B3FF
M2560~2815B400 bis B4FF
M2816~3071B500 bis B5FF
M3072~3327B600 bis B6FF
M3328~3583B700 bis B7FF
M3584~3839B800 bis B8FF
M3840~4095B900 bis B9FF
C000 ~ 199 (16 - Bit)000 ~ 199000 ~ 199003585 ~ 0037840E00 ~ 0EC7
000 ~ 199000~199403585~4037840E00 bis 0EC7
200 bis 255 (32 - Bit)200 ~ 255200 ~ 255003785 ~ 0038400E00 ~ 0EC7
200 ~ 255200 ~ 255401793 ~ 401903 (gültig für ungerade Adressen)0700 ~ 076F
GerätBereichGültiger BereichMODBUSAdresseGerät Adresse
ES2/ EX2SS2SA2 / SX2
D000 ~ 2550000 - 99990000 ~ 49990000~9999 404097~4053761000 ~ 10FF
D256 ~ 5111100 ~ 11FF
D512 ~ 7671200 ~ 12FF
D768 ~ 10231300 ~ 13FF
D1024~12791400 bis 14FF
D1280~1535 405377~4081921500 ~ 15FF
D1536 ~ 17911600 ~ 16FF
D1792 ~ 20471700 ~ 17FF
D2048 ~ 23031800 ~ 18FF
D2304 ~ 25591900 ~ 19FF
D2560 ~ 28151A00 ~ 1AFF
D2816 ~ 30711B00 ~ 1BFF
D3072 ~ 33271C00 ~ 1CFF
D3328 ~ 35831D00 ~ 1DFF
D3584 ~ 38391E00 ~ 1EFF
D3840 ~ 40951F00 ~ 1FFF
D4096~4351 436865~4409609000 ~ 90FF
D4352 ~ 46079100 ~ 91FF
D4608 ~ 48639200 ~ 92FF
D4864~51199300 bis 93FF
D5120~5375 ohne9400 ~ 94FF
D5376 ~ 56319500 ~ 95FF
D5632 ~ 58879600 bis 96FF
D5888~61439700 bis 97FF
D6144~63999800 bis 98FF
D6400~66559900 bis 99FF
D6656~69119A00 - 9AFF
D6912 ~ 71679B00 ~ 9BFF
D7168 ~ 74239C00 ~ 9CFF
D7424 ~ 76799D00 ~ 9DFF
D7680~79359E00 - 9EFF
D7936~81919F00 ~ 9FFF
D8192~8447 440961~442768A000 ~ A0FF
D8448 ~ 8703A100 ~ A1FF
D8704~8959A200 ~ A2FF
D8960 ~ 9215A300 ~ A3FF
D9216 ~ 9471A400 ~ A4FF
D9472 ~ 9727A500 - A5FF
D9728 ~ 9983A600 ~ A6FF
D9984 ~ 9999A700 ~ A70F

4.5 Befehl Code

4.5.1Befehlcode:01,Lesen des Knotenzustands(Nicht lesbare Eingabepunkt-Status)

Maximale Anzahl von Daten = 255 (10 Dezimal) = FF (16 Dezimal)

Beispiel: Lesen Sie den Knoten-Status von Slave-Geräten (Kommunikationsadresse 1) T20 ~ T56.

PC-PLC: ":01 01 06 14 00 25 BF CR LF "

Nachricht übertragen:

FeldnameASCIICode
Startzeichen:
Slave Station Adresse01
Befehlcode01
Startdatenadresse Hohe Byte06
Startdatenadresse Niedrig Byte14
Knotenzustand Anzahl Hohe Byte00
Knotenzustand Anzahl Niedrig Byte25
LRC-CheckcodeBF
Endzeichen 10D (Hex)
Endzeichen 00A (Hex)

Angenommen, die Anzahl der Knotenzustände in der Anforderungsnachricht ist n (dezimal), der Quotient von n / 8 ist M und der Rest ist N.

Wenn N = 0, beträgt die Anzahl der Bytes in der Antwort M; wenn N ≠ 0, beträgt die Anzahl der Bytes in der Antwort M + 1. PLC ein PC: ":01 01 05 CD6B B2 0E 1B D6 CR LF "

Antwortnachricht:

FeldnameASCIICode
Startzeichen:
Slave-Station - Adresse01
Befehlcode01
Anzahl der Bytes05
T20 ~ T27 KnotenzustandCD
T35 ~ T38 Knotenzustand6B
T36 ~ T43 KnotenzustandB2
T44 ~ T51 Knotenzustand0E
T52 ~ T56 Knotenzustand1B
LRC-PrüfcodeE6
Endzeichen 10D (Hex)
Schlußzeichen 00A (Hex)

4.5.2Befehlcode:02,Lesen des Knotenzustands(Lesbare Eingabe des Knotenzustands)

Beispiel: Lesen des Knotenzustands von Slave-Geräten (Kommunikationsadresse 1) Y024 ~ Y070.

PC-PLC ": 01 02 05 14 00 25 BF CR LF "

Übertragung von Nachrichten:

FeldnameASCIICode
Startzeichen:
Zwangsstation-Adresse01
Befehlcode02
Startdatenadresse High Byte05
Startdatenadresse niedriges Byte14
Anzahl der Daten hohe Byte00
Anzahl der Daten niedriges Byte25
LRC-PrüfcodeBF
Endzeichen 10D (Hex)
Endzeichen 00A (Hex)

Angenommen, die Anzahl der Knotenzustände in der Anforderungsnachricht ist n (dezimal), der Quotient von n / 8 ist M und der Rest ist N.

Wenn N = 0, beträgt die Anzahl der Bytes in der Antwort M; wenn N ≠ 0, beträgt die Anzahl der Bytes in der Antwort M + 1. PLC ein PC ": 01 01 05 CD 6B B2 0E 1B E5 CR LF "

Antwortmeldung:

Delta PLC führt das MODBUS-Kommunikationsprotokoll einAbbildung2FeldnameASCIICode
Startzeichen:
Slave-Station - Adresse01
Befehlcode02
Bytes05
Y024 ~ Y033 KnotenzustandCD
Y034 ~ Y043 Knotenzustand6B
Y044 ~ Y053 KnotenzustandB2
Y054 ~ Y063 Knotenzustand0E
Y064 ~ Y070 Knotenstatus1B
LRC-PrüfcodeE5
Abschlusszeichen 10D (Hex)
Abschlusszeichen 00A (Hex)

4.5.3 Befehlscode: 03,Lesen Sie den Inhalt des Registers

Befehlcode 03 Lesbare Register: T, C, D

Beispiel:: Lesen Sie den Inhalt der Werte von T20 bis T27 einer SPS mit der Station-Adresse 1.

PC-PLC: „: 01 03 06 14 00 08 DA CR LF"

Nachricht übertragen:

Delta PLC führt das MODBUS-Kommunikationsprotokoll einAbbildung2FeldnamenASCIICode
Startzeichen:
Von der Station-Adresse01
Befehlcode03
Datenadresse hohes Byte06
Startdatenadresse hohes Byte14
Anzahl der Daten gelesen hohes Byte00
Anzahl der Daten gelesen niedriges Byte (Datenzahl in Wörtern)08
LRC-PrüfcodeDA
Endzeichen 10D (Hex)
Endzeichen 00A (Hex)

PLC-PC: ": 01 03 10 00 01 02 00 03 00 04 00 05 00 06 00 07 00 08 B8 CR LF " Antwortnachricht:

FeldnameASCIICode
Startzeichen3A
Slave-Station - Adresse01
Befehlcode03
Anzahl der Bytes10
Daten High Byte (T20)00
Daten Low Byte (T20)01
Daten High Byte (T21)00
Daten Low Byte (T21)02
Daten High Byte (T22)00
Daten Low Byte (T22)03
Daten High Byte (T23)00
Daten Low Byte (T23)04
Daten High Byte (T24)00
Daten Low Byte (T24)05
Daten High Byte (T25)00
Daten Low Byte (T25)06
Data High Byte (T26)00
Data Low Byte (T26)07
FeldnameASCIICode
Data High Byte (T27)00
Data Low Byte (T27)08
LRC-CheckcodeC8
Abschlusszeichen 10D (Hex)
Endzeichen 00A (Hex)

4.5.4Befehlcode:05,Erzwingen separate Knoten-Zustand

Bei Befehlcode 05, erzwingen die Daten FF00 (16 - Dezimal) den Knoten zu On; erzwingen die Daten 0000 (16 - Dezimal) den Knoten zu Off. Die anderen obligatorischen Daten sind ungültig und haben keine Auswirkungen auf obligatorische Knoten.

Beispiel: Erzwingen Sie, dass der Knoten Y0 auf On ist.

PC-PLC ": 01 05 05 00 FF00F6CR LF "

Sende Nachricht:

FeldnameASCIICode
Startzeichen:
Slave-Station - Adresse01
Befehlcode05
Knotenadresse Hohe Byte05
Knotenadresse Niedrig Byte00
Erzwungene Daten Hohe ByteFF
Erzwungene Daten Niedrig Byte00
LRC-PrüfcodeF6
Endzeichen 10D (Hex)
Schlusszeichen 00A (Hex)

PLC-PC ": 01 05 05 00 FF00F6CR LF"

Antwort:

FeldnameASCIICode
Startzeichen:
Adresse der Slave Station01
Befehlcode05
Knotenadresse Hohe Byte05
Knotenadresse Niedrig Byte00
Erzwungene Daten Hohe ByteFF
Erzwungene Daten Niedrig Byte00
LRC-PrüfcodeF6
Endzeichen 10D (Hex)
Endzeichen 00A (Hex)

4.5.5Befehlcode:06,Voreinstellter Wert für ein separates Register

Beispiel: Setzen Sie den Wert des Registers T0 auf 12 34 (16 Dezimal) und die Adresse von T0 auf 0600 (16 Dezimal). PC 1 PLC ": 01 06 06 00 12 34 AD CR LF "

Senden Sie eine Nachricht:

Name des BereichsASCIICode
Startzeichen:
Slave-Station - Adresse01
Befehlcode06
Register-Adresse Hohe Byte06
Register-Adresse Niedrig Byte00
Standard-Datenwert Hohe Byte12
Standard-Datenwert Low Byte34
LRC-PrüfcodeAD
Endzeichen 10D (Hex)
Endzeichen 00A (Hex)

PLC ein PC „: 01 06 06 00 12 34 AD CR LF"

Antwort:

FeldnamenASCIICode
Startzeichen:
Slave-Station - Adresse01
Befehlcode06
Register-Adresse Hohe Byte06
Register-Adresse Niedrig Byte00
Standard-Datenwert Hohe Byte12
Standardwert Low Byte34
LRC-PrüfcodeAD
Abschlusszeichen 10D (Hex)
Abschlusszeichen 00A (Hex)

4.5.6Befehlcode:15,Erzwingen mehrerer Knoten

Maximale Knotenanzahl = 255

Beispiel: Festlegen von Knoten Y007...Y000 = 11001101, Y011...Y010 = 01.

PC-PLC: ": 01 0F05 00 00 0A02CD01 11CR LF "

Sende Nachricht:

FeldnameASCIICode
Startzeichen3A
Slave-Station - Adresse01
Befehlcode0F
FeldnameASCIICode
Knotenadresse Hohe Byte05
Knotenadresse Niedrig Byte00
Knotenzahl Hohe Byte00
Knotenzahl Niedrig Byte0A
Byteszahl02
Erzwungene Daten Hohe ByteCD
Erzwungene Daten Niedrig Byte01
LRC-Checkcode11
Endzeichen 10D (Hex)
Endzeichen 00A (Hex)

PLC-PC: ": 01 0F 05 00 00 0A E1 CR LF "

Antwort:

FeldnameASCIICode
Startzeichen:
von der Station Adresse01
Befehl Code0F
Startdatenadresse hohes Byte05
Startdatenadresse niedriges Byte00
Standarddatenwert hohes Byte00
Standarddatenwert niedriges Byte0A
LRC-PrüfcodeE1
Abschlusszeichen 10D (Hex)
Abschlusszeichen 00A (Hex)

4.5.7Befehlcode:16,Voreinstellte Werte für mehrere Register

Beispiel: Setzen Sie den Wert von T0 auf 000A (16 Dezimal) und den Wert von T1 auf 0102 (16 Dezimal).

PC-PLC: „: 01 10 06 00 00 02 04 00 0A01 02D6CR LF"

Sende Nachricht:

FeldnameASCIICode
Startzeichen:
Adresse der Slave Station01
Befehl Code10
Startdatenadresse Hohe Byte06
Startdatenadresse Niedrig Byte00
Registeranzahl Hohe Byte00
Registeranzahl Niedrig Byte02
Datenanzahl (in Bytes)04
Daten Hohe Byte00
Daten Niedrig Byte0A
Daten High Byte01
Daten Low Byte02
LRC CheckcodeD6
Endzeichen 10D (Hex)
Endzeichen 00A (Hex)

PLC-PC: „: 01 10 06 00 00 02 E7 CR LF"

Antwort:

FeldnameASCIICode
Startzeichen:
Slave-Station - Adresse01
Befehlcode10
Startdatenadresse Hohe Byte06
Startdatenadresse Niedrig Byte00
Registeranzahl Hohe Byte00
Registeranzahl Niedrig Byte02
LRC-PrüfcodeE7
Endzeichen 10D (Hex)
Schlusszeichen 00A (Hex)
Relevante Etiketten
Sollte man diese Informationen für ein echtes Projekt verwenden?

Gehen Sie zum Tool Center, um Nachrichten zu analysieren, CRC-Prüfungen und Geräte-Debugging zu erledigen, oder senden Sie Anforderungen für Auswahl - und Zugangsvorschläge.

Ingenieur Mitglied

Verwandeln Sie diesen Artikel in ein umsetzbares Debuggermaterial

Erweiterte Nachrichtenanalyse, Paket-Downloads, Codebeispiele, Engineering-Szenarien und Priority-Technischer Support sind für die Real-Projekt - Bereitstellung möglich.

Unbegrenzte Werkzeuge
Datenpaket und Codepaket
Vollständige Engineering Case-Basis
Vorrangiger Zugang zum technischen Support

Antwort veröffentlichen

Ihre E-Mail - Adresse wird nicht öffentlich gemacht. Erforderliche Elemente wurden verwendet * markiert.