PROFIBUS Handbuch

PROFIBUS Manual

A collection of information explaining PROFIBUS networks assembled by Prof. Max Felser.

This Book is now also available in English! Click here.

Eine Sammlung von Erläuterungen zu PROFIBUS Netzwerken

zusammengestellt von Max Felser

Buchbeschreibung

Im Jahr 2009 feiert der PROFIBUS seinen 20. Geburtstag. Seit mehr als 18 Jahren beschäftige ich mich persönlich mit diesem PROFIBUS im Unterricht an der Hochschule, mit Projektarbeiten und Workshops für die Industrie. Dabei sind unterschiedliche Beschreibungen und Anleitungen zu verschiedenen Aspekten des PROFIBUS entstanden. Meine Kontakte zur Industrie und zu verschiedenen Experten als Präsident von PROFIBUS Schweiz und Leiter des PROFIBUS Kompetenzzentrum an der Berner Fachhochschule haben mir dabei geholfen. Diese Unterlagen habe ich nun in der Form eines Handbuches zusammengestellt. Das Handbuch soll einem weiteren Personenkreis den Einstieg in die Welt des PROFIBUS erleichtern. Das Buch ist im www.epubli.de Verlag in Berlin erschienen (Bestellinformationen).

Kurse und Beratungen

Zum Inhalt des Buches werden regelmässig auch Kurse angeboten, wo die Inhalte erläutert und in praktischen Übungen im Labor umgesetzt werden. Bei Bedarf gebe ich gerne eine individuelle Beratung oder führe ein Audit einer PROFIBUS Installation durch.

Aufbau des Dokuments

Wer neu ist mit dem PROFIBUS sollte mit dem ersten Kapitel mit der Einführung zur Struktur eines PROFIBUS Systems beginnen.

Für Anwender sind ein Kapitel mit Angaben zum Vorgehen bei der Anlageplanung und ausführliche Richtlinien für die Installation der Kabel aufgeführt.

Erfahrene Fachleute finden ein Kapitel über Erfahrungen mit Werkzeugen, Listen von Normen und Details zu den Codierungen der einzelnen Dienste (FDL, MS0, MS1/MS2) und ein Kapitel mit Hinweisen zur Entwicklung von Schnittstellen.

Wichtige Anmerkung

Obwohl alle Informationen und Angaben in diesem Dokument sorgfältig geprüft wurden, kann keinen Verantwortung für allfällige Fehler in diesem Dokument oder daraus folgende Schäden übernommen werden.

Ausgabe 1.1.6 vom 9.7.2013

© 2013 Max Felser

Prof. Max Felser

Berner Fachhochschule

Institute for Mobile Communications

PROFIBUS Kompetenz und Trainingszentrum

http://www.profilab.ch

e-mail: support@profibus.ch


Rückmeldung

Es freut mich, von den Lesern und Anwendern etwas zu hören:

•Sind diese Angaben brauchbar?

•Haben sich Fehler eingeschlichen?

•Welche Fragen sind noch offen, d.h. was soll als nächstes dokumentiert werden?

Name:
Adresse:
Telefon:
e-mail:
Der Abschnitt ist für uns nicht klar, bitte ergänzen
Diese Frage wird im Handbuch nicht erläutert
Dieser Abschnitt ist nicht korrekt oder enthält Fehler
Abschnitt / Kapitel:
Fragen/ Bemerkungen:


Bestellung

Das PROFIBUS Handbuch ist in den folgenden Ausgaben verfügbar:

PDF (Elektronisch): Bestellung beim Verlag

PDF Datei, farbig, 248 Seiten, Preis: 9.49 €

Taschenbuch: Bestellung beim Verlag

Softcover, s/w, DIN A5 hoch (14,8 x 21,0 cm), 248 Seiten, Preis: 25,00 € / 40.- CHF

Fachbuch: Bestellung beim Verlag

Hardcover, farbig, DIN A5 hoch (14,8 x 21,0 cm), 248 Seiten, Preis: 65,00 € / 95.- CHF

On-Line: (diese Webseite!)

Auf dieser frei verfügbaren Webseite führe ich den Inhalt des PROFIBUS Handbuches nach. Kommentare und Rückmeldungen sind erwünscht. In der aktuellen Version sind nicht mehr alle Inhalte on-line kostenlos verfügbar.

Ich bitte Interessenten ausserhalb der Schweiz das PROFIBUS Handbuch direkt beim Verlag www.epubli.de in Berlin zu bestellen.

Bitte beachten Sie, dass dieses Buch nur auf Bestellung gedruckt wird und somit mit einer Lieferfrist von bis zu 10 Arbeitstagen gerechnet werden muss. Ich behalte mir vor, den Inhalt des Buches bei Bedarf ohne weitere Ankündigung zu aktualisieren.

pdf Bestellformular (nur für Lieferungen in der Schweiz)

Kunden mit einer Postadresse in der Schweiz liefern wir auch direkt per Post gegen Rechnung:

Name:
Adresse:
Telefon:
e-mail:
Bitte senden Sie uns per Post gegen Rechnung:
Exemplare PROFIBUS Handbuch s-w Ausgabe zum Preis von 40 CHF
Exemplare PROFIBUS Handbuch farbige Ausgabe zum Preis von 95 CHF
Pro Bestellung verrechnen wir 10 CHF Verpackung und Versand
Bemerkungen:


Versionen

Aktuelle Ausgabe 1.1.8 vom Freitag, 31. Oktober 2014

Ausgabe 1.1

Build 8 vom Oktober 2014 (Nur on-line)

- Formulierung bei Stichleitungen angepasst

Build 7 vom Mai 2014 (Nur on-line)

- Links auf Verlag aktualisiert

Build 6 vom Juli 2013 (Nur on-line)

- Schritte der Anlageplanung überarbeitet

- Werkzeuge und Referenzen aktualisiert

Build 5 vom Dezember 2011 (Nur on-line)

- Einführung englische Übersetzung

- Link auf Product-Guide aktualisiert

Build 4 vom Mai 2011 (Nur on-line)

- Aktualisierte Liste der Bustester

Build 3 vom Januar 2011 (Nur on-line)

- Alarm_Typ ab 32 Herstellerspezifisch und nicht 21

Build 2 vom Dezember 2010 (Nur on-line)

- Generic Device Description für GSD ersetzt durch General Device Description

- Angebot für Werbung aufgeschaltet

Build 1 vom 12. Mai 2010 (Nur on-line)

- Ergänzung bei den Funktionszuteilungen

- Korrektur einer Bildlegende

Build 0 vom 5. April 2010 (Druckversion)

- Korrektur von 40 Buchstabierfehlern

- neue Druckverion

Ausgabe 1.0

Build 1 vom 4. Januar 2010 (Nur on-line)

- neue Suchfunktion eingefügt

- Fehlerkorrektur bei den Beispielen in kompaktes Format der Konfiguration

- Module mit mehreren Kennungen

Build 0 vom 14. Oktober 2009 (Druckversion)

- erste Druckversion bei epubli.de Verlag


Einleitung

In diesem Kapitel wird aufgezeigt, wie ein PROFIBUS-System grundsätzlich strukturiert ist und wo man die Normen der einzelnen Teile findet. In einem weiteren Abschnitt wird aufgelistet, wie man eine PROFIBUS Anlage plant und welche Werkzeuge dazu zur Verfügung stehen.


Systemstruktur

PROFIBUS legt die technischen Merkmale eines seriellen Feldbussystems fest, mit dem verteilte digitale Automatisierungsgeräte von der Feldebene bis zur Zellenebene miteinander vernetzt werden können. PROFIBUS ist ein Multi-Master System und ermöglicht dadurch den gemeinsamen Betrieb von mehreren Automatisierungs-, Engineering- oder Visualisierungssystemen mit den dezentralen Peripheriegeräten an einem Bus. PROFIBUS unterscheidet dazu unterschiedliche Gerätetypen.

PROFIBUS basiert auf anerkannten internationalen Standards. Die Protokollarchitektur orientiert sich am OSI (Open System Interconnection) Referenzmodell, entsprechend dem internationalen Standard ISO 7498.

Hierin übernimmt jede Übertragungsschicht genau festgelegte Aufgaben: Die Schicht 1 (Physical Layer) definiert die Übertragungsphysik , Schicht 2 (Data Link Layer) das Buszugriffsprotokoll und Schicht 7 (Application Layer) die Anwendungsfunktionen. Die Profile der Anwendung (User Layer) bestimmen wie die Kommunikationsfunktionen in unterschiedlichen Geräteklassen und Anwendungen verwendet werden sollen.

Schicht | Name | Inhalt
(Layer 8) | User Layer | Profile
Layer 7 | Application Layer | DP / FMS Protokoll
Layer 2 | Data Link Layer | FDL Protokoll
Layer 1 | Physical Layer | Übertragungstechnik

Struktur nach dem OSI Referenzmodell

Der PROFIBUS bietet unterschiedliche Dienstleitungen für die Automatisierungstechnik an: zyklischer Datenaustausch für Prozessdaten und azyklischer Datenaustausch für Parametrierdaten.


Stationen

PROFIBUS unterscheidet folgende Arten von Stationen oder Gerätetypen:

Master bestimmen den Datenverkehr auf dem Bus. Ein Master darf Nachrichten ohne externe Aufforderung aussenden, wenn er im Besitz der Buszugriffsberechtigung (Token) ist. Master werden auch als aktive Teilnehmer bezeichnet.

Slave sind Peripheriegeräte wie beispielsweise Ein- und Ausgabegeräte, Ventile, Antriebe und Messumformer. Sie erhalten keine Buszugriffsberechtigung, d. h. sie dürfen nur empfangene Nachrichten quittieren oder auf Anfrage eines Masters Nachrichten an diesen übermitteln. Slaves werden als passive Teilnehmer bezeichnet. Sie benötigen nur einen geringen Anteil des Busprotokolls, dadurch wird eine aufwandsarme Implementierung ermöglicht.

Master und Slave können für unterschiedliche Protokolle wie

•FMS (Fieldbus Message Specification)

•DP (Decentral-Peripherie)

eingesetzt werden. Darum wird bei der Bezeichnung oftmals das Protokoll vorangestellt:

Ein FMS-Master kontrolliert eine Beziehung zu einem FMS-Slave. Dies wird in diesem Buch nicht weiter erläutert.

Der DP-Master kontrolliert ein DP-System, der DP-Slave ist Teil eines DP-Systems.

Der DP-Master kann in einem DP-System eine unterschiedliche Funktion übernehmen. Diese Funktion wird als Klasse bezeichnet:

DP-Master der Klasse 1:

Dies sind Controller eines DP-Systems und der ihm zugeordneten DP-Slave. Typischerweise handelt es sich dabei um Steuerungen, SPS oder PC basierte Systeme.

DP-Master der Klasse 2:

Dies sind Werkzeuge für Inbetriebnahme, Engineering und Unterhalt. Sie erlauben das Laden von Programmen in Steuerungen und die Diagnose und Parametrierung von DP-Slave. Typischerweise handelt es sich dabei um PC basierte Systeme.

DP-Master der Klasse 3:

Ist ein Uhrenmaster und verteilt die Zeit.

Struktur eines DP-Systems

Struktur eines DP-Systems

Jede Station - ob Master oder Slave - in einem DP-System verfügt über eine eindeutige Adresse.


Adressierung der Stationen

Jede PROFIBUS Station muss für die Kommunikation eine eindeutige Adresse haben. Diese PROFIBUS-Adressen werden in einem Byte codiert und umfassen den Bereich von 0 - 127.

Repeater, Koppler und LWL-Konverter übertragen die Telegramme transparent von einem Segment zum anderen und brauchen darum keine eigene Adresse.

Einzelne Werte der Adressen sind aber reserviert und können nicht mehr frei vergeben werden:

Adresse | Nutzung
0 | ist in der Regel reserviert für Diagnosewerkzeuge wie z.B. Programmiergeräte
1 ... n | Die Adressen der Master-Stationen sollten bei den tiefsten Adressen beginnen. Somit hat ein einzelner Master die Adresse 1. Weitere Master-Stationen haben die Adressen 2, 3... etc.
n ... 125 | Somit bleiben in einem PROFIBUS Netzwerk mit einem Master maximal 124 Adressen frei für die Slave-Stationen.
126 | ist reserviert als Auslieferungsadresse (default) für Stationen, deren Adresse über den Bus eingestellt werden kann. Dies wird im Kapitel über Adressänderungen näher erläutert.
127 | ist reserviert für Adressierung an Alle und an Gruppen (broadcast) und kann somit nicht an einer Station eingestellt werden.


Beziehungen

Die einzelnen Stationen in einem DP-System haben unterschiedliche Beziehungen zueinander:

Beziehungen in einem DP-System

Beziehungen in einem DP-System

Diese einzelnen Beziehungen zwischen Master und Slaves (MS) haben unterschiedliche Aufgaben und Eigenschaften:

Zyklische Datenübertragung:

MS0 = DP-Master der Klasse 1 mit DP-Slave zyklisch unter Nutzung des DP-V0 Protokolls

Azyklische Datenübertragung:

MS1 = DP-Master Klasse 1 mit DP-Slave azyklisch unter Nutzung des DP-V1 Protokolls
MS2 = DP-Master Klasse 2 mit DP-Slave azyklisch unter Nutzung des DP-V1 Protokolls

In der obenstehenden Abbildung ist auch eine Beziehung zwischen Master (MM) aufgeführt. Diese wird in der Praxis nur sehr wenig eingesetzt und darum wird hier in diesem Buch nicht weiter darauf eingegangen. Sie finden nähere Angaben zu dieser Beziehung auch im Kapitel 9 des Buches von Manfred Popp.

Die verschiedenen Stationen haben in Ihrem Aufbau die einzelnen Protokolle implementiert:

Protokolle in einem DP-System

Protokolle in einem DP-System


Zyklische Prozessdaten

Eine Steuerung, beim PROFIBUS als Master Klasse 1 bezeichnet, kontrolliert seine dezentrale Peripherie in einem zyklischen Datenaustausch. Diese Beziehung wird als MS0 bezeichnet.

Die Steuerung initialisiert in einer Initialisierungsphase jedes Peripheriegerät und kontrolliert auch während der zyklischen Datenübertragung ob das Peripheriegerät, beim PROFIBUS als Slave bezeichnet, ansprechbar bleibt.

Der Slave seinerseits überwacht mit einer Ansprechüberwachung (watchdog) ob die Steuerung aktiv bleibt.

Phase: | Aktionen:
Diagnose | Die Steuerung sendet Diagnoseanforderungen an alle projektierten Slave
Initialisierung | Die Steuerung sendet Parameter und kontrolliert die Konfiguration aller projektierten Slave
Datenaustausch | Die Steuerung sendet Ausgangsdaten und empfängt Eingangsdaten. Ansprechüberwachung und Auswertung der Diagnose

Phasen in einer MS0 Beziehung

Bei der Initialisierung übergibt die Steuerung dem Slave erste Initialparameter und überprüft die Konfiguration des Slave. Diese Konfiguration legt fest, wie viele Daten im zyklischen Datenaustausch zwischen Master und Slave ausgetauscht werden.

Im zyklischen Datenaustausch sendet der Master seine Ausgangsdaten an den Slave und erhält als Antwort die Eingangsdaten. Das PROFIBUS Netzwerk für zyklische Prozessdaten ist somit wie ein verteiltes Prozessabbild einer Steuerung.

Die minimale Zykluszeit kann einfach abgeschätzt werden, wenn die Anzahl der Ein- und Ausgabebytes und die Bitrate des PROFIBUS bekannt ist:

TBZyklus = (380 + Slaves x 300 + Bytes x 11 )/Bitrate + 75 μs

Wobei

Slaves = Anzahl der Slave im Netzwerk

Bytes = Anzahl der Ein- und Ausgabebytes zusammengezählt

Hinweis: Genauere Formeln findet man im Kapitel über zyklische Daten.

In einem PROFIBUS Netzwerk muss immer mindestens ein Master der Klasse 1 vorhanden sein. Es können aber auch mehrere Master der Klasse 1 auf demselben Kabel sein. Sie teilen sich somit die Bitrate, d.h. die Zykluszeit wird entsprechend länger. Ein Slave kann nur von einem Master der Klasse 1 kontrolliert werden!

Diese Grundfunktionen für zyklische Prozessdaten werden als DP-V0 bezeichnet. Mit den Protokollerweiterungen DP-V1 und DP-V2 ist es möglich die Zykluszeit der Steuerung auf einen festen Wert zu fixieren (Äquidistanter Zyklus) und mit speziellen Telegrammen auch die Zykluszeit der Slave auf den PROFIBUS Zyklus zu synchronisieren (Isochroner Zyklus).

Wenn in einer Anwendung zwei Slave direkt miteinander Daten austauschen sollen, braucht es dazu das DP-V2 Protokoll. In diesen Protokollerweiterungen wird es möglich, dass die Daten direkt zwischen den Slave ausgetauscht werden.


Azyklische Parametrierdaten

Oftmals müssen in einer Anlage die Parameter in einem Gerät bei laufendem Betrieb angepasst werden. Dazu stellt der PROFIBUS eine Kommunikation mit azyklischen Parametrierdaten zur Verfügung.

Ein Parametriermaster, beim PROFIBUS als Master der Klasse 2 bezeichnet, kann zu einem Slave eine Verbindung aufbauen und azyklisch Daten austauschen. Dies wird als MS2 bezeichnet.

Auf einem Netzwerk können mehrere Master der Klasse 2 neben dem Master oder den Mastern der Klasse 1 existieren und gleichzeitig mit demselben Slave Daten austauschen. Jeder Master der Klasse 1 kann auch gleichzeitig Master der Klasse 2 sein.

Jeder Master der Klasse 1 kann zusätzlich zu seiner zyklischen MS0 Beziehung mit einem Slave auch mit MS1 azyklisch Daten austauschen. Zusätzlich ist ein Alarmmodell definiert worden. Jeder Slave hält eine Zustandsmaschine für Alarme und kontrolliert kommende und gehende Alarme unterschiedlicher Ursachen und kontrolliert die Quittierung durch den Master der Klasse 1.

Diese Protokollerweiterungen für den azyklischen Datenaustausch werden als DP-V1 bezeichnet und sind optional.


Funktionsumfang

Die PROFIBUS Technologie ist modular aufgebaut. Dies erlaubt die einzelnen Ausführungen einer Funktionsgruppe auszuwählen und die Eigenschaften eines PROFIBUS Netzwerkes flexibel an die Anforderungen anzupassen.

Anwendungs-Profile | Prozessautomation (PROFIBUS-PA), Fertigungstechnik
Geräte-Profile | ProfiDrive, Ident-Systeme, ....
Allgemeine Profile | PROFISafe, Redundante Systeme
Protokolle: | FDL, DP-V0, DP-V1, DP-V2
Übertragung: | Elektrisch (RS-485), Optisch (FO), Eigensicher (MBP)

Funktionsumfang der einzelnen Ebenen

Übertragungsverfahren

Für die Übertragung der Daten sind drei unterschiedliche Verfahren normiert:

•asynchrone elektrische Übertragung nach RS-485 für den universellen Einsatz

•synchrone elektrische Übertragung mit der Option auf eigensichere Übertragung und Speisung über den Bus vor allem für die Prozessautomation.

•optische Übertragung über Glas- oder Kunststoff-Faser für die Überwindung grosser Distanzen, Potentialdifferenzen oder starke elektromagnetische Verseuchungen.

Alternative Übertragungsverfahren wie Funk, drahtlose optische Verfahren, Schleifringe etc sind von unterschiedlichen Herstellern verfügbar.

Protokolle

Das Fieldbus Data Link (FDL) Protokoll ist für alle PROFIBUS Ausbaustufen gemeinsam. Nicht alle FDL-Dienste werden für jede Funktion benötigt.

Das Protokoll für die Dezentrale Peripherie (DP) gibt es in drei Ausbaustufen. Jede Ausbaustufe führt weitere Funktionen hinzu. Die meisten dieser Erweiterungen sind optional.

m = muss (mandatory)

o = optional

Protokoll - Funktionen (Master oder Slave): | V0 | V1 | V2
Zyklischer Datenaustausch MS0 | m | m | m
Azyklischer Datenaustausch mit Master der Klasse 1 (MS1) | - | o | o
Azyklischer Datenaustausch mit Master der Klasse 2 (MS2) | - | m | o
Alarm-Meldungen | - | o | o
Fail-Safe Protokoll (ProfiSafe) | - | o | o
Isochroner Zyklus | - | - | o
Zeitsynchronisation | - | - | o
Zeitstempelung | - | - | o
Querverkehr (Data Exchange Broadcast) | - | - | o

Integrationstechnologien (Slave): | V0 | V1 | V2
Diagnose-Meldungen der Geräte | m | m | m
GSD-Dateien für die Konfiguration | m | m | m
Engineering mit EDD | - | o | o
Engineering mit FDT/DTM | - | o | o
Engineering mit Tool Calling Interface (TCI) | - | o | o

Oftmals wird ein Gerät mit seiner Ausbaustufe bezeichnet: Ein DP-V1 Master oder ein DP-V0 Slave. Diese Angaben haben aber einen reinen informativen Charakter. Insbesondere die Bezeichnung DP-V2 findet man nicht in den IEC Normen.

Profile

In einem Profil werden die Freiheitsgrade der PROFIBUS Kommunikation eingeschränkt, d.h. es wird festgelegt, welcher Subset oder welche Ausbaustufe realisiert werden soll. Gleichzeitig werden die Funktionen der Anwendung beschrieben und festgelegt. Je nach Ausbau kann es sich dabei um allgemeine Festlegungen, Festlegungen für eine Art von Geräten oder einem Anwendungsgebiet handeln.


Normen und Standards

Die Festlegungen des PROFIBUS sind von Anfang an in die Normierung eingeflossen. Normierung unterliegt festen Regeln der Entstehung und ist oftmals ein langjähriger Prozess. Um flexibel auf Anforderungen des Marktes reagieren zu können veröffentlicht die PROFIBUS Organisation weitere Festlegungen in der Form von Richtlinien.

In dieser on-line Version ist dieses Kapitel nicht mehr verfügbar. Bitte beschaffen Sie sich eine der kostenpflichtigen Quellen.


Anlageplanung und -Inbetriebnahme

Mit einem systematischen Vorgehen bei der Planung, Inbetriebnahme und Unterhalt eines PROFIBUS Netzwerkes können Fehler vermieden und der Aufwand reduziert werden. Die folgenden Schritte haben sich bei uns bewährt:

Schritt | Beschreibung
1. Planen | Die Geräte werden ausgewählt und die zu verwendeten Module festgelegt. Basierend auf dem Mengengerüst der Anzahl der Geräte und der zyklischen Ein- und Ausgangsdaten kann die notwendige Bitrate abgeschätzt werden. Diese Vorgaben mit der Distanz zwischen den Geräten erlaubt es die Planung der Topologie und Struktur des Netzwerkes vorzunehmen. Als Resultat der Planung entsteht eine Dokumentation zum Beispiel in der Form von Stücklisten und Schemas.
2. Konfigurieren | Für die geplanten Geräte werden die GSD-Dateien beschafft und in das Konfigurationswerkzeug der Steuerung eingelesen. Die Steuerung und die Feldgeräte werden in diesem Konfigurationswerkzeug konfiguriert und die Initial-Parameter festgelegt. Als Resultat der Konfigurierung besteht auf dem Konfigurationswerkzeug ein Projekt mit allen Festlegungen.
3. Installieren | Gemäss der Planung werden die Geräte und Kabel verlegt und mit Stecker verbunden. Das Prüfprotokoll der Kontrollmessung bildet den Abschluss der Installation.
4. Inbetriebnehmen | Das konfigurierte Projekt wird in der Installierten Anlage in Betrieb genommen. Die Messung von Schlüsselwerten erlaubt eine einfache Kontrolle der Funktion. Als Dokumentation der Inbetriebnahme generieren wir mit einem Busmonitor ein Abnahmeprotokoll.
5. Überwachen | Die konsequente Interpretation der Diagnoseinformationen der Feldgeräte hilft Fehler zu lokalisieren. Kontrollmessungen und Vergleiche mit dem Abnahmeprotokoll erlauben das Veränderungen im PROFIBUS Netzwerk frühzeitig zu erkennen. Die Qualität der Datenübertragung auf dem PROFIBUS kann überwacht werden.


Schritt 1: Planen

Mit einer sorgfältigen Planung einer PROFIBUS Anlage wird der Grundstein für einen problemlosen Betrieb gelegt. Als Resultat der Planung entsteht eine Dokumentation zum Beispiel in der Form von Stücklisten und Schemas.

Schritt 1.1 Geräte auswählen

Wir wählen aus, welche Feldgeräte wir in unserer Automatisierungsaufgabe einsetzen wollen. Dazu können wir z.B. die Datenbank auf dem Server von PROFIBUS International nutzen. Wir benötigen eine Steuerung als Master der Klasse 1 des PROFIBUS Netzwerkes. Zusätzlich müssen die einzelnen Feldgeräte mit den notwendigen Modulen für die Sensoren und Aktuatoren bestimmt werden.

Schritt 1.2 Bitrate bestimmen

Jede Station erhält eine eindeutige Adresse. Die Anzahl der möglichen Stationen (Steuerung und Feldgeräte) ist somit durch die Adressierung gegeben. Für die Abschätzung der notwendigen Bitrate benötigen wir die Anzahl der angeschlossenen Prozesspunkte als Ein- und Ausgänge. Diese werden auf die Anzahl Bytes hoch-gerechnet. Die Zykluszeit des PROFIBUS sollte nicht grösser als die Zykluszeit der Steuerung sein. Mit diesen Vorgaben lässt sich die notwendige Bitrate für den PROFIBUS abschätzen.

Schritt 1.3 Übertragungstechnik festlegen

Für die unterschiedlichen Übertragungstechniken sind bei den verschiedenen Bitraten unterschiedliche, maximale Distanzen möglich. Im Kapitel der Übertragungstechnik werden für die elektrische, optische und eigensichere-synchrone Übertragungstechniken die verschiedenen Dimensionierungsgrössen beschrieben. Mit der Hilfe von Repeater, Koppler und Lichtwellenleiter-Konverter können fast beliebige Distanzen und Topologien erreicht werden.


Schritt 2: Konfigurieren

Die Konfiguration einer PROFIBUS Anlage wird mit einem Konfigurationswerkzeug ausgeführt. Dieses Werkzeug wird in der Regel vom Hersteller der Steuerung zur Verfügung gestellt und ist oftmals eng an die Programmierung der Steuerung gekoppelt. Die Konfiguration wird bei einer PROFIBUS Anlage off-line, d.h. ohne direkten Zugriff auf die Anlage durchgeführt. Als Resultat der Konfiguration besteht im Konfigurationswerkzeug ein Projekt, wo alle notwendigen Einstellungen für die PROFIBUS Anlage definiert sind.

Unterschied Programmierung und Konfiguration

Unterschied Programmierung und Konfiguration

Hinweis: In der Regel wird die Aufgabe des Steuerungsprogramms klar von der Konfiguration der Anlage unterschieden. Den einzelnen Teilnehmern wird mit der Konfiguration beigebracht, wer mit wem kommunizieren und Daten austauschen soll. Mit der Programmierung wird festgelegt, was die Steuerung mit diesen Informationen macht.

Für die Konfiguration einer PROFIBUS Anlage haben sich die folgenden Schritte bewährt:

Schritt 2.1 GSD-Dateien sammeln und laden

Wir sammeln für die ausgewählten Feldgeräte die General Station Description (GSD) Dateien. Damit wird bekannt, welche Eigenschaften die eingesetzten Geräte haben. Diese GSD-Dateien finden wir auf einem Datenträger der mit dem Produkt geliefert wird oder auf dem Webserver des Herstellers zur Verfügung gestellt wird. PROFIBUS International bietet an, dass die Hersteller im Produktekatalog auch direkt ihre GSD-Dateien ablegen können. Dies wird leider aber nur durch die wenigsten Hersteller richtig genutzt.

Die GSD-Dateien müssen dem Konfigurationswerkzeug bekannt sein. Sie werden in die Gerätebibliothek des Konfigurationswerkzeugs integriert. Dazu werden die Dateien entweder in ein spezielles Verzeichnis kopiert oder mit dem Konfigurationswerkzeug explizit eingelesen.

Schritt 2.2 Steuerung konfigurieren

Für eine PROFIBUS Anlage muss eine Steuerung definiert werden. Die Steuerung wird konfiguriert, indem der Steuerung die Feldgeräte zugewiesen werden. Dies wird heute in der Regel auf einer graphischen Oberfläche ausgeführt, in dem in einem Produktkatalog die Feldgeräte ausgewählt und auf das Netzwerk gezogen werden.

Konfiguration einer Steuerung

Konfiguration einer Steuerung

Der Steuerung und jedem Feldgerät wird dabei eine eindeutige Adresse zugeordnet.

Schritt 2.3 Geräte konfigurieren

Mit der Konfiguration der Feldgeräte (DP-Slave) wird die Anzahl und die Art der im Feldgerät verwendeten Module festgelegt. Diese Module bestimmen die Anzahl und die Reihenfolge der Prozessdaten die von der Steuerung zum Feldgerät und umgekehrt zyklische übertragen werden. Diese Konfiguration der Geräte wird im Projekt abgelegt und bei Initialisierung des Feldgerätes zur Kontrolle von der Steuerung and jedes Feldgerät übertragen. Dieser Vorgang ist im Kapitel über die Konfiguration erläutert.

Konfiguration eines Feldgerätes

Konfiguration eines Feldgerätes

Im Produktkatalog erscheinen die in der GSD-Datei für dieses Feldgerät vorgesehenen Module. Diese werden einem Steckplatz (Englisch Slot) zugewiesen. Den zyklischen Prozessdaten werden logische Adressen im Prozessabbild der Steuerung zugeordnet. Dies erlaubt einen einfachen Zugriff auf diese Prozessdaten aus dem Steuerungsprogramm.

Logische Adressen für einen einfachen Zugriff auf die Prozessdaten

Logische Adressen für einen einfachen Zugriff auf die Prozessdaten

Schritt 2.4 Parametrieren

Die Parametrierung legt das Verhalten der Feldgeräte fest. Beim PROFIBUS unterscheiden wir Initial-Parameter, mit denen bei der Konfiguration alle in der GSD-Datei beschriebenen Einstellungen für ein Feldgerät gemacht werden von den Betriebs-Parameter mit denen die Funktionen eines Feldgerätes bei der Inbetriebnahme oder im laufenden Betrieb verändert werden können.

Als Beispiel ist die Festlegung einer analogen Schnittstelle als Stromschnittstelle 4-20mA oder als Spannungsschnittstelle 0-10V ganz klar ein Initial-Parameter während das Festlegen der maximalen Drehzahl eines Antriebs als Betriebs-Parameter je nach Einsatz angepasst werden kann.

Die Initial-Parameter für jedes Feldgerät werden bei der Konfiguration festgelegt und mit dem Projekt abgelegt. Diese Initial-Parameter wird die Steuerung bei jeder Initialisierung erneut in das Feldgerät laden. Dieser Vorgang ist im Kapitel über die Parametrierung beschrieben.

Parametrierung der Geräte

Parametrierung der Geräte


Struktur der GSD Dateien

Jeder normkonforme Klasse 1 Master und alle Feldgeräte mit Slavefunktionalität müssen vom Hersteller anhand einer GSD-Datei beschrieben werden. GSD war früher die Abkürzung für Gerätestammdatei und wird heute als General-Station-Description interpretiert.

Projektierungstools für den zu projektierenden PROFIBUS-DP Master interpretieren den Inhalt der GSD-Dateien der Slaves und erzeugen daraus einen Master-Parametersatz für den Klasse 1 Master, der den Nutzdatenverkehr durchführt.

Ein Master der Klasse 1 erkennt anhand der Informationen aus den GSD-Dateien der angeschlossenen Slaves den Ausbaugrad des Busses, welche Dienste vom jeweiligen Slave unterstützt werden und in welcher Form die Daten auszutauschen sind.

GSD-Dateien sind bei der Projektierung und bei der Inbetriebnahme erforderlich. Jeder Hersteller eines PROFIBUS-DP Klasse 1 Masters stellt ein Projektierungstool zum Projektieren des Klasse 1 Masters zur Verfügung, das die interne Datenstruktur des Klasse 1 Masters und des Hostsystems kennt. Bei der Projektierung sind die jeweils benötigten GSD-Dateien dem Projektierungstool bekanntzumachen. Dies geschieht üblicherweise, indem die GSD-Dateien auf die Harddisk des PC´s zu kopieren sind. (Die genaue Pfadangabe ist der Beschreibung des Projektierungstools zu entnehmen). Beim Projektieren einer Anlage interpretiert das Projektierungstool die Daten der GSD-Datei für das ausgewählte Feldgerät. Weiterhin werden bereits Plausibilitätsprüfungen durchgeführt, damit die Projektierungsdaten logisch richtig aufgebaut sind.

Eine GSD Datei ist entweder einmal vorhanden, wenn sie sprachunabhängig aufgebaut ist (*.gsd) oder wenn sie in einer bestimmten Landessprache erstellt ist, kann sie öfter vorhanden sein. Je Landessprache ist dann eine GSD-Datei zu verwenden, in denen sich nur die Parameter vom Typ Visible-String unterscheiden dürfen. Die sprachbezogenen GSD-Dateien unterscheiden sich im letzten Buchstaben der Extension (*.gs?).

Default (sprachunabhängig): ?=d

Deutsch ?=g

Englisch ?=e

Französisch ?=f

Italienisch ?=i

Portugiesisch ?=p

Spanisch ?=s

Der GSD-Datei Namen soll den folgenden Regeln folgen:

Abc_0008.gsd

hierin bedeuten:

Abc_ = Firmenkennung (hier Firma Abc_), immer 4 Zeichen
0008 = von der PNO zugeteilte Identnummer 0008, immer 4 Zeichen in Hexadezimal
.gsd = default. Sprachunabhängige GSD(E)-Datei

Die Eigenschaften eines Gerätes werden mit Schlüsselwörtern und Werten beschrieben.

Aus geschichtlichen Gründen gibt es verschiedene Revisionen der GSD Syntax mit einer wachsenden Zahl von Schlüsselwörter. Die aktuellste Version ist heute (2013) Version 5. Ein erstes Schlüsselwort gibt somit die Version der GSD-Datei an:

GSD_Revision = 1

Vendor_Name= "Firma_ABC & Co"

Model_Name= "Modulare I/O Station"

Revision= "Ausgabestand 01"

Der Herstellername, der Modellname und die Revision des Gerätes als visible String sind auf 32 Zeichen beschränkt.

Revision_Number= 05

Versionskennung des DP-Gerätes. Der Wert der Revision_Number muss mit dem Wert der Revision_Number in der Slave-spezifischen Diagnose übereinstimmen.

Ident_Number=0x00A2

Die Ident_Number kennzeichnet den Gerätetyp des DP-Gerätes. Jedes Feldgerät ist durch eine von der PROFIBUS International vergebene Identnummer charakterisiert, die eine eindeutige Referenz zur GSD-Datei und somit zu den technischen Daten des Feldgerätes herstellt. Feldgerätevarianten, die sich mit einer GSD-Datei beschreiben lassen, können dieselbe Identnummer verwenden (beispielsweise modulare Geräte). Ein Datenaustausch mit einem Feldgerät ist nur möglich, wenn der DP-Master den DP-Slave eindeutig mit der Identnummer im Systemhochlauf (Parametriertelegramm) identifiziert.

Eine Ident-Nummer kann bei PROFIBUS International bestellt werden. Dort ist auch eine Liste der aktuell belegten Ident-Nummern ersichtlich.

Protocol_Ident= 0 ;PROFIBUS-DP Gerät

Verwendetes Protokoll des DP-Gerätes.

0: PROFIBUS-DP,

16 bis 255: Herstellerspezifisch

Stations_Type= 0 ;PROFIBUS-DP Slave

DP-Gerätetyp.

0: DP-Slave,

1: DP-Master (Klasse 1)

Weitere Angaben zu den Schlüsselwörtern findet man in den entsprechenden Kapiteln:

• Adressänderungen eines DP-Slave

• Konfiguration eines DP-Slave

• Parametrierung eines DP-Slave

• Isochroner Datenzyklus

• SYNC und FREEZE Befehle

• Alarmbehandlung

Eine Liste der in diesem Handbuch erwähnten GSD Schlüsselwörter findet man auch im Index.


Schritt 3: Installieren

Die Planungsunterlagen bilden auch die Grundlage für die Installation. Oftmals wird die Installation einer Anlage nicht durch die gleichen Fachleute vorgenommen, wie die anschliessende Inbetriebnahme. Ausführliche Hinweise für die Installation finden finden sich im jeweiligen Kapitel der entsprechenden Übertragungstechnik.

Schritt 3.1 Leitungen verlegen

Das gewählte Trasse und eine saubere Erdung haben einen grossen Einfluss auf die Störfestigkeit einer PROFIBUS Installation.

Schritt 3.2 Stecker anschliessen

Anschluss-Stecker bilden die Verbindung zwischen dem Kabel und dem Feldgerät und sind oftmals die Ursache für fehlerhafte Installationen.

Schritt 3.3 Installation kontrollieren

Für die Kontrolle einer Installation sind unterschiedliche Messungen möglich. Diese werden im entsprechenden Kapitel für elektrische, synchrone oder optische Übertragungstechnik genauer erläutert. Als Resultat der Kontrolle entsteht ein Prüfprotokoll.


Schritt 4: Inbetriebnehmen

Wir haben nun das Projekt aus der Konfiguration und ein Prüfprotokoll von der Installation. Dies sind die Voraussetzungen um erfolgreich eine Inbetriebnahme durchführen zu können.

Dabei empfehlen wir die folgenden Schritte:

Schritt 4.1 Laden der Konfiguration in die Steuerung

Das erstellte Projekt wird mit dem Konfigurationswerkzeug in die Steuerung geladen. In der PROFIBUS Norm sind dazu auch Festlegungen gemacht worden, wobei mir kein Hersteller bekannt ist, der sich an diese Festlegungen hält. Das Laden der Konfiguration in die Steuerung ist also abhängig vom Hersteller.

Schritt 4.1 Eingestellte Adressen und Erreichbarkeit der Teilnehmer überprüfen

Wir schalten die Speisung aller Feldgeräte ein und kontrollieren ob alle Feldgeräte unter ihrer geplanten Adresse erreicht werden können.

Oftmals stellt das Konfigurationswerkzeug der Steuerung einen "on-line" Betriebsmodus zur Verfügung, wo die Liste aller erreichbaren Feldgeräte, die sogenannte "Live-List" aufgezeigt wird. Wenn dieses Konfigurationswerkzeug zur Verfügung steht, ist dies die einfachste Methode um die Erreichbarkeit der Stationen zu kontrollieren.

Einfache Bustester erlauben es auch ohne Steuerung diese Live-Liste darzustellen, oder man kann auch einen komplexen Busmonitor für eine solche Kontrolle verwenden.

Schritt 4.2 Korrekte Konfiguration und Parametrierung der Teilnehmer überprüfen

Wenn die Konfiguration und die Initial-Parameter widerspruchsfrei sind, werden alle Feldgeräte eine aktive Verbindung mit dem Master anzeigen (normalerweise ein grünes LED) und die Steuerung zeigt keine weiteren Störungen.

Wenn die Konfiguration des Feldgerätes und die Initial-Parameter nicht den Möglichkeiten des Feldgerätes entsprechen weigert sich dieses in den zyklischen Datenaustausch zu gehen und signalisiert dies mit einer Diagnosemeldung und typischerweise mit einem roten Diagnose-LED. Diese Diagnosemeldungen kann man mit dem Konfigurationswerkzeug im on-line Betriebsmodus erkennen und erhält oftmals einen Hinweis in Klartext über die mögliche Ursache der fehlerhaften Initialisierung.

Wenn der on-line Modus nicht unterstützt wird oder das Konfigurationswerkzeug nicht verfügbar ist, leistet ein modernen Busmonitor gute Dienste, da er diese Diagnosemeldungen auch erkennen und interpretieren kann. Auf einer Live-Liste werden die Zustände aller angesprochenen Feldgeräte übersichtlich dargestellt.

Schritt 4.4 Qualität der Übertragung überprüfen

Der PROFIBUS ist sehr robust gegen schlechte Signale. Wenn die Bussignale noch knapp innerhalb der Toleranzen sind, kann im Normalbetrieb der PROFIBUS noch störungsfrei arbeiten. Wenn aber der "Störabstand" nur klein ist, können die kleinsten elektromagnetischen Störungen zu Fehlübertragungen führen. Wir empfehlen darum bei einer Inbetriebnahme die Signalpegel und Signalform der Bussignal bei einer elektrischen Übertragung zu messen und für spätere Vergleiche zu dokumentieren.

Der PROFIBUS hat eine umfassende Erkennung von Übertragungsfehlern und macht im Fehlerfall eine automatische Telegramm-Wiederholung. Dieser Mechanismus hat zur Folge, dass diese Übertragungsfehler keine Störung der Anwendung zur Folge haben und der Benutzer auftretende Übertragungsfehler nicht erkennen kann. Je mehr solche Fehler erkannt werden desto grösser ist die Wahrscheinlichkeit, das ein Übertragungsfehler nicht erkannt wird und es zu einer Funktionsstörung führen kann. Wir empfehlen die Anzahl der auftretenden Telegramm-Wiederholungen zu mit einem geeigneten Busmonitor zu messen und dokumentieren. Wird ein eine gewisse Anzahl von Telegramm-Wiederholungen in 5 Minuten Messzeit überschritten, ist eine Überprüfung der Installation durchzuführen.

Als Resultat der Inbetriebnahme entsteht ein Protokoll, das für die Überwachung des Betriebes als Referenz verwendet werden kann. Moderne Busmonitore können solche Protokolle automatisch auf Grund der gemessenen Daten generieren.


Schritt 5: Überwachen

Die PROFIBUS Anlage ist nun erfolgreich in Betrieb genommen worden. Durch die folgenden Maßnahmen kann der Betrieb überwacht und die Zuverlässigkeit und Verfügbarkeit sichergestellt werden.

Schritt 5.1: Diagnosemeldungen auswerten

Wenn die Signale am Feldgerät in einem unerlaubten Zustand sind, kann das Feldgerät über den PROFIBUS eine Diagnosemeldung absenden. Dies wird oftmals in der Steuerung und/oder im Feldgerät mit einem roten Diagnose-LED signalisiert. Der Inhalt dieser Diagnosemeldung gibt Hinweise auf eine mögliche Ursache der Diagnosemeldung. Neben Störungen auf dem PROFIBUS werden mit solchen Diagnosemeldungen vor allem Störungen am Feldgerät selber gemeldet. Für den Betriebsunterhalt ist es sehr nützlich, über eine Bedienoberfläche mit der Klartextanzeige der Diagnosemeldungen zu verfügen. Viele Diagnosemeldungen sind Teil der PROFIBUS Norm und sind somit in Ihrer Bedeutung unabhängig vom Hersteller des Feldgerätes.

Oftmals hat eine Diagnosemeldung keine Ursache im PROFIBUS sondern zeigt eine Störung im Feldgerät an.

Schritt 5.2: Kontrollmessungen durchführen

Durch Korrosion und mechanische Bewegungen können sich Durchgangswiderstände erhöhen oder Drähte brechen. Dies kann zu einer Verminderung der Signalpegel oder Reduktion der Schutzwirkung der Schirmung führen. Dies kann mit einer Kontrollmessung festgestellt werden.

Wir empfehlen die Kontrollmessungen der Inbetriebnahme in regelmäßigen Abständen, z.B. jedes Jahr während einer Unterhaltsperiode, zu wiederholen und die Messresultate zu vergleichen. Wenn die Signalpegel oder die Anzahl der Wiederholungen von Telegrammen sich erhöht, ist eine Kontrolle der Installation angebracht. Damit können Fehler beseitigt werden, bevor diese zu einer Störung oder einem Ausfall führen.

Schritt 5.3: Permanente Überwachung

Von verschiedenen Herstellern sind PROFIBUS Netzwerk-Überwachungsgeräte verfügbar. Diese Geräte messen die Signalqualität und werten die Telegramme auf einem oder mehreren PROFIBUS Netzwerken aus. Sobald ein vordefinierter Schwellwert erreicht wird, sendet das Überwachungsgerät eine Meldung and ein entsprechendes Leitsystem oder Netzwerkmanager. Dazu verfügen diese Geräte in der Regel über eine zusätzliche Ethernet Schnittstelle.


Risiko

Vermehrt wird der PROFIBUS auch in kritischen Anwendungen eingesetzt. Es besteht dabei immer ein Risiko, dass die geforderten Funktionen nicht erfüllt werden können. Dieses Risiko kann durch gezielte Massnahmen reduziert werden. Im Vordergrund stehen dabei die beiden folgenden Zielsetzungen:

1. Sicherstellung der funktionellen Sicherheit (Safety)

Das System soll bei einem Fehler in einen sicheren Zustand gehen.

2. Erhöhung der Verfügbarkeit (Availability)

Das System soll bei einem Fehler die eventuell reduzierte Funktion noch erbringen können.

Diese beiden Ziele können sich dabei gegenseitig behindern oder auch ergänzen.

Siehe dazu auch das PROFIsafe Web Based Training.

In dieser on-line Version ist dieses Kapitel nicht mehr verfügbar. Bitte beschaffen Sie sich eine der kostenpflichtigen Quellen.


Werkzeuge

Für die verschiedenen Schritte einer Anlageplanung und Inbetriebnahme stehen Werkzeuge mit unterschiedlichen Eigenschaften von unterschiedlichen Herstellern zur Verfügung. Wir versuchen hier eine kleine Übersicht zu geben, ohne Anspruch auf Vollständigkeit.

Die Werkzeuge und Verfahren zur Kontrolle der Installation sind stark Abhängig von der eingesetzten Übertragungstechnik und werden darum im entsprechenden Kapitel der elektrischen, optischen oder synchronen Übertragungstechnik weiter ausgeführt.

Für die Kontrolle der der Inbetriebnahme werden heute Busmonitore eingesetzt, die die Qualität der Signale und eine Analyse der Telegramminhalte in einer Oberfläche zusammenfassen. Als erster Hinweis für den Anwender hat sich dabei eine "Ampel" Darstellung durchgesetzt, wo der Anwender mit den Farben Rot für Störung, Gelb für gefährliche Situation und Grün für problemlosen Zustand einen raschen Eindruck über seine Installation erhält.

Für die permanente Busüberwachung sind seit einigen Jahren unterschiedliche Produkte von verschiedenen Herstellern auf dem Markt.

Eher für den Entwickler von einem PROFIBUS Gerät ist der GSD Editor, der das Erstellen einer fehlerfreien GSD-Datei unterstützt.

Als Unterstützung bei der Entwicklung, der Produktionskontrolle oder für Vorführungen im Verkauf oder in der Ausbildung sind die Master-Simulatoren gedacht. Mit diesen Werkzeugen kann man eine Steuerung ersetzen und die korrekte Funktion eines Feldgerätes prüfen oder demonstrieren, ohne eine industrielle Steuerung mitzunehmen oder programmieren zu müssen. Spezielle Testgeneratoren erlauben es auch fehlerhafte Telegramsequenzen zu erzeugen, um die korrekte Fehlerbehandlung bei einem Feldgerät überprüfen zu können.


GSD Editor

Mit einem GSD Editor können einfach GSD Dateien erstellt und deren Syntax und Semantik überprüft werden.

Bezeichnung | Version | Hersteller - Bezugsquelle
GSDEditor | V 5.1.1 vom 29.1.2013 | PROFIBUS International - www.profibus.com

Dieser Editor wird von der PROFIBUS Organisation unter www.profibus.com > Downlowads > Software and Tools für Mitglieder kostenlos zur Verfügung gestellt. Er erlaubt die einfache Erstellung einer GSD Datei auf Grund von Beispielen und Vorlagen. Er enthält auch eine syntaktische und sematische Kontrolle der GSD Datei.

Hinweis: Wenn ein Konfigurationswerkzeug eine GSD Datei wegen einem Fehler nicht laden will, kann dieser GSD Editor zur Kontrolle dieser Datei verwendet werden.


Busmonitore

Busmonitore oder Bustester verfügen über verschiedene Gruppen von Funktionalitäten:

Signalanalyse

Die elektrischen Signale auf dem Bus können gemessen und als zeitlichen Verlauf dargestellt werden. Die Herausforderung dabei ist der Trigger, muss doch die Adresse im gesendeten Signal ausgewertet werden, um die Quelle des Signals identifizieren zu können.

Für eine Analyse des Signals muss nicht nur das differentielle, sondern es muss auch der Verlauf der absolute Signale dargestellt werden können. Für die automatische Auswertung der Signalqualität haben sich die Hersteller der Busmonitore nicht auf ein Verfahren und Kriterien einigen können. Die Werkzeuge zeigen als Qualität der einzelnen Quellen Balkenwerte an, die zum ein Qualitätswert oder eine Spannung darstellen, und somit nicht direkt vergleichbar sind.

Mit einzelnen Produkten können neben den elektrischen Signalen nach RS485 auch synchrone MBP Signale aufgezeichnet und dargestellt werden.

Telegrammanalyse

Die Telegramme des PROFIBUS werden aufgezeichnet und die Inhalte analysiert und ausgewertet. Diagnoseinformationen werden im Klartext ausgegeben und Hinweise für mögliche Fehlerursachen gegeben. Für die Aufzeichnung von Telegrammen können Starttrigger auf Telegramminhalte festgelegt werden und die Darstellung der aufgezeichneten Telegramme kann nach beliebigen Kriterien gefiltert werden. Für die Auswertung der Telegramminhalte werden die Informationen aus den GSD-Dateien mit ausgewertet.

Netzwerkmanagement

Ein PROFIBUS Netzwerk besteht aus mehreren elektrischen Segmenten die über optische Netzwerke oder Repeater miteinander zu einem Netzwerk zusammengefasst werden. Um die Messungen vollständig zu dokumentieren muss man bei einem Busmonitor auch diese Netzwerkstruktur abbilden und die einzelnen Messpunkte der elektrischen Messungen dokumentieren können.

Aus einer solchen vollständigen Messung wird ein Messbericht automatisch erstellt, um nach einer Inbetriebnahme ein Abnahmeprotokoll erstellen zu können. Hilfreich ist es dabei, wenn auch die Sprache der Bedienoberfläche angepasst werden kann.

Überwachung

Oftmals können die Geräte der permanenten Überwachung auch wie Busmonitore eingesetzt werden oder Busmonitor eignen sich auch für eine permanente Überwachung. Für eine permanente Überwachung wird eine Energieversorgung mit 24V und Hutschienenmontage bevorzugt, bei einem mobilen Einsatz ist es vorteilhaft, wenn die Busanschaltung neben der USB Schnittstelle zum PC keine zusätzliche Spannungsversorgung benötigt.

Diese Geräte zur permanenten Überwachung haben typischerweise eine Ethernet Schnittstelle und verfügen über einen eingebauten Webserver, der die Darstellung der Messresultate auch über mobile Geräte wie z.B. einen iPad erlaubt oder können Internetdienste nutzen, d.h. versenden ein e-mail oder können über SNMP in ein Netzwerk Management eingebunden werden.

Wir finden die folgenden Produkte auf dem Markt (Unvollständige Liste, Stand Sommer 2013):

Hersteller | Produkt | Kurzbeschreibung
Trebing & Himstedt www.t-h.de | TH Link / TH Scope www.t-h.de | Umfassende Überwachung von unterschiedlichen Netzwerke, unter anderen auch PROFIBUS
 | PROFIBUS Scope www.t-h.de | Telegrammanalyse und Anlagezustand, kann auch mit dem TH Link eingesetzt werden
PROCENTEC www.procentec.de | ComBricks www.combricks.de | Modulares System zur Überwachung von elektrische, optischen und synchronen PROFIBUS Netzwerken inklusive Signalanalyse
 | ProfiTrace www.profitrace.ch | Umfassendes Analysewerkzeug, stufenweise ausbaubar, kann auch über den COMbricks messen (nur Telegrammanalyse)
Softing - www.softing-ia.com | Profibus-Tester 4 | Umfassendes Analysewerkzeug, kann auch Standalone eingesetzt werden
Indu Sol GmbH www.indu-sol.com | PROFIBUS inspector www.indu-sol.com | Permanente Überwachung der Netzwerke

Der ProfiTrace arbeitet auf der ProfiCore Ultra Hardware mit einer USB Schnittstelle und kann mit dem ProfiCaptain kombiniert werden. Die Funktionen sind und ist in einer abgespeckten Version auch in ComBricks integriert. Der PROFIBUS Scope kann auch über die Hardware xEPI 2 oder als TH Scope über TH Link messen, die selber eine Busmonitorfunktion als Webserver beinhaltet. Der PROFIBUS-Tester 4 verfügt über ein Display und Funktionstasten, kann auch ohne Notebook oder PC autark messen und bei Bedarf im Schaltschrank Langzeitmessungen durchführen. Der PROFIBUS Inspektor überwacht PROFIBUS Netzwerke und meldet Abweichungen.


Master Simulatoren

Mit einem Simulator können die Funktionen eines Masters am PROFIBUS simuliert werden.

Diese Produkte ersetzen einen Master und unterstützen eine Inbetriebnahme eines PROFIBUS-DP Systems wenn z.B. die Steuerung noch nicht zur Verfügung steht:

Bezeichnung | Hersteller - Bezugsquelle
ProfiCaptain | PROCENTEC - www.profitrace.ch / www.procentec.de
ProfiCoach | PIC - www.industry.usa.siemens.com/automation/us/en/pic
PROFIBUS-DP Mastersimulator | Bihl-Wiedemann - www.bihl-wiedemann.de

Der ProfiCaptain wird über die USB Schnittstelle und der ProfiCore Hardware angeschlossen und kann mit beliebigen Bitraten betrieben werden. Der ProfiCoach verwendet eine SIMATIC NET Netzwerkkonfiguration und Hardware. Der PROFIBUS-DP Mastersimulator läuft über eine serielle RS-232 Schnittstelle - ein USB Konverter ist möglich - und läuft nur mit der Bitrate von 19,2 kBit/s. Alle Geräte verwenden die GSD Dateien für eine Konfiguration einer MS0 Beziehung. Der ProfiCaptain und auch der ProfiCoach können auch DP-V1 Telegramme absetzen und vom Mastersimulator gibt es auch in einer DP-V1 Version.

Die folgenden Produkte erleichtern den Test einer Produkteentwicklung (siehe dazu auch das Kapitel 6):

Bezeichnung | Hersteller - Bezugsquelle
ProfiScript | PROCENTEC - www.profitrace.ch / www.procentec.de

Der ProfiScript ist ein umfassendes Werkzeug für Funktionstest durch Experten. Erlaubt die Abarbeitung von Testsripts für Zertifizierungstests. Versionen für ProfiCore und Siemens PC Karten sind verfügbar.


Übertragungstechnik

PROFIBUS wird für unterschiedliche Anwendungsgebiete eingesetzt und verwendet darum unterschiedliche Übertragungstechniken. PROFIBUS DP und PROFIBUS FMS verwenden beide die RS 485 Übertragung. Zusätzlich kann eine optische Übertragung über Glas- oder Kunststoff Lichtwellenleiter (LWL) eingesetzt werden (engl. auch Fiber-Optics FO). PROFIBUS PA nutzt eine spezielle Übertragungstechnik MBP (= Manchester Bus Powered) die auch die Speisung der Feldgeräte über den Bus erlaubt. RS 485-IS und MBP-IS sind zwei Versionen mit eigensicherer Übertragung.

Für die Übertragungstechnik wird ein Typ festgelegt. In der IEC 61784 sind für den PROFIBUS die folgenden Typen festgelegt:

Typenbezeichnung | Übertragungstechnik
0 | Kupferleitungen mit RS 485
1 | synchrone MBP
2 | LWL Kunststoff
3 | LWL Glas
4 | LWL HCS

In dem elektronischen Datenblatt, der GSD Datei, wird die Übertragungstechnik unter dem Schlüsselwort Physical_Interface festgelegt. Wenn dieses Schlüsselwort in der GSD nicht verwendet wird, wird nur eine RS485 Schnittstelle angeboten. Andere Schnittstellen können mit Werten nach obenstehender Tabelle angegeben werden. Zusätzliche können Verzögerungszeiten der Treiber angegeben werden:

Physical-Interface = 1 ; synchrone MBP

Transmission_Delay_31.25 = 0

Reaction_Delay_31.25 = 0

End_Physical_Interface

Für den Übergang zwischen den verschiedenen Übertragungstechniken stehen Koppler, Links oder LWL-Konverter zur Verfügung. Während Koppler und Konverter das Protokoll unter Beachtung der physikalischen Gegebenheiten transparent umsetzen, verfügen Links über eigene Intelligenz und bieten dadurch erweiterte Möglichkeiten für die Konfiguration von PROFIBUS-Netzen.

Für einen ersten Einstieg gibt es auch ein Web-Based Training (WBT) zur PROFIBUS Installationstechnik.


Elektrische Übertragungstechnik

RS 485 nach ANSI TIA/EIA 485-A ist eine erprobte und vielfach eingesetzte Übertragungstechnik die zum Verbinden von bis zu 32 Stationen über Distanzen bis zu 1,2 km mit einem Segment (= einem Stück Kabel) eingesetzt werden kann. Die RS 485 Übertragungstechnik verwendet zweiadrige Kabel. Die Installation ist einfach und erlaubt schnelle Datenkommunikation bis zu einer Bitrate von 12 Mbit/s (Dabei reduziert sich die maximale Distanz mit der hohen Bitrate).

Bedeutet dies, dass nur 32 Stationen an ein PROFIBUS Netzwerk angeschlossen werden können? Nein, die Begrenzung von 32 Stationen durch RS 485 wird mit Repeater (Verstärker) und LWL Verbindungen überwunden. Die einzelnen Segmente bleiben dabei elektrisch isoliert. Das gesamte Netzwerk kann so wesentlich mehr Stationen umfassen und weitere Distanzen überbrücken als dies durch RS 485 vorgegeben wird.

Innerhalb von einem elektrischen Segment zählen alle Geräte und Verstärker (Repeater) für die 32-Stationen Grenze. Dies bedeutet, dass wenn an einem Segment zwei Repeater angekoppelt werden, nur noch 30 Geräte an dieses Segment angeschlossen werden dürfen. Es wird in der Praxis empfohlen, immer 10% der Kapazität pro Segment für zukünftige Erweiterungen und/oder den Anschluss von Diagnosewerkzeugen als Reserve einzuplanen.

Von der PROFIBUS Organisation gibt es eine detaillierte Montagerichtlinie für die elektrische Übertragungstechnik nach RS 485.


Elektrische Übertragung

RS 485 ist ein symmetrisches (balanced) Zweileiter Übertragungssystem: Die Information wird durch die Spannungsdifferenz zwischen den beiden Leitern und nicht durch die Spannung eines Leiters gegen Masse oder Erde übertragen. Symmetrische Zweidrahtleitungen sind viel weniger empfindlich gegen Störungen als Eindraht- oder unsymmetrische Leitungen. RS 485 ist eine Mehrfachverbindung (Multidrop), d.h. es können mehrere Stationen am gleichen Kabel Senden und Empfangen (aber Senden darf nur eine Station gleichzeitig!).

RS 485 Übertragungstechnik

RS 485 Übertragungstechnik

Alle Teilnehmer an unserem PROFIBUS sind im Ruhezustand hochohmig an den Bus angeschlossen: Die Empfänger belasten den Bus nur wenig und die Sender gehen, wenn sie nicht aktiv sind, in einen hochohmigen Zustand (tri-state).

Das Buskabel kann somit jede beliebige Spannung annehmen was zu undefinierten Zuständen oder sogar zur Zerstörung der einzelnen Treiberbausteine führen kann. Um diesem Zustand vorzubeugen, werden aktive Busabschlüsse eingesetzt. Der Busabschluss ist als Spannungsteiler ausgeführt und stellt einen Ruhepegel von ca. 1 V als Vorspannung auf dem Kabel sicher. Für die sichere Funktion des PROFIBUS muss mindesten ein Abschluss gespiesen sein. Für die einfachere Projektierung werden beide Abschlüsse als aktive Abschlüsse ausgeführt.

Schema RS485

Die Steckerbelegung sieht die Herausführung dieser Speisungssignale im Stecker vor, so dass der aktive Abschluss direkt im Kabelstecker ausgeführt werden kann. Wenn der Stecker nun vom Gerät ausgezogen wird, bleibt der Abschluss am Kabel und der Bus bleibt somit abgeschlossen, verliert aber eine seiner beiden Speisungen.

Wenn nicht sichergestellt werden kann, dass bei laufendem Betrieb nicht immer mindestens eine Speisung aktiv ist, so ist eine getrennte Speisung des Busabschlusses vorzusehen. Entsprechende aktive Busabschlüsse als Einzelgerät sind auf dem Markt erhältlich.


Elektrische Pegel

Wir können den Verlauf der Spannungen am Leiter A messen:

Ruhezustand: ca. +2 V

Sendezustand:

Minimale Spannung ca. +1

Maximale Spannung ca. +4 V

Der Verlauf der Spannungen auf dem Leiter B ist vergleichbar:

Ruhezustand: ca. +3 V

Sendezustand:

Minimale Spannung ca. +1V

Maximale Spannung ca. +4V

Die Spannungsdifferenz zwischen High- und Low-Pegel, gemessen zwischen B und A, sollte zwischen 4 V und 7 V liegen. Dabei sollte der positive und negative Spannungswert etwa gleich gross sein. Der Unterschied zwischen den beiden Werten liegt in der Praxis bei etwa 0,5 V. Der Ruhepegel sollte ca. 1 V betragen.

Der Ruhezustand wird durch den aktiven Busabschluss definiert.


Reflektionen und Busabschluss

Wenn elektrische Signale sich entlang einem Kabel ausbreiten verursacht jede Veränderung der Leitungseigenschaften, wie z.B. zusätzliche Widerstände oder Kapazitäten, eine Reflektion. Reflektionen sind in Datenleitungen mit hohen Bitraten zu vermeiden, da die Datensignale durch Reflektionen verfälscht oder sogar zerstört werden können.


Reflektionen

Die elektrischen Signale breiten sich auf den Leitungen mit einer endlichen Geschwindigkeit von ca. 2/3 der Lichtgeschwindigkeit aus. Sie brauchen somit für einen Meter ca. 5 ns. Ein Kabel von 1200 Meter Länge wird somit in ca. 6 µs durchschritten.

Die elektrische Energie kann an einem Kabelende nicht einfach verschwinden, sondern kommt wieder zurück. Man spricht von den Reflektionen. Das reflektierte Signal überlagert sich mit dem hinlaufenden Signal und kann dazu führen, dass das ursprüngliche Signal zerstört wird. Reflektionen treten für einen Teil der Signalleistung auch auf, wenn die Eigenschaften der Leitung sich verändert indem z.B. zwei unterschiedliche Kabel zusammengeschaltet werden. Diese Reflektionen treten grundsätzlich bei allen Bitraten auf. Die Wirkung ist aber unterschiedlich. Bei hohen Bitraten, d.h. kurzen Bitzeiten ist die Wirkung gravierender.

Wirkung von Reflektionen

Wirkung von Reflektionen
- oben: tiefe Bitrate
- unten: hohe Bitrate

Signalverlauf mit wenig Reflektionen

Signalverlauf mit wenig Reflektionen

Signalverlauf bei zu vielen Reflektionen

Signalverlauf bei zu vielen Reflektionen

Als Gegenmassnahme werden Leitungsabschlüsse eingesetzt. Die Leitungsabschlüsse haben die Aufgabe, die Energie des elektrischen Signals aufzunehmen und somit Reflektionen am Kabelende zu vermeiden. Die optimalsten Resultate erreicht man, wenn der Abschluss gleich gross wie der Wellenwiderstand des Kabels ist. Dieser Abschluss muss an beiden Enden des Kabels angebracht werden.

Die Busleitung kann mit einem Induktivitätsbelag L' und einem Kapazitätsbelag C' modelliert werden. Aus diesen beiden Grössen kann - bei genügend hohen Frequenzen - der Wellenwiderstand einfach bestimmt werden:

Jeder Anschluss wie ein Stecker oder Klemme stellt eine Kapazität dar und erhöht somit den Kapazitätsbelag der Leitung. Dies verändert den Wellenwiderstand und führt somit zu mehr oder weniger grossen Reflektionen. Darum werden beim PROFIBUS maximale Steckerkapazitäten und maximale Längen von Stichleitungen vorgeschrieben.


Busabschluss für RS 485

Ein Widerstand in der Grössenordnung des Wellenwiderstandes am Ende eines Kabels reduziert die Reflektionen im Idealfall bis auf Null. Der Widerstand absorbiert die Energie des Signals. Der PROFIBUS DP/FMS verwendet einen aktiven Busabschluss mit 5V Speisung nach folgendem Schema:

Busabschluss bei PROFIBUS DP/FMS

Busabschluss bei PROFIBUS DP/FMS für Kabel Typ A

Hinweis: Für das Datensignal ist die Speisung wie ein Kurzschluss zu betrachten. Somit rechnet sich der Wert des Busabschlusses aus der Parallelschaltung von 220 Ohm und der Serieschaltung der beiden 390 Ohm Widerstände. Dies ergibt den oberen Toleranzwert des Wellenwiderstandes des Kabels Typ A.

Diese Busabschlüsse werden

• in den D-Sub Stecker integriert

•in einem M12 Busabschluss integriert

•in einem speziellen aktiven Busabschluss angeschaltet

•in den Geräten eingebaut und bei Bedarf eingeschaltet (nicht mehr empfohlen und für 12 MBit/s nicht zugelassen).

Es ist wesentlich für die korrekte Funktion eines Segments, dass beide Enden einen Abschluss haben, aber keine zusätzlich Abschlüsse vorhanden sind. Der Bus kann dabei nur richtig funktionieren, wenn die Abschlüsse dauernd mit Spannung versorgt werden - sogar wenn Teile einer Anlage ausgeschaltet wurden - sonst können Reflektionen eine Kommunikation der noch am Netzwerk verbleibenden Stationen verunmöglichen und der Ruhe-Spannungspegel (ca. 1 V) wird nicht eingehalten.

Oftmals sind falsche Busabschlüsse die Ursache für Kommunikationsprobleme.


Busabschluss im Stecker

Der Busabschluss wird in der Regel in den D-Sub Stecker integriert.

Stecker mit eingebautem Busabschluss

Stecker mit eingebautem Busabschluss

Mit einem Schalter am Stecker kann der Busabschluss ein- oder ausgeschaltet werden.


Aktiver Busabschluss

Der aktive Busabschluss wird als getrennte Komponente im Schaltschrank montiert. Dieser Busabschluss ist einfacher zu identifizieren als ein Schalter auf einem Stecker und durch geeignete Massnahmen kann sichergestellt werden, dass er immer mit Speisung versorgt wird.

Termination-T1

Geeignete Modelle verfügen über eine redundante Einspeisung und Stecker für den Anschluss von Diagnosewerkzeugen.

Busleitungen werden über Klemmen angeschlossen, da der Busabschluss als Teil der Infrastruktur nicht regelmässig ein und ausgesteckt werden muss. Steckbare Klemmen vereinfachen aber die Messung des verlegten Kabels.


Stichleitungen bei RS 485

Stichleitungen (T-Stücke) sind Abzweigungen vom Hauptsegment.

Von einer Verwendung von Stichleitungen wird bei PROFIBUS grundsätzlich abgeraten, da die durch die Stichleitungen zusätzlich hervorgerufenen Reflexionen als zusätzliche Störquellen zu betrachten sind.

Bei Bitraten bis 1.5 Mbit/s dürfen Stichleitungen eingesetzt werden, wenn sie die in der untenstehenden Tabelle (Interpretation aus IEC 61158-2 Tabelle 105) angegebenen Grenzen nicht überschreiten.

Bitrate | Gesamte erlaubte Kapazität | Summe der Stichleitungslängen*
>1.5Mbit/s | Keine | Keine
1.5Mbit/s | 0.2 nF | 6.7m
500kbit/s | 0.6 nF | 20m
187.5kbit/s | 1.0 nF | 33m
93.75kbit/s | 3.0 nF | 100m
19.2kbit/s | 15 nF | 500m

* Berechnet mit einem PROFIBUS Kabel Typ A mit 30pF/m

Stichleitung in einem Gerät

Stichleitung in einem Gerät

Bei Stichleitungen wird kein zusätzlicher Busabschluss eingesetzt. Beachte dass die hier aufgeführten Längen die Summe aller Stichleitungen von einem Segment darstellen. Davon abzuziehen ist die Stichleitung in jedem Gerät zwischen der Steckbuchse und dem RS 485 Leitungstreiber.

Es handelt sich bei diesen Zahlen um die Summe der Stichleitungen, d.h. bei einem Kabel mit 187,5 kbit/s und 32 angeschlossenen Geräten darf pro Gerät die Stichleitung durchschnittlich ca. 1 Meter lang sein. Bei Bitraten über 1.5 Mbit/s sind Stichleitungen verboten. Die am Markt angebotenen Stecker bieten die Möglichkeit, das kommende und das gehende Datenkabel direkt im Stecker zu verbinden. Dadurch werden Stichleitungen vermieden und der Busstecker kann jederzeit, ohne Unterbrechung des Datenverkehrs, am Bus auf- und abgesteckt werden.

Dies ist in der Praxis nicht ganz so einfach. Auch wenn das Buskabel in einem Stecker direkt auf das Gerät angeschlossen wird, bleibt im Innern des Gerätes eine minimale Stichleitung zwischen dem Gerätestecker und dem Leitungstreiber von ein paar cm. Die Norm schreibt darum vor, dass die Kapazität eines Steckers, der für 12 Mbit/s eingesetzt werden soll, eine maximale Kapazität von 35 pF aufweisen darf. Wenn dies nicht eingehalten werden kann, müssen zur Kompensation dieser Kapazität Längsinduktivitäten eingesetzt werden (Vergleiche dazu die Formel zu den Leitungsbelägen).

Stecker mit eingebauter Länginduktivität

Stecker mit eingebauter Länginduktivität

Bei Bitraten über 1.5 MBit/s wird eine minimale Kabellänge von 1m zwischen zwei Stationen empfohlen. Die Reflektionen verursacht durch unsaubere Anschlüsse werden damit im Signal um die Laufzeit eines Meters (ca 5 ns) verschoben und der Einfluss der Störungen auf das Signal wird nicht summiert. Die Installation ist weniger Fehleranfällig.

Vermeide Stichleitungen wenn immer möglich. Verwende Repeater um Abzweigungen zu erstellen.


Buskabel

PROFIBUS DP/FMS verwendet für die Installation nach der RS 485 Übertragungstechnik zweiadrige, verseilte und geschirmte Kabel. Es wird empfohlen, nur Kabel gemäss der Spezifikation für PROFIBUS einzusetzen.

Um irrtümliche Beschädigung von Buskabeln zu vermeiden, sollten sie mit einer speziellen Farbe markiert sein.

Bei der Verlegung dürfen die Kabel nicht verbogen oder verletzt werden, dies kann zu Veränderungen im Aufbau des Kabels und somit zu Reflektionen führen. Im speziellen dürfen Buskabel nicht gestreckt oder gedrückt werden und der minimale Biegeradius ist immer einzuhalten (der typische minimale Biegeradius für Drahtkabel ist 75 mm und für Litzenkabel 45 bis 65 mm).

Aus historischen Gründen gibt es zwei verschiedene Kabeltypen. Die Verwendung von Kabeln des früher benutzten Kabeltyps B ist generell nicht zu empfehlen.

Für Neuinstallationen ist ausschliesslich Kabeltyp A zu verwenden.

 | Typ A | Typ B |
Wellenwiderstand Rw | 135...165 | 100...130 | Ω
Kapazitätsbelag C' | < 30 | < 60 | pF/m
Schleifenwiderstand R' | 110 | -- | Ω/km
Aderndurchmesser d | 0,64 | 0,53 | mm
Adernquerschnitt q | > 0,34 | > 0,22 | mm²


Kabellängen

Die max. Leitungslänge ist abhängig von der Übertragungsgeschwindigkeit und vom Kabeltyp.

Baudrate in kbit/s | Max. Länge, Kabeltyp A | Max. Länge, Kabeltyp B
9,6 | 1200 m | 1200 m
19,2 | 1200 m | 1200 m
45,45 | 1200 m | 1200 m
93,75 | 1200 m | 1200 m
187,5 | 1000 m | 600 m
500 | 400 m | 200 m
1500 | 200 m | 70 m
3000 | 100 m | --
6000 | 100 m | --
12000 | 100 m | --

Damit das Kabel in einen Standardstecker sauber eingeführt werden kann, sollte der Aussendurchmesser des Kabelmantels 8.0 +/- 0.5 mm betragen.

Von diesem Typ A Kabel gibt es unterschiedliche Bauformen:

•Standard PROFIBUS Kabel mit Massivleiter

•Kabel mit speziellen Manteln für Lebensmittelproduktion und Chemie

•Kabel mit zusätzlichen Mantel für die Direktverlegung im Erdreich

•Flexible Kabel für bewegliche Maschinenteile

PROFIBUS Kabel werden von mehreren renommierten Herstellen angeboten.


Abisolation des Kabels

Spezielle Fast-Connect (FC) Kabel können einfach mit einem speziellen Werkzeug abisoliert werden.

Kennzeichnung der Fast-Connect Kabel

Kennzeichnung der Fast-Connect Kabel

Der Querschnitt des "Normalen" PROFIBUS Kabels ist nicht zwingend rund.

Der Querschnitt eines "Fast Connect" PROFIBUS Kabels ist rund und kann darum mit einem speziellen Werkzeug einfach abisoliert werden.

1. Werkzeug in die rechte Hand nehmen. | 2. Messen Sie die Länge des abzuisolierenden Kabels aufgrund der Vorgaben auf der Seite des Werkzeuges und halten Sie diese Länge mit dem linken Daumen fest. | 3. Fügen Sie das Ende des Kabels in das Werkzeug ein, wobei Sie Ihre Finger als Anschlag benutzen.
4. Schliessen Sie das Werkzeug fest. | 5. Drehen Sie das Werkzeug vier mal in der Pfeilrichtung. | 6. Halten Sie das Werkzeug geschlossen und ziehen Sie in der Pfeilrichtung weg.
7. Die entfernte Isolation bleibt im Werkzeug. Nach dem öffnen des Werkzeuges kann dies einfach entfernt werden. | 8. Entfernen Sie die verbleibende Isolationsfolie. | 9. Nach Bedarf: Nach dem Entfernen der Isolation kann das Kabel im Stecker angeschlossen werden.


Anschluss-Stecker

Für die Verdrahtung von DP/FMS Netzwerken wird der Einsatz von PROFIBUS Steckern empfohlen. Diese Stecker enthalten spezielle Funktionalitäten, die einen sicheren Betrieb und schnelle und robuste Montage ermöglichen. Diese Funktionalitäten können umfassen:

•Eingebaute Abschlusswiderstände die ein- und ausgeschaltet werden können.

•Schneller und robuster Anschluss der Signaldrähte

•Grossflächiges Auflegen des Kabelschirms

•Einführungen für an- und abgehende Kabel

•Eingebaute spezielle Induktivitäten für Bitraten höher als 1.5 Mbit/s

•Abschaltung des Leitungsabganges wenn der Abschluss eingeschaltet ist

•Zusätzlicher Stecker zum Anschluss von Diagnose- oder Programmierwerkzeugen

Für PROFIBUS Netze mit RS-485 Übertragungstechnik wird in der Schutzart IP20 vorzugsweise ein 9-poliger D-Sub Steckverbinder verwendet.

Für den Anschluss der Stationen (Geräte) können auch Klemmen eingesetzt werden.

Als Anschlussmöglichkeiten bei RS-485 Übertragung in der Schutzart IP65/67 sind drei Alternativen vorgesehen:

• M12 Rundsteckverbinder gemäss IEC 947-5-2

•HAN-BRID Stecker gemäss DESINA-Empfehlung

•Siemens Hybrid-Steckverbinder

Im HAN-Brid-Steckersystem ist auch eine Variante zur Übertragung von Daten über LWL-Fasern und 24 Volt Betriebsspannung für die Peripheriegeräte über Kupferkabel in einem gemeinsamen Hybridkabel vorgesehen.


Klemmen

Einfache Geräte werden direkt mit Klemmen angeschlossen:


D-Sub-Stecker

Der D-Sub-Stecker ist der empfohlene Stecker für IP20-Installationen (im Schaltschrank).

Buchsen am Gerät

Pin-Nr. | Signal | Funktion |
1 | Schirm | Schutzerde | nicht empfohlen
2 | M24 | Masse für 24V Spannung | Optional
3 | RxD/TxD-P | Daten Leitung Plus (B-Leiter) | Pflicht
4 | CNTR-P | Repeater Richtungskontrolle | Optional
5 | DGND | Daten Masse | Pflicht
6 | VP | +5V Speisung für Busabschluss | Pflicht
7 | P24 | +24V Speisung | Optional
8 | RxD/TxD-N | Daten Leitung Minus (A-Leiter) | Pflicht
9 | CNTR-N | Repeater Richtungskontrolle | Optional

Die beiden Leiter im Zweileiter-Kabel übertragen die Signale „Datenleitung Plus“ (B-Leiter) und „Datenleitung Minus“ (A-Leiter). Die beiden Leiter haben unterschiedliche Farben rot und grün. Es ist absolut wichtig, dass die beiden Leiter A und B in einem Segment nicht vertauscht werden.

Rot | B-Leiter (RxD/TxD-P)
Eselsbrücke: | B = rot ⇒ BROT
Grün | A-Leiter (RxD/TxD-N)

Die Speisung von 5 V muss mindestens 100 mA liefern können und dient der Speisung der Busabschlüsse. Oftmals wird diese Speisung auch für die Speisung von LWL-Konvertern oder Repeater genutzt.

Die Auflegung der 24-V-Speisung in demselben Stecker wird nicht mehr empfohlen.

Der Schirm muss bei allen Steckern großflächig an die Schutzerde aufgelegt werden. Dazu sind die Stecker entsprechend ausgelegt (unten stehende Abbildungen). Der Pin 1 soll für die Schutzerde nicht mehr verwendet werden.


Diagnose-Steckbuchsen

Um die Netzwerkanalyse und Fehlersuche zu ermöglichen sollte mindestens ein Stecker in einem Segment eine Diagnosesteckbuchse (nebenstehende Abbildung) aufweisen. Wir empfehlen diesen Diagnosestecker beim Master der Klasse 1 (der Steuerung) ein zu planen.

Dieser zusätzliche Anschluss erlaubt es einen Busmonitor oder ein Programmiergerät direkt am laufenden Bus anzuschliessen, ohne das Netzwerk zu unterbrechen. Diese Diagnosestecker dürfen aber nicht für unzulässige Stichleitungen verwendet werden.


Unterbrechende Stecker

Moderne PROFIBUS Stecker haben einen Kabel Eingang als „ingoing“ und einen Kabel Abgang als „outgoing“ Anschluss gekennzeichnet. Diese Unterscheidung ist sehr wesentlich, da der Stecker den Kabelabgang ausschaltet, wenn der Abschlusswiderstand eingeschaltet wird. Solche Stecker sind sehr nützlich für den Test und die Inbetriebnahme eines Netzwerkes. Wenn ein solcher Stecker in der Mitte eines Segmentes einen Abschluss eingeschaltet hat, wird der am Abgang angeschlossene Teil des Segmentes abgetrennt und der verbleibende Rest des Netzwerkes ist weiterhin korrekt abgeschlossen. Aus diesem Grund muss der erste und der letzte Stecker nur ein Kabel-Eingang „ingoing“ verwenden!

Oftmals haben Stecker einen eingebauten Schalter der den Bus bei eingeschaltetem Busabschluss unterbricht.

Am Ende und Anfang des Busses muss das Kabel nur am Eingang eingeführt werden.

In der Mitte des Bus-Segmentes werden beide Kabelstücke angeschlossen. Der Kabeleingang führt zum Master.

Bei einem Stecker ohne Unterbrechung können zusätzlich eingeschaltete Busabschlüsse nicht eindeutig erkannt werden. Durch den zusätzlichen Busabschluss wird das Signal gedämpft und es können sporadische Übertragungsfehler entstehen.

Beim Einsatz von Steckern mit Unterbrechung führt das Einschalten eines zusätzlichen Busabschlusses zwangsläufig zu einem Unterbruch des Buses und somit zu einem statischen und einfach feststellbaren Fehler.

D-Sub Stecker

Stecker mit eingeschaltetem Busabschluss

Stecker mit eingeschaltetem Busabschluss und Unterbrecher


Montage der Stecker

Die Kabel werden abisoliert. Bei speziellen Fast-Connect Kabeln kann dies rasch und sicher mit einem speziellen Werkzeug erfolgen.

1 | 2
Schieben Sie das so vorbereitete Kabel in den Stecker mit Durchdringungstechnik. | Schliessen Sie den Stecker fest.

Wenn flexible Kabel mit Litzen verwendet werden, kann das Kabel mit dem Abisolierwerkzeug vorbereitet werden. Bei Einsatz von Schraubklemmen müssen aber Aderendhülsen eingesetzt werden. Schleppkabel sollen mit einer zusätzlichen Zugentlastung versehen werden.


M12 Stecker

Das PROFIBUS M12 Steckersystem erlaubt eine Installation in der Schutzart IP65 und ist somit für den schranklosen Aufbau geeignet.

Geräte haben oftmals zwei Anschlüsse für M12, so dass das ankommende und das abgehende Kabel getrennt angeschlossen werden können. Dies macht aber ein anschliessen eines Gerätes ohne Unterbruch des Kabels unmöglich. Es wird darum der Einsatz eines speziellen T-Stückes empfohlen. In diesem Fall haben wir am Gerät nur eine Buchse.

M12 Steckersystem

Es sind unterschiedliche feldmontierbare Stecker erhältlich. Ein Kabel hat typischerweise an einem Ende eine Buchse und am anderen einen Stecker mit Stiften.

Da M12 Stecker oftmals schwierig im Feld zu montieren sind, sind auch Kabel mit vorgefertigten Anschlüssen verfügbar.


M12 Steckerbelegung

M12-5 B-codiert

nach IEC 60947-5-2 oder IEC 61076-2-101

Der B-codierte M12-5 Stecker sollte nicht mit A-codierten Steckern von Signalleitungen verwechselt werden können.

Pin Nr. | Signal | Funktion |
1 | VP | +5V Speisung für Busabschluss | Pflicht
2 | RxD/TxD-N | Daten Leitung Minus (A-Leiter) | Pflicht
3 | DGND | Daten Masse | Pflicht
4 | RxD/TxD-P | Daten Leitung Plus (B-Leiter) | Pflicht
5 | -- | nicht belegt |
Gewinde | Schirm | Masseverbindung | Empfohlen

Die beiden Leiter im Kabel übertragen die Signale “Daten Leitung Plus” (B-Leiter) und “Daten Leitung Minus” (A-Leiter) und haben die Farben rot und grün und dürfen nicht vertauscht werden.

Der Schirm muss an beiden Enden des Kabels grossflächig an die Schutzerde aufgelegt werden. Für die Verbindung der Schirmung wird vorzugsweise die Verschraubung des Steckers verwendet. In den aktuellen Ausgaben der Normen wird der Pin 5 nicht mehr mit dem Schirm belegt! Somit können Stecker für Kabel mit nur mit den zwei Pins 2 und 4 ausgeführt werden.


Repeater

Ein RS 485 Repeater (= Verstärker) verstärkt das elektrische Signal auf einer Busleitung und liefert eine elektrische Isolation zwischen den einzelnen Bussegmenten.

Ein Repeater muss eingesetzt werden wenn:

a)mehr als 32 Stationen an einen Bus angeschlossen werden müssen

b)einzelne Segmente auf dem Bus isoliert werden müssen

c)oder eine längere Distanz angeschlossen werden muss.

Ein Repeater muss zum zeitgerechten umschalten der Verstärkungsrichtung die vom Bus verwendete Bitrate kennen. Er kann dazu die Bitrate so lange verstellen, bis er korrekte Zeichen erkennen kann. Damit wird es möglich, dass der Repeater die Bitrate selbständig erkennt.

Dieser Einstellvorgang dauert eine gewisse Zeit in der die Funktion des Repeaters nicht sichergestellt ist. Darum können bei Repeatern je nach Produkt die Bitrate auch manuell mit einem Schalter eingestellt werden.

Ein Repeater verfügt über keine Stationsadresse, es sei denn er hat die Möglichkeit Diagnoseinformationen ab zu setzen. Einem solchen Diagnose-Repeater wird eine Stationsadresse zugeordnet.

Je nach eingesetztem Produkt dürfen nur eine begrenzte Anzahl n von Repeater zwischen zwei Stationen geschaltet werden. Dies bedeutet, dass maximal n+1 Segmente hintereinander geschaltet werden können. Diese Begrenzung liegt je nach Produkt bei n = 3, 4 oder 9. Bei Repeatern mit der notwendigen Signalregeneration fallen diese Begrenzungen weg.


Einfacher-Repeater

Ein einfacher Repeater (Verstärker) verbindet zwei Segmente:

Schema eines einfachen Repeaters

Schema eines einfachen Repeaters

Die unten abgebildeteten Produkte verfügt über eine galvanische Trennung und eine Signalregeneration, damit bis zu 9 oder mehr Repeater in Serie geschaltet werden können.

Siemens

Procentec

Helmholz

Diese Repeater verfügen über einen D-Sub Stecker für Diagnosezwecke, der nicht ein eigenes Segment bedeutet! Bei den hier abgebildeten Produkten ist der Diagnosestecker mit dem Segment 1 fest verbunden. Sinnvollerweise wird für die Diagnose somit das Segment 2 in die Richtung zum Master angeschlossen und das Segment 1 mit dem Diagnosestecker für ein weiterführendes Segment verwendet. Damit kann der Diagnosestecker auf dem Repeater für die Signalkontrolle z.B. mit dem ProfiTrace verwendet werden.


Mehrfacher-Repeater

Die unten abgebildeten ProfiHub hat die Funktionalität eines transparenten 5-fachen Repeaters mit galvanisch getrennten Kanälen. Das erlaubt den Aufbau von Netzwerkstrukturen mit langen Stichleitungen, die jeweils die Eigenschaften des Hauptbusses besitzen. An jede Stichleitung können bis zu 31 Teilnehmer angeschlossen werden. Die Implementierung langer Stichleitungen mit vielen Teilnehmern und Netzstrukturen mit sternförmigen Segmenten wird so ermöglicht. Dank der eingebauten Signalregeneration wirken sich Störungen auf einem Segment nicht auf die anderen Segmente aus (siehe "Isolation von Stationen").

ProfiHub B5 (IP65) Procentec

ProfiHub B5 (IP65)
Procentec

ProfiHub A5 (IP20) Procentec

ProfiHub A5 (IP20)
Procentec

Den ProfiHub gibt es in zwei Ausführungen in den Schutzarten IP20 oder IP65. Er verfügt über 5 galvanisch isolierte Segmente mit zuschaltbaren Abschlusswiderständen. Es bestehen keine Beschränkungen über die mögliche Serieschaltung von solchen Repeatern.

Mit einem Drehschalter kann die Birate für eine rasche Funktionsaufnahme eingestellt werden oder der Repeater kann die Birate auch selbständig erkennen.


Modularer-Repeater

Der mehrfache Repeater erlaubt die Zusammenschaltung von mehreren Repeatern auf der Hutschiene die einem modular aufbaufähigen mehrfachen Repeater. Ein spezielles Modul auf der Hutschiene dient dabei als Verbindungselement. Die einzelnen Stecker auf den einzelnen Modulen sind alle galvanisch getrennt und erlauben den Anschluss von je 31 Teilnehmern.

Phoenix Contact

Die Bitrate kann optional mit einem Schalter eingestellt werden. Interessant ist die Möglichkeit diese Module direkt auch mit LWL-Konverter zu kombinieren.


Diagnose-Repeater

Diagnose-Repeater merken sich die angeschlossene Topologie der einzelnen Segment und können durch Reflektionsmessungen Fehler feststellen.

Diagnose-Repeater müssen als DP-Slave projektiert werden und erhalten somit eine eigene PROFIBUS Adresse. Der Zustand der einzelnen Segmente kann damit über die normale Gerätediagnose an die Steuerung mitgeteilt werden.

Siemens

Fehler können an den Segmenten 2 und 3 festgestellt werden. Der Diagnosestecker bildet ein eigenes Segment 4.

Es können die folgenden Fehler festgestellt werden:

•Leitungsunterbruch

•Kurzschluss A, B, oder gegen Abschirmung

•Fehlende oder falsche Busabschlüsse

•Sporadische Fehler bei der Übertragung

Das Diagnosetelegramm umfasst die folgenden Informationen:

•Name des Segmentes

•Grund der Störung

•Ort der Störung (inklusive Distanz in Meter)

•Fehlerrate in Prozent

Ein spezielle Diagnosesoftware (integriert in STEP7) erlaubt die grafische Darstellung der Diagnoseinformationen des Diagnose-Repeaters.

Software zu Diagnoserepeater

Software zu Diagnoserepeater


Auslegung des RS 485 Netzwerkes

Alle Geräte werden in einer Busstruktur (Linie) angeschlossen. In einem Segment können bis zu 32 Teilnehmer (Master, Slaves oder Repeater) zusammengeschaltet werden. Die Regeln für Stichleitungen sind ein zu halten.

Jedes PROFIBUS Segment muss am Anfang und Ende abgeschlossen werden und auf keinen Fall irgendwo dazwischen einen Busabschluss aufweisen. Einige PROFIBUS Geräte haben eingebaute Busabschlüsse, die ein und ausgeschaltet werden können. In diesen Fällen ist es wichtig, dass diese Busabschlüsse ausgeschaltet sind. Es ist ein häufiger Fehler, dass gleichzeitig der Busabschluss im Stecker und im Gerät eingeschaltet sind! Dieser doppelte Abschluss führt zu einem falschen Abschluss und somit zu Reflektionen.

Es ist wichtig, dass an einem Segment in den richtigen Steckern die Abschlüsse ein und ausgeschaltet sind. Aus diesem Grund werden hier die Regeln an ein paar Beispielen ausführlich erläutert:

1. Optimale Position des Masters und der Busabschlüsse

2. Anschluss von mehr als 32 Stationen an einen Bus

3. Übertragen über eine längere Distanz

4. Abdeckung von komplexen Topologien

5. Galvanische Isolation einzelner Segmente auf dem Bus

Weitere Möglichkeiten ergeben sich durch den Einsatz von LWL-Konverter.


Netzwerktopologie

Wenn in einem Einzel-Master System gearbeitet wird, ist es der Idealfall wenn der Master an einem Ende des Segmentes angeordnet werden kann und somit den Busabschluss eingeschaltet hat. Wenn der Master seine Speisung verliert, wird das Netzwerk ausser Betrieb sein und der nicht mehr mit Speisung versorgte Busabschluss hat keinen Einfluss. Wenn am anderen Ende ein Repeater die Leitung zum nächsten Segment weiterführt, kann somit jede Station ein und ausgesteckt werden, ohne dass die Funktion des Netzwerkes beeinflusst wird. Wichtig ist dabei, dass der Repeater immer mit Speisung versorgt wird, da er die Busabschlüsse hat.

Bevorzugte Verdrahtung für Einzel-Mastersysteme

Bevorzugte Verdrahtung für Einzel-Mastersysteme

Wenn am Ende eines Segments kein Repeater eingesetzt wird (z.B. im letzten Segment) muss der Busabschluss im Stecker des letzten Gerätes eingeschaltet sein. Dies bedeutet, dass die Speisung des letzten Gerätes immer in Betrieb sein muss, damit der Busabschluss unter Spannung ist. Wenn Sie das letzte Gerät ersetzen müssen, ist somit der Busabschluss nicht unter Spannung und der Bus kann instabil werden.

Master und letzter Slave mit Busabschluss

Master und letzter Slave mit Busabschluss

Wenn die Anforderungen der Anlage verlangen, dass der Master d.h. die Steuerung in der Mitte des Segmentes ist, muss der Busabschluss an beiden Enden des Segments eingeschaltet sein. Dies bedeutet, dass die beiden Geräte am Ende des Segmentes immer unter Speisung sein müssen, damit das Segment korrekt funktionieren kann. Sobald das eine oder andere Endgerät ersetzt werden muss, kann während dieser Operation der Bus instabil werden.

Master und Repeater in der Mitte des Segments

Master und Repeater in der Mitte des Segments

Eine Alternative ist der Einsatz von „aktiven“ Busabschlüssen. Der aktive Busabschluss ist direkt mit einer Spannungsversorgung versehen und muss immer mit Spannung versorgt sein. Der Vorteil von diesem Aufbau ist, dass alle anderen Slave auf dem Segment entfernt und ersetzt werden können, ohne das Netzwerk zu beeinflussen. Der aktive Busabschluss verfügt in der Regel über Anschlussklemmen und keine D-Sub Stecker, damit nicht irrtümlich ein zweiter Busabschluss eingeschaltet werden kann.

Der Einsatz aktiver Busabschlüsse

Der Einsatz aktiver Busabschlüsse


Maximale Anzahl Stationen

An einem Segment dürfen maximal 32 Teilnehmer angeschlossen sein. Als Teilnehmer gelten neben den Stationen (z.B. DP-Master, DP-Slave) auch die einzelnen Repeater oder LWL-Konverter. An einem PROFIBUS können maximal 126 Stationen adressiert werden. Nur mit der Hilfe von Repeatern kann ein maximales PROFIBUS Netzwerk aufgebaut werden:

•In einem ersten und letzten Segment können maximal 31 Stationen und ein Repeater angeschlossen werden.

•In einem mittleren Segment können maximal 30 Stationen und 2 Repeater angeschlossen werden.

•Für ein maximales Netzwerk werden somit mindestens 4 Einfach-Repeater oder ein Mehrfach- oder Modularer-Repeater benötigt.

Maximale Anzahl Stationen mit einfachen Repeatern

Maximale Anzahl Stationen mit einfachen Repeatern

Maximale Anzahl Stationen mit Mehrfachrepeatern

Maximale Anzahl Stationen mit Mehrfachrepeatern


Maximale Distanzen

Die maximale Länge von einem Segment ist begrenzt abhängig von der Bitrate. Für die Überwindung von grösseren Distanzen müssen Repeater eingesetzt werden.

Maximale Distanzen

Die Anzahl der Repeater ist abhängig von der gesamten Distanz. Als Alternative können auch LWL-Konverter als "Distanz-Repeater" eingesetzt werden.


Komplexe Strukturen

Mit der Kombination von Repeatern und LWL-Konverter können fast beliebige Topologien mit beliebigen Flächen und Distanzen abgedeckt werden.

Komplexe Strukturen

Bei Bedarf können die einzelnen Repeater auch dazu verwendet werden, eine Linientopologie mit abzweigenden Stichleitungen zu realisieren.

Linientopologie mit Abzweigungen

Linientopologie mit Abzweigungen


Isolation von Stationen

Durch den gezielten Einsatz von Repeatern mit galvanischer Trennung und Signalregeneration können Störungen auf einem Segment von anderen Segmenten fern gehalten werden und somit der Einfluss von elektromagnetischen Störungen massiv eingegrenzt werden.

Isolation von Störungen

Isolation von Störungen

Diese Isolation der Segmente kann natürlich auch durch den Einsatz von Lichtwellenleiter-Systemen erreicht werden.


Installationskontrolle

Die Kontrolle einer Installation umfasst die folgenden Messungen:

Kabel kontrollieren (Kabeltester)

Ein Kabeltester kann typischerweise die folgenden Überprüfungen durchführen:

•sind die Kabeladern verdreht?

•sind die Busabschlüsse richtig und in der richtigen Zahl angeschlossen?

•ist die Leitung nicht unterbrochen?

•ist ein Kurzschluss oder Erdschluss vorhanden?

•welche Kabellänge wurde verlegt?

•wo im Kabel ist der Fehler?

Installation kontrollieren

Mit einem Installationstestwerkzeug kann

•die Adresseinstellung überprüft werden

•die Erreichbarkeit einer Station kontrolliert werden

•der Signalpegel einer Station gemessen werden

•eventuell ein Ausgang gesetzt oder Eingang gelesen werden

Signalform kontrollieren (mit KO)

Mit der Hilfe eines Oszilloskops - historisch auch als KO (Kathodenstrahl-Oszilloskop) bekannt - kann die Signalform dargestellt werden. Damit können die Signalpegel, die Funktion der Leitungstreiber, vorhandene Reflektionen wegen falschen Busabschlüssen etc. beurteilt werden. Moderne Busmonitore haben eine Signalkontrolle integriert.

Ohne spezielle Hardware zum Festhalten des Triggersignales oder einem periodischen Signal erhält man dabei kein stabiles Signal oder kann die Quelle des Signals nicht identifizieren.

Für die verschiedenen Kontrollen haben wir mit den folgenden Werkzeugen Erfahrung:

Messgerät | Kabel | Installation | Signale
Ohmmeter | Möglich | - | -
BT 200 | Einfach | Möglich | -
NetTEST II | Nur installiert | Umfassend | -
ProfiTrace 2 ... | - | Möglich | -
& ProfiCaptain | - | Umfassend | -
& ScopeWare | Möglich | - | Umfassend
& Topology | Umfassend | - | -

Die meisten Kabeltester können die gemessenen Daten abspeichern. Diese Daten können auf einen PC geladen und ein Messbericht kann erstellt werden, der den Zustand eines Segments dokumentiert.


Kabeltester BT200

Der BT200 Kabeltester der Firma Siemens besteht aus

•dem BT200 Gerät

•einem Teststecker

•einem Messkabel

•einem Ladegerät

BT200

Teststecker

Bedienmenu

Kabelkontrolle

Für die Kontrolle eines PROFIBUS DP Kabelsegments mit einem BT200 Kabeltester wird wie folgt vorgegangen:

1.Alle Stationen vom Kabel entfernen.

2.Der Teststecker wird an ein Ende gesetzt, dabei muss dieser Busabschluss eingeschaltet sein.

3.Der BT200 wird nun in einen Stecker nach dem anderen entlang des Kabels eingesteckt und die einzelnen Teilstücke werden überprüft.

Stecker mit eingeschaltetem Busabschluss (ON), unterbricht das Kabel

Stecker mit ausgeschaltetem Busabschluss (OFF)

Der BT200 überprüft dabei immer das Teilstück zwischen sich und dem Teststecker. Diese Technik findet nicht nur alle Fehler, sondern zeigt auch noch die Position des Fehlers im Kabel. Beachten Sie, dass es nicht genügt das Kabel als ganzes zu testen, da sich zwei Fehler entlang des Kabels aufheben können. Typischerweise ist dies bei der Verdrehung der Leiter A und B der Fall.

Installationskontrolle mit dem BT200

Der BT200 kann auch dazu verwendet werden, die PROFIBUS Installation zu kontrollieren:

Vorgehen:

1.Entferne den Master vom Bus

2.Verbinde das BT200 mit der Installation

3.Drücke [image] um das Gerät einzuschalten

4.Drücke Esc+OK gleichzeitig um den Spezialisten-Modus zu starten.

•Der Strangtest erlaubt die Kontrolle einer Installation.

•RS 485 Test erlaubt die Kontrolle der Signalpegel eines Gerätes.


NetTEST II

Der NetTEST II der Firma COMSOFT umfasst

•Mobiles Hand Held-Gerät

•Grafische LCD-Anzeige 124 * 64 Pixel mit Hintergrundbeleuchtung

•24-Tasten Keyboard

•Versorgung über austauschbares Akku-Pack für ca. 4 Stunden Betriebsdauer

•Kompletter Testkoffer mit Ladestation, Ersatzakku und diversen Adapterkabeln zum Anschluss an den PC und den PROFIBUS

Kabelkontrolle

Das Kabel ist verlegt und alle Teilnehmer sind unter Spannung.

1.Stecke den Master aus.

2.Stecke den NetTEST II ein (z.B. anstelle des Masters).

3.Messung ohne Busabschlüsse

4.Messung mit einem Busabschluss

5.Messung mit beiden Busabschlüssen

Installationskontrolle ohne Master

Anzeige der Live-List der DP-Slaves

Anzeige der Ident-Nummern der DP-Slaves

Signalqualität der DP-Slaves

Installationskontrolle mit Master

Menu

Baudratenerkennung und Signalqualität an laufenden Systemen

Aktuelle Slave Live-List

Aktuelle Master Live-List


ScopeWare zu ProfiTrace 2

Zum ProfiTrace ist als Option eine Software ScopeWare erhältlich. Diese Software erlaubt es einfach und übersichtlich die Pegel der einzelnen Stationen am Profibus zu messen. Ebenso ist ein Oszilloskop für die Darstellung der Signalverläufe eingebaut. Mit einem einfachen Mausklick auf die Adresse der Station in der Übersicht wird der Trigger auf die entsprechende Station eingestellt. Alle Einstellungen und Messungen sind auf das RS485 Signal optimiert.

Einsatz der ScopeWare

Einsatz der ScopeWare

Für Kabeltests, wenn z.B. noch kein Master in Betrieb ist, kann auch der auf derselben Hardware verfügbare ProfiCaptain eingesetzt werden.

Weitere Informationen zu ProfiTrace findet man unter

http://www.profitrace.ch


TopologyScan

Zum ProfiTrace 2 ist als Option eine zusätzliche Software verfügbar, die das automatische Erkennen der Topologie erlaubt.

Messung der Topology

Messung der Topology

Diese Software kann zusätzlich zu einem vorhandenen Master oder mit dem in derselben Software vorhandenen Master ProfiCaptain eingesetzt werden.

Die aktuelle Version kann nur mit den Bitraten 500kBit/s und 1.5 MBit/s eingesetzt werden. Ebenso ist die Erkennung der Topologie nur bei einer minimalen Distanz von 1 m zwischen den Geräten erfolgreich und es muss an einem physikalischen Ende des Kabels gemessen werden.


Synchrone - MBP Übertragungstechnik

MBP (Manchester Bus Powered) Übertragungstechnik nach IEC 61158-2 Typ 1 wird bei PROFIBUS-PA verwendet. Dies ist dasselbe Verfahren, das auch bei anderen Feldbussen wie z.B. dem Foundation Fieldbus (FF) verwendet wird. Trotzdem können PROFIBUS PA und FF Geräte nicht auf demselben Kabel eingesetzt werden. Beim MBP werden, wie bei RS 485 zweiadrige, geschirmte Kabel eingesetzt. Es bestehen aber wesentliche Unterschiede in der Installationstechnik.

•MBP arbeitet mit Stromsignalen auf dem Bus

•MBP arbeitet mit einer festen Bitrate von 31.25 kbit/s

•MBP kann Daten und Speisung für die Feldgeräte auf zwei Drähten übertragen

•MBP-IS kann auch in Explosionsgefährdeter Umgebung eingesetzt werden (EEx ia/ib IIC).

MBP Segmente werden mit DP/PA Kopplern oder Link Modulen erstellt. Jedes MBP Segment kann bis zu 32 Stationen mit einer Distanz von bis zu 1.9 km anschliessen. Bei explosionssicheren Installationen MBP-IS werden diese Werte jedoch stark reduziert.


Netzwerk Auslegung

Es gibt keine Master mit einem MBP Anschluss auf dem Markt. Alle Steuerungen, Leitsysteme oder Engineeringstationen verfügen in der Praxis nur über RS 485 Anschaltungen. Um nun Feldgeräte mit MBP Anschaltungen anzusteuern, braucht es somit Verbindungen zwischen RS 485 und MBP Segmenten.

Diese Verbindungen werden mit einem DP/PA Koppler oder DP/PA Link erstellt. Diese Module formen die Signale des RS 485 in die Signale nach MBP um. Gleichzeitig dienen diese Module auch als Einspeisung für die MBP Segmente und führen bei Bedarf eine Energiebegrenzung für den Explosionsschutz durch.

Netzwerkübergänge DP/PA Koppler und DP/PA Link

Netzwerkübergänge DP/PA Koppler und DP/PA Link

An einem MBP Segment können bis zu 32 Feldgeräte auf einem Kabel mit einer maximalen Länge von 1900 Meter angeschlossen werden. Diese Dimensionen werden je nach Kabel und Anforderungen des Explosionsschutzes stark reduziert.


DP/PA Segmentkoppler

Ein DP/PA Segmentkoppler erweitert in einem PROFIBUS Netzwerk ein RS 485 Segment mit einem MBP Segment. Es können auch mehrere oder mehrfache Koppler eingesetzt werden.

DP/PA Segmentkoppler werden wie Repeater eingesetzt. Sie haben keine eigene Busadresse und sind transparent für die DP Masterstation, die das PA Netzwerk kontrolliert. Wenn DP/PA Segmentkoppler eingesetzt werden, hat jedes PA Gerät eine eigene Stationsadresse, die im gesamten PROFIBUS Netzwerk eindeutig sein muss.

Der DP/PA Segmentkoppler verändert, im Gegensatz zu einem normalen Repeater, die Bitrate. Die Bitrate des RS 485 Segmentes wird auf die vorgegebene Bitrate des MBP Segmentes von 31.25 kBit/s reduziert. Dabei unterscheiden wir DP/PA Segmentkoppler die mit einer festen RS 485 Bitrate arbeiten (45.45 oder 93.75 kBit/s) von Kopplern die mit beliebigen Bitraten umgehen können.

Der Einsatz eines DP/PA Segmentkopplers

Der Einsatz eines DP/PA Segmentkopplers

Damit diese Koppler richtig arbeiten können müssen bei festen Bitraten bestimmte Busparameter angepasst werden:

Bitrate | 45,45 kBit/s | 93,75 kBit/s
TSL (in tBit) | 640 | 4095
Min TSDR (in tBit) | 11 | 22
Max TSDR (in tBit) | 400 | 100
TSET (in tBit) | 95 | 150

*) diese Parameterwerte gelten wenn Telegramme mit mehr als 64 Byte Nutzdaten übertragen werden sollen.

Hinweis:

Um Zeit zu gewinnen werden bei einigen Produkten nicht alle Telegramme durchgereicht. So wird zum Beispiel der Token nicht immer übertragen. Bei Kopplern mit sehr hohen Biraten auf der RS 485 Seite müssen die zyklischen Daten zwischengespeichert werden. Zusätzlich wird bei der Initialisierung die maximalen Antwortzeiten automatisch erhöht und der tieferen Bitrate auf der MBP Seite angepasst. Die Koppler sind also, obwohl in der Projektierung nicht sichtbar, nicht immer transparent wie man dies von einem Repeater erwarten würde.


DP/PA Link

Ein DP/PA Link verbindet ein PROFIBUS-DP Netzwerk mit einem PROFIBUS-PA Netzwerk. Es enstehen somit zwei verbundene Netzwerke. Das PROFIBUS PA Netzwerk kann dabei aus mehreren MBP Segmenten bestehen.

Ein DP/PA Link Modul verhält sich wie ein Slave auf dem RS 485 Segment und wie ein Master auf den MBP Segmenten. Somit verfügt das DP/PA Link Modul über eine Slave Stationsadresse auf dem RS 485 Segment und eine Master Stationsadresse auf den MBP Segmenten. Über diese DP-Slave Adresse können nun Steuerungen und Engineeringstationen auf die Feldgeräte an den MBP Segmenten zugreifen.

Die MBP Segmente bilden ein neues PROFIBUS Netzwerk. Die Adressen in diesem neuen PROFIBUS Netzwerk sind unabhängig von allen anderen Adressen in anderen Netzwerken, insbesondere auch dem PROFIBUS Netzwerk mit den RS485 Segmenten. Ebenso kann das RS 485 Segment mit einer völlig anderen und unabhängigen Bitrate (z.B. 12 Mbit/s) kommunizieren als die feste Bitrate vom MBP Segment. Ein typisches DP/PA Link Modul kann mit mehreren DP/PA Segmentkopplern ausgestattet werden um mehrere MBP Segmente zu treiben.

Einsatz des DP/PA Link

Einsatz des DP/PA Link


Stichleitungen

Unabhängig ob DP/PA Links oder DP/PA Segmentkoppler eingesetzt werden, bleiben die Regeln für die Installation eines MBP Segmentes identisch. Im Gegensatz zur RS 485 Installation kann bei MBP eine freie Topologie gewählt werden: linearer Bus, Stichleitungen oder Baumstruktur. Stichleitungen sind beim MBP eine übliche Montageart, da einzelne Feldgeräte mit Anschlussboxen angeschlossen werden.

Anschlussboxen im Einsatz (E+H)

Anschlussboxen im Einsatz (E+H)

Die Länge der Stichleitungen in einem MBP Netzwerk hängt von der Anzahl der Stichleitungen ab. Die Tabelle zeigt die empfohlenen Längen für die Stichleitungen. Beachten Sie die zusätzlichen Einschränkungen bei einer eigensicheren Installation.

Anzahl der Stichleitungen | Maximale Länge einer Stichleitung | Maximale Länge einer Stichleitung bei einer EExi Installation
25 to 32 | 1 m | 1 m
19 to 24 | 30 m | 30 m
15 to 18 | 60 m | 30 m
13 to 14 | 90 m | 30 m
1 to 12 | 120 m | 30 m

Feldgeräte können angeschlossen und entfernt werden, auch wenn der Bus unter Spannung steht, ohne Rückwirkung auf andere Feldgeräte. Dabei ist lediglich zu beachten, dass das Kabel nicht kurzgeschlossen wird. Bei einem Kurzschluss sind alle Feldgeräte an demselben Segment ohne Speisung.


Busabschluss

Der Busabschluss für MBP Segmente hat die gleiche Funktion wie bei RS 485 beschrieben: Es sollen Reflektionen vermieden werden. Der Busabschluss bei MBP ist aber völlig anders aufgebaut als der Busabschluss bei RS 485. Ein MBP Busabschluss besteht aus einem Widerstand und einer Kapazität in Serie geschaltet zwischen den beiden Leitern:

MBP Busabschluss

Dieser Abschluss muss nicht speziell mit Spannung versorgt werden, er ist passiv. Der Busabschluss muss nur an der Hauptleitung angebracht werden und nicht an den einzelnen Stichleitungen. Die meisten Segment-Koppler verfügen über eingebaute Busabschlüsse, die somit an einem Ende des MBP Segmentes sein sollten. Der zweite Busabschluss befindet sich somit am letzten oder am weitesten entfernten Feldgerät oder in der letzten Anschluss- oder Verzweigungsdose.

Kombination von Baumstruktur und Stichleitungen

Kombination von Baumstruktur und Stichleitungen


Kabel für PROFIBUS PA mit MBP

Die Norm IEC 61158-2 spezifiziert vier verschiedene Kabeltypen für den Einsatz in PROFIBUS PA mit MBP Segmenten (Siehe nachstehende Tabelle). MBP Typ A Kabel - nicht dasselbe wie RS 485 Typ A Kabel – ist ein Zweileiter geschirmtes und verseiltes Kabel mit den optimalsten Leistungsmerkmalen betreffend Signaldämpfung und Kabellänge.

 | Leiter Paare | Schirm | Leiter Querschnitt | Max Widerstands Belag | Max Totale Kabel Länge
Type A | Einzelne | Ja (90%) | 0.8 mm2 | 44 Ω/km | 1900 m
Type B | Mehrere | Über Alles | 0.32 mm2 | 112 Ω/km | 1200 m
Type C | Mehrere | Keinen | 0.13 mm2 | 264 Ω/km | 400 m
Type D | Mehrere | Keinen | 1.25 mm2 | 40 Ω/km | 200 m

Wenn Kabel vom Typ A verwendet werden, darf die gesamte Kabellänge, inklusive Stichleitungen, maximal 1,9 km betragen. Beim Einsatz in explosionsgefährdeter Umgebung und eigensicherem Aufbau werden die Leitungslängen stark reduziert.

Es wird empfohlen Kabel Typ A für neue Installationen zu verwenden. Es ist aber nützlich auch andere Kabel einsetzen zu können, insbesondere wenn bestehende Anlagen auf PROFIBUS PA umgebaut werden sollen.


M12 MBP Stecker

Für den Anschluss von Feldgeräten mit MBP Technologie werden auch M12 Stecker empfohlen Diese Stecker sind aber zur klaren Unterscheidung zu Kabel und Stecker für RS 485 A und nicht B codiert.

M12-5 A - codiert

nach IEC 60947-5-2 oder IEC 61076-2-101

Pin Nr. | Signal | Funktion |
1 | DATA-B | Daten Leitung Plus (B-Leiter) | Pflicht
3 | DATA-A | Daten Leitung Minus (A-Leiter) | Pflicht
4 | Schirm | Masseverbindung | Otional
Gewinde | Schirm | Masseverbindung | Empfohlen

Da die Busabschlüsse immer passiv sind, wird am Gerätestecker keine zusätzliche Speisung angebracht.


Betrachtungen zur Eigensicheren Installation

Die synchrone Übertragung gemäss IEC 61158-2 mit einer festgelegten Baudrate von 31,25 kBit/s kommt in der Prozessautomatisierung zum Einsatz. Sie erfüllt wichtige Anforderungen der Chemie und Petrochemie: Eigensicherheit und Busspeisung in Zweileitertechnik. Damit kann PROFIBUS auch in Ex-Bereichen eingesetzt werden. Möglichkeiten und Grenzen von PROFIBUS mit IEC 61158-2 Übertragungstechnik für den Einsatz in explosionsgefährdeten Bereichen sind durch das FISCO-Modell (Fieldbus Intrinsically Safe Concept) festgelegt. Das FISCO-Modell wurde in Deutschland von der Physikalisch Technischen Bundesanstalt (PTB) entwickelt und wird heute international als Basismodell für den Betrieb von Feldbussen in Ex-Bereichen anerkannt. Die Übertragung gemäss IEC 61158-2 und FISCO-Modell erfolgt nach folgenden Grundsätzen:

•Beim Senden eines Teilnehmers wird keine Leistung in den Bus eingespeist.

•In jedem Segment gibt es nur eine einspeisende Quelle, das Speisegerät.

•Jedes Feldgerät nimmt im eingeschwungenen Zustand einen konstanten Grundstrom auf.

•Die Feldgeräte wirken als passive Stromsenke.

•Der passive Leitungsabschluss erfolgt an beiden Enden der Bushauptleitung.

•Es sind Netze in Linien-, Baum- und Sterntopologie möglich.

Jeder Teilnehmer nimmt im eingeschwungenen Zustand einen Grundstrom von mindestens 10 mA auf. Dieser Strom dient bei Busspeisung der Energieversorgung des Feldgerätes. Die Kommunikationssignale werden vom sendenden Gerät durch Aufmodulieren von +/- 9 mA auf den Grundstrom erzeugt.

Ein verpolter Anschluss eines Feldgerätes in MBP Technik hat keine Folgen für die Funktionsfähigkeit des Busses, da diese Geräte üblicherweise mit einer automatischen Polaritätserkennung ausgerüstet sind.

Die Anzahl der an ein Segment anschliessbaren Teilnehmer ist auf max. 32 beschränkt. Sie wird jedoch durch die gewählte Zündschutzart und eine eventuelle Busspeisung weiter eingeschränkt. Bei eigensicheren Netzen ist sowohl die maximale Speisespannung als auch der maximale Speisestrom in engen Grenzen festgelegt. Aber auch bei nicht eigensicheren Netzen ist die Leistung des Speisegeräts begrenzt.

Mögliche Speiseleistungen bei MBP:

Typ | Einsatzgebiet | Speise- Spannung | maximaler Speisestrom | maximale Leistung | typische*) Teilnehmerzahl
I | EEx ia/ib IIC | 13,5 V | 110 mA | 1,8 W | 9
II | EEx ib IIC | 13,5 V | 110 mA | 1,8 W | 9
III | EEx ib IIB | 13,5 V | 250 mA | 4,2 W | 22
IV | Nicht eigensicher | 24 V | 500 mA | 12 W | 32

*) die Angabe bezieht sich auf eine Stromaufnahme von 10 mA je Gerät. Wenn ein Gerät mehr als 10 mA aufnimmt, so reduziert sich die Zahl der anzuschliessenden Geräte entsprechend.

Als Faustregel für die Bestimmung der maximalen Leitungslänge ist es ausreichend, den Strombedarf der anzuschliessenden Feldgeräte auszurechnen, ein Speisegerät aus der vorangehenden Tabelle 7 auszuwählen und die Leitungslänge für den gewählten Kabeltyp aus der nachstehenden Tabelle abzulesen. Der benötigte Strom (=S Strombedarf) ergibt sich aus der Summe der Geräte-Grundströme, der in dem jeweiligen Segment angeschlossenen Feldgeräte, sowie einer Reserve von 9 mA je Segment für den Ansprechstrom des FDE (Fault Disconnection Equipment). Das FDE verhindert, dass fehlerhafte Geräte den Bus dauerhaft blockieren können.

Maximaldistanzen bei MBP

Speisegerät |  | Typ I | Typ II | Typ III | Typ IV | Typ IV | Typ IV
Speisespannung | V | 13,5 | 13,5 | 13,5 | 24 | 24 | 24
Strombedarf S | mA | ≤ 110 | ≤ 110 | ≤ 250 | ≤ 110 | ≤ 250 | ≤ 500
Leitungslänge bei q=0,8 mm² (Referenz) | m | ≤ 900 | ≤ 900 | ≤ 400 | ≤ 1900 | ≤ 1300 | ≤ 650
Leitungslänge bei q=1,5 mm² | m | ≤ 1000 | ≤ 1500 | ≤ 500 | ≤ 1900 | ≤ 1900 | ≤ 1900

Der gemeinsame Betrieb von busgespeisten und fremdgespeisten Geräten ist zulässig. Zu beachten ist, dass auch fremdgespeiste Geräte einen Grundstrom über den Busanschluss aufnehmen, der bei der Berechnung des maximal verfügbaren Speisestroms entsprechend zu berücksichtigen ist.


Lichtwellenleiter (LWL) Übertragungstechnik

Für Anwendungen in stark störbehafteter Umgebung, zur Potentialtrennung oder zur Vergrösserung der Reichweite bei hohen Übertragungsgeschwindigkeiten können bei PROFIBUS Lichtwellenleiter (LWL) eingesetzt werden. Im Englischen werden solche Systeme als Fiber-Optics bezeichnet und mit FO abgekürzt.

Es stehen verschiedene Fasertypen mit unterschiedlichen charakteristischen Merkmalen bezüglich Reichweite, Preis und Einsatzgebiet als Lichtwellenleiter zur Verfügung. PROFIBUS Segmente in Lichtwellenleitertechnik werden entweder in Stern-, Bus- oder in Ringstruktur aufgebaut. Die LWL Komponenten einiger Hersteller ermöglichen auch den Aufbau redundanter LWL-Übertragungsstrecken mit automatischer Umschaltung auf den alternativen physikalischen Übertragungsweg im Fehlerfall.

Lichtwellenleiter haben verschiedene Vorteile gegenüber Kupferleitungen:

•Mit Glas-Fasern sind grössere Distanzen möglich als mit Kupferleitungen

•Die Übertragung über Lichtwellenleiter ist vollständig immun gegen elektromagnetische Störungen

•Die elektrische Isolation eliminiert Erdpotentialdifferenzen und Erdungs-Ausgleichsströme

•Lichtwellenleiter sind sehr leicht und praktisch immun gegen Korrosion

Im allgemeinen verwenden LWL Übertragungssysteme einen Übergang von RS 485 zu Licht der hier als LWL-Konverter bezeichnet wird.


Systemaufbau

Die asynchrone Datenübertragung mit Lichtwellenleitern ist beim PROFIBUS festgelegt im Abschnitt 23 der Norm IEC 61158-2.

Ein Lichtwellenleitersystem besteht immer aus einem Sender der aus dem elektrischen Signal das Licht erzeugt und einem Empfänger der aus dem Licht wieder in ein entsprechendes elektrisches Signal umgewandelt wird.

Signalübertragung mit Lichtwellenleiter

Signalübertragung mit Lichtwellenleiter

Das Licht kann unterschiedliche Wellenlängen aufweisen, was beim sichtbaren Licht der Farbe des Lichtes entspricht. Beim PROFIBUS sind die Wellenlängen 660nm, 850nm und 1300nm vorgesehen. 660nm ist ein rotes, sichtbares Licht und die anderen Wellenlängen sind unsichtbares Infrarot.

Grundsätzlich wird ein Bit mit dem Wert "0" (ZERO) als Licht (hell), und der Wert "1" (ONE) als kein Licht (dunkel) übertragen. Bei einzelnen Herstellern besteht aber auch die Möglichkeit diese Codierung umzudrehen (invertieren).

Für jede Wellenlänge sind unterschiedliche Pegel für hell und dunkel für die Sender und die Empfänger in der Norm festgelegt. Ein Lichtwellenleiter muss somit das Licht vom Sender zum Empfänger leiten, ohne dass die Dämpfung das vorgeschriebene Mass überschreitet.

Um nun zwei elektrische PROFIBUS Segmente über Lichtwellenleiter zu verbinden, braucht es mindestens zwei Lichtwellenleiter. Ein Leiter für den Hinweg und ein Leiter für den Rückweg.

Zwei Lichtwellenleiter für den PROFIBUS

Zwei Lichtwellenleiter für den PROFIBUS

Eine solche Lichtwellenleiter Strecke funktioniert wie ein Repeater, nur über eine grössere Distanz. Somit haben die einzelnen LWL-Konverter weder eine Adresse noch erscheinen diese in der Konfiguration des Systemes. Lediglich bei der Festlegung der Busparameter müssen diese eventuell berücksichtigt werden.

Im normalen Betriebsmodus werden auf einem LWL die Daten übertragen und auf den zweiten bleibt das "idle" Signal. Es gibt nun die Möglichkeit die korrekte Funktion der Verbindung mit einem "Echo" zu überprüfen.

Signalkontrolle mit einem Echo

Signalkontrolle mit einem Echo

Zu diesem Zweck werden die gesendeten Daten vom Empfänger über die zweite LWL wieder an den Sender zurückgesendet. Dieser vergleicht das empfangene mit dem gesendeten Signal und gibt bei Abweichungen eine Fehlermeldung. Bedingung für die korrekte Funktion ist natürlich, dass das Echo nicht zu lange verzögert werden darf. Diese Überprüfung der LWL Verbindung ist die Voraussetzung für den Aufbau eines redundanten Netzwerkes.


LWL-Konverter

LWL-Konverter sind von unterschiedlichen Herstellern verfügbar. Jeder optische Kanal an einem LWL-Konverter verlangt nach zwei LWL: eine für den Empfang und eine für das Senden der Daten. Einige LWL-Konverter verfügen über vier optische Anschlüsse (2 Eingänge und 2 Ausgänge) um zwei optische Segmente oder redundante Systeme anzuschliessen zu können.

Optical Link Modul (OLM)

Siemens

PSI-MOS

Phoenix Contact

OZD Profi

Hirschmann

Der LWL-Konverter ist im Ruhezustand passiv und sendet nur ein "idle" Signal mit dem Wert "1" (dunkel) über den LWL. Sobald ein elektrisches Signal erkannt wird, ist die Senderichtung bestimmt und aktiviert. Sobald 8 - 11 Bitzeiten keine Pegeländerung mehr auftritt wird wieder in den Ruhezustand gewechselt. Um also die Senderichtung richtig abschalten zu können, muss der LWL-Konverter - wie auch ein Repeater - die Dauer eines Bits und somit die Bitrate des PROFIBUS kennen. Es gibt dazu zwei Möglichkeiten:

1.Selbstlernende LWL-Konverter

2.Einstellbare LWL-Konverter

Der selbstlernende LWL-Konverter verstellt so lange die Bitrate, bis er mehrere Zeichen mit richtiger Parität erkennen kann. Dieser Vorgang dauert eine unbestimmte Zeit. Werden während einer definierten Zeit, z.B. von 100 ms keine korrekten Zeichen mehr erkannt, beginnt der Suchvorgang erneut. Ein selbstlernender LWL-Konverter braucht also eine Einstellzeit und kann die Konfiguration bei zu grossen Pausen auf dem Bus z.B. bei tiefen Bitraten wieder verlieren.

Der fest eingestellte LWL-Konverter ist sofort betriebsbereit, muss aber bei einer Anpassung der Bitrate neu eingestellt werden.

Einzelne Feldgeräte haben auch fest eingebaute LWL Anschlüsse. Dabei werden vor allen kostengünstige LWL aus Kunsstoff mit der Wellenlänge 660 nm zur Potentialtrennung eingesetzt. Für Feldgeräte ohne LWL Anschluss gibt es auch einfache Konverter direkt in einem D-Sub Stecker oder als einfacher LWL-Konverter (hier als Optisches Busterminal bezeichnet).

Optisches Bus Terminal (OBT) / Siemens

ET200 FO

Siemens

OZD ProfiPlug P21

Hirschmann

Deltron


Lichtwellenleiter

Die Eigenschaften eines Lichwellenleiters (LWL) werden durch das Material, die Wellenlänge des eingesetzten Lichtes und den konstruktiven Aufbau beeinflusst.

Kostengünstige Kunststoff-Fasern (polymere) sind auf Grund der hohen Licht-Dämpfung des Materials auf eine maximale Länge von 80 Metern beschränkt. Mit dem Einsatz von teueren Glas-Fasern können auch Distanzen bis zu mehreren Kilometern überbrückt werden.

Ein Lichtwellenleiter besteht aus drei Schichten: Ein Kern (Core), eine Übertragungsschicht (Cladding) und der schützende Mantel. Die Kennzahlen geben die Dimensionen des Kernes und des Lichtleiters an.

Als Vergleich zu diesen Dimensionen ist der Durchmesser eines menschlichen Haares nur ca. 75 µm.

Beim PROFIBUS werden die folgenden LWL eingesetzt:

LWL Fasertyp | Dimensionen | Wellenlänge | typische Dämpfung | maximale Einsatzdistanz
Kunststoff Faser | 980/1000 µm | 660 nm | 230 dB/km | bis zu 80 m
PCF/HCS Faser | 200/230 µm | 660 nm | 10 dB/km | bis zu 400 m
 |  | 850 nm | 8 dB/km | bis zu 800 m
Multimode Glasfaser | 50/125 µm | 850 nm | 2,5 dB/km | bis zu 2600 m
 |  | 1310 nm | 1 dB/km | bis zu 10 km
 | 62,5/125 µm | 850 nm | 3 dB/km | bis zu 3300m
 |  | 1310 nm | 1 dB/km | bis zu 10 km
Singlemode Glasfaser | 9/125 µm | 1300 nm |  | bis zu 15 km

HCS steht dabei für Hard Clad Fiber, ein Lichtwellenleiter mit Quarzglaskern und einem Mantel aus einem speziellen Kunststoff. PCF (Polymer Cladded Fiber) ist ein Synonym für den gleichen Aufbau, dessen Namen aber nicht rechtlich geschützt ist.

Weitere Informationen zu Lichtwellenleitern findet man auch im Wikipedia.


LWL Stecker

Der Anschluss der LWL verlangt nach speziellen Steckern.

In der Norm IEC 61158-2 wird dabei der Stecker BFOC/2.5 mit Bajonettverschluss als Standardstecker vorgeschlagen. Dieser Stecker wird oftmals auch als ST-Simplex bezeichnet.

Einige Hersteller haben auf ihren Geräten für unterschiedliche Licht-Wellenlängen auch bewusst unterschiedliche Stecker vorgesehen. Dies wird in der Norm auch ausdrücklich nicht ausgeschlossen.

LWL aus Kunststoff sind genügend dick und können somit vor Ort angeschlossen werden, während der Anschluss der dünnen Glasfasern etwas aufwändiger ist. Oftmals werden darum vorfabrizierte Kabel verwendet.


Netzwerkaufbau

Die optische Übertragung wird typischerweise zusammen mit RS 485 Leitungen zu einem Netzwerk zusammengebaut. Dazu werden Konverter für den Übergang zwischen LWL und elektrischen Signalen eingesetzt. Gleichzeitig wirken diese LWL-Konverter wie Repeater, indem sie ein Netzwerk in verschiedene Segmente aufteilen.

Wir wollen hier drei typische Beispiele etwas genauer betrachten:

1.Isolation eines Gerätes mit einer Potentialdifferenz oder grossen Störungen

2.Abdeckung einer grossen Einsatzfläche oder grossen Distanzen

3.Verteilnetz mit erhöhter Verfügbarkeit dank dem Einsatz von Redundanz


Isolation eines Gerätes

In diesem Anwendungsbeispiel wird der Motor über eine getrennte Einspeisung mit Energie versorgt, was zu Potentialdifferenzen bei der Masse führen kann, oder die Ansteuerung des Motors ist nicht sauber und verursacht EMV Störungen mit grosser Energie.

Wir können die Wirkung dieser Probleme reduzieren, wenn wir eine optische Übertragungsstrecke einsetzen. Oftmals genügt dazu eine kostengünstige Kunststoff-Faser. LWL Konverter können direkt auf das Feldgerät aufgesteckt werden.

Isolation von Störungen

Isolation von Störungen


Grosse Distanzen

Wenn in einer Anwendung eine grössere Distanz überbrückt werden muss, kann ein optisches Segment eingesetzt werden. Die eingesetzte Glasfaeser und die LWL Konverter richten sich nach der Distanz.

Überbrücken einer grossen Distanz

Überbrücken einer grossen Distanz

Wenn die Anlage eine grosse Fläche abdeckt, können mehrere solche Übertragungsstrecken miteinander kombiniert werden. Eine typische Konstruktion ist ein sternförmiger Aufbau. Dabei wird es möglich, jede Teilstrecke je nach Bedarf mit einer anderen Technologie aus zu führen.

Sternförmiges Netzwerk

Bei einer Anlage mit mehreren Stockwerken oder Schaltschränken bietet es sich an, die LWL Strecken zu kaskadieren und eine Art "Backbone" (=Rückgrat) des PROFIBUS mit optischer Übertragungsstrecken zu realisieren.

Einsatz eines LWL-Backbone

Einsatz eines LWL-Backbone

Schlussendlich kann man zusammenfassend festhalten, dass mit der Hilfe der optischen LWL Übertragungstechnik jede beliebige Fläche oder Distanz mit dem PROFIBUS abgedeckt werden kann, da die LWL Strecken oftmals mehrfach hintereinander geschaltet werden dürfen.


Erhöhte Verfügbarkeit

Wenn in einer Anlage die Gefahr besteht, dass die doch sehr langen LWL Leiter unterbrochen oder sogar zerstört werden können, besteht die Möglichkeit einen redundanten Ring auf zu bauen.

Medien-Redundanz mit LWL

Medien-Redundanz mit LWL

Damit die Verfügbarkeit mit einem redundanten Ring erhöht werden kann, müssen ein paar Bedingungen eingehalten werden:

1.Jede einzelne Verbindung muss auf Ihre Funktion dauernd überprüft werden (vergleiche das Echo).

2.Ein Ausfall einer Verbindung muss klar signalisiert werden. Die LWL Konverter verfügen dazu oftmals über Relaiskontakte. Ohne Auswertung dieser Signale ist eine Redundanz sinnlos!

3.Es müssen Prozesse für die Reparatur einer fehlerhaften Verbindung definiert sein.


Zeit-Berechnungen

Die minimale Antwortzeit (Slot-Time) muss den Dimensionen des optischen Netzwerkes angepasst werden:

TSL ≥ a + b x L + c x N

a, b, c = Parameter siehe nachstehende Tabellen

L = Netzausdehnung in km

N = Anzahl der LWL-Konverter

Linien-, Baum-, Sternstruktur:

Bitrate | a | b | c
12 MBit/s | 811 | 120 | 2
6 MBit/s | 461 | 60 | 2
3 MBit/s | 261 | 30 | 2
1,5 MBit/s | 161 | 15 | 2
500 kBit/s | 111 | 5 | 2
187,5 kBit/s | 71 | 1,875 | 2
93,75 kBit/s | 71 | 0,9375 | 2
45,45 kBit/s | 411 | 0,4545 | 2
19,2 kBit/s | 71 | 0,192 | 2
9,6 kBit/s | 71 | 0,096 | 2

Ringstruktur (Redundant):

Bitrate | a | b | c
12 MBit/s | 1651 | 240 | 44
6 MBit/s | 951 | 120 | 44
3 MBit/s | 551 | 60 | 44
1,5 MBit/s | 351 | 30 | 44
500 kBit/s | 251 | 10 | 44
187,5 kBit/s | 171 | 3,75 | 44
93,75 kBit/s | 171 | 1,875 | 44
45,45 kBit/s | 851 | 0,909 | 44
19,2 kBit/s | 171 | 0,384 | 44
9,6 kBit/s | 171 | 0,192 | 44

Beispiel: wir haben ein LWL Netzwerk mit 1,5 MBit/s, 3 LWL Konverter in einer Linie verbunden mit Glasfasern von je 2 km Länge. Somit haben wir

L = 4 km; N = 3; a = 161; b = 15; c = 2

TSL = 161 + 15 x 4 + 2 x 3 = 227 tBit

Der Defaultwert für 1,5 MBit/s ist 300 tBit und kann somit unverändert übernommen werden.

Diese Tabellen sind als Hinweis zu verstehen. Für die genauen Angaben sind die Tabellen in den Handbüchern des jeweiligen Herstellers massgebend.


Pegelkontrolle

Für die maximalen LWL Längen ist das optische Budget massgebend. Dazu gelten die folgenden Verhältnisse:

Optisches Budget = minimale Sendeleistung – Empfindlichkeit – Reserve

Länge x Dämpfung < Optisches Budget

Dies kann in einem Datenblatt dann so aussehen:

Aus dem Datenblatt: DOT 6332 S; ProfiBus-LWL-Umwandler; 9polig ST für Glasfaser; 850nm; www.deltron.ch

Aus dem Datenblatt:
DOT 6332 S; ProfiBus-LWL-Umwandler; 9polig
ST für Glasfaser; 850nm; www.deltron.ch

Die Pegel für verschiedene Lichtwellenlängen und LWL Kombinationen sind in der IEC 61158-2 Norm festgelegt. Die Längenangaben aus der Tabelle sind mit solchen typischen Angaben zusammengestellt.

Bei der Inbetriebnahme sind nun die erreichten Pegel zu überprüfen. Dazu haben einzelne LWL Konverter eine Anzeige mit unterschiedlichen LEDs oder es wird ein Kontrollsignal ausgegeben. Dieses Kontrollsignal erlaubt die Beurteilung der empfangenen Signalpegel und somit die Qualität der Installation.

Beurteilung der gemessenen Signalpegel (Quelle: Siemens OLM Handbuch)

Beurteilung der gemessenen Signalpegel
(Quelle: Siemens OLM Handbuch)


Elektromagnetische Störungen (EMV)

Es gibt grundsätzlich drei verschiedene Mechanismen, wie Störungen in ein Kabel eindringen können:

•Einkopplung mit einem ohmschen Widerstand
•Einkopplung mit einem elektrischen Feld
•Einkopplung mit einem magnetischen Feld

Wenn ein Leiter mit einer Störquelle elektrisch verbunden ist, kann dies die Signalübertragung stören. Man spricht von einer ohmschen Kopplung. Je grösser der Einkopplungswiderstand desto kleiner die Einkopplung.

Wenn ein Leiter genügend nahe bei einer elektrischen Spannungsquelle liegt, kann das elektrische Feld ein störendes Signal auf den Signalleiter übertragen. Man spricht von einer kapazitiven Kopplung. Je weiter der Signalleiter von der Störquelle entfernt ist, desto kleiner wird die Einkopplung. Durch elektrisch leitende und geeerdete Flächen - einem Schirm - können elektrische Felder abgeleitet und die Einkopplung reduziert werden.

Wenn der Leiter Schlaufen bildet, kann durch ein wechselndes Magnetfeld eine Störung induziert werden. Je kleiner die Fläche der Schlaufe, desto kleiner wird die eingekoppelte Störspannung.

Auf Grund dieser Eigenschaften der Einkopplung von Störungen können konstruktive und planerische Massnahmen zur Reduktion dieser Störungen getroffen werden.


Konstruktive Massnahmen

Beim PROFIBUS müssen die Busanschaltungen von der Prozessspeisung galvanisch getrennt sein. Dazu werden bei RS485 optische Übertrager eingesetzt. Damit soll eine ohmsche Einkopplung von störenden Signalen aus dem Prozess grundsätzlich vermieden werden.

Beim PROFIBUS werden alle Signale symetrisch auf zwei Leitern geführt. Es ist darauf zu achten, dass diese beiden Leiter immer nahe beieinander liegen, damit eingekoppelte Störungen sich als Gleichtaktstörung - auf beiden Leitern gleich goss - und nicht als Differenz einkoppeln können.

Zur Verstärkung dieser Schutzwirkung werden die beiden Leiter im PROFIBUS Kabel verseilt, so dass diese zwingend nahe beieinander liegen, sich abwechseln näher bei einer kapazitiven Störquelle befinden und die Schlaufen kleine Flächen aufweisen die sich bei der Einkopplungsrichtung abwechseln.

Für RS485 Übertragung wird beim PROFIBUS zwingend ein geschirmtes Kabel vorbeschrieben. Dieser Schirm umfasst ein Drahtgeflecht um auch grössere Energien ableiten zu können und eine Folie, die auch Störungen mit hohen Frequenzen effektiv abschirmt.

Ein Schirm hat nur eine Wirkung, wenn er grossflächig und überall - an allen möglichen Anschlüssen - mit der Schutzerde verbunden wird.

Die für den PROFIBUS vorgesehenen Stecker haben die entsprechenden konstruktiven Vorbereitungen, damit dies auch richtig umgesetzt werden kann.

Die Spezifikationen der Kabel für RS 485 – PROFIBUS DP/FMS - sind unterschiedlich von den Kabeln für MBP – PROFIBUS - PA.


Planung der Abstände

In der Praxis hat es sich bewährt, Kabel von unterschiedlichen Signalen in einer Installation auch örtlich zu trennen. Eine einfache Einteilung in Kategorien ist dabei hilfreich:

Kategorie I: Signalkabel

⇒Feldbus und LAN Kabel (z.B. PROFIBUS, Asi, Ethernet etc…)

⇒Geschirmte Kabel für digitale Daten (z.B. Drucker, RS232 etc...)

⇒Geschirmte Kabel für analoge und digitale Kleinspannungssignale (<25V)

⇒Kleinspannungsversorgungen (<60V)

⇒Koaxiale Signalkabel

Kategorie II: Niederspannung

⇒Kabel mit Gleichstrom Spannungen im Bereich >60V und <400 V

⇒Kabel mit Wechselstrom Spannungen im Bereich >25V und <400 V

Kategorie III: Hochspannung und Hochfrequenz

⇒Kabel mit Gleich- und Wechselstrom im Spannungsbereich von >400 V

⇒Telephonkabel !

Kategorie IV: Freileitungen

⇒Kabel der Kategorie I bis II wo die Gefahr von Überspannungen wie z.B. Blitzschlag besteht (z.B. Verbindungen zwischen verschiedenen Gebäuden)

Kabel derselben Kategorie können zusammen verlegt werden oder direkt nebeneinander in denselben Kabelkanal verlegt werden. Kabel unterschiedlicher Kategorie müssen einen minimalen Abstand gemäss nachstehender Abbildung einhalten und sollten idealerweise in getrennten metallischen Kanälen oder Abtrennungen geführt werden. Wenn Kabel unterschiedlicher Kategorie sich kreuzen, sollte dies immer rechtwinklig geschehen. Auf keinen Fall sollten die Kabel parallel geführt werden.

Abstände und Distanzen zwischen Kabel unterschiedlicher Kategorien

Abstände und Distanzen zwischen Kabel unterschiedlicher Kategorien


Einsatz von Kabelkanälen

Wenn Kabel in gemeinsamen Kabelkanälen verlegt werden, müssen die Distanzen eingehalten werden.

Aufgeteilter Kabelkanal

Wenn der metallische Kabelkanal in unterschiedliche Teile aufgeteilt ist, können die Kabel direkt nebeneinander verlegt werden. Dabei muss aber ein Kabelkanal pro Kategorie von Leitungen verwendet werden. Wenn nur ein einziger Kabelkanal zur Verfügung steht, müssen die minimalen Distanzen eingehalten oder metallische Trennwände eingesetzt werden. Diese Trennwände müssen elektrisch niederohmig und niederinduktiv leitend mit dem Kabelkanal verbunden sein.

Die metallenen Kabelkanäle sollen mit dem Erdungs- und Potentialausgleichsystem des Gebäudes verbunden sein. Um dies zu erreichen müssen die einzelnen Teile des Kabelkanals miteinander und mit dem Gebäude so oft als möglich verbunden sein. Dehnungsnuten und isolierte Teile müssen mit Masseleitungen überbrückt werden. Die Masseleitungen zwischen den einzelnen Kabelkanalteilen müsse gegen Korrosion geschützt sein.


Verlegung in einem Schaltschrank

Für die Kabelverlegung in einem Schaltschrank gelten die folgenden Erweiterungen: Alle Schirme der eintretenden Kabel müssen an Masse gelegt werden, so nahe des Eintretens in den Schrank als möglich. Die Klemmen müssen einen grossflächigen Anschluss des Kabelschirmes an die Masse des Schrankes sicherstellen.

Erdung der Kabel beim Eintritt in einen Schaltschrank

Erdung der Kabel beim Eintritt in einen Schaltschrank

Parallele Verlegung von internen Leitungen und eingeführten Kabel bis zu ihrer Massefestlegung sollen vermieden werden, sogar für Kabel derselben Kategorie. Für einen guten Kontakt sind beschichtete oder galvanisch stabilisierte Masseschienen ideal. Bemalte Flächen sind bei der Masseauflegung zu vermeiden. Wenn die Isolation vom Kabel entfernt wird ist sicherzustellen, dass der Schirm nicht verletzt wird.

Wenn nicht genügend Platz für die minimalen Distanzen ist, sollen die Kabel unterschiedlicher Kategorie durch metallische Kanäle getrennt werden.

Wenn PROFIBUS Geräte innerhalb von einem Schrank mit einer Bitrate über 1.5 Mbit/s verbunden werden wird eine minimal Kabellänge von 1 m empfohlen. Dies bedeutet dass eventuelle Schlaufen verlegt werden müssen.


Potentialausgleich

Damit der Schirm wirkungsvoll hochfrequente Störungen abschirmen kann, muss er an beiden Enden geerdet sein. In speziellen Installationen können Potentialdifferenzen zwischen unterschiedlichen Orten einer Installation auftreten und somit zu Potentialausgleichströmen entlang eines Kabelschirms. Solche Ausgleichströme auf einem Kabelschirm sind absolut zu vermeiden, denn diese können zu Störungseinkopplungen führen. Erdungsprobleme treten auf wenn:

a)das Buskabel eine grosse Fläche abdeckt oder eine grosse Distanz überbrückt

b)die elektrische Energie aus verschiedenen Quellen (z.B. mehrere Substationen) kommt

c)grosse elektrische Leistungen (Schweissroboter, grosse Antriebe etc.) konsumiert werden

Eine Lösung ist ein zusätzliches Potentialausgleichskabel zwischen den einzelnen Potentialen zu installieren. Die Potentialausgleichsleitung sollte auch grosse Ströme ableiten können (ein Querschnitt von 16 mm2 ist nicht unüblich). Litzenkabel mit einer guten Oberfläche sollten eingesetzt werden, damit auch hochfrequente Ströme effizient abgeleitet werden können.

Installation einer Potentialausgleichsleitung

Installation einer Potentialausgleichsleitung

Potentialausgleichsleitungen sollen parallel und möglichst nahe beim Buskabel verlegt werden, damit die Fläche zwischen den beiden Kabeln möglichst klein ist.

WICHTIG: Der Schirm eines Buskabels darf NIE für den Potentialausgleich verwendet werden!

PE Verkabelung (5-Leiter = TN-S)

PE Verkabelung (5-Leiter = TN-S)

Bei einer PE Verkabelung (5-Leiter = TN-S) sind der Nullleiter (N) und die Schutzerde (PE) konsequent getrennt. Auch bei unsymmetrischer Last fliesst kein Strom auf der Erde und somit bleibt auch der Schirm des PROFIBUS Kabels Stromfrei. Mit einer Stromzange kann dies einfach kontrolliert werden. Der Strom auf dem Schirm sollte den Wert von ein paar Milliampere nicht übersteigen. In der Praxis wird ein Strom auf dem Schirm von mehr als 30 mA als problematisch betrachtet. Ein Strom von mehr als 300 mA kann das Kabel unzulässig erwärmen und die Ursache für Brandschäden sein.

PEN Verkabelung (4-Leiter = TN-C)

PEN Verkabelung (4-Leiter = TN-C)

Bei einer PEN Verkabelung (4-Leiter = TN-C) fliesst der Ausgleichstrom I1 bei unsymmetrischer Last auf dem gemeinsamen PEN Leiter. Er sucht dabei den Weg des geringsten Widerstandes. Ein Teil des Stromes I3 kann also auch durch die Erdung abgeleitet werden. Dabei kann es sein, dass ein nicht unwesentlicher Teil I2 auch über den Schirm des PROFIBUS abgeleitet wird. Dies kann mit einer einfachen Stromzange festgestellt werden.

Als Abhilfe wird empfohlen einen Teil dieser Verbindung mit einer LWL auszuführen oder mit einem Repeater eine galvanische Isolation des Schirms zu realisieren.

Als Alternative wird in den Normen insbesondere bei explosionssicheren Installationen auch eine kapazitive Erdung vorgeschlagen. Der Schirm wird dabei mit einer RC Kombination angeschlossen. Die kleine Kapazität (< 10 nF) leitet die hochfrequenten Störungen ab, wirkt aber hochohmig für die Netzfrequenz (50 oder 60Hz) und verhindert somit Ausgleichströme über den Schirm. Ein parallelgechalteter hochohmiger Widerstand verhindert, dass sich die Kapazität mit einer Gleichspannung aufladen kann. Diese kapazitive Erdung kann an einem oder allen Enden eines PROFIBUS Kabels ausgeführt werden. Mit der Stromzange kann auch hier die richtige Funktion kontrolliert werden.

Kapazitive Erdung des Schirms

Kapazitive Erdung des Schirms


FDL: Datenübertragung

Die einheitliche Datenübertragung wird beim PROFIBUS durch die Fieldbus Data Link (FDL) Layer Funktionen übernommen. Diese Funktionen sind für alle Profile des PROFIBUS identisch.

Wir können die folgenden Funktionen unterscheiden:

- Medium Access and Control (MAC)

-Fieldbus Link Control (FLC)

- Fieldbus Management (FMA)

Jede dieser Funktionsgruppen stellt bestimmte Dienste zur Verfügung und wird mit bestimmten Funktionen realisiert.

Wir können Dienste für die Datenübertragung und Verwaltungsdienste (Management) unterscheiden.


Dienste für die Datenübertragung

Der PROFIBUS bietet die folgenden Dienste für die Datenübertragung an:

Dienst | Funktion | DP-V0 | DP-V1 | DP-V2 | FMS
SDN | Send Data with No acknowledge | X | X | X | X
SDA | Send Data with Acknowledge | (X) |  |  | X
SRD | Send and Request Data | X | X | X | X
CSRD | Cyclic Send and Request Data |  |  |  | X
MSRD | Send and Request Data with Multicast Reply |  |  | X |
CS | Clock Synchronisation |  | X | X |

Diese Dienste werden immer von einem Teilnehmer als „Initiator“ angefordert und von einem anderen Teilnehmer als „Responder“ erbracht. Nur ein Master mit Sendeberechtigung kann einen in der Tabelle aufgelisteten Dienst anfordern, jedoch können alle Dienste von Master oder Slave Stationen erbracht werden.

Ausser SDN und CS basieren die Dienste auf einer echten Zweierverbindung zwischen dem Initiator und einem Responder, in der auf alle Dienste mit einer Quittung ("Acknowledge") oder einer Antwort ("Response") reagiert werden muss. Dieses für das Echtzeitverhalten des Bussystems wichtige Verhalten wird mit "Immediate Response" (unmittelbare Antwort) bezeichnet.

Dienstanforderungen werden als Request (req) bezeichnet. Die Bestätigung eines Dienstaufrufes ist ein Confirm (con). Ein Dienst wird als Indication (ind) angezeigt und optional als Response (res) quittiert.


SDN: Send Data with No acknowledge

Der SDN-Dienst wird vorwiegend für so genannte "Broadcast"- oder "Multicast"-Nachrichten von einem Initiator an mehrere andere Busstationen verwendet und bleibt deshalb unquittiert. Er wird für Synchronisationsaufgaben und Zustandsmeldungen wie zum Beispiel das Global Control eingesetzt.

SDN: Send Data with No acknowledge

SDN: Send Data with No acknowledge

Die Dienstbestätigung (con) wird somit lokal erzeugt und ist nur eine Bestätigung, dass das Telegramm gesendet wurde.


SDA: Send Data with Acknowledge

SDA ist ein elementarer Dienst, mit dem ein Initiator eine Nachricht an einen anderen Teilnehmer abschicken kann und dafür unmittelbar eine Empfangsbestätigung (SC = Short Confirmation) erhält. Da der Kommunikationspartner nicht direkt mit Daten antworten kann, wird dieser Dienst vor allem zwischen aktiven Master eingesetzt.

SDA: Send Data with Acknowledge

SDA: Send Data with Acknowledge

Die Confirmation (con) ist hier die Bestätigung, dass der Empfang des Telegramms vom Empfänger bestätigt wurde. Der Inhalt des Telegramms wurde nicht zwingend schon gelesen und interpretiert.


SRD: Send and Request Data

SRD ist ein Dienst, bei dem Daten an einen passiven Responder gesendet und gleichzeitig von ihm Daten angefordert werden. Diese werden dann unmittelbar in dessen Antwort übertragen. Damit diese Antwort sofort gesendet werden kann, muss der Responder diese Daten vorgängig bereitstellen. Somit muss nicht zwingend ein Zusammenhang zwischen den Inhalten der gesendeten und den empfangen Daten bestehen. Mit dem SRD-Dienst kann man Daten anfordern, indem man als Sendedaten ein Nullelement ("leere Nachricht") schickt.

SRD: Send and Request Data

SRD: Send and Request Data

Die Dienstbestätigung (con) kann somit Daten vom Responder enthalten.


CSRD: Cyclic Send and Request Data

In ersten Definitionen des PROFIBUS war noch ein zyklischer Dienst definiert. Dieser Dienst wird heute aber praktisch nicht mehr eingesetzt. Das Kommunikationssystem als Initiator pollt hier selbstständig mit einem SRD Dienst einen Responder. Dies erzeugt grosse Buslasten die schwer berechnet werden können.


MSRD: Send Request Data with Multicast Reply

Die Funktion des MSRD Dienstes ist vergleichbar mit dem SDR Dienst. Bei den Slave wird zwischen Publisher (Veröffentlicher) und Subscriber (Abonnenten) unterschieden. Ein Master sendet ein MSRD Telegramm an den Publisher. Der Publisher "veröffentlicht" seine vorher bereitgelegte Antwort mit einem Broadcast Telegramm, so dass alle anderen Stationen diese Antwort empfangen können. Ein oder mehrere Slave können nun dieses Telegramm abonnieren (engl. subscribe) und die darin enthaltenen Daten übernehmen.

MSRD: Send and Request Data with Multicast Reply

MSRD: Send and Request Data with Multicast Reply

Der MSRD Dienst ist Teil der DP-V2 Protokolle und ist somit nur optional. Ein Feldgerät kann auch nur die Publisher oder nur die Subscriber Funktion oder beides gleichzeitig unterstützen. Dieser Dienst wird im direkten Datenaustausch eingesetzt.


CS: Clock Synchronisation

In der PROFIBUS DP-V2 Version können auch Uhren in einem PROFIBUS Netzwerk synchronisiert werden. Dazu wird ein Teilnehmer als Zeit-Master bestimmt, der dann die Zeit in seinem Netzwerk verteilt. Dieser Zeit-Master muss ein Master sein und wird als Klasse 3 Master bezeichnet.

Uhrensynchronisation

Der Zeit-Master liest seine aktuelle Zeit und startet einen internen Timer. Sobald das Time Event (TE) Telegramm (siehe FC: Function Code Request) mit der aufgelesenen Zeit gesendet wird, wird diese interne Zeit gestoppt. In einem Nachfolgetelegramm Clock Value (CV) wird die Zeitdifferenz zwischen gelesener Zeit und gesendeter Zeit übertragen.

Der Empfänger startet beim Empfangen des TE Telegramms auch einen internen Timer. Der Wert dieses internen Timer plus den aktuellen Wert aus dem TE Telegramm und dem Korrekturwert aus dem Clock Value (CV) Telegramm gibt die einzustellende Zeit.

Telegrammsequenz bei der Uhrensynchronisation

Telegrammsequenz bei der Uhrensynchronisation

Dieser Dienst der Synchronisation der Uhren verlangt zwingend eine Unterstützung durch die Hardware zum Starten und Stoppen der Timer. Nicht alle auf dem Markt verfügbaren Bausteine (ASIC) können diesen Dienst unterstützen.


FMA: Management Dienste

Das FMA1/2 (Fieldbus Management der Schichten 1 und 2) stellt die Funktionen zur Verfügung, die zur Verwaltung der Schichten 1 und 2 notwendig sind.

Die Dienste können in zwei Gruppen unterteilt werden: lokale Dienste, die die eigene Station beeinflussen, und Dienste, die andere, am Netz hängende Teilnehmer betreffen. In beiden Gruppen gibt es zwingend vorgeschriebene und optionale Dienste.

Die meisten Dienste erzeugen nach der Ausführung eine Antwort, die dem Benutzer über das FMA1/2 anzeigt, ob der Dienst ausgeführt werden konnte oder ob ein Fehler auftrat.


Lokale Dienste

Reset: Das FMA7 kann mit diesem Dienst die Schichten 1 und 2 rücksetzen. Nachdem das FMA1/2 das Reset erhalten hat, generiert es für beide Schichten das entsprechende Reset-Signal, übergibt es über die betreffende Schnittstelle und erwartet eine Bestätigung der angesprochenen Schichten.

Set Value: Mit diesem optionalen Dienst lassen sich Variablen in beiden Schichten bestimmte Werte zuweisen. Im Befehl werden die Variablennamen und die gewünschten Werte übergeben. Das FMA1/2 erzeugt entsprechend ein FDL-und/oder ein PHY-SET-VALUE.request und übermittelt dieses den Schicht(en).

Read Value: Mit diesem optionalen Dienst können Variablen in beiden Schichten ausgelesen werden. Im Befehl werden die Variablennamen übergeben, worauf das FMA1/2 ein FDL- und/oder ein PHY-READ-VALUE.request erzeugt und dieses den Schichten übermittelt.

Event: Mit diesem Dienst wird der Anwender über Ereignisse oder Fehler in den Schichten informiert. Wenn in einer der beiden Schichten eine Fehleranzeige PHY-EVENT.indication oder FDL-FAULT.indication aufgetreten ist, wird mit FMA1/2 nach Erhalt des Signals ein FMA1/2-EVENT.indication erzeugt und an das FMA7 weitergeleitet.

Teilnehmer | Name des Fehlers | Beschreibung
Master | Duplicate address | Die eingestellte Stationsadresse gibt schon Antwort auf dem Bus.
Master | Faulty transceiver | Das gesendete Signal kann nicht gleichzeitig empfangen werden.
Master / Slave | Time_out | Kein Busaktivität festgestellt.
Master / Slave | Not_syn | Keine SYN Pause im vorgeschriebenen Intervall gefunden.
Master | Out_of_ring | Dieser Master bekommt nicht mehr den Token ohne eigenen Wunsch.
Master | GAP_event | Aktive Station wurde neu erkannt oder ging verloren.

(R)SAP Activate: Mit Hilfe des optionalen Dienstes "SAP Activate" kann ein Benutzer einen SAP konfigurieren und aktivieren. Über SAPs (SAP: Service Access Point, Dienstzugangspunkt) findet die gesamte Kommunikation statt. Sie enthalten den Rahmen erlaubter Nachrichten und Nachrichtenformationen (erlaubte Zieladressen, erlaubte Datenlängen, ...). Erreicht eine Nachricht einen SAP, dann wird jedesmal überprüft, ob sie den für den SAP festgelegten Bedingungen entspricht. Ist dies der Fall, wird die Nachricht weitergereicht, ansonsten eine Fehlermeldung erzeugt. Die Kommunikation über SAPs scheint auf den ersten Blick etwas umständlich, doch ermöglicht sie, Nachrichten und Nachrichtenstrecken zu kontrollieren und potentielle Fehlverbindungen zu verhindem. Für die Responderfunktionen bei den Reply-Diensten (SRD, CSRD) muss mit dem Dienst "RSAP Activate" ein RSAP eingerichtet werden.

(R)SAP Deactivate: Dieser Dienst bildet das Komplement zu "(R)SAP Activate". Er ermöglicht dem FMA 1/2-User, einen (R)SAP und somit alle zu diesem (R)SAP gehörenden Verbindungen zu deaktivieren.


Stationsübergreifende Dienste

Ident: Mit diesem optionalen Dienst hat der Benutzer des FMA 1/2 die Möglichkeit, Versionsdaten von Hard- und Software zu erhalten. Als aktiver Teilnehmer kann man alle am Netz hängenden Stationen nach ihrer Identität fragen, als passiver Teilnehmer beschränkt sich die Abfrage auf die eigene Station. Dieser Dienst wird in den heutigen Geräten selten unterstützt.

LSAP Status: Dieser optionale Dienst kann nur von aktiven Teilnehmern benutzt werden und ermöglicht, sich über die Konfiguration eines SAPs für FDL-Dienste (z. B. SDA, SRD, ...) einer anderen Station am Netz zu informieren.

Live-List: Der Benutzer erhält mit diesem optionalen Dienst eine Liste aller am Bus erreichbaren Teilnehmer. Die Erstellung dieser Liste erfolgt in der FDL-Schicht, indem sie für jede mögliche Teilnehmeradresse einen request-FDL-Status with Reply erzeugt. Dadurch, dass alle möglichen Adressen abgefragt werden, erhält man im Gegensatz zur Teilnehmerlistenerstellung mit LAS (List of Active Stations) eine vollständige, aktive und passive Teilnehmer umfassende Teilnehmerliste.


FDL Parameter

In der Tabelle sind die wichtigsten FDL Parameter zusammengefasst, die mit den Managementdiensten gelesen und geschrieben werden können.

Die Zeiten werden konsequent mit der Übertragungsdauer eines Bits in tBit angegeben. Die Protokollabhängigen Parameter werden damit unabhängig von der Bitrate.

Name | M | S | Bedeutung | Bereich
TS | x | x | FDL Adresse dieses Teilnehmers | 0 – 126
Baud rate | x | x | Eingestellte Bitrate | 9,6; 19,2; 31,25; 45,45; 93,75; 187,5; 500; 1500, 3000; 6000; 12000 kbit/s
Medium_red | x | x | Hat dieser Teilnehmer einen redundanten Busanschluss? | single; redundant
HW Release | x | x | Versionsnummer der HW | 0 bis 32 lesbare Zeichen
SW Release | x | x | Versionsnummer der SW | 0 bis 32 lesbare Zeichen
TSL | x | x | Slot-Time, in diesem "Zeitschlitz" erwartet der Initiator - ein Master - vom Responder eine Antwort | 52 bis 216-1 tBit
min TSDR | x | x | minimale Antwortzeit | 20 bis 216-1 tBit
max TSDR | x |  | maximale Antwortzeit (maximalwert aller Stationen im Netzwerk) | 20 bis 216-1 tBit
TQUI | x |  | Wie lange braucht es bis nach dem Übertragen eines Signals wieder der Ruhepegel herrscht. | 0 bis 28-1 tBit
TSET | x |  | Wie lange muss die Senderichtung eingeschaltet sein, bevor mit den Daten begonnen werden kann. | 20 bis 28-1 tBit
TTR | x |  | Geplante Token Zirkulationszeit | 20 bis 224-1 tBit
G | x |  | GAP Update Faktor | 1 bis 100
in_ring_desired | x |  | Hier gibt der Master an ob er den Token will oder nicht. | true; false
HSA | x |  | Höchste projektierte Teilnehmeradresse. Nur bis zu dieser Adresse wird der GAP Update durchgeführt. | 2 bis 126
max_retry_limit | x |  | Anzahl der Telegrammwiederholungen wenn keine Antwort kommt. | 1 bis 8
Frame_sent_count | opt. |  | Anzahl der gesendeten Telegramme | 0 bis 232-1
Retry_count | opt. |  | Anzahl der wiederholten Telegramme | 0 bis 216-1
SD_count | opt. | opt. | Wie viele Startdelimiter sind korrekt empfangen worden? | 0 bis 232-1
SD_error_count | opt. | opt. | Wie viele Startdelimiter sind fehlerhaft empfangen worden? | 0 bis 216-1
TRR | x |  | Token Real Rotation Time | 20 bis 224-1 tBit
LAS | x |  | Liste der aktiven Master am Bus | Array der Adressen
GAPL | x |  | Liste aller Stationen am Bus | Array der 127 Adressen mit FDL Status

M = Dienst erforderlich bei einem Master

S = Dienst erforderlich bei einem Slave


MAC: Mediums-Zugriff

Der Bus ist das gemeinsame Übertragungsmedium. Mit dem Mediums-Zugriffsverfahren (engl.: MAC, Medium Access Control) wird sichergestellt, dass nicht gleichzeitig mehr als ein Teilnehmer sendet.

Beim PROFIBUS werden zwei Arten von Teilnehmer eingesetzt: aktive Master und passive Slave.

Master erhalten für eine gewisse Zeit die Zugriffsberechtigung für den Bus. Diese Zugriffsberechtigung wird explizit mit einem Token - Telegramm von einem Master zum anderen weitergereicht. Dies wird auch als Token-passing bezeichnet.

Slave dürfen nur einmalig - als Antwort auf eine Anfrage von einem Master – ein Telegramm auf dem Bus senden. Wir haben eine Master-Slave Kommunikation.

PROFIBUS FDL hat somit ein hybrides Zugriffsverfahren aus Master-Slave und Token-Passing.


Prinzip des Master - Slave

Die minimale Konfiguration eines PROFIBUS Netzwerks besteht aus mindestens einem Master und mehreren Slave. Der Master kann in einer freien Reihenfolge Telegramme an alle oder einzelne Slave senden. Mit dem SRD Dienst wird der Slave gleichzeitig zu einer Antwort aufgefordert.

Prinzip des Master - Slave

Prinzip des Master - Slave


Prinzip des Token - Passing

Wenn in einem PROFIBUS Netzwerk mehrere Master vorhanden sind, geben sich diese die Sendeberechtigung mit der Hilfe eines speziellen Telegramms, des Tokens, weiter. Der Token wird immer in aufsteigender Reihenfolge der Teilnehmeradressen weitergereicht.

Derjenige Master, der über die Zugriffsbewilligung verfügt, kann beliebige andere Stationen, Master und Slave, mit der Kommunikation ansprechen.

Hybrides Zugriffsverfahren

Die vorangehende Abbildung zeigt eine typische PROFIBUS-Struktur, bestehend aus 2 aktiven Master und 5 passiven Slave Teilnehmer. Die Abfolge der Token - Weitergabe bildet einen „logischen“ Ring, das heisst, der Token wird in aufsteigenden Adressen von einem aktiven Teilnehmer zum nächsten gereicht. Der letzte Teilnehmer schliesslich gibt den Token zurück an den ersten.


Entfernen und Hinzufügen von Teilnehmern

Für einen geregelten Ablauf, der auch die Antwortzeiten des Systems bestimmt, sind eine Reihe von Bedingungen zu erfüllen. So muss jeder Teilnehmer die jeweilige Adresse seiner Vorgänger- und seiner Nachfolgerstation kennen, damit er weiss, von wem er den Token bekommt und an wen er ihn weiterreichen muss. Diese Parameter werden von jeder Station nach der Initialisierung selbständig ermittelt und während des Betriebs bei Bedarf dynamisch aktualisiert.

Erstellen der Liste der aktiven Teilnehmer

Erstellen der Liste der aktiven Teilnehmer

Im Beispiel der Abbildung kann somit ein zukünftiger Teilnehmer erkennen, dass der Token zwischen den Stationen 1 und 7 weitergegeben wird. Damit dieses Prinzip auch funktioniert wenn nur ein Master auf dem PROFIBUS ist, sendet ein einzelner Master immer ein Token Telegramm an sich selber.

Für die Busverwaltung wird zusätzlich eine Liste aller auf dem Bus erreichbaren Teilnehmer erstellt. Dies geschieht dadurch, dass jeder Master regelmässig den Adressraum zwischen seiner eigenen Netzadresse und der seines Token-Nachfolgers, den sogenannten Gap (engl.: gap, deutsch: Lücke), auf Teilnehmer untersucht.

Erstellen der Teilnehmerliste

Erstellen der Teilnehmerliste (Live-List)

Im Beispiel der Abbildung findet der Master mit der Adresse 1 in seinem Gap der Adressen 2 bis 6 die beiden Slave 3 und 5. Auf eine Antwort wartet der Master maximal die „Slot-Time“. Der Master mit der Adresse 7 ist für die Adressen 8 bis 0 zuständig. Er pollt dabei bis zur maximalen geplanten Teilnehmeradresse (HSA = Höchste Stationsadresse). Stationen über dieser Adresse erscheinen somit nicht in der Liste der Teilnehmer (Live-List).

Nur wenn bei einer Sendeberechtigung noch genügend Zeit bleibt, macht der Master eine einzige Zustandsabfrage, bevor er den Token weiter gibt. Nachdem der ganze „Gap“ abgefragt wurde wird nach einer Pause von G*TTR tBit wieder von vorne begonnen.

Wenn ein Teilnehmer neu in den Ring aufgenommen werden will, meldet er eine spezielle Statusmeldung. Anschliessend erhält er den Token wie im Beispiel der nachfolgenden Abbildung dargestellt.

Einfügen eines neuen aktiven Teilnehmers

Einfügen eines neuen aktiven Teilnehmers

Dadurch ist es möglich, aktive Teilnehmer im laufenden Betrieb in das Netz einzufügen oder aus dem Netz auszugliedern, ohne dass die laufende Kommunikation des übrigen Systems unterbrochen werden muss.

Wird während einer gewissen Zeit, der Idle-Time, keine Aktivität auf dem Bus festgestellt, so wird der Token als verloren betrachtet. Jeder Master startet einen Timeout-Timer, der mit einer Zeit abhängig von der aktuellen Stationsadresse des Masters geladen wird.

Time-Out Time = 6 TSL + 2 n TSL

Mit TSL = Slot Time (Maximale Antwortzeit)

Derjenige Master, dessen Timeout-Timer als erstes abläuft, sendet sofort einen Token an sich selber. Alle anderen können somit den Idle-Timer abbrechen und der Mechanismus des Einfügens neuer Stationen wie oben beschrieben beginnt.

Generierung eines neuen Tokens

Generierung eines neuen Tokens

Die Adresse 0 wird in der Regel für Programmierwerkzeuge reserviert, die somit im Krisenfall immer als erstes den Token erhalten. Mit diesem Mechanismus kann sich das PROFIBUS Netzwerk bei einem verlorenen Token wieder auffangen.

Hinweis: Wenn ein Master mehr als seine „Time-Out Time“ vom PROFIBUS Netzwerk getrennt wird, generiert er selbständig einen neuen Token. Dies kann zu Störungen führen wenn z.B.

-Eine PC Karte zuerst aktiviert und dann erst an einen PROFIBUS angeschlossen wird. Es wird so ein zweiter Token in das Netzwerk eingefügt was zu Störungen führt.

-Ein Netzwerk mit zwei Master zeitweise unterbrochen ist (z.B. eine drahtlose, optische Übertragungsstrecke). Es werden dabei zwei Token generiert, die beim Zusammenfügen der Netzwerke zu Kollisionen und Störungen führen. Darum wird bei einer drahtlosen, optischen Übertragungsstrecke vorgeschrieben, dass alle Master auf einer Seite der Schnittstelle sein müssen.


Token Umlaufzeit

Um zu gewährleisten, dass einzelne Stationen nach Ablauf einer maximalen Zeit auf jeden Fall senden können, ist es notwendig, eine Zeitspanne vorzugeben, in der der Token den logischen Ring einmal vollständig durchlaufen haben muss. Eine Zuteilung von festen Sendezeiten an einzelne aktive Stationen scheint wenig sinnvoll, denn bei Teilnehmern ohne Sendewunsch wird Zeit verschwendet, für Teilnehmer mit dringendem Sendewunsch ist die Zeit zu kurz. Da sich Sendewünsche im Laufe des Busbetriebs ändern, bedarf es einer dynamischen Verteilung der Sendezeit. Dies wird dadurch realisiert, dass ein aktiver Teilnehmer, wenn er den Token erhält, einen Timer zur Messung der Token-Umlaufzeit startet. Bei der nächsten Tokenübernahme, also nach einem Umlauf, wird der Timer ausgelesen, die gemessene Zeit mit der vorgegebenen, maximalen Soll-Umlaufzeit verglichen und erneut gestartet. Nur falls die gemessene Zeit kleiner als die vorgegebene Soll-Umlaufzeit ist, darf der aktive Teilnehmer Telegramme senden.

Token Haltezeit

Dieses Verfahren hat in dieser Form den Nachteil, dass ohne weitere Massnahme keine Sendezeiten garantiert werden könnten. Dieser Nachteil wird umgangen, indem zusätzlich einzelnen Nachrichtenzyklen Prioritäten „Low“ oder „High“ zugewiesen werden. Die Dienst mit der „High“ Priorität werden zuerst abgearbeitet.

Die minimale Token-Soll-Zeit die in einer Installation eingestellt werden muss wird wie folgt berechnet:

min TTR = n ( TTC + TMC ) + k * TMC

n Anzahl der Master-Stationen

k geschätzte Anzahl low priority Telegramme pro Token Zirkulation
TTC Token Zykluszeit
TMC Telegramm-Zykluszeit, abhängig von der Telegrammlänge

Der erste Ausdruck enthält ein hochprioritäres Meldungszyklus pro Master Station und Tokenzirkulation. Somit ist die maximale Reaktionszeit für hochprioritäre Meldungen ohne Wiederholungen für alle Lastverhältnisse garantiert. Der zweite Term enthält die geschätzte Anzahl niederprioritären Telegramme pro Tokenzirkulation.

Um die möglichen Wiederholungen zu berücksichtigen ist der minimale Wert um ca. 10 bis 20% grösser zu wählen. Die modernen Konfigurationswerkzeuge für PROFIBUS rechnen aufgrund der Anzahl projektierten Stationen in einem Netzwerk die Token Zirkulationszeit selbständig aus.

Hinweis: Soll in einem PROFIBUS Netzwerk im Betrieb später ein zusätzliche Master z.B. für Engineeringaufgaben eingefügt werden, muss die projektierte Token Zirkulationszeit erhöht werden. Von einigen Herstellern wird dabei ein Wert von 20'000 tBit vorgeschlagen.

Bei den Diensten der FDL-User-Schnittstelle kann der Anwender grundsätzlich zwischen zwei Prioritäten ("high" und "low") wählen, die mit der Dienstanforderung (request) im FC-Byte (frame control, siehe nächstes Kapitel) des Telegramms übergeben werden.

Um die Übertragung wichtiger Daten zu gewährleisten, darf nach jedem Tokenerhalt stets ein hochpriorer Nachrichtenzyklus abgewickelt werden, selbst wenn eigentlich keine Tokenhaltezeit mehr zur Verfügung steht. Danach muss allerdings der Token unverzüglich an die nächste Station weitergegeben werden.

Ist die aktuelle Tokenumlaufzeit TRR kleiner als die Token-Soll-Umlaufzeit TTR, besteht noch Zeit zur Nachrichtenübermittlung. Es können weitere hochpriore und anschliessend niederpriore Dienste abgearbeitet werden. Innerhalb der niederprioren Dienste gilt folgende Reihenfolge:

1.Bearbeitung der Poll-Liste (zyklische Dienste)

2.Bearbeitung von niederprioren, azyklischen Diensten

3.Teilnehmer-Erfassung (Erstellung der Live-List)

4.Gap-Aktualisierung (maximal eine Adresse der Gap-Liste)


Zustandsmaschine

Alle für die geregelte Abwicklung der Kommunikation notwendigen Zustände der MAC-Steuerung gehen aus der untenstehenden Abbildung hervor. Da die jeweiligen Zustände in der Norm (IEC 61158-4-3 Abschnitt 8.2) ausführlich beschrieben sind, soll hier nur ein grober Überblick gegeben werden.

Nach dem Einschalten der Betriebsspannung (Power ON) gelangen sowohl aktive als auch passive Busteilnehmer in den Zustand 0ffline, führen einen Selbsttest durch und laden die für die Kommunikation notwendigen Betriebsparameter. Passive Teilnehmer gehen danach in den Zustand Passive Idle, in dem sie nach Aktivieren ihres Empfängers die Leitung passiv abhören. Falls Telegramme mit der eigenen Stationsadresse erkannt werden, müssen sie von der Station ordnungsgemäss quittiert werden.

Aktive Busteilnehmer nehmen nach dem Zustand Offline den Zustand Listen Token ein, falls sie für die Aufnahme in den logischen Ring bereit sind. Im Zustand Listen Token hört der Teilnehmer die Telegramme auf der Busleitung ab und baut aus den empfangenen Token-Telegrammen zunächst eine Liste der bereits aktiven Teilnehmer (LAS: List of Active Stations) auf. Nach dem Aufbau der LAS muss die Station warten, bis sie von der Vorgängerstation mit einem "Request FDL-Status" angesprochen und in den logischen Ring "eingeladen" wird. Der "Neuling" quittiert mit einem "bereit für den Ring" und geht über in den Zustand Active Idle. Er ist somit offizieller Teilnehmer im Ring. In diesem Zustand hört er die Leitung ab, quittiert und antwortet ebenso wie ein passiver Teilnehmer im Zustand Passive Idle. Der aktive Teilnehmer wechselt nach Erhalt eines an ihn gerichteten Token-Telegramms in den Zustand Use Token. Erhält der aktive Teilnehmer über längere Zeit kein TokenTelegramm, so geht er in den Zustand Claim Token, um den logischen Ring neu zu initialisieren bzw. zu reinitialisieren (Im letzteren Fall behält die LAS ihre Gültigkeit).

FDL Zustandsdiagramm

Im Normalfall kommt jedoch der aktive Teilnehmer innerhalb einer bestimmten Zeit in den Besitz des Token-Telegramms, so dass, nachdem im Zustand Check Access Time die noch zur Verfügung stehende Token-Haltezeit überprüft wurde, im Use Token-Zustand Nachrichtenzyklen abgewickelt werden können. Wird zur Kommunikation ein Dienst mit Rückantwort verwendet, geht der Teilnehmer in den Zustand Await - Data - Response und wartet für die Slot-Time (abhängig von der Bitrate) auf eine Rückmeldung. Bleibt die erwartete Antwort aus, so wird nach einer durch den Parameter max_retry_limit bestimmten Anzahl von nochmaligen Sendeversuchen eine Fehlermeldung an den User ausgelöst.

Nachrichtenzyklen können so lange abgewickelt werden, bis die Token-Haltezeit abgelaufen ist. Danach wechselt der Teilnehmer in den Zustand Pass Token, in welchem der Token an den nächsten aktiven Teilnehmer weitergegeben wird. Die Übergabe wird im Zustand Check Token Pass überwacht. Geht bei der Tokenweitergabe etwas schief, weil sich z.B. der Nachfolger nicht meldet, wechselt der Teilnehmer in den Await - Status - Response Zustand über und wartet dort eine bestimmte Zeit auf ein Quittungssignal. Kommt dieses Signal nicht, wird der Aufruf im Pass Token - Zustand wiederholt. Erhält der Teilnehmer ein anderes Telegramm (Situation bei Mehrfachtoken), geht er in den Zustand Active Idle über. Nach der - normalerweise fehlerfreien - Tokenweitergabe befindet sich der Teilnehmer bis zum nächsten Empfang des Tokens im Zustand Active Idle.


Protokoll-Definitionen

Die Telegramme und Telegrammsequenzen im PROFIBUS sind einheitlich. Für die praktischen Realisierungen gibt es zwei Ausprägungen für UART und MBP. Der Unterschied der beiden Versionen besteht in der Codierung der einzelnen Bytes und den Aufbau des Telegrammrahmens.


UART Codierung

UART steht für Universal Asynchronous Receiver Transmitter und stellt das übliche Codierungsverfahren für serielle Schnittstellen dar. Bei der UART Codierung besteht jedes Telegramm aus einer Anzahl von UART Zeichen. Jedes Bit wird mit einem statischen Signalpegel definiert. Die UART Zeichen sind Start-Stop Zeichen und sind wie folgt strukturiert:

Start

Bit 1

Bit 2

Bit 3

Bit 4

Bit 5

Bit 6

Bit 7

Bit 8

Parität

Stop

Start = 0 ; Parität = gerade ; Stop = 1

Bei der geraden Parität werden die Anzahl der "1" Werte in den Daten mit der Parität auf eine gerade Anzahl ergänzt. Um 8 Bit Daten d.h. ein Byte zu übertragen werden somit immer 11 Bit gesendet.

Die einzelnen Telegramme beginnen mit einem SYN Intervall für ein Aufruf - Telegramm und mit einem min TSDR Intervall bei einem Antwort - Telegramm.

Es gelten die folgenden Übertragungsregeln:

1.Der Ruhezustand auf der Leitung entspricht dem logischen "1" Pegel.

2.Vor jedem Aufruf - Telegramm soll eine Ruhezeit von mindestens 33 Bit Dauer (SYN) eingehalten werden.

3.Zwischen einzelnen Zeichen eines Telegramms sind keine Ruhezeiten erlaubt.

4.Der Empfänger kontrolliert:

- pro Zeichen: start Bit, stop Bit und parity Bit


MBP Codierung

Bei der Manchestercodierung wird jedes Bit als ein Pegelwechsel codiert. Ein postiver Wechsel ist dabei ein Wert "0" und ein negativer Wechsel den Wert "1". Zwischen den Bitzeiten findet wenn notwendig ein zusätzlicher Pegelwechsel statt. Dies wird in der untenstehenden Abbildung aufgezeigt.

Manchester - Code

Manchester - Code

Dieser Manchestercode hat den Vorteil, dass der Bittakt direkt aus dem Signal gewonnen werden kann und somit jedes Bit neu synchronisiert wird. Damit wird es möglich ein ganzes Telegramm ohne zusätzliche Synchronisationssignale zu übertragen. Es handelt sich um eine synchrone Übertragung.

Da jedes Bit immer aus einem gleich grossen positiven wie negativen Signalanteil besteht, ist der Mittelwert dieses Signals immer konstant. Dieser Mittelwert wird nun für die Speisung der Geräte verwendet. Daraus ergibt sich der Name MBP: Manchestercodiert Bus Powered.


Telegrammformate

Wir unterscheiden die folgenden Telegrammformate:

-Telegramme ohne Datenfeld

-Telegramm mit variabler Länge von 4 bis 249 Bytes und somit Nutzdaten im Umfang von 1 bis 246 Byte

-Telegramm mit fester Datenlänge von 8 Byte Daten

-Token Telegramm

-Für kurze, positive Antworten ist ein Kurztelegramm definiert.

Telegramm ohne Datenfeld:

SD1

DA

SA

FC

FCS

ED

Telegramm mit variabler Länge:

SD2

LE

LEr

SD2

DA

SA

FC

PDU

FCS

ED

Die PDU hat eine variable Länge zwischen 1 und 246 Byte.

Telegramm mit fester Datenlänge:

SD3

DA

SA

FC

PDU

FCS

ED

Die PDU hat eine feste Länge von 8 Byte.

Token Telegramm:

SD4

DA

SA

Kurzquittung:

SC

SC steht für Short Confirmation (= Kurzquittung). SD bedeutet Start Delimiter (= Anfangsbegrenzer), wobei diese vier unterschiedliche Werte annehmen können. Somit markiert ED als End Delimiter den Abschluss eines Telegramms. Die einzelnen Steuerfelder haben für UART die folgende Codierung:

SD1 | SD2 | SD3 | SD4 | ED | SC
0x10 | 0x68 | 0xA2 | 0xDC | 0x16 | 0xE5

SC, SD1, SD2, SD3, SD4 und ED haben zueinander Hamming Distanz 4 (HD=4), d.h. sie unterscheiden sich in mindestens 4 Bit. Somit ist auch das Einzelzeichen SC ein gültiges Telegramm mit HD=4.

Für Telegramme die nur bestätigt werden müssen, ist SC ein gültiges Antworttelegramm. Für Telegramme die mit Daten beantwortet werden müssen, kann mit einem SC Telegramm signalisiert werden, dass die Daten im Moment noch nicht verfügbar sind.

DA = Destination Address (Zieladresse)

SA = Source Address (Quellenadresse)

LE = Length (Längenangabe)

LEr = Length repeated (Wiederholte Länge)

FC = Function Code (Funktionscode)

PDU = Protocol Data Unit (Nutzdaten)

Das Datenfeld PDU setzt sich aus einem Adressteil und den eigentlichen Nutzdaten zusammen. Der Adressteil enthält 0 bis maximal 2 Adresserweiterungsbytes in der Form von Dienstzugriffpunkten (SAP = Service Access Points). Die Nutzdaten umfassen ohne SAPs maximal 246 Byte und mit SAPs maximal 244 Bytes.


Adressbyte

Die beiden Adressbytes im Telegrammkopf der Telegramme (Aufruf-, Quittung- und Antwort-Telegramme) beinhalten die Ziel(DA)- und die Quell(SA)-Teilnehmeradresse.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | DA: Destination Adresse
 | 0 - 127 (0x7F) |  |  |  |  |  |  | Destination Adresse
0 1 |  |  |  |  |  |  |  | kein DSAP DSAP vorhanden

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | SA: Source Adresse
 | 0 - 126 (0x7E) |  |  |  |  |  |  | Source Adresse
0 1 |  |  |  |  |  |  |  | kein SSAP SSAP vorhanden

Die Adresse 127 ist als Global-Adresse für Broadcast- oder Multicast-Nachrichten (Telegramm an alle Teilnehmer oder Teilnehmergruppe über Dienstzugangspunkt selektiert; nur beim Send Data with No Acknowledge, SDN, zulässig) reserviert.

Das Adressbyte des Aufruf-Telegramms sind im Antworttelegramm gespiegelt zu reflektieren. d.h. das SA-Byte des Antworttelegramms enthält die Ziel-Teilnehmeradresse und das DA-Byte die Quell-Teilnehmeradresse des Aufrufs.

Das Adresserweiterungsbit dient bei Formaten mit PDU zur Kennzeichnung einer Ziel- oder/und Quell-Adresserweiterung in der Form eines Service Access Points (SAP) die unmittelbar nach dem FC-Byte in der PDU folgt. Die Adresserweiterungen des Aufruf-Telegramms sind im Antwort-Telegramm gespiegelt zu reflektieren.

Wenn das Adresserweiterungsbit nicht gesetzt ist, handelt es sich um den speziellen SAP = NIL. Dieser Service Access Point hat den Vorteil von einem um 2 Bytes kürzeren Telegramm und wird darum für den zyklischen Datenaustausch verwendet.


Längenangaben

Die beiden wertgleichen Längenbytes im Telegrammkopf des variablen Formats beinhalten die Anzahl der Informationsbytes im Telegrammrumpf. Zu diesen zählen: DA, SA, FC und die PDU. Der Wert überstreicht den Bereich 4 bis 249, so dass maximal 246 Bytes in der PDU eines Telegramms übertragen werden können. Der Wert <4 ist nicht zulässig, da ein Telegramm mindestens ein DA-, SA- ,FC- und ein Data-Byte umfasst. Das längste Telegramm umfasst somit brutto 255 Bytes.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | LE und LEr: Längenbyte
4 bis 249 |  |  |  |  |  |  |  | Längenbyte


Funktionscode

Der Funktionscode (FC) im Telegrammkopf kennzeichnet den Telegrammtyp, wie Aufruf- (Request- oder Send/Request-) und Quittungs- oder Antwort-Telegramm (Acknowledgement-, Response-Frame). Zusätzlich enthält der Funktionscode die eigentliche Übertragungsfunktion (Function) und Steuerinformationen, die den Nachrichten-Verlust und die -Vervielfältigung verhindern, oder den Teilnehmertype (Station-Type) mit dem FDL-Zustand.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | FC: Function Code Request
 | 1 |  |  |  |  |  |  | Request Telegramm
 |  |  | X |  |  |  |  | FCV = Alternierendes Bit eingeschaltet
 |  | X |  |  |  |  |  | FCB = Alternierendes Bit (ab Folgeaufruf)
1 |  |  |  | 0 (0x0) |  |  |  | CV = Clock Value (Clock-Synchronisation)
1 |  |  |  | andere |  |  |  | Reserviert
0 |  |  |  | 0 (0x0) |  |  |  | TE = Time Event (Clock-Synchronisation)
0 |  |  |  | 3 (0x3) |  |  |  | SDA_LOW = Send Data Acknowledged - low priority
0 |  |  |  | 4 (0x4) |  |  |  | SDN_LOW = Send Data Not acknowledged - low priority
0 |  |  |  | 5 (0x5) |  |  |  | SDA_HIGH = Send Data Acknowledged - high priority
0 |  |  |  | 6 (0x6) |  |  |  | SDN_HIGH = Send Data Not acknowledged
0 |  |  |  | 7 (0x7) |  |  |  | MSRD = Send Request Data with Multicast Reply
0 |  |  |  | 9 (0x9) |  |  |  | Request FDL Status
0 |  |  |  | 12(0xC) |  |  |  | SRD low = Send and Request Data
0 |  |  |  | 13(0xD) |  |  |  | SRD high = Send and Request Data
0 |  |  |  | 14(0xE) |  |  |  | Request Ident with reply
0 |  |  |  | 15 (0xF) |  |  |  | Request LSAP Status with reply 1)
0 |  |  |  | andere |  |  |  | Reserviert

1) dieser Wert ist in der neusten Ausgabe der Normen nicht mehr definiert sondern nur reserviert

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | FC : Function Code Response
0 |  |  |  |  |  |  |  | Reserviert
 | 0 |  |  |  |  |  |  | Response Telegramm
 |  | 0 | 0 |  |  |  |  | Slave
 |  | 0 | 1 |  |  |  |  | Master nicht bereit
 |  | 1 | 0 |  |  |  |  | Master bereit, ohne Token
 |  | 1 | 1 |  |  |  |  | Master bereit, im Token-Ring
 |  |  |  | 0 (0x0) |  |  |  | OK
 |  |  |  | 1 (0x1) |  |  |  | UE = User Error
 |  |  |  | 2 (0x2) |  |  |  | RR = Keine Resourcen
 |  |  |  | 3 (0x3) |  |  |  | RS = SAP nicht aktiviert
 |  |  |  | 8 (0x8) |  |  |  | DL = Data Low (Normalfall bei DP)
 |  |  |  | 9 (0x9) |  |  |  | NR = Keine Antwortdaten bereit
 |  |  |  | 10(0xA) |  |  |  | DH = Data High (DP Diagnose anstehend)
 |  |  |  | 12(0xC) |  |  |  | RDL = Daten nicht empfangen und Data Low
 |  |  |  | 13(0xD) |  |  |  | RDH = Daten nicht empfangen und Data High
 |  |  |  | andere |  |  |  | Reserviert

Aufruffolgebit (Frame Count Bit)

Mit dem Aufruffolgebit FCB (b5) wird eine Nachrichten-Duplizierung beim quittierenden oder antwortenden Teilnehmer (Responder) und ein Verlust beim aufrufenden Teilnehmer (Initiator) verhindert. Davon ausgenommen sind die Aufrufe ohne Quittung (SDN) und die Aufrufe FDL-Status, Ident und LSAP-Status.

Für die Sicherungssequenz muss der Initiator für jeden Responder ein FCB führen. Wenn erstmals ein Aufruf-Telegramm (Request oder Send/Request) an einen Responder oder erneut an einen momentan nicht funktionsfähig markierten Responder gesendet wird, muss bei diesem das FCB definiert gesetzt werden. Der Initiator bewirkt dies in einem Aufruf-Telegramm mit FCV=0 und FCB=1.Der Responder muss ein ein derartiges Telegramm als ersten Nachrichtenzyklus werten und das FCB=1 gemeinsam mit der Adresse (SA) des Initiators abspeichern (siehe nachfolgende Tabelle). Dieser Nachrichtenzyklus wird vom Initiator nicht wiederholt.

In den folgenden Aufruf - Telegrammen an denselben Responder muss der Initiator das FCV=1 setzen und mit jedem neuen Aufruf - Telegramm das FCB wechseln. Der Responder muss beim Empfang eines an ihn adressierten Aufruf - Telegramms mit FCV=1 das FCB auswerten. Ein geändertes FCB gegenüber dem unmittelbaren vorherigen Aufruf - Telegramm desselben Initiators (gleiche SA) gilt als Bestätigung für den ordnungsmässigen Abschluss des letzten Nachrichtenzyklus. Stammt das Aufruf-Telegramm von einem anderen Initiators (geänderte SA), dann entfällt die Auswertung des FCB. Der Responder muss in beiden Fällen das FCB mit der Quelladresse SA bis zum Empfang eines neuen an ihn adressierten Telegramms speichern.

Im Falle eines fehlenden oder gestörten Quittungs- oder Antwort - Telegramm darf das FCB in der Aufruf-Wiederholung vom Initiator nicht geändert werden; dies weist auf den fehlerhaften vorhergehenden Nachrichtenzyklus hin. Empfängt der Responder ein Aufruf - Telegramm mit FCV=1 und gleiches FCB wie unmittelbar vorherigen Aufruf-Telegramm desselben Initiators (gleiche SA), dann handelt es sich um eine Aufrufwiederholung. Der Responder muss daraufhin nochmals das bereitgehaltene Quittungs- oder Antwort-Telegramm übertragen.

Bis zur oben genannten Bestätigung oder bis zum Empfang eines Telegramms mit geänderter Adresse (SA oder DA), das nicht quittiert wird (Send Data with No Acknowledge, SDN) muss der Responder das letzte Quittungs- oder Antwort-Telegramm gegebenfalls für eine Aufruf-Wiederholung bereithalten.

Bei Aufruf-Telegrammen, die nicht quittiert werden, und bei Request-FDL-Status, -Ident, -LSAP-Status ist FCV=0 und FCB=0; eine Auswertung beim Responder entfällt.

b5 | b4 | Bitposition
FCB | FCV | Bedingung | Bedeutung | Aktion
0 | 0 | DA = TS/127 | Aufruf ohne Quittung Aufruf FDL-Status/ Ident/ LSAP-Status | letzte Quittung löschen
0/1 | 0/1 | DA # TS | Aufruf an anderen Responder | letzte Quittung / Antwort löschen
1 | 0 | DA = TS | Erstaufruf | FCBM := 1 SAM := SA letzte Quittung / Antwort löschen
0/1 | 1 | DA = TS SA = SAM FCB # FCBM | Neuer Aufruf | letzte Quittung / Antwort löschen FCBM := FCB Quittung / Antwort bereithalten für Wiederholung
0/1 | 1 | DA = TS SA = SAM FCB = FCBM | Aufruf-Wiederholung | FCBM := FCB Quittung / Antwort wieder- holen und weiterhin bereit halten
0/1 | 1 | DA = TS SA # SAM | Neuer Initiator | FCBM := FCB SAM := SA Quittung / Antwort bereithalten für Wiederholung

FCBM gespeichertes FCB

SAM gespeicherte SA


Service Access Point

An der FDL-User - FDL Schnittstelle wird ein Datenübertragungsdienst über einen Dienstzugangspunkt (Service Access Point = SAP) abgewickelt. Darum muss bei der Übertragung einer Nachricht der zugehörige SAP mit gesendet werden.

Beispiel eines SD2-Frames mit SAPs:

SD2 LE LEr SD2 DA SA FC DSAP SSAP PDU FCS ED

Der Quell-Dienstzugangspunkt (Source Service Access Point, SSAP), der die Zugangsadresse vom Local (lokalen) User zur FDL darstellt, wird im SSAP-Byte übertragen. Der Ziel-Dienstzugangspunkt (Destination Service Access Point, DSAP), der eine Zugangsadresse vom Remote (fernen)-User zur FDL darstellt, wird im DSAP-Byte übertragen (vergleiche auch untenstehende Abbildung).

SSAP und DSAP
Mit der Hilfe des SAP wird unterschieden, welche Anwendung, und im Falle des DP Protokolls, welchen Dienst verwendet werden soll.

Einsatz der SAP
Eine erste Zuordnung der möglichen Werte für Master und Slave Teilnehmer findet sich in nachstehenden Tabellen:

SAP: Service Access Points des Masters

SAP | Name | Verwendung
NIL | Data_Exchange | DP MS0: Zyklischer Datenaustausch
0 (0x00) - 1 (0x01) |  | FDL Management
andere | Frei | Frei belegbar durch FMS oder andere Protokolle
50 (0x32) | MS2 | DP MS2: Azyklisch Master Klasse 2
51 (0x33) | MS1 | DP MS1: Azyklische Master Klasse 1
54 (0x36) | MM | DP Master zu Master Verbindung
62 (0x3E) | MS0 | DP MS0: Slave Handler pro DP Slave

SAP: Service Access Points des Slave

SAP | Name | Data Unit vom Master zum Slave | Data Unit vom Slave zum Master
NIL | Data_Exchange | Output Daten | Input Daten
0 & 1 | FDL Management |  |
2… | frei belegbar |  |
≤ 48 (0x30) | Communication | DS_xxx_REQ, MS2_Abort_REQ | DS_xxx_RES
49 (0x31) | Resource Manager | MS2_Initiate_REQ | Resource_Manager_REQ
50 (0x32) | Alarm_SAP | DS_Alarm_ack |
51 (0x33) | Server_SAP | DS_Read_REQ, DS_Write_REQ | DS_Read_RES, DS_Write_RES
53 (0x35) | Ext_User_Prm | Ext. Parameter | SC
55 (0x37) | Set_Slave_Adr | Adresse | SC
56 (0x38) | Rd_Inp | Leer | Input Daten
57 (0x39) | Rd_Outp | Leer | Output Daten
58 (0x3A) | Global_Control | Control | ---
59 (0x3B) | Get_Cfg | Leer | Konfiguration
60 (0x3C) | Slave_Diagnosis | Leer | Diagnose
61 (0x3D) | Set_Prm | Parameter | SC
62 (0x3E) | Chk_Cfg | Konfiguration | SC
63 (0x3F) | Broadcast |  |


Prüfsumme

Die im Telegramm für Hamming-Abstand 4 notwendige Prüfsumme FCS (Frame Check Sequence) befindet sich immer unmittelbar vor dem End-Delimiter (ED) und hat die Belegung:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 bis 255 |  |  |  |  |  |  |  | Prüfsumme

Beim Format ohne Daten (SD1) muss die Prüfsumme durch die arithmetische Summe von DA, SA, und FC ohne Start- (SD) und End-delimiter (ED) und ohne Berücksichtigung der Überträge gebildet werden. Bei den Formaten fester Länge mit Daten (SD3) und variabler Länge (SD2) muss die Prüfsumme noch zusätzlich die Nutzdaten (PDU) mit einbeziehen.

Beispiel der in der FCS aufsummierten Bytes:

SD2

LE

LEr

SD2

DA

SA

FC

DSAP

SSAP

PDU

FCS

ED

Siehe auch den Absatz über die Fehlerbehandlung.


Telegrammsequenzen und Zeitverhältnisse

Das Feld

SYN

bezeichnet die Synchronisationspause von 33 Bit.

Die Synchronisationspause kennzeichnet den Beginn einer neuen Telegrammsequenz.

Beispiel einer Sequenz:

Ein Master erhält von seinem Kollegen den Token:

SYN

SD4

DA

SA

Er sendet ein Telegramm ohne Datenfeld:

SYN

SD1

DA

SA

FC

FCS

ED

Und bekommt eine Kurzquittung als Antwort.

SC

Der Master sendet ein weiteres Telegramm ohne Datenfeld:

SYN

SD1

DA

SA

FC

FCS

ED

Und erhält ein Telegramm mit variabler Länge als Antwort:

SD2

LE

LEr

SD2

DA

SA

FC

PDU

FCS

ED

Der Master sendet ein Telegramm variabler Länge

SYN

SD2

LE

LEr

SD2

DA

SA

FC

PDU

FCS

ED

Und bekommt keine Antwort

Der Master gibt die Kontrolle weiter und sendet ein Token Telegramm:

SYN

SD4

DA

SA


Zeitverhältnisse

Damit eine Telegrammsequenz richtig funktionieren kann, müssen auf einem PROFIBUS bestimmte Zeitverhältnisse eingehalten werden.

Nach der Synchronisationspause der Dauer TSYN zur Markierung des Beginnes einer Sequenz wird das Request Telegramm vom Master an den Slave gesendet. Der Slave darf nicht schneller als nach min TSDR (SDR = Station Delay of Responder), muss aber spätestens nach max TSDR mit der Antwort beginnen. Die min TSDR Zeit muss mindestens die TQUI Zeit der zwischengeschalteten Verstärker und Repeater und die TRDY Zeit des Masters umfassen. In modernen PROFIBUS-DP Anlagen ist min TSDR = 11. Langsamere PROFIBUS-FMS Slave haben Werte von min TSDR von bis zu 255 tBit. Der Master wartet auf eine Antwort von einem Slave im Maximum TSL (SL = Slot). Diese Zeit wird von max TSDR bestimmt.

Zeitverhältnisse

Alle hier aufgeführten Zeiten können als FDL Parameter gelesen und eingestellt werden.

Parameter | Bitrate in kBit/s
 | ≤ 187.5 | 500 | 1'500 | 3'000 | 6'000 | 12'000
TQUI | 0 | 0 | 0 | 3 | 6 | 9
TSET | 1 | 1 | 1 | 4 | 8 | 16
TRDY | ≤ 11 | ≤ 11 | ≤ 11 | ≤ 11 | ≤ 11 | ≤ 11
min TSDR | 11 | 11 | 11 | 11 | 11 | 11
max TSDR | 60 | 100 | 150 | 250 | 450 | 800
TSL | 100 | 200 | 300 | 400 | 600 | 1'000

Tabelle der Defaultwerte der Zeiten


Fehlerbehandlung

Obwohl der PROFIBUS aufgrund seiner Übertragungstechnik gut gegen Übertragungsfehler gesichert ist, können sie nicht vollständig ausgeschlossen werden. Ursache der Fehler können z. B. defekte Sender, ein schlecht abgeschirmtes Medium, Signalreflektionen oder zu grosse Abweichungen zwischen Sende- und Empfangstakt sein.

Praktische Untersuchungen haben gezeigt, dass die Fehlerrate auf einem Kabel kleiner als 10-4 d.h. nicht mehr als ein fehlerhaftes Bit auf 10'000 übertragene Bits ist. Mit dem Einsatz von Fehlererkennung und Fehlerkorrektur können diese Werte noch weiter gesenkt werden.

Mit einfachen Werkzeugen können auftretende Fehler in einem PROFIBUS System erkannt werden.


Fehlererkennung

UART-Bausteine sind in der Lage, einen Teil der Fehler zu erkennen: Rahmenfehler (frame error): das Stoppbit eines Zeichens wurde nicht erkannt - Überlauffehler (overrun error): ein empfangenes Zeichen wurde vom Empfänger mit dem nächsten Zeichen überschrieben, bevor das "alte" abgespeichert wurde.

Jedes Byte wird bei einem UART Zeichen mit einer geraden Parität gesichert. Damit ein Fehler nicht erkannt werden kann, müssen in einem Byte eine gerade Anzahl von Bits, d.h. mindestens zwei Bits verändert werden. Dies entspricht einer Hamming Distanz von 2 und erlaubt die Erkennung von 50% aller Übertragungsfehlern.

Um eine sichere Fehlererkennung zu ermöglichen ist aber eine Hamming Distanz von mindestens 4 gefordert. Dies wird beim PROFIBUS durch eine zusätzliche Prüfsumme erreicht. Damit eine Kombination von Fehlern nicht erkannt werden kann, sind zwei Bitfehler in zwei Bytes notwendig, so dass die Prüfsumme gerade wieder stimmt. Damit müssen mindestens 4 Bits verändert werden, was der geforderten Hamming Distanz 4 entspricht.

Da die Start- und Endezeichen bei der Bildung der Prüfsumme nicht berücksichtigt werden, sind diese Zeichen gegeneinander mit Hamming Distanz 4 gesichert.

Die Norm IEC 870-5-1 definiert verschiedene Integritätsklassen für Fernwirksysteme:

•Integritätsklasse 1 (I1) wird als genügend für zyklische Daten betrachtet

•Integritätsklasse 2 (I2) ist geeignet für ereignisgesteuerte Daten und

•Integritätsklasse 3 (I3) für Fernkontrolle.

Mit der Hilfe der Fehlererkennung wird die Bitfehlerwahrscheinlichkeit (Bit error probability) auf die Restfehlerwahrscheinlichkeit (Residual error probability) reduziert.

PROFIBUS soll Integritätsklasse 2 erreichen. Das verwendete Prüfsummenverfahren wird in IEC 870-5-1 als FT2.1 bezeichnet. Die Restfehlerrate lässt sich somit berechnen mit

p = Bitfehlerwahrscheinlichkeit (bit error probability)

i = Anzahl der Bytes in einem Telegramm

RFT1.2 = Restfehlerwahrscheinlichkeit (residual error probability) für ein FT1.2 Telegramm

Die Kombination mit der geraden Parität ergibt eine weitere Reduktion zu

R = Restfehlerwahrscheinlichkeit für ein PROFIBUS Telegramm

In der nachstehenden Graphik sind das Verhältnis zwischen Bitfehlerwahrscheinlichkeit und Restfehlerwahrscheinlichkeit für die drei Integritätsklassen und PROFIBUS Telegramme mit 1, 30 und 240 Nutzdatenbytes aufgezeichnet.

Eine Bitfehlerwahrscheinlichkeit von 10-4 lässt sich somit auch mit einem langen Telegramm mit 240 Nutzdatenbytes auf eine Restfehlerwahrscheinlichkeit von 10-10 reduzieren, was den Anforderungen der Integritätsklasse 2 entspricht.


Fehlerkorrektur

Stellt der Empfänger eines Telegramms einen Fehler fest, wird das Telegramm ignoriert (weggeworfen). Somit ist die Fehlerkorrektur abhängig von der Art des verwendeten Dienstes:

SDN Dienst:

Es findet keine Korrektur statt. Der Sender kann auch nicht feststellen, ob von einem Empfänger ein Fehler festgestellt wurde. Es wird davon ausgegangen, dass die Anwendung diesen SDN Dienst zyklisch einsetzt und somit die Übertragung im nächsten Zyklus stattfindet.

SDA und SRD Dienste:

Der Sender erwartet innerhalb der Slot-Time eine Antwort vom Empfänger. Tritt diese Antwort nicht ein ist entweder das Anfragetelegramm (Request) oder das Antworttelegramm (Response) verloren gegangen.

Eine Fehlerkorrektur findet durch Wiederholung eines nicht beantworteten Telegramms statt.

Die nachstehende Graphik zeit die Sequenz im Fall eines SRD Dienstes, wenn das Anfragetelegramm fehlerhaft empfangen wird.

Mit der Hilfe des Frame Count Bits (FCB) kann der Empfänger erkennen, ob er ein Telegramm schon einmal empfangen und bearbeitet hat. Duplikate können erkannt und eliminiert werden.


Fehlerdiagnose

Für die Fehlerdiagnose muss ein Werkzeug eingesetzt werden. Die meisten Busmonitore können auch Übertragungsfehler darstellen und zählen. Hier ein Bildschirmauszug aus einem ProfiTrace Werkzeug mit aufgezeichneten Paritätsfehlern erzeugt mit fehlerhaften Busabschlüssen:

Mit diesem Werkzeug werden für alle Stationen auch Statistikzähler mitgeführt. Wenn zwei Telegramme hintereinander das selbe FCB aufweisen, ist dies eine Wiederholung (retries).

In einer korrekten Installation sollten keine Telegrammwiederholungen notwendig sein.


MS0: Zyklische Daten

Beim PROFIBUS werden Master der Klasse 1 und 2 von den Slave Geräten unterschieden. Diese Geräte kommunizieren mit unterschiedlichen Kommunikationsbeziehungen.

Modell der PROFIBUS Kommunikation

Modell der PROFIBUS Kommunikation

Wir betrachten hier den Fall einer Kommunikation einer Steuerung mit seiner abgesetzten Peripherie, d.h. den Slave Geräten. Die Abkürzung DP steht dabei für Dezentrale Peripherie. Wir bezeichnen die Steuerung in unserem Fall als DP-Master der Klasse 1 und die peripheren Ein- und Ausgabeelemente als DP-Slave. Dieses Kommunikationsprotokoll wird als MS0 bezeichnet. Die Kommunikationsbeziehungen MS1 und MS2 dienen der azyklischen Kontrolle der Parameter und werden in einem späteren Kapitel erläutert.

Der DP-Master der Klasse 1 (Steuerung) wird dabei die einzelnen DP-Slave (Peripherie) pollen. Er schreibt immer alle Ausgangswerte eines DP-Slaves und erhält von Ihm als Antwort sofort alle Eingangswerte zurück. Dies wird der Reihe nach vom DP-Master mit allen DP-Slave so gemacht. Nach einem Zyklus beginnt er wieder von vorne. Die Steuerung bildet so mit den Daten der dezentralen Peripherie ein Prozessabbild (Process Image).

Der DP-Master muss somit bevor er seine Kommunikation aufnehmen kann konfiguriert werden. Er muss wissen, welche DP-Slave auf dem PROFIBUS von ihm kontrolliert werden müssen und welche Daten dabei ausgetauscht werden sollen. Er braucht die Beschreibung der Kommunikationseigenschaften der angeschlossenen Geräte. Dies wird beim PROFIBUS in elektronischem Format geliefert, der sogenannten General-Station-Description GSD-Datei. Durch einlesen dieser GSD-Datei kann somit ein Konfigurationswerkzeug die Kommunikationseigenschaften eines DP-Slave kennen lernen, es ist ein elektronisches Datenblatt (Electronic Datasheet).

In den nächsten Kapitel werden somit die Grundfunktionen des PROFIBUS-DP erläutert, wobei in jedem Kapitel auch die Beschreibungen in der GSD und die dazu gehörenden Telegramme erläutert werden.


Initialisierung eines DP-Slave

Die Kommunikation in einem DP-Slave ist immer in einem bestimmten Zustand. Damit der Zustand Data-Exchange erreicht werden kann, erwartet der DP-Slave vom DP-Master eine Sequenz von Telegrammen. Diese Telegramme werden in den nachfolgenden Kapiteln genauer erläutert.


Zustände des DP-Slave

Der DP-Slave (Peripherie) ist in einem der folgenden Zustände:

Zustand | Bedeutung
Power_ON / Reset | Der DP-Slave wurde eingeschaltet oder zurückgesetzt und beginnt mit der internen Initialisierung.
WPRM | Wait for Parameter Der DP-Slave wartet auf die Parameter vom DP-Master.
WCFG | Wait for Configuration Der DP-Slave wartet auf das Check_Configuration Telegramm vom DP-Master.
DXCHG | Data Exchange Der DP-Slave tauscht mit dem DP-Master zyklisch Nutzdaten und beantwortet Diagnoseanfragen.

Zustände in einem DP-Slave

Zustände in einem DP-Slave

Ein zyklischer Datenaustausch zwischen einem Master Klasse 1 - der Steuerung - und einem DP-Slave - Feldgerät - kann nur stattfinden, wenn der DP-Slave im Zustand Data Exchange (DXCHG) ist. Dazu muss der DP-Slave vom DP-Master der Klasse 1 eine Sequenz von Telegrammen erhalten.


Initialisierungssequenz

Damit ein DP-Slave in den Zustand DXCHG geht erwartet er von einem DP-Master eine bestimmte Sequenz von Telegrammen:

Sequenz der Telegramme für die Initialisierung einer MS0 Beziehung

Sequenz der Telegramme für die Initialisierung einer MS0 Beziehung

Hinweis: Klicke auf das Telegramm in der Graphik um zur Beschreibung des Telegramms zu kommen.

Die Reihenfolge der Telegramme ist:

1.Mit einer Diagnoseanfrage stellt die Steuerung fest ob der DP-Slave vorhanden ist. Diese Anfrage wird so lange wiederholt bis der DP-Slave antwortet.

2.Mit einem Set Parameter werden die Initial-Parameter von der Steuerung an den Slave übertragen.

3.Mit dem Check Configuration Telegramm wird die korrekte Konfiguration überprüft.

4.Mit einer weiteren Diagnoseanforderung überprüft die Steuerung ob der Slave jetzt korrekt initialisiert und für den Datenaustausch bereit ist.

5.Jetzt sind wir im zyklischen Datenaustausch. Die Steuerung sendet die Ausgangsdaten und erhält die Eingangsdaten zurück.


Belegung der SAP

Die Dienste werden beim DP Protokoll mit den SAP (Service Access Point) codiert. Ein Telegramm das an einen SAP adressiert wird, hat automatisch eine bestimmte Bedeutung. Der SAP bestimmt somit die Funktion des Telegramms.

Für eine MS0 Verbindung werden die folgenden SAP verwendet:

SAP: Service Access Points des Masters

SAP | Name | Bedeutung
--- | Data_Exchange | Zyklischer Datenaustausch
62 (0x3E) | MSCY1M | Slave Handler pro DP Slave

SAP: Service Access Points des DP-Slave

SAP | Name | Daten vom Master zum Slave | Daten vom Slave zum Master
--- | Data_Exchange | Output Daten | Input Daten
53 (0x35) | Ext_User_Prm | Ext. Parameter | SC
55 (0x37) | Set_Slave_Adr | Adresse | SC
56 (0x38) | Rd_Inp | Leer | Input Daten
57 (0x39) | Rd_Outp | Leer | Output Daten
58 (0x3A) | Global_Control | Control | ---
59 (0x3B) | Get_Cfg | Leer | Konfiguration
60 (0x3C) | Slave_Diagnosis | Leer | Diagnose
61 (0x3D) | Set_Prm | Parameter | SC
62 (0x3E) | Chk_Cfg | Konfiguration | SC

Die Dateninhalte der einzelnen Telegramme werden in den nächsten Kapitel erläutert.


Adressänderungen

Vor der Inbetriebnahme eines PROFIBUS-Systems müssen den Teilnehmern eindeutige Adressen vergeben werden.

Die PROFIBUS Adresse eines DP-Slave kann auf zwei Arten eingestellt werden:

1.Durch Einstellungen am Gerät mit der Hilfe von Schaltern oder einer anderen Bedienungsschnittstelle.

2.Durch das Senden eines speziellen Telegramms über den PROFIBUS. Die Adresse 126 ist dabei als Defaultadresse für DP-Slave reserviert.

Diese zweite Funktion wird nicht zwingend von jedem DP-Slave unterstützt. Der Eintrag

Set_Slave_Add_supp = 1

in der GSD Datei zeigt an, ob diese Funktion unterstützt wird.

Eine Adressänderung eines DP-Slave kann nur im Zustand Wait Parameter (WPRM) erfolgen. Nur in diesem Zustand des DP-Slave kann der Master - typischerweise ein Master der Klasse 2 - ein Telegramm zum Ändern der Adresse des DP-Slave senden. Dabei sollte er vorgängig überprüfen, dass die neue Adresse auch frei ist.

Nach dem Ändern der Adresse ist ein Kaltstart (Speisung aus und wieder ein) des DP-Slave erforderlich.

Adresse: Telegramm zum ändern der Adresse mit 4 Bytes

Neue Adresse

Ident Nummer

High Byte

Ident Nummer

Low Byte

Zusätze

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Adresse Byte 1: Neue Adresse
0–125 (0x00–0xFE) |  |  |  |  |  |  |  | Neue Adresse

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Adresse Byte 2 & 3: Ident Nummer
0-255 (0x00-0xFF) |  |  |  |  |  |  |  | Ident Nummer high Byte
0-255 (0x00-0xFF) |  |  |  |  |  |  |  | Ident Nummer low Byte

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Adresse Byte 4:
 |  |  |  |  |  |  | X | Weitere Änderungen der Adresse sind nicht erlaubt
0 | 0 | 0 | 0 | 0 | 0 | 0 |  | Reserviert


Parametrierung

Der DP-Master Klasse 1 (Steuerung) kann einem DP-Slave bei der Initialisierung Parameter für sein Gerät übergeben. Es können Standardparameter und gerätespezifische Parameter für das Gerät oder einzelne Module des Gerätes unterschieden werden.

Die gerätespezifischen Parameter werden in der GSD-Datei beschrieben. Alle Parameter werden mit dem Set_Parameter Telegramm vom DP-Master Klasse 1 an den DP-Slave übertragen. Bevor dies nicht geschehen ist, kann der DP-Slave keine Nutzdaten austauschen.


Set_Parameter Telegramm

Das Set_Parameter Telegramm besteht aus min. 7 und max. 244 Bytes Nutzdaten.

Befehl

Watch

dog 1

Watch

dog 2

Min TSDR

Ident High

Ident Low

Gruppe

DPV1 Status_1

DPV1 Status_2

DPV1 Status_3

User

Die ersten sieben Bytes der Parameter sind in der Norm verbindlich vorgeschrieben. Bytes 8 bis 10 sind in DP-V1 festgeschrieben. Weitere Bytes sind herstellerspezifisch.

Die Parameter werden nach folgendem Muster codiert: X = Wert 1 aktiviert, Wert 0 deaktiviert

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Byte 1: Befehl
 |  |  |  |  | 0 | 0 | 0 | Reserviert
 |  |  |  | X |  |  |  | WD_On (Watchdog on): Wird dieses Bit auf 0 gesetzt, so wird die Ansprechüberwachung deaktiviert.
 |  |  | X |  |  |  |  | Freeze_Req: Mit diesem Bit wird dem DP-Slave angezeigt, dass er im Freeze-Mode betrieben werden soll, sobald das Kommando mit der Funktion Global_Control übergeben wird. Unterstützt ein DP-Slave das Freeze-Kommando nicht, dann muss er in den Diagnosedaten Not_Supported setzen. Durch diese Abfrage bei der Parametrierung werden Fehler während des Nutzdatenbetriebs vermieden.
 |  | X |  |  |  |  |  | Sync_Req: Mit diesem Bit wird dem DP-Slave angezeigt, dass er im Sync-Mode betrieben werden soll, sobald das Kommando mit der Funktion Global_Control übergeben wird. Unterstützt ein DP-Slave das Sync-Kommando nicht, dann muss er in den Diagnosedaten Not_Supported setzen. Durch diese Abfrage bei der Parametrierung werden Fehler während des Nutzdatenbetriebs vermieden.
 | X |  |  |  |  |  |  | Unlock_Req: Der DP-Master setzt dieses Bit auf 1, um den Zugriff auf einen DP-Slave für einen anderen DP-Master wieder freizugeben. Dieses Bit hat Priorität über Bit 7/ Lock_Req.
X |  |  |  |  |  |  |  | Lock_Req: Der DP-Master setzt dieses Bit auf 1, um den Zugriff auf einem DP-Slave für andere Master zu sperren.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Byte 2 & 3: Watchdog (Ansprechüberwachung)
0- 255 (0x00-xFF) |  |  |  |  |  |  |  | Watchdog Faktor_1
0- 255 (0x00-xFF) |  |  |  |  |  |  |  | Watchdog Faktor_2

Die in den beiden Bytes abgelegten Werte stellen Faktoren für die Einstellung der Ansprechüberwachungszeit (TWD) dar. Die Ansprechüberwachung sorgt in einem DP-Slave dafür, dass bei einem Ausfall des DP-Masters, nach dem Ablaufen dieser Zeit, die Ausgänge den sicheren Zustand einnehmen.

Die Zeit berechnet sich wie folgt:

Watchdog = Faktor_1 * Faktor_2 * 10 ms

Somit lassen sich Zeiten vom 10ms bis 650 sec. unabhängig von der Baudrate realisieren. Mit dem Bit 2 im Byte 8 kann diese Zeitbasis der Ansprechüberwachung auf 1 ms eingestellt werden. Damit lassen sich 10 mal kürzere Zeiten einstellen. Die Ansprechüberwachung wird durch das Bit WD_On ein- oder ausgeschaltet.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Byte 4: minimale Antwortzeit des Slave
0, 11-255 (0x00, 0x0B–0xFF) |  |  |  |  |  |  |  | Min. TSDR in tBit

Das ist die Zeit, die der DP-Slave mindestens warten muss, bis er seine Antworttelegramme an den DP-Master zurücksenden darf.

Reiner DP-Betrieb: 0, 11 bis max TSDR gemäss Norm

Mischbetrieb (zB. DP&FMS): 0, 11 bis 255 tBit

Beim Wert 00 bleibt der bisherige Wert erhalten.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Byte 5 & 6: Ident Nummer
0-255 (0x00-0xFF) |  |  |  |  |  |  |  | Ident Nummer high Byte
0-255 (0x00-0xFF) |  |  |  |  |  |  |  | Ident Nummer low Byte

Der DP-Slave akzeptiert nur Parametriertelegramme, bei denen die übertragene Ident-Nummer mit der eigenen Ident-Nummer übereinstimmt. Ausnahme: Die min TSDR kann auch gesetzt werden, falls die beiden Bits Lock_Req und Unlock_Req Null sind und die Ident_Nummer nicht übereinstimmt.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Byte 7: Gruppenzuteilung
 |  |  |  |  |  |  | X | Gerät gehört zur Gruppe 1
 |  |  |  |  |  | X |  | Gerät gehört zur Gruppe 2
 |  |  |  |  |  |  |  | ....
X |  |  |  |  |  |  |  | Gerät gehört zur Gruppe 8

Mit diesem Byte kann eine Gruppenbildung für die Funktionen Global_Control durchgeführt werden. Jedes Bit stellt eine Gruppe dar. Wird nur bei gesetztem Lock_Req_Bit übernommen.

Die nächsten Bytes sind Erweiterungen für DP-V1. Eine Steuerung, die diese Erweiterungen nicht unterstützt, sollte diese Werte alle auf 0 setzen. Wenn ein Gerät, dass diese Erweiterungen unterstützt setzt in der GSD Datei das Schlüsselwort:

DPV1_Slave = 1

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Paramater Byte 8: DPV1_Status_1
 |  |  | 0 | 0 |  | 0 | 0 | Reserviert
 |  |  |  |  | X |  |  | Zeitbasis des Watchdog ist 1 ms (und nicht 10 ms)
 |  | X |  |  |  |  |  | Der Slave soll als Publisher arbeiten
 | X |  |  |  |  |  |  | Der Slave soll im Fail_Safe Modus arbeiten
X |  |  |  |  |  |  |  | Der Slave soll im DP-V1 Modus arbeiten

Mit dem Schlüsselwort

WD_Base_1ms_supp = 1

in der GSD Datei wird angezeigt, ob der DP-Slave diese Funktion des 1 ms Watchdogs unterstützt.

Die Funktion des Publisher wird im Abschnitt über den direkten Datenaustausch näher erläutert und der Fail_Safe Modus bezieht sich auf den Zustand des Master der Klasse 1.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Byte 9: DPV1_Status_2
 |  |  |  |  |  |  | X | Check_Cfg_Mode: Reduzierte Konfigurationskontrolle
 |  |  |  |  |  | 0 |  | Reserviert
 |  |  |  |  | X |  |  | Updatealarm einschalten
 |  |  |  | X |  |  |  | Statusalarm einschalten
 |  |  | X |  |  |  |  | Herstellerspezifischen Alarm einschalten
 |  | X |  |  |  |  |  | Diagnosealarm einschalten
 | X |  |  |  |  |  |  | Prozessalarm einschalten
X |  |  |  |  |  |  |  | Einsteckalarm (Pull-Plug) einschalten

Check_Cfg_Mode: Wenn dieses Bit auf 0 ist, muss der Slave die Chk_Config Telegramme vom DP-V1 Master auf Konsistenz überprüfen und fehlerhafte Konfigurationen zurückweisen. Ist dieses Bit auf 1 sind aber herstellerspezifische Abweichungen erlaubt. z.B. ist es möglich ein Modul in der Konfiguration zu akzeptieren, obwohl es im Moment nicht gesteckt ist. Die Unterstützung von diesem Bit wird in der GSD Datei mit dem Schlüsselwort

Check_Cfg_Mode = 1

angezeigt.

Die Alarme sind Teil der azyklischen Dienste.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Paramater Byte 10: DPV1_Status_3
 |  |  |  |  | 0 1 2 3 4 5 6 7 |  |  | 1 Alarm von jedem Typ möglich 2 Alarme im ganzen möglich 4 Alarme im ganzen möglich 8 Alarme im ganzen möglich 12 Alarme im ganzen möglich 16 Alarme im ganzen möglich 24 Alarme im ganzen möglich 32 Alarme im ganzen möglich
 |  |  |  | X |  |  |  | Prm_Structure: Es folgt ein Parameter Block
 |  |  | X |  |  |  |  | Isochroner Modus einschalten (Block Typ = 4)
X |  |  |  |  |  |  |  | Redundanzbefehle einschalten (Block Typ = 2)
 | 0 | 0 |  |  |  |  |  | Reserviert

Wenn das Bit Prm_Structure gesetzt ist, folgen anschliessend an diese Daten Parameterblöcke mit weiteren normierten Parametern oder Befehlen. Die einzelnen Blöcke und Befehlsgruppen können mit einzelnen Bits aktiviert werden.

Der ganze Block wird in einem festen Format aufgebaut.

Structure Length

Structure Type

Slot Number

reserved

User Parameter Data

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Block: Structure_Length
5 - 244 (0x05–0xFF) 255 (0xFF) |  |  |  |  |  |  |  | Länge des Parameterblocks inklusive dieses Byte Rest des Parametertelegramms ist ein Block

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Set_Parameter Block: Structure_Type
2 (0x02) 3 (0x03) 4 (0x04) 5 (0x05) 7 (0x07) |  |  |  |  |  |  |  | Redundanz Befehle DxB Tabellen Parameter für Isochronen Zyklus F-Parameter für PROFIsafe Subscriber Tabellen


Set_Parameter Sequenz

Der DP-Master sendet die Parameter an den DP-Slave in einem Set-Parameters Telegramm. Er sendet dazu ein SRD Dienst an den SAP 61. Der Slave antwortet mit einer Kurzquittung (ein Zeichen).

Addr | Msg type | Req Res | SAPS | Len | Data
1->22 | Set Parameters | Req | 62-> 61 | 7 | B8 01 63 0B 05 AA 22
1<-22 | Ack | Res |  |  |

Nach dem Erhalt der gültigen Parameter wechselt der DP-Slave vom Zustand "Wait Parameter" (WPRM) in den Zustand "Wait Configuration" (WCFG).

Bei fehlerhaften Parametern, z.B. falsche Ident Nummer, wird in dem Zustand WPRM gewartet und in der nächsten Diagnose das Parameter Fehler (Prm_Fault) Bit gesetzt.


Parameter in der GSD

Für die Eintragungen in der GSD Datei bestehen zwei Formate. In einer ersten Version werden die anwenderspezifischen Parameter mit einem Parameterpaar festgelegt, und in einer erweiterten (mindestens GSD Revision 1) können die einzelnen Parameterwerte mit Texten versehen werden und auch einzelnen Modulen zugewiesen werden.

In einer GSD Datei sollten nicht beide Versionen gleichzeitig vorkommen. Sind beide Versionen angegeben, so ist die letzte in der GSD aufgeführte Version massgebend.

Einfache Version

User_Prm_Data_Len = 5

User_Prm_Data = 0x00, 0x10, 0x00 , 0x00, 0x2F

In diesem Beispiel werden die anwenderspezifischen Parameter auf eine feste Länge von 5 Bytes festgelegt. Mit dem zweiten Schlüsselwort werden die Werte der einzelnen Bytes festgelegt. Im Set_Parameter Telegramm werden somit 7 normierte und anschliessend diese 5 anwenderspezifischen, also 12 Bytes übertragen.

Erweiterte Version (ab GSD Revision 1)

In einem ersten Block werden den einzelnen Parametern und deren Werten Texte zugewiesen:

PrmText= 1

Text (0)= „disable“ ; Wert 0 bedeutet disable

Text (1)= „enable“ ; Wert 1 bedeutet enable

EndPrmText

In einem zweiten Block werden die einzelnen Parameter beschrieben. Defaultwerte und mögliche Wertebereiche werden festgelegt. In diesem Beispiel wird dem Bit 5 der Text aus der Beschreibung 1 zugewiesen.

ExtUserPrmData=1 „Diagnostic Alarm“

Bit (5) 1 0-1

; Bit 5 hat die Vorbelegung 1 und Wert 0 oder 1

Prm_Text_Ref = 1

; Bit 5 in dieser Referenz verweist auf PrmText=1

EndExtUserprmdata

Nun wird die maximale Länge der anwenderspezifischen Parameter angegeben. Es können auch weniger angegeben werden. Die Angabe dieses Parameters schliesst die Angaben des Parameters User_Prm_Data aus!

Max_User_Prm_Data_Len = 50

Nun können die Parameter für das Gerät festgelegt werden. In einem ersten Schlüsselwort können die Parameter mit Werten vorbelegt werden. Ab einem bestimmten Byte (hier 0, also das 8. Byte im Set_Parameter Telegramm) werden in diesem Beispiel 4 Bytes mit Werten vorbelegt. Beim Einsatz dieses Schlüsselwortes kann User_Prm_Data nicht mehr verwendet werden.

Ext_User_Prm_Data_Const (0) = 0x00,0x01,0x02,0x03

Nun können die Einstellmöglichkeiten zu den einzelnen Bytes aufgeführt werden. Dazu wird angegeben in welchem Byte welcher Parameter verwendet wird. In diesem Beispiel wird das 2. anwenderspezifische Byte (das 10. Byte im Set_Parameter Telegramm) mit der Parameterbeschreibung 1 eingestellt:

Ext_User_Prm_Text_Ref(2) = 1

Die Texte, auf die referenziert wird, müssen vor dem Verweis stehen.

Beim Projektieren will der Anwender festlegen, ob ein Diagnosealarm (abhängig von Byte 2 der Anwenderparameter (Ext_User_Prm_Const (0) ) erzeugt werden soll oder nicht. Die Vorbelegung ist, dass kein Diagnosealarm erzeugt werden soll. Will der Anwender dieses Verhalten ändern, kann er gemäss vorheriger Referenzierung (Ext_User_Prm_Text_Ref(2)=1 auf ExtUserPrmData=1 "Diagnostic Alarm" auf PrmText= 1 ) die Reaktion symbolisch auswählen.

Im Projektierungstool (hier COM PROFIBUS der Fa. Siemens) werden beim Projektieren der Anwenderparameter die in der GSD Datei projektierten Texte angezeigt:

Auf die gleiche Art und Weise können auch Parameter für ein einzelnes Modul definiert werden. Dazu wird das zusätzliche Schlüsselwort Ext_Module_Prm_Data verwendet.

Module " Demo-Modul" 0x00

Ext_Module_Prm_Data_Len = 2

; dieses Modul hat zwei Parameterbytes

Ext_User_Prm_Data_Const (0) = 0x00, 0x00

; die beiden Bytes werden vorbelegt

Ext_User_Prm_Data_Ref(0) = 1

; Byte 0 wird gemäss Beschreibung 1 eingestellt

EndModule

Die Summe aller Anwenderparameter darf die Max_User_Prm_Data_Len nicht überschreiten!


Konfiguration

Damit der Master der Klasse 1 (die Steuerung) mit einem Slave effizient kommunizieren kann, muss er wissen, wie viele Bytes der Master dem Slave als Ausgänge senden und wie viele Bytes er als Eingänge erhalten wird. Dies wird in der Konfiguration festgelegt.

Die möglichen Konfigurationen von einem DP-Slave werden in der GSD Datei festgelegt. Die aktuelle Defaultkonfiguration kann mit einem Get_Comfiguration Telegramm auch vom DP-Master aus dem DP-Slave ausgelesen werden. Bevor der DP-Slave Nutzdaten mit einem DP-Master austauschen kann, muss die gültige Konfiguration vom DP-Master dem DP-Slave mit dem Chk_Configuration Telegramm bestätigt werden.


Definition der Module

Jeder Slave ist mit Slots (Einbaupositionen) ausgerüstet. In jedem Slot kann ein Modul sein. Ein leerer Slot kann speziell gekennzeichnet werden (leeres Modul).

Ein DP-Slave mit einer festen Konfiguration ist mit einem oder mehreren fest eingestellten Modulen ausgerüstet. Ein modularer DP-Slave kann ein- oder mehrere Module aufweisen, die aus einer Liste von möglichen Modulen ausgewählt werden können. Nur in erweiterten Funktionalitäten dürfen zwischen den gesteckten und den projektierten Modulen Unterschiede auftreten.

Jedes Modul wird mit einem oder mehreren Kennungen beschrieben. Es gibt zwei Formate:

a) kompaktes Format

b) spezielles Format


Kompaktes Format

Das kompakte Format wird immer mit einem Byte beschrieben. Die Codierung des Bytes für das kompakte Format:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Konfiguration: kompaktes Format
 |  | 0 | 1 |  |  |  |  | Eingang (Input)
 |  | 1 | 0 |  |  |  |  | Ausgang (Output)
 |  | 1 | 1 |  |  |  |  | Ein-/Ausgabe (Input & Output)
 |  |  |  | 0-15 |  |  |  | Länge der Daten 00 = 1 Byte oder Wort 15 = 16 Byte oder Worte
 | 1 |  |  |  |  |  |  | Wort(e) zu 16 Bit
 | 0 |  |  |  |  |  |  | Byte zu 8 Bit
1 |  |  |  |  |  |  |  | Konsistenz über das ganze Modul
0 |  |  |  |  |  |  |  | Konsistenz über ein Byte oder ein Wort

Eine Kennung für ein Modul im kompakten Format kann somit bis zu 16 Byte oder 16 Worte umfassen. Ein Wort umfasst 16 Bit. Bei der Übertragung wird zuerst das höherwertige und dann das niederwertige Byte eines Wortes übertragen.

Mit der Konsistenz wird dem DP-Master (Steuerung) ein Hinweis über die Verwendung der Daten gemacht: dürfen diese Bytes oder Worte einzeln interpretiert werden, oder müssen sie immer gesamthaft verarbeitet werden. Es ist die Aufgabe des DP-Masters die geforderte Konsistenz sicherzustellen.

Beispiele zur Modulcodierung kompaktes Format:

0x11 = 2 Byte Eingänge - Konsistenz pro Byte
0x22 = 3 Byte Ausgänge - Konsistenz pro Byte
0xF3 = 4 Worte Eingänge und Ausgänge - Konsistenz über das ganze Modul

0x71 = 2 Worte Eingänge und Ausgänge - Konsistenz pro Wort


Spezielles Format

Das spezielle Format umfasst ein bis mehrere Byte. Das erste Byte ist der Header und bestimmt auch die Anzahl der Bytes:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Konfiguration kompaktes Format: erstes Byte
 |  | 0 | 0 |  |  |  |  | Header spezielles Format
 |  |  |  | 0-15 |  |  |  | Anzahl der Byte herstellerspezifisch 0 = keine herstellerspezifischen Daten 1-14 = Anzahl der Byte am Schluss
0 | 0 |  |  |  |  |  |  | Leerplatz
0 | 1 |  |  |  |  |  |  | Es folgt ein Längenbyte für Eingaben
1 | 0 |  |  |  |  |  |  | Es folgt ein Längenbyte für Ausgaben
1 | 1 |  |  |  |  |  |  | Es folgt je ein Längenbyte für E und A

Bit 6 und 7 bestimmen ob weitere Längenangaben folgen. Zuerst kommt immer die Längenangabe für die Ausgänge und dann die Eingänge.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Aufbau des Längenbytes:
 |  | 0-63 |  |  |  |  |  | Länge der E/A Daten: 00 = 1 Byte / Wort 63 = 64 Byte / Worte
 | 1 |  |  |  |  |  |  | Länge in Worten (zu 16 Bit)
 | 0 |  |  |  |  |  |  | Länge in Byte
1 |  |  |  |  |  |  |  | Konsistenz über das ganze Modul
0 |  |  |  |  |  |  |  | Konsistenz über ein Byte oder Wort

Eine Kennung für ein Modul im speziellen Format kann bis zu 64 Byte oder Worte umfassen.

Mit dem speziellen Format ist es möglich, dass der Hersteller weitere Informationen in die Konfiguration einpackt. Diese Werte sind bei DP-V0 frei belegbar. Der Header gibt die Anzahl dieser Bytes an.

Beispiele zur Modulcodierung spezielles Format:

0x00 = leeres Modul
0x03 0x00 0x01 0x02 = keine zyklischen Daten, Byte 0x00,0x01 und 0x02 sind herstellerspezifisch
0x80 0x01 = 2 Byte Ausgabe, keine Eingabe - Konsistenz pro Byte
0x40 0x00 = 1 Byte Eingabe, keine Ausgabe
0xC1 0x43 0x81 0x11 = 4 Worte Ausgänge, 2 Byte konsistente Eingänge, Wert 0x11 herstellerspezifisch

Wenn die Steuerung und der Slave die Protokollerweiterungen DP-V1 unterstützt, sind die herstellerspezifischen Bytes genauer spezifiziert. In der GSD Datei wird mit dem Schlüsselwort

DPV1_Data_Types = 1

angegeben, ob der Slave diese erweiterten Datentypen unterstützt. In der Norm sind die folgenden Werte für Datentypbezeichnungen reserviert:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | EN 50170-2 & DP-V1 | IEC 61158-6
0 | 1 (0x01) |  |  |  |  |  |  | Boolean
 | 2 (0x02) |  |  |  |  |  |  | Integer8
 | 3 (0x03) |  |  |  |  |  |  | Integer16
 | 4 (0x04) |  |  |  |  |  |  | Integer32
 | 5 (0x05) |  |  |  |  |  |  | Unsigned8
 | 6 (0x06) |  |  |  |  |  |  | Unsigned16
 | 7 (0x07) |  |  |  |  |  |  | Unsigned32
 | 8 (0x08) |  |  |  |  |  |  | Floating Point
 | 9 (0x09) |  |  |  |  |  |  | Visible String
 | 10 (0x0A) |  |  |  |  |  |  | Octet String
 | 11 (0x0B) |  |  |  |  |  |  | Date | -
 | 12 (0x0C) |  |  |  |  |  |  | Time of Day
 | 13 (0x0D) |  |  |  |  |  |  | Time Difference | -
 | 14 (0x0E) |  |  |  |  |  |  | Time of Day | -
 | 15 (0x0F) |  |  |  |  |  |  | Time Difference | -
 | 16-31 |  |  |  |  |  |  | Reserviert | -
 | 50 (0x32) |  |  |  |  |  |  | - | Date
 | 52 (0x34) |  |  |  |  |  |  |  | Time of Day
 | 53 (0x35) |  |  |  |  |  |  |  | Time Difference
 | 54 (0x36) |  |  |  |  |  |  |  | Time Difference
 | 57 (0x37) |  |  |  |  |  |  |  | Network Time
 | 58 (0x38) |  |  |  |  |  |  |  | Network Time Difference
 | andere |  |  |  |  |  |  | Reserviert | -
128 – 255 (0x80 – 0xFF) |  |  |  |  |  |  |  | Reserviert für Profile |

In verschiedenen Profilen haben wir die folgenden Werte gefunden:

  1. Profil PROFIBUS PA ab Version 3.0
  2. Profil PROFIdrive ab Version 3.1
  3. DP/PA Link (der Firma Siemens)

Festlegungen im Profil PA V3.0:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Art des Funktionsblockes (FB)
129 (0x81) |  |  |  |  |  |  |  | FB AI
130 (0x82) |  |  |  |  |  |  |  | FB AO
131 (0x83) |  |  |  |  |  |  |  | FB DI
132 (0x84) |  |  |  |  |  |  |  | FB DO
133 (0x85) |  |  |  |  |  |  |  | FB TOTALIZER
134 (0x86) |  |  |  |  |  |  |  | FB PID

Bei diesem Profil wird zwingend ein zweites Byte vorgeschrieben, das wie folgt codiert wird:

2. Byte | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Funktion der Daten
 | 1 |  |  |  |  |  |  |  | Fest für Alle
FB AI |  | - | - | - | - | - | - | x | OUT
FB AO |  |  |  |  |  |  |  | x | READBACK
 |  |  |  |  |  |  | x |  | SP
 |  |  |  |  |  | x |  |  | RCAS_IN
 |  |  |  |  | x |  |  |  | RCAS_OUT
 |  |  |  | x |  |  |  |  | CHECK_BACK
 |  |  | x |  |  |  |  |  | POS_D
FB DI |  | - | - | - | - | - | - | x | OUT_D
FB DO |  |  |  |  |  |  |  | x | READBACK_D
 |  |  |  |  |  |  | x |  | SP_D
 |  |  |  |  |  | x |  |  | RCAS_IN_D
 |  |  |  |  | x |  |  |  | RCAS_OUT_D
 |  |  |  | x |  |  |  |  | RCAS_BACK_D
FB TOTALIZER |  |  |  |  |  |  |  | x | TOTAL
 |  |  |  |  |  |  | x |  | SET_TOT
 |  |  |  |  |  | x |  |  | MODE_TOT

Festlegungen im Profil PROFIdrive V3.1

Ein Modul umfasst ein 1-3 herstellerspezifische Bytes und erlaubt die Festlegung der Standardtelegramme für jede Achse eines Antriebs.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | PROFIdrive | 2. Byte | 3. Byte
249 (0xF9) |  |  |  |  |  |  |  | DXB | DXB Länge: 1 = 1 Wort 2 = 2 Worte |
253 (0xFD) |  |  |  |  |  |  |  | Standard Telegramm | Nummer High Byte | Nummer Low Byte
254 (0xFE) |  |  |  |  |  |  |  | Achsen Seperator | - | -

DP/PA Link:

Für den DP/PA Link hat Siemens die Möglichkeit eröffnet, dass ein MBP Segment als Modularer DP-Slave konfiguriert werden kann. Jeder Slot entspricht einer Adresse im MBP Segment. Nicht belegte Adressen werden mit einem Platzhalter belegt. Die Module komplexer Feldgeräte mit mehr als einem Modul werden zwischen den Start- und End- Modulen eingelegt.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | DP/PA Link:
252 (0xFC) |  |  |  |  |  |  |  | Start komplexer Slave
253 (0xFD) |  |  |  |  |  |  |  | Ende komplexer Slave
254 (0xFE) |  |  |  |  |  |  |  | PA Adresse nicht belegt


Module in der GSD

In einer GSD-Datei werden DP-Slave mit fester und modularer Konfiguration unterschieden.

DP-Slave mit fester Konfiguration

Ein DP-Slave mit einer festen Konfiguration wird in der GSD den Eintrag

Modular_Station = 0

aufweisen und anschliessend einen oder mehrere Einträge für Module in der Art

Module = "module 1" 0x3F ; 16 inputs and 16 outputs

EndModule

Alle aufgeführten Module sind fest im Gerät eingebaut und der Anwender kann die Anzahl und Reihenfolge in einer festen Konfiguration nicht verändern.

DP-Slave mit modularer Konfiguration

In einer modularen Konfiguration wird die maximale Anzahl der Module vorgegeben. Weiter werden die maximale Anzahl der Daten festgelegt.

Modular_Station = 1 ; modulare Station

Max_Module = 4 ; es können max. 4 Module definiert werden

Max_Input_Len = 100 ; Höchstlänge der Eingänge

Max_Output_Len = 100 ; Höchstlänge der Ausgänge

Max_Data_Len = 200 ; Höchstlänge der Ein- und Ausgänge

Die aufgeführten Module sind eine Auswahl und der Anwender kann hier eine bestimmte Auswahl treffen. Dabei darf die Anzahl der Module und auch die Anzahl der Aus- und Eingangsdaten des DP-Slaves nicht überschritten werden.

Module = "Leerslot" 0x00

EndModule

Module="2 Bytes Output" 0x21

EndModule

Module="2 Bytes Input" 0x11

EndModule

Module="6ES7 322-1BF01-0AA0 8DO" 0x83,0x00,0x00,0x2F,0xC8

EndModule

Dieses letzte Modul kann in einem Konfigurationswerkzeug dann so aussehen:

Alternativ können auch mehrere Kennungen in einem Modul aufgeführt werden. Dies kann ich aber nicht empfehlen, da die Zuordnung der Diagnosemeldungen zu den Kennungen und nicht zu den Modulen erfolgt!

Module="1 Byte Input / 1 Byte Output" 0x10 0x20

EndModule


Telegramme auf dem Bus

Es sind zwei Telegramme für die Konfiguration definiert:

Get_Configuration: Der DP-Master kann die aktuelle gültige Konfiguration aus dem DP-Slave auslesen.

Chk_Configuration: Der DP-Master sendet die aktuelle gültige Konfiguration an den DP-Slave zur Bestätigung.


Konfiguration auslesen

Zum auslesen der Konfiguration des DP-Slave von einem DP-Master wird ein leeres SRD Telegramm vom SAP 62 an den SAP 59 gesendet. Der passive DP-Slave antwortet mit den Konfigurationsinformationen:

Addr | Msg type | Req Res | SAPS | Len | Data
1->22 | Get Configuration | Req | 62 -> 59 |  |
1<-22 | Get Configuration | Res | 62 <- 59 | 2 | 11 21

Wenn unterschiedliche Konfigurationen möglich sind, gibt der Slave eine gültge Version an, d.h. er muss die beim Lesen angegebene Konfiguration bei einer Initialisierung akzeptieren!


Konfiguration bestätigen

Der DP-Master bestätigt dem DP-Slave in einem Check-Configuration Telegramm seine Konfiguration. Er sendet dazu ein SRD Dienst an den SAP 62. Der Slave antwortet mit einer Kurzquittung (ein Zeichen).

Addr | Msg type | Req Res | SAPS | Len | Data
1->22 | Chk Configuration | Req | 62-> 62 | 2 | 11 21
1<-22 | Ack | Res |  |  |

Nach der Kontrolle der Konfiguration wechselt der DP-Slave vom Zustand "Wait Configuration" (WCFG) in den Zustand "Data Exchange" (DXCHG).

Mit einer Kurzquittung akzeptiert der Slave dieses Telegramm. Wenn die Konfiguration in diesem Telegramm nicht mit der Konfiguration im DP-Slave übereinstimmt, d.h. nicht kompatibel ist, wird trotzdem eine positive Kurzquittung gesendet. Im nächsten Diagnosetelegramm wird aber ein Konfigurationsfehler Cfg_Fault signalisiert. Eine Ausnahme ist möglich, wenn das Check_Cfg_Mode Bit im Set_Parameter Telegramm gesetzt wurde.


Diagnose

Im PROFIBUS-DP werden umfangreiche Diagnosemöglichkeiten unterstützt. Die aktuelle Diagnose kann von einem DP-Master jederzeit beim DP-Slave abgefragt werden. Diagnosetelegramme können neben der Standarddiagnose weitere gerätespezifische Diagnose in der GSD beschreiben.

Der DP-Slave kann jederzeit im Datentelegramm melden, dass eine aktuelle Diagnose ansteht. Dazu markiert er sein Datentelegramm im zyklischen Datenaustausch als hohe Priorität.


Diagnoseabfrage

Wenn eine Steuerung den Zustand eines DP-Slave wissen will, sendet sie ein leeres SRD Telegramm, diesmal an den SAP 60. Der Slave antwortet mit den Diagnoseinformationen:

Addr | Msg type | Req Res | SAPS | Len | Data
1->22 | Slave Diagnosis | Req | 62 -> 60 |  |
1<-22 | Slave Diagnosis | Res | 62 <- 60 | 6 | 00 04 00 00 00 85

Die Diagnose besteht aus 6 Diagnosebyte und optional aus weiteren Diagnoseblöcken.

Die Diagnose wird angefordert am Anfang und am Ende einer Initialisierungssequenz oder wenn der DP-Slave durch Antworten mit hoher Priorität eine Diagnoseabfrage anfordert:

Im normalen zyklischen Datenaustausch antwortet der DP-Slave immer mit einem Datentelegramm mit tiefer Priorität (Low Priority). Wenn ein Ereignis eine Diagnoseabfrage erfordert, antwortet der DP-Slave beim nächsten Zyklus mit hoher Priorität. Der DP-Master frägt die Diagnose ab und fährt mit dem zyklischen Datenaustausch fort.


Codierung der Diagnose

Das Diagnosetelegramm ist in mehrere Teile aufgeteilt. Die ersten 6 Bytes und deren Bedeutung ist fest in der Norm vorgegeben. Nach den obligatorischen 6 Byte folgen optional ein oder mehrere Diagnose-Blöcke. Diese Diagnoseblöcke können unterschiedliche Formate aufweisen.

Diagnose: Telegramm mit min. 6 und max. 244 Bytes PDU

Status1

Status2

Status3

Adr

Ident H

Ident L

Block1

Block2

Die ersten 6 Byte der Diagnose werden nach folgendem Schlüssel decodiert:

X = Wert 1 → aktiv, Wert 0 → inaktiv

M = Slave sendet 0, Master ergänzt wenn notwendig

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Diagnose Byte 1: Status 1
 |  |  |  |  |  |  | M | Station_Non_Existent: Station existiert nicht. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass dieser Slave keine Antwort gibt.
 |  |  |  |  |  | X |  | Station_Not_ready: Slave ist nicht für den Datenaustausch bereit. Dieses Bit wird vom DP-Slave gesetzt, wenn der DP-Slave noch nicht für den Datenaustausch bereit ist.
 |  |  |  |  | X |  |  | Cfg_Fault: Fehler im Konfigurationstelegramm. Dieses Bit wird vom DP-Slave gesetzt, sobald die vom Master zuletzt erhaltenen Konfigurationsdaten mit denen, die der DP-Slave ermittelt hat, nicht übereinstimmen.
 |  |  |  | X |  |  |  | Ext_Diag: Im Telegramm folgt eine erweiterte Diagnose. Dieses Bit zeigt an, dass ab Byte 7 weitere Diagnoseblöcke folgen.
 |  |  | X |  |  |  |  | Not_Supported: Angeforderte Funktion wird vom Slave nicht unterstützt. Dieses Bit wird von einem Slave gesetzt, sobald eine Funktion angefordert wird, die von diesem Slave nicht unterstützt wird.
 |  | M |  |  |  |  |  | Invalid_Slave_Response: Ungültige Antwort vom Slave. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass ein Slave ungültige Antworten gibt.
 | X |  |  |  |  |  |  | Prm_Fault: Fehler im Parametertelegramm. Dieses Bit wird vom DP-Slave gesetzt, falls das letzte Parametertelegramm fehlerhaft war.
M |  |  |  |  |  |  |  | Master_lock: Slave ist von einem anderen Master gelockt. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass dieser Slave von einem anderen Master schon gelockt wurde.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Diagnose Byte 2: Status 2
 |  |  |  |  |  |  | X | Prm_Req: Slave muss neu parametriert werden. Setzt der DP-Slave dieses Bit, so muss er neu parametriert und konfiguriert werden. Das Bit bleibt so lange gesetzt, bis eine gültige Parametrierung erfolgt ist.
 |  |  |  |  |  | X |  | Stat_Diag: Statische Diagnose. Setzt der DP-Slave dieses Bit, so muss der DP-Master solange Diagnosedaten abholen, bis dieses Bit wieder gelöscht wird. Der DP-Slave setzt zum Beispiel dieses Bit, wenn er keine gültigen Nutzdaten zur Verfügung stellen kann.
 |  |  |  |  | 1 |  |  | Fest auf 1, dient zur Erkennung von Protokollfehler
 |  |  |  | X |  |  |  | WD_On: Watchdog on. Ist dieses Bit auf 1 gesetzt, so ist die Ansprechüberwachung aktiviert.
 |  |  | X |  |  |  |  | Freeze_Mode: Freeze Kommando erhalten. Dieses Bit wird vom DP-Slave gesetzt, sobald dieser DP-Slave das Freeze Kommando erhalten hat.
 |  | X |  |  |  |  |  | Sync_Mode: Sync Kommando erhalten. Dieses Bit wird vom DP-Slave gesetzt, sobald dieser DP-Slave das Sync Kommando erhalten hat.
 | 0 |  |  |  |  |  |  | Reserviert
M |  |  |  |  |  |  |  | Deactivated: Slave ist deaktiviert. Dieses Bit wird von einem Slave immer auf Null gesetzt. Hier merkt sich ein Master, dass dieser Slave deaktiviert ist und somit nicht mehr zyklische kontrolliert werden soll.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Diagnose Byte 3: Status 3
 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Reserviert
X |  |  |  |  |  |  |  | Ext_Diag_Overflow: Ist dieses Bit gesetzt, so liegen mehr Diagnoseinformationen vor, als in einem Telegramm übertragen werden können. Der Master muss eine weitere Diagnose anfordern.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Diagnose Byte 4: Adresse des Masters
0-125 (0x00-0x7E) |  |  |  |  |  |  |  | Adresse des Masters nach Parametrierung Default ist 255 (0xFF)

Wenn der Slave keine gültigen Parameter hat, setzt er diesen Wert auf 255. Sobald gültige Parameter von einem Master der Klasse 1 mit einem Lock eingetroffen sind, wird die Adresse von diesem Master eingetragen. Somit kann man hier erkennen, welcher Master die zyklische Kontrolle über einen Slave ausübt.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Diagnose Byte 5 und 6: Ident Nummer
0-255 (0x00-0xFF) |  |  |  |  |  |  |  | Ident Nummer high Byte
0-255 (0x00-0xFF) |  |  |  |  |  |  |  | Ident Nummer low Byte

In diesen beiden Bytes gibt der Slave seine eigene Ident_Number bekannt.


Diagnoseblöcke

Wenn das Bit Ext_Diag gesetzt ist, folgen ab dem Byte 7 weitere Diagnoseblöcke. Jeder Block beginnt mit einem Headerbyte. Dieses Headerbyte bestimmt den Typ und Länge des Diagnoseblockes.

Es sind drei Formate definiert:

a)Gerätebezogene Diagnose

b)Kennungsbezogene Diagnose

c)Kanalbezogene Diagnose

Kennungsbezogene Diagnose:

Die kennungsbezogene Diagnose bezieht sich auf die Position des Moduls im Konfigurationstelegramm. Ereignisse auf dem entsprechenden Modul werden durch ein gesetztes Bit signalisiert.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 1 |  |  |  |  |  |  | Header Kennungsbezogene Diagnose
 |  | 0 – 63 |  |  |  |  |  | Anzahl der Bytes in der Kennungsbezogenen Diagnose (inkl. dieses Byte)

Erstes Byte der kennungsbezogenen Diagnose:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
 |  |  |  |  |  |  | X | Modul Nr. 1 hat eine Diagnose
 |  |  |  |  |  | X |  | Modul Nr. 2 hat eine Diagnose
 |  |  |  |  |  |  |  | ....
X |  |  |  |  |  |  |  | Modul Nr. 8 hat eine Diagnose

Zweites Byte der kennungsbezogenen Diagnose:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
 |  |  |  |  |  |  | X | Modul Nr. 9 hat eine Diagnose
 |  |  |  |  |  | X |  | Modul Nr. 10 hat eine Diagnose
 |  |  |  |  |  |  |  | ....
X |  |  |  |  |  |  |  | Modul Nr. 16 hat eine Diagnose

Beispiel für Kennungsbezogene Diagnose

Addr | Msg type | Req Res | SAPS | Len | Data
1->14 | Slave Diagnosis | Req | 62 -> 60 |  |
1<-14 | Slave Diagnosis | Res | 62 <- 60 | 10 | 08 04 00 00 00 85 44 00 01 00

In diesem Beispiel hat das Modul mit der 9. Kennung ein Problem signalisiert.

Wenn in einem Modul mehrere Kennungen signalisiert sind, bezieht sich die Diagnose auf die Kennung und nicht auf das Modul.

Kanalbezogene Diagnose:

Die kanalbezogene Diagnose gibt Auskunft über Kanalfehler von Modulen und stellt eine Detaillierung der kennungsbezogenen Diagnose dar. Die kanalbezogene Diagnose hat immer eine feste Länge von 3 Byte

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Kanalbezogene Diagnose Header (1. Byte)
1 | 0 |  |  |  |  |  |  | Header Kanalbezogene Diagnose
 |  | 0 – 63 |  |  |  |  |  | Betroffenes Modul Nr. 1 - 64

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Kanalbezogene Diagnose 2. Byte:
 |  | 0 – 63 |  |  |  |  |  | Nummer des betroffenen Kanals im Modul
0 | 1 |  |  |  |  |  |  | Eingang (Input)
1 | 0 |  |  |  |  |  |  | Ausgang (Output)
1 | 1 |  |  |  |  |  |  | Ein- und Ausgang (Input& Output)

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Kanalbezogene Diagnose 3. Byte
0 | 0 | 1 |  |  |  |  |  | Bit
0 | 1 | 0 |  |  |  |  |  | 2 Bit
0 | 1 | 1 |  |  |  |  |  | 4 Bit
1 | 0 | 0 |  |  |  |  |  | Byte
1 | 0 | 1 |  |  |  |  |  | Wort
1 | 1 | 0 |  |  |  |  |  | 2 Worte
 |  |  | 1 2 3 4 5 6 7 8 9 10-15 16-31 |  |  |  |  | Kurzschluss Unterspannung Überspannung Überlast Übertemperatur Leitungsbruch Obere Grenze überschritten Untere Grenze unterschritten Fehler Reserviert Herstellerspezifisch

Beispiel für eine kanalbezogene Diagnose

Addr | Msg type | Req Res | SAPS | Len | Data
1->14 | Slave Diagnosis | Req | 62 -> 60 |  |
1<-14 | Slave Diagnosis | Res | 62 <- 60 | 9 | 08 04 00 00 00 85 88 41 21

In diesem Beispiel hat das Modul mit der 9. Kennung einen Kurzschluss auf dem 2. binären Eingang.

Selbstverständlich können auch mehrere Diagnoseblöcke in einem Telegramm auftreten:

Addr | Msg type | Req Res | SAPS | Len | Data
1->14 | Slave Diagnosis | Req | 62 -> 60 |  |
1<-14 | Slave Diagnosis | Res | 62 <- 60 | 10 | 08 04 00 00 00 85 44 00 01 00 88 41 21

Gerätebezogene Diagnose:

In DP-V0 ist die gerätebezogene Diagnose nicht weiter spezifiziert. Die Bedeutung der einzelnen Bits muss vom Hersteller in der GSD Datei festgelegt werden.

Header für Gerätebezogene Diagnose:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 |  |  |  |  |  |  | Header Gerätebezogene Diagnose
 |  | 0 - 63 |  |  |  |  |  | Anzahl der Bytes in der gerätebezogenen Diagnose (inkl. Dieses Byte)

Unit_Diag_Bit(0x12)="Kurzschluss auf Kanal 3"

mit diesem Beispiel aus einer GSD wird mit dem 18. Bit in der gerätebezogenen Diagnose ein Kurzschluss auf dem Kanal 3 signalisiert.

Im DP-V1 werden die gerätebezogenen Diagnosen zu Alarmblöcken und/oder Statusmeldungen aufgebaut. Zur Aktivierung dieser Syntax muss im Parametertelegramm das Bit DPV1_Enable auf 1 gesetzt und der entsprechende Alarm freigegeben sein. Der ganze Block wird in einem festen Format aufgebaut.

• Alarm-Block

• Status-Block


Zyklischer Datenaustausch

Sobald der DP-Slave den Zustand DXCH (Data-exchange) erreicht hat, sendet der DP-Master der Klasse 1 - die Steuerung - zyklisch die Ausgangsdaten und erwartet vom DP-Slave als Antwort die Eingangsdaten zurück:

Dabei können unterschiedliche Ereignisse auftreten:

•Der DP-Master hat auch einen Betriebszustand und kann diesen wechseln.

•Mit SYNC und FREEZE Befehlen kann der DP-Master die Verarbeitung der Daten im DP-Slave steuern.

•Der Zyklus der Datenübertragung kann synchronisiert werden.

•Die DP-Slave können Diagnosemeldungen signalisieren.


Zustand des Master Klasse 1

Der DP-Master der Klasse 1 kann in verschiedenen Betriebszuständen sein.

Zustand | Bedeutung
Off-Line | nicht eingeschaltet, keine Buskommunikation
Stop | PROFIBUS läuft, erkennt andere Stationen, DP-Slave werden nicht initialisiert Klasse 2 Kommunikation (MS2) ist möglich
Clear | DP-Slave werden initialisiert und blockiert Eingänge werden gelesen, Ausgänge bleiben leer
Operate | Regelmässige Datenkommunikation mit allen DP-Slave Der Betriebszustand wird signalisiert

Zustände eines DP-Master der Klasse 1

Der Zustand Operate sollte der normale Zustand sein. In diesem Fall sendet der Master Klasse 1 zyklisch die Ausgangsdaten an die Slave und erwartet die Eingangsdaten. Der Betriebszustand Operate wird mit einem Global_Control Telegramm in einem Zeitabstand von 3 mal dem Watchdog (Ansprechüberwachung) signalisiert. Im Global_Control sind dabei beide Byte auf 0 gesetzt.

Der Zustand Clear ist gedacht für den Fall, dass z.B. eine Steuerung gestoppt wurde und keine gültigen Ausgangsdaten mehr verfügbar sind. Der Master signalisiert diesen Zustand sofort mit einem Global_Control Telegramm mit dem „Clear“ Bit gesetzt.

Das Verhalten des Master Klasse 1 ist dabei für jeden Slave unterschiedlich. Die Möglichkeiten des DP-Slave werden in der GSD-Datei beschrieben:

Slave unterstützt Failsafe:

Fail_Safe = 1

In diesem Fall sendet der Master in der zyklischen Datenübertragung im Zustand Clear keine Daten mehr an den Slave. Der Slave setzt selbständig Ersatzwerte oder ergreift Massnahmen, je nach den Definitionen in den Parametern.

Slave unterstützt nicht Failsafe:

Fail_Safe = 0

In diesem Fall sendet der Master Klasse 1 im Zustand Clear die notwendigen Anzahl Bytes an den Slave, aber mit allen Werten auf 0 gesetzt, unabhängig von der Bedeutung dieser Werte für die Anwendung.

Eine Sequenz mit Telegrammen mit Failsafe kann nun so aussehen:


Global Control Telegrammformate

Das Global_Control Telegramm besteht aus zwei Bytes und wird vom Master der Klasse 1 als Multicast an die Adresse 127 (0x7F) und den SAP = 58 (0x3A) gesendet. Dazu wird der SDN Dienst verwendet.

Global Control:

Control

Gruppenzuteilung

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Control
0 | 0 |  |  |  |  |  | 0 | Reserviert
 |  |  |  |  |  | x |  | Clear Data, Signalisierung des Betriebszustandes des Master Klasse 1
 |  |  |  |  | x |  |  | UNFREEZE
 |  |  |  | x |  |  |  | FREEZE
 |  |  | x |  |  |  |  | UNSYNC
 |  | x |  |  |  |  |  | SYNC

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Gruppenzuteilung
 |  |  |  |  |  |  | x | Gruppe 1
 |  |  |  |  |  | x |  | Gruppe 2
 |  |  |  |  | x |  |  | Gruppe 3
 |  |  |  | x |  |  |  | Gruppe 4
 |  |  | x |  |  |  |  | Gruppe 5
 |  | x |  |  |  |  |  | Gruppe 6
 | x |  |  |  |  |  |  | Gruppe 7
x |  |  |  |  |  |  |  | Gruppe 8 oder Isochroner Takt

Wenn der Master Klasse 1 mit einem isochronen Zyklus arbeitet, ist die Gruppe 8 fest für das Taktschlägertelegramm reserviert und kann nicht mehr frei eingesetzt werden.


SYNC und FREEZE Befehle

Durch Anwendungsbefehle können zwischen den zyklischen Daten Kontrollbefehle für SYNC und FREEZE gesendet werden.

SYNC der Ausgänge

Ein SYNC Befehl führt dazu, dass alle mit der Gruppenadresse angesprochenen Slave die Ausgangsdaten zwischenspeichern, und nur beim Auftreten eines SYNC Befehles an die physikalischen Ausgänge weitergeben. Ein SYNC Befehl kann mit einem UNSYNC Befehl aufgehoben werden.

FREEZE der Eingänge

Ein FREEZE Befehl bewirkt, dass alle mit der Gruppenadresse angesprochenen Slave die physikalischen Eingangswerte zwischenspeichern. Dieser Zwischenspeicher wird nur mit einem weiteren FREEZE Befehl neu geladen. Mit einem UNFREEZE kann diese Betriebsart wieder ausgeschaltet werden.

Diese SYNC und FREEZE Befehle werden mit einem Global Control (GC) als SDN Dienst übertragen.

Die nachfolgenden Darstellungen zeigen das Beispiel einer Synchronisation der Ausgänge:

Prinzip der Synchronisation von Ausgängen

Prinzip der Synchronisation von Ausgängen

Das Ziel dieser Synchronisationsbefehle ist die zeitgleiche Ausgabe von Daten an den Prozess durch unterschiedliche DP-Slave (Feldgeräte). Die Daten werden beim PROFIBUS immer nacheinander vom DP-Master an die DP-Slave übergeben. Im Normalbetrieb hat jeder DP-Slave die Möglichkeit, diese Daten sofort zu verarbeiten. Somit werden diese Ausgangsdaten oder Sollwerte zu unterschiedlichen Zeiten verarbeitet, was zu Inkonsistenzen in einer verteilten Anwendung führen kann. Im synchonisierten Betrieb werden die Daten immer noch nacheinander übertragen aber erst beim SYNC Befehl durch die Anwendung übernommen.

Synchronisation der Ausgänge mehrer Slave

Synchronisation der Ausgänge mehrer Slave

Erst mit dem Einsatz des Isochronen Zyklus wird nicht nur die Datenübernahme, sondern auch der Applikationszyklus im DP-Slave synchronisiert.

Die Funktion des FREEZE Befehls ist Analog wie beim SYNC, nur werden anstelle der Ausgänge sychronisiert die Eingänge mit einem FREEZE Befehl eingefroren und anschliessend abgeholt.

Diese SYNC und FREEZE Befehle sind optional. In der GSD Datei wird darum festgehalten, ob diese Funktionen von diesem DP-Slave auch unterstützt werden:

Freeze_Mode_supp = 1

Sync_Mode_supp = 1

Die heute auf dem Markt verfügbaren PROFIBUS Bausteine (ASICs) unterstützen diese FREEZE und SYNC Befehle mit der Hardware. Diese Funktionen sind somit bei den meisten DP-Slave verfügbar.

Der DP-Master muss im Set Parameter Telegramm die geplante Verwendung von FREEZE und SYNC beim DP-Slave parametrieren.


Direkter Datenaustausch

Bei Bedarf kann ein DP-Slave auch direkt mit einem anderen DP-Slave Daten austauschen. Diese Funktion wird auch als Querverkehr bezeichnet.

Dieser direkte Datenaustausch gehört zu den DP-V2 Protokollerweiterungen und ist optional. Er wird mit dem MSRD Dienst realisiert.

Beim direkten Datenaustausch sendet der DP-Master der Klasse 1 (MC1) die Ausgangsdaten an einen DP-Slave. Dieser antwortet mit seinen Eingangsdaten und sendet diese an Alle (Broadcast). Dieser DP-Slave wird somit als Publisher (Veröffentlicher) bezeichnet. Weitere DP-Slave können nun als Subscriber (Abonnenten) arbeiten, und diese veröffentlichten Daten abonnieren.

Diese Funktion des direkten Datenaustausches wird in den Normen als Data Exchange Broadcast bezeichnet.

In den nächsten Abschnitten sollen nun die Bedingungen und Funktionen des Publishers und des Subscribers näher erläutert werden.


Publisher

Der Publisher veröffentlicht die zyklischen Daten für alle anderen Teilnehmer. Es müssen dabei die folgenden Bedingungen erfüllt werden:

Der DP-Master der Klasse 1 - die Steuerung - markiert im Set_Parameter Telegramm bei der Initialisierung des zyklischen Datenaustausches im Byte 8 das Bit "der Slave soll als Publisher arbeiten".

Gleichzeitig wird die min T SRD auf 37 tBit gesetzt. Damit wird sichergestellt, dass die Antwort des Publishers mindestens die 33 Bitzeiten für ein SYN verzögert wird und somit von allen Teilnehmern als Beginn einer neuen Telegrammsequenz erkannt wird.

Bei den zyklischen Daten ersetzt der Master den SRD Dienst durch den MSRD Dienst mit dem Funktionscode 7. Der Slave antwortet mit dem Funktionscode 8 oder 10 und adressiert die Antwort an die broadcast Adresse 127.

Ein DP-Slave der als Publisher arbeiten kann, zeigt dies in der GSD-Datei mit dem Schlüsselwort

Publisher_supp = 1

Dazu ist mindestens die Revision 3 der GSD Syntax erforderlich.

Hinweis:

Diese publisher Funktionen sind sehr einfach zu realisieren. Die meisten ASICs von Siemens enthalten die publisher Funktionen, auch wenn der Hersteller dies nicht freigeschaltet hat. Es ist darum möglich bei einfachen Feldgeräten ohne Prozessor die z.B. mit einem LSPM2 realisiert wurden, die GSD mit dem Schlüsselwort Publisher_supp zu ergänzen und die publisher Funktion kann von einem entsprechenden Master eingeschaltet werden!


Subscriber

Der Subscriber abonniert die Daten von einem oder mehreren Publishern.

Der Master sendet in seinem Set_Parameter Telegramm eine entsprechende Subscriber Tabelle und zeigt damit auf, auf welche Publisher der Subscriber sich abonnieren soll.

Diese Funktion ist etwas umfangreich zu implementieren und wird vor allem bei Intelligenten Slave (z.B. Steuerungen oder Antrieben) eingesetzt.

Ein DP-Slave der als Subscriber arbeiten kann, zeigt dies in der GSD-Datei mit dem Schlüsselwort

Subscriber_supp = 1

Dazu ist mindestens die Revision 4 der GSD Syntax und die Unterstützung der DP-V1 Parameter erforderlich.


Zykluszeiten

Die Zykluszeit des PROFIBUS-DP bestimmt die möglichen Reaktionszeiten eines reaktiven Systemes. In der Praxis kommt diese Zykluszeit zweimal in der Systemreaktionszeit vor und beeinflusst die Systemreaktionszeit um die 2 bis 20% d.h. der Anteil der Buszykluszeit an der gesamten Reaktionszeit des Systems ist in der Regel relativ klein.

In einem PROFIBUS-DP Netzwerk können wir drei verschiedene Zykluszeiten unterscheiden:

1.Der DP-Master der Klasse 1 (Steuerung) arbeitet sein Steuerungsprogramm in einer bestimmten Zykluszeit ab. Vor jedem Zyklus werden die Eingangsdaten gelesen und nach dem Zyklus stehen neue Ausgangsdaten zur Verfügung. Dies wird als Master-Applikationszyklus bezeichnet.

2.Der DP-Slave nimmt die Ausgangsdaten, bearbeitet seine Gerätefunktionen und stellt die Eingangsdaten in einer bestimmten Zykluszeit zur Verfügung. Dies wird als Slave-Applikationszyklus bezeichnet.

3.Der PROFIBUS kopiert zyklisch die Ausgangsdaten vom DP-Master auf den DP-Slave und die Eingangsdaten vom DP-Slave auf den DP-Master. Dies wird hier als Buszyklus bezeichnet.

Beim PROFIBUS DP können nun drei verschiedene Betriebsarten unterschieden werden:

Frei laufender Buszyklus

Die Zyklen des Masters, des PROFIBUS und der DP-Slaves sind nicht miteinander gekoppelt. Damit ein solches System funktionieren kann, sollte die Zykluszeit des DP-Slaves kleiner als die Zykluszeit des PROFIBUS und diese wiederum kürzer als die Zykluszeit der Steuerung sein. Die Zykluszeit des PROFIBUS-DP sollte somit zwischen den beiden anderen Zykluszeiten liegen. Wir geben hier eine einfache Schätzformel für die Buszykluszeit und die Rechnung für ein Einzelmastersystem. Projektierungswerkzeuge rechnen die Zykluszeiten für eine geplante Anlage automatisch aus.

Äquidistanter Buszyklus

Die Dauer des Buszyklus wird fest projektiert und vom DP-Master auf die Mikrosekunde genau eingehalten. Dies ist erst mit einem ASIC ASPC2 ab Version E (ca. 1999) möglich.

Isochroner Zyklus

Zusätzlich zum festen Buszyklus werden der Slave-Applikationszyklus und - mit Einschränkungen - der Master Applikationszyklus auf den Buszyklus synchronisiert.


Rechnung für Einzelmaster

Für Einzelmastersyteme kann die minimale Buszykluszeit TBZyklus genauer berechnet werden.

Wir berechnen zuerst die Dauer eines PROFIBUS Telegramms:

Jedes Byte in einem Telegramm wird als 11 Bit übertragen (Siehe dazu den Abschnitt über die UART Codierung). Zyklische Nutzdaten werden in einem SD2 Telegramm ohne SAPs übertragen. Ein SD2 Telegramm ohne SAPs umfasst 9 Bytes zusätzlich für Struktur, Adressen und Fehlererkennung, d.h. 99 Bits. Statusabfragen sind ein SD1 Telegramm (ohne Daten) mit 6 Byte und somit 66 Bits und ein Token Telegramm mit SD4 umfasst 3 Byte und somit 33 Bits (Siehe dazu den Abschnitt über die Telegrammformate).

Somit haben wir die Telegrammlängen:

SD1_Telegramm = 66 Bits

SD2_Telegramm = Bytes x 11 + 99 Bit (ohne SAPs)

SD2_Telegramm = Bytes x 11 + 121 Bit (mit SAPs)

SD4_Telegramm = 33 Bits (Token)

Ein Bit hat je nach Bitrate eine unterschiedliche Dauer: Für 12 MBit/s ist tBit = 83 ns und bei 1.5 MBit/s wird tBit = 0,67 µs.

Nun bestimmen wir die Zykluszeit für einen DP Meldungszyklus:

wobei

TID1 = “Idle Time” bis der Master für neuen Meldungszyklus bereit ist

TID1 ≈ 37 tBit (für Master basierend auf ASPC2 ASICs)

TMeldungszyklus = TSYN + 2 x SD2_Telegramm + typTSDR + TID1

TMeldungszyklus = 33 + 2x(Bytes x 11 + 99) + 32 + 37

TMeldungszyklus ≈ 300 + Bytes x 11 tBit

Der Buszyklus wird somit

TBZyklus = (TToken + TGAP + Slave x TMeldungszyklus ) tBit

wobei für die einzelnen Werte gilt:

TGAP ist die Zeit um einen GAP-Update durchzuführen. Hier wird der schlechteste Fall angenommen, wenn kein Teilnehmer antwortet und somit die TSL abgewartet werden muss:

TGAP = TSYN + SD1_Telegramm + TSL

TToken ist die Zeit um einen Token zu senden:

TToken = TSYN + SD4_Telegramm + TID2

TID2 ist die „Idle Time“ bis der Master bereit ist einen Token zu senden, typisch 150 tBit

Bytes = Anzahl Input und Output Data Bytes gesammthaft

Slaves = Anzahl der Slaves

Mit TSL wird die maximale Wartezeit auf eine Antwort angenähert. Diese Zeit ist anhängig von der Bitrate und wird hier mit einer absoluten Zeit von 75 µs angenähert

Diese Formel berücksichtigt keine Diagnosemeldungen, keine Telegrammwiederholungen, keine zusätzlichen azyklischen Telegramme und auch keine zusätzlichen Master und stellt somit nur ein ideales Einmastersystem dar!


Schätzformel

Damit eine einfache Abschätzung der PROFIBUS-DP Buszykluszeit möglich ist, können die Erkenntnisse aus den vorangehenden Kapiteln auf die folgende Formel reduziert werden:

TBZyklus = (380 + Slave x 300 + Bytes x 11 ) x tBit + 75 μs

oder direkt mit der Bitrate

TBZyklus = (380 + Slave x 300 + Bytes x 11 )/Bitrate + 75 μs

wobei

TBZyklus = Schätzung der Buszykluszeit ±10%
Slaves = Anzahl der DP-Slave Stationen im Netzwerk
Bytes = Anzahl der Bytes aller Eingänge und aller Ausgänge zusammengezählt
tBit = Dauer eines Bits, entspricht dem Kehrwert der Bitrate des PROFIBUS

Diese Schätzformel ergibt eine Grössenordnung ±10% für Biraten > 500 kBit/s und keinen minimal- oder maximal-Wert!

Einfaches Beispiel:

Wir haben einen DP-Master der 640 digitale Ein- und Ausgänge kontrollieren muss. Wir fassen diese digitalen Daten optimal auf 80 Bytes zusammen und verteilen diese auf insgesamt 20 Klemmenblöcke als DP-Slave. Wir wollen eine Bitrate von 1.5 MBit/s einsetzen.

Slave = 20, Bytes = 80, Bitrate = 1500 kBit/s d.h. tBit = 0,667 μs

Wir erhalten eine geschätzte Buszykluszeit von

TBZyklus = (380 + 20 x 300 + 80 x 11) x 0,667 + 75 = 4917 μs ≈ 5 ms

Umfangreicheres Beispiel:

Wir haben eine SPS als DP-Master die verschiedene Feldgeräte als DP-Slave mit einer Zykluszeit unter einer ms kontrollieren soll. Wie gross muss die Bitrate mindestens sein?

Adresse | Anzahl Eingangsbytes | Anzahl Ausgangsbytes
2 | 3 | 3
3 | 5 | 0
4 | 10 | 20
5 | 0 | 5
Summe | 18 | 28

Die minimale Bitrate lässt sich bestimmen mit

Bitrate > (380 +Slaves x 300 + Bytes x 11) / (TBZyklus - 75 μs )

Mit Slave = 4, Bytes = 46 und einer Buszykluszeit von 1 ms erhalten wir eine minimale Birate von 2.2 MBit/s. Wir wählen darum die nächst höhere einstellbare Bitrate von 3 MBit/s. Die Nachrechnung mit der Schätzformel ergibt eine Buszykluszeit von 0,77 ms, was unsere Spezifikation erfüllt.


Schätzformel PA

Für PROFIBUS PA kann die Schätzformel weiter vereinfacht werden. Die Daten werden mit der festen Bitrate 31,25 kBit/s übertragen und wir treffen die Annahme, dass für jeden Prozesswert (PV) 5 Byte übertragen werden. Die Dauer für die Übertragung eines solchen Prozesswertes liegt somit ungefähr bei 1,1 ms ( = 5x8 Bit).

Je nach eingesetztem Koppler müssen andere Busparameter eingestellt werden, was die Berechnung etwas verändert.

für Bitrate = 45,45 kBit/s gilt:

TBZyklus ≈ 21,3 + (14,5 * Slaves) + (1,1 * PV) ms

für Bitrate = 93,75 kBit/s gilt:

TBZyklus ≈ 29,5 + (11,5 * Slaves) + (1,1 * PV) ms

Diese Schätzformeln stimmen in praktischen Messungen relativ gut, solange kein weiterer Master eingefügt und keine azyklischen Daten übertragen werden. Ein azyklischer Dienst benötigt in der Regel zwischen 40 und 60 ms.

Beim Einsatz eines transparenten Kopplers oder eines DP/PA Link müssen die aufgeführten PA Buszykluszeiten und die DP Buszykluszeit zusammengezählt werden, um die Gesamt-Reaktionszeit zu bestimmen. Oftmals ist dabei die DP Buszykluszeit vernachlässigbar klein im Verhältnis zur PA Buszykluszeit.


Äquidistanter Zyklus

Die Buszykluszeit TDP in einem multimaster System hängt von verschiedenen Faktoren ab:

•wie viele Master der Klasse 2 sind neben dem Master der Klasse 1 im System aktiv?

•wie viele azyklische Daten werden vom Master der Klasse 1 oder von den Master der Klasse 2 übertragen?

Um die Buszykluszeit konstant zu halten - äquidistant - wird das folgende Verfahren angewendet:

Aufbau des äquidistanten Buszyklus

Aufbau des äquidistanten Buszyklus

Der DP-Master der Klasse 1 beginnt mit dem zyklischen Datenaustausch. Er kann dies mit dem Senden eines Global Control (GC) Telegramms signalisieren. Anschliessend sendet er als erstes - sofern notwendig - ein GC für die Signalisierung seines Betriebszustandes. Nun folgen die zyklischen Daten für alle DP-Slave. Der Zeitbedarf der zyklischen Daten kann wie für einen Einzelmaster berechnet werden. Anschliessend arbeitet der Master der Klasse 1 einen azyklischen Dienst ab (MS1) und gibt den Token (TC) weiter an einen allfälligen Master der Klasse 2. Dieser Master arbeitet seinerseits einen azyklischen Dienst (MS2) ab und gibt den Token wieder an den Master der Klasse 1 zurück.

In einem nicht äquidistanten Zyklus wird hier der Master der Klasse 1 sofort mit der zyklische Kommunikation weiter fahren. Die Dauer des Buszyklus hängt somit in starkem Umfang von der Anwesenheit eines zweiten Masters und dem Bedarf an azyklischen Diensten ab.

Bei einem äquidistanten Buszyklus wartet der Master der Klasse 1, bis die Zykluszeit abgelaufen ist, bevor er einen weiteren Buszyklus startet. Dazu macht er eine "aktive Pause" (ASP). Er sendet immer ein FDL Status Request Telegramm an sich selber. Damit ist der Bus für alle anderen Teilnehmer aktiv und kontrolliert. Erst wenn die Zeit für ein solches Telegramm zu kurz wird - z.B. die Restzeit auch kleiner als T SL ist - macht der zyklische Master eine "passive Pause" (PSP) bis die Buszykluszeit abgelaufen ist. Auf die Mikrosekunde genau kann nun - wenn erwünscht - wieder ein Takt-Telegramm gesendet werden oder der zyklische Datenaustausch gestartet werden.

Damit der äquidistante Zyklus eingehalten werden kann, muss diese Zeit genügend gross gewählt werden und die Anzahl der erlaubten azyklischen Dienste bei einem Master der Klasse 2 muss begrenzt werden.


Isochroner Zyklus

In einem Isochronen Betrieb werden die Slave-Applikationszyklen und im beschränkten Umfang auch die Master-Applikationszyklen auf den äquidistanten Buszyklus des PROFIBUS synchronisiert.

Aufbau des isochronen Buszyklus

Aufbau des isochronen Buszyklus

Der äquidistante DP-Zyklus TDP bestimmt den Zyklus aller Teilnehmer.

Der DP-Master hat einen Master-Applikationszyklus TMAPC der in der Regel länger als der DP-Zyklus dauert. Die Kommunikationsbaugruppe meldet der Anwendung das Ende der zyklischen Daten (TM) damit mit der Berechnung der Regelalgorithmen unverzüglich begonnen werden kann.

Der DP-Slave hat einen lokalen Slave-Applikationszyklus TSAPC, der ein ganzzahliger Teiler des DP-Zyklus ist. Dieser lokale Slave-Applikationszyklus wird wie eine lokale Uhr eingesetzt und wird als Phase Locked Loop (PLL) auf die Taktschlägertelegramme (Global Control mit Gruppe 8) des PROFIBUS synchronisiert. Die Lageistwerte (Eingangsdaten TI) werden eine definierte Anzahl von lokalen Zyklen vor dem PROFIBUS Zyklus erfasst und die Sollwerte (Ausgangsdaten TO) werden zu einer bestimmten Anzahl lokaler Zyklen später übernommen. Im einfachsten Fall sind die beiden Zeiten TI und TO Null.

Somit braucht es für den Isochronen Buszyklus die folgenden Parameter:

Parameter | Einheit | Erlaubte Werte
TBASE_DP | Zeitbasis für TDP (in Einheiten von 1/12µs) | 375, 750, 1500, 3000, 6000, 12000 (Der Wert 1500 muss zwingend unterstützt werden)
TDP | DP-Zyklus (in Einheiten von TBASE_DP) | 1 bis 216-1 (min 500µs, max 32 ms)
TMAPC | Master-Applikationszyklus (in Einheiten von TDP) | 1 to 14
TBASE_IO | Zeitbasis (in Einheiten von 1/12µs) für die Zeiten TI und TO | 375, 750, 1500, 3000, 6000, 12000 (Der Wert 1500 muss zwingend unterstützt werden)
TI | Zeit TI (in Einheiten von TBASE_IO) | 0 (Spezialfall), 1 to 216-1
TO | Zeit TO (in Einheiten von TBASE_IO) | 0 (Spezialfall), 1 to 216-1
TDX | Zeit TDX (in Einheiten von 1/12ms) | 0 (Spezialfall), 1 to 232-1

Die notwendigen Einstellungen werden im Parametertelegramm als Datenblock an den DP-Slave übertragen.

In der GSD Datei werden die Möglichkeiten eines DP-Slave für den Isochronen Zyklus beschrieben. Diese Schlüsselwörter sind erst ab Revision 4 der GSD Syntax definiert.

Isochron_Mode_supp = 1

Dieser DP-Slave unterstützt den isochronen Buszyklus. Wenn hier 0 (=FALSE) steht, sind alle anderen Parameter ungültig.

Isochron_Mode_required = 0

Wenn dieser Wert 1 (=TRUE) ist, kann der DP-Slave nur mit einem isochronen Buszyklus arbeiten. Dies kann zum Beispiel bei Lageregelungen mit Antrieben der Fall sein.

TBASE_DP = 1500 ; 1500 * 1/12 µs = 125 µs

TDP_MAX = 256 ; 256 * 125µs = 32ms

TDP_MIN = 16 ; 16 * 125µs = 2ms

TDP_MAX sollte 32 ms nicht überschreiten. Auf Grund dieser Werte wird ein Planungswerkzeug den DP-Zyklus als ganzzahliges Vielfaches der einzelnen Parameter planen.

T_PLL_W_MAX = 12 ; equal 12*1/12 μs = 1μs

Der maximale Wert des Jitters welcher von diesem Feldgerät noch akzeptiert werden kann basierend auf 1/12 μs.

TBASE_IO = 1500 ; 1500 * 1/12 μs = 125μs

TI_MIN = 1 ; 1 * 125μs = 125μs

TO_MIN = 1 ; 1 * 125μs = 125μs

Der Wert TI_MIN = TO_MIN = 0 zwingt den Master die Parameter TO und TI auf 0 zu setzen (vereinfachter Betrieb).


MS1/MS2: Azyklische Daten

Beim PROFIBUS werden Master der Klasse 1 und 2 von den Slave Geräten unterschieden. Diese Geräte kommunizieren mit unterschiedlichen Kommunikationsmodellen.

Modell der PROFIBUS Kommunikation

Eine Steuerung kommuniziert mit dem MS0 Protokoll mit seiner Peripherie. Dieses Protokoll ist in einem vorangehenden Kapitel beschrieben worden, und wird hier nicht mehr weiter erläutert.

Wir betrachten in diesem Kapitel wie eine Steuerung (Master der Klasse 1) oder eine Engineeringstation (Master der Klasse 2) mit dem Slave azyklisch Parameter austauscht.

Komplexe Slave-Geräte (z.B. in der Prozessindustrie) benötigen erweiterte Kommunikationsfähigkeiten. Dies beinhaltet azyklischer Datenaustausch, ein erweitertes Alarmmodell und die Einführung von komplexen Datenstrukturen. In diesem Kapitel werden die notwendigen Erweiterungen zum Standard DP-V0 Protokoll erläutert. Wir gehen dabei davon aus, dass der Leser mit den Grundlagen vom PROFIBUS DP-V0 Protokoll vertraut ist.

Diese Erweiterungen werden als DP-V1 bezeichnet und sind so angelegt, dass ein DP-Slave immer mit einem Standardmaster mit den Grundfunktionen DP-V0 kommunizieren kann.

Im Standard PROFIBUS-DP kann eine Master der Klasse 1 mit einem DP Slave zyklische Daten austauschen. Ein Master der Klasse 2 kann gleichzeitig mit dem Master Klasse 1 kommunizieren und die Konfiguration kontrollieren. Beim Zugriff auf den DP-Slave ist der Master der Klasse 2 aber in seinen Funktionen stark eingeschränkt: Die zyklischen Prozessdaten können nur gelesen, nicht aber geschrieben werden.

Im erweiterten Protokoll DP-V1 werden neben den zyklischen Prozessdaten noch zusätzliche Parameterdaten spezifiziert. Diese Parameterdaten können vom Master Klasse 1 und 2 über spezielle Kommunikationsbeziehungen gelesen und geschrieben werden. Zusätzlich wird für eine erweiterte Diagnose ein Alarmhandling eingeführt.

Wir werden somit die folgenden Kapitel ansprechen müssen:

-Wie werden die Parameterdaten in diesen Geräten modelliert?

-Wie werden die azyklischen Kommunikationen zwischen Master der Klasse 1 und Slave aufgebaut und verwaltet?

-Wie werden die azyklischen Kommunikationen zwischen Master der Klasse 2 und Slave aufgebaut und verwaltet?

-Wie werden die Alarme behandelt.


Allgemeines

Für die MS1 und MS2 Verbindungen wird ein erweitertes Gerätemodell des DP-V1 verwendet. Zusätzlich werden die Funktionen für Identifikation und den Unterhalt für alle Geräte als obligatorisch erklärt.


DP-V1 Gerätemodell

Ein Standard DP-Slave kann fest oder modular aufgebaut sein. Die Anzahl und Struktur der einzelnen Module bestimmt die Anzahl der zyklischen Prozessdaten, die im Datenaustausch ausgetauscht werden.

Bei einem DP-V1 Slave werden alle Daten in Slots aufgeteilt. Im Falle eines modularen Slave entspricht die Nummer des Moduls der Nummer des Slots. Bei einem kompakten Slave können die Slots frei einzelnen virtuellen Geräteteilen zugeordnet werden.

Datenmodell der Zyklischen Kommunikation

Datenmodell der Zyklischen Kommunikation

Innerhalb eines Slots werden die einzelnen Variablem mit einem Index nummeriert. Jede Variable muss in einem PROFIBUS Telegramm übertragen werden können und ist somit auf maximal 244 Byte Grösse beschränkt. Jeder Master der DP-V1 unterstützt, muss diese maximale Telegrammgrösse unterstützen.

Datenmodell im Gerät

Datenmodell im Gerät

Jedes Gerät wird in verschiedene Anwendungen unterteilt (Application Process Instance = API). Die API=0 enthält die zyklischen Daten und denjenigen Satz von Prozessparametern, der vom Master Klasse 1 (und default auch Klasse 2) verändert werden kann. Neben diesem API=0 können in einem Gerät weitere Anwendungen definiert werden. In diesen APIs werden die Parameterdaten neu mit Slot und Index nummeriert und können nur mit einem Master Klasse 2 verändert werden.

Beim Verbindungsaufbau wird der Master das API selektieren und einen SCL (Security Level) angeben. Bei der weiteren Kommunikation mit Read und Write werden mit Slot und Index die Variablen des API adressiert, die für diesen SCL freigegeben sind.


I&M Funktionen

Für die Identifikation und Maintenance (I&M) sind beim PROFIBUS Datenrecords (Datenstrukturen) definiert worden, die bei allen Geräten mit DP-V1 obligatorisch implementiert werden müssen. Diese Datenstrukturen dienen dazu das Feldgerät eindeutig zu identifizieren und den Unterhalt zu erleichtern.

Diese Informationen werden in die folgenden Strukturen unterteilt:

I&M0 (65000): Gerätespezifische Basisinformationen

Der Hersteller und das Gerät mit seiner Hardware- und Software-Versionen wird eindeutig identifiziert.

I&M1 (65001): Informationen zum Ort

Wie wird das Gerät in der Anlage bezeichnet - englisch der Tag - und wo wurde es installiert.

I&M2 (65002): Informationen zur Zeit

Wann wurde das Gerät Installiert

I&M3 (65003): Beschreibung

Hier kann der Hersteller zusätzliche Informationen angeben.

Jede Struktur umfasst immer 64 Bytes.

Die I&M0 Daten sind obligatorisch in allen DP-V1-Slave zu implementieren (ab 2006). Die anderen Daten sind optional. Einzelne Profile können weitere Datenrecords festlegen.

Die I&M Daten werden mit dem Call-Dienst aus dem Gerät gelesen oder geschrieben.


I&M0 Basisinformationen

Die 64 Bytes des I&M0 Records sind wie folgt aufgeteilt:

Bezeichnung | Bedeutung | Bytes | Datentyp
Header | Für den Hersteller reservierten Bereich. | 10 | Herstellerabhängig
MANUFACTURER ID | Kennung des Herstellers | 2 | Unsigned16
ORDER_ID | Herstellerspezifische Bestellnummer | 20 | VisibleString
SERIAL NUMBER |  | 16 | VisibleString
HARDWARE REVISION | Hardware Ausgabestand | 2 | Unsigned16
SOFTWARE REVISION | Firmware Revision | 4 | VisibleString(1), Unsigned8(3)
REVISION COUNTER | Revisionszähler | 2 | Unsigned16
PROFILE_ID | Profil | 2 | Unsigned16
PROFILE SPECIFIC TYPE | Geräteklasse | 2 | OctetString
IM_VERSION |  | 2 | Unsigned8
IM_SUPPORTED |  | 2 | OctetString

Die Kennung des Hersteller (MANUFACTURER_ID) ist eine Nummer. Die XML Datei auf der Webseite unter http://www.profibus.com/IM/Man_ID_Table.xml gibt zu jeder Hersteller-Nummer den Namen der Firma und optional einen Link auf die Webseite der Firma. Zusammen mit der ORDER_ID kann so eine Webanfrage gestartet werden und Informationen zum entsprechenden Produkt abgefragt werden. Die Idee ist, dass ein Engineering Werkzeug diese XML-Datei regelmässig herunterladen und aktualisieren kann.


Azyklische Dienste

Die azyklischen Dienste enthalten im ersten Byte immer eine Funktionsnummer (Function_Num). Diese Funktionsnummer bestimmt den azyklischen Dienst. Bei der Antwort (Response) signalisiert das 7. Bit ob bei der Anfrage (Request) ein Fehler aufgetreten ist.

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | DP-V1 Dienste: 1. Byte Function_Num
X |  |  |  |  |  |  |  | 0 positive Antwort / 1 Fehlermeldung
 | (0x48) (0x51) (0x56) (0x57) (0x58) (0x5C) 94 (0x5E) 95 (0x5F) |  |  |  |  |  |  | Idle DPV1_Data_Transport DPV1_Resource_Manager DPV1_Initiate DPV1_Abort DPV1_Alarm_Ack DPV1_Read DPV1_Write

Die Codierung der Dienste wird in der nachstehenden Tabelle aufgelistet.

DPV1 Dienst | Function Num | Richtung | Weitere Parameter
Initiate | 0x57 | REQ | reserved (3 Octets), Send_Timeout, Features_Supported, Profile_Features_Supported, Profile_Ident_Number, Add_Addr_Param
 |  | RES | Max_Len_Data_Unit, Features_Supported, Profile_Features_Supported, Profile_Ident_Number, Add_Addr_Param
Abort | 0x58 | REQ | Subnet, Instance/Reason_Code
Read | 0x5E | REQ | Slot_Number, Index, Length
 |  | RES | Slot_Number, Index, Length, Data
Write | 0x5F | REQ | Slot_Number, Index, Length, Data
 |  | RES | Slot_Number, Index, Length
Alarm Ack | 0x5C | REQ | Slot_Number, Alarm_Type, Specifier
 |  | RES | Slot_Number, Alarm_Type, Specifier
Idle | 0x48 | REQ | -
 |  | RES | -
Data Transport | 0x51 | REQ | Slot_Number, Index, Length, Data
 |  | RES | Function_Num (0x51), Slot_Number, Index, Length, Data
Resource Manager | 0x56 | REQ | Function_Num (0x56), Server_SAP, Send_Timeout

Bei einer negativen Antwort enthält die Antwort immer 4 Byte: Nach der Funktionsnummer mit gesetztem 7. Bit folgen immer die folgenden Bytes:

Function_Num

Error_Decode

Error_Code1

Error_Code2

mit den Bedeutungen:

Byte Error_Decode: Art der Statusmeldung

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 - 127 128 (0x80) 129 - 253 254 (0xFE) 255 (0xFF) |  |  |  |  |  |  |  | Reserviert PROFIBUS DP Reserviert PROFIBUS-FMS HART

Byte Error_Code_1: besteht aus der Fehlerklasse (Error_Class Bit 4 bis 7) und dem Error_Code (Bit 0 bis 3). Die Bedeutung des Fehlercodes ist abhängig von der Fehlerklasse:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Error_Class | Error_Code
0-9 |  |  |  |  |  |  |  | Reserviert |
10 |  |  |  | 0 1 2 3 – 7 8 9 10 – 15 |  |  |  | Fehler der Anwendung | Read error Write error Module failure Reserved Version conflict Feature not supported User specific
11 |  |  |  | 0 1 2 3 4 5 6 7 8 9 10 - 15 |  |  |  | Zugriffsfehler | Invalid index Write length error Invalid slot Type conflict Invalid area State conflict Access denied Invalid range Invalid parameter Invalid type User specific
12 |  |  |  | 0 1 2 3 8 4 – 7 9 - 15 |  |  |  | Resourcenfehler | Read constrain conflict Write constarint conflict Resource busy Resource unavailable Version conflict Reserved User specific
13-15 |  |  |  |  |  |  |  | User specific |

Byte Error_Code_2: Weitere herstellerspezifische Fehlercodes.


MS1 Verbindung

Hier wird beschrieben, wie ein Master der Klasse 1 (Steuerung) mit einen DP-Slave (Feldgerät) azyklische Daten austauschen kann.


Verbindungskontrolle

Damit eine Steuerung als DP-Master der Klasse 1 azyklisch Parameterdaten in einem Salve verändern kann, muss sie zuerst eine zyklische MS0 Kommunikation erstellen. Sie muss dem DP-Slave die richtigen Parameter zustellen (Set_Parameter) und die Konfiguration bestätigen (Chk_Config). Somit ist der DP-Slave gelocked und kann nur von einem einzigen DP-Master der Klasse 1 angesprochen werden.

Die Möglichkeiten eines DP-Slaves eine MS1 Verbindung zu unterstützen werden in der GSD Datei beschrieben:

DPV1_Slave = 1

C1_Read_Write_supp = 1

Mit diesen beiden Schlüsselwörtern in der GSD Datei wird festgehalten, dass dieses Feldgerät eine MS1 Verbindung unterstützt.

C1_Max_Data_Len = 32

MIt diesem Schlüsselwort kann eine maximale Länge der azyklischen Daten festgelegt werden.

C1_Response_Timeout = 10 ; (1...65535) 10x 10 ms = 100 ms

Mit diesem Schlüsselwort wird eine maximale Antwortzeit in 10 ms Zeiteinheiten auf eine azyklische Anfrage durch den Slave betimmt.

C1_Read_Write_required = 1

Die Unterstützung des azyklischen Dienste ist für die korrekte Funktion des DP-Slave obligatorisch.

Damit ein Slave erkennen kann, ob eine Steuerung mit den azyklischen Parametern kommunizieren kann, setzt die Steuerung im Set_Parameter Telegramm im 8.Byte das 7. Bit (DPV1 Enable). Sobald nun der Slave im Zustand Dataexchange (DXCHG) ist, ist er auch bereit für den azyklischen Datenaustausch. Es können Daten gelesen und geschrieben und Alarme behandelt werden.

Für die Kommunikation werden dabei zusätzliche SAPs freigeschaltet:

SAP: Service Access Points des Masters

SAP | Name | Bedeutung
51 (0x33) | MS1 | Azyklische Master Klasse 1

SAP: Service Access Points des DP-Slave

SAP | Name | Daten vom Master zum Slave | Daten vom Slave zum Master
50 (0x32) | Alarm_SAP | DS_Alarm_ack |
51 (0x33) | Server_SAP | DS_Read_REQ, DS_Write_REQ | DS_Read_RES, DS_Write_RES


Azyklische Dienste

Auf dieser MS1 Verbindung können zwei Dienste DPV1_Read und DPV1_Write für Daten ausgeführt werden:

DPV1_Read:

0x5E

Slot_Number

Index

ReqLength

Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:

0x5E

Slot_Number

Index

ResLength

Data

Bei einer negativen Antwort:

0xDE

Error_Decode

Error_Code1

Error_Code2

Als Resultat erhalten wir die Daten und die Länge zurück. Sie widerspiegelt die effektive Länge der zurückgegebenen Daten. Es ist auch erlaubt, nur den Anfang (z.B. Header) einer Information zu lesen. Es gibt einen Fehler, wenn das Objekt nicht existiert oder der Zugriff nicht erlaubt ist.

Hier ein Beispiel einer Telegramm-Sequenz zum azyklischen Lesen, wie diese auf einem Busmonitor erscheinen kann:

Addr | Msg type | Req Res | SAPS | Len | Data
1->22 | DPV1_read_req | Req | 51 -> 51 | 4 | 5E 01 10 FF
1<-22 | Short acknowledge | Res |  |  |
1->22 | DPV1_Poll | Req | 51 -> 51 |  |
1<-22 | Short acknowledge | Res |  |  |
1->22 | DPV1_Poll | Req | 51 -> 51 |  |
1<-22 | DPV1_read_res | Res | 51 <- 51 | 6 | 5E 01 10 02 01 02

In diesem Beispiel wird von der Steuerung mit der Adresse 1 im Feldgerät mit der Adresse 22 im Slot 1 der Index 16 (0x10) ausgelesen. Dabei wird die maximale Anzahl der Bytes (Länge > 240) angefordert. Der Slave antwortet sofort mit einer Kurzquittung. Im nächsten Zyklus pollt der Master den Slave um die Antwort abzufragen. Je nach Verarbeitungsgeschwindigkeit des Slaves muss dieses Pollen mehrmals wiederholt werden. In der Antwort steht nun die korrekte Länge der Daten gefolgt von den Werten.

DPV1_Write:

0x5F

Slot_Number

Index

ReqLength

Data

Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:

0x5F

Slot_Number

Index

ResLength

Bei einer negativen Antwort:

0xDF

Error_Decode

Error_Code1

Error_Code2

Als Resultat erhalten wir eine Bestätigung der Anzahl der geschriebenen Bytes. Es darf auch nur ein Teil des Objektes geschrieben werden. Ein ReqLength länger als das Objekt ist aber nicht erlaubt. Fehlermeldungen entstehen, wenn das Objekt nicht vorhanden oder der Zugriff nicht erlaubt ist.

Im Fehlerfall wird mit einem Fehlertelegramm geantwortet. Dabei wird die Funktion mit einem Error-Code zurückgegeben.


Alarmbehandlung

Diagnosemeldungen werden von jedem DP-Slave unterstützt. Diese Meldungen werden einfach bei Bedarf abgesetzt, aber weder quittiert noch deren Empfang und Verarbeitung überprüft.

Bei einer MS1 Verbindung werden nun zusätzliche Alarm- und Status-Meldungen festgelegt.

•Bei einer Status-Meldung werden die Strukturen der Daten der Ereignisse umfassender festgelegt.

•Bei Alarmen werden unterschiedliche Arten unterschieden, die Sequenz der Telegramme für die Quittierung ist festgelegt und die Strukturen der Daten sind definiert.


Alarm-Arten

Alarme werden einem Slot zugeordnet und können unterschiedliche Arten aufweisen.

Die unterstützten Alarme werden in der GSD Datei festgelegt. Im Set_Parameter Telegramm legt der DP-Master fest, welche Alarme vom DP-Slave gesendet werden dürfen.

Diagnostic_Alarm_supp = 1

Diagnostic_Alarm_required = 0

Der DP-Slave unterstützt Diagnosealarme, braucht aber diese Unterstützung nicht zwingend für die korrekte Funktion. Ein Diagnosealarm signalisiert ein Ereignis in einem Slot wie z.B. eine Übertemperatur, ein Kurzschluss etc.

Process_Alarm_supp = 1

Process_Alarm_required = 0

Ein Prozessalarm signalisiert ein Ereignis in Zusammenhang mit dem angeschlossenen Prozess wie z.B. ein Überschreiten eines oberen Grenzwertes.

Pull_Plug_Alarm_supp = 1

Pull_Plug_Alarm_required = 0

Wenn ein Modul aus einem Slot aus- oder eingesteckt wird, kann dieser DP-Slave einen Pull- oder Plug- Alarm erzeugen.

Status_Alarm_supp = 1

Status_Alarm_required = 0

Mit einem Statusalarm wird eine Zustandsänderung im DP-Slave wie z.B. Ready, Run, Stop etc. signalisiert.

Update_Alarm_supp = 1

Update_Alarm_required = 0

Sobald ein Parameter durch eine lokale Bedienung oder ein Engineeringgerät geändert wird, kann von diesem DP-Slave ein Alarm generiert werden.

Manufacturer_Specific_Alarm_supp = 1

Manufacturer_Specific_Alarm_required = 1

Der Hersteller kann weitere Alarme definieren.


Alarm-Sequenzen

Das Alarmmodell erlaubt die Übertragung von Alarmen von einem DP-V1 Slave zu seinem DP-V1 Master und verlangt die explizite Quittierung dieses Alarms durch den Master an den Slave.

Als Grundbedingung für einen Alarm müssen folgende Bedingungen erfüllt sein:

•Der Slave muss im Data-Exchange (DXCHG) Zustand sein

•Die MS1 Verbindung muss aktiviert sein (d.h. im Parametertelegramm wurde DPV1_Enable = TRUE gesetzt).

•Das entsprechende Bit für diesen Alarm im Parametertelegramm ist auch gesetzt.

•Die Grenze der maximalen aktiven Alarme wurde noch nicht erreicht. Es werden zwei Modelle für die maximale Anzahl der Alarme unterstützt:

1.Nur ein Alarm pro spezifizierten Typ kann aktiv sein (Alarm_Type_Mode).

2.Mehrere Alarme mit einer fixierten Totalzahl können aktiv sein (Alarm_Sequence_Mode).

Mit den folgenden GSD Datei Schlüsselwörtern wird dieser Alarmmodus angegeben:

Alarm_Sequence_Mode_Count = 0

0 = nicht unterstützt, 2 - 32 Anzahl der ausstehenden Alarme

Die aktuelle Anzahl wird vom Master im Set_Parameter Telegramm eingestellt. Diese Funktion ist optional, d.h. der Wert 0 ist erlaubt

Alarm_Type_Mode_supp = 1

Die Unterstützung des Alarm_Type_Mode ist obligatorisch, d.h. dieses Schlüsselwort muss bei unterstützten Alarmen zwingend mit dem Wert 1 in der GSD stehen.

Wenn ein Alarm auftritt, wird die Alarmmeldung in das Diagnosefeld des Diagnose Telegramms eingefügt und der DP-V1 Master mit dem Prioritätsbit im nächsten Datenzyklus aufgefordert, die Diagnose zu lesen. Ein Lesen des Alarms wird registriert und der Alarm in eine Warteschlange geschrieben. Weitere Alarme werden diesen Alarm nicht überschreiben.

Sequenz der Telegramme bei Alarmen

Sequenz der Telegramme bei Alarmen

Der DP-Master der Klasse 1 (Steuerung) mit dem zyklischen Prozessdatenaustausch (MS0) ist der einzige Master, der beim DP-Slave Alarme quittieren darf. Er verwendet dazu den SAP = 51, wie für die anderen azyklischen Dienste. Der DP-Slave kann optional einen zusätzlichen SAP = 50 für die Quittierung der Alarme zur Verfügung stellen. Damit werden die Quittungen nicht durch eventuell ausstehende azyklische Dienste verzögert. Die Unterstützung dieser Option wird in der GSD Datei durch das Schlüsselwort

Extra_Alarm_SAP_supp = 1

angezeigt. Diese beiden SAP werden vom DP-V1 Slave aktiviert, sobald er im Data-Exchange Zustand ist. Da diese beiden SAP einen direkten Bezug zur zyklischen Kommunikation MS0 aufweisen, muss diese Kommunikationsbeziehung nicht speziell mit einem Initiate und Abort verwaltet werden.

Der DP-V1 Master muss die Alarme explizit mit einem DPV1_Alarm_Ack Telegramm auf SAP 50 oder 51 quittieren. Nach erfolgreicher Quittierung kann der DP-V1 Slave den Alarm aus der Warteschlange entfernen. Die maximale Anzahl der Alarme in dieser Warteschlange wird im Parametertelegramm festgelegt.


Alarmmeldungen

Alarme werden als Blöcke in einem Diagnose-Telegramm übertragen. Diese Blöcke haben die folgende Struktur:

Header

Alarm_Typ

Slot_Number

Alarm_Specifier

Diag_User_Data

Der Header für einen Alarm-Block spezifiziert die Länge des Blocks:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 |  |  |  |  |  |  | Header für Diagnose-Block
 |  | 0 - 63 |  |  |  |  |  | Anzahl der Bytes in diesem Diagnose-Block (inkl. Dieses Byte)

Im Byte Alarm_Typ wird die Art des Alarms angezeigt:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 |  |  |  |  |  |  |  | Kennzeichnung als Alarmblock
 | 0 (0x00) 1 (0x01) 2 (0x02) 3 (0x03) 4 (0x04) 5 (0x05) 6 (0x06) 32-126 sonst |  |  |  |  |  |  | Reserviert Diagnosealarm Prozessalarm Pull Alarm Plug Alarm Status Alarm Update Alarm Herstellerspezifisch Reserviert

Byte Slot_Number:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 – 254 |  |  |  |  |  |  |  | Nummer des betroffenen Slots (255 ist reserviert)

Byte Alarm_Specifier:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
 |  |  |  |  |  | 0 | 1 | Fehler tritt auf und Störung liegt an
 |  |  |  |  |  | 1 | 0 | Fehler geht und Störung ist weg
 |  |  |  |  |  | 1 | 1 | Fehler geht aber Störung bleibt
 |  |  |  |  | 1 |  |  | Quittung erforderlich
 |  |  |  |  | 0 |  |  | Quittung nicht erforderlich
0-31 |  |  |  |  |  |  |  | Sequenznummer des Alarms

Weitere Bytes Diag_User_Data sind herstellerspezifisch und müssen in der GSD Datei erklärt werden.


Statusmeldungen

Neben den Diagnose-Blöcken nach MS0 können weitere Status-Diagnose-Blöcke in einem Diagnose-Telegramm übertragen werden. Diese Blöcke haben die folgende Struktur:

Header

Status_Typ

Slot_Number

Status_Specifier

Diag_User_Data

Der Header für einen Alarm-Block spezifiziert die Länge des Blocks:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 | 0 |  |  |  |  |  |  | Header für Diagnose-Block
 |  | 0 - 63 |  |  |  |  |  | Anzahl der Bytes in diesem Diagnose-Block (inkl. dieses Byte)

Im Byte Status_Type wird die Art der Statusmeldung mitgeteilt:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
1 |  |  |  |  |  |  |  | Kennzeichnung als Statusblock
 | 0 (0x00) 1 (0x01) 2 (0x02) 3 (0x03) 4 - 29 30 (0x1E) 31 (0x1F) 32 -126 127 |  |  |  |  |  |  | Reserviert Statusmeldung Modulstatus DXB Link Status Reserviert Quittung für einen Parameterbefehl Status gelesen Herstellerspezifisch Reserviert

Byte Slot_Number:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0 – 254 |  |  |  |  |  |  |  | Nummer des betroffenen Slots (255 ist reserviert)

Byte Status_Specifier:

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
 |  |  |  |  |  | 0 1 2 3 |  | Keine weitere Unterscheidung Status kommt Status geht reserviert
0 - 63 |  |  |  |  |  |  |  | Reserviert

Weitere Bytes Diag_User_Data sind herstellerspezifisch und müssen in der GSD erklärt werden.


MS2 Verbindung

Eine MS2 Verbindung wird mit einem DPV1_Initiate explizit aufgebaut und mit einem DPV1_Abort wieder geschlossen. Die Verbindung wird zeitlich auf Aktivitäten überwacht. Die möglichen azyklischen Dienste sind das Lesen und Schreiben von Daten, ähnlich wie bei der MS1 Verbindung.


Verbindungsaufbau

Damit ein Engineering-Werkzeug jederzeit auf einen Slave zugreiffen kann, wird er als Master der Klasse 2 auf den Bus geschaltet. Er muss explizit eine Verbindung mit dem Slave aufbauen.

Dazu werden weitere SAP beim Master und beim Slave reserviert:

SAP: Service Access Points des Masters

SAP | Name | Bedeutung
50 (0x32) | MS2 | Azyklische Master Klasse 2

SAP: Service Access Points des DP-Slave

SAP | Name | Data Unit vom Master zum Slave | Data Unit vom Slave zum Master
≤ 48 (0x30) | Communication | DS_xxx_REQ, MS2_Abort_REQ | DS_xxx_RES
49 (0x31) | Resource Manager | MS2_Initiate_REQ | Resource_Manager_REQ

Eine Verbindung wird mit einem DPV1_Initiate explizit aufgebaut und mit einem DPV1_Abort wieder geschlossen.

Für den Aufbau einer Verbindung müssen die folgenden Dienste und Telegramme gesendet werden:

DPV1_Initiate: auf SAP = 49 (Resourcen Manager)

0x57

Reserved

3 Bytes

Send Timeout

Features Supported

Profil features supported

Profile ident number

Add_Adr Param

Ein Pollzykus auf dem SAP = 49 mit den Antwortdaten:

0x56

Server_SAP

Min Send Timeout

Wenn der Resource-Manager keinen freien SAP mehr hat, meldet er auf dem FDL Layer RS (= no Resource available).

Der Master beginnt mit mehreren Pollzyklen auf dem neuen SAP = Server_SAP, bis eine Antwort gegeben wird oder die Zeit Min_Send_Timout abgelaufen ist.

0x57

Max_Len_ Data_Unit

Features Supported

Profil features supported

Profile ident number

Add_Adr Param

Eine negative Antwort:

0xD7

Error_Decode

Error_Code1

Error_Code2

Bei einer positiven Antwort können nun Nutzdaten ausgetauscht werden.

Telegrammsequenz für einen MS2 Verbindungsaufbau


Verbindungsüberwachung

MS2 Verbindungen werden vom Master und auch vom Slave überwacht.

MS2 Verbindungsüberwachung

Zur Überwachung werden zwei Timer eingesetzt: Der Master überwacht mit dem Response-Timer ob der Slave in der geforderten Zeit eine Antwort bereitstellt und mit dem Idle-Timer überwacht der Slave, ob der Master noch aktiv diese Verbindung nutzt. Wenn einer der Timer abläuft wird die Verbindung vom entsprechenden Teilnehmer zurückgesetzt und muss bei Bedarf neu initialisiert werden.


Verbindungsabbau

Eine nicht mehr verwendete Verbindung wird explizit mit dem Dienst DPV1_Abort abgebaut.

DPV1_Abort:

0x57

Subnet

Instance

&Reason

Die Bedeutung der möglichen Gründe ist

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | Instance | Reason Code | Bedeutung
0 | 0 |  |  |  |  |  |  | Reserviert |  |
 |  | 0 | 0 | 1 2 3 9 10 11 |  |  |  | FDL | UE RR RS NR DH | FDL User Error FDL No Resource FDL Reject Service – z.B. SAP nicht aktiviert FDL No Response Data FDL Data Reply High
 |  | 0 | 1 | 0 1 2 3 4 5 6 15 |  |  |  | DDLM | ABT_SE ABT_FE ABT_TO | Sequence Error, Dienst in diesem Zustand nicht erlaubt
 |  | 1 | 0 |  |  |  |  | USER |  |


Azyklische Dienste

Auf dieser MS2 Verbindung können verschiedene Dienste für Daten ausgeführt werden:

DPV1_Read:

0x5E

Slot_Number

Index

ReqLength

Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:

0x5E

Slot_Number

Index

ResLength

Data

Bei einer negativen Antwort:

0xDE

Error_Decode

Error_Code1

Error_Code2

Als Resultat erhalten wir die Daten und die Länge zurück. Sie widerspiegelt die effektive Länge der zurückgegebenen Daten. Es ist auch erlaubt, nur den Anfang (z.B. header) einer Information zu lesen. Es gibt einen Fehler, wenn das Objekt nicht existiert oder der Zugriff nicht erlaubt ist.

DPV1_Write:

0x5F

Slot_Number

Index

ReqLength

Data

Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:

0x5F

Slot_Number

Index

ResLength

Bei einer negativen Antwort:

0xDF

Error_Decode

Error_Code1

Error_Code2

Als Resultat erhalten wir eine Bestätigung der Anzahl der geschriebenen Bytes. Es darf auch nur ein Teil des Objektes geschrieben werden. Ein ReqLength länger als das Objekt ist aber nicht erlaubt. Fehlermeldungen entstehen, wenn das Objekt nicht vorhanden oder der Zugriff nicht erlaubt ist. Im Fehlerfall wird mit einem Fehlertelegramm geantwortet. Dabei wird die Funktion mit einem Error-Code zurückgegeben.

Mit einem Transport-Dienst können Objekte gleichzeitig geschrieben und gelesen werden:

DPV1_Transport:

0x51

Slot_Number

Index

ReqLength

Data

Mehrere Pollzyklen ohne Daten, letzter Pollzylus mit Antwortdaten. Bei einer positiven Antwort:

0x51

Slot_Number

Index

ResLength

Data

Bei einer negativen Antwort:

0xD1

Error_Decode

Error_Code1

Error_Code2


Geräteentwicklung

In diesem Kapitel werden Hinweise gegeben, wie man als Gerätehersteller zu einer PROFIBUS-Schnittstelle kommt.

In dieser On-Line-Version ist dieses Kapitel nicht mehr verfügbar. Bitte beschaffen Sie sich eine der kostenpflichtigen Quellen.