Profibus

Genormt nach EN 50170-2 (?), sehr stark von Siemens dominiert.

Mehr Informationen:

Bücher (ohne Wertung):

Physikalisch:

Meistens RS485 mit "vorgespanntem" Abschluß 5V-390R-220R-390R-0V => 1,1V Ruhespannung, 170Ohm differentielle Impedanz (?).

Immer mit Potentialtrennung!

Auch LWL-Technik.

UART-kompatible Übertragung 9,6..1500kBit/s bei 1200m bis 70m. 12MBit/s bei 100m (Glasfaser?).

Es gibt zwei unterschiedliche Kabel: Typ A mit 135..165Ohm, Typ B mit 100..130Ohm (nicht für neue Installationen).

Telegramme:

Format mit fester Informationsfeldlänge (L = 3) ohne Daten
SD1, DA, SA, [FC|SC], FCS, ED
Format mit fester Informationsfeldlänge (L = 11) mit Daten
SD3, DA, SA, FC, 8/5? Bytes DATA_UNIT, FCS, ED
Format mit variabler Informationsfeldlänge (L = 4 bis 249)
SD2, LE, LEr, SD2, DA, SA, FC, 1..244 (246?) Bytes DATA_UNIT, FCS, ED
Token-Telegramm
SD4, DA, SA
Kurzquittung
SC

Bedeutung der Abkürzungen:

Adreßbereich 0..126, 127 ist Multi- oder Broadcast

Höchstwertiges Bit in DA oder SA zeigt eine "Adreßerweiterung" in der DATA_UNIT an (Service Access Point SAP)

Kontrollbyte Function Code request:, Bits 0..3:

Bit 4: FCB (Toggle). Bit 5: FCV (Toggle), Bit 6: Request Telegramm.

FC : Function Code Response

Bts 0..3:

Bits 4/5:

Bit 6: Response Telegramm

Prüfbyte: arithmetische Summe der gesendeten Zeichen (ohne Start- und Endezeichen) ohne Übertrag.

SC, SD1 ,SD2 und SD3 haben zueinander Hamming Distanz 4 (HD=4), d.h. sie unterscheiden sich in mindestens 4 Bit.

DA, SA, FC gehören zu den Nutzdaten und werden bei LE/LEr mitgezählt.

"Service Access Point" (SAP) bzw. Dienstzugangspunkt: über die ersten zwei Bytes (DAE, SAE) in der DATA-Unit können verschiedene Quell- und/oder Zielbereiche angegeben werden (Source Service Access Point SSAP und Destination Service Access Point DSAP), z.B. Parameter, Konfiguration, Diagnose, Adresse etc.

Timing

Vor einem Telegramm mindestens 33 Bit Ruhe (SYN). Zwischen den Zeichen eines Telegrammes keine Pausen!

DP ("dezentrale Peripherie") Communication Profile

Zuordnung der Busadresse über Ident-Nummer. Stationsadresse? Adresse 127 ist für Broadcast oder Multicast.

Gerätetypen:

Buszugriff: Schicht 2 "Fieldbus Data Link (FDL)". MAC (Medium Access Control) regelt Sendeberechtigung unter den Teilnehmern. Bei Profibus DPV0 nur zwei Dienste:

Bei DPV1 noch CS-Clock Synchronisation und bei DPV2 zus. MSRD-Send and Request Data with Multicast Reply.

Unterscheidung "komplexes Automatisierungsgerät" (Master) und "einfaches Peripheriegerät" (Slave):

Datensicherung mit Hamming-Distanz=4 "durch Auswahl von besonderen Start- und Endezeichen der Telegramme, schlupffeste Synchronisierung, Paritätsbit und Kontrollbyte", Anwendung von IEC 870-5-1.

Betriebszustände:

Konfiguration und Parametrierung

"Configuration settings" kennzeichnen die Länge der Daten der einzelnen Module. Pro Modul ein Byte, darin folgende Bits:

"Parameter settings":

Diagnosedaten

Sechs Bytes sind durch die Norm spezifiziert: Station Status 1..3, Diag. Master Address, Ident number high/low.

weitere benutzerspezifische Bytes sind möglich.

Erweiterte Diagnose?


Slaves gehen automatisch in den "sicheren" Zustand, wenn sie keine Nutzdatentelegramme erhalten.

Ferner kommuniziert ein Slave immer nur mit einem ihm zugeordneten Master.

Funktionalität von Slaves:

Ein Slave kann aus mehreren logischen Funktionseinheiten ("Modulen") bestehen. Deren Daten werden hintereinander in einem Block übertragen (?).

Erweiterte DP-Funktionalität:

Azyklische Kommunikation: ebenfalls modular. Slot-Nummer kennzeichnet das Modul, Index den Datenblock des Moduls. Durch die Längenangabe im Request ist es auch möglich, nur Teile eines Datenblocks zu lesen/schreiben.

Dienste: Read/Write jeweils für DPM1 und DPM2 getrennt, Alarm mit Acknowledge, Status, Auf/Abbau einer DMP2-Verbindung...

FMS Communication Profile (Fieldbus Message Specification)

kennt "Object Dictionary" (OD), wesentlich komplexer. Mischbetrieb mit DP möglich, aber DP- und FMS-Komponenten kommunizieren nicht miteinander.

GSD - Gerätestammdaten-Datei

Enthalten Informationen wie "Vendor Name", "Sync_Mode_supported", Zahl der Ein. und Ausgänge. Zuordnung zum Gerät per eindeutiger "Identnummer".

Gateways

...im DUO-Wiki

Protokollchips (teilw. Stand 1999):

Meinungen aus Newsgroups und Foren:

Bernd Schmidt in d.s.e: "Wenn man nicht das komplette Protokoll implementiert und Daten mit ET200-Module (oder andere Slave Teilnehmer mit Profibus-DP) austauschen will braucht es nur 1.5 kByte Programm in einem Atmel-AVR."

Bernd Schmidt im Forum von mikrocontroller.net: realisiert einen minimalen Profibus-Master mit 700 Assemblerbefehlen im AVR.

Dienstleister

http://www.itm.tum.de/forschung/PROFIBUS-Zertifizierungslabor/Default.asp (dort interessant: "Typische Fehler")