Herunterladen Inhalt Inhalt Diese Seite drucken

Modbus-Schreibzugriff; Fehlerprüfung (Crc-Berechnung) - Leuze Cml720I-R05-1600.R/Cv-M12 Originalbetriebsanleitung

Messender lichtvorhang
Inhaltsverzeichnis
In Betrieb nehmen – RS 485 Modbus-Schnittstelle
Beschreibung der Bytes
• Byte 1: Slave Adresse
• Byte 2: Lesezugriff-Kommando = 0x03 (Wiederholung des Lesekommandos)
• Byte 3: Anzahl der Nutzdaten (20 – die tatsächliche Anzahl/Länge der gesendeten Antwortdaten des
Lesezugriffs
• Bytes 4 ... 35: Nutzdaten (hier z. B. Zeichenkette mit Herstellerbenennung)
• Bytes 36 ... 37: 16-Bit Fehlerprüfung (Cyclic Redundancy Check, CRC) (siehe Kapitel 14.2.3)

14.2.2 Modbus-Schreibzugriff

16-Bit Schreibzugriff
Telegramm-Rahmen:
01
10
(Byte 1)
(Byte 2)
Beschreibung der Bytes:
• Byte 1: Slave Adresse
• Byte 2: Schreibzugriff-Kommando = 0x10
• Byte 3: Modul-ID = 0x00
• Byte 4: Index (hier z. B. 0x10 liefert den Hersteller Namen, siehe Kapitel 14.3)
• Bytes 5 ... 6: Maximale Länge der Antwortdaten in Words (16 Bit)
• Byte 7: Anzahl der übertragenen Nutzdaten in Bytes (= 2 x Wert in den Bytes 5 ... 6)
• Bytes 8 ... 11: Nutzdaten
• Bytes 12 ... 13: 16-Bit-Fehlerprüfung (Cyclic Redundancy Check, CRC) (siehe Kapitel 14.2.3)
Antwort auf 16-Bit Schreibzugriff
Telegramm-Rahmen:
01
(Byte 1)
Beschreibung der Bytes:
• Byte 1: Slave Adresse
• Byte 2: Schreibzugriff-Kommando = 0x10
• Byte 3: Modul-ID = 0x00
• Byte 4: Index (hier z. B. 0x10 liefert den Hersteller Namen, siehe Kapitel 14.3)
• Bytes 5 ... 6: Maximale Länge der Antwortdaten in Words (16 Bit)
• Bytes 7 ... 8: 16-Bit Fehlerprüfung (Cyclic Redundancy Check, CRC) (siehe Kapitel 14.2.3)
14.2.3 Fehlerprüfung (CRC-Berechnung)
Beispiel aus der Referenz-Spezifikation:
„MODBUS over serial line specification and implementation guide V1.0", Kapitel 6.2.2
Example
An example of a C language function performing CRC generation is shown in the following. All of the
possible CRC values are preloaded into two arrays, which are simply indexed as the function increments
through the message buffer. One array contains all of the 256 possible CRC values for the high byte of the
16-bit CRC field, and the other array contains all of the values for the low byte.
Leuze electronic GmbH + Co. KG
00 00
00 02
(Byte 3 ... 4)
(Byte 5 ... 6)
10
00 00
(Byte 2)
(Byte 3 ... 4)
04
01 01 02 00
(Byte 7)
(Byte 8 ... 11)
00 02
(Byte 5 ... 6)
CML 720i
3F 36
(Byte 12 ... 13)
3F 36
(Byte 7 ... 8)
149
Inhaltsverzeichnis
loading

Diese Anleitung auch für:

Cml 720i50120141

Inhaltsverzeichnis