Herunterladen Inhalt Inhalt Diese Seite drucken

Beispiele Für Die Bcc-Berechnung - IDEC MICROSmart pentra FC5A Serie Betriebsanleitung

Vorschau ausblenden Andere Handbücher für MICROSmart pentra FC5A Serie:
Inhaltsverzeichnis

Werbung

10: A
NWENDERKOMMUNIKATIONSBEFEHLE
Beispiele für die BCC-Berechnung
Die FC5A MicroSmart CPU-Module können die drei neuen Berechnungsformeln ADD-2comp, Modbus ASCII
und Modbus RTU für die Sendebefehle TXD1 und TXD2 sowie für die Empfangsbefehle RXD1 und RXD2
verwenden. Diese Blockprüfzeichen werden wie unten beschrieben berechnet.
ADD-2comp
Addiert die Zeichen im Bereich vom Startpunkt der BCC-Berechnung bis zum Byte unmittelbar vor dem BCC-
Wert. Anschließend wird das Ergebnis bitweise invertiert und die Zahl 1 addiert
1. Addiert die Zeichen zwischen der Startposition der BCC-Berechnung und dem Byte unmittelbar vor dem BCC.
2. Invertiert das Ergebnis bitweise und addiert 1 (2. invertiertes Signal).
3. Speichert das Ergebnis in der BCC-Position gemäß dem festgelegten Konvertierungstyp (Binär-nach-ASCII-
Konvertierung oder Keine Konvertierung) und die festgelegte Anzahl an BCC-Stellen.
Beispiel: Binär-nach-ASCII-Konvertierung, 2 BCC-Stellen
Wenn das Ergebnis von Schritt 2 gleich 175h ist, besteht der BCC-Wert aus 37h, 35h.
Modbus ASCII — LRC-Berechnung (Längsredundanzprüfung)
Für die Berechnung des BCC-Werts wird der LRC-Wert (Längsredundanzprüfung) im Bereich von der
Startposition der BCC-Berechnung bis zum Byte unmittelbar vor dem BCC-Wert verwendet.
1. Konvertiert die ASCII-Zeichen von der Startposition der BCC-Berechnung bis zum Byte unmittelbar vor dem BCC
in Einheiten zu jeweils zwei Zeichen, um hexadezimale 1-Byte-Daten zu erstellen. (Beispiel: 37h, 35h  75h)
2. Addiert die Ergebnisse von Schritt 1.
3. Invertiert das Ergebnis bitweise und addiert 1 (2. invertiertes Signal).
4. Konvertiert die niedrigsten 1-Byte-Daten in ASCII-Zeichen. (Beispiel: 75h  37h, 35h)
5. Speichert die zwei Stellen an der BCC- (LRC) Position.
Wenn der Bereich der BCC-Berechnung aus einer ungeraden Anzahl an Bytes besteht, führt die BCC-
Berechnung zu einem unbestimmten Wert. Das Modbus-Protokoll legt fest, dass der BCC-
Berechnungsbereich aus einer geraden Anzahl an Bytes besteht.
Modbus RTU — CRC-16 Berechnung (zyklische Redundanzprüfsumme)
Für die Berechnung des BCC-Werts wird der CRC-16-Wert (zyklische Redundanzprüfsumme) im Bereich von
der Startposition der BCC-Berechnung bis zum Byte unmittelbar vor dem BCC-Wert verwendet. Das
Polynomergebnis lautet: X
1. Nimmt das Exklusiv-ODER (XOR) von FFFFh und die ersten 1-Byte-Daten an der Startposition der BCC-
Berechnung.
2. Verschiebt das Ergebnis um 1 Bit nach rechts. Nimmt bei Auftreten eines Überlaufs das Exklusiv-ODER (XOR)
von A001h und geht zu Schritt 3.
Wenn nicht, geht der Ablauf direkt zu Schritt 3.
3. Wiederholt Schritt 2, wobei die Verschiebung 8 Mal durchgeführt wird.
4. Nimmt das Exklusiv-ODER (XOR) des Ergebnisses und die nächsten 1-Byte-Daten.
5. Wiederholt die Schritte 2 bis 4 bis zum Byte unmittelbar vor dem BCC.
6. Das höhere und niedrigere Byte des Ergebnisses von Schritt 5 wird gegenseitig ausgetauscht und das CRC-16-
Ergebnis wird an der BCC- (CRC) Position gespeichert. (Beispiel: 1234h  34h, 12h)
10-46
16
15
2
+ X
+ X
+ 1.
M
S
FC5A B
ICRO
MART
FC9Y-B1271
ENUTZERHANDBUCH

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis