BDE-Protokoll V29/05/06



Ähnliche Dokumente
Berührungslose Datenerfassung. easyident-usb Stickreader. Art. Nr. FS-0012

Über die Status-Befehle kann die Peripherie der gesamten Hard- und Firmware abgefragt werden.

Local Control Network

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

Betriebsanleitung Modbus-Konverter Unigate-CL-RS

RO-Serie CAN-Übertragungsprotokoll

Installation eines BM-33k6/ISDN pro USB an einem Windows XP-Rechner

trivum Multiroom System Konfigurations- Anleitung Erstellen eines RS232 Protokolls am Bespiel eines Marantz SR7005

SMS-Versand in MACS Einrichtung des SMS-Versand Verwendung des SMS-Versandes Der SMS-Versand Empfängerfeld Empfänger-Rufnummer Inhalt der SMS

Mail encryption Gateway

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Kapitel 7 - Wägungen

GeoPilot (Android) die App

Dokumentation zum Spielserver der Software Challenge

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Weitere vielseitige Möglichkeiten von SMS im Festnetz

Zunächst empfehlen wir Ihnen die bestehenden Daten Ihres Gerätes auf USB oder im internen Speicher des Gerätes zu sichern.

Installation / Aktualisierung von Druckertreibern unter Windows 7

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

PRESENTEC C-TRACK FÜR BLACKBERRY 8800 & BLACKBERRY CURVE 8310 FUNKTIONSBESCHREIBUNG

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

web: CAD/CAM-Systeme Entwicklung Beratung Vertrieb Kundenbetreuung Service für Werkzeugmaschinen

ABB i-bus KNX. Software-Information. Melde- und Bedientableau. Typ: MT 701.2

Kommunikations-Management

Beschreibung EtherNet/IP Prozessschnittstelle

Leistungsbeschreibung Click2SMS 1.0

Microcontroller Kurs Microcontroller Kurs/Johannes Fuchs 1

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle

Adami CRM - Outlook Replikation User Dokumentation

Arbeiten mit Standorten und Freimeldungen

DIGITALVARIO. Anleitung Bootloader. Ausgabe 0.1 deutsch für Direkt-Digital-Vario. Firmware ab Hardware 01 Seriennummer ab 0003

Schnittstellenbeschreibung Funkempfänger SRC-RS485-EVC

Installationsanleitung für das KKL bzw. AGV4000 Interface

Lizenzen auschecken. Was ist zu tun?

Kurzanleitung. Toolbox. T_xls_Import

Mediumwechsel - VR-NetWorld Software

Information zur Durchführung von. Software-Updates

V o r w o r t. A n l e i t u n g

Persönliches Adressbuch

Konfiguration des ewon GSM Modems Kurzbeschreibung zum Aufbau einer GSM Verbindung

GSM Scanner Bedienungsanleitung

Zur Bestätigung wird je nach Anmeldung (Benutzer oder Administrator) eine Meldung angezeigt:

LC-Ne s-letter. Neuerungen bei LIFTCALC

Konfiguration VLAN's. Konfiguration VLAN's IACBOX.COM. Version Deutsch

Aufruf der Weboberflache des HPM- Warmepumpenmanagers aus dem Internet TIPPS

Produkte Info Touchscreen-Panel

TachoDrive PLUS. GloboFleet. Bedienungsanleitung

Beschreibung Regeln z.b. Abwesenheitsmeldung und Weiterleitung

Windows 10 activation errors & their fixes.

Anleitung zum erfassen von Last Minute Angeboten und Stellenangebote

Professionelle Seminare im Bereich MS-Office

Wurde eine Sammlung Werte übermittelt, so wird der örtliche Speicher des jeweiligen Moduls gelöscht und die Speicherung beginnt aufs Neue.

Erstellen von Mailboxen

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Wie stelle ich fest, ob mein Antrag erfolgreich in dem Mautrabattsystem zugestellt wurde?

PCE-USM RS USB Logger

DIE ZUKUNFT BEGINNT JETZT: ELEKTRONISCHE UNTERSCHRIFT

EasyWk DAS Schwimmwettkampfprogramm

1 Anschließen der Wiegeanzeige an den PC

Die USB-Modem-Stick Software (Windows) verwenden. Doppelklicken Sie das Symbol auf dem Desktop, um die Software zu starten. Die Hauptseite erscheint:

Dieser Ablauf soll eine Hilfe für die tägliche Arbeit mit der SMS Bestätigung im Millennium darstellen.

Kopieren, drucken, scannen

Inventur. Bemerkung. / Inventur

KabelKiosk NDS CI+ Modul Fehlercode-Liste

Registrierung am Elterninformationssysytem: ClaXss Infoline

LPT1 Anschluss mit PCMCIA Karte

Nach dem Anmelden sind die Arbeitnehmer beim Finanzamt bekannt und Sie können und müssen sogar die Änderungsliste, z.b. monatlich, abrufen.

Mediumwechsel - VR-NetWorld Software

Vorsitzende Wahlbüros Checkliste technische Zwischenfälle - System DIGIVOTE Wahlbüros mit automatisierter Stimmabgabe

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Erstellen einer digitalen Signatur für Adobe-Formulare

Version Deutsch In diesem HOWTO wird beschrieben wie Sie Ihren Gästen die Anmeldung über eine SMS ermöglichen.

3 Wie bekommen Sie Passwortlevel 3 und einen Installateurscode?

Timi2 Stick parametrieren

Bedienungsanleitung PC-Konfigurationssoftware des ID Inclinometers

S7-Hantierungsbausteine für R355, R6000 und R2700

ZVT TA7.0 Protokoll beim ICT250 aktivieren

INTERPRETER Interface. DATAWIN OMR Serie 10 Serie 50 Serie 300. Programmbeschreibung. Edition _01

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

Dokumentenkontrolle Matthias Wohlgemuth Telefon Erstellt am

Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys

Artikel Schnittstelle über CSV

Tevalo Handbuch v 1.1 vom

LESS-FIBU Firmen-Wechsel 1

AlwinPro Care Modul Schnittstelle TV-Steuerung

Leitfaden zur Durchführung eines Jahreswechsels in BüroWARE 5.x

FrontDoor/Monitor mehr sehen von FrontDoor

Leichte-Sprache-Bilder

teischl.com Software Design & Services e.u. office@teischl.com

ARAkoll 2013 Dokumentation. Datum:

Programmablauf für die Batch Wlan Komplettpakete mit Windows CE

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Leitfaden zur Nutzung von binder CryptShare

Karten-Freischaltung mit dem UNLOCK MANAGER

Kurzanleitung. Kurzanleitung. Version.

mobilepoi 0.91 Demo Version Anleitung Das Software Studio Christian Efinger Erstellt am 21. Oktober 2005

Transkript:

V29/05/06

Copyright 2006 by deister electronic GmbH All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior written permission of deister electronic GmbH. deister electronic GmbH reserves the right to make changes to any and all parts of this documentation without obligation to notify any person or entity of such changes. May 2006 LW/BF deister electronic GmbH Hermann-Bahlsen Str. 11 30890 Barsinghausen Germany Phone: +49 (0) 51 05-51 61 11 Fax: +49 (0) 51 05-51 62 17 E-Mail: info@deister-gmbh.de Web: www.deister.com 2 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

Contents 1. Einleitung... 4 2. System-Bus... 4 2.1 Physikalische Übertragungsebene...4 2.2 Datenrahmen...4 3. Protokoll... 4 3.1 Grundstruktur...4 3.1.1 Sonderzeichen...5 3.1.2 Ziel- u. Quellenadresse...6 3.1.3 Kontrollbyte...7 3.1.4 Datenbereich...8 3.1.5 CRC-Bytes...9 3.2 Segmentierte Messages...9 3.3 Transfer Messages... 10 3.4 Busbefehle... 13 3.4.1 Busbefehle ohne Parameter... 13 3.4.2 Busbefehle mit Parameter... 13 3.5 Antwort Messages... 17 3.5.1 Antwort ohne Rückgabewert... 17 3.5.2 Antwort mit Rückgabewert... 17 3.6 Software Update... 23 3.7 Software Backup... 24 4. Anhänge... 26 4.1 Gerätespezifische Messages... 26 4.1.1 Bitech Ident... 26 4.1.2 Bitech I/O-Interface... 27 4.1.3 MBS Waage... 29 4.1.4 Terberg Schüttung... 34 4.1.5 PC-Interface... 36 4.1.6 BSU... 43 4.1.7 BiTech Handheld... 52 4.2 CRC Kalkulation... 54 4.3 Vordefinierte Abläufe... 55 4.3.1 Systemstart des Buskontrollers... 55 4.3.2 Watch-Dog (WD) Ereignis beim Kontroller... 55 4.3.3 Busteilnehmer antwortet nicht... 55 4.3.4 Systemstart eines Busteilnehmers... 55 4.4 Sicherheit... 56 4.4.1 Datenübertragung... 56 4.4.2 Manipulation... 56 4.5 Revisionshistorie... 57 4.6 Code-Tabellen... 58 V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 3

1. Einleitung Dieses Protokoll dient der Kommunikation unterschiedlicher Module einer Ablaufsteuerung bei Fahrzeugen der Entsorgungswirtschaft. Diese als System-Bus bezeichnete Datenverbindung ist in RS-485 Technik ausgeführt und ein Bus-Kontroller regelt und kontrolliert das Protokoll mit dessen Hilfe die am Bus angeschlossenen Geräte Informationen austauschen. 2. System-Bus 2.1 Physikalische Übertragungsebene Bidirektionale, beidseitig terminierte Zweidrahtverbindung mit RS-485 Transceivern. Kabelquerschnitt min. 0,22 mm 2 (24 AWG) mit einem Wellenwiderstand von 100-120 Ohm. Maximale Gesamtlänge des verlegten Busses: 100m. 2.2 Datenrahmen Der Datenrahmen ist 8N2; d.h. 11 Bits mit 1 Startbit, 8 Databits, kein Paritybit und 2 Stopbits. Die Standard Baudrate ist 9600Bd. Busbefehle regeln, ob mit einer höheren Baudrate gearbeitet werden kann. Die zulässige Abweichung von der Sollfrequenz der Baudrate ist maximal 1%. Es sind 16 Busteilnehmer zugelassen. Jeder Busteilnehmer, der nach Aufforderung eine Message senden will, muß nach dem Stopbyte der Aufforderung eine Pause von mindestens 3ms einhalten. Erhält ein Busteilnehmer eine Anfrage bzw. einen Busbefehl, so muß er spätestens 40ms nach dem Stopbyte der Aufforderung mit der Antwort begonnen haben. 3. Protokoll 3.1 Grundstruktur Der Datentransfer wird in Form von Messages auf dem Bus durchgeführt. Jede Message wird von einem Anfangswert (Startbyte) und einem Endwert (Stopbyte) eingerahmt. Für diese Sonderwerte werden Codierungen verwendet, die im übrigen Datenstrom nicht vorkommen. Jede Message enthält auch die Zieladresse, die Quellenadresse, Prüfsumme und den Daten- bzw. Befehlsbereich. Grundstruktur der Messages: Startbyte Zieladresse Quellenadr. Kontrollbyte Datenbereich CRC Stopbyte Byte Byte Byte Byte 0-32 Bytes Word Byte Daten im Word-Format werden mit LSB-First übertragen. Die Formatierung des Daten- Bereiches siehe unter 3.1.4 Datenbereich. Jede Message oder Busbefehl muß mit einer Acknowledge-Message bzw. mit der Antwort-Message des Busbefehles beantwortet werden. 4 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

3.1.1 Sonderzeichen Sonderzeichen sind die für Startbyte, Stopbyte und dem Umschaltzeichen benutzten Codes. Das Startbyte des Kontrollers und das Startbyte der anderen Busteilnehmer ist unterschiedlich. Dies hat den Vorteil, daß sich die Busteilnehmer nur Messages, die vom Kontroller kommen, anschauen müssen. Alle anderen Messages auf dem Bus können ignoriert werden. Das Stopbyte ist für alle Busteilnehmer gleich. Weil die oberen 8 Codes der Datenbytes für Sonderzeichen reserviert sind, werden diese Bytes, beim Auftreten im Datenstrom, durch eine Folge von Umschaltzeichen und Ersatzbyte ersetzt. Code 0xFF 0xFE 0xFD 0xFC 0xFB 0xFA 0xF9 0xF8 Stopbyte bei jeder Message. Startbyte bei Messages vom Bus-Kontroller. Umschaltzeichen. Startbyte bei Messages von den Bus-Teilnehmern. nicht verwendet nicht verwendet nicht verwendet nicht verwendet V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 5

3.1.2 Ziel- u. Quellenadresse Die Zieladresse ist die Adresse des Empfängers einer Message und die Quellenadresse ist die Adresse des Absenders. Beide Adressen werden nach dem gleichen Schema gebildet. Der Codebereich eines Adreßbytes wird in 31 Gruppen zu je 8 Teilnehmern aufgeteilt. Ziel- oder Quellenadresse 7 6 5 4 3 2 1 0 Gruppenadresse Teilnehmeradresse Die Gruppenadresse 0 ist fest für den Bus-Kontroller reserviert. Die restlichen 30 Gruppenadressen können zur Bildung von Busteilnehmer-Gruppen genutzt werden. Die Gruppenadresse 31 entfällt, weil die obersten 8 Codes durch Sonderzeichen belegt sind.die Teilnehmeradresse 0 einer Gruppe ist die Multicast-Adresse dieser Gruppe. Nur zu dieser Gruppe gehörende Teilnehmer dürfen auf diese Adresse reagieren. Die Teilnehmeradressen 1 bis 7 werden den Teilnehmern zugewiesen. Die Teilnehmeradresse 0 der Gruppenadresse 0 ist die Broadcast-Adresse für alle Teilnehmer. Bei Multicast- und Broadcast-Adressen dürfen die Busteilnehmer keine Antwort-Message senden. Im System ist nur einen Bus-Kontroller erlaubt. Der Bus-Kontroller mit der Teilnehmeradresse 1 hat somit die Zieladresse 0x01. Es ist nur einen Bus-Kontroller im System erlaubt. 6 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

3.1.3 Kontrollbyte In diesem Byte werden allgemeine Informationen zur jeweiligen Message angegeben. Die einzelnen Bits haben folgende : 7 6 5 4 3 2 1 0 Frei Format Kontroll-Code Kontroll- Code 0x00 0x01 0x02 0x0A 0x0B 0x0C 0x0D 0x0E 0x14 0x15 Request. Anfrage, ob Kommunikation gewünscht wird. Status-Anfrage an einen Teilnehmer. Acknowledge. Befehl verstanden, fehlerfrei ausgeführt, keine Rückgabewerte. Kopf-Message einer segmentierten Message Segment einer segmentierten Message Status einer segmentierten Message Tour-Daten Message Transfer-Message (Datentransfer zwischen zwei Busteilnehmern) Busbefehl mit Befehl und Parameter im Datenbereich. Antwort mit Kennung und Parameter im Datenbereich. Bei den ersten vier Kontrollcodes sind keine weitere Parameter nötig. Bei diesen Codes sind die Messages nur 7 Bytes lang. Der Kontroll-Code 0x0E kennzeichnet eine Message, die vom Buskontroller nur durchgereicht wird. Format 0x0 0x1 0x2 Binären Daten mit Umschaltzeichen. ASCII-Hex Daten im 7Bit-ASCII Format. String-Daten im 7Bit-ASCII Format. Die allgemeinen Busbefehle und Antworten (siehe 3.3. und 3.4.) sind binär kodiert und haben alle den Format-Code 0x0. Andere Format-Kodierungen mussen bei den gerätespezifischen Messages definiert werden. V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 7

3.1.4 Datenbereich Der Datenbereich darf maximal 32 Bytes lang sein. Die oberen 8 Codes ( 0xF8 0xFF) eines übertragenen Bytes sind für Sonderzeichen wie Startbyte, Stopbyte etc. reserviert. Zur Übertragung von Daten stehen drei Formate zur Auswahl. Die ersten beiden Formate sind für die Übertragung von binären Daten und das dritte Format ist für Texte. 1. Binäre Daten mit Umschaltzeichen: Beim diesem Verfahren werden für die verbotenen Codes sogenannte Escape-Sequenzen eingefügt. Diese Sequenzen bestehen aus einem Umschaltzeichen, daß außerhalb des Codebereiches liegt, und einem Folgezeichen, daß einen Ersatzcode enthält. In diesem Fall ist das Umschaltzeichen nicht Escape sondern 0xFD bzw. Dez. 253. Erkennt die Empfangs-Routine das Umschaltzeichen, dann wird nur das folgende Zeichen+128 abgespeichert. Die Tabelle der Ersatzcodes: Daten-Byte Ersatz-Code Dez. Hex Dez. Hex 248 0xF8 120 0x78 249 0xF9 121 0x79 250 0xFA 122 0x7A 251 0xFB 123 0x7B 252 0xFC 124 0x7C 253 0xFD 125 0x7D 254 0xFE 126 0x7E 255 0xFF 127 0x7F 2. ASCII-Hex Verfahren: Beim zweiten Verfahren wird jedes binäre Byte in zwei Hexadezimalzahlen zerlegt und als 7Bit-ASCII Zeichen übertragen. Die diesem Verfahren werden jedes Mal nur 16 binäre Bytes übertragen. 3. Daten in 7Bit-ASCII: Soll im Datenbereich ein String übertragen werden kann dieser direkt in 7Bit-ASCII codiert werden. Es wird jeweils im Kontrollbyte angegeben, welche Codierung im Datenbereich benutzt wird. 8 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

3.1.5 CRC-Bytes Das CRC-Feld besteht aus zwei Bytes mit dem LSB-Byte als erstes Byte. Das CRC wird einschließlich des Startbytes berechnet. Initialisierungswert: 0000h CRC Polynom: 11021h Der CRC-Wert wird aus Start-Byte und allen Steuer- bzw. Daten-Bytes gebildet. Ist in der Message eine Umschaltsequenz vorhanden, dann wird zur CRC Berechnung jedoch nur der ursprüngliche Wert herangezogen. Ein innerhalb des CRC auftauchender Code eines Steuerzeichens wird auch durch eine Umschaltsequenz ersetzt. Der Empfänger berechnet das CRC bis das Stopbyte empfangen wurde. (CRC Kalkulation mit C siehe 4.2.) 3.2 Segmentierte Messages Da die Maximalzahl der Datenbytes einer Message begrenzt ist, muß zur Übertragung einer großen Datenmenge (wie z.b. Behältersperrdaten, Softwareupdates etc.) die Gesamtmessage in einzelne Segmente bzw. Datensätze unterteilt werden. Dabei muß der Empfänger jede fehlerfrei empfangene Message (Kopf- oder Segment-Message) mit der Acknowledge-Message quittieren. Erkennt der Empfänger einen Übertragungsfehler (Frame-Error, CRC-Error etc.), dann darf dieses Segment nicht quittiert werden. Der Sender muß dann nach Ablauf des Antwort-Timeouts (40ms) dieses Segment wiederholen. Die Gesamtmessage wird immer mit einer Kopf-Message (Kontroll-Code 0x0A) eingeleitet: Kennung Segment-Anzahl Message-ID Datenbereich Byte Word Byte 0-28 Bytes Die Definition weiterer Parameter im Datenbereich siehe unter Gerätespezifische Messages bzw. unter Software-Update. Die Message-IDs von zwei aufeinander folgenden Gesamtmessages müssen sich unterscheiden. Die einzelnen Segmente bzw. Datensätze (Kontroll-Code 0x0B) haben folgendes Format: Message-ID Segment-Nummer Datenbereich Byte Word 0-32 Bytes Alle Segmente haben die Message-ID, die in der Kopf-Message angegeben wurde. Die maximale Länge des Datenbereiches einer segmentierten Message ist auch 32 Bytes. Zur weiteren Steuerung des Datentransfers kann die Datenquelle anstelle des nächsten Segmentes oder der Empfänger anstelle der nächsten Acknowledge-Message einen Message-Status einfügen. V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 9

Die Message Message-Status (Kontroll-Code 0x0C) bei der Übertragung einer segmentierten Message hat folgendes Format: Message-ID Status Segment-Nummer Byte Byte Word Der Parameter Segment-Nummer wird nur bei dem Status-Code 4 mit übertragen. Status 0x00 0x01 0x02 0x04 0x05 Alle Segmente übertragen. Start einer Pause in der Übertragung. Ende der Pause. Wiederhole Segment mit folgender Segment-Nummer. Abbruch der Gesamtmessage. Den Status-Code 0 sendet die Daten-Quelle, wenn alle Segmente übertragen sind. Hat der Empfänger alle Segmente erhalten, dann antwortet er mit einem Acknowledge. Fehlt dem Empfänger ein Segment, dann kann er mit dem Status-Code 4 und der Segment-Nummer das fehlende Segment anfordern. Dieses nachträglich gesendete Segment quittiert der Empfänger mit dem Status-Code 0 oder wenn mehr als ein Segment fehlt, dann kann mit weiteren Status-Messages (Code 4) die fehlenden Segmente nachgefordert werden. Das letzte Segment muß dann mit Status-Code 0 quittiert werden. Beim Status-Code 5 wird die Übertragung der Segmente gestopt. Alle Segmente, die mit dieser Message-ID übertragen wurden, sind ungültig. D.h. sie werden vom Empfänger gelöscht. 3.3 Transfer Messages Möchte ein Busteilnehmer eine Message zu einem anderen Busteilnehmer schicken, dann kann die Transfer Message benutzt werden. Bei dieser Art von Messages wird der Dateninhalt vom Buskontroller 1:1 durchgereicht. Die Transfer-Message wird als Antwort auf eine Request-Anfrage des Buskontrollers gesendet. Die Transfer-Message von einem Busteilnehmer zu einem anderen Busteilnehmer wird wie folgt kodiert: Startbyte Zieladresse Quellenadr. Kontrollbyte Datenbereich CRC CRC Stopbyte 0xFC 0x01 Byte 0x0E 0-35 Bytes LSB MSB 0xFF Kennung (dez.) tatsächliche Ziel tatsächliche Quelle Message-Daten 55 Byte Byte 0-32 Bytes Bei Werten großer 0xF7 muß mit Umschaltzeichen (siehe 3.1.4.) gearbeitet werden. Die Adressen für tatsächliches Ziel und Quelle im Datenbereich sind die Adressen der beteiligten Busteilnehmer. Der Buskontroller verändert die Ziel- und Quelllenadresse beim Durchreichen der Message. 10 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

Sind die Message-Daten nicht länger als 32 Bytes, dann kann der Busteilnehmer die Transfer-Message nach der nächsten allgemeinen Request-Anfrage des Buskontrollers übertragen. Sind die zu übertragenden Message-Daten länger, dann antwortet der Busteilnehmer mit folgender Status-Message: Status Messagelänge: Startbyte Zieladresse Quellenadr. Kontrollbyte Datenbereich CRC CRC Stopbyte 0xFC 0x01 Byte 0x15 0-32 Bytes LSB MSB 0xFF Antwortcode 0x05 Message-Länge Byte Dabei ist die Message-Länge auf 160 Bytes (max. SMS-Länge) begrenzt. Weil es nicht vorgesehen ist die einzelnen Transfer-Messages weiter zu zergliedern, entscheidet der Buskontroller in Abhängigkeit von der Message-Länge, ob die Transfer- Messages sofort oder zu einem besser passenden Zeitpunkt (innerhalb der nächsten 2-3 Sekunden) abgeholt wird. Das Abholen dieser langen Antwort-Message wird vom Buscontroller mit dem Extended Request Befehl eingeleitet. Benutzt der Buskontroller den Extended Request Befehl für die normale periodische Request Abfrage, dann kann der Busteilnehmer sofort mit einer langen Transfer-Messages antworten. V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 11

3.3.1 Beispiel einer Transfer-Message: Wenn z.b. das CE-Terminal (Adr=0x31) eine Transfer-Message zum GPS/GSM-Modul (Adr=0x29) schicken möchte, dann sehen die Messages wie folgt aus: (LSB und MSB stehen für das CRC-Wort) a) Datenbereich <= 32 Bytes: 1. Request-Anfrage 0xFE, 0x31, 0x01, 0x00, LSB, MSB, 0xFF 2. Transfer-Message CE->BSU 0xFC, 0x01, 0x31, 0x0E, 0x37, 0x29, 0x31, Datenbytes, LSB, MSB, 0xFF 3. Acknowledge-Message 0xFE, 0x31, 0x01, 0x02, LSB, MSB, 0xFF 4. Transfer-Message BSU->GPS 0xFE, 0x29, 0x01, 0x0E, 0x37, 0x29, 0x31, Datenbytes, LSB, MSB, 0xFF 5. Acknowledge-Message 0xFC, 0x01, 0x29, 0x02, LSB, MSB, 0xFF b) Datenbereich > 32 Bytes (z.b. 140 Bytes): 1. Request-Anfrage 0xFE, 0x31, 0x01, 0x00, LSB, MSB, 0xFF 2. Status Messagelänge CE->BSU 0xFC, 0x01, 0x31, 0x15, 0x05, 0x8C, LSB, MSB, 0xFF 3. Extended Request-Anfrage 0xFE, 0x31, 0x01, 0x14, 0x05, 0x8C, LSB, MSB, 0xFF 4. Transfer-Message CE->BSU 0xFC, 0x01, 0x31, 0x0E, 0x37, 0x29, 0x31, Datenbytes, LSB, MSB, 0xFF 5. Acknowledge-Message 0xFE, 0x31, 0x01, 0x02, LSB, MSB, 0xFF 6. Transfer-Message BSU->GPS 0xFE, 0x29, 0x01, 0x0E, 0x37, 0x29, 0x31, Datenbytes, LSB, MSB, 0xFF 7. Acknowledge-Message 0xFC, 0x01, 0x29, 0x02, LSB, MSB, 0xFF Wenn der Buskontroller die allgemeine Request-Anfrage gleich mit dem Extended Request Befehl macht, dann kann der angesprochene Busteilnehmer sofort mit einer langen Message antworten. 12 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

3.4 Busbefehle Eine Kommunikation zwischen Buskontroller und einem Busteilnehmer wird generell von Buskontroller gestartet. D.h. ein Busteilnehmer darf nur Antworten (den Bus aktiv treiben), wenn er vorher vom Buskontroller eine Message fehlerfrei empfangen hat. 3.4.1 Busbefehle ohne Parameter Zur Zeit sind zwei Busbefehle definiert, die keine Parameterübergabe benötigen. Der erste ist die Request-Anfrage. Diese kürzeste Form der Aufforderung zur Kommunikation hat folgendes Format: Startbyte Zieladresse Quellenadr. Kontrollbyte CRC CRC Stopbyte 0xFE Byte 0x01 0x00 LSB MSB 0xFF Wenn keine Kommunikation gewünscht wird, dann quittiert der Busteilnehmer mit der Acknowledge-Message (siehe 3.4.). Der zweite Befehl ist die Status-Anfrage, die folgendes Format hat: Startbyte Zieladresse Quellenadr. Kontrollbyte CRC CRC Stopbyte 0xFE Byte 0x01 0x01 LSB MSB 0xFF Der Busteilnehmer sendet seinen Status (siehe 3.4.2.). 3.4.2 Busbefehle mit Parameter Bei Busbefehlen mit Parameterübergabe werden die Messages wie folgt kodiert: Startbyte Zieladresse Quellenadr. Kontrollbyte Datenbereich CRC CRC Stopbyte 0xFE Byte 0x01 0x14 0-32 Bytes LSB MSB 0xFF Busbefehl Parameter-1 Parameter-2 Parameter-n Byte Byte Byte Byte Die maximale Anzahl der Bytes im Datenbereich ist 32 (Busbefehl + Parameter 1... n). Bei Werten großer 0xF7 muß mit Umschaltzeichen (siehe 3.1.4.) gearbeitet werden. Die für alle Teilnehmer vordefinierten Busbefehle haben folgende Formate: Reset: Befehlscode 0x01 Parameter Keine Reset eines oder mehrerer Busteilnehmer. Einzel-, Multicast- und Broadcast-Adressen zulässig. Wird der Reset-Befehl als Multicast- oder Broadcast-Befehl gesendet, dann dürfen sie Busteilnehmer nicht antworten. V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 13

Protokoll Status: Befehlscode 0x02 Protokoll-Status Byte Mit diesem Befehl teilt der Buskontroller einem oder mehrerer Busteilnehmer mit, daß die Steuerung des BDE-Protokolls unterstützt wird (gestartet ist) oder die Steuerung des Protokolls gestoppt ist. Dieser Einzel-, Multicast- oder Broadcast-Befehl wird z.b. benötigt, wenn der Buskontroller ein Software-Update erhält und deshalb für einige Zeit die zyklische Abfrage der Busteilnehmer unterbrechen muß. Wird dieser Befehl als Multicast- oder Broadcast-Befehl gesendet, dann darf kein Busteilnehmer antworten. Protokoll-Status 0x01 0x02 0x04 Protokoll-Stop Protokoll-Start Extended Request Befehl: Befehlscode 0x05 Max. Länge Byte Request-Anfrage an einen Busteilnehmer mit der Erlaubnis Messages mit der Datenlänge max. Länge zu übertragen (z. B. SMS Messages mit max. Länge = 140). Nur Einzeladressierung zulässig. Version: Befehlscode 0x10 Parameter Keine Anfrage an einen Busteilnehmer nach Geräte-Art, Serien-Nummer, Programm-Version und Protokoll-Version. Dieser Befehl darf auch als Multicast- oder Broadcast-Befehl gesendet werden. Dabei ist aber sicher zu stellen, daß dann nur ein Busteilnehmer angeschlossen ist. Eigenschaft: Befehlscode 0x11 Parameter Keine Anfrage an einen Busteilnehmer nach maximaler Baudrate und Datenlänge und nach der Möglichkeit Diagnosen, Softwareupdates und Uhrzeit/Datum zu verarbeiten. Nur Einzeladressierung zulässig. 14 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

Uhrzeit/Datum: Befehlscode 0x12 Parameter Keine Anfrage an einen Busteilnehmer (z.b. CE-Rechner) nach der Uhrzeit und/oder Datum. Nur Einzeladressierung zulässig. Uhrzeit/Datum setzen: Befehlscode Stunde Minute Sekunde Tag Monat Jahr 0x13 0-23 0-59 0-59 1-31 1-12 0-99 Setzen der Uhrzeit und/oder Datum bei einem oder mehrerer Busteilnehmer. Die Werte der Parameter sind binär kodiert. Beim Parameter Jahr steht der Wert 0 für das Jahr 2000, der Wert 1 für 2001 u.s.w. Baudrate/Datenlänge setzen: Befehlscode Baudrate Datenlänge 0x14 Byte Byte Setzen der Baudrate und Datenlänge bei einem oder mehrerer Busteilnehmer. Max. Baudrate Datenlänge 0x01 9600Bd 0x01 32 Bytes 0x02 19200Bd 0x02 64 Bytes 0x04 38400Bd 0x04 128 Bytes 0x06 57600Bd 0x08 256 Bytes 0x0C 115200Bd Diagnose-Start: Befehlscode Zeit 0x15 1-99 Befehl zum Starten der Diagnose-Software bei den Bus-Teilnehmern. Mit dem Parameter Zeit übermittelt der Kontroller die längste Diagnosezeit, die die Busteilnehmer benötigen. Die Teilnehmer müssen beachten, daß der Kontroller für diese Zeit die regelmäßigen Request-Abfragen unterlassen kann. D. h. die Bus-Teilnehmer dürfen in dieser Zeit nicht in einen Fehlerzustand gehen. Nach Ablauf der Diagnosezeit wird bei jedem Bus-Teilnehmer der Status abgefragt, und wenn nötig, werden Fehler-Daten an das CE-Terminal (bzw. Fahrer) gemeldet. Dieser Befehl kann direkt an einen Bus-Teilnehmer geschickt werden oder als Multicastbzw. Broadcast-Befehl gegeben werden. V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 15

Zufallszahl setzen: Befehlscode 0x16 Zufallszahl Word Übermitteln der Zufallszahl an einen Busteilnehmer zur Authentifizierung. GPS Koordinaten anfordern: Befehlscode 0x17 Format Byte Anfrage an einen Busteilnehmer nach den GPS Koordinaten. Nur Einzeladressierung zulässig. Format 0x00 0x01 0x02 0x03 GPS Koordinaten (verkürztes WGS84 Format) WGS84 Format Gauß Krüger Format (German Grid) GPS Koordinaten übertragen: Befehlscode Format GPS-Daten 0x18 Byte n-bytes Kodierung des Format-Bytes wie beim Befehl GPS Koordinaten holen. Kodierung der GPS-Daten siehe unter Antwort-Messages GPS Koordinaten übertragen. Werte, die nicht unterstützt werden, werden mit Nullen gefüllt. Der angesprochene Busteilnehmer quittiert den Erhalt der GPS-Daten mit der Acknowledge-Message. 16 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

3.5 Antwort Messages Jeder Busteilnehmer muß nach Erhalt einer fehlerfreien Message, die an ihn adressiert ist, antworten. Eine fehlerfreie Message liegt dann vor, wenn sie mit Start- und Stop-Byte eingerahmt ist und der CRC-Check positiv ist. Die empfangene Message kann eine Request-Anfrage, ein allgemeiner Busbefehl oder ein gerätespezifischer Busbefehl sein. 3.5.1 Antwort ohne Rückgabewert Wenn der Busteilnehmer für die Antwort keine Parameter übermitteln muß, bzw. ist der Busteilnehmer noch nicht mit der Verarbeitung fertig und hat noch kein Ergebnis, dann antwortet er mit einer Acknowledge-Message, die folgendes Format hat: Startbyte Zieladresse Quellenadr. Kontrollbyte CRC CRC Stopbyte 0xFC 0x01 Byte 0x02 LSB MSB 0xFF 3.5.2 Antwort mit Rückgabewert Wenn ein Busteilnehmer Parameter übermitteln muß, dann hat die Antwort-Message folgende Struktur: Startbyte Zieladresse Quellenadr. Kontrollbyte Datenbereich CRC CRC Stopbyte 0xFC 0x01 Byte 0x15 0-32 Bytes LSB MSB 0xFF Antwort-Code Parameter-1 Parameter-2 Parameter-n Byte Byte Byte Byte Die maximale Anzahl der Bytes im Datenbereich ist 32 (Antwort-Code + Parameter 1...n). Bei Werten großer 0xF7 muß mit Umschaltzeichen (siehe 3.1.4.) gearbeitet werden. Die für alle Teilnehmer vordefinierten Antworten haben folgende Formate: Acknowledge mit Fehler: Antwort-Code Fehlercode Fehler 0x01 Byte Byte Erhält ein Busteilnehmer eine fehlerfreie Message, kann aber die nicht erkennen, dann antwortet er mit dieser Message. Als Fehler wird der unbekannte Code/Kennung ausgegeben. V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 17

Fehlercode 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x10 0x20 Fehler bei Kontrollcode Fehler bei Tourdaten-Message Fehler bei Transfer Message Fehler bei Befehlscode Fehler bei Antwortscode Unbekannter Code/Kennung Fehlerhafte Messagelänge Sonstiger Fehler Quittung eines Datensatzes: Befehlscode 0x06 Speicherindex Word Die BSU antwortet nach einer Fehlerfreien Übertragung eines Datensatzes der in das SRam gespeichert wird mit dieser Quittung (z.b. Auftrags Anfang oder Ende Satz). Der Speicherindex gibt die Position an, in die der Datensatz gespeichert wurde. Teilnehmer Status: Antwort-Code 0x02 Fehlercode Byte Der Busteilnehmer meldet seinen augenblicklichen Status. Den gerätespezifischen Statusbzw. Fehler-Code siehe unter Gerätespezifische Messages. Diese Message wird nicht nur nach der direkten Status-Anfrage gesendet, sondern auch als Antwort auf einen Busbefehl, wenn beim Busteilnehmer ein Verarbeitungsfehler aufgetreten ist. Message-Status: Startbyte Zieladresse Quellenadr. Kontrollbyte Datenbereich CRC CRC Stopbyte 0xFC 0x01 Byte 0x15 0-32 Bytes LSB MSB 0xFF Antwortcode 0x05 Message-Länge Byte Diese Antwort-Message muß ein Busteilnehmer als Antwort auf eine allgemeine Request- Anfrage senden, wenn er eine Message absetzen will, die im Datenbereich länger als 32 Bytes ist. Dabei ist die Message-Länge auf 160 Bytes (max. SMS-Länge) begrenzt. 18 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

Teilnehmer Version: Antwort- Hersteller Geräte- Geräte- Geräte- Serien- Programm Programm Protokoll Protokoll Code ID Type Art Unterart Nummer Hauptvers. Untervers. Hauptver. Unterver. 0x10 Word Byte Byte Byte 4 Bytes Byte Byte Byte Byte Die Hersteller-ID wird auf Anforderung zugeteilt, damit sichergestellt ist, das keine ID doppelt vorkommt. Die Parameter Hersteller-ID und Geräte-Type sind vorläufig wie folgt definiert: Hersteller ID Geräte-Type 0x01 Deister Electronic 0x00 Buskontroller 0x02 Terberg 0x01 Ident 0x03 MBS 0x02 I/O-Interface 0x04 Durth Roos 0x03 Waage 0x04 Schüttung 0x05 GPS/GSM-Modul 0x06 CE-Rechner 0x07 PC-Interface 0x08 Handheld Alle anderen Parameter werden vom Geräte-Hersteller definiert. Wobei die Serien-Nummer beliebig vergeben werden kann. Die Parameter Geräte-Art/Unterart, Programm- Hauptversion/Unterversion und Protokoll-Hauptversion/Unterversion müssen so kodiert werden, daß eine höhere Zahl immer auch eine neuere Variante ist. Mit den Parametern Geräte-Type, Geräte-Art und Geräte-Unterart wird somit ein ganz bestimmtes Gerät identifiziert. Diese Anwort wird auch bei einem Multicast- oder Broadcast-Befehl gesendet. Dabei ist aber sicher zu stellen, daß dann nur ein Busteilnehmer angeschlossen ist (Teilnehmer-Identifikation). Teilnehmer Eigenschaft: Antwort- Maximale Maximale Diagnose Software Zeit/Datum Code Baudrate Datenlänge Status Update Status 0x11 Byte Byte Byte Byte Byte Mit den Parametern Max. Baudrate und Max. Datenlänge übermittelt der Busteilnehmer seine maximalen Werte für Baudrate und Datenlänge. Max. Baudrate Max. Datenlänge 0x01 9600Bd 0x01 32 Bytes 0x02 19200Bd 0x02 64 Bytes 0x04 38400Bd 0x04 128 Bytes 0x06 57600Bd 0x08 256 Bytes 0x0C 115200Bd V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 19

Mit dem Parameter Diagnose Status meldet der Busteilnehmer, ob das Abarbeiten eines Diagnoseprogrammes erforderlich ist. Diagnose Status 0x00 0x01-0x80 Keine Diagnose erforderlich. Anzahl der Sekunden, die für die Diagnose benötigt werden. Mit dem Parameter Software Update übermittelt der Busteilnehmer, ob er in der Lage ist ein Softwareupdate zu verarbeiten. Software Update 0x00 0x01 0x02 0x03 0x04 Kein Softwareupdate möglich. Softwareupdate online möglich. Softwareupdate nur in einer Verarbeitungspause möglich. Softwareupdate online und Softwaresicherung möglich. Softwareupdate in Verarbeitungspause und Softwaresicherung möglich. Softwareupdate online möglich bedeutet, daß der Busteilnehmer neben der normalen Verarbeitung eine neues Programm empfangen kann. Softwareupdate nur in einer Verarbeitungspause möglich bedeutet, daß das neue Programm nur in einer Verarbeitungspause übertragen werden darf. Mit dem Parameter Zeit/Datum Status übermittelt der Busteilnehmer, ob er in der Lage Uhrzeit und Datum zu verarbeiten. Zeit/Datum Status 0x00 0x01 0x02 0x03 Keine Zeit/Datum Verarbeitung möglich. Volle Zeit/Datum Verarbeitung möglich. Nur Uhrzeit Verarbeitung möglich. Nur Datum Verarbeitung möglich Wenn die Möglichkeit der Verarbeitung für Uhrzeit und/oder Datum gemeldet wird, dann muß der Busteilnehmer auch das Abfragen und Setzen von Uhrzeit und/oder Datum unterstützen. 20 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06

Uhrzeit/Datum anfordern: Befehlscode 0x12 Parameter Keine Der Busteilnehmer kann mit dieser Antwort auf eine Request-Anfrage die System-Zeit beim Buskontroller anfordern. Der Buskontroller überträgt anschließend mit dem Busbefehl Uhrzeit/Datum übertragen die aktuellen Daten zum Teilnehmer. Uhrzeit/Datum übertragen: Antwort-Code Stunde Minute Sekunde Tag Monat Jahr 0x13 0-23 0-59 0-59 1-31 1-12 0-99 Der Busteilnehmer überträgt seine aktuelle Uhrzeit und Datum nachdem er vom Buskontroller den Busbefehle Uhrzeit/Datum anfordern erhalten hat. Parameter, die nicht vom Teilnehmer unterstützen werden, müssen mit Nullen gefüllt werden. Die Werte der Parameter sind binär kodiert. Beim Parameter Jahr steht der Wert 0 für das Jahr 2000, der Wert 1 für 2001 u.s.w. Teilnehmer Authentifizierung: Antwort-Code 0x16 Authentifizierung Word Nachdem der Buskontroller eine Zufallszahl an den Busteilnehmer übermittelte, antwortet der Busteilnehmer mit dem berechneten Authentifizierungswert. GPS Koordinaten anfordern: Befehlscode 0x17 Format Byte Nach Erhalt der allgemeinen Request-Anfrage kann der Busteilnehmer mit dieser Antwort die aktuellen GPS Koordinaten anfordern. Format 0x00 0x01 0x02 0x03 GPS Koordinaten (verkürztes WGS84 Format) WGS84 Format Gauß Krüger Format (German Grid) V29/05/06 deister electronic GmbH 30890 Barsinghausen Germany 21

GPS Koordinaten übertragen: Erhält der GPS/GSM Kontroller den Befehl GPS Koordinaten anfordern, dann haben die Antwort-Messages folgende Struktur: Befehlscode Format GPS-Daten 0x18 Byte n-bytes Kodierung des Format-Bytes wie beim Befehl GPS Koordinaten anfordern. Werte, die nicht unterstützt werden, werden mit Nullen gefüllt. Nach der Übertragung der GPS-Daten quittiert der Buskontroller den Erhalt mit der Acknowledge-Message. In Abhängigkeit der Format-Kodierung haben die GPS-Daten folgende Formate: Format = 0x00 GPS Koordinaten (verkürztes WGS84 Format): Latitude Longitude GPS-State dword dword Byte Format = 0x01 GPS Koordinaten im WGS84 Format: GPS-Time Latitude Longitude Precision Velocity Heading GPS-State UTC_Struct dword dword dword dword dword Byte Latitude: geografische Breite [Grad] als 4 Byte IEEE float Longitude: geografische Länge [Grad] als 4 Byte IEEE float Precision: Genauigkeit [m] als 4 Byte IEEE float Velocity: Geschwindigkeit [m/s] als 4 Byte IEEE float Heading: Richtung [Grad] als 4 Byte IEEE float Die UTC_Struct hat folgendes Format: UTC_Year UTC_Month UTC_Day UTC_Hour UTC_Min. UTC_Sec. Byte Byte Byte Byte Byte Byte UTC_Year: Jahr (0...127) = 1900...2027 UTC_Month: Monat (1...12) UTC_Day: Tag (1...31) UTC_Hour: Stunde (0...23) UTC_Min.: Minute (0...59) UTC_Sec.: Sekunde (0...59) 22 deister electronic GmbH 30890 Barsinghausen Germany V29/05/06