SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser...

215
SIMATIC NET DP-Programmierschnittstelle (zyklische Kommunikation) Handbuch C79000-B8900-C071-07 1 Dezentrale Peripherie 2 Leistungsmerkmale der DP-Programmierschnittstelle 3 Grundprinzipien von DP 4 Struktur der DP-Programmierschnittstelle 5 Beschreibung der DP-Funktionen 6 Datenablage 7 Erstellen von DOS-Applikationen 8 Erstellen von Windows-Applikationen 9 Erstellen von Unix-Applikationen Index Glossar

Transcript of SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser...

Page 1: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

SIMATIC NETDP-Programmierschnittstelle (zyklische Kommunikation)

Handbuch C79000-B8900-C071-07

1 Dezentrale Peripherie

2 Leistungsmerkmale der DP-Programmierschnittstelle

3 Grundprinzipien von DP

4 Struktur der DP-Programmierschnittstelle

5 Beschreibung der DP-Funktionen

6 Datenablage

7 Erstellen von DOS-Applikationen

8 Erstellen von Windows-Applikationen

9 Erstellen von Unix-Applikationen

Index

Glossar

Page 2: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Hinweis

Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung,Zusage oder eines Rechtsverhältnisses ist oder diese abändern soll. Sämtliche Verpflichtungen von Siemens ergeben sichaus dem jeweiligen Kaufvertrag, der auch die vollständige und allein gültige Gewährleistungsregel enthält. Diese vertraglichenGewährleistungsbestimmungen werden durch die Ausführungen dieser Betriebsanleitung weder erweitert noch beschränkt.

Wir weisen außerdem darauf hin, daß aus Gründen der Übersichtlichkeit in dieser Betriebsanleitung nicht jede nur erdenklicheProblemstellung im Zusammenhang mit dem Einsatz dieses Gerätes beschrieben werden kann. Sollten Sie weitereInformationen benötigen oder sollten besondere Probleme auftreten, die in der Betriebsanleitung nicht ausführlich genugbehandelt werden, können Sie die erforderliche Auskunft über die örtliche Siemens-Niederlassung anfordern.

AllgemeinesDieses Gerät wird mit Elektrizität betrieben. Beim Betrieb elektrischer Geräte stehen zwangsläufigbestimmte Teile dieser Geräte unter gefährlicher Spannung.

WARNUNG !Bei Nichtbeachtung der Warnhinweise können deshalb schwere Körperverletzungen und/oderSachschäden auftreten.

Nur entsprechend qualifiziertes Personal sollte an diesem Gerät oder in dessen Nähe arbeiten. DiesesPersonal muß gründlich mit allen Warnungen und Instandhaltungsmaßnahmen gemäß dieserBetriebsanleitung vertraut sein.

Der einwandfreie und sichere Betrieb dieses Gerätes setzt sachgemäßen Transport, fachgerechteLagerung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus.

Anforderung an die Qualifikation des Personals

Qualifiziertes Personal im Sinne dieser Betriebsanleitung bzw. der Warnhinweise sind Personen, die mit Aufstellung, Montage,Inbetriebsetzung und Betrieb dieses Produktes vertraut sind und über die ihrer Tätigkeit entsprechenden Qualifikationverfügen, wie z. B.:

− Ausbildung oder Unterweisung bzw. Berechtigung, Stromkreise und Geräte bzw. Systeme gemäß den aktuellen Standardsder Sicherheitstechnik ein- und auszuschalten, zu erden und zu kennzeichnen

− Ausbildung oder Unterweisung gemäß an den aktuellen Standards der Sicherheitstechnik in Pflege und Gebrauchangemessener Sicherheitsausrüstungen

− Schulung in Erster Hilfe

!

Page 3: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 3

DP-Programmierschnittstelle

Die Dezentrale Peripherie (im folgenden mit DP abgekürzt) ermöglicht es Ihnen eineVielzahl von analogen und digitalen Ein-/Ausgabebaugruppen dezentral und prozeßnaheinzusetzen.

Zwischen den einzelnen Peripheriegeräten können große Entfernungen liegen, die durchden seriellen Feldbus PROFIBUS überbrückt werden. Dezentrale Peripheriegerätesammeln die Eingabesignale vor Ort und übertragen sie über den Feldbus an die zent-rale Steuerung im PG/PC. Umgekehrt sendet die zentrale Steuerung die Ausgabedatenzyklisch an die dezentralen Peripheriegeräte.

Die Vernetzung der Komponenten bewirkt eine erhebliche Reduzierung des Ver-kabelungsaufwands im Vergleich zur bisherigen direkten Verdrahtung der Komponenten.

Das für die dezentrale Peripherie eingesetzte Protokoll PROFIBUS DP basiert auf demKommunikationsstandard für den Feldbereich PROFIBUS EN 50 170 Vol. 2. DasDP-Kommunikationskonzept wurde in einem Gemeinschaftsprojekt führender Herstellervon Automatisierungsgeräten festgelegt. Es beschreibt ein auf die Erfordernisse imFeldbereich zugeschnittenes, herstellerunabhängiges Übertragungsprotokoll. DP nutzteine Untermenge der in EN 50 170 genormten offenen Kommunikationsdienste.

PROFIBUS DP ist für zeitkritische Anwendungen konzipiert. Durch ein optimiertes undeinfaches Übertragungsprotokoll, hohe Übertragungsgeschwindigkeiten und die Verwen-dung einer Master-Slave-Struktur werden kurze Zykluszeiten erreicht.

Der vorliegende Band beschreibt das DP-Protokoll und dessen Programmierung.

Page 4: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)4 C79000-B8900-C071-07

Page 5: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Inhaltsverzeichnis

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 5

Inhaltsverzeichnis

Hinweis Das unten gezeigte Inhaltsverzeichnis enthält zur besseren Übersichtnur Überschriften bis zur zweiten Gliederungsebene.

Ein detailliertes Kapitelinhaltsverzeichnis befindet sich auf der jeweilsersten Seite jeden Kapitels.

1 Dezentrale Peripherie .................................................................................................7

1.1 Beschreibung ...................................................................................................8

1.2 DP-Protokoll .....................................................................................................9

2 Leistungsmerkmale der DP-Programmierschnittstelle...........................................11

2.1 Einführung......................................................................................................12

3 Grundprinzipien von DP...........................................................................................15

3.1 Kommunikation zwischen den DP-Stationen...................................................16

3.2 Datenbereiche im DP-Master..........................................................................20

3.3 Die Betriebsarten des DP-Masters..................................................................23

3.4 Die Ereignismeldungen des DP-Masters.........................................................25

3.5 Der Betriebszustand der DP-Slaves................................................................26

3.6 Steuertelegramme an einen oder mehrere Slaves..........................................27

3.7 Hinweise zur Projektierung .............................................................................32

4 Struktur der DP-Programmierschnittstelle..............................................................41

4.1 Übersicht der DP-Aufruffunktionen .................................................................42

4.2 Allgemeiner Aufruf der DP-Funktionen ...........................................................44

4.3 Auswerten eines Funktionsaufrufs ..................................................................45

4.4 Fehlerkennungen............................................................................................48

4.5 Übergabestrukturen ........................................................................................52

4.6 Beschreibung der Strukturelemente................................................................54

4.7 Zuordnung der Parameter zu den DP-Funktionen...........................................55

4.8 Konstanten .....................................................................................................56

4.9 Struktur einer DP-Applikation .........................................................................65

5 Beschreibung der DP-Funktionen ...........................................................................69

5.1 dpn_init (Anmelden einer DP-Applikation) ......................................................72

5.2 dpn_wd (Aktivitätsüberwachung der DP-Applikation) ......................................81

5.3 dpn_read_bus_par (Busparameter lesen) .......................................................84

5.4 dpn_load_bus_par (Busparameter schreiben).................................................87

5.5 dpn_read_slv_par (Slave-Parameter lesen)....................................................90

5.6 dpn_set_slv_state (Aktivierung/Deaktivierung eines DP-Slaves) ....................93

5.7 dpn_read_cfg (Konfiguration des DP-Systems ermitteln) ................................96

Page 6: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Inhaltsverzeichnis

DP-Programmierschnittstelle (zyklische Kommunikation)6 C79000-B8900-C071-07

5.8 dpn_slv_diag (Diagnosedaten eines Slaves anfordern).................................100

5.9 dpn_read_sys_info (Statusinformationen des DP-Systems ermitteln) ...........103

5.10 dpn_out_slv (Ausgabedaten an einen DP-Slave senden)..............................107

5.11 dpn_out_slv_m (Ausgabedaten an mehrere DP-Slaves senden)...................111

5.12 dpn_out_slv_ext (Ausgabedaten an mehrere Slaves senden - erweiterteFunktion) ......................................................................................................116

5.13 dpn_read_slv (Lokale Ausgabedaten eines DP-Slaves lesen).......................121

5.14 dpn_in_slv (Eingabedaten eines DP-Slaves lesen) .......................................125

5.15 dpn_in_slv_m (Eingabedaten mehrerer DP-Slaves lesen) ............................129

5.16 dpn_in_slv_ext (Eingabedaten mehrerer DP-Slaves lesen - erweiterteFunktion) ......................................................................................................134

5.17 dpn_set_mode (Betriebsart des DP-Masters einstellen) ................................139

5.18 dpn_get_mode (Betriebsart des DP-Masters ermitteln) .................................142

5.19 dpn_global_ctrl (Azyklisches Senden eines Steuertelegramms)....................145

5.20 dpn_reset (Abmelden einer DP-Applikation) .................................................149

6 Datenablage ............................................................................................................153

6.1 Aufbau der Eingabe- und Ausgabedaten.......................................................154

6.2 Aufbau der Diagnosedaten bei Norm-Slaves ................................................156

6.3 Diagnosedaten nicht normkonformer Slaves.................................................167

6.4 Aufbau der Busparameter.............................................................................174

6.5 Aufbau der Slave-Parameter ........................................................................177

7 Erstellen von DOS-Applikationen..........................................................................186

7.1 Überblick ......................................................................................................187

7.2 Einsatzumgebung unter DOS .......................................................................188

7.3 Anmelden einer DP-Applikation....................................................................190

8 Erstellen von Windows-Applikationen ..................................................................194

8.1 Überblick ......................................................................................................195

8.2 Einsatzumgebung unter Windows.................................................................196

8.3 Anmelden einer DP-Windows-Applikation.....................................................200

9 Erstellen von Unix-Applikationen..........................................................................206

10 Index........................................................................................................................208

11 Glossar....................................................................................................................210

Page 7: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Dezentrale Peripherie

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 7

1 Dezentrale Peripherie

In diesem Kapitel werden die wesentlichen Merkmale des Dezentralen Peripheriesys-tems vorgestellt:

• Zentrale Steuerung durch einen Master

• Hoher Datendurchsatz durch einfaches Übertragungsprotokoll

• Zyklische Übertragung des Prozeßabbildes in Ein-/Ausgaberichtung

• Einfache, kostengünstige Anschlußtechnik

• Wahlweise Datenübertragung über Zweidrahtleitung (RS 485) oder Glasfaser

• Erkennung von Fehlerfällen durch Online-Diagnose

• Aufbauend auf EN 50 170 Vol. 2, wird ein Parallelbetrieb mit FMS-Geräten (Masterund Slaves) an einem Bus ermöglicht.

Inhalt Kapitel 1

1.1 Beschreibung ...................................................................................................8

1.2 DP-Protokoll .....................................................................................................9

Page 8: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Dezentrale Peripherie

DP-Programmierschnittstelle (zyklische Kommunikation)8 C79000-B8900-C071-07

1.1 Beschreibung

Peripheriegerätevon Siemens

Für die verschiedenen Anwendungsgebiete sind die Peripheriegerätein unterschiedlichen Ausführungen erhältlich:

Bezeichnung Beschreibung

ET 200M Das ET 200M ist ein modulares Peripheriegerät inder Schutzart IP 20, das mit Signalbaugruppen derAufbautechnik S7-300 ergänzt wird.

ET 200B Das ET 200B ist ein kleines, kompaktes Peripherie-gerät mit geringer Einbautiefe in der Schutzart IP20.

Es sind zahlreiche analoge und digitale Ein-/Ausgabemodule verfügbar.

ET 200C Das ET 200C ist ein kompaktes Peripheriegerät inder hohen Schutzart IP 66/IP 67.

Es sind Peripheriegeräte ET 200C mit digitalen undanalogen Ein-/ und Ausgängen verfügbar.

Es ist aufgrund seiner robusten Bauweise beson-ders für den Einsatz in rauher Industrieumgebunggeeignet.

Aufbau undMontage

Detaillierte Informationen bezüglich Funktionsweise, Aufbau undMontage obiger Peripheriegeräte können Sie den jeweiligen Produkt-handbüchern entnehmen.

WeitereInformationen

Weitere Informationen zu verfügbaren Komponenten und Anschluß-technik finden Sie im SIMATIC NET Katalog IK 10.

Page 9: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Dezentrale Peripherie

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 9

1.2 DP-Protokoll

PrinzipiellerAufbau

Bild 1.1 zeigt den prinzipiellen Aufbau und die Komponenten einesPROFIBUS DP-Systems, das von einem Rechner mit eingebautemPROFIBUS-CP gesteuert wird.

DP - Slavessonstige Stationen

DP-Master mit PROFIBUS CP

PROFIBUS

DP- Master/Slave Kommunikation Master/Master - Kommunikation

Prozeß

Bild 1.1: Prinzipieller Aufbau

Definition vonDP-Slave undDP-Master

Die PROFIBUS-Norm EN 50 170 Vol. 2 definiert zwei Klassen vonBusteilnehmern:

• passive Busteilnehmer

• aktive Busteilnehmer

Im Dezentralen Peripheriesystem sind die Peripheriegeräte passiveBusteilnehmer. Sie werden als DP-Slaves bezeichnet. Gesteuert wer-den die DP-Slaves von einer aktiven Master-Station. Diese Master-Station wird als DP-Master bezeichnet.

Page 10: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Dezentrale Peripherie

DP-Programmierschnittstelle (zyklische Kommunikation)10 C79000-B8900-C071-07

DP-Master derKlasse 1

Die DP-Programmierschnittstelle ermöglicht den Einsatz eines PRO-FIBUS-CP in einem PG/PC als DP-Master der Klasse 1. Der PC steu-ert mit Hilfe des PROFIBUS-CP die Kommunikation zu den dezentra-len Peripheriegeräten und übt die zentralen Funktionen einesDP-Masters der Klasse 1 nach EN 50 170 Vol. 2 aus, d. h.:

• Initialisieren des DP-Systems

• Parametrieren/Konfigurieren der DP-Slaves

• zyklischer Datentransfer zu den DP-Slaves

• Überwachen der DP-Slaves

• Bereitstellen von Diagnoseinformationen

Page 11: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Leistungsmerkmale der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 11

2 Leistungsmerkmale derDP-Programmierschnittstelle

Dieses Kapitel vermittelt eine Übersicht der Merkmale der DP-Programmierschnittstelle.

Detaillierte Informationen zur Nutzung der verschiedenen Möglichkeiten beschreiben dienachfolgenden Kapitel.

Inhalt Kapitel 2

2.1 Einführung......................................................................................................12

Page 12: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Leistungsmerkmale der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)12 C79000-B8900-C071-07

2.1 Einführung

Übersicht derLeistungs-merkmale

Die DP-Programmierschnittstelle bietet folgende Leistungsmerkmale:

• Einfache Anbindung einer DP-Applikation über Funktionen derDP-Programmierschnittstelle

• Mehrstufiges Sicherheitskonzept

• Sicherung der Datenkonsistenz

• Unterstützung des Single-User-/Multi-User-Betriebs

• Unterstützung des Single-Board-/Multi-Board-Betriebs

• Unterstützung unterschiedlicher Betriebssysteme und Compiler

• Unterstützung von Slaves des ET 200-Systems

Die einzelnen Punkte werden im folgenden näher erläutert.

EinfacheAnbindung vonDP-Applikationen

Die DP-Programmierschnittstelle stellt Ihnen in Form einer Library eineReihe von Funktionen zur Verfügung. Alle Funktionen sind nach einemeinheitlichen Schema aufgebaut. Sie ermöglichen auf einfache Weiseden Zugriff auf die Funktionen des DP-Masters (Klasse 1).

Die Funktionsaufrufe der DP-Programmierschnittstelle werden in Ka-pitel 5 detailliert erläutert.

MehrstufigesSicherheitskonzept

Die DP-Programmierschnittstelle bietet ein mehrstufiges Sicherungs-konzept, um die Auswirkungen eines Ausfalls der Kommunikationsver-bindung oder des DP-Masters zu begrenzen.

• Eine projektierbare Ansprechüberwachung für DP-Slaves sorgtdafür, daß ein längere Zeit nicht angesprochener DP-Slave in einensicheren Betriebszustand übergeht.

• Eine aktivierbare AUTOCLEAR-Funktion sorgt dafür, daß bei ein-zelnen nicht ansprechbaren DP-Slaves der DP-Master automatischin den CLEAR-Zustand übergeht.

• Eine im DP-Master zuschaltbare Aktivitätsüberwachung erkennt dieInaktivität einer DP-Applikation und kann so die von ihr kontrollier-ten DP-Slaves in einen sicheren Betriebszustand bringen.

Detaillierte Informationen zur Ansprechüberwachung finden Sie imKapitel 3.7.1. Die AUTOCLEAR-Funktion ist im Kapitel 3.7.6 und dieAktivitätsüberwachung im Kapitel 5.2 ausführlich beschrieben.

Sicherung derDatenkonsistenz

Bei der Übertragung der Daten zwischen DP-Slave und DP-Applikationist die Datenkonsistenz durch interne Sicherungsmechanismen ge-währleistet.

Page 13: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Leistungsmerkmale der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 13

Single-User-/Multi-User-Betrieb

Im Single-User-Betrieb greift nur eine DP-Applikation auf dieDP-Programmierschnittstelle zu. Dies ist die Standardanwendung un-ter DOS.

Bei Betriebssystemen, die ein Multitasking ermöglichen (z. B. Win-dows 3.x, Windows 95 und Windows NT), können mehrere voneinan-der unabhängige DP-Applikationen gemeinsam dieDP-Programmierschnittstelle nutzen. Für solche Anwendungsfälle stelltdie DP-Programmierschnittstelle Mechanismen zur Koordinierung derTasks zur Verfügung.

Single-Board-/Multi-Board-Betrieb

Single-Board-Betrieb bedeutet, daß nur ein PROFIBUS-CP im PG/PCbetrieben wird.

Beim Multi-Board-Betrieb werden mehrere PROFIBUS-CP im PG/PCparallel betrieben. Jede dieser Baugruppen ist an einem eigenen Busangeschlossen. Dadurch können von einem Rechner aus mehrerePROFIBUS DP-Bussysteme gesteuert werden. Jeder CP ist dabeiDP-Master im entsprechenden Bus.

Detaillierte Informationen zum Single-Board- und Multi-Board-Betriebbei den unterschiedlichen Betriebssystemen finden Sie in den Kapi-teln 7 und 8.

Betriebssysteme/Compiler

Die DP-Programmierschnittstelle ist für unterschiedliche Betriebssys-teme und Compiler ausgelegt.

Detaillierte Information zu den unterstützen Betriebssystemen, Com-piler, Speichermodell, DP-Library, Include-Files etc. finden Sie in denKapiteln 7, 8 und 9.

Page 14: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Leistungsmerkmale der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)14 C79000-B8900-C071-07

Page 15: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 15

3 Grundprinzipien von DP

In diesem Kapitel werden die grundlegenden Prinzipien des DP-Protokolls erläutert. DasVerständnis der Kommunikationsstruktur zwischen DP-Master und DP-Slaves ist Vor-aussetzung für die effiziente Nutzung der Funktionsaufrufe der DP-Programmier-schnittstelle.

Das Kapitel zeigt Ihnen,

• wie der Datentransfer zwischen DP-Master und DP-Slaves stattfindet

• wie die Datenstrukturen im DP-Master organisiert sind

• die verschiedenen Betriebsarten des DP-Masters

• welche Ereignisse dem DP-Master gemeldet werden können

• die verschiedenen Betriebszustände der DP-Slaves

• welche Steuertelegramme der DP-Master an die DP-Slaves sendet

• was bei der Projektierung zu beachten ist.

Inhalt Kapitel 3

3.1 Kommunikation zwischen den DP-Stationen...................................................163.1.1 Polling ............................................................................................................163.1.2 Diagnosemeldungen.......................................................................................183.1.3 Parametrierung/Konfigurierung.......................................................................19

3.2 Datenbereiche im DP-Master..........................................................................20

3.3 Die Betriebsarten des DP-Masters..................................................................23

3.4 Die Ereignismeldungen des DP-Masters.........................................................25

3.5 Der Betriebszustand der DP-Slaves................................................................26

3.6 Steuertelegramme an einen oder mehrere Slaves..........................................273.6.1 Zyklisches Senden von Steuertelegrammen...................................................283.6.2 Azyklisches Senden von Steuertelegrammen .................................................31

3.7 Hinweise zur Projektierung .............................................................................323.7.1 Ansprechüberwachung ...................................................................................333.7.2 Data Control Time ..........................................................................................343.7.3 Poll Timeout ...................................................................................................353.7.4 Min Slave Interval ..........................................................................................363.7.5 Deaktivierung eines DP-Slaves ......................................................................373.7.6 AUTOCLEAR .................................................................................................383.7.7 Konfigurierdaten.............................................................................................39

Page 16: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)16 C79000-B8900-C071-07

3.1 Kommunikation zwischen den DP-Stationen

3.1.1 Polling

Beschreibung Die Kommunikation zwischen dem DP-Master und den dezentralenPeripheriestationen erfolgt durch Polling. Polling bedeutet, daß derDP-Master in der Produktivphase zyklisch Aufruftelegramme an dieihm zugeordneten DP-Slaves sendet. Für jeden DP-Slave wird eineigenes Aufruftelegramm gesendet.

Aufruf- undEmpfangs-telegramm

Das Aufruftelegramm enthält die aktuellen Ausgabedaten, die derDP-Slave an seinen Ausgabeports anlegen soll. Besitzt ein DP-Slavekeine Ausgabeports, wird statt dessen ein „Leertelegramm“ gesendet.

Der Empfang eines Aufruftelegramms muß vom adressiertenDP-Slave durch Zurücksenden eines Quittungstelegramms bestätigtwerden. Das Quittungstelegramm enthält die aktuellen Eingabedaten,die an den Eingabeports des DP-Slaves anliegen. Besitzt ein DP-Slavekeine Eingabeports, wird statt dessen ein „Leertelegramm“ zurückge-sendet.

Bild 3.1: Schematische Darstellung des Polling

Poll-Zyklus In einem Poll-Zyklus werden alle betriebsbereiten DP-Slaves adres-siert. Der Adressierung des letzten Slaves schließt sich sofort ein wei-terer Poll-Zyklus an.

Durch dieses Verfahren wird die Aktualität der Daten gewährleistet.

An der Datenschnittstelle des DP-Masters stehen die aktuellen Einga-bedaten und Diagnosedaten der DP-Slaves der DP-Applikation zurVerfügung. An den Ausgabeports der DP-Slaves werden die aktuellenAusgabewerte der DP-Applikation angelegt.

Page 17: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 17

Hinweis Das DP-Protokoll ist auf schnellen Datendurchsatz zwischen Masterund Slave hin optimiert und besitzt daher keine Flußkontrolle zwischenMaster und Slave. Ein- und Ausgabedaten werden zyklisch zwischenMaster und Slave ausgetauscht. Beachten Sie in diesem Zusammen-hang bei der Erstellung einer DP-Applikation folgende Punkte: • Wenn Sie Ausgabedaten im Datenabbild das Masters innerhalb

der Zykluszeit mehrfach ändern, werden einzelne Werte nicht andie Slaves übertragen.

• Wenn Sie Eingabedaten im Datenabbild des Masters nicht inner-halb der Zykluszeit lesen, so können einzelne Werteänderungender Slaves verloren gehen.

Page 18: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)18 C79000-B8900-C071-07

3.1.2 Diagnosemeldungen

Signalisierung Ein DP-Slave kann im Quittungstelegramm nicht nur die aktuellenEingabedaten zurücksenden, sondern auch dem DP-Master signalisie-ren, daß Diagnosemeldungen bereitstehen.

Beschreibung Diagnosemeldungen informieren die DP-Applikation darüber, daß be-sondere Ereignisse oder Fehlerzustände beim DP-Slave aufgetretensind, wie zum Beispiel Kurzschluß, Unterspannung, Überspannung,Überlast, Leitungsbruch usw.

Reaktion Als Reaktion auf eine Diagnosemeldung liest der DP-Master die Diag-nosedaten durch ein spezielles Aufruftelegramm aus und stellt sie derDP-Applikation zur Verfügung.

Die Diagnosedaten sind nach einem einheitlichen Schema aufgebaut(siehe Kapitel 6.2 ff). Sie ermöglichen der DP-Applikation eine detail-lierte Fehleranalyse.

Page 19: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 19

3.1.3 Parametrierung/Konfigurierung

Voraussetzung Der DP-Master kann nur dann Produktivverkehr mit den DP-Slavesdurchführen, wenn er diese zuvor parametriert und konfiguriert hat.

Die Parametrierung/Konfigurierung erfolgt:

• in der Anlaufphase des DP-Masters.

• nach einem zeitweiligen Ausfall eines DP-Slaves während der Pro-duktivphase.

Parametrier-telegramm

Das Parametriertelegramm stellt beim DP-Slave globale Betriebspa-rameter (beispielsweise die Dauer der Ansprechüberwachung) ein.

Konfigurier-telegramm

BeschreibungDas Konfiguriertelegramm wird nach erfolgreicher Parametrierung desDP-Slaves gesendet.

Es enthält die aktuelle Konfiguration des DP-Slaves. Die Konfigurationenthält die Zahl und die Art der Ein-/Ausgabe-Ports.

ReaktionDer DP-Slave vergleicht das empfangene Konfigurationstelegrammmit den eigenen Werten, die er in der Anlaufphase ermittelt hat.

Stimmen die Werte überein, bestätigt der DP-Slave die Konfigurierungund wechselt in die Produktivphase über.

Projektierung Die Parametrier- und Konfigurationsdaten werden durch das Projektie-rungswerzeug COM PROFIBUS festgelegt.

COM PROFIBUS erzeugt eine Datenbasis mit allen relevantenParametrier- und Konfigurationsdaten.

Diese Datenbasis wird in der Anlaufphase in den CP geladen.

Page 20: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)20 C79000-B8900-C071-07

3.2 Datenbereiche im DP-Master

Beschreibung Im DP-Master sind für jeden projektierten DP-Slave drei unterschiedli-che Datenbereiche vorhanden:

• Eingabedaten vom DP-Slave

• Ausgabedaten an den DP-Slave

• Diagnosedaten vom DP-Slave

Eigenschaften Diese Bereiche bilden eine gemeinsame Schnittstelle zwischen demCP und der DP-Applikation.

• Sie werden in der Produktivphase ständig aktualisiert.

• Ein interner Sicherungsmechanismus gewährleistet die Konsistenzder Daten beim gleichzeitigen Zugriff der DP-Applikation und derFieldbus-Zugriffssteuerung.

• Über verschiedene Funktionsaufrufe der DP-Programmierschnitt-stelle hat eine DP-Applikation Zugriff auf die Datenbereiche.

Page 21: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 21

Darstellung derDatenbereiche

Bild 3.2 zeigt die vorhandenen Datenbereiche des DP-Masters.

PROFIBUS-Zugriffssteuerung

Datengruppe

Datengruppe

etc.

DP-Master

PROFIBUS

Funktionsaufrufe der DP-Applikation

Eingabedatenlesen

Ausgabedatenschreiben

Diagnosedatenlesen

Konsistenz-sicherung

Eingabe-daten

Konsistenz-sicherung

Diagnose-daten

Ausgabe-daten

Slave 2

Slave 1

Konsistenz-sicherung

Konsistenz-sicherung

Ausgabe-daten

Konsistenz-sicherung

Eingabe-daten

Diagnose-daten

Konsistenz-sicherung

Bild 3.2: Datenbereiche des DP-Masters

Ausgabedaten Die Daten dieses Bereichs werden von der DP-Applikation vorgege-ben. In der Produktivphase (d. h. nach erfolgreicher Parametrie-rung/Konfigurierung) werden sie zyklisch an den DP-Slave gesendet.Sind keine Ausgabedaten vorhanden, wird anstelle der Ausgabedatenein „Leertelegramm“ übertragen.

Page 22: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)22 C79000-B8900-C071-07

Eingabedaten In der Produktivphase sendet der DP-Slave nach jedem Aufruftele-gramm des DP-Masters im Antworttelegramm seine Eingabedatenzurück. Besitzt der DP-Slave keine Eingabeports, wird statt dessen ein„Leertelegramm“ gesendet. Die empfangenen Antwortdaten werden imEingabebereich des DP-Masters hinterlegt.

Diagnosedaten Erkennt ein DP-Slave in der Initialisierungs- oder Produktivphase ei-nen Fehler, kann er diesen über eine Diagnoseanforderung an denDP-Master melden. Die empfangenen Diagnosedaten werden im Di-agnosebereich des DP-Masters abgelegt.

Page 23: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 23

3.3 Die Betriebsarten des DP-Masters

Überblick Die Kommunikation zwischen dem DP-Master und den DP-Slavesverläuft innerhalb der vier Betriebsarten:

• OFFLINE

• STOP

• CLEAR

• OPERATE

Betriebsarten Jede dieser Betriebsarten ist durch definierte Aktionen zwischenDP-Master und den DP-Slaves gekennzeichnet.

Betriebsart Bedeutung

OFFLINE Es findet keinerlei DP-Kommunikation zwischenDP-Master und den DP-Slaves statt. Dies ist derGrundzustand der DP-Masters.

STOP Auch in dieser Betriebsart findet keinerlei DP-Kommunikation zwischen DP-Master und denDP-Slaves statt. Im Gegensatz zur Betriebsart OFFLI-NE kann eine DP-Diagnosestation (DP-Master Klasse 2) Diagnoseinformationen des DP-Masters auslesen.

CLEAR In dieser Betriebsart erfolgt die Parametrierung undKonfigurierung aller DP-Slaves, die in der Datenbasiseingetragen und aktiviert sind. Anschließend beginntder zyklische Datenaustausch zwischen DP-Masterund DP-Slaves. Dabei wird in der Betriebsart CLEARan alle Slaves mit Prozeßausgabe der Wert 0h gesen-det, d. h. die Prozeßausgabe ist deaktiviert. Die Ein-gabedaten der Slaves sind bekannt und können aus-gelesen werden.

OPERATE In der Betriebsart OPERATE findet der zyklische Da-tentransfer zu den DP-Slaves statt. Dies ist die Pro-duktivphase. In dieser Betriebsart werden reihum dieDP-Slaves vom DP-Master angesprochen. Im Aufruf-telegramm werden die aktuellen Ausgabedaten, im zu-gehörigen Antworttelegramm werden die aktuellenEingabedaten transferiert.

Page 24: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)24 C79000-B8900-C071-07

Einstellen derBetriebsart

Zu Beginn befindet sich der DP-Master in der Betriebsart OFFLINE.Um in die Produktivphase, d. h. in die Betriebsart OPERATE zu gelan-gen, müssen die obigen Betriebszustände in der folgenden Reihenfol-ge durchlaufen werden:

OFFLINE ➜ STOP ➜ CLEAR ➜ OPERATE

Die DP-Programmierschnittstelle bietet zwei Möglichkeiten, die Be-triebsart zu wechseln:

• Nach Anmeldung einer DP-Applikation nimmt der DP-Master selb-ständig die Betriebsart OPERATE ein (d. h. ohne weitere Aktionender DP-Applikation) und bleibt dort, bis die DP-Applikation beendetwird.

• Nach der Anmeldung einer DP-Applikation verbleibt der DP-Masterin der Betriebsart OFFLINE. Der Übergang in eine andere Betriebs-art wird durch einen speziellen Funktionsaufruf der DP-Applikationausgelöst, d. h. die DP-Applikation ist für die Einstellung der Be-triebsart verantwortlich.

Welche der beiden Möglichkeiten gewählt wird, wird bei der Anmel-dung der DP-Applikation festgelegt.

Sonderfall„AUTOCLEAR“

Unabhängig von den oben geschilderten Möglichkeiten kann bei derProjektierung festgelegt werden, daß das DP-System im Falle einesFehlers in eine „sichere“ Betriebsart wechselt. Diese Funktionalität wirdAUTOCLEAR genannt.

Hierzu muß im Projektier-Tool die Option „Autoclear“ eingestelltwerden.

Wirkung:Tritt während der Produktivphase bei einem oder mehreren DP-Slavesein Fehler auf, wechselt der DP-Master selbsttätig in den ZustandCLEAR über (Herunterfahren des DP-Systems). Im Zustand CLEARsendet der DP-Master in Ausgaberichtung Daten mit dem Wert 0h oderein Leertelegramm an die DP-Slaves. Der Zustand wird vomDP-Master nicht mehr selbständig verlassen, d. h. ein erneuter Über-gang in die Betriebsart OPERATE muß vom Anwender explizit ange-stoßen werden.

WeitereInformationen

Die aktuelle Betriebsart des DP-Masters kann die DP-Applikation beibestimmten Funktionsaufrufen einem Rückgabeparameter entnehmen.Detailliertere Informationen zu diesem Thema finden sich in Kapi-tel 4.8.3, „Konstanten der Betriebsarten“ bzw. Kapitel 5,„DP-Funktionsaufrufe“.

Page 25: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 25

3.4 Die Ereignismeldungen des DP-Masters

Übersicht Während der Betriebsphase können unerwartete Ereignisse auftreten,die für die DP-Applikation von Bedeutung sind. In diesem Fall kann derDP-Master folgende Ereignisse der DP-Applikation über einen Rück-gabeparameter bei DP-Funktionsaufrufen mitteilen:

Ereignismeldung Bedeutung

Autoclear Selbsttätiges Herunterfahren des DP-Systems in die BetriebsartCLEAR, wenn bei der Kommunikation mit DP-Slaves Fehler aufge-treten sind.

Voraussetzung:Die Funktionalität AUTOCLEAR muß im COM PROFIBUS projektiertwerden.

Timeout Ablauf der Auftragsüberwachungszeit der DP-Applikation.

Ursache:Die DP-Applikation hat innerhalb der von ihr vorgegebenen Überwa-chungszeit keinen DP-Funktionsaufruf durchgeführt.

Voraussetzung:Die DP-Applikation muß sich zuvor angemeldet und eine Überwa-chungszeit an den DP-Master übergeben haben. Die dazu notwendi-gen Funktionsaufrufe sind in Kapitel 5 beschrieben.

Zugriff einesDP-Masters derKlasse 2

Der DP-Master der Klasse 2 ist eine spezielle DP-Diagnosestation,die eine detaillierte Online-Diagnose beim DP-Master Klasse 1 undbei den DP-Slaves durchführen kann. Die Ereignismeldung signali-siert, daß eine DP-Diagnosestation am Busverkehr teilnimmt und ge-rade auf interne Diagnoselisten des DP-Masters zugreift.

Anmerkung:Bei der vorliegenden DP-Firmware ist i.allg. keine besondere Reakti-on der DP-Applikation auf die Ereignismeldung erforderlich, da derCP das Daten-Handling mit der Diagnosestation selbsttätig abwi-ckelt.

Die Ereignismeldung ist als „Platzhalter“ für künftige erweiterteDP-Diagnosefunktionen vorgesehen, bei denen die DP-Applikationoptional die Möglichkeit hat, bestimmte Diagnoseabläufe mit derDP-Diagnosestation zu koordinieren.

WeitereInformationen

Die Ereignismeldungen werden vom DP-Master bei Funktionsaufrufeneiner DP-Applikation in einem speziellen Rückgabeparameter hinter-legt. Detailliertere Informationen zu den auftretenden Konstanten beiEreignismeldungen finden Sie in Kapitel 4.8.4, zu den Funktionsauf-rufen in Kapitel 5.

Page 26: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)26 C79000-B8900-C071-07

3.5 Der Betriebszustand der DP-Slaves

Übersicht In der Betriebsphase wertet der DP-Master die empfangenen Quit-tungstelegramme der DP-Slaves aus. Aus ihnen kann der DP-Masterden aktuellen Betriebszustand der DP-Slaves ermitteln. DieDP-Applikation kann bei verschiedenen DP-Funktionsaufrufen denermittelten Wert abfragen.

Betriebszustände Folgende Betriebszustände eines DP-Slaves können derDP-Applikation gemeldet werden:

• Der DP-Slave ist in der Datentransferphase.

• Der DP-Slave ist in der Datentransferphase, zusätzlich sind Diag-nosedaten vorhanden.

• Der DP-Slave ist nicht in der Datentransferphase (Anlauf des CP).

• Der DP-Slave ist nicht in der Datentransferphase.

• Der DP-Slave ist nicht in der Datentransferphase, zusätzlich sindDiagnosedaten vorhanden.

• Der DP-Slave ist nicht aktiviert.

WeitereInformationen

Der Betriebszustand eines Slaves wird vom DP-Master bei bestimmtenFunktionsaufrufen einer DP-Applikation in einem Rückgabeparameterhinterlegt. Detaillierte Informationen zu den dabei auftretenden Kon-stanten finden sich in Kapitel 4.8.2, zu den Funktionsaufrufen in Kapi-tel 5.

Page 27: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 27

3.6 Steuertelegramme an einen oder mehrere Slaves

Übersicht Bei der Projektierung kann einem Slave eine Gruppenidentifikationzugewiesen werden, d. h. es ist möglich, mehrere Slaves in einerGruppe zusammenzufassen (bis zu acht verschiedene Gruppen kön-nen gebildet werden). In der Produktivphase können dann einzelneGruppen mit Steuertelegrammen (sogenannten Global Control Tele-grammen) gezielt angesprochen werden.

Ein Steuertelegramm ist ein Telegramm, das der Master an einen, eineGruppe, mehrere Gruppen oder an alle Slaves sendet. Diese Tele-gramme werden von den angesprochenen Slaves nicht quittiert.

Steuertelegramme dienen der Übertragung von Steuerkommandos(sogenannte Global Control Commands) an die ausgewählten Slaveszum Zwecke der Synchronisation. Dabei enthält ein Steuerkommandodrei Komponenten:

• Kennung, ob ein oder mehrere DP-Slaves adressiert werden

• Identifikation der Slave-Gruppe

• Steuerkommando

Gruppenbildung Welche der Slaves zu einer Gruppe gehören, wird beim Erstellen derDatenbasis durch das Projektierungswerkzeug COM PROFIBUS fest-gelegt. Dabei kann optional für jeden DP-Slave eine Gruppennummervergeben werden. Diese Gruppennummer wird dem DP-Slave in derParametrierphase bekannt gemacht. Insgesamt können bis zu achtGruppen gebildet werden.

Steuerkommandos Folgende Steuerkommandos können an DP-Slaves gesendet werden:

Slave-Modi Beschreibung

FREEZE Die Zustände der Eingänge werden eingelesenund eingefroren.

UNFREEZE Das Einfrieren der Eingänge wird aufgehoben.

SYNC Die Ausgabe wird eingefroren.

UNSYNC Das Kommando UNSYNC hebt das KommandoSYNC auf.

Synchronisation Steuertelegramme können zyklisch oder azyklisch an die Slaves ge-sendet werden.

Page 28: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)28 C79000-B8900-C071-07

3.6.1 Zyklisches Senden von Steuertelegrammen

Slave-Projektierung

Bei der Projektierung mit dem COM PROFIBUS kann der Anwendervorgeben, ob ein Slave im SYNC-Mode, im FREEZE-Mode, im SYNC-und im FREEZE-Mode oder in keinem der beiden Modi betrieben wer-den soll.

Die Slaves, die in einem bestimmten Modus betrieben werden sollen,werden vom DP-Master automatisch berücksichtigt.

Verhalten desSlaves

Nachdem mit allen Slaves der Datentransfer durchgeführt wurde, wirdeine projektierte Zeit (Min Slave Interval, siehe Kap. 3.7.4) gewartet,um allen Slaves, die im SYNC-Mode betrieben werden, die interneAufbereitung der zuvor übergebenen Ausgabedaten zu ermöglichen.

Nach Ablauf dieser Zeit sendet der DP-Master ein Steuertelegramm analle Slaves, die im SYNC- und/oder FREEZE-Mode betrieben werden.Das bewirkt, daß alle Slaves, die im SYNC-Mode betrieben werden,zyklisch die zuvor übergebenen Daten auf ihre Prozeßausgabe schal-ten. Alle Slaves, die im FREEZE-Mode betrieben werden, übernehmennach Erhalt dieses Telegramms synchron die Eingabedaten des Pro-zesses.

Verhalten desMasters

Der DP-Master wartet nach dem Senden des Telegramms erneut dievorprojektierte Zeit ab, ehe er mit einem erneuten Datentransferzyklusbeginnt. Dadurch gibt er den im FREEZE-Mode betriebenen SlavesGelegenheit, die soeben synchron übernommene Prozeßeingabe fürdas spätere Antworttelegramm an den Master (im Rahmen des folgen-den Datentransferzyklus) aufzubereiten.

Page 29: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 29

Zyklisches Senden(Beispiel)

Bild 3.3 zeigt den Fall des Zyklisches Sendens am Beispiel zweierDP-Slaves.

Es entstehen drei Zeitabschnitte.

E-Signal A-Signal x

E-Signal x A-Signal x+1

Pollzyklus

E-Signal A-Signal x-1

E-Signal x-1 A-Signal x

Pollzyklus

Min Slave Intervall

SteuerkommandoSync und Freeze

Min Slave Intervall

DP- Master

DP-Slave Nr. 1(Betrieb im FREEZE-Mode)

DP-Slave Nr. 2 (Betrieb im SYNC-Mode)

Zeitabschnitt a Zeitabschnitt b Zeitabschnitt c

A-Signal xE-Signal x

ZeitachseX

Bild 3.3: Zyklisches Senden am Beispiel zweier DP-Slaves

Zeitabschnitt a Während des Poll-Zyklus fordert der DP-Master die Eingabedaten vonSlave Nr. 1 an. Der Slave antwortet mit denjenigen Eingabedaten, dieer zum Zeitpunkt des vorangegangenen Steuertelegramms übernom-men hat. Anschließend sendet der DP-Master neue Ausgabedaten anden Slave Nr. 2, die dieser nicht ausgibt.

Page 30: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)30 C79000-B8900-C071-07

Zeitabschnitt b Zum Zeitpunkt x sendet der DP-Master ein Steuertelegramm an dieDP-Slaves. DP-Slave Nr. 1 übernimmt daraufhin das anliegende Ein-gangssignal x. Gleichzeitig übergibt Slave Nr. 2 die Ausgabedaten, dieer beim vorangegangenen Poll-Zyklus vom DP-Master erhalten hat, anden Prozeß.

Zeitabschnitt c Während des Poll-Zyklus antwortet Slave Nr. 1 mit dem zum Zeitpunktx übernommenen Eingangswert. Der DP-Master sendet an Slave Nr. 2neue Ausgabedaten.

Page 31: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 31

3.6.2 Azyklisches Senden von Steuertelegrammen

Beschreibung Zusätzlich bietet die DP-Programmierschnittstelle die MöglichkeitSteuertelegramme azyklisch, d. h. ohne Abstimmung mit dem Poll-Zyklus bzw. mit der projektierten „Min Slave Interval“-Zeit, an be-stimmte Slaves zu senden.

Hierzu wird der DP-Applikation ein entsprechender Funktionsaufruf zurVerfügung gestellt, womit dem DP-Master der Auftrag zum einmaligenSenden eines Steuertelegramms übergeben wird.

WeitereInformationen

Detailliertere Information zu den Konstanten für einzelne Steuerkom-mandos finden Sie in Kapitel 4.8.5, zu dem Funktionsaufruf zum azyk-lischen Senden von Steuertelegrammen in Kapitel 5.19.

Wichtig ist in diesem Zusammenhang, daß nicht alle Slaves einenBetrieb im SYNC- oder FREEZE-Modus unterstützen. Es gelten dieAngaben des jeweiligen Herstellers.

Page 32: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)32 C79000-B8900-C071-07

3.7 Hinweise zur Projektierung

Allgemeines Um die Kommunikation mit den DP-Slaves durchführen zu können,benötigt der DP-Master eine Datenbasis. Die Datenbasis enthält alleerforderlichen Betriebs- und Projektierungsdaten einer DP-Anlage.

Für die Projektierung steht das Tool COM PROFIBUS zur Verfügung.Es erzeugt die Datenbasis des CP.

Detaillierte Informationen zur Handhabung entnehmen Sie bitte demBand „SIMATIC Dezentrales Peripheriesystem ET 200“.

Datenverkehr zwischen CP und DP-Slaves findet erst nach dem An-melden einer DP-Applikation statt.

Page 33: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 33

3.7.1 Ansprechüberwachung

Beschreibung Die Ansprechüberwachung eines DP-Slaves kann in der Parametrier-phase vom DP-Master aktiviert oder deaktiviert werden (je nach Vor-gabe aus der projektierten Datenbasis).

AktivierteAnsprech-überwachung

Ist die Ansprechüberwachung eines DP-Slaves aktiviert, muß derDP-Master innerhalb der vorgegebenen Zeit mit dem DP-Slave kom-munizieren.

Geschieht dies nicht, so schaltet der Slave seine Ausgänge in einensicheren Zustand und nimmt nicht mehr am Datentransfer mit demMaster teil, da der Slave davon ausgeht, daß ein schwerwiegenderFehler aufgetreten ist, zum Beispiel Leitungsbruch oder Ausfall desDP-Masters.

Der Master muß den Slave dann erneut parametrieren und konfigurie-ren. Erst dann ist wieder der Austausch von Produktivdaten möglich.

Welchen Wert die Ausgänge annehmen, ist aus der Beschreibung derDP-Slaves zu entnehmen.

Page 34: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)34 C79000-B8900-C071-07

3.7.2 Data Control Time

Beschreibung Die „Data Control Time“ ist fest eingestellt. Nach Ablauf der „DataControl Time“ prüft der DP-Master, ob alle Slaves, die in der Datenba-sis projektiert sind, am Datentransfer teilnehmen.

Ausnahme Eine Ausnahme bilden Slaves die zwar projektiert aber beim Ablaufder „Data Control Time“ deaktiviert sind (siehe auch Kap. 3.7.5).

Nimmt einer der aktivierten Slaves nicht am Datentransfer teil, und istzusätzlich die Funktionalität AUTOCLEAR eingestellt, so wechselt derDP-Master automatisch in die Betriebsart CLEAR.

Nach Ablauf dieser Zeit teilt der DP-Master den zugeordnetenDP-Slaves seinen Betriebszustand mit.

Page 35: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 35

3.7.3 Poll Timeout

Beschreibung Die Zeit „Poll Timeout“ kann durch einen Funktionsaufruf derDP-Programmierschnittstelle eingestellt werden. Die Zeit dient derÜberwachung der Kommunikation mit einem DP-Master der Klasse 2(DP-Diagnosemaster).

DP-Master derKlasse 1

Der DP-Diagnosemaster kann beim DP-Master der Klasse 1 (z.B.CP 5412 (A2)) im laufenden Betrieb bestimmte Informationen (bei-spielsweise die Betriebsart des DP-Masters der Klasse 1) anfordern.

Kann der Auftrag bearbeitet werden, stellt der DP-Master der Klasse 1die gewünschten Daten zur Abholung bereit.

Holt der DP-Diagnosemaster diese Daten nicht innerhalb der „PollTimeout“-Zeit ab, werden diese wieder zurückgenommen.

Page 36: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)36 C79000-B8900-C071-07

3.7.4 Min Slave Interval

Beschreibung Die Zeit „Min Slave Interval“ wird über den COM PROFIBUS projek-tiert und wird auf zwei Arten verwendet.

• Wurden zyklische Steuertelegramme projektiert, so wird die Zeitwie in Bild 3.3, Seite 30 dargestellt verwendet.

• Wurden keine zyklischen Steuertelegramme projektiert, so wird dieZeit wie in Bild 3.4 dargestellt verwendet.

AzyklischesSenden(Beispiel)

Bild 3.4 zeigt den Fall des Azyklisches Sendens am Beispiel zweierDP-Slaves.

E-Signal A-Signal

E-Signal A-Signal

Pollzyklus

E-Signal A-Signal

E-Signal A-Signal

Pollzyklus

Min Slave Intervall Min Slave Intervall

DP- Master

DP-Slave Nr. 1

DP-Slave Nr. 2

Zeitachse

Bild 3.4: Min Slave Interval - ohne zyklisches Steuertelegramm

Page 37: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 37

3.7.5 Deaktivierung eines DP-Slaves

Beschreibung Ein DP-Slave kann über einen Funktionsaufruf der DP-Programmier-schnittstelle aktiviert oder deaktiviert werden.

DP-Slaves, die deaktiviert sind, werden beim Poll-Zyklus nicht berück-sichtigt.

Page 38: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)38 C79000-B8900-C071-07

3.7.6 AUTOCLEAR

Beschreibung Diese Funktionalität ermöglicht eine selbständige Überwachung derDP-Anlage durch den DP-Master.

Ist diese Funktionalität ausgewählt, prüft der Master nach Ablauf der„Data Control Time“ (Kapitel 3.7.2), ob alle Slaves, die nicht deaktiviertwurden (Kapitel 3.7.5), am Datentransfer teilnehmen.

Ist dies nicht der Fall, so wechselt der DP-Master in die BetriebsartCLEAR.

Page 39: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 39

3.7.7 Konfigurierdaten

Datenbasis In der Datenbasis muß für jeden DP-Slave die Konfigurierung projek-tiert werden.

Festlegungen Die Konfigurierung legt über die Datenbereiche fest:

• Zahl

• Art (Eingabe/Ausgabe/analog/digital)

• Konsistenz (Byte/Wort/Bereich)

Diese Konfigurierdaten müssen mit dem tatsächlichen Aufbau desDP-Slaves übereinstimmen.

Abgleich Mit einem Konfiguriertelegramm sendet der DP-Master diese Daten anden entsprechenden DP-Slave.

Zur Kontrolle vergleicht der adressierte DP-Slave die empfangenenWerte mit seiner tatsächlichen Konfiguration.

Nur im Falle einer Übereinstimmung ist ein Austausch von Produktiv-daten zwischen DP-Master und DP-Slave möglich.

Fehlerfall Stimmen die Werte nicht überein, meldet der DP-Slave einen Konfigu-rationsfehler.

Page 40: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Grundprinzipien von DP

DP-Programmierschnittstelle (zyklische Kommunikation)40 C79000-B8900-C071-07

Page 41: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 41

4 Struktur der DP-Programmierschnittstelle

Dieses Kapitel vermittelt eine Übersicht der Funktionsaufrufe, die Ihnen dieDP-Programmierschnittstelle zur Verfügung stellt. Entsprechend ihrer Bedeutung sinddie Funktionsaufrufe in mehrere Gruppen unterteilt.

Es wird die prinzipielle Struktur einer DP-Applikation beschrieben, die sich in mehrerefunktionale Abschnitte untergliedern läßt.

Jedem dieser Abschnitte werden dabei die passenden Funktionsaufrufe zugeordnet. Siekönnen der Beschreibung entnehmen, welche Funktionsaufrufe zwingend verwendetwerden müssen und welche Funktionsaufrufe optional sind.

Das Kapitel zeigt darüber hinaus den Aufbau und die Elemente der Datenstrukturen, dieals Aufrufparameter an die Funktionen übergeben werden.

Es werden die vordefinierten Konstanten beschrieben, die den unterschiedlichen Ele-menten der Datenstrukturen zugewiesen werden. Dabei wird zwischen Vorgabe- undRückgabeparameter unterschieden.

Die Rückgabeparameter der Funktionsaufrufe sind in einer Übersichtstabelle aufgeführt.Jedem Rückgabeparameter ist eine kurze Beschreibung beigefügt.

Inhalt Kapitel 4

4.1 Übersicht der DP-Aufruffunktionen .................................................................42

4.2 Allgemeiner Aufruf der DP-Funktionen ...........................................................44

4.3 Auswerten eines Funktionsaufrufs ..................................................................454.3.1 Auswerten des Rückgabewertes .....................................................................464.3.2 Auswerten des Strukturelementes error_code.................................................47

4.4 Fehlerkennungen............................................................................................48

4.5 Übergabestrukturen ........................................................................................52

4.6 Beschreibung der Strukturelemente................................................................54

4.7 Zuordnung der Parameter zu den DP-Funktionen...........................................55

4.8 Konstanten .....................................................................................................564.8.1 Strukturelement reference ..............................................................................574.8.2 Strukturelement slv_state ...............................................................................584.8.3 Strukturelement sys_state ..............................................................................594.8.4 Strukturelement sys_event .............................................................................604.8.5 Global Control Commands .............................................................................614.8.6 Slave aktivieren/deaktivieren..........................................................................624.8.7 Slave-Parameter ............................................................................................634.8.8 DP-Slave-Typen.............................................................................................64

4.9 Struktur einer DP-Applikation .........................................................................65

Page 42: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)42 C79000-B8900-C071-07

4.1 Übersicht der DP-Aufruffunktionen

Gruppierung derDP-Funktionen

Die DP-Aufruffunktionen lassen sich in folgende Gruppen einteilen:

• Initialisierungsfunktionen

• Datenbasisfunktionen

• Datentransferfunktionen

• Steuerfunktionen

• Close-Funktionen

Initialisierungs-funktionen

Die folgende Tabelle gibt einen Überblick über die Initialisierungsfunk-tionen. Eine genaue Beschreibung finden sie ab Kapitel 5.1 aufSeite 72.

Aufruffunktion Beschreibung

dpn_init() Anmelden einer DP-Applikation an derDP-Programmierschnittstelle

dpn_wd() Überwachung des DP-Applikation aktivieren

Datenbasis-funktionen

Die folgende Tabelle gibt einen Überblick über die Datenbasisfunktio-nen. Eine genaue Beschreibung finden sie ab Kapitel 5.3 auf Seite 84.

Aufruffunktion Beschreibung

dpn_read_bus_par() Auslesen der Busparameter aus der Datenbasis

dpn_load_bus_par() DP-spezifische Teile der Busparameter verändern

dpn_read_slv_par() Slave-Parameter lesen

dpn_set_slv_state() Aktivierung/Deaktivierung eines Slaves der Daten-basis

dpn_read_cfg() Auslesen der DP-Konfiguration

Diagnose-funktionen

Die folgende Tabelle gibt einen Überblick über die Diagnosefunktio-nen. Eine genaue Beschreibung finden sie ab Kapitel 5.8 auf Sei-te 100.

Aufruffunktion Beschreibung

dpn_slv_diag() Diagnose eines Slaves anfordern

dpn_read_sys_info() Systeminformationen auslesen

Page 43: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 43

Datentransfer-funktionen

Die folgende Tabelle gibt einen Überblick über die Datentransferfunkti-onen. Eine genaue Beschreibung finden sie ab Kapitel 5.10 aufSeite 107.

Aufruffunktion Beschreibung

dpn_out_slv() Ausgabedaten an einen einzelnen Slave senden

dpn_out_slv_m() Ausgabedaten an mehrere Slaves senden

dpn_out_slv_ext() Ausgabedaten an mehrere Slaves senden

dpn_in_slv() Eingabedaten eines einzelnen Slaves lesen

dpn_in_slv_m() Eingabedaten mehrerer Slaves lesen

dpn_in_slv_ext() Eingabedaten mehrerer Slaves lesen

dpn_read_slv() Lokale Ausgabedaten eines einzelnen Slaves lesen

Steuerfunktionen Die folgende Tabelle gibt einen Überblick über die Steuerfunktionen.Eine genaue Beschreibung finden sie ab Kapitel 5.16 auf Seite 134.

Aufruffunktion Beschreibung

dpn_set_mode() DP-Betriebsart einstellen

dpn_get_mode() Aktuelle DP-Betriebsart auslesen

dpn_global_ctrl() Steuerkommandos an eine Slave-Gruppe senden

Close-Funktionen Die folgende Tabelle gibt einen Überblick über die Close-Funktionen.Eine genaue Beschreibung finden sie ab Kapitel 5.20 auf Seite 149.

Aufruffunktion Beschreibung

dpn_reset() Abmelden einer DP-Applikation an der DP-Pro-grammierschnittstelle

Page 44: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)44 C79000-B8900-C071-07

4.2 Allgemeiner Aufruf der DP-Funktionen

Beschreibung Jede Funktion erwartet als Übergabeparameter einen Zeiger auf dieStruktur dpn_interface. Der Aufbau dieser Struktur ist in Kapitel 4.5beschrieben.

Rückgabewert = dpn_..(struct dpn_interface far * ptr);

oder

Rückgabewert = dpn_..(struct dpn_interface_m far * ptr);

oder

Rückgabewert = dpn_..(struct dpn_itc_m ext * ptr);

Ausnahme Für die beiden Aufruffunktionen dpn_in_slv_m() und dpn_out_slv_m()wird die Struktur dpn_interface_m verwendet, die ebenfalls in Kapi-tel 4.5 beschrieben ist.Die Strukturen sind in der Datei DPN_USER.H definiert.

Page 45: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 45

4.3 Auswerten eines Funktionsaufrufs

Zwei Möglichkeitender Auswertung

Eine DP-Applikation kann alternativ auf zwei Arten prüfen, ob einFunktionsaufruf bearbeitet werden konnte

• Auswerten des Rückgabewertes der DP-Funktion

• Auswerten des Strukturelements error_code der Strukturendpn_interface bzw. dpn_interface_m

Der Inhalt des Strukturelements error_code ist identisch mit demRückgabewert der DP-Funktion.

Page 46: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)46 C79000-B8900-C071-07

4.3.1 Auswerten des Rückgabewertes

Überprüfen desRückgabewertesder Funktion

Über den Rückgabewert des Funktionsaufrufes (Typ: unsigned short)kann die aufrufende DP-Applikation prüfen, ob die Funktion bearbeitetwerden konnte.

Rückgabewert desFunktionsaufrufes

Bedeutung

DPN_NO_ERROR Funktion konnte bearbeitet werden. DieRückgabeparameter der Strukturdpn_interface (dpn_interface_m) sind gültig.

ungleich DPN_NO_ERROR Die Bearbeitung der Funktion wurde wegeneines Fehlers abgebrochen. Die Rückgabe-parameter der Struktur dpn_interface(dpn_interface_m) sind nicht gültig.

Der Rückgabeparameter der Funktion ent-hält eine detaillierte Fehlerkennung.

Beispiel Überprüfen des Rückgabewertes am Beispiel der Funktiondpn_get_mode().

include "dpn_user.h"

struct dpn_interface myDpnInterface;/* get actual mode of DP-System */unsigned char GetActualMode (unsigned char myBoard, unsigned char myAccess){unsigned short int result; unsigned char mode; myDpnInterface.reference.board_select = myBoard; myDpnInterface.reference.access = myAccess; result = dpn_get_mode (&myDpnInterface); if (result == DPN_NO_ERROR) /* result is valid */ { mode = myDpnInterface.sys_state; } else { mode = 0xff; /* sign for invalid */ switch (result) { /* check error code */ } } return (mode);}

Page 47: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 47

4.3.2 Auswerten des Strukturelementes error_code

Überprüfen desStrukturelementeserror_code

Eine DP-Applikation kann alternativ den Rückgabeparameter desFunktionsaufrufs (siehe oben) oder das Strukturelement error_codeauswerten, um zu ermitteln, ob die Funktion bearbeitet werden konnte.Das Strukturelement error_code in der Struktur dpn_interface(_m) istidentisch mit dem Rückgabeparameter der Funktion.

Strukturelementerror_code

Bedeutung

DPN_NO_ERROR Funktion konnte bearbeitet werden. Die rest-lichen Rückgabeparameter der Strukturdpn_interface (dpn_interface_m) sind gültig.

ungleich DPN_NO_ERROR Die Bearbeitung der Funktion wurde wegeneines Fehlers abgebrochen. Die restlichenRückgabeparameter der Strukturdpn_interface (dpn_interface_m) sind nichtgültig.

Das Strukturelement error_code enthält einedetaillierte Fehlerkennung.

Beispiel Überprüfen des Strukturelementes error_code am Beispiel der Funkti-on dpn_get_mode().

#include "dpn_user.h"

struct dpn_interface myDpnInterface;/* get actual mode of DP-System */unsigned char GetActualMode(unsigned char myBoard,

unsigned char myAccess){ unsigned char mode;

myDpnInterface.reference.board_select = myBoard;myDpnInterface.reference.access = myAccess;

dpn_get_mode (&myDpnInterface);if (myDpnInterface.error_code == DPN_NO_ERROR)/* result is valid */{ mode = myDpnInterface.sys_state;}else

{ mode = 0xff; /* sign for invalid */

switch (myDpnInterface.error_code) {

/* check error code */ }

} return (mode);}

Page 48: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)48 C79000-B8900-C071-07

4.4 Fehlerkennungen

Erklärung derBegriffe

In der weiter unten aufgeführten „Tabelle der Fehlerkennungen“ kom-men Begriffe vor, die hier vorab erläutert werden.

Übergeordneten ApplikationZu dem darin verwendeten Begriff der „übergeordneten Applikation“sei auf die Kapitel 4.8.1 und 5.1.3 verwiesen.

KategorienDie vorkommenden Kategorien werden in der nachfolgenden Tabelleerklärt:

Kategorie Erklärung

Installation/Konfigurierung

Fehler dieser Kategorie werden gemeldet, wenn infol-ge von Installations- oder Konfigurationsproblemenkeine Kommunikation zu dem CP möglich ist.

Überprüfen Sie die Einträge und Diagnosemöglich-keiten in „PG-PC-Schnittstelle einstellen„ (siehe Sys-temsteuerung) und die DP-Datenbasis. Beachten Siedie Installationshinweise des CPs.

Vorgabeparameter Fehler dieser Kategorie werden gemeldet, wenn dieDP-Applikation ungültige Vorgabeparameter beimAufruf von DP-Funktionen einträgt.

Korrigieren Sie die DP-Applikation.

Zugriffsrechte Fehler dieser Kategorie werden gemeldet, wenn eineDP-Applikation kein Zugriffsrecht auf Slaves besitztoder wenn eine Funktion einer übergeordnetenDP-Applikation vorbehalten ist.

Beachten Sie die Hinweise in Kapitel 5.1 dpn_init(Anmelden einer DP-Applikation) und in Kapitel 8.3Anmelden einer DP-Windows-Applikation.

Multiuser-Betrieb Fehler dieser Kategorie beziehen sich auf Problemebeim Multiuser-Betrieb. Multiuser-Betrieb bedeutet,daß mehrere DP-Applikationen auf die DP-Schnitt-stelle zugreifen.

Beachten Sie die Hinweise zu den einzelnen Fehler-meldungen.

Interne Fehler Fehler dieser Kategorie werden bei schwerwiegendenFehlern in der Initialisierungsphase oder in der Be-triebsphase des CP gemeldet.

Beenden Sie die DP-Applikation.

Sonstige Fehler Fehler dieser Kategorie werden während des Pro-grammablaufs gemeldet.

Beachten Sie die Hinweise zu den einzelnen Fehler-meldungen.

Page 49: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 49

Tabelle derFehlerkennungen

Die Tabelle enthält eine Auflistung der Fehlerkennungen derDP-Funktionen.

Fehlerkennung Bedeutung Kategorie

DPN_NO_ERROR Kein Fehler bei der Bearbeitung des Funktions-aufrufs.

Die Rückgabewerte der Aufrufstrukturen sindentsprechend Kapitel 5 Beschreibung derDP-Funktionen gültig und müssen ausgewertetwerden.

-

DPN_ACCESS_ERROR Die aufrufende DP-Applikation hat kein Schreib-zugriffsrecht auf die Funktion oder auf einenSlave.

Prüfen Sie, ob das Schreibzugriffsrecht beimdpn_init-Aufruf vorgegeben wird. Wenn dieFehlermeldung beim dpn_init()-Aufruf erfolgt, sohat bereits eine andere DP-Applikation dasSchreibzugriffsrecht vergeben.

Zugriffsrechte

DPN_APPL_LIMIT_ERROR Die maximale zulässige Anzahl vonDP-Applikationen im Multi-User-Betrieb wurdeüberschritten.

Multiuser-Betrieb

DPN_BOARD_ERROR Fehler der CP-Firmware (z. B.: Layer 2 konntenicht korrekt gestartet werden).

Interne Fehler

DPN_CENTRAL_ERROR Die Funktion darf nur von einer übergeordnetenDP-Applikation aufgerufen werden(siehe hierzu Kapitel 8.3 Anmelden einerDP-Windows-Applikation).

Zugriffsrechte

DPN_CLOSE_ERROR Fehler beim Abmelden einer DP-Applikation. Interne Fehler

DPN_GLB_CTRL_ERROR Ungültiger Wertebereich für Control Commandbeim Aufruf der Funktion dpn_global_crtl(). Tra-gen Sie einen gültigen Wert entsprechend desgewählten Funktionsaufrufs ein.

Vorgabeparameter

DPN_LENGTH_ERROR Strukturelement „length“ der Strukturendpn_interface, dpn_interface_s,dpn_interface_s_ext außerhalb des zulässigenWertebereiches oder die Datenlänge bei Pro-duktivdiensten dpn_out_slv, dpn_out_slv_m o-der dpn_out_slv_m_ext stimmt nicht mit denprojektierten Werten überein. Prüfen Sie, wie-viele Ausgabebytes für die Slaves projektiertworden sind.

Vorgabeparameter

DPN_MEM_BOARD_ERROR

Nicht genügend freier Speicher auf dem CP vor-handen. Beachten Sie die Produkthinweise(verfügbares Mengengerüst, Einschränkungenusw.).

Interne Fehler

DPN_MEM_HOST_ERROR Nicht genügend freier Speicher auf dem Host-Rechner vorhanden.

Interne Fehler

Page 50: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)50 C79000-B8900-C071-07

Fehlerkennung Bedeutung Kategorie

DPN_MODE_ERROR Der Funktionsaufruf kann temporär nicht bear-beitet werden.Erfolgt die Meldung bei der Funktiondpn_set_mode() so wurde versucht beim Än-dern der Betriebsart einen Zustand zu über-springen. Beachten Sie in diesem Fall die Hin-weise in Kapitel 5.16.

Sonstige Fehler

DPN_NO_DBASE_ERROR Keine oder fehlerhafte Einträge in derDP-Datenbasis.

Überprüfen Sie die Datenbasis.

Installation/Konfigurierung

DPN_OPEN_ERROR Fehler beim Anmelden einer DP-Applikation(z. B. Treiber nicht geladen, CP nicht gesteckt).

Installation/Konfigurierung

DPN_RECEIVE_ERROR Fehler bei der Übergabe einer Quittung des CPan den Schnittstellentreiber.

Interne Fehler

DPN_REFERENCE_DIFF_ERROR

Fehler beim Multi User-Betrieb. Die Einträge imStrukturelement reference beim Aufruf vondpn_init() passen nicht zu den vorangegange-nen dpn_init()-Aufrufen anderer aktiverDP-Applikationen, die sich an dem gleichen CPangemeldet haben. Entnehmen Sie aus Kapitel8.3 Anmelden einer DP-Windows-Applikation,welche Kombinationen zulässig sind.

Multiuser-Betrieb

DPN_REFERENCE_ERROR Das Strukturelement reference der Strukturdpn_interface, dpn_interface_m oderdpn_ifc_m_ext ist ungültig.

Tragen Sie eine der in Kapitel 5.1.3Erläuterungen zum Strukturelement referencebeschriebenen Werte ein.

Vorgabeparameter

DPN_SEND_ERROR Fehler bei der Übergabe eines Funktionsaufru-fes des Schnittstellentreibers an den CP.

Interne Fehler

DPN_SLV_STATE_ERROR Das Strukturelement slv_state der Strukturdpn_interface ist ungültig.

Tragen Sie einen gültigen Wert entsprechenddes gewählten Funktionsaufrufs ein.

Vorgabeparameter

DPN_STAT_NR_ERROR Das Strukturelement stat_nr der Strukturdpn_interface, dpn_interface_s oderdpn_interface_s_ext ist ungültig oder der Slaveist nicht in der Datenbasis vorhanden.

Prüfen Sie, ob die Slaves, mit denen Kommuni-kation durchgeführt werden soll, in der Datenba-sis enthalten sind.

Vorgabeparameter

DPN_SYS_STATE_ERROR Das Strukturelement sys_state der Strukturdpn_interface ist ungültig.

Tragen Sie einen gültigen Wert entsprechenddes gewählten Funktionsaufrufs ein.

Vorgabeparameter

DPN_USER_DATA_ERROR Ein oder mehrere Elemente des Arrays u-ser_data der Struktur dpn_interface sind ungül-tig.

Tragen Sie einen gültigen Wert entsprechenddes gewählten Funktionsaufrufs ein.

Vorgabeparameter

Page 51: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 51

Fehlerkennung Bedeutung Kategorie

DPN_WD_EXPIRED Der Auftrag konnte nicht durchgeführt werden,weil die Aktivitätsüberwachung der DP-Applikation einen Time-Out erkannt hat.

• Beachten Sie die Hinweise in Kapitel 5.2dpn_wd (Aktivitätsüberwachung derDP-Applikation).

• Prüfen Sie, ob die eingestellte Überwa-chungszeit ausreichend ist.

Sonstige Fehler

DPN_WRONG_BOARD_ERROR

Das Strukturelement reference.board derStruktur dpn_interface ist ungültig.

Tragen Sie einen gültigen Wert (1 bis 4) ent-sprechend des installierten CPs ein (1 entsprichtCP_L2_1, 2 entspricht CP_L2_2 etc.)

Vorgabeparameter

LOAD_L2_VXD_ERROR Der für einen SOFTNET-CP erforderliche Layer-2-Treiber konnte nicht geladen werden.

Mögliche Ursache: Treiber wurde versehentlichaus dem System- (Windows 95) oderSystem32\Driver-Katalog (Windows NT)gelöscht.

Installation/Konfigurierung

OPEN_L2_VXD_ERROR Der für einen SOFTNET-CP erforderliche Lay-er 2-Treiber konnte nicht geöffnet werden.

Dieser Fehler wird beim Start des Layer 2 Trei-ber gemeldet:

Mögliche Ursachen:

• Buskurzschluß

• SoftEntry ist eingeschaltet

• interner AMPRO2 Fehler

• Meldeserver (SIM9SYNC) läuft nicht

Installation/Konfigurierung

Page 52: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)52 C79000-B8900-C071-07

4.5 Übergabestrukturen

Beschreibung Ein Zeiger auf die Struktur dpn_interface, dpn_interface_m oderdpn_ifc_m_ext wird als Parameter an eine DP-Funktion übergeben.Die Struktur enthält die Vor- und Rückgabeelemente der DP-Funktion.

Alle Strukturen sind im Include-File DPN_USER.H enthalten.

Die Struktur dpn_interface_m wird verwendet, wenn mit dem AufrufDatentransfer zu mehreren DP-Slaves stattfindet. Sie enthält für jedenSlave eine eigene Substruktur dpn_interface_s.

Die Struktur dpn_ifc_m_ext wird ebenfalls verwendet, wenn mit demAufruf Datentransfer zu mehreren DP-Slaves stattfindet. Sie enthält fürjeden Slave eine eigene Substruktur dpn_ifc_s_ext.

Unterschiedzwischendpn_interface_mund dpn_ifc_m_ext

Die Struktur dpn_interface_m bietet einen einfachen Zugang für DPStandardapplikationen. Es können bis zu 32 Slaves adressiert werden.Die maximale Datenlänge pro Slave ist auf 32 Byte begrenzt. Die Ein-und Ausgabedaten der Slaves werden innerhalb der Substruktureneingetragen.

Mit der Struktur dpn_ifc_m_ext lassen sich bis zu 125 DP-Slaves ad-ressieren. Die Datenlänge der Slaves ist nicht begrenzt. Im Gegensatzzu der Struktur dpn_interface_m werden in den Substrukturen die Ein-und Ausgabedaten nicht direkt eingetragen, sondern es wird über Zei-ger auf die Datenbereiche der Slaves verwiesen.

Strukturdpn_interface

struct dpn_interface{struct REFERENCE reference; /* Referenz d.Applik. */unsigned char stat_nr; /* Stationsnummer */unsigned char length; /* Länge */unsigned short error_code; /* Fehlerkennung */unsigned char slv_state; /* Zustand des DP-Slaves */unsigned char sys_state; /* Zustand des DP-Masters*/unsigned char sys_event; /* Eventmeldungen */unsigned char user_data[255]; /* Datenfeld */};

struct REFERENCE{unsigned char board_select;unsigned char access;};

Page 53: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 53

Strukturendpn_interface_m,dpn_interface_s

struct dpn_interface_s{struct REFERENCE reference;unsigned char stat_nr;unsigned char length;unsigned short int error_code;unsigned char slv_state;unsigned char sys_state;unsigned char sys_event;unsigned char user_data[DPN_SINGLE_SIZE];};

struct dpn_interface_m{struct dpn_interface_sdpn_if_single[DPN_MULTIPLE_SIZE];

Strukturendpn_ifc_m_ext,dpn_ifc_s_ext

struct dpn_ifc_s_ext{struct REFERENCE reference;unsigned char stat_nr;unsigned char length;unsigned short int error_code;unsigned char slv_state;unsigned char sys_state;unsigned char sys_event;unsigned char reserved[3];unsigned char far * data_ptr;};

struct dpn_ifc_m_ext{struct dpn_ifc_s_extdpn_if_single[DPN_MULTIPLE_SIZE_EXT];}

Page 54: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)54 C79000-B8900-C071-07

4.6 Beschreibung der Strukturelemente

reference Das Strukturelement reference enthält die Identifikation derDP-Applikation. Die Identifikation wird beim Aufruf der Funktiondpn_init() vergeben. Anhand des Eintrags kann die DP-Library denFunktionsaufruf dem selektierten CP zuordnen.

stat_nr PROFIBUS-Adresse des selektierten DP-Slaves.

length Zahl der gültigen Bytes im Array user_data[ ].

error_code Dieses Strukturelement ist identisch mit dem Rückgabeparameter derFunktion.Es signalisiert, ob der Funktionsaufruf bearbeitet werden konnte.

HinweisEine DP-Applikation kann alternativ den Rückgabewert der Funktionoder das Strukturelement error_code überprüfen !

Es ist zu beachten, daß die restlichen Strukturelemente nur dann gültigsind, wenn der Funktionsrückgabeparameter bzw. das Strukturelementerror_code keine Fehlerkennung enthalten.

slv_state Dieses Strukturelement kennzeichnet den Zustand des adressiertenDP-Slaves.

sys_state Dieses Strukturelement kennzeichnet die aktuelle Betriebsart desDP-Masters.

sys_event Tritt ein Ereignis (sehen Sie dazu auch Kapitel 3.4) beim DP-Masterauf, so hinterlegt er an dieser Stelle eine entsprechende Kennung zurIdentifikation des Ereignisses.

user_data[ ] Das Array user_data[ ] enthält die auftragsspezifischen Daten.

Page 55: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 55

4.7 Zuordnung der Parameter zu den DP-Funktionen

Beschreibung Die folgende Matrix zeigt die Zuordnung der in Kapitel 4.6 beschrie-benen Parameter der Strukturen dpn_interface und dpn_interface_mzu den Funktionsaufrufen der DP-Library.

Ein „V“ in der Parametermatrix bedeutet, daß der Parameter als Vor-gabewert verwendet wird.

Ein „R“ in der Parametermatrix kennzeichnet die Rückgabeparameterder Funktionsaufrufe.

dpn_init() V/R - V R - - R V -

dpn_wd() V - V R - R R V -

dpn_read_bus_par() V - V/R R - R R R -

dpn_load_bus_par() V - V R - R R V -

dpn_read_slv_par() V V V/R R V/R R R R -

dpn_set_slv_state() V V V R R R R V -

dpn_read_cfg() V - V/R R - R R R -

dpn_slv_diag() V V V/R R R R R R -

dpn_read_sys_info() V - V/R R - R R R -

dpn_out_slv() V V V R R R R V -

dpn_out_slv_m() V V V R R R R V -

dpn_in_slv() V V V/R R R R R R -

dpn_in_slv_m() V V R R R R R R -

dpn_read_slv() V V V/R R R R R R -

dpn_set_mode() V - - R - V/R R - -

dpn_get_mode() V - - R - R R - -

dpn_global_ctrl() V V V R V R R V -

dpn_reset V - - R - - - - -

dpn_out_slv_ext V V V R R R R - V

dpn_in_slv_ext V V V/R R R R R - V/R

Page 56: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)56 C79000-B8900-C071-07

4.8 Konstanten

Beschreibung Die folgenden Tabellen enthalten die Definition von Konstanten, dieals Vorgabe- oder Rückgabeparameter in der Strukturdpn_interface(_m) eingetragen werden. Im Kapitel 5 wird bei der Be-schreibung der Funktionsaufrufe auf diese Konstanten verwiesen.

Die Konstanten sind im Include-File DPN_USER.H definiert.

Page 57: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 57

4.8.1 Strukturelement reference

Art der Applikation Die DP-Programmierschnittstelle unterscheidet zwischen zwei Artenvon DP-Applikationen - übergeordnete und nicht übergeordnete.

Bestimmte Funktionsaufrufe sind der übergeordneten DP-Applikationvorbehalten. Dabei ist zu beachten, daß von den maximal vierDP-Applikationen, die sich an der DP-Programmierschnittstelle anmel-den können, höchstens eine pro CP als übergeordnete DP-Applikationangemeldet werden kann. Weitere Informationen zu diesem Themafinden Sie in Kapitel 5.1.3.

reference.access Diese Konstanten kennzeichnen beim Funktionsaufruf dpn_init() dieArt und die Umgebung der DP-Applikation. Eine detaillierte Beschrei-bung des Funktionsaufrufs dpn_init() ist in Kapitel 5 enthalten.

Wertebereich Bedeutung

DPN_ROLE_CENTRAL Die sich anmeldende DP-Applikationist eine übergeordnete Applikation.

DPN_ROLE_NOT_CENTRAL Die sich anmeldende DP-Applikationist keine übergeordnete Applikation.

DPN_SYS_CENTRAL Eine der DP-Applikationen ist eineübergeordnete Applikation.

DPN_SYS_NOT_CENTRAL Keine der DP-Applikationen ist eineübergeordnete Applikation.

Zugriffsrechte aufDP-Slaves

Diese Konstanten legen beim Funktionsaufruf dpn_init() das Zugriffs-recht einer DP-Applikation auf einen DP-Slave fest und werden in dasArray user_data[ ] eingetragen.

Wertebereich Bedeutung

DPN_SLV_NO_ACCESS Kein Zugriff gewünscht

DPN_SLV_READ Nur Eingabedaten lesen

DPN_SLV_WRITE_READ Ausgabedaten senden/Eingabedatenlesen

Page 58: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)58 C79000-B8900-C071-07

4.8.2 Strukturelement slv_state

Betriebszuständeeines DP-Slaves

Diese Konstanten kennzeichnen den aktuellen Betriebszustand einesDP-Slaves während der Kommunikation mit dem DP-Master.

Wertebereich Bedeutung

DPN_SLV_STAT_OFFLINE Der DP-Slave ist nicht in der Da-tentransferphase (Anlauf des CP).

DPN_SLV_STAT_NOT_ACTIVE Der DP-Slave ist in der lokalenDatenbasis nicht aktiviert.

DPN_SLV_STAT_READY Der DP-Slave ist in der Daten-transferphase.

DPN_SLV_STAT_READY_DIAG Der DP-Slave ist in der Daten-transferphase, zusätzlich sind Di-agnosedaten vorhanden.

DPN_SLV_STAT_NOT_READY Der DP-Slave ist nicht in der Da-tentransferphase.

DPN_SLV_STAT_NOT_READY_DIAG Der DP-Slave ist nicht in der Da-tentransferphase. Es sind Diagno-sedaten vorhanden.

Page 59: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 59

4.8.3 Strukturelement sys_state

Betriebsart desDP-Masters

Diese Konstanten kennzeichnen die aktuelle Betriebsart desDP-Masters.

Wertebereich Bedeutung

DPN_SYS_OFFLINE Es erfolgt keine DP-Kommunikation.

DPN_SYS_STOP Nur Kommunikation mit DP-MasterKlasse 2 möglich. Darüber hinauserfolgt keine Kommunikation mit denDP-Slaves.

DPN_SYS_CLEAR Es erfolgt die Parametrie-rung/Konfigurierung der DP-Slaves.In der sich anschließenden Daten-transferphase werden in Ausgabe-richtung Bytes mit log. 0 oder Leer-telegramme an die DP-Slaves ge-sendet.

DPN_SYS_OPERATE Produktivdatenaustausch mit denDP-Slaves.

Page 60: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)60 C79000-B8900-C071-07

4.8.4 Strukturelement sys_event

Ereignis-meldungen

Diese Konstanten kennzeichnen Ereignismeldungen, die bei verschie-denen DP-Funktionen im Strukturelement sys_event gemeldet werdenkönnen. Es ist zu beachten, daß die Ereignismeldungen einzeln oderkombiniert auftreten können. Ist kein Ereignis aufgetreten, enthältsys_event den Wert 0. Enthält sys_event einen anderen Wert als 0, sokann durch „Und-Verküpfungen“ mit den verschiedenen KonstantenAnzahl und Art der Ereignisse ermittelt werden.

Wertebereich Bedeutung

MST_CLS_TWO_ACCESS Ereignismeldung Zugriff einesDP-Masters der Klasse 2 (Diagnose-Master).

AUTOCLEAR Ereignismeldung AUTOCLEAR

WATCHDOG Ereignismeldung TIMEOUT

Beispiel Das folgende Beispiel beschreibt die Auswertung von sys_event.

Vereinfachtes Beispiel:struct dpn_interface myDpnInterface;// Hier Parameter ausfüllen und Aufruf// durchführen

::// Prüfen, ob Autoclear aufgetreten istif ((myDpnInterface.sys_event & AUTOCLEAR) != 0){ /* Ereignis AUTOCLEAR */}

Page 61: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 61

4.8.5 Global Control Commands

Beschreibung Beim Funktionsaufruf dpn_global_ctrl() können unterschiedliche Kom-mandos an die DP-Slaves gesendet werden. Die nachfolgend aufge-listeten Konstanten werden in das Strukturelement slv_state eingetra-gen.

Wertebereich Bedeutung

DPN_CLEAR CLEAR-Kommando

DPN_UNFREEZE UNFREEZE-Kommando

DPN_FREEZE FREEZE-Kommando

DPN_UNSYNC UNSYNC-Kommando

DPN_SYNC SYNC-Kommando

Page 62: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)62 C79000-B8900-C071-07

4.8.6 Slave aktivieren/deaktivieren

Beschreibung Diese Konstanten sind für den Funktionsaufruf dpn_set_slv_state()relevant und werden im Strukturelement user_data[0] hinterlegt.

Wertebereich Bedeutung

DPN_SLV_ACTIVATE Der Slave wird in der lokalen Daten-basis aktiviert. Anschließend ver-sucht der DP-Master den Slave zuparametrieren, konfigurieren und ei-nen Datentransfer durchzuführen(Voraussetzung: Der Master befindetsich in der Betriebsart CLEAR oderOPERATE).

DPN_SLV_DEACTIVATE Der Slave wird in der lokalen Daten-basis deaktiviert, d. h. es findet keinDatenaustausch mit dem Slave statt.

Page 63: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 63

4.8.7 Slave-Parameter

Beschreibung Mit diesen Konstanten können unterschiedliche Teile der Slave-Parameter (Aufbau nach EN 50 170 Vol. 2) beim Funktionsaufrufdpn_read_slv_par() selektiert werden. Die Konstante wird in dasStrukturelement slv_state eingetragen.

Wertebereich Bedeutung

DPN_SLV_PARA_TYP Selektion von Sl-Flag, Slave-Typund Oktett-String

DPN_SLV_PARA_PRM_DATA Selektion der Parametrierdaten

DPN_SLV_PARA_CFG_DATA Selektion der Konfigurierdaten

DPN_SLV_PARA_ADD_TAB Selektion der Add-Tab-Liste

DPN_SLV_PARA_USER_DATA Selektion der Slave User Data

Page 64: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)64 C79000-B8900-C071-07

4.8.8 DP-Slave-Typen

Beschreibung Diese Konstanten kennzeichnen die unterschiedlichen Typen derDP-Slaves und werden beim Aufruf der Funktion dpn_read_cfg () imFeld user_data[ ] zurückgegeben.

Wertebereich Bedeutung

DPN_CFG_NO_SLV Kein DP-Slave

DPN_CFG_NORM Norm-DP-Slave

DPN_CFG_ET200_U Nicht Norm-Slave: ET 200U

DPN_CFG_ET200K_B Nicht Norm-Slave: ET 200K/B

DPN_CFG_ET200_SPM Nicht Norm-Slave: allgemeine SPM-Station

Page 65: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 65

4.9 Struktur einer DP-Applikation

Übersicht Das Bild 4.1 zeigt den prinzipiellen Aufbau einer DP-Applikation. Sieunterteilt sich in die drei Bereiche Initialisierung, Produktivphase undAbschlußphase.

Jedem dieser Bereiche sind bestimmte DP-Funktionsaufrufe zugeord-net. Diejenigen Funktionsaufrufe, die für eine DP-Applikation zwingendvorgeschrieben sind, sind grau unterlegt.

Darstellung Bild 4.1 zeigt in der linken Spalte die typischen Funktionen einerDP-Applikation. In der rechten Spalte sind die verfügbaren Zusatz-funktionen für erweiterte Diagnose, Ändern von Parametern etc. dar-gestellt.

Page 66: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)66 C79000-B8900-C071-07

dpn_init()

dpn_read_bus_par()dpn_load_bus_par() *)dpn_read_cfg()dpn_read_slv_par()dpn_set_slv_state()

dpn_wd()

dpn_set_mode () *)

dpn_get_mode()dpn_out_slv()

dpn_in_slv()

dpn_read_slv()

dpn_slv_diag()

dpn_read_sys_info()

dpn_global_crtl ()

dpn_reset()

Initialisierung

Produktivphase

Abschlußphase

zwingend

optional

*) Nur für übergeordnete DP-Applikation zulässig

dpn_in_slv_m()

dpn_out_slv_m()

Bild 4.1: Struktur einer DP-Applikation

Page 67: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 67

Funktionen derInitialisierungs-phase

In der folgenden Tabelle werden die Funktionen der Initialisierungs-phase beschreiben.

Funktion Status Anmerkung

dpn_init() zwingendvorgeschrieben

Muß als erste DP-Funktion aufgerufen werden.

dpn_load_bus_par() optional oderverboten

Ändern der DP-Timer der Busparameter. Darf nur voneiner übergeordneten DP-Applikation aufgerufen wer-den.

dpn_read_bus_par() optional Ermitteln/Überprüfen der Busparameter

dpn_read_cfg() optional Auslesen der Gesamtkonfiguration

dpn_read_slv_par() optional Auslesen der Slave-Parameter. Aus den Slave-Parametern kann die Konfiguration und der Zustand(aktiviert/nicht aktiviert) der DP-Slaves ermittelt wer-den.

dpn_set_slv_state() optional Slave aktivieren/deaktivieren

dpn_wd () optional CP überwacht Aktivität der DP-Applikation

Funktionen derProduktivphase

In der folgenden Tabelle werden die Funktionen der Produktivphasebeschreiben.

Funktion Status Anmerkung

dpn_set_mode() zwingend vor-geschrieben o-der verboten

Muß von der übergeordneten DP-Applikation zu Beginnder Betriebsphase aufgerufen werden, um eine neue Be-triebsart des DP-Masters einzustellen.

dpn_get_mode() optional Abfrage der aktuellen Betriebsart

dpn_global_ctrl() optional oderverboten

Steuerkommando an mehrere oder alle DP-Slaves

dpn_in_slv() optional Eingabedaten eines DP-Slaves lesen

dpn_in_slv_m() optional Eingabedaten mehrerer DP-Slaves lesen

dpn_in_slv_ext() optional Eingabedaten mehrerer DP-Slaves lesen

dpn_out_slv() optional Ausgabedaten an einen DP-Slave übergeben

dpn_out_slv_m() optional Ausgabedaten an mehrere DP-Slaves übergeben

dpn_out_slv_ext() optional Ausgabedaten an mehrere DP-Slaves übergeben

dpn_read_slv() optional Ausgabedaten eines DP-Slaves lesen

dpn_read_sys_info() optional Übersicht Gesamtzustand

dpn_slv_diag() optional Diagnose eines DP-Slaves lesen

Page 68: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Struktur der DP-Programmierschnittstelle

DP-Programmierschnittstelle (zyklische Kommunikation)68 C79000-B8900-C071-07

Sonderfalldpn_set_mode

Der Aufruf dieser Funktion ist nur in einem DP-System mit einer über-geordneten DP-Applikation zwingend vorgeschrieben. In diesem Fallmuß die DP-Applikation mit der Funktion dpn_set_mode() denDP-Master aus der Betriebsart OFFLINE in die Betriebsart OPERATEüberführen.

Bei einem DP-System ohne übergeordnete DP-Applikation erfolgt derWechsel des DP-Masters aus der Betriebsart OFFLINE in die Be-triebsart OPERATE selbsttätig nach dem Anmelden der ersten Appli-kation.

Das Konzept der übergeordneten DP-Applikation wird in Kapitel 5.1detailliert erläutert.

Funktionen derAbschlußphase

In der folgenden Tabelle wird die Funktion der Abschlußphase be-schreiben.

Funktion Status Anmerkung

dpn_reset() zwingend vor-geschrieben

Abmelden einer Applikation und damit beenden derDP-Kommunikation mit den der Applikation zugeordnetenSlaves. Rückgabe von Betriebssystem-Ressourcen.

Page 69: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 69

5 Beschreibung der DP-Funktionen

In diesem Kapitel finden Sie eine detaillierte Beschreibung aller Funktionen derDP-Programmierschnittstelle.

Sie können der Beschreibung entnehmen, welche Elemente der Struktur dpn_interfaceoder dpn_interface_m vor dem Aufruf der entsprechenden Funktion auszufüllen sind.

Ebenso werden diejenigen Strukturelemente aufgeführt, die von der DP-Funktion alsRückgabeparameter aktualisiert oder verändert werden. Diese Elemente können in derDP-Applikation ausgewertet werden, sofern der Rückgabeparameter (bzw. das Struktur-element error_code) eine korrekte Ausführung der Funktion signalisiert

Übersicht der Funktionen:

• dpn_init() Kapitel 5.1 Seite 72

• dpn_wd() Kapitel 5.2 Seite 81

• dpn_read_bus_par() Kapitel 5.3 Seite 84

• dpn_load_bus_par() Kapitel 5.4 Seite 87

• dpn_read_slv_par() Kapitel 5.5 Seite 90

• dpn_set_slv_state() Kapitel 5.6 Seite 93

• dpn_read_cfg() Kapitel 5.7 Seite 96

• dpn_slv_diag() Kapitel 5.8 Seite 100

• dpn_read_sys_info() Kapitel 5.9 Seite 103

• dpn_out_slv() Kapitel 5.10 Seite 107

• dpn_out_slv_m() Kapitel 5.11 Seite 111

• dpn_out_slv_ext() Kapitel 5.12 Seite 116

• dpn_read_slv() Kapitel 5.13 Seite 121

• dpn_in_slv() Kapitel 5.14 Seite 125

• dpn_in_slv_m() Kapitel 5.15 Seite 129

• dpn_in_slv_ext() Kapitel 5.16 Seite 134

• dpn_set_mode() Kapitel 5.17 Seite 139

• dpn_get_mode() Kapitel 5.18 Seite 142

• dpn_global_ctrl() Kapitel 5.19 Seite 145

• dpn_reset() Kapitel 5.20 Seite 149

Page 70: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)70 C79000-B8900-C071-07

Inhalt Kapitel 5

5.1 Anmelden einer DP-Applikation ............................................................................725.1.1 Vorgabeparameter .............................................................................................735.1.2 Rückgabeparameter...........................................................................................765.1.3 Erläuterungen zum Strukturelement reference ...................................................775.1.4 Konstanten für das Strukturelement reference.access........................................79

5.2 Aktivitätsüberwachung der DP-Applikation............................................................815.2.1 Vorgabeparameter .............................................................................................825.2.2 Rückgabeparameter...........................................................................................83

5.3 Busparameter lesen..............................................................................................845.3.1 Vorgabeparameter .............................................................................................855.3.2 Rückgabeparameter...........................................................................................86

5.4 Busparameter schreiben .......................................................................................875.4.1 Vorgabeparameter .............................................................................................885.4.2 Rückgabeparameter...........................................................................................89

5.5 Slave-Parameter lesen .........................................................................................905.5.1 Vorgabeparameter .............................................................................................915.5.2 Rückgabeparameter...........................................................................................92

5.6 Aktivierung/Deaktivierung eines DP-Slaves ..........................................................935.6.1 Vorgabeparameter .............................................................................................945.6.2 Rückgabeparameter...........................................................................................95

5.7 Konfiguration des DP-Systems ermitteln ...............................................................965.7.1 Vorgabeparameter .............................................................................................975.7.2 Rückgabeparameter...........................................................................................98

5.8 Diagnosedaten eines Slaves anfordern ...............................................................1005.8.1 Vorgabeparameter ...........................................................................................1015.8.2 Rückgabeparameter.........................................................................................102

5.9 Statusinformationen des DP-Systems ermitteln ..................................................1035.9.1 Vorgabeparameter ...........................................................................................1045.9.2 Rückgabeparameter.........................................................................................105

5.10 Ausgabedaten an einen DP-Slave senden ........................................................1075.10.1 Vorgabeparameter .........................................................................................1085.10.2 Rückgabeparameter.......................................................................................109

5.11 Ausgabedaten an mehrere DP-Slaves senden ..................................................1115.11.1 Vorgabeparameter .........................................................................................1125.11.2 Rückgabeparameter.......................................................................................1135.11.3 Rückgabewert des Funktionsaufrufs...............................................................115

5.12 Ausgabedaten an mehrere Slaves senden - erweiterte Funktion .......................1165.12.1 Vorgabeparameter .........................................................................................1175.12.2 Rückgabeparameter.......................................................................................1185.12.3 Rückgabewert des Funktionsaufrufs...............................................................120

5.13 Lokale Ausgabedaten eines DP-Slaves lesen....................................................1215.13.1 Vorgabeparameter .........................................................................................1225.13.2 Rückgabeparameter.......................................................................................123

5.14 Eingabedaten eines DP-Slaves lesen................................................................1255.14.1 Vorgabeparameter .........................................................................................1265.14.2 Rückgabeparameter.......................................................................................127

5.15 Eingabedaten mehrerer DP-Slaves lesen..........................................................129

Page 71: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 71

5.15.1 Vorbelegung der Strukturen dpn_interface_s..................................................1305.15.2 Rückgabeparameter der Strukturen dpn_interface_s......................................1315.15.3 Rückgabewert der Funktion............................................................................133

5.16 Eingabedaten mehrerer DP-Slaves lesen - erweiterte Funktion.........................1345.16.1 Vorbelegung der Strukturen dpn_ifc_s_ext .....................................................1355.16.2 Rückgabeparameter der Strukturen dpn_ifc_s_ext .........................................1365.16.3 Rückgabewert der Funktion............................................................................138

5.17 Betriebsart des DP-Masters einstellen...............................................................1395.17.1 Vorgabeparameter .........................................................................................1405.17.2 Rückgabeparameter.......................................................................................141

5.18 Betriebsart des DP-Masters ermitteln ................................................................1425.18.1 Vorgabeparameter .........................................................................................1435.18.2 Rückgabeparameter.......................................................................................144

5.19 Azyklisches Senden eines Steuertelegramms ...................................................1455.19.1 Vorgabeparameter .........................................................................................1465.19.2 Rückgabeparameter.......................................................................................148

5.20 Abmelden einer DP-Applikation ........................................................................1495.20.1 Vorgabeparameter .........................................................................................1505.20.2 Rückgabeparameter.......................................................................................151

Page 72: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)72 C79000-B8900-C071-07

5.1 dpn_init (Anmelden einer DP-Applikation)

Aufruffunktion unsigned short int dpn_init (struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion muß sich eine DP-Applikation bei einem CP an-melden. Die Funktion muß vor allen anderen DP-Funktionen auf-gerufen werden. Als Aufrufparameter wird ein Far-Zeiger auf dieStruktur dpn_interface übergeben. Im Erfolgsfall wird im Strukturele-ment reference ein Handle zurückgegeben. Dieses Handle wird vonder DP-Firmware für die Identifikation der DP-Applikation benötigt. DasHandle muß bei allen weiteren Funktionsaufrufen an den CP als Vor-gabeparameter eingetragen werden.

Nach dem der DP-Master in den Zustand OPERATE versetzt wur-de, benötigen die DP-Slaves unter Umständen noch einige Zeit,bis sie die Betriebsbereitschaft erreicht haben. Sie sollten dahervor dem Schreiben von Ausgabedaten für einen DP-Slave solangeden Betriebszustand des DP-Slaves ermitteln, z. B. mittelsdpn_read_sys_info, bis für den DP-Slave der WertDPN_SLV_STAT_READY oder DPN_SLV_STAT_READY_DIAGzurückgemeldet wird.

Page 73: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 73

5.1.1 Vorgabeparameter

Parameterstruktur ptr -> reference Referenz der DP-Applikationptr -> stat_nr irrelevantptr -> length Größe des Arrays user_data[ ]ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] Gewünschte Zugriffsart auf DP-Slaves

reference In dem Strukturelement reference werden die für die DP-Applikationrelevanten Parameter eingetragen.

Dies sind im einzelnen:

• Selektion einer Baugruppe

• Einstellung der DP-Applikationsumgebung

• Einstellung der Applikationsart

Die detaillierte Beschreibung dieser Parameter befindet sich in Kapi-tel 5.1.3

length Hier ist die Zahl der relevanten Bytes im Array user_data[ ] einzutra-gen; Wertebereich: 0 bis 126.

Page 74: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)74 C79000-B8900-C071-07

user_data[ ] Im Array user_data[ ] muß die DP-Applikation das gewünschteZugriffsrecht auf die einzelnen DP-Slaves festlegen. Der Eintrag er-folgt jeweils in einem eigenen Byte. Der Index innerhalb des Arraysentspricht der PROFIBUS-Adresse des DP-Slaves.

:

Zugriffsrecht Slave 0

Zugriffsrecht Slave 1

Zugriffsrecht Slave 2

Zugriffsrecht Slave 3

Zugriffsrecht Slave 4

Zugriffsrecht Slave 5

Zugriffsrecht Slave 125

user_data[0]

user_data[1]

user_data[2]

user_data[3]

user_data[4]

user_data[5]

:

user_data[125]

Bild 5.1: Zugriffsrechte auf die DP-Slaves

Zugriffsrecht Als gewünschtes Zugriffsrecht können eingetragen werden:

• Ausgabedaten schreiben/Eingabedaten lesen

• Eingabedaten lesen

• Kein Zugriff gewünscht

Konstanten Für die Vorgabe des Zugriffsrechts stehen der DP-Applikation folgendeKonstanten (Include-File DPN_USER.H) zur Verfügung:

Konstante Gewünschtes Zugriffsrecht

DPN_SLV_WRITE_READ Ausgabedaten schreiben/Eingabedaten lesen

DPN_SLV_READ Eingabedaten lesen

DPN_SLV_NO_ACCESS Kein Zugriff gewünscht

Page 75: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 75

Überprüfung derEinträge

Die Einträge werden gemäß folgender Regeln auf Gültigkeit überprüft:

• Die Datenausgabe an einen bestimmten DP-Slave darf innerhalbeines Multitasking-Betriebssystems nur von einer einzigenDP-Applikation vorgenommen werden. Diese Applikation muß beider Anmeldung das Zugriffsrecht DPN_SLV_WRITE_READ eintra-gen. Versucht eine andere Applikation Daten an diesen Slave zusenden, wird dies abgelehnt.

• Durch den Zugriffsschutz werden undefinierte, gefährliche Anlage-zustände verhindert, die dadurch entstehen können, daß zweiDP-Applikationen unkoordiniert Ausgabedaten an den gleichenDP-Slave senden (Beispiel: DP-Applikation A schließt ein Ventil,DP-Applikation B öffnet das Ventil).

• Bei der Anmeldung wird überprüft, ob die Option Ausgabedatenschreiben/Eingabedaten lesen schon zuvor von einer anderenDP-Applikation gesetzt worden ist. Ist dies der Fall, wird die Funkti-on dpn_init() negativ quittiert.

• Ein lesender Zugriff (d. h. Abbild der Eingabedaten, Abbild derAusgabedaten und Abbild der Diagnosedaten) auf denselbenDP-Slave darf grundsätzlich von jeder DP-Applikation durchgeführtwerden.

Page 76: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)76 C79000-B8900-C071-07

5.1.2 Rückgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length unverändertptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event Event-Meldungenptr -> user_data[ ] unverändert

reference Das Strukturelement reference (Parameter reference.board_select undreference.access) enthält ein Handle, das bei allen weiterenDP-Funktionsaufrufen an diesen CP verwendet werden muß.

error_code Das Strukturelement error_code ist identisch mit dem Rückgabewertdes Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR) sind dierestlichen Rückgabeparameter der Struktur dpn_interface gültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 77: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 77

5.1.3 Erläuterungen zum Strukturelement reference

reference.board_select

In einem PG/PC können mehrere CP installiert sein. EineDP-Applikation muß sich für jeden CP mit dem sie kommunizieren will,mit jeweils einem eigenen dpn_init()-Aufruf anmelden.

Im Strukturelement reference.board_select muß die Nummer des CPübergeben werden (1,2...).

reference.access Das Strukturelement reference.access enthält die Kennungen„DP-Applikationsart“ und „DP-Applikationsumgebung“. Die Bedeutungdieser Kennungen wird im folgenden erläutert.

DP-Applikations-umgebung

Diese Kennung bestimmt das Anlaufverhalten und die zulässigenDP-Funktionen, wenn mehrere voneinander unabhängigeDP-Applikationen eines Multitasking-Betriebssystems dieDP-Funktionalitäten des gleichen CP nutzen.

Es wird zwischen zwei DP-Applikationsumgebungen unterschieden:

• Von den DP-Applikationen, die auf den gleichen CP zugreifen, wirdeine als übergeordnete DP-Applikation angemeldet. Diese Applika-tion besitzt das volle Zugriffsrecht auf alle DP-Funktionen.

• Alle DP-Applikationen, die auf den gleichen CP zugreifen sindgleichwertig. Es ist keine übergeordnete DP-Applikation vorhanden.

DP-Applikationsart Diese Kennung gibt den Typ der DP-Applikation an.

Folgende beide Werte sind möglich:

• Die DP-Applikation ist eine übergeordnete Applikation.

• Die DP-Applikation ist keine übergeordnete Applikation.

ÜbergeordneteDP-Applikationvorhanden

In diesem Fall erfolgt die Steuerung der DP-Kommunikation zentraldurch eine ausgewählte DP-Applikation. Diese DP-Applikation hat dasZugriffsrecht auf alle DP-Funktionen. Ein Wechsel der Betriebsart desDP-Masters kann nur durch einen dpn_set_mode()-Aufruf der überge-ordneten DP-Applikation erreicht werden. Die übergeordneteDP-Applikation hat jederzeit die Möglichkeit, die Betriebsart durcheinen dpn_set_mode()-Aufruf zu ändern. Meldet sich die übergeord-nete DP-Applikation durch den Aufruf dpn_reset() ab, wird die Kom-munikation mit allen DP-Slaves beendet.

Folgende Funktionsaufrufe sind der übergeordneten DP-Applikationvorbehalten:

• dpn_set_mode() Betriebsart einstellen

• dpn_global_ctrl() Steuertelegramm an DP-Slaves senden

• dpn_load_bus_par() Busparameter verändern

Page 78: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)78 C79000-B8900-C071-07

Beispiel Für die Steuerung einer DP-Anlage werden zwei Windows-DP-Applikationen (Tasks) erstellt. Beide Tasks greifen auf den glei-chen CP zu. Eine der Tasks wird als übergeordnete Task gekenn-zeichnet. Die übergeordnete Task realisiert die Steuerung derDP-Anlage (Zugriff auf Eingabe- und Ausgabeports der DP-Slaves).Die andere Applikation ist für die Visualisierung der DP-Anlage zu-ständig (z. B. Anzeige, ob Ventile geöffnet oder geschlossen sind). Indiesem Fall dürfen die relevanten Funktionen wie Setzen der Ausga-beports, Starten und Stoppen des DP-Systems etc. nur von der über-geordneten Task durchgeführt werden.

KeineübergeordneteDP-Applikationvorhanden

In diesem Fall gibt es keine spezielle Task, die das Verhalten derDP-Kommunikation zentral steuert. Alle DP-Applikationen sind gleich-wertig. Die Kommunikation mit den DP-Slaves wird gestartet, wennsich die erste DP-Applikation mit dem Funktionsaufruf dpn_init() er-folgreich angemeldet hat. Die DP-Betriebsart OPERATE wird von demDP-Master nach dem Anmelden der ersten DP-Applikation selbsttätigeingestellt.

Beispiel An einem DP-Bus sind DP-Slaves angeschlossen, von denen mehrerejeweils funktional eine eigenständige Gruppe bilden. Für die Steuerungjeder Gruppe wird eine eigene DP-Applikation unter Windows erstellt.Jede DP-Applikation kann zu einem beliebigen Zeitpunkt gestartetoder beendet werden.

Die DP-Applikation hat die Möglichkeit, über die DP-Programmier-schnittstelle die Funktionalität AUTOCLEAR (sehen Sie dazu Ka-pitel 3.7.6 und 5.4) ein- oder auszuschalten. Diese Funktionalitätbewirkt einen automatischen Übergang des DP-Masters von derBetriebsart OPERATE in die Betriebsart CLEAR (sehen Sie dazuKapitel 4.8.3), falls bei einem der projektierten Slaves ein Fehlerauftritt, d. h. eine Kommunikation mit diesem Slave nicht mehrmöglich ist. Um erneut in die Betriebsart OPERATE zu gelangen,muß der Anwender einen Auftrag zum Wechsel der Betriebsartabsetzen. Dies ist mit der Funktion dpn_set_mode() möglich. Daein derartiger Aufruf übergeordneten DP-Applikationen vorbehal-ten ist, ist die Funktionalität AUTOCLEAR nur in einem Systemmit übergeordneter DP-Applikation wirksam.

Ist keine übergeordnete DP-Applikation vorhanden, ist die Funk-tionalität AUTOCLEAR unwirksam. In diesem Fall erfolgt keinWechsel in die Betriebsart CLEAR, auch wenn diese Funktionali-tät mit dem COM PROFIBUS projektiert worden ist.

Page 79: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 79

5.1.4 Konstanten für das Strukturelement reference.access

Beschreibung Für die Einstellung der DP-Applikationsumgebung und derDP-Applikationsart im Strukturelement reference.access werden derDP-Applikation folgende Konstanten in DPN_USER.H zur Verfügunggestellt:

Konstante DP-Applikationsumgebung DP-Applikationsart

DPN_SYS_CENTRAL Eine der DP-Applikationen isteine übergeordnete Appli-kation.

DPN_SYS_NOT_CENTRAL Keine der DP-Applikationen isteine übergeordnete Appli-kation.

DPN_ROLE_CENTRAL Die anmeldende DP-Applikation isteine übergeordnete Applikation.

DPN_ROLE_NOT_CENTRAL Die anmeldende DP-Applikation istkeine übergeordnete Applikation.

.

ZulässigeKombinationen

Die Werte für die DP-Applikationsumgebung und dieDP-Applikationsart müssen vor dem Eintrag im Strukturelement refe-rence.access von der DP-Applikation durch eine Oder-Verknüpfungkombiniert werden. Dabei sind nachfolgende Kombinationen zulässig:

Kombination Bedeutung

(DPN_SYS_CENTRAL) | (DPN_ROLE_NOT_CENTRAL) Die sich anmeldende DP-Applikationist keine übergeordneteDP-Applikation.Eine andere DP-Applikation, die e-benfalls auf den gleichen CP zugrei-fen, übernimmt als übergeordneteApplikation die Steuerung derDP-Kommunikation.

(DPN_SYS_CENTRAL) | (DPN_ROLE_CENTRAL) Die sich anmeldende DP-Applikationübernimmt als übergeordnete Appli-kation die Steuerung derDP-Kommunikation.

(DPN_SYS_NOT_CENTRAL) |(DPN_ROLE_NOT_CENTRAL)

Alle DP-Applikationen, die auf den CPzugreifen, sind gleichwertig. Es gibtkeine übergeordnete Applikation, dieeine zentrale Steuerung derDP-Kommunikation ausübt.

Page 80: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)80 C79000-B8900-C071-07

Zwei Regeln fürMultitasking-Anwendungen

Greifen mehrere DP-Applikationen auf den gleichen CP zu, sind zweiRegeln einzuhalten:

Regel 1Nur eine der Applikationen darf sich als übergeordnete DP-Applikationanmelden.

Regel 2Alle DP-Applikationen müssen als DP-Applikationsumgebung den glei-chen Wert eintragen (entweder DPN_SYS_CENTRAL oderDPN_SYS_NOT_CENTRAL).

Page 81: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 81

5.2 dpn_wd (Aktivitätsüberwachung der DP-Applikation)

Aufruffunktion unsigned short int dpn_wd (struct dpn_interface far * ptr)

Beschreibung Diese Funktion startet auf dem CP eine Aktivitätskontrolle (Watchdog-Funktion) der DP-Applikation. Greift die DP-Applikation - nach Aufrufder Funktion - infolge eines Fehlverhaltens nicht mehr auf dieDP-Programmierschnittstelle zu, wird dies vom CP erkannt. Der CPsendet daraufhin an diejenigen DP-Slaves, die der DP-Applikationzugeordnet sind, nur noch Daten mit dem Wert 0h.

Welche Slavessind derApplikationzugeordnet ?

Es sind nur diejenigen DP-Slaves zugeordnet, auf welche die Applika-tion das Zugriffsrecht DPN_SLV_WRITE_READ (schreibender undlesender Zugriff) hat.

Ohne diese Maßnahme kann ein gefährlicher Anlagezustand ent-stehen.

GrundDer CP würde weiterhin zyklisch die letzten Ausgabedaten an dieDP-Slaves senden, obwohl die DP-Applikation nicht mehr korrekt ar-beitet. Ist ein solches Anlageverhalten nicht gewünscht, muß dieDP-Applikation vor der Produktivphase die Funktion dpn_wd() aufru-fen.

Voreinstellung Die Aktivitätskontrolle ist per Voreinstellung ausgeschaltet. Über dieFunktion dpn_wd() läßt sich nach der DP-Initialisierung (Funktionsauf-ruf dpn_init () ) die Aktivitätskontrolle ein- bzw. ausschalten.

Wirkung desAufrufs

Als Aufrufparameter wird im Strukturelement user_data[0] die Überwa-chungszeit eingetragen. Im Erfolgsfall prüft der CP, ob die DP-App-likation innerhalb der vorgegebenen Überwachungszeit DP-Funktions-aufrufe durchführt. Ist dies der Fall, so wird bei jedem DP-Funktions-aufruf der Watchdog zurückgesetzt. Führt die DP-Applikation innerhalbder vorgegebenen Überwachungszeit keinen DP-Funktionsaufrufdurch, läuft der Timer ab.

Time Out Versucht die DP-Applikation nach Ablauf der AktivitätsüberwachungAusgabedaten oder ein Steuertelegramm an DP-Slaves zu senden,wird der Auftrag solange negativ quittiert, bis die DP-Applikation einenneuen dpn_wd()-Aufruf absetzt.

Page 82: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)82 C79000-B8900-C071-07

5.2.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length >= 1ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[0] Überwachungszeit

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init () zurückgegeben wurde, eingetragen werden.

length Hier ist ein Wert >= 1 einzutragen

user_data[ ] Im Strukturelement user_data[0] wird die Überwachungszeit eingetra-gen. Die Vorgabe der Überwachungszeit 0 schaltet die Aktivitätskon-trolle aus.

Granularität derÜberwachungszeit

Eine Zeiteinheit entspricht 400 ms. Die Genauigkeit der Zeitmessungbeträgt 1 Zeiteinheit.

BeispielEintrag von 10 im Strukturelement user_data[0]. Der Watchdog läuftnach ca. 4 Sekunden ab, falls die DP-Applikation innerhalb dieser Zeit-spanne keinen DP-Funktionsaufruf durchführt.

Page 83: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 83

5.2.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr irrelevantptr -> length unverändertptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] unverändert

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation. Die möglichen Ereignismeldungen sindin den Kapiteln 3.4 und 4.8.4 beschrieben.

Ereignismeldung„Überwachungs-zeit abgelaufen“

Im Strukturelement sys_event der DP-Funktionsaufrufe wird die Ken-nung WATCHDOG (Überwachungszeit abgelaufen) eingetragen, wenndie DP-Applikation innerhalb der vorgegebenen Überwachungszeitkeinen DP-Funktionsaufruf durchführt.

HinweisDie Ereignismeldung „Überwachungszeit abgelaufen“ wird nach Er-kennen eines Time Out generiert. Die Meldung wird danach bei allenweiteren DP-Aufrufen eingetragen. Der Eintrag erfolgt solange, bis dieDP-Applikation die Ereignismeldung zurücksetzt.

Rücksetzen derEreignismeldung

Um die Ereignismeldung „Überwachungszeit abgelaufen“ zurückzuset-zen, muß die betreffende DP-Applikation einen erneuten dpn_wd()-Funktionsaufruf durchführen.

Page 84: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)84 C79000-B8900-C071-07

5.3 dpn_read_bus_par (Busparameter lesen)

Aufruffunktion unsigned short int dpn_read_bus_par(struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die aktuellen Buspara-meter des CP auslesen. Das Datenformat der Busparameter wird inKapitel 6 beschrieben.

Page 85: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 85

5.3.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length 255ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

length Größe des Arrays user_data[ ]. Es ist der Wert 255 einzutragen.

Page 86: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)86 C79000-B8900-C071-07

5.3.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr irrelevantptr -> length Zahl der gültigen Bytes in user_data[ ]ptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] Busparameter

length Das Strukturelement length enthält die Größe (Anzahl Bytes) der inuser_data[ ] eingetragenen Busparameter des DP-Masters.

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation. Die möglichen Ereignismeldungen sindin den Kapiteln 3.4 und 4.8.4 beschrieben.

user_data[ ] Das Strukturelement enthält die Busparameter des DP-Masters.Kapitel 6 beschreibt den Aufbau der Busparameter. Die Strukturdefini-tion der Busparameter ist im Include-File DPN_USER.H enthalten(Struktur dpn_buspar).

Page 87: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 87

5.4 dpn_load_bus_par (Busparameter schreiben)

Aufruffunktion unsigned short int dpn_load_bus_par(struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann der Busparamersatz des DP-Masters voneiner übergeordneten Applikation verändert werden. Der Aufbau derübergebenen Busparameter wird in Kapitel 6 beschrieben. DieDP-Firmware wertet nur folgende DP-spezifische Teile der Buspara-meter aus:

• POLL_TIMEOUT

• BP_FLAG

Vor der Verwendung der Funktion dpn_load_bus_par() müssen zu-nächst mit der Funktion dpn_read_bus_par() die aktuellen Buspara-meter in die Struktur dpn_bus_par eingelesen werden. In der Strukturdpn_bus_par können danach die Parameter POLL_TIMEOUT undBP_FLAG geändert werden.

POLL_TIMEOUT Bei einer Dienstanforderung eines DP-Masters Klasse 2 an den CPgibt dieser Wert die Zeit vor, innerhalb derer die Antwort von einemDP-Master Klasse 2 abgeholt werden muß.

Zeiteinheit: 50 ms

BP_FLAG Über das BP_FLAG kann die Autoclear-Funktionalität des DP-Mastersein- oder ausgeschaltet werden.

EinschaltenOder-Verknüpfung des Strukturelements BpFlag mit dem Wert 80H.

AusschaltenUnd-Verknüpfung des Strukturelements BpFlag mit dem Wert 7FH.

Das Schreiben der Busparameter ist nur in der Betriebsart OFF-LINE des DP-Masters und nur durch eine übergeordneteDP-Applikation möglich.

Page 88: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)88 C79000-B8900-C071-07

5.4.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length >= 36ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] Busparameter

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

length Das Strukturelement length enthält die Zahl der gültigen Bytes desArrays user_data[ ]. Als Mindestwert muß 36 eingetragen werden.

user_data[ ] Das Strukturelement user_data[ ] enthält die Busparameter. Der Auf-bau der Busparameter wird in Kapitel 6 beschrieben. Die Strukturdefi-nition der Busparameter ist im Include-File dpn_user.h enthalten(Struktur dpn_buspar).

Page 89: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 89

5.4.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr irrelevantptr -> length unverändertptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] unverändert

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters. Die möglichen Betriebsarten sind in Kapitel 4.8.3 be-schrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation. Die möglichen Ereignismeldungen sindin den Kapiteln 3.4 und 4.8.4 beschrieben.

Page 90: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)90 C79000-B8900-C071-07

5.5 dpn_read_slv_par (Slave-Parameter lesen)

Aufruffunktion unsigned short int dpn_read_slv_par(struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die unterschiedlichenKomponenten der Slave-Parameter eines DP-Slaves auslesen. DasDatenformat der einzelnen Teile der Slave-Parameter entspricht demin Kapitel 6 beschriebenen Datenformat. Die Auswertung der Slave-Parameter setzt detaillierte Kenntnisse der PROFIBUS DP-Norm vor-aus. Deshalb ist diese Funktion nur besonderen Diagnosezweckenvorbehalten.

Folgende Komponenten der Slave-Parameter können über das Struk-turelement slv_state selektiert werden:

• Sl-Flag, Slave-Typ, Oktett-String

• Parametrierdaten

• Konfigurierdaten

• Add_Tab - Liste

• Slave_User_Data

Dieser Dienst ist nur bei Norm-Slaves anwendbar.

Aufbau derSlave-Parameter

Der Aufbau der Slave-Parameter wird in Kapitel 6 beschrieben.

Page 91: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 91

5.5.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr Adresse des DP-Slavesptr -> length 255ptr -> error_code irrelevantptr -> slv_state Auswahl der Komponenteptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[0] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

length Es muß der Wert 255 eingetragen werden.

slv_state Das Strukturelement slv_state enthält die Vorgabe, welcher Teil derSlave-Parameter ausgelesen werden soll. Die Vorgaben sind im Inclu-de-File DPN_USER.H enthalten.

Vorgabewert Selektion von..

DPN_SLV_PARA_TYP Sl-Flag, Slave-Typ und Oktett-String

DPN_SLV_PARA_PRM_DATA Parametrierdaten

DPN_SLV_PARA_CFG_DATA Konfigurierdaten

DPN_SLV_PARA_ADD_TAB Add-Tab-Liste

DPN_SLV_PARA_USER_DATA Slave User Data

Page 92: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)92 C79000-B8900-C071-07

5.5.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length Zahl der gültigen Bytes in user_data[ ]ptr -> error_code Fehlerkennungptr -> slv_state Betriebszustand des DP-Slavesptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] Slave-Parameter

length Das Strukturelement length enthält die Größe (Anzahl Bytes) der inuser_data[ ] eingetragenen Komponente der Slave-Parameter.

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.4 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

user_data[ ] Das Strukturelement enthält die selektierte Komponente der Slave-Pa-rameter.

Page 93: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 93

5.6 dpn_set_slv_state (Aktivierung/Deaktivierung einesDP-Slaves)

Aufruffunktion unsigned short int dpn_set_slv_state(struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann der Betriebszustand eines DP-Slaves wäh-rend der Laufzeit der DP-Applikation geändert werden.

Die Funktion ermöglicht es, den DP-Slave dynamisch zu akti-vieren/deaktivieren.

Der Betriebszustand eines DP-Slaves kann von einer DP-Applikationnur dann geändert werden, wenn beim Aufruf von dpn_init() alsZugriffsrecht für den DP-Slave die Kennung DPN_SLV_WRITE_READeingetragen worden ist.

Page 94: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)94 C79000-B8900-C071-07

5.6.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr Adresse des DP-Slavesptr -> length >= 1ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[0] neue Betriebsart des DP-Slaves

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

length Das Strukturelement length enthält die Zahl der gültigen Bytes desArrays user_data[ ].Als Mindestwert muß 1 eingetragen werden.

user_data[ ] Das Strukturelement user_data[ ] enthält die neue Betriebsart des DP-Slaves. Der Vorgabewerte ist im Include-File DPN_USER.H enthalten.

Betriebsart Wirkung

DPN_SLV_ACTIVATE Der Slave wird in der lokalen Datenbasis akti-viert. Anschließend versucht der DP-Masterden Slave zu parametrieren, konfigurieren undeinen Datentransfer durchzuführen (Voraus-setzung: Der Master befindet sich in der Be-triebsart CLEAR oder OPERATE).

DPN_SLV_DEACTIVATE Der Slave wird in der lokalen Datenbasis de-aktiviert, d. h. es findet kein Datenaustauschmit dem Slave statt.

Page 95: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 95

5.6.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length unverändertptr -> error_code Fehlerkennungptr -> slv_state Betriebszustand des DP-Slavesptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] unverändert

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

HinweisBei der Aktivierung oder Deaktivierung eines Slaves sind verschiedeneAktivitäten erforderlich, so daß sich der gemeldete Betriebszustanddes DP-Slaves von der neuen Einstellung noch unterscheidet.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 96: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)96 C79000-B8900-C071-07

5.7 dpn_read_cfg (Konfiguration des DP-Systems ermitteln)

Aufruffunktion unsigned short int dpn_read_cfg(struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die Gesamtkonfigurationder DP-Datenbasis ermitteln. Die Funktion gibt Auskunft über

• Anzahl der projektierten DP-Slaves

• Typ der projektierten DP-Slaves.

Page 97: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 97

5.7.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length >= 126ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

length Das Strukturelement length enthält die Zahl der gültigen Bytes desArrays user_data[ ].

Es muß als Mindestwert 126 eingetragen werden.

Page 98: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)98 C79000-B8900-C071-07

5.7.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length Zahl der gültigen Bytes in user_data[ ]ptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] Konfiguration der DP-Anlage

length Das Strukturelement length enthält die Größe der ermittelten Gesamt-konfiguration in user_data[ ].

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 99: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 99

user_data[ ] Im Strukturelement user_data[ ] werden für jede mögliche Slave-Adresse Typinformationen eingetragen. Der Eintrag erfolgt jeweils ineinem eigenen Byte. Der Index innerhalb des Arrays entspricht derPROFIBUS-Adresse des DP-Slaves.

BeispielIn user_data[2] wird die Typinformation des Slaves mit der PROFI-BUS-Adresse 2 hinterlegt.

Folgende Typinformationen können eingetragen werden:

Wertebereich Bedeutung

DPN_CFG_NO_SLV Kein DP-Slave

DPN_CFG_NORM Norm-DP-Slave

DPN_CFG_ET200_U Nicht Norm-Slave: ET 200U

DPN_CFG_ET200K_B Nicht Norm-Slave: ET 200K/B

DPN_CFG_ET200_SPM Nicht Norm-Slave: allgemeine SPM-Station

Page 100: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)100 C79000-B8900-C071-07

5.8 dpn_slv_diag (Diagnosedaten eines Slaves anfordern)

Aufruffunktion unsigned short int dpn_slv_diag(struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die Diagnosedaten einesDP-Slaves anfordern. Die Diagnosedaten werden aus dem lokalenDiagnosepuffer des CP ausgelesen. Ob Diagnosedaten vorhandensind, kann aus dem Strukturelement slv_state eines vorangegangenenDP-Funktionsaufrufs entnommen werden. Nach dem Auslesen derDiagnosedaten wird die entsprechende Kennung in slv_state zurück-genommen (sofern in der Zwischenzeit keine neuen Diagnosedatenvorliegen).

Die Diagnosekennung wird applikationsbezogen verwaltet. Dies be-deutet, daß ein Auslesen der Diagnosedaten durch eineDP-Applikation „A“ nicht dazu führt, daß bei einer DP-Applikation „B“die Diagnose-Kennung zurückgenommen wird.

Hinweis Die Diagnosedaten sind nicht gültig, wenn der Rückgabeparameterslv_state der Struktur dpn_interface den WertDPN_SLV_STAT_NOT_ACTIVE oder DPN_SLV_STAT_OFFLINEenthält.

Page 101: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 101

5.8.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr Adresse des DP-Slavesptr -> length 255ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

Length Das Strukturelement length enthält die Zahl der gültigen Bytes desArrays user_data[ ].

Es muß der Wert 255 eingetragen werden.

Page 102: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)102 C79000-B8900-C071-07

5.8.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length Zahl der gültigen Bytes in user_data[ ]ptr -> error_code Fehlerkennungptr -> slv_state Betriebszustand des DP-Slavesptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] Diagnosedaten

length Das Strukturelement length enthält die Größe (Anzahl Bytes) der inuser_data[ ] ermittelten Diagnosedaten.

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

user_data[ ] Das Strukturelement user_data[ ] enthält die Diagnosedaten desDP-Slaves.

Der Aufbau der Diagnosedaten ist in Kapitel 6 beschrieben.

Page 103: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 103

5.9 dpn_read_sys_info (Statusinformationen des DP-Systemsermitteln)

Aufruffunktion unsigned short int dpn_read_sys_info(struct dpn_interface far * ptr)

Beschreibung Die Funktion liefert einen Überblick über den aktuellen Zustand derdem CP bekannten DP-Slaves. Zusätzlich wird für jeden DP-Slaveangezeigt, ob Diagnosedaten vorhanden sind.

Page 104: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)104 C79000-B8900-C071-07

5.9.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length >=126ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

length Das Strukturelement length enthält die Zahl der gültigen Bytes desArrays user_data[ ].

Es muß als Mindestwert 126 eingetragen werden.

Page 105: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 105

5.9.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length Zahl der gültigen Bytes in user_data[ ]ptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] Statusinformationen

length Das Strukturelement length enthält die Größe der ermittelten Status-informationen in user_data[ ].

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 106: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)106 C79000-B8900-C071-07

user_data[ ] In user_data[ ] werden für jede mögliche Slave-Adresse Statusinfor-mationen eingetragen. Der Eintrag erfolgt jeweils in einem eigenenByte. Der Index innerhalb des Arrays entspricht der PROFIBUS-Adresse des DP-Slaves.

BeispielIn user_data[2] wird der Status des Slaves mit der Adresse 2 hinter-legt.

StatusinformationenFolgende Statusinformationen sind möglich:

Statusinformation Bedeutung

DPN_SLV_STAT_READY Der DP-Slave ist in der Datentransferphase.

DPN_SLV_STAT_READY_DIAG Der DP-Slave ist in der Datentransferphase, zusätzlich sindDiagnosedaten vorhanden.

DPN_SLV_STAT_OFFLINE Der DP-Slave ist nicht in der Datentransferphase (Anlauf desCP).

DPN_SLV_STAT_NOT_READY Der DP-Slave ist nicht in der Datentransferphase.

DPN_SLV_STAT_NOT_READY_DIAG Der DP-Slave ist nicht in der Datentransferphase, zusätzlichsind Diagnosedaten vorhanden.

DPN_SLV_STAT_NOT_ACTIVE Der DP-Slave ist nicht aktiviert.

Page 107: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 107

5.10 dpn_out_slv (Ausgabedaten an einen DP-Slave senden)

Aufruffunktion unsigned short int dpn_out_slv (struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation Ausgabedaten an einenDP-Slave übergeben. Die PROFIBUS-Adresse und die Länge derAusgabedaten werden mit den projektierten Werten der DP-Datenbasisverglichen. Nur im Falle einer Übereinstimmung beider Parameterwerden die Daten übernommen.

Die Ausgabedaten werden im internen Datenspeicher des CP abge-legt.

Page 108: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)108 C79000-B8900-C071-07

5.10.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr Adresse des DP-Slavesptr -> length Länge der Ausgabedatenptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] Ausgabedaten

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

length Das Strukturelement length enthält die Zahl der Ausgabedaten im Ar-ray user_data[ ].

user_data[ ] Im Strukturelement user_data[ ] werden die Ausgabedaten eingetra-gen.

Das Format der Ausgabedaten ist in Kapitel 6 beschrieben.

Page 109: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 109

5.10.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length unverändertptr -> error_code Fehlerkennungptr -> slv_state Betriebszustand des DP-Slavesptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] unverändert

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag von DPN_NO_ERROR im Strukturelement error_codebedeutet lediglich, daß die Ausgabedaten im lokalen Datenpufferdes CP abgelegt werden konnten.

Ob die Ausgabedaten zum DP-Slave gesendet werden, muß zu-sätzlich aus den Strukturelementen slv_state (Betriebszustanddes DP-Slaves) und sys_state (Betriebsart des DP-Masters) ermit-telt werden.

Nur wenn sich der DP-Slave in der Produktivphase befindet, emp-fängt der DP-Slave die Ausgabedaten des DP-Masters. Dies istder Fall, wenn das Strukturelement slv_state einen der folgendenWerte enthält:

• DPN_SLV_STAT_READY oder

• DPN_SLV_STAT_READY_DIAG

Zusätzlich muß sich der DP-Master in der Betriebsart OPERATEbefinden, d. h. das Strukturelement sys_state muß den Wert ha-ben:

• DPN_SYS_OPERATE

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

Page 110: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)110 C79000-B8900-C071-07

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 111: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 111

5.11 dpn_out_slv_m (Ausgabedaten an mehrere DP-Slavessenden)

Aufruffunktion unsigned short int dpn_out_slv_m(struct dpn_interface_m far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation durch einen einzigenFunktionsaufruf Ausgabedaten an mehrere DP-Slaves senden. Inner-halb der Struktur dpn_interface_m ist für jeden DP-Slave eine Struk-tur dpn_interface_s vorhanden. Der Aufbau von dpn_interface_s ent-spricht der Struktur dpn_interface.

Bei der Verwendung der Funktion sind folgende Unterschiede gegen-über dem Funktionsaufruf dpn_out_slv() zu beachten:

• Die Ausgabedaten an einen Slave dürfen 32 Byte nicht überschrei-ten.

• Es können maximal 32 Slaves adressiert werden.

• Die adressierten Slaves müssen über den gleichen CP erreichbarsein.

• Nicht benützte Strukturelemente (dpn_interface_s) müssen durchden Eintrag DPN_IF_S_UNUSED im Strukturelement stat_nr alsungültig gekennzeichnet werden.

Aus dem Rückgabeparameter des Funktionsaufrufs kann entnommenwerden, ob bei einem oder mehreren Strukturelementen ein Fehleraufgetreten ist. Im Fehlerfall (Rückgabewert != DPN_NO_ERROR)enthält der Rückgabeparameter die Fehlerkennung des ersten fehler-haften Strukturelements.

Page 112: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)112 C79000-B8900-C071-07

5.11.1 Vorgabeparameter

Parameterstruktur

ptr -> dpn_if_single[x].reference Handle der DP-Applikation(nur in der ersten gültigenStruktur relevant)

ptr -> dpn_if_single[x].stat_nr Adresse des DP-Slaves o-der DPN_IF_S_UNUSED;

ptr -> dpn_if_single[x].length Zahl der gültigen Bytes imArray user_data[ ] (Maxi-mum: 32 Byte)

ptr -> dpn_if_single[x].error_code irrelevant

ptr -> dpn_if_single[x].slv_state irrelevant

ptr -> dpn_if_single[x].sys_state irrelevant

ptr -> dpn_if_single[x].sys_event irrelevant

ptr -> dpn_if_single[x].user_data[ ] Ausgabedaten

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden. DasHandle braucht nur in der ersten gültigen Struktur dpn_interface_seingetragen zu werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

Wird eine Struktur dpn_interface_s nicht verwendet, so muß hierdie Konstante DPN_IF_S_UNUSED eingetragen werden. Durchden Eintrag wird die Struktur als ungültig markiert.

length Das Strukturelement length enthält die Zahl der Ausgabedaten im Ar-ray user_data[ ].

user_data[ ] Im Strukturelement user_data[ ] werden die Ausgabedaten eingetra-gen.

Das Format der Ausgabedaten ist in Kapitel 6 beschrieben.

Page 113: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 113

5.11.2 Rückgabeparameter

Parameterstruktur

ptr -> dpn_if_single[x].reference irrelevant

ptr -> dpn_if_single[x].stat_nr unverändert

ptr -> dpn_if_single[x].length unverändert

ptr ->dpn_if_single[x].error_code

Fehlerkennung

ptr -> dpn_if_single[x].slv_state Zustand des DP-Slaves

ptr ->dpn_if_single[x].sys_state

Betriebsart des DP-Masters

ptr ->dpn_if_single[x].sys_event

Event-Meldungen

ptr -> dpn_if_single[x].user_data[]

unverändert

error_code Das Strukturelement error_code zeigt das Ergebnis der Auftragsbear-beitung an. Es ist nur gültig, wenn der Rückgabeparameter des Funkti-onsaufrufs DPN_NO_ERROR ist. Nur im Erfolgsfall(DPN_NO_ERROR) sind die restlichen Rückgabeparameter derStruktur dpn_interface_s gültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag von DPN_NO_ERROR im Strukturelement error_codebedeutet lediglich, daß die Ausgabedaten in dem lokalen Daten-puffer des CP abgelegt werden konnten.

Ob die Ausgabedaten zum DP-Slave gesendet werden, muß ausden Strukturelementen slv_state (Betriebszustand des DP-Slaves)und sys_state (Betriebsart des DP-Masters) ermittelt werden.

Nur wenn sich der DP-Slave in der Produktivphase befindet, emp-fängt der DP-Slave die Ausgabedaten des DP-Masters. Dies istder Fall, wenn das Strukturelement slv_state folgende Werte ent-hält:

• DPN_SLV_STAT_READY oder

• DPN_SLV_STAT_READY_DIAG

Zusätzlich muß sich der DP-Master in der Betriebsart OPERATEbefinden, d. h. das Strukturelement sys_state muß den Wert ha-ben:

• DPN_SYS_OPERATE

Page 114: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)114 C79000-B8900-C071-07

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 115: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 115

5.11.3 Rückgabewert des Funktionsaufrufs

Beschreibung Der Rückgabewert der Funktion zeigt an, ob bei einem oder mehrerender Strukturen dpn_interface_s ein Fehler aufgetreten ist. Nur im Er-folgsfall (DPN_NO_ERROR) konnte die Funktion vom CP bearbeitetwerden. Im Fehlerfall erfolgt ein Abbruch der Bearbeitung. In die-sem Fall können schon Ausgabedaten an einzelne DP-Slaves weiter-gegeben worden sein.

Im Erfolgsfall müssen die Rückgabeparameter der einzelnen Struktu-ren dpn_interface_s ausgewertet werden.

Page 116: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)116 C79000-B8900-C071-07

5.12 dpn_out_slv_ext (Ausgabedaten an mehrere Slaves sen-den - erweiterte Funktion)

Aufruffunktion unsigned short int dpn_out_slv_ext(struct dpn_ifc_m_ext far * ptr) )

Beschreibung Mit dieser Funktion kann eine DP-Applikation durch einen einzigenFunktionsaufruf Ausgabedaten an mehrere DP-Slaves senden. Inner-halb der Struktur dpn_ifc_m_ext ist für jeden DP-Slave eine Strukturdpn_ifc_s_ext vorhanden.

Bei der Verwendung der Funktion sind folgende Unterschiede gegen-über dem Funktionsaufruf dpn_out_slv_m() zu beachten:

• Es gibt keine Beschränkung der Zahl der Ausgabebytes an einenSlave auf 32 Byte.

• Es können bis zu 125 Slaves adressiert werden.

• Der Datenzugriff erfolgt über Zeiger auf die Datenpuffer, welche dieAusgabedaten enthalten. Diese Datenpuffer müssen von der DP-Applikation allokiert werden.

Weiterhin sind folgende Punkte zu beachten:

• Die adressierten Slaves müssen über den gleichen CP erreichbarsein.

• Nicht benützte Strukturelemente (dpn_ifc_s_ext) müssen durch denEintrag DPN_IF_S_UNUSED im Strukturelement stat_nr als ungül-tig gekennzeichnet werden.

Aus dem Rückgabeparameter des Funktionsaufrufs kann entnommenwerden, ob bei einem oder mehreren Strukturelementen ein Fehleraufgetreten ist. Im Fehlerfall (Rückgabewert != DPN_NO_ERROR)enthält der Rückgabeparameter die Fehlerkennung des ersten fehler-haften Strukturelements.

Page 117: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 117

5.12.1 Vorgabeparameter

Parameterstruktur ptr -> dpn_if_s_single[x].reference Handle der DP-Applikation (nur in der ersten gültigen Struktur relevant)

ptr -> dpn_if_single[x].stat_nr Adresse des DP-Slaves

ptr -> dpn_if_single[x].length Zahl der gültigen

ptr -> dpn_if_single[x].error_code irrelevant

ptr -> dpn_if_single[x].slv_state irrelevant

ptr -> dpn_if_single[x].sys_state irrelevant

ptr -> dpn_if_single[x].sys_event irrelevant

ptr -> dpn_if_single[x].data_ptr Zeiger auf Speicherbereich

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden. DasHandle braucht nur in der ersten gültigen Struktur dpn_ifc_s_ext ein-getragen zu werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

Wird eine Struktur dpn_ifc_s_ext nicht verwendet, so muß hierdie Konstante DPN_IF_S_UNUSED eingetragen werden. Durchden Eintrag wird die Struktur als ungültig markiert.

length Das Strukturelement „length“ enthält die Zahl der Ausgabedaten imDatenpuffer.

data_ptr Das Strukturelement data_ptr verweist auf einen Speicherbereich mitden Ausgabedaten. Der Speicherbereich muß von der DP-Applikationverwaltet werden.

Das Format der Ausgabedaten ist in Kapitel 6 beschrieben.

Page 118: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)118 C79000-B8900-C071-07

5.12.2 Rückgabeparameter

Parameterstruktur ptr -> dpn_if_single[x].reference irrelevant

ptr -> dpn_if_single[x].stat_nr unverändert

ptr -> dpn_if_single[x].length unverändert

ptr -> dpn_if_single[x].error_code Fehlerkennung

ptr -> dpn_if_single[x].slv_state Zustand des DP-Slaves

ptr -> dpn_if_single[x].sys_state Betriebsart des DP-

ptr -> dpn_if_single[x].sys_event Event-Meldungen

ptr -> dpn_if_single[x].data_ptr unverändert

error_code Das Strukturelement error_code zeigt das Ergebnis der Auftragsbear-beitung an. Es ist nur gültig, wenn der Rückgabeparameter des Funkti-onsaufrufs DPN_NO_ERROR ist. Nur im Erfolgsfall(DPN_NO_ERROR) sind die restlichen Rückgabeparameter derStruktur dpn_ifc_s_ext gültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag von DPN_NO_ERROR im Strukturelement error_codebedeutet lediglich, daß die Ausgabedaten in dem lokalen Daten-puffer des CP abgelegt werden konnten.

Ob die Ausgabedaten zum DP-Slave gesendet werden, muß ausden Strukturelementen slv_state (Betriebszustand des DP-Slaves)und sys_state (Betriebsart des DP-Masters) ermittelt werden.

Nur wenn sich der DP-Slave in der Produktivphase befindet, emp-fängt der DP-Slave die Ausgabedaten des DP-Masters. Dies istder Fall, wenn das Strukturelement slv_state folgende Werte ent-hält:

• DPN_SLV_STAT_READY oder

• DPN_SLV_STAT_READY_DIAG

Zusätzlich muß sich der DP-Master in der Betriebsart OPERATEbefinden, d. h. das Strukturelement sys_state muß folgendenWert haben:

• DPN_SYS_OPERATE

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

Page 119: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 119

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart des DP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 120: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)120 C79000-B8900-C071-07

5.12.3 Rückgabewert des Funktionsaufrufs

Beschreibung Der Rückgabewert der Funktion zeigt an, ob bei einem oder mehrerender Strukturen dpn_ifc_s_ext ein Fehler aufgetreten ist. Nur im Er-folgsfall (DPN_NO_ERROR) konnte die Funktion vom CP bearbeitetwerden. Im Fehlerfall erfolgt ein Abbruch der Bearbeitung. In die-sem Fall können schon Ausgabedaten an einzelne DP-Slaves weiter-gegeben worden sein.

Im Erfolgsfall müssen die Rückgabeparameter der einzelnen Struktu-ren dpn_ifc_s_ext ausgewertet werden.

Page 121: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 121

5.13 dpn_read_slv (Lokale Ausgabedaten eines DP-Slaves le-sen)

Aufruffunktion unsigned short int dpn_read_slv(struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die aktuellen Ausgabe-daten auslesen, die in dem lokalen Datenpuffer des CP hinterlegt sind.

Die Funktion unterstützt vor allem die Kommunikation zwischen denTasks eines Multitasking-Betriebssystems, wenn die Tasks auf dengleichen CP zugreifen. Die Funktion ermöglicht es, daß eine Task „A“ermitteln kann, welche Ausgabedaten eine andere Task „B“ an einenDP-Slave sendet.

Page 122: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)122 C79000-B8900-C071-07

5.13.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr Adresse des DP-Slavesptr -> length 255ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

length Das Strukturelement length enthält die Größe des Strukturelementsuser_data[ ].

Hier muß der Wert 255 eingetragen werden.

Page 123: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 123

5.13.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length Zahl der Ausgabedatenptr -> error_code Fehlerkennungptr -> slv_state Betriebszustand des DP-Slavesptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] Ausgabedaten an den DP-Slave

length Das Strukturelement length enthält die Zahl der Ausgabedaten imStrukturelement user_data[ ].

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag von DPN_NO_ERROR im Strukturelement error_codebedeutet lediglich, daß die Ausgabedaten aus dem lokalen Da-tenpuffer des CP gelesen werden konnten.

Ob die Ausgabedaten zum DP-Slave gesendet werden, muß ausden Strukturelementen slv_state (Betriebszustand des DP-Slaves)und sys_state (Betriebsart des DP-Masters) ermittelt werden.

Nur wenn sich der DP-Slave in der Produktivphase befindet, emp-fängt der DP-Slave die Ausgabedaten des DP-Masters. Dies istder Fall, wenn das Strukturelement slv_state folgende Werte ent-hält:

• DPN_SLV_STAT_READY oder

• DPN_SLV_STAT_READY_DIAG

Zusätzlich muß sich der DP-Master in der Betriebsart OPERATEbefinden, d. h. das Strukturelement sys_state muß den Wert ha-ben:

• DPN_SYS_OPERATE

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebsarten sind in Kapitel 4.8.2 beschrieben.

Page 124: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)124 C79000-B8900-C071-07

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

user_data[ ] Das Strukturelement user_data[ ] enthält die Ausgabedaten an denDP-Slave.

Page 125: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 125

5.14 dpn_in_slv (Eingabedaten eines DP-Slaves lesen)

Aufruffunktion unsigned short int dpn_in_slv (struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die aktuellen Eingabe-daten eines DP-Slaves auslesen. Die Daten werden dem lokalen Da-tenpuffer des CP entnommen. Das Abbild des Datenpuffers wird zyk-lisch erneuert, sofern sich der DP-Master in einer der BetriebsartenCLEAR oder OPERATE befindet.

Page 126: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)126 C79000-B8900-C071-07

5.14.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr Adresse des DP-Slavesptr -> length 255ptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

length Das Strukturelement length enthält die Größe des Strukturelementsuser_data[ ].

Hier muß der Wert 255 eingetragen werden.

Page 127: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 127

5.14.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length Zahl der Eingabebytesptr -> error_code Fehlerkennungptr -> slv_state Betriebszustand des DP-Slavesptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] Eingabedaten des DP-Slaves

length Das Strukturelement length enthält die Zahl der Eingabedaten imStrukturelement user_data[ ].

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag von DPN_NO_ERROR im Strukturelement error_codebedeutet lediglich, daß die Eingabedaten aus dem lokalen Daten-puffer des CP gelesen werden konnten.Ob die Eingabedaten des DP-Slaves gültig sind, muß zusätzlichaus den Strukturelementen slv_state (Betriebszustand desDP-Slaves) und sys_state (Betriebsart des DP-Masters) ermitteltwerden.Nur wenn sich der DP-Slave in der Produktivphase befindet, sen-det er die Eingabedaten zum DP-Master. Dies ist der Fall, wennder Parameter slv_state einen der folgenden Werte enthält:• DPN_SLV_STAT_READY oder

• DPN_SLV_STAT_READY_DIAG

Zusätzlich muß sich der DP-Master in einer der BetriebsartenCLEAR oder OPERATE befinden, d. h. das Strukturelementsys_state muß einen der Werte haben:

• DPN_SYS_CLEAR oder

• DPN_SYS_OPERATE

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

Page 128: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)128 C79000-B8900-C071-07

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

user_data[ ] Das Strukturelement user_data[ ] enthält die Eingabedaten desDP-Slaves.

Das Format der Eingabedaten wird in Kapitel 6 beschrieben.

Page 129: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 129

5.15 dpn_in_slv_m (Eingabedaten mehrerer DP-Slaves lesen)

Aufruffunktion unsigned short int dpn_in_slv_m(struct dpn_interface_m far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die aktuellen Eingabe-daten mehrerer DP-Slaves auslesen. Zurückgegeben wird ein Abbildvom lokalen Datenpuffer des CP. Das Abbild wird zyklisch erneuert.

Innerhalb der Struktur dpn_interface_m ist für jeden DP-Slave eineStruktur dpn_interface_s vorhanden. Der Aufbau der Strukturdpn_interface_s entspricht der Struktur dpn_interface.

Bei der Verwendung der Funktion sind folgende Unterschiede gegen-über dem Funktionsaufruf dpn_in_slv() zu beachten:

• Die Eingabedaten eines Slaves dürfen 32 Byte nicht überschreiten.

• Die adressierten Slaves müssen über den gleichen CP erreichbarsein.

• Es können maximal 32 Slaves adressiert werden.

• Nicht benützte Strukturelemente (dpn_interface_s) müssen durchden Eintrag DPN_IF_S_UNUSED im Strukturelement stat_nr alsungültig gekennzeichnet werden.

Aus dem Rückgabewert des Funktionsaufrufs kann entnommen wer-den, ob bei einem einzelnen Strukturelement ein Fehler aufgetretenist. Im Fehlerfall (Rückgabewert != DPN_NO_ERROR) enthält derRückgabewert die Fehlerkennung des ersten fehlerhaften Strukturele-ments. Die Bearbeitung des Funktionsaufrufs wird abgebrochen, wennbei einem Strukturelement ein Fehler erkannt wird.

Page 130: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)130 C79000-B8900-C071-07

5.15.1 Vorbelegung der Strukturen dpn_interface_s

Parameterstruktur ptr -> dpn_if_single[x].reference Handle der DP-Applikation(nur in der ersten gültigenStruktur relevant)

ptr -> dpn_if_single[x].stat_nr Adresse des DP-Slaves oderDPN_IF_S_UNUSED;

ptr -> dpn_if_single[x].length irrelevant

ptr -> dpn_if_single[x].error_code irrelevant

ptr -> dpn_if_single[x].slv_state irrelevant

ptr -> dpn_if_single[x].sys_state irrelevant

ptr -> dpn_if_single[x].sys_event irrelevant

ptr -> dpn_if_single[x].user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden. DasHandle braucht nur in der ersten gültigen Struktur dpn_interface_seingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

Wird eine Struktur dpn_interface_s nicht verwendet, so muß hierdie Konstante „DPN_IF_S_UNUSED“ eingetragen werden. Durchden Eintrag wird die Struktur als ungültig markiert.

Page 131: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 131

5.15.2 Rückgabeparameter der Strukturen dpn_interface_s

Parameterstruktur ptr -> dpn_if_single[x].reference unverändert

ptr -> dpn_if_single[x].stat_nr unverändert

ptr -> dpn_if_single[x].length Zahl der gültigen Bytes inuser_data[ ]

ptr -> dpn_if_single[x].error_code Fehlerkennung

ptr -> dpn_if_single[x].slv_state Zustand des DP-Slaves

ptr -> dpn_if_single[x].sys_state Betriebsart des DP-Masters

ptr -> dpn_if_single[x].sys_event Event-Meldungen

ptr -> dpn_if_single[x].user_data[ ] Eingabedaten desDP-Slaves

length Das Strukturelement length enthält die Zahl der Eingabedaten imStrukturelement user_data[ ].

error_code Das Strukturelement error_code zeigt das Ergebnis der Auftragsbear-beitung an. Es ist nur gültig, wenn der Rückgabeparameter des Funkti-onsaufrufs DPN_NO_ERROR ist. Nur im Erfolgsfall(DPN_NO_ERROR) sind die restlichen Rückgabeparameter derStruktur dpn_interface_s gültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag von DPN_NO_ERROR im Strukturelement error_codebedeutet lediglich, daß die Eingabedaten aus dem lokalen Daten-puffer des CP gelesen werden konnten.

Ob die Eingabedaten des DP-Slaves gültig sind, muß zusätzlichaus den Strukturelementen slv_state (Betriebszustand desDP-Slaves) und sys_state (Betriebsart des DP-Masters) ermitteltwerden.

Nur wenn sich der DP-Slave in der Produktivphase befindet, sen-det er die Eingabedaten zum DP-Master. Dies ist der Fall, wennder Parameter slv_state einen der folgenden Werte enthält:• DPN_SLV_STAT_READY oder

• DPN_SLV_STAT_READY_DIAG

Zusätzlich muß sich der DP-Master in einer der BetriebsartenCLEAR oder OPERATE befinden, d. h. das Strukturelementsys_state muß einen der Werte haben:

• DPN_SYS_CLEAR oder

• DPN_SYS_OPERATE

Page 132: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)132 C79000-B8900-C071-07

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

user_data[ ] Das Strukturelement user_data[ ] enthält die Eingabedaten desDP-Slaves.

Das Format der Eingabedaten wird in Kapitel 6 beschrieben.

Page 133: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 133

5.15.3 Rückgabewert der Funktion

Beschreibung Der Rückgabewert der Funktion zeigt an, ob bei einem oder mehrerenStrukturelementen dpn_interface_s ein Fehler aufgetreten ist. Nur imErfolgsfall (DPN_NO_ERROR) konnte die Funktion von dem CP bear-beitet werden. Im Fehlerfall erfolgt ein Abbruch der Bearbeitung.

Im Erfolgsfall müssen die Rückgabeparameter der einzelnen Struktu-ren dpn_interface_s ausgewertet werden.

Page 134: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)134 C79000-B8900-C071-07

5.16 dpn_in_slv_ext (Eingabedaten mehrerer DP-Slaves lesen -erweiterte Funktion)

Aufruffunktion unsigned short int dpn_in_slv_ext (struct dpn_ifc_m_ext far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation die aktuellen Eingabe-daten mehrerer DP-Slaves auslesen. Zurückgegeben wird ein Abbildvom lokalen Datenpuffer des CP. Das Abbild wird zyklisch erneuert.

Innerhalb der Struktur dpn_ifc_m_ext ist für jeden DP-Slave eineStruktur dpn_ifc_s_ext vorhanden.

Bei der Verwendung der Funktion sind folgende Unterschiede gegen-über dem Funktionsaufruf dpn_in_slv_m() zu beachten:

• Die Zahl der Eingabebytes eines Slave ist nicht auf 32 Byte be-grenzt.

• Es können bis zu 125 Slaves adressiert werden.

• Der Datenzugriff erfolgt über Zeiger auf die Datenpuffer, in welchevon der DP-Library die Eingabedaten eingetragen werden. DieseDatenpuffer müssen von der DP-Applikation allokiert werden.

Weiterhin sind folgende Punkte zu beachten:

• Die adressierten Slaves müssen über den gleichen CP erreichbarsein.

• Nicht benützte Strukturelemente (dpn_ifc_s_ext) müssen durch denEintrag DPN_IF_S_UNUSED im Strukturelement stat_nr als ungül-tig gekennzeichnet werden.

Aus dem Rückgabewert des Funktionsaufrufs kann entnommen wer-den, ob bei einem einzelnen Strukturelement ein Fehler aufgetretenist. Im Fehlerfall (Rückgabewert != DPN_NO_ERROR) enthält derRückgabewert die Fehlerkennung des ersten fehlerhaften Strukturele-ments. Die Bearbeitung des Funktionsaufrufs wird abgebrochen, wennbei einem Strukturelement ein Fehler erkannt wird.

Page 135: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 135

5.16.1 Vorbelegung der Strukturen dpn_ifc_s_ext

Parameterstruktur ptr -> dpn_if_single[x].reference Handle der DP-Applikation (nur in der ersten gültigen Struktur relevant)

ptr -> dpn_if_single[x].stat_nr Adresse des DP-Slaves

ptr -> dpn_if_single[x].length Größe des Datenpuffers

ptr -> dpn_if_single[x].error_code irrelevant

ptr -> dpn_if_single[x].slv_state irrelevant

ptr -> dpn_if_single[x].sys_state irrelevant

ptr -> dpn_if_single[x].sys_event irrelevant

ptr -> dpn_if_single[x].data_ptr Zeiger auf Datenpuffer

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden. DasHandle braucht nur in der ersten gültigen Struktur dpn_ifc_s_ext ein-getragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse des se-lektierten DP-Slaves.

Wird eine Struktur dpn_ifc_s_ext nicht verwendet, so muß hierdie Konstante „DPN_IF_S_UNUSED“ eingetragen werden. Durchden Eintrag wird die Struktur als ungültig markiert.

length Der Parameter length enthält die Größe des Datenpuffers. Bei erfolg-reicher Durchführung des Auftrags wird von der Library die Zahl derermittelten Eingabebytes eingetragen.

data_ptr Zeiger auf den Datenpuffer.

Page 136: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)136 C79000-B8900-C071-07

5.16.2 Rückgabeparameter der Strukturen dpn_ifc_s_ext

Parameterstruktur ptr -> dpn_if_single[x].reference unverändert

ptr -> dpn_if_single[x].stat_nr unverändert

ptr -> dpn_if_single[x].length Zahl der gültigen

ptr -> dpn_if_single[x].error_code Fehlerkennung

ptr -> dpn_if_single[x].slv_state Zustand des DP-Slaves

ptr -> dpn_if_single[x].sys_state Betriebsart des DP-Masters

ptr -> dpn_if_single[x].sys_event Event-Meldungen

ptr -> dpn_if_single[x].data_ptr unverändert

length Das Strukturelement error_code zeigt das Ergebnis der Auftragsbear-beitung an. Es ist nur gültig, wenn der Rückgabeparameter des Funkti-onsaufrufs DPN_NO_ERROR ist. Nur im Erfolgsfall(DPN_NO_ERROR) sind die restlichen Rückgabeparameter derStruktur dpn_ifc_s_ext gültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag von DPN_NO_ERROR im Strukturelement error_codebedeutet lediglich, daß die Eingabedaten aus dem lokalen Daten-puffer des CP gelesen werden konnten.

Ob die Eingabedaten des DP-Slaves gültig sind, muß zusätzlichaus den Strukturelementen slv_state (Betriebszustand des DP-Slaves) und sys_state (Betriebsart des DP-Masters) ermittelt wer-den.

Nur wenn sich der DP-Slave in der Produktivphase befindet, sen-det er die Eingabedaten zum DP-Master. Dies ist der Fall, wennder Parameter slv_state einen der folgenden Werte enthält:

• DPN_SLV_STAT_READY oder

• DPN_SLV_STAT_READY_DIAG

Zusätzlich muß sich der DP-Master in einer der BetriebsartenCLEAR oder OPERATE befinden, d. h. das Strukturelementsys_state muß einen der folgenden Werte haben:

• DPN_SYS_CLEAR oder

• DPN_SYS_OPERATE

Page 137: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 137

slv_state Das Strukturelement slv_state enthält den aktuellen Betriebszustanddes DP-Slaves.

Die möglichen Betriebszustände sind in Kapitel 4.8.2 beschrieben.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart des DP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Datenpuffer Der Datenpuffer enthält die Eingabedaten des DP-Slaves.

Das Format der Eingabedaten wird in Kapitel 6 beschrieben.

Page 138: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)138 C79000-B8900-C071-07

5.16.3 Rückgabewert der Funktion

Beschreibung Der Rückgabewert der Funktion zeigt an, ob bei einem oder mehrerenStrukturelementen dpn_ifc_s_ext ein Fehler aufgetreten ist. Nur imErfolgsfall (DPN_NO_ERROR) konnte die Funktion von dem CP bear-beitet werden. Im Fehlerfall erfolgt ein Abbruch der Bearbeitung.

Im Erfolgsfall müssen die Rückgabeparameter der einzelnen Struktu-ren dpn_ifc_s_ext ausgewertet werden.

Page 139: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 139

5.17 dpn_set_mode (Betriebsart des DP-Masters einstellen)

Aufruffunktion unsigned short int dpn_set_mode (struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann die Betriebsart des DP-Masters verändertwerden. Der Aufruf dieser Funktion ist nur für eine übergeordnete Ap-plikation zulässig (siehe Kapitel 5.1.3).

Folgende DP-Betriebsarten können eingestellt werden:

Betriebsart Beschreibung

OFFLINE Es erfolgt keine DP-Kommunikation.

STOP Nur Kommunikation mit DP-Masterder Klasse 2 möglich. Darüber hin-aus erfolgt keine Kommunikation zuden DP-Slaves.

CLEAR Es erfolgt die Parametrie-rung/Konfigurierung der DP-Slavesund Datentransfer, wobei in Ausga-berichtung Null-Bytes an dieDP-Slaves gesendet werden.

OPERATE Produktivdatenaustausch mit denDP-Slaves.

Beim Einstellen einer neuen Betriebsart dürfen keine Betriebsar-ten übersprungen werden.

Ausgehend von der aktuellen Betriebsart müssen die Betriebsarten inder vorgegebenen (aufsteigenden oder absteigenden) ReihenfolgeOFFLINE ⇐ STOP ⇐ CLEAR ⇐ OPERATE durchlaufen werden. Dermomentane Betriebszustand kann durch den Aufruf dpn_get_mode()ausgelesen werden.

Nach einem dpn_set_mode()-Aufruf muß durch nachfolgendedpn_get_mode()-Aufrufe geprüft werden, ob die gewünschte Betriebs-art erreicht worden ist. Erst danach darf eine neue Betriebsart einge-stellt werden.

Es ist zu beachten, daß ein Übergang in die Betriebsart OPERATEnicht erfolgt, wenn im Rückgabeparameter sys_event das EreignisAUTOCLEAR gemeldet wird.

Beispiel fürEinhalten derReihenfolge

Es soll die Betriebsart OPERATE eingestellt werden. Der Aufruf vondpn_get_mode() ermittelt die aktuelle Betriebsart STOP. Durch Aufrufvon dpn_set_mode() muß zunächst die Betriebsart CLEAR eingestelltwerden. Erst nach Erreichen der Betriebsart CLEAR darf die Betriebs-art OPERATE eingestellt werden.

Page 140: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)140 C79000-B8900-C071-07

5.17.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length irrelevantptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state neue Betriebsartptr -> sys_event irrelevantptr -> user_data[0] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

sys_state Das Strukturelement enthält die neue Betriebsart des DP-Masters.

Vorgabewert in sys_state Betriebsart

DPN_SYS_OFFLINE OFFLINE

DPN_SYS_STOP STOP

DPN_SYS_CLEAR CLEAR

DPN_SYS_OPERATE OPERATE

Page 141: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 141

5.17.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr irrelevantptr -> length irrelevantptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] irrelevant

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

sys_state Das Strukturelement sys_state enthält die Betriebsart des DP-Masters,die beim Absetzen des Auftrags gültig war.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

HinweisDa für die Einstellung der neuen Betriebsart einige Aktivitäten desDP-Masters erforderlich sind, kann der ermittelte Wert unterschiedlichzum aktuellen Vorgabewert sein.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 142: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)142 C79000-B8900-C071-07

5.18 dpn_get_mode (Betriebsart des DP-Masters ermitteln)

Aufruffunktion unsigned short int dpn_get_mode (struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann die aktuelle Betriebsart des DP-Masters er-mittelt werden.

Der DP-Master kann sich in einer der folgenden Betriebsarten befin-den:

Betriebsart Beschreibung

OFFLINE Es erfolgt keine DP-Kommunikation

STOP Nur Kommunikation mit DP-Masterder Klasse 2 möglich. Darüber hin-aus erfolgt keine Kommunikation zuden DP-Slaves.

CLEAR Es erfolgt die Parametrie-rung/Konfigurierung der DP-Slavesund Datentransfer, wobei in Ausga-berichtung Null-Bytes an dieDP-Slaves gesendet werden.

OPERATE Produktivdatenaustausch mit denDP-Slaves.

Page 143: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 143

5.18.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length irrelevantptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

Page 144: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)144 C79000-B8900-C071-07

5.18.2 Rückgabeparameter

Parameterstruktur prt -> reference unverändertptr -> stat_nr irrelevantptr -> length irrelevantptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Event-Meldungenptr -> user_data[ ] irrelevant

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes. Nur im Erfolgsfall (DPN_NO_ERROR)sind die restlichen Rückgabeparameter der Struktur dpn_interfacegültig.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Rückgabeparameter in sys_state Betriebsart

DPN_SYS_OFFLINE OFFLINE

DPN_SYS_STOP STOP

DPN_SYS_CLEAR CLEAR

DPN_SYS_OPERATE OPERATE

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 145: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 145

5.19 dpn_global_ctrl (Azyklisches Senden eines Steuertele-gramms)

Aufruffunktion unsigned short int dpn_global_ctrl (struct dpn_interface far * ptr)

Beschreibung Mit dieser Funktion kann eine DP-Applikation Steuerkommandos aneinen, eine Gruppe, mehrere Gruppen oder an alle DP-Slaves senden.Die Steuerkommandos werden durch ein Broadcast- oder ein Multi-cast-Telegramm an die DP-Slaves gesendet.

Ein Broadcast-Telegramm ist an alle DP-Slaves gerichtet.

Ein Multicast-Telegramm ist an mehrere DP-Slaves gerichtet.

Folgende Kommandos (Control_Command) können mit dem Funkti-onsaufruf übergeben werden:

Steuerkommando Wirkung bei den DP-Slaves

FREEZE Die Zustände der Eingänge werdeneingelesen und eingefroren.

UNFREEZE Das Einfrieren der Eingänge wirdaufgehoben.

SYNC Die Ausgabe wird eingefroren.

UNSYNC Das Kommando UNSYNC hebt dasKommando SYNC auf.

Steuerkommandos sind nur bei Norm-Slaves wirksam.☞

Page 146: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)146 C79000-B8900-C071-07

5.19.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr Slave-Adresseptr -> length >= 1ptr -> error_code irrelevantptr -> slv_state Control_Commandptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[0] Group_Identifier

reference Strukturelement reference muß das Handle, das beim Funktionsaufrufdpn_init() zurückgegeben wurde, eingetragen werden.

stat_nr Das Strukturelement stat_nr enthält die PROFIBUS-Adresse eineseinzelnen DP-Slaves oder die sogenannte Globaladresse. Soll dasSteuertelegramm an einen einzelnen DP-Slave gesendet werden, soist hier dessen PROFIBUS-Adresse, die zwischen 0 und 125 liegenkann, einzutragen. Ist eine Gruppe oder sind mehrere Gruppen oderalle Slaves Adressaten des Steuertelegramms, so wird die Globalad-resse eingetragen, für die im Include-File dpn_user.h die KonstanteDPN_GROUP_ADR definiert ist.

length Hier ist ein Wert >= 1 einzutragen.

slv_state Hier wird das Control_Command des Aufrufs eingetragen. FolgendeWerte können vorgegeben werden:

Vorgabewert Kommando

DPN_FREEZE FREEZE

DPN_UNFREEZE UNFREEZE

DPN_SYNC SYNC

DPN_UNSYNC UNSYNC

user_data[0] Im Strukturelement user_data[0] wird der Group_Identifier eingetragen.Der Group_Identifier selektiert die anzusprechende(n) Slave-Gruppe(n). Der Group_Identifier eines DP-Slaves wird beim Erstellender DP-Datenbasis festgelegt und dem Slave bei der Parametrierungmitgeteilt.

Insgesamt können bis zu acht verschiedene Gruppen gebildet werden,die über einzelne Bits des Group_Identifiers ausgewählt werden.

Page 147: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 147

Beispiel fürGruppenbildung

Ist der Wert „3“ in user_data[0] eingetragen, so werden dadurch dieGruppen „7“ und „8“ selektiert, da im Group-Identifier die Bits 0 und 1auf „1“ gesetzt sind.

Alle Slavesselektieren

Um alle DP-Norm-Slaves zu selektieren, muß in user_data[0] die Kon-stante DPN_SELECT_ALL und in dem Strukturelement stat_nr dieKonstante DPN_GROUP_ADR eingetragen werden. Die Konstantensind im Include-File dpn_user.h definiert.

Page 148: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)148 C79000-B8900-C071-07

5.19.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr unverändertptr -> length unverändertptr -> error_code Fehlerkennungptr -> slv_state unverändertptr -> sys_state Betriebsart des DP-Mastersptr -> sys_event Ereignismeldungenptr -> user_data[0] unverändert

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Der Eintrag der Konstanten „DPN_NO_ERROR“ im Strukturele-ment error_code bedeutet lediglich, daß die Steuerkommandosan die Slaves gesendet werden. Eine Bestätigung der Auf-tragsausführung erfolgt nicht, da die Steuertelegramme von denDP-Slaves nicht quittiert werden.

sys_state Das Strukturelement sys_state enthält die aktuelle Betriebsart desDP-Masters.

Die möglichen Betriebsarten sind in Kapitel 4.8.3 beschrieben.

sys_event Das Strukturelement sys_event kennzeichnet Ereignismeldungen wäh-rend der DP-Kommunikation.

Die möglichen Ereignismeldungen sind in den Kapiteln 3.4 und 4.8.4beschrieben.

Page 149: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 149

5.20 dpn_reset (Abmelden einer DP-Applikation)

Aufruffunktion unsigned short int dpn_reset (struct dpn_interface far * ptr)

Beschreibung Der Aufruf bewirkt, daß das Handle der Applikation gelöscht wird unddie der Applikation zugeordneten Ressourcen freigegeben werden.

Abhängig von der Art und Anzahl der DP-Applikationen werden unter-schiedliche Aktionen ausgeführt:

Situation beim Aufruf Aktion

Es sind keine weiteren DP-Applika-tionen angemeldet.

In diesem Fall wird die gesamteDP-Kommunikation beendet. Alleallokierten Ressourcen werden frei-gegeben.

Es sind weitere DP-Applikationenaktiv.

In diesem Fall werden die Ausgabe-daten derjenigen DP-Slaves die derDP-Applikation zugeordnet sind mit0 belegt.

Diese Funktion muß vor der Beendigung einer DP-Applikationaufgerufen werden.

Wird eine DP-Applikation infolge eines Fehlverhaltens ohne denAufruf dpn_reset() beendet, kann ein sicherer Systemzustand nurdann gewährleistet werden, wenn die DP-Applikation zuvor mitdem Funktionsaufruf dpn_wd() eine Auftragsüberwachungszeiteingestellt hat.

GrundOhne den Aufruf von dpn_wd() würde im geschilderten Fall derDP-Master weiterhin zyklisch Ausgabedaten an die DP-Slaves senden,obwohl die DP-Applikation nicht mehr aktiv ist.

Page 150: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)150 C79000-B8900-C071-07

5.20.1 Vorgabeparameter

Parameterstruktur ptr -> reference Handle der DP-Applikationptr -> stat_nr irrelevantptr -> length irrelevantptr -> error_code irrelevantptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

reference Im Strukturelement reference muß das Handle, das beim Funktions-aufruf dpn_init() zurückgegeben wurde, eingetragen werden.

Page 151: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 151

5.20.2 Rückgabeparameter

Parameterstruktur ptr -> reference unverändertptr -> stat_nr irrelevantptr -> length irrelevantptr -> error_code Fehlerkennungptr -> slv_state irrelevantptr -> sys_state irrelevantptr -> sys_event irrelevantptr -> user_data[ ] irrelevant

error_code Das Strukturelement error_code ist identisch mit dem Rückgabepara-meter des Funktionsaufrufes.

Die möglichen Fehlerkennungen sind in Kapitel 4.4 beschrieben.

Page 152: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Beschreibung der DP-Funktionen

DP-Programmierschnittstelle (zyklische Kommunikation)152 C79000-B8900-C071-07

Page 153: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 153

6 Datenablage

Dieses Kapitel beschreibt den Aufbau der unterschiedlichen Datenstrukturen, die vonden Aufruffunktionen der DP-Programmierschnittstelle verwendet werden.

Im einzelnen werden beschrieben:

• Aufbau der Eingabe- und Ausgabedaten

• Aufbau der Diagnosedaten

• Aufbau der Busparameter

• Aufbau der Slave-Parameter

• Aufbau der Konfigurationsdaten

Inhalt Kapitel 6

6.1 Aufbau der Eingabe- und Ausgabedaten.......................................................154

6.2 Aufbau der Diagnosedaten bei Norm-Slaves ................................................1566.2.1 Gerätebezogene Diagnose ...........................................................................1606.2.2 Kennungsbezogene Diagnose ......................................................................1616.2.3 Kanalbezogene Diagnose.............................................................................1626.2.4 Beispiel: Aufbau einer Diagnose nach obigem Schema ................................165

6.3 Diagnosedaten nicht normkonformer Slaves.................................................1676.3.1 Diagnosedaten der ET 200U.........................................................................1686.3.2 Diagnosedaten der ET 200K/B .....................................................................170

6.4 Aufbau der Busparameter.............................................................................174

6.5 Aufbau der Slave-Parameter ........................................................................1776.5.1 Sl_Flag, Slave-Typ, Oktett-String .................................................................1786.5.2 Parametrierdaten..........................................................................................1806.5.3 Konfigurierdaten...........................................................................................1836.5.4 Spezielle Kennungsformate..........................................................................184

Page 154: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)154 C79000-B8900-C071-07

6.1 Aufbau der Eingabe- und Ausgabedaten

Bytes bündigablegen

Die Ein- und Ausgabedaten eines DP-Slaves werden ab dem Struktur-element user_data[0] bündig abgelegt. Das Strukturelement length derStruktur dpn_interface enthält die Zahl der gültigen Bytes des Daten-bereichs.

Ausgabedaten, die an DP-Slaves gesendet werden, müssen von derDP-Applikation vor dem Aufruf der Funktionen dpn_out_slv(),dpn_out_slv_m() oder dpn_out_slv_ext() im Datenbereich eingetragenwerden.

Bei den Funktionen, die Daten zurückliefern, erfolgt der Eintrag durchden CP. Zu diesen Funktionen zählen dpn_in_slv(), dpn_in_slv_m(),dpn_in_slv_ext() und dpn_read_slv(). Die beiden erstgenannten Funk-tionen liefern die Eingabedaten eines bzw. mehrerer DP-Slaves zu-rück, während die Funktion dpn_read_slv() die aktuellen Ausgabedatenaus dem lokalen Datenpuffer des CP zurückgibt.

Reihenfolge derDaten

Die Reihenfolge der Daten entspricht den konfigurierten Ein-/Ausga-beports der DP-Slaves.

BeispielEs werden die Eingabeports einer ET 200B-16DI-Station durch dieFunktion dpn_in_slv() gelesen. Im Strukturelement user_data[0] wirdder Eingabewert des Ports 0, im Strukturelement user_data[1] wird derEingabewert von Port 1 eingetragen.

Ausnahme: AnalogwerteBei älteren ET 200U-Stationen, die noch nicht normkonform sind, wer-den die Daten wie folgt abgelegt:

• Zuerst werden die Analogwerte in der Reihenfolge der konfigurier-ten Analog-Steckplätze abgelegt.

• Dahinter werden die Binärwerte in der Reihenfolge der konfigurier-ten Digitalbaugruppen abgelegt.

Page 155: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 155

Format derDatenablage beiWortzugriffen

Bei der Ablage von Werten im Wort-Format ist die nachstehende Rei-henfolge vorgeschrieben:

Zuerst wird das Highbyte (niederwertige Adresse), danach das Lowbyte(höherwertige Adresse) des Wortes eingetragen.

Diese Reihenfolge entspricht nicht dem Format der Prozessorender 8086-Familie!

Ausnahme: ältere ET 200-StationenBei älteren ET 200U-Stationen, die noch nicht normkonform sind(DP-Siemens) entspricht die Datenablage bei Wortzugriffen dem For-mat der Prozessoren der 8086-Familie:

Zuerst wird das Lowbyte (niederwertige Adresse), danach das Highbyte(höherwertige Adresse) des Wortes eingetragen.

Page 156: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)156 C79000-B8900-C071-07

6.2 Aufbau der Diagnosedaten bei Norm-Slaves

Übersicht Die Länge der Diagnosedaten liegt typischerweise im Bereich 6 bis 32Byte. Die maximal mögliche Länge beträgt 244 Byte. Die Diagnose-daten besitzen den nachfolgend beschriebenen Aufbau.

Bitte beachten Sie die Beschreibung der Diagnosedaten in der jeweili-gen Dokumentation des verwendeten Slaves.

Byte Bedeutung

Byte 1 Stationsstatus_1

Byte 2 Stationsstatus_2

Byte 3 Stationsstatus_3

Byte 4 Diag.Master_Add

Byte 5 und 6 Ident_Number

Byte 7 bis 32 Ext_Diag_Data

Darstellung desByte-Aufbaus

Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Page 157: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 157

Byte 1 Stationsstatus_1

Jedes Bit im Byte 1, dem „Stationstatus_1“-Byte, hat eine besondereBedeutung.

Bit Bedeutung

7 Diag. Master_Lock

Der DP-Slave ist bereits von einem anderen Master parametriertworden, d. h. der eigene Master hat momentan keinen Zugriff aufdiesen Slave.

6 Diag. Prm_Fault

Dieses Bit wird vom DP-Slave gesetzt, falls das letzte Parametrierte-legramm fehlerhaft war (beispielsweise falsche Länge, falsche Ident-Number, ungültige Parameter).

5 Diag. Invalid_Slave_Response

Dieses Bit wird gesetzt, sobald von einem angesprochenen DP-Slaveeine unplausible Antwort empfangen wird.

4 Diag. Not_Supported

Dieses Bit wird gesetzt, sobald eine Funktion angefordert wurde, dievon diesem Slave nicht unterstützt wird (beispielsweise wird ein Be-trieb im SYNC-Mode gefordert, vom Slave aber nicht unterstützt).

3 Diag. Ext_Diag

Dieses Bit wird vom DP-Slave gesetzt. Ist das Bit gesetzt, so muß indem Slave-spezifischen Diagnosebereich (Ext_Diag_Data) ein Diag-noseeintrag vorliegen. Ist das Bit nicht gesetzt, so kann in dem Sla-ve-spezifischen Diagnosebereich (Ext_Diag_Data) eine Statusmel-dung vorliegen. Die Bedeutung dieser Statusmeldung ist applikati-onsspezifisch zu vereinbaren.

2 Diag. Cfg_Fault

Dieses Bit wird gesetzt, sobald die vom DP-Master zuletzt gesende-ten Konfigurationsdaten mit denjenigen, die der DP-Slave ermittelthat, nicht übereinstimmen, d. h. es liegt ein Konfigurationsfehler vor.

1 Diag. Station_Not_Ready

Dieses Bit wird gesetzt, wenn der DP-Slave noch nicht für den Pro-duktivdatenaustausch bereit ist.

0 Diag. Station_Non_Existent

Dieses Bit setzt der DP-Master, falls der DP-Slave nicht über den Buserreichbar ist. Ist dieses Bit gesetzt, so enthalten die Diagnosebitsden Zustand der letzten Diagnosemeldung oder den Initialwert. DerDP-Slave setzt dieses Bit fest auf Null.

Page 158: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)158 C79000-B8900-C071-07

Byte 2 Stationsstatus_2

Jedes Bit im Byte 2, dem „Stationsstatus_2“-Byte, hat eine besondereBedeutung.

Bit Bedeutung

7 Diag. Deactivated

Dieses Bit wird gesetzt, sobald der DP-Slave im lokalen Parameter-satz als nicht aktiv gekennzeichnet und aus der zyklischen Bearbei-tung herausgenommen wurde.

6 reserviert

5 Diag. Sync_Mode

Dieses Bit wird vom DP-Slave gesetzt, sobald dieser DP-Slave dasSync-Steuerkommando erhalten hat.

4 Diag. Freeze_Mode

Dieses Bit wird vom DP-Slave gesetzt, sobald dieser DP-Slave dasFreeze-Steuerkommando erhalten hat.

3 Diag. WD_On (Watchdog on)

Dieses Bit wird vom DP-Slave gesetzt. Ist dieses Bit auf 1 gesetzt, soist die Ansprechüberwachung beim DP-Slave aktiviert.

2 Dieses Bit wird vom DP-Slave fest auf 1 gesetzt.

1 Diag.Stat_Diag (Statische Diagnose)

Setzt der DP-Slave dieses Bit, so muß der DP-Master solange Diag-noseinformationen abholen, bis dieses Bit wieder gelöscht wird. DerDP-Slave setzt zum Beispiel dieses Bit, wenn er keine gültigen Nutz-daten zur Verfügung stellen kann.

0 Diag. Prm_Req

Setzt der DP-Slave dieses Bit, so muß er neu parametriert und konfi-guriert werden. Das Bit bleibt solange gesetzt, bis eine Parametrie-rung erfolgt ist.

AnmerkungIst das Bit 1 und das Bit 0 gesetzt, so hat das Bit 0 die höhere Prio-rität.

Page 159: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 159

Byte 3 Stationsstatus_3

Jedes Bit im Byte 3, dem „Stationsstatus_3“-Byte, hat eine besondereBedeutung.

Bit Bedeutung

7 Diag. Ext_Diag_Overflow

Ist dieses Bit gesetzt, so liegen mehr Diagnoseinformationen vor, alsin Ext_Diag_Data angegeben sind. Zum Beispiel setzt der DP-Slavedieses Bit, wenn mehr Kanaldiagnosen vorliegen, als der DP-Slave inseinen Sendepuffer eintragen kann; oder der DP-Master setzt diesesBit, wenn der DP-Slave mehr Diagnosedaten sendet, als derDP-Master in seinem Diagnosepuffer berücksichtigen kann.

6bis0

reserviert

Byte 4 Diag. Master_Add

In das Byte 4, dem „Diag. Master_Add“-Byte, wird die Adresse desDP-Masters eingetragen, der diesen DP-Slave parametriert hat. Ist derDP-Slave von keinem DP-Master parametriert, so setzt der DP-Slavein dieses Byte die Adresse 255 ein.

Byte 5 und 6 Ident_Number

In die Bytes 5 und 6, den „Ident_Number“-Bytes, wird die Hersteller-kennung für einen DP-Slave-Typ vergeben. Diese Kennung kann zumeinen für Prüfungszwecke und zum anderen zur genauen Identifizie-rung herangezogen werden.

Byte 7 bis 32 Ext_Diag_Data

In die Bytes 7 bis 32, den „Ext_Diag_Data“-Bytes, kann der DP-Slaveseine spezifische Diagnose ablegen. Es wird eine Blockstruktur mit jeeinem Headerbyte für die geräte- und kennungsbezogene Diagnosevorgeschrieben.

Page 160: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)160 C79000-B8900-C071-07

6.2.1 Gerätebezogene Diagnose

Beschreibung In diesem Block werden allgemeine Diagnoseinformationen wie Bei-spiel Übertemperatur, Unterspannung oder Überspannung hinterlegt.Die Kodierung wird gerätespezifisch festgelegt. Zur weiteren Auswer-tung muß die Ident_Number herangezogen werden.

Darstellung desByte-Aufbaus

Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Bedeutung derBits im Headerbyte

Jedes Bit im „Headerbyte“ hat eine besondere Bedeutung.

Bit Bedeutung

7und6

fest auf 00 (Header-Byte-Kennung)

5bis0

Blocklänge in Bytes einschließlich Headerbyte 2 bis Headerbyte 63

Page 161: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 161

6.2.2 Kennungsbezogene Diagnose

BeschreibungHeaderbyte

Für jedes bei der Konfigurierung vergebene Kennungsbyte wird ein Bitreserviert. Es wird jeweils auf Byte-Grenzen aufgerundet, wobei dienicht konfigurierten Bits mit Null zu belegen sind. Ein gesetztes Bitbedeutet, daß in diesem E/A-Bereich eine Diagnose ansteht.

Jedes Bit im „Headerbyte“, hat eine besondere Bedeutung.

Darstellung desByte-Aufbaus

Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Bedeutung derBits im Headerbyte

Jedes Bit im „Headerbyte“ hat eine besondere Bedeutung.

Bit Bedeutung

7und6

fest auf 01 (Header-Byte-Kennung)

5bis0

Blocklänge in Bytes einschließlich Headerbyte 2 bis Headerbyte 63

Bedeutung derBits in denDiagnosebytes

Jedes Bit in den „Diagnosebytes“ hat eine besondere Bedeutung.

Bit Bedeutung

7bis0

Bit 0 gesetzt bedeutet: Kennungsnummer 0 hat Diagnose

Bit 1 gesetzt bedeutet: Kennungsnummer 1 hat Diagnose

Bit 2 gesetzt bedeutet: Kennungsnummer 2 hat Diagnose

usw. bis

Bit 7 gesetzt bedeutet: Kennungsnummer 7 hat Diagnose

Page 162: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)162 C79000-B8900-C071-07

6.2.3 Kanalbezogene Diagnose

Beschreibung In diesen Block werden der Reihe nach die diagnostizierten Kanäleund die Diagnoseursache eingetragen. Die Länge je Eintrag beträgt3 Byte.

Darstellung desByte-Aufbaus

Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Byte 1 Kennungsnummer

Jedes Bit im Byte 1 hat eine besondere Bedeutung.

Bit Bedeutung

7und6

fest auf 10

5bis0

Kennungsnummer 0 bis 63

Page 163: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 163

Byte 2 Kanalnummer

Jedes Bit im Byte 2 hat eine besondere Bedeutung.

Bit Bedeutung

Ein-/Ausgabe

Ein-/Ausgabe Bedeutung

00 reserviert

01 Eingabe

10 Ausgabe

11 Eingabe/Ausgabe

5bis0

Kanalnummer 0 bis 63

AnmerkungBei Kennungsbytes die sowohl Ein- als auch Ausgaben enthalten, wirdin Bit 7 und Bit 6 der Kanalnummer die Richtung des diagnostiziertenKanals angezeigt.

7und6

Page 164: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)164 C79000-B8900-C071-07

Byte 3 Art der Diagnose

Jedes Bit im Byte 3 hat eine besondere Bedeutung.

Bit Bedeutung

Kanaltyp

Kanaltyp Bedeutung

000 reserviert

001 Bit

010 2 Bit

011 4 Bit

100 Byte

101 Wort

110 2 Worte

111 reserviert

Fehlertyp

Fehlertyp Bedeutung

0 reserviert

1 Kurzschluß

2 Unterspannung

3 Überspannung

4 Überlast

5 Übertemperatur

6 Leitungsbruch

7 Oberer Grenzwert überschritten

8 Unterer Grenzwert unterschritten

9 Fehler

10-15 reserviert

16-31 herstellerspezifisch

4bis0

7bis5

Page 165: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 165

6.2.4 Beispiel: Aufbau einer Diagnose nach obigem Schema

Beschreibung Im folgenden Bild ist eine Diagnose nach dem oben aufgeführtenSchema dargestellt.

MSB LSB

7 6 5 4 3 2 1 0

Gerätebezogene Diagnose:(Headerbyte)

0 0 0 0 0 1 0 0

Bedeutung der Bits ist gerätespezifisches

herstellerspezifisch Diagnosefeld,

hier 3 Byte lang

Kennungsbezogene Diagnose:(Headerbyte)

0 1 0 0 0 1 0 1

Kennungsnummer 0 mit Diagnose(Diagnosebyte)

0

7.

0

6.

0

5.

0

4.

0

3.

0

2.

0

1.

1

0.

Kennungsnummer 12 mitDiagnose(Diagnosebyte)

0

15.

0

14.

0

13.

1

12.

0

11.

0

10.

0

9.

0

8.

Kennungsnummer 18 mitDiagnose(Diagnosebyte)

0

23.

0

22.

0

21.

0

20.

0

19.

1

18.

0

17.

0

16.

(Diagnosebyte) 0

31.

0

30.

0

29.

0

28.

0

27.

0

26.

0

25.

0

24.

Kanalbezogene Diagnose:

Kennungsnummer 0(Kennungsbyte 1)

1 0 0 0 0 0 0 0

Kanal 2(Kennungsbyte 2)

0 0 0 0 0 0 1 0

Überlast, Kanal bitweise organisiert(Kennungsbyte 3)

0 0 1 0 0 1 0 0

Kennungsnummer 12(Kennungsbyte 1)

1 0 0 0 1 1 0 0

Kanal 6(Kennungsbyte 2)

0 0 0 0 0 1 1 0

Oberer Grenzwert überschritten,Kanal wortweise organisiert(Kennungsbyte 3)

1 0 1 0 0 1 1 1

Page 166: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)166 C79000-B8900-C071-07

Page 167: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 167

6.3 Diagnosedaten nicht normkonformer Slaves

Beschreibung Für verschiedene ältere Versionen der Stationstypen ET 200U,ET 200K und ET 200B, weicht der Aufbau der Diagnoseinformationenvom heutigen Standard ab. Der Aufbau für diese Typen wird nachfol-gend erläutert.

Page 168: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)168 C79000-B8900-C071-07

6.3.1 Diagnosedaten der ET 200U

AllgemeinerAufbau

Die Diagnosedaten besitzen den nachfolgend beschriebenen Aufbau.

Byte Bedeutung

Byte 1 Stationsdiagnose

Byte 2 Stationsstatus

Byte 3-6 Baugruppendiagnose

Aufbau der Bytes Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Byte 1 Jedes Bit im Byte 1, dem „Stationsdiagnose“-Byte, hat eine besondereBedeutung.

Bit Bedeutung

0 irrelevant

1 Station nicht steuerbar

2 Parametrierfehler (Baugruppenkennung)

3 Einzelfehler (Baugruppe gezogen)

4 fehlende Lastspannung

5 fehlerhafte Aktivierung eines Ausgangs

6 irrelevant

7 erweiterte Diagnose aktiviert

Page 169: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 169

Byte 2 Jedes Bit im Byte 2, dem „Stationsstatus“-Byte, hat eine besondereBedeutung.

Bit Bedeutung

0 irrelevant

1 irrelevant

2 irrelevant

3 Ansprechüberwachung aktiviert

4 AG 100-Slow-Mode eingestellt

5 es wird keine Diagnosemeldung mehr erzeugt

6 irrelevant

7 es werden keine neuen Daten auf die Ausgaben ge-schrieben

Byte 3 Jedes Bit in den Bytes 3 bis 6, den „Baugruppendiagnose“-Bytes, ha-ben eine besondere Bedeutung.

Ist ein Bit auf 1 gesetzt, so ist bei der entsprechenden Baugruppe einFehler aufgetreten.

Byte Bit Bedeutung

3 0 Baugruppe auf Steckplatz 0

3 1 Baugruppe auf Steckplatz 1

3 2 Baugruppe auf Steckplatz 2

usw. usw. usw.bis bis bis

6 6 Baugruppe auf Steckplatz 30

6 7 Baugruppe auf Steckplatz 31

Page 170: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)170 C79000-B8900-C071-07

6.3.2 Diagnosedaten der ET 200K/B

AllgemeinerAufbau

Die Diagnosedaten besitzen den nachfolgend beschriebenen Aufbau.

Byte Bedeutung

Byte 1 Statusbyte 1

Byte 2 Statusbyte 2

Byte 3-6 Diagnose Port A-D

Aufbau der Bytes Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Byte 1 Jedes Bit im Byte 1, dem „Statusbyte 1“, hat eine besondere Bedeu-tung.

Bit Bedeutung

0 RESET war ausgelöst

1 Watchdog-Timer abgelaufen

2 Diagnose-Error

3 Fehler bei EEPROM-Schreibbefehl

4 Ports wurden eingefroren

5 Ausgabe auf Ports ist gesperrt

6 irrelevant

7 irrelevant

Page 171: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 171

Byte 2 Jedes Bit im Byte 2, dem „Statusbyte 2“, hat eine besondere Bedeu-tung.

Bit Bedeutung

0 irrelevant

1 Bit 1 = 0 bedeutet: Watchdog deaktiviert

2 irrelevant

3 irrelevant

4 irrelevant

5 irrelevant

6 irrelevant

7 EEPROM angeschlossen

Page 172: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)172 C79000-B8900-C071-07

Byte 3 bis 6 Diagnose-Port (A-D) bei ET 200K-Stationen

Jedes Bit in den Bytes 3 bis 6, den „Baugruppendiagnose“-Bytes, hateine besondere Bedeutung.

Ist ein Bit auf 1 gesetzt, so ist beim entsprechenden Eingang/Ausgangein Fehler aufgetreten.

Byte Bit Bedeutung

3 0 Diagnose-Port A, Eingang A0 fehlerhaft

3 1 Diagnose-Port A, Eingang A1 fehlerhaft

3 2 Diagnose-Port A, Eingang A2 fehlerhaft

3 usw. usw.

3 bis bis

3 7 Diagnose-Port A, Eingang A7 fehlerhaft

4 0 Diagnose-Port B, Eingang B0 fehlerhaft

4 usw. usw.

4 bis bis

4 7 Diagnose-Port B, Eingang B7 fehlerhaft

5 0 Diagnose-Port C. Eingang C0 fehlerhaft

5 usw. usw.

5 bis bis

5 7 Diagnose-Port C, Eingang C7 fehlerhaft

6 0 Diagnose-Port D, Eingang/Ausgang D0 fehlerhaft

6 usw. usw.

6 bis bis

6 7 Diagnose-Port D, Eingang/Ausgang D7 fehlerhaft

Page 173: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 173

Byte 3 und 4 Diagnose-Port (A-D) bei ET 200B-Stationen

Von den ET 200B-Gerätetypen ist nur der Typ ET 200B 16DQ diagno-sefähig. Nur bei diesem Gerätetyp sind die Diagnose-Ports relevant.

Byte 3 bezieht sich auf die Diagnose-Kanalgruppe 0,Byte 4 bezieht sich auf die Diagnose-Kanalgruppe 1.

Jedes Bit in den Bytes hat eine besondere Bedeutung.

Byte Bit Bedeutung

3 0 Bit 0=0 bedeutet: Überlast, Ausgangs-Kurzschluß

3 1 bis 6 irrelevant

3 7 Sicherung defekt, Lastspannung fehlt

4 0 Bit 0=0 bedeutet: Überlast, Ausgangs-Kurzschluß

4 1 bis 6 irrelevant

4 7 Sicherung defekt, Lastspannung fehlt

Page 174: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)174 C79000-B8900-C071-07

6.4 Aufbau der Busparameter

Tabelle derBusparameter

Die Busparameter haben den folgenden Aufbau:

Name des Parameters Typ (Intel-Format)

Reserved Unsigned16

FDL_Add Unsigned8

Baudrate Unsigned8

TSL *) Unsigned16

minTSDR *) Unsigned16

maxTSDR *) Unsigned16

TQUI *) Unsigned8

TSET *) Unsigned8

TTR *) Unsigned32

G *) Unsigned8

HSA *) Unsigned8

max_retry_limit *) Unsigned8

Bp_Flag Unsigned8

Min_Slave_Interval Unsigned16

Poll_Timeout Unsigned16

Data_Control_Time Unsigned16

*) Diese Parameter sind in EN 50 170 Vol. 2 beschrieben.

Page 175: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 175

FDL_Add PROFIBUS-Adresse des DP-Masters

Baudrate Kennziffer für die Baudrate

Kennziffer Baudrate

0 9,6 kBaud

1 19,2 kBaud

2 93,75 kBaud

3 187,5 kBaud

4 500 kBaud

5 375 kBaud

6 750 kBaud

7 1,5 MBaud

8 3 MBaud

9 6 MBaud

10 12 MBaud

Bp_Flag Aufbau des BytesDas nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Beschreibung der BitsJedes Bit im „Bp_Flag“-Byte, hat eine besondere Bedeutung.

Bit Bedeutung

7 Error_Action_Flag

Bit 7=0 bedeutet: kein Betriebsartenwechsel imFehlerfall

Bit 7=1 bedeutet: Betriebsartenwechsel imFehlerfall (AUTOCLEAR)

6 bis 0 reserviert

Page 176: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)176 C79000-B8900-C071-07

Min_Slave_Interval Diese Zeit spielt beim Senden von Steuertelegrammen bzw. bei derLücke zwischen Pollzyklen eine wichtige Rolle. Eine detaillierte Be-schreibung der Zeit Min Slave Interval finden Sie in Kapitel 3.7.4.

Zeiteinheit: 5 ms

Poll_Timeout Mit dieser Zeit wird die Kommunikation zwischen dem DP-Master derKlasse 1 und einem DP-Master der Klasse 2 (DP-Diagnosegerät) ü-berwacht. Eine detaillierte Beschreibung der Zeit Poll Timeout findenSie in Kapitel 3.7.3.

Zeiteinheit: 50 ms

Data_Control_Time Diese Zeit spielt eine Rolle im Zusammenhang mit der FunktionalitätAUTOCLEAR. Eine detaillierte Beschreibung der Zeit Data ControlTime finden Sie in Kapitel 3.7.2.

Zeiteinheit: 50 ms

Page 177: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 177

6.5 Aufbau der Slave-Parameter

Übersicht Die Slave-Parameter bestehen aus den Komponenten

• Sl_Flag, Slave-Typ, Oktett-String

• Parametrierdaten

• Konfigurierdaten

• Add-Tab-Liste

• Slave-User-Daten

Über die Aufruf-Funktion dpn_read_slv_par() können die obigen Kom-ponenten der Slaveparameter ausgelesen werden. Die Funktion wird inKapitel 5 detailliert beschrieben.

Page 178: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)178 C79000-B8900-C071-07

6.5.1 Sl_Flag, Slave-Typ, Oktett-String

Übersicht Diese Komponenten des Slave-Parameter haben den folgenden Auf-bau:

Name Typ

Sl_Flag Unsigned8

Slave-Typ Unsigned8

Oktett 1 (reserviert) Unsigned8

usw. bis usw. bis

Oktett 12 (reserviert) Unsigned8

Darstellung desByte-Aufbaus

Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Sl_Flag Dieser Parameter enthält slave-bezogene Flags.

Jedes Bit im „Bp_Flag“-Byte hat eine besondere Bedeutung.

Bit Bedeutung

7 Active

Bit 7=0 bedeutet: DP-Slave ist nicht aktiviertBit 7=1 bedeutet: DP-Slave ist aktiviert

6 New_Prm

Bit 7=0 bedeutet: DP-Slave bekommt NutzdatenBit 7=1 bedeutet: DP-Slave bekommt neue Pa-

rametrierdaten

5 bis 0 reserviert

Page 179: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 179

Slave-Typ Dieser Parameter enthält eine herstellerspezifische Typbezeichnungfür das Slave-Gerät.

Bereich: 0 bis 28-1

Eintrag Bedeutung

0 DP-Norm-Slave

1 bis 15 reserviert

16 bis 255 herstellerspezifisch

Page 180: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)180 C79000-B8900-C071-07

6.5.2 Parametrierdaten

Übersicht Die Parametrierdaten setzen sich aus busspezifischen Daten undDP-Slave spezifischen Daten zusammen.

Typ: Oktett-String

Länge: Vorzugsweise 7 bis 32

Oktett-Nummer Bedeutung

Oktett 1 Station_status

Oktett 2 WD_Fact_1

Oktett 3 WD_Fact_2

Oktett 4 Min. Station Delay Responder

Oktett 5-6 Ident_Number

Oktett 7 Group_Ident

Oktett 8 bis 32 User_Prm_Data

Darstellung desByte-Aufbaus

Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Page 181: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 181

Oktett 1 Station_status

Oktett 1, der „Station_status“, hat folgenden Aufbau:

Dabei hat jedes Bit im „Station_status“-Byte eine besondere Bedeu-tung.

Bit Bedeutung

Lock_Req und Unlock_Req

Bit 7 Bit 6 Bedeutung

0 0 Bei einer Parametrierung wird die min TSDRüberschrieben. Alle anderen Parameter bleibenunbeeinflußt.

0 1 Der DP-Slave wird für andere Master freigege-ben.

1 0 Der DP-Slave wird für andere Master gesperrt,alle Parameter werden übernommen (Ausnahme: min TSDR = 0).

1 1 Der DP-Slave wird für andere Master freigege-ben.

Sync_Req

Mit diesem Bit wird dem Slave angezeigt, daß er im Sync-Mode be-trieben werden soll, sobald das Kommando mit der Funktiondpn_global_crtl() übergeben wird. Unterstüzt der DP-Slave das Sync-Kommando nicht, setzt er in den Diagnoseinformationen das Bit Di-ag.Not_Supported.

4 Freeze_Req

Mit diesem Bit wird dem DP-Slave angezeigt, daß er im Freeze-Modebetrieben werden soll, sobald das Kommando mit der Funktiondpn_global_ctrl() übergeben wird. Unterstützt der DP-Slave das Free-ze-Kommando nicht, setzt er in den Diagnoseinformationen das BitDiag.Not_Supported.

3 Watchdog

Ist dieses Bit auf Null gesetzt, so ist die Ansprechüberwachung deak-tiviert. Ist das Bit gesetzt, wird die Ansprechüberwachung beimDP-Slave aktiviert.

2bis0

Diese Bits sind für künftige Funktionserweiterungen reserviert. Sindbei einem DP-Slave keine Funktionserweiterungen implementiert undist ein solches Bit gesetzt, so wird in den Diagnoseinformationen dasBit Diag.Not_Supported gesetzt.

7und6

5

Page 182: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)182 C79000-B8900-C071-07

Oktett 2 und 3 WD_Fact_1 und WD_Fact_2

Diese beiden Bytes enthalten Faktoren für die Einstellung der An-sprechüberwachungszeit (TWD).

Die Ansprechüberwachungszeit sorgt in einem DP-Slave dafür, daßnach dem Ausfall des DP-Masters nach Ablauf dieser Zeit die Ausgän-ge den sicheren Zustand einnehmen.

TWD [ms] = 10 ms * WD_Fact_1 * WD_Fact_2

Oktett 4 Min. Station Delay Responder

Das ist die Zeit, die der DP-Slave warten muß, bis er seine Antwortte-legramme an den DP-Master zurücksenden darf.

Einheit: Bit-Zeiten

Oktett 5 und 6 Ident_Number

Diese Nummer wird vom Hersteller vergeben. Der DP-Slave akzeptiertnur Parametriertelegramme, bei denen die übertragene Ident_Numbermit der eigenen Ident_Number übereinstimmt.

Oktett 7 Group_Ident

Mit diesem Parameter kann eine Gruppenbildung für die Funktiondpn_glb_ctrl() gebildet werden. Jedes Bit stellt eine Gruppe dar. DieGroup_Ident wird nur bei gesetztem Lock_Req-Bit übernommen.

Oktett 8 bis 32 User_Prm_Data

Diese Bytes sind für DP-Slave-spezifische Parameter (z. B. Diagnose-filter, Reglerparameter) frei belegbar. Die Bedeutung und die Wertebe-reiche werden herstellerspezifisch festgelegt.

Page 183: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 183

6.5.3 Konfigurierdaten

Beschreibung Die Konfigurierdaten enthalten den Umfang der Ein- und Ausgabeda-tenbereiche und Angaben über die Datenkonsistenz.

Bitte beachten Sie die Beschreibung der Konfigurierdaten in der jewei-ligen Dokumentation des verwendeten Slaves.

Länge Die Länge der Konfigurierdaten beträgt vorzugsweise 1 bis 32. Optio-nal sind aber bis zu 244 Byte möglich.

Darstellung desByte-Aufbaus

Eingabe- und Ausgabebereiche sind in Gruppen zusammenfaßbar undjeweils durch ein Kennungsbyte beschrieben.

MSB LSB

7 6 5 4 3 2 1 0

Bedeutung derBits

Jedes Bit der Konfigurierdaten hat eine besondere Bedeutung:

Bit Bedeutung

0bis3

Länge der Daten

0 dezimal bedeutet: 1 Byte bzw. 1 Wort15 dezimal bedeutet: 16 Byte bzw. 16 Worte

Ein-/Ausgabe

Bit 5 Bit 4 Bedeutung

0 0 Spezielle Kennungsformate

0 1 Eingabe

1 0 Ausgabe

1 1 Ein-/Ausgabe

6 Länge

Bit 6 = 0 bedeutet: Byte (Byte-Struktur)Bit 6 = 1 bedeutet: Wort (Wortstruktur)

7 Konsistenz

Bit 7 = 0 bedeutet: Byte oder WortBit 7 = 1 bedeutet: Gesamte Länge

4und5

Page 184: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)184 C79000-B8900-C071-07

6.5.4 Spezielle Kennungsformate

Beschreibung Spezielle Kennungsformate ermöglichen weitergehende Konfiguratio-nen durch Erhöhung der Flexibilität.

Darstellung desByte-Aufbaus

Das nachfolgende Bild zeigt die Lage und Bezeichnung der Bits imangegebenen Byte.

MSB LSB

7 6 5 4 3 2 1 0

Kennungsbyte Jedes Bit im Kennungsbyte hat eine besondere Bedeutung.

Bit Bedeutung

0bis3

Länge der herstellerspezifischen Daten

Diese Bits enthalten die Länge der herstellerspezifischen Daten.

4und5

Diese Bits sind fest mit 00 vorbelegt.

Ein-/Ausgabe

Bit 7 Bit 6 Bedeutung

0 0 Leerplatz

0 1 Es folgt 1 Längenbyte für Eingaben

1 0 Es folgt 1 Längenbyte für Ausgaben

1 1 Es folgt

• 1 Längen-Byte für Ausgaben und• 1 Längen-Byte für Eingaben

7und6

Page 185: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Datenablage

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 185

Längenbytes Jedes Bit in den Längenbytes hat eine besondere Bedeutung.

Bit Bedeutung

0bis5

Länge der Ein-/Ausgaben

0 (dezimal) bedeutet: 1 Byte bzw. 1 Wort63 (dezimal) bedeutet: 64 Byte bzw. 64 Worte

6 Länge

Bit 6=0 bedeutet: Byte (Bytestruktur)Bit 6=1 bedeutet: Wort (Wortstruktur)

7 Konsistenz

Bit 7=0 bedeutet: Byte oder WortBit 7=1 bedeutet: Gesamte Länge

Beispiel fürspeziellesKennungsformat

Aus der nachfolgenden Tabelle entnehmen Sie ein Beispiel für einspezielles Kennungsformat.

Oktett Bits im Byte Bedeutung

1 1 1 0 0 0 0 1 1 Aus-/Eingabe, 3 Byte herstellerspezifische. Daten

2 1 1 0 0 1 1 1 1 Konsistenz, Ausgabe, 16 Worte

3 1 1 0 0 0 1 1 1 Konsistenz, Eingabe, 8 Worte

4 bis 6 herstellerspezifische Daten

Page 186: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)186 C79000-B8900-C071-07

7 Erstellen von DOS-Applikationen

Inhalt Kapitel 7

7.1 Überblick ......................................................................................................187

7.2 Einsatzumgebung unter DOS .......................................................................188

7.3 Anmelden einer DP-Applikation....................................................................1907.3.1 Beispiele für die Anmeldung einer DP-Applikation ........................................192

Page 187: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 187

7.1 Überblick

Erforderliche Libsund Include-Files

Für die Erstellung von DP-Applikationen benötigen Sie folgende Filesder Installationsdiskette:

Files der Installationsdiskette Bedeutung

DP-Library Bibliothek derDP-Programmierschnittstelle.

DP-Include-File DP-spezifische Deklarationen undKonstanten zurDP-Programmierschnittstelle.

SCI-Library Library mit Funktionen für Zugriff aufden Treiber des CP.

Die DP-Library und die SCI-Library müssen zu der DP-Applikationgebunden werden. Das DP-Include-File stellt der DP-Applikation dieerforderlichen Deklarationen und Konstanten zur Verfügung.

Übersicht derKomponenten

Die folgende Tabelle zeigt, für welche Compiler-Versionen dieDP-Library verfügbar ist. In den entsprechenden Spalten der Tabellesind die für die Erstellung der DP-Applikation erforderlichen Files auf-geführt. Um z. B. eine Borland-DOS-Applikation zu erstellen, müssenSie zur DP-Applikation die Libraries LDDPNBC.LIB und LDSCITC.LIBbinden.

Compiler Files MicrosoftMSVC 1.x

Borland C++V4.x

Anmerkung

DP-Library LDDPNMSC.LIB LDDPNBC.LIB DP-Library für DOS im Large-Modell

DP-Include-File DPN_USER.H DPN_USER.H DP-spezifische Deklarationen

SCI-Library LDSCIMSC.LIB LDSCITC.LIB Diese Libraries müssen zurDP-Applikation gebunden werden.

Die Bibliothek LDSCIMSC.LIB wurde mit Microsoft Visual C++, Versi-on 1.52 erstellt und die Bibliothek LDSCITC.LIB wurde mit TurboC++,Version 1.0 erstellt.

Hinweise Beim Kompilieren der DP-Applikation muß die Define-AnweisungDPN_DOS aktiviert werden (z. B. über Compiler-Schalter). Diese Defi-ne-Anweisung wird vom Include-File DPN_USER.H benötigt und mußvom Anwender zur Verfügung gestellt werden.

Page 188: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)188 C79000-B8900-C071-07

7.2 Einsatzumgebung unter DOS

Übersicht In diesem Kapitel finden Sie Informationen, wie eine DP-Applikationunter DOS eingesetzt werden kann.

Grundsätzlich sind die beiden Betriebsarten möglich:

• Single-Board-Betrieb

• Multi-Board-Betrieb

Single-Board-Betrieb

Bild 7.1 zeigt den Single-Board-Betrieb einer DP-Applikation unterDOS. Hierbei greift die DP-Applikation auf einen CP zu.

DOS-Applikation

PROFIBUS CP

PROFIBUS

PG/PC

DP-Library

Bild 7.1: Single-Board-Betrieb unter DOS

Page 189: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 189

Multi-Board-Betrieb

In einem Rechner können mehrere PROFIBUS-CP installiert sein.Beim Multi-Board-Betrieb greift eine DP-Applikation auf mehrere CPzu, wie im folgenden Bild 7.2 gezeigt wird.

PROFIBUS CP

PROFIBUS

PG/PC

DOS-ApplikationDP-Library

PROFIBUS CP

Bild 7.2: Multi-Board-Betrieb mit zwei Baugruppen

Voraussetzungenfür Multi-Board-Betrieb

Beim Multi-Board-Betrieb müssen die PROFIBUS-CP an verschiede-nen Bussen angeschlossen sein. Jeder dieser CP steuert alsDP-Master die DP-Slaves des entsprechenden Busses.

Ein gemeinsamer Betrieb mehrerer DP-Master im gleichen PG/PCam gleichen Bus führt zu Konfliktsituationen und ist daher nichtzulässig.

Anzahl derPROFIBUS-CPbeim Multi-Board-Betrieb

Die DP-Library unterstützt bis zu zwei CP.

Page 190: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)190 C79000-B8900-C071-07

7.3 Anmelden einer DP-Applikation

Allgemeines Eine DOS-Applikation muß sich für jeden CP, mit dem sie kommun-zieren will, mit der Funktion dpn_init() anmelden. Diese Funktion mußvor allen anderen DP-Funktionen aufgerufen werden.

Mit dem Funktionsaufruf werden nachfolgende Eigenschaften derDP-Applikation festgelegt und dem CP bekanntgemacht (detaillierteBeschreibung: siehe Kapitel 5):

• Nummer des PROFIBUS-CP, mit dem die DP-Applikation kommu-niziert

• Art und Umfeld der DP-Applikation

• Zugriffsrechte auf die DP-Slaves

Im Erfolgsfall liefert die Funktion dpn_init() eine Referenz (Handle) aufden selektierten CP zurück. Diese Referenz muß bei allen weiterenFunktionsaufrufen an diesen CP im Element reference der Strukturdpn_interface eingetragen werden.

Vorgabeparameter Wertebereich Anmerkung

reference.board_select 1 - 2 Nummer der CP

reference.access • (DPN_SYS_CENTRAL) |(DPN_ROLE_CENTRAL)

• (DPN_SYS_NOT_CENTRAL) |(DPN_ROLE_NOT_CENTRAL)

Art und Umfeld der DP-Applikation(siehe auch Kapitel 5)

user_data[n]

mit n=0 bis 125

• DPN_SLV_WRITE_READ

• DPN_SLV_READ

• DPN_SLV_NO_ACCESS

Zugriffsrechte auf DP-Slaves(siehe auch Kapitel 5)

Page 191: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 191

reference.accessbei dpn_init() unterDOS

Über diesen Parameter muß sich eine DP-Applikation beim Aufruf vondpn_init() bei dem DP-Master identifizieren. Nach obiger Tabelle sindunter DOS die beiden folgenden Einträge zulässig:

• (DPN_SYS_CENTRAL) | (DPN_ROLE_CENTRAL)

• (DPN_SYS_NOT_CENTRAL) | (DPN_ROLE_NOT_CENTRAL

Die folgende Tabelle zeigt das unterschiedliche Verhalten desDP-Masters bei den beiden Einträgen

Anmeldekategorie

Optionen

(DPN_SYS_CENTRAL) |(DPN_ROLE_CENTRAL)

(DPN_SYS_NOT_CENTRAL) |(DPN_ROLE_NOT_CENTRAL)

Einstellen des Betriebs-zustands desDP-Masters

Die Betriebsart des DP-Mastersmuß von der DP-Applikation überden Funktionsaufrufdpn_set_mode() eingestellt wer-den. Eine Änderung der Betriebs-art ist jederzeit möglich.

Der DP-Master wechselt nach dem Auf-ruf dpn_init() selbsttätig in die Be-triebsart OPERATE.

VerfügbareDP-Funktionen

Es können alle DP-Funktionender DP-Programmierschnittstellegenutzt werden.

Folgende DP-Funktionsaufrufe sindnicht zulässig:

• dpn_load_bus_par()

• dpn_set_mode()

• dpn_global_ctrl()

Sonstiges Wurde AUTOCLEAR projektiert,wechselt der DP-Master nachAuftreten eines Fehlers selbsttätigin die Betriebsart CLEAR.

Die Funktionalität AUTOCLEAR istnicht wirksam.

Page 192: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)192 C79000-B8900-C071-07

7.3.1 Beispiele für die Anmeldung einer DP-Applikation

Beschreibung Die folgenden Beispiele zeigen das prinzipielle Anmeldungsverfahrenfür den Singleboard- und Multiboard-Betrieb. Aus Gründen der Über-sichtlichkeit sind die Beispiele vereinfacht. So erfolgt z. B. keine Über-prüfung des Rückgabewerts, was in einer realen DP-Applikation aufjeden Fall geschehen sollte.

Beispiel:Single-Board-Betrieb

In einem Rechner ist ein CP installiert. Am Bus sind drei DP-Slavesmit den PROFIBUS-Adressen 3, 4 und 7 angeschlossen. DerDP-Slave Nr. 3 besitzt nur Eingabeports, der DP-Slave Nr. 4 besitztnur Ausgabeports und der DP-Slave Nr. 7 besitzt Eingabe- und Ausga-beports.

Der DP-Master soll nach dem Funktionsaufruf dpn_init() selbsttätig indie Betriebsart OPERATE wechseln. Aus diesem Grund wird imStrukturelement reference.access die Kennung(DPN_SYS_NOT_CENTRAL | DPN_ROLE_NOT_CENTRAL) einge-tragen.

Der Zeiger dpn_ptr zeigt im Beispiel auf die Struktur dpn_interface.

Der Initialisierungsaufruf könnte wie folgt aussehen:

dpn_ptr -> reference.board_select = 1;dpn_ptr -> reference.access = (DPN_SYS_NOT_CENTRAL) |

(DPN_ROLE_NOT_CENTRAL);dpn_ptr -> length = 8; // Index 0 bis 7dpn_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[3] = DPN_SLV_READ;dpn_ptr -> user_data[4] = DPN_SLV_WRITE_READ;dpn_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[7] = DPN_SLV_WRITE_READ;error = dpn_init (dpn_ptr);

Page 193: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von DOS-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 193

Beispiel:Multi-Board-Betrieb

In einem Rechner sind zwei CP installiert. Jeder CP ist an einem eige-nen Bussegment angeschlossen.

Die Anordnung der Slaves am Bus Nr. 1 entspricht dem obigen Bei-spiel Single-Board-Betrieb. Der DP-Master für den Bus 1 soll nachdem Funktionsaufruf dpn_init() selbsttätig in die Betriebsart OPERATEwechseln.

Am Bus Nr. 2 ist ein DP-Slave mit der PROFIBUS-Adresse 3 ange-schlossen. Der DP-Slave besitzt nur Ausgabeports. Im Gegensatz zumBus Nr. 1 soll hier die DP-Applikation die Betriebsart OPERATE ein-stellen. Aus diesem Grund wird im Strukturelement reference.accessdie Kennung (DPN_SYS_CENTRAL | DPN_ROLE_NOT_CENTRAL)eingetragen.

Der Zeiger dpn1_ptr zeigt auf die Struktur dpn_interface des BussesNr. 1. Der Zeiger dpn2_ptr zeigt auf die Struktur dpn_interface desBusses Nr. 2.

Die Initialisierungsaufrufe der DP-Applikation könnten wie folgt ausse-hen:

dpn1_ptr -> reference.board_select = 1;dpn1_ptr -> reference.access = (DPN_SYS_NOT_CENTRAL)|

(DPN_ROLE_NOT_CENTRAL);dpn1_ptr -> length = 8; // Index 0 bis 7dpn1_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[3] = DPN_SLV_READ;dpn1_ptr -> user_data[4] = DPN_SLV_WRITE_READ;dpn1_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[7] = DPN_SLV_WRITE_READ;error = dpn_init (dpn1_ptr);

dpn2_ptr -> reference.board_select = 2;dpn2_ptr -> reference.access = (DPN_SYS_CENTRAL) |

(DPN_ROLE_CENTRAL);dpn2_ptr -> length = 4; // Index 0 bis 3dpn2_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn2_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn2_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn2_ptr -> user_data[3] = DPN_SLV_WRITE_READ;error = dpn_init (dpn2_ptr);// Hier Einstellen der Betriebsart des Bus Nr. 2 über die// Funktionsaufrufe dpn_set_mode()// und dpn_get_mode(). Siehe Kapitel 5 der DP-Beschreibung

Page 194: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)194 C79000-B8900-C071-07

8 Erstellen von Windows-Applikationen

Inhalt Kapitel 8

8.1 Überblick ......................................................................................................195

8.2 Einsatzumgebung unter Windows.................................................................196

8.3 Anmelden einer DP-Windows-Applikation.....................................................2008.3.1 Beispiele für die Anmeldung unter Windows.................................................202

Page 195: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 195

8.1 Überblick

UnterstützteWindows-Versionen

Es werden die Microsoft Betriebssysteme Windows 3.x im erweitertenModus für 386, Windows 95 und Windows NT unterstützt. Im folgen-den gilt der Sammelbegriff Windows für alle Versionen des Betriebs-systems.

ErforderlicheLibraries undInclude-Files

Die DP-Library wird unter Windows als DLL (Dynamic Link Library) zurVerfügung gestellt.

Das DP-Include-File stellt der DP-Applikation die erforderlichen Dekla-rationen und Konstanten zur Verfügung.

Windows 3.x Für die Erstellung von DP-Applikationen unter Windows 3.x benötigenSie folgende Dateien.

InstallierteDateien

Dateiname erstellt mit Bedeutung

DP-Library LWDPNBC.DLL

BC++ 4.0 DP-Funktionen in einer DLL

DP-Import-Library LWDPNBC.LIB BC++ 4.0 DP-Funktionsprototypen

DP-Include-File DPN_USER.H DP-spezifische Deklarationenund Konstanten

Windows 95 undWindows NT

Für die Erstellung von DP-Applikationen unter Windows 95 und Win-dows NT benötigen Sie folgende Dateien.

InstallierteDateien

Dateiname erstellt mit Bedeutung

DP-Library DPLIB.DLL siehe Produktinformation DP-Funktionen in einer DLL

DP-Import-Library DPLIB.LIB siehe Produktinformation DP-Funktionsprototypen

DP-Include-File DPN_USER.H DP-spezifische Deklarationenund Konstanten

Konstanten Beim Kompilieren der DP-Applikation muß die Define-AnweisungDPN_WIN aktiviert werden (z. B. über Compiler-Schalter). Diese Defi-ne-Anweisung wird vom Include-File dpn_user.h benötigt und mußvom Anwender zur Verfügung gestellt werden.

Page 196: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)196 C79000-B8900-C071-07

8.2 Einsatzumgebung unter Windows

Übersicht In diesem Kapitel finden Sie Informationen, wie eine DP-Applikationunter Windows eingesetzt werden kann.

Grundsätzlich werden folgende Betriebsarten unterschieden:

• Single-Board-/Multi-Board-Betrieb

• Single-User-/Multi-User-Betrieb

In jeder Betriebsart sind Varianten möglich.

Single-Board-Betrieb/Single-User-Betrieb

Bild 8.1 zeigt den Fall eines Single-Board- und Single-User-Betriebs.Hierbei greift eine DP-Windows-Applikation auf einen PROFIBUS-CPzu.

Windows-Applikation

PROFIBUS CP

PROFIBUS

PG/PC

DP-Dynamic Link Library (DLL)

Bild 8.1: Single-Board-/Single-User-Betrieb

Page 197: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 197

Single-Board-/Multi-User-Betrieb

In diesem Fall greifen mehrere DP-Windows-Applikationen auf einengemeinsamen PROFIBUS-CP zu.

PROFIBUS CP

PROFIBUS

PG/PC

DP-Dynamic Link Library (DLL)

Windows-Applikation

Windows-Applikation

Bild 8.2: Single-Board-/Multi-User-Betrieb

Multi-Board-/Single-User-Betrieb

In einem Rechner können mehrere PROFIBUS-CP installiert sein.Beim Multi-Board-/Single User-Betrieb greift eine DP-Windows-Applikation auf mehrere PROFIBUS-CP zu, wie im folgenden Bild 8.3gezeigt wird.

Windows-Applikation

PROFIBUS CP

PROFIBUS

PG/PC

DP-Dynamic Link Library (DLL)

PROFIBUS CP

Bild 8.3: Multi-Board-/Single-User-Betrieb

Page 198: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)198 C79000-B8900-C071-07

Multi-Board-/Multi-User-Betrieb

In einem Rechner können mehrere PROFIBUS-CP installiert sein.Beim Multi-Board-/Multi-User-Betrieb greifen mehrere DP-Windows-Applikationen auf mehrere PROFIBUS-CP zu, wie im folgenden Bild8.4 gezeigt wird.

PROFIBUS CP

PROFIBUS

PG/PC

DP-Dynamic Link Library (DLL)

PROFIBUS CP

Windows-Applikation

Windows-Applikation

Bild 8.4: Multi-Board-/Multi-User-Betrieb

Voraussetzungenfür Multi-Board-Betrieb

Beim Multi-Board-Betrieb müssen die CP an verschiedenen Bussenangeschlossen sein. Jeder dieser CP steuert als DP-Master dieDP-Slaves des entsprechenden Busses.

Ein gemeinsamer Betrieb mehrerer DP-Master im gleichen PC/PGam gleichen Bus führt zu Konfliktsituationen und ist daher nichtzulässig.

Anzahl derCP beim Multi-Board-Betrieb

Die DP-DLL unterstützt maximal zwei CP.

Page 199: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 199

Anzahl derDP-Windows-Applikationen

Die DP-DLL unterstützt maximal vier DP-Windows-Applikationen.

Es werden maximal zwei CP und maximal vier Applikationen gleich-zeitig unterstützt. Dabei ist zu beachten, daß die Anmeldung einerDP-Applikation bei zwei CP (hierzu sind zwei Anmeldungsaufrufeerforderlich) wie die Anmeldung zweier Applikationen behandelt wird,d. h. nach dieser Anmeldung können sich noch zwei weitere Applika-tionen anmelden.

Beispiel 1Die DP-Applikationen 1, 2 und 3 melden sich für einen Zugriff auf denCP 1 an. DP-Applikation 4 meldet sich für den CP 2 an. Alle Anmel-dungen werden (sofern sie nicht widersprüchlich sind) positiv quittiert.

Eine weitere DP-Applikation 5 möchte sich für Baugruppe 2 anmelden.Diese Anmeldung wird negativ quittiert, da bereits vier Applikationenangemeldet sind.

Beispiel 2Die DP-Applikation 1 meldet sich für die CPs 1 und 2 an. DieDP-Applikation 2 meldet sich ebenfalls für die CPs 1 und 2 an. Unterder Annahme, daß alle vier Anmeldungen positiv quittiert wurden,versucht die DP-Applikation 3 eine Anmeldung bei dem CP 1.

Diese Anmeldung wird negativ quittiert, da die Anmeldung derDP-Applikation 1 (2) bei den CPs 1 und 2 wie die Anmeldung 2erDP-Applikationen behandelt wird. Dadurch sind zum Zeitpunkt derAnmeldung von DP-Applikation 3 insgesamt bereits vierDP-Applikationen gemeldet.

Page 200: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)200 C79000-B8900-C071-07

8.3 Anmelden einer DP-Windows-Applikation

Allgemein Eine Windows-Applikation muß sich für jeden PROFIBUS-CP, mitdem sie kommunzieren will, mit der Funktion dpn_init() anmelden.Diese Funktion muß vor allen anderen DP-Funktionen aufgerufenwerden.

Mit dem Funktionsaufruf werden nachfolgende Eigenschaften derDP-Applikation festgelegt und dem CP bekanntgemacht (detaillierteBeschreibung siehe Kapitel 5):

• Die Nummer des CP.

• Art und Umfeld der DP-Applikation.

• Die Zugriffsrechte auf die DP-Slaves.

Im Erfolgsfall liefert die Funktion dpn_init() eine Referenz (Handle) aufden CP zurück. Diese Referenz muß bei allen weiteren Funktionsauf-rufen an diesen CP im Element reference der Struktur dpn_interfaceeingetragen werden.

Vorgabeparameter

Parameter Wertebereich Anmerkung

reference.board_select 1 - 2 Nummer des CP

reference.access • (DPN_SYS_CENTRAL) |(DPN_ROLE_CENTRAL)

• (DPN_SYS_CENTRAL) |(DPN_ROLE_NOT_CENTRAL)

• (DPN_SYS_NOT_CENTRAL) |(DPN_ROLE_NOT_CENTRAL)

Art und Umfeld derDP-Applikation

user_data[n]mit n=0 bis 125

• DPN_SLV_WRITE_READ

• DPN_SLV_READ

• DPN_SLV_NO_ACCESS

Zugriffsrechte auf DP-Slaves

reference.accessbei dpn_init()unter Windows

Über dieses Strukturelement muß sich eine DP-Applikation beim Auf-ruf von dpn_init() bei der DP-Programmierschnittstelle identifizieren.Nach obiger Tabelle sind unter Windows folgende Einträge zulässig:

• (DPN_SYS_CENTRAL) | (DPN_ROLE_CENTRAL)

• (DPN_SYS_NOT_CENTRAL) | (DPN_ROLE_NOT_CENTRAL)

• (DPN_SYS_CENTRAL) | (DPN_ROLE_NOT_CENTRAL)

Page 201: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 201

Verhalten derDP-DLL

Die nachfolgende Tabelle zeigt das unterschiedliche Verhalten derDP-DLL bei den möglichen Einträgen.

Einstellen derApplikationsart

Bedeutung Verfügbare DP-Funktionen

(DPN_SYS_CENTRAL) |(DPN_ROLE_CENTRAL)

Die DP-Applikation ist eine überge-ordnete Applikation. Die Betriebsartdes DP-Masters muß von derDP-Applikation über den Funk-tionsaufruf dpn_set_mode() einge-stellt werden. Eine Änderung derBetriebsart ist jederzeit möglich.

Es können alle DP- Funktionender DP-DLL genutzt werden.

(DPN_SYS_CENTRAL) |(DPN_ROLE_NOT_CENTRAL)

Die DP-Applikation ist keine über-geordnete Applikation. Es ist nocheine andere DP-Applikation vorhan-den. Diese andere DP-Applikationist eine übergeordnete Applikation.Sie muß die Betriebsart desDP-Masters einstellen.

Folgende DP-Funktionsaufrufesind nicht zulässig:

• dpn_load_bus_par()

• dpn_set_mode()

• dpn_ global_ctrl().

(DPN_SYS_NOT_CENTRAL) |(DPN_ROLE_NOT_CENTRAL)

Die DP-Applikation ist keine über-geordnete Applikation. DerDP-Master wechselt nach dem Auf-ruf dpn_init() selbsttätig in Betriebs-art OPERATE, da es im Systemkeine übergeordnete Applikationgibt.

Folgende DP-Funktionsaufrufesind nicht zulässig:

• dpn_load_bus_par()

• dpn_set_mode()

• dpn_global_ctrl()

AUTOCLEARDie Funktionalität AUTOC-LEAR (siehe Kapitel 3.7.6) istbei der EinstellungDPN_SYS_NOT_CENTRALnicht wirksam.

Sonderfall:Multi-User-/Single-Board-Betrieb

Melden sich mehrere DP-Windows-Applikationen bei dem gleichenCP an, sind folgende Regeln zu beachten:

Regel 1Nur eine der DP-Applikationen darf sich als übergeordneteDP-Applikation (DPN_ROLE_CENTRAL) anmelden.

Regel 2Alle DP-Applikationen müssen als DP-Applikationsumgebung den glei-chen Wert eintragen (entweder DPN_SYS_CENTRAL oderDPN_SYS_NOT_CENTRAL).

Regel 3Es ist nicht zulässig, daß mehrere DP-Applikationen Ausgabedaten anden gleichen DP-Slave senden. Aus diesem Grund darf bei der Ver-gabe des Zugriffsrechts für einen bestimmten Slave x die KennungDPN_SLV_ WRITE_READ (Ausgabedaten schreiben/Eingabedatenlesen) nur von einer DP-Windows-Applikation vergeben werden.

Page 202: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)202 C79000-B8900-C071-07

8.3.1 Beispiele für die Anmeldung unter Windows

Beschreibung Die folgenden Beispiele zeigen das prinzipielle Anmeldungsverfahrenvon DP-Applikationen für den Single-Board- und Multi-Board-Betrieb.Aus Gründen der Übersichtlichkeit sind die Beispiele vereinfacht. Soerfolgt z. B. keine Überprüfung des Rückgabewertes, was in einer rea-len Applikation auf jeden Fall geschehen sollte.

Beispiel 1:Single-Board-/Single User-Betrieb

In einem Rechner ist ein CP installiert. Am Bus sind drei DP-Slavesmit den PROFIBUS-Adressen 3, 4 und 7 angeschlossen. DerDP-Slave Nr. 3 besitzt nur Eingabeports, der DP-Slave Nr. 4 besitztnur Ausgabeports und der DP-Slave Nr. 7 besitzt Eingabe- und Ausga-beports.

Der DP-Master soll nach dem Funktionsaufruf dpn_init() selbsttätig indie Betriebsart OPERATE wechseln. Aus diesem Grund wird imStrukturelement reference.access die Kennung (DPN_SYS_NOT_CENTRAL | DPN_ROLE_NOT_CENTRAL) eingetragen.

Der Zeiger dpn_ptr zeigt auf die Struktur dpn_interface.

Der Initialisierungsaufruf könnte wie folgt aussehen:

dpn_ptr -> reference.board_select = 1;dpn_ptr -> reference.access = (DPN_SYS_NOT_CENTRAL) |

(DPN_ROLE_NOT_CENTRAL);dpn_ptr -> length = 8; // Index 0 bis 7dpn_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[3] = DPN_SLV_READ;dpn_ptr -> user_data[4] = DPN_SLV_WRITE_READ;dpn_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[7] = DPN_SLV_WRITE_READ;error = dpn_init (dpn_ptr);

Page 203: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 203

Beispiel 2:Multi-Board-/Multi-User-Betrieb

In einem Rechner sind zwei CP installiert. Jeder CP ist an einem eige-nen Bus angeschlossen.

Die Anordnung der Slaves am Bus 1 entspricht dem obigen Beispiel 1.Der DP-Master für den Bus 1 soll nach dem Funktionsaufruf dpn_init()selbsttätig in die Betriebsart OPERATE wechseln.

Am Bus Nr. 2 ist ein DP-Slave mit der PROFIBUS-Adresse 3 ange-schlossen. Der DP-Slave besitzt nur Ausgabeports. Im Gegensatz zumBus 1 soll hier der DP-Master selbst die Betriebsart OPERATE ein-stellen. Aus diesem Grund wird im Strukturelement reference.accessdie Kennung DPN_SYS_CENTRAL eingetragen.

Der Zeiger dpn1_ptr zeigt auf die Struktur dpn_interface des Bus 1.Der Zeiger dpn2_ptr zeigt auf die Struktur dpn_interface des Bus 2.

Die Initialisierungsaufrufe der DP-Applikation könnten wie folgt ausse-hen:

dpn1_ptr -> reference.board_select = 1;dpn1_ptr -> reference.access = (DPN_SYS_NOT_CENTRAL) |

(DPN_ROLE_NOT_CENTRAL);dpn1_ptr -> length = 8; // Index 0 bis 7dpn1_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[3] = DPN_SLV_READ;dpn1_ptr -> user_data[4] = DPN_SLV_WRITE_READ;dpn1_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn1_ptr -> user_data[7] = DPN_SLV_WRITE_READ;error = dpn_init (dpn1_ptr);

dpn2_ptr -> reference.board_select = 2;dpn2_ptr -> reference.access = (DPN_SYS_CENTRAL) |

(DPN_ROLE_CENTRAL);dpn2_ptr -> length = 4; // Index 0 bis 3dpn2_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn2_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn2_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn2_ptr -> user_data[3] = DPN_SLV_WRITE_READ;error = dpn_init (dpn2_ptr);// Hier Einstellen der Betriebsart des Bus Nr. 2 über die// Funktionsaufrufe dpn_set_mode()// und dpn_get_mode(). Siehe Kapitel 5 der DP-Beschreibung

Page 204: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)204 C79000-B8900-C071-07

Beispiel 3:Single-Board-/Multi-User-Betrieb

In einem Rechner ist ein CP installiert. Am Bus sind drei DP-Slavesmit den PROFIBUS-Adressen 3, 4 und 7 angeschlossen. DerDP-Slave Nr. 3 besitzt nur Eingabeports, der DP-Slave Nr. 4 besitztnur Ausgabeports und der DP-Slave Nr. 7 besitzt Eingabe- und Ausga-beports.

Auf den CP greifen zwei DP-Windows-Applikationen zu.

Der DP-Master soll nach dem erstmaligen Aufruf der Funktiondpn_init() selbsttätig in die Betriebsart OPERATE wechseln.

Der Zeiger dpn_ptr zeigt auf die Struktur dpn_interface.

Die Initialisierungsaufrufe der DP-Applikationen können wie folgt aus-sehen:

Applikation 1:dpn_ptr -> reference.board_select = 1;

dpn_ptr -> reference.access = (DPN_SYS_NOT_CENTRAL) |(DPN_ROLE_NOT_CENTRAL);

dpn_ptr -> length = 8; // Index 0 bis 7dpn_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[3] = DPN_SLV_READ;dpn_ptr -> user_data[4] = DPN_SLV_WRITE_READ;dpn_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[7] = DPN_SLV_READ;error = dpn_init (dpn_ptr);

Applikation 2:dpn_ptr -> reference.board_select = 1;

dpn_ptr -> reference.access = (DPN_SYS_NOT_CENTRAL) | (DPN_ROLE_NOT_CENTRAL);

dpn_ptr -> length = 8; // Index 0 bis 7dpn_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[3] = DPN_SLV_READ;dpn_ptr -> user_data[4] = DPN_SLV_READ;dpn_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[7] = DPN_SLV_WRITE_READ;error = dpn_init (dpn_ptr);

Es ist zu beachten, daß das Zugriffsrecht DPN_SLV_WRITE_READauf einen DP-Slave nur an eine der beiden DP-Applikationen gefordertwerden kann.

Page 205: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Windows-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 205

Beispiel 4:Single-Board-/Multi-User-Betrieb

In einem Rechner ist ein CP installiert. Am Bus sind drei DP-Slavesmit den PROFIBUS-Adressen 3, 4 und 7 angeschlossen. DerDP-Slave Nr. 3 besitzt nur Eingabeports, der DP-Slave Nr. 4 besitztnur Ausgabeports und der DP-Slave Nr. 7 besitzt Eingabe- und Ausga-beports.

Auf den CP greifen zwei DP-Applikationen zu.

Im Gegensatz zum Beispiel Nr. 3 soll eine der beiden DP-Windows-Applikationen selbst die Betriebsart OPERATE einstellen. Aus diesemGrund wird im Strukturelement reference.access die Kennung(DPN_SYS_CENTRAL | DPN_ROLE_NOT_CENTRAL) eingetragen.

Der Zeiger dpn_ptr zeigt auf die Struktur dpn_interface.

Die Initialisierungsaufrufe der DP-Windows-Applikationen könnten wiefolgt aussehen:

Applikation 1:dpn_ptr -> reference.board_select = 1;

dpn_ptr -> reference.access = (DPN_SYS_CENTRAL) |(DPN_ROLE_NOT_CENTRAL);

dpn_ptr -> length = 8; // Index 0 bis 7dpn_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[3] = DPN_SLV_READ;dpn_ptr -> user_data[4] = DPN_SLV_WRITE_READ;dpn_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[7] = DPN_SLV_READ;error = dpn_init (dpn_ptr);

Applikation 2:dpn_ptr -> reference.board_select = 1;

dpn_ptr -> reference.access = (DPN_SYS_CENTRAL) |(DPN_ROLE_CENTRAL);

dpn_ptr -> length = 8; // Index 0 bis 7dpn_ptr -> user_data[0] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[1] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[2] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[3] = DPN_SLV_READ;dpn_ptr -> user_data[4] = DPN_SLV_READ;dpn_ptr -> user_data[5] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[6] = DPN_SLV_NO_ACCESS;dpn_ptr -> user_data[7] = DPN_SLV_WRITE_READ;error = dpn_init (dpn_ptr);// Hier Einstellen der Betriebsart über die// Funktionsaufrufe dpn_set_mode()// und dpn_get_mode().

Page 206: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Unix-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)206 C79000-B8900-C071-07

9 Erstellen von Unix-Applikationen

Unterstützte Unix-Versionen

Folgende Unix-Plattformen werden von der DP-Library unterstützt:

• Interactive

• SCO

• Solaris

Auf spezifische Eigenheiten wird hingewiesen.

Compiler Die DP-Library wurde unter C++ generiert. Zur Erstellung von UNIX-Applikationen benötigen Sie daher entweder:

• einen C++-Compiler oder

• die Bibliothek libC.a des C++-Compilers und einen Standard-C-Compiler.

AnmerkungFür die Interactive-Plattform gibt es keinen offiziellen C++-Compiler.Zur Verfügung steht jedoch der frei zu beziehende GNU-Compiler.

ErforderlicheLibraries undInclude-Files

Für die Erstellung von DP-Applikationen unter Unix benötigen Sie fol-gende Files der Installationsdiskette:

Files der Installati-onsdiskette

File-Name Bedeutung

FDL-Library libfdl.al FDL-Funktionsprototypen

DP-Library libdp.a DP-Funktionsprototypen

DP-Include-File dpn_user.h DP-spezifische Deklarationen und Kon-stanten

Konstanten Beim Kompilieren der DP-Applikation muß die Define-AnweisungDPN_UNIX aktiviert werden (z. B. über Compiler-Schalter).

Diese Define-Anweisung wird vom Include-File dpn_user.h benötigtund muß vom Anwender zur Verfügung gestellt werden.

Linker Beim Linken der DP-Applikation ist darauf zu achten, daß die Biblio-theken in der Reihenfolge libdp.a - libfdl.a angegeben werden.

Page 207: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Erstellen von Unix-Applikationen

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 207

Beispiel: makefile Das folgende Beispiel zeigt ein Makefile für das Programm DP_Demo.Es besteht aus einem Source-File demo.C und den benötigten Biblio-theken.

#------------------------------------------------------# makefile : DP_Demo#------------------------------------------------------

#------------------------------------------------------# Directives & Variables#------------------------------------------------------

.SILENT:

.SUFFIXES: .C .o

CC = CCLINKER = CC

CFLAGS = -DDPN_UNIX

OBJECTS = demo.oLIBS = libdp.a libfdl.aDEMO = DP_Demo

#------------------------------------------------------# Source Instructions#------------------------------------------------------

all: $(DEMO)

$(DEMO): makefile $(OBJECTS) $(LIBS)echo "erstelle $@ ..."$(CC) $(OBJECTS) $(LIBS) -o

$(DEMO)echo "erfolgreich generiert"

.C.o:echo "compiliere $< ..."$(CC) $(CFLAGS) -c $<

#------------------------------------------------------# End#------------------------------------------------------

Page 208: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Index

DP-Programmierschnittstelle (zyklische Kommunikation)208 C79000-B8900-C071-07

10 Index

Ansprechüberwachung 33Aufbau der Diagnosedaten 153Aufbau der Eingabe- und Ausgabedaten

153Aufbau der Konfigurationsdaten 153Aufbau des Busparametersatzes 153Aufbau eines Slave-Parametersatzes 153Ausgabe-Daten 20AUTOCLEAR 78AUTOCLEAR 24CLEAR 23Close-Funktionen 42COM PROFIBUS 19Data Control Time 34Datenbasis 32Datenbasis-Funktionen 42Datentransfer-Funktionen 42Dezentrale Peripherie 3, 7Diagnose-Daten 20Diagnose-Meldungen 18DIN 19245 Siehe EN 50 170 Vol. 2DP 3DP-Applikation 65, 69DP-Applikationen unter Windows 195DP-Applikationsart 77DP-Applikationsumgebung 77DP-Funktion 69DP-Import-Library 195, 206DP-Include-File 187, 195, 206DP-Library 12, 187, 195, 206DP-Master 9DP-Master der Klasse 1 10DP-Master der Klasse 2 25dpn_get_mode() 69, 142dpn_global_crtl() 69dpn_global_ctrl() 145dpn_in_slv() 69, 125dpn_in_slv_ext() 69dpn_in_slv_m() 69, 129, 134dpn_init() 69, 72dpn_interface 44, 52dpn_interface_m 44, 52dpn_interface_s 52dpn_load_bus_par() 69, 87dpn_out_slv() 69, 107dpn_out_slv_ext() 69

dpn_out_slv_m() 69, 111, 116dpn_read_bus_par() 69, 84dpn_read_cfg() 69, 96dpn_read_slv() 69, 121dpn_read_slv_par() 69, 90dpn_read_sys_info() 69, 103dpn_reset() 69, 149dpn_set_mode() 69, 139dpn_set_slv_state() 69, 93dpn_slv_diag() 69, 100DPN_USER.H 187, 195, 206dpn_wd() 69, 81DP-Slaves 9Eingabe-Daten 20EN 50 170 Vol. 2 3ET 200B 8ET 200C 8ET 200U 8FREEZE-Mode 28Global Control 27Gruppenidentifikation 27Initialisierungs-Funktionen 42Konfiguration 19Konsistenz 20LDDPNBC.LIB 187LDDPNMSC.LIB 187LDSCIMSC.LIB 187LDSCITC.LIB 187LWDPNBC.DLL 195, 206LWDPNBC.LIB 195, 206Multiboard-Betrieb 13OFFLINE 23OPERATE 23Parameter-Matrix 55Parametrierung 19Poll Timeout 35PROFIBUS DP 3SCI-Library 187Single-Board-Betrieb 13Single-User-Betrieb 13Steuer-Funktionen 42Steuerkommando 27STOP 23Strukturelement error_code 47SYNC-Mode 28

Page 209: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Glossar

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 209

Page 210: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Glossar

DP-Programmierschnittstelle (zyklische Kommunikation)210 C79000-B8900-C071-07

11 Glossar

Anlage Gesamtheit aller elektrischen Betriebsmittel. Zu einer Anlage gehörenu. a..: Speicherprogrammierbare Steuerung, Geräte für Bedienen undBeobachten, Bussysteme, Feldgeräte, Antriebe, Versorgungsleitungen.

Ansprech-überwachungszeit

Eine im ➜ DP-Slave einstellbare Überwachungszeit zur Ausfallerken-nung des zugeordneten ➜ DP-Masters.

Basisadresse Logische Adresse einer Baugruppe in S7-Systemen.

Baudrate Übertragungsrate am Bus (Einheit: Bit/sec). Ein ➜ Busparameter für ➜PROFIBUS. Die Angabe bzw. Wahl der Baudrate hängt von verschie-denen Randbedingungen ab, wie beispielsweise Entfernung.

Busparameter Busparameter steuern das Übertragungsverhalten am Bus. Jeder ➜

Teilnehmer an ➜ PROFIBUS muß mit den Busparametern andererTeilnehmer übereinstimmende Busparameter verwenden.

Bussegment Teil eines ➜ Subnetzes. Subnetze können aus Bussegmenten mittelsSegmentübergängen wie Repeater und Bridges gebildet sein. Seg-mente sind für die Adressierung transparent.

CFB Communication Function Block - Kommunikationsverfahren zumprogrammgesteuerten Übertragen von Daten von oder zu einer CPU inS7-300/400 durch Verwendung von speziellen Funktionsbausteinen.Diese Funktionsbausteine wurden basierend auf dem Entwurf von IEC1131-5 definiert. Kommunikationspartner können andere kommunika-tionsfähige Baugruppen aus S7-300/400, BuB-Systeme, PC oder an-dere Steuerungen und Rechner sein.

COM PROFIBUS Projektierwerkzeug zur Projektierung von ➜ DP-Mastern an ➜ PRO-FIBUS.

CP Ein- und Ausgabebaugruppen, die dezentral von der CPU (Zentralein-heit der Steuerung) eingesetzt werden. Die Verbindung zwischen demAutomatisierungsgerät und der Dezentralen Peripherie erfolgt über dasBussystem ➜ PROFIBUS. Automatisierungsgeräten wird der Unter-schied zu lokalen Prozeßein- oder Prozeßausgaben verdeckt.

DezentralePeripherie

Ein- und Ausgabebaugruppen, die dezentral von der CPU (Zentralein-heit der Steuerung) eingesetzt werden. Die Verbindung zwischen demAutomatisierungsgerät und der Dezentralen Peripherie erfolgt über dasBussystem ➜ PROFIBUS. Automatisierungsgeräten wird der Unter-schied zu lokalen Prozeßein- oder Prozeßausgaben verdeckt.

Dienste Angebotene Leistungen eines Kommunikationsprotokolls.

DP-E/A-Modul DP-Slaves sind modular aufgebaut. Ein ➜ DP-Slave besitzt mindes-tens ein DP-E/A-Modul.

Page 211: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Glossar

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 211

DP-E/A-Typ DP-E/A-Typ bezeichnet ein ➜ DP-E/A-Modul. Zu unterscheiden sind:

• Eingabemodul

• Ausgabemodul

• Ein-/Ausgabemodul

DP-Master Ein ➜ Teilnehmer mit Master-Funktion bei ➜ PROFIBUS DP. DerDP-Master wickelt den Nutzdatenverkehr mit den ihm zugeordneten ➜DP-Slaves ab.

DP-Modulliste In der DP-Modulliste werden die zu einem ⇐ DP-Slave gehörendenModule verwaltet. Einträge in die DP-Modulliste werden bei der Pro-jektierung eines ➜ DP-Masters mit dem ➜ COM PROFIBUS vorge-nommen.

DP-Modulname Bezeichnung eines in der ➜ DP-Modulliste eingetragenen ➜ DP-E/A-Moduls.

DP-Modultyp Bezeichnung für die Identifikation eines ➜ DP-E/A-Moduls in den ➜

Gerätestammdaten eines ➜ DP-Slaves nach EN 50 170 Vol. 2 (DIN E19245 Teil 3).

DP-Slave Ein ➜ Teilnehmer mit Slave-Funktion bei ➜ PROFIBUS DP.

DP-Slave-Katalog Im DP-Slave-Katalog werden für die Projektierung von ➜ DP-MasternGerätebeschreibungen für ➜ DP-Slaves nach ➜ DP-Norm hinterlegt.Der DP-Slavekatalog steht bei der Projektierung mit dem ➜ COMPROFIBUS zur Verfügung.

DP-Slave-Name Zur Identifikation eines ➜ DP-Slaves in der projektiertenDP-Konfiguration wird ein DP-Slave-Name in der DP-Slave-Liste ein-getragen.

DP-Subnetz PROFIBUS(Sub)netz, an dem nur ➜ Dezentrale Peripherie betriebenwird.

DP-Subsystem Ein ➜ DP-Master und alle ➜ DP-Slaves, mit denen dieser DP-MasterDaten austauscht.

Enhanced Mode Erweiterte Betriebsart unter Windows 3.x für Personal Computer miteinem Intel 386 oder einem kompatiblen Prozessor.

FDL Fieldbus Data Link. Schicht 2 bei ➜ PROFIBUS

FREEZE-Modus Der FREEZE-Modus ist eine DP-Betriebsart, bei der von allen (odervon einer Gruppe von) DP-Slaves zeitgleich Prozeßdaten erfaßt wer-den. Der Erfassungszeitpunkt wird durch das FREEZE-Kommando(das ist ein Steuertelegramm zur Synchronisation) signalisiert.

Page 212: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Glossar

DP-Programmierschnittstelle (zyklische Kommunikation)212 C79000-B8900-C071-07

Gap-Aktualisierungs-faktor

Ein freier Adreßbereich zwischen zwei aktiven ➜ Teilnehmern wirdzyklisch von dem Teilnehmer mit der kleineren ➜ PROFIBUS-Adressedurchsucht um festzustellen, ob ein weiterer Teilnehmer in den logi-schen Ring aufgenommen werden möchte. Die Zykluszeit für dieseÜberprüfung wird bestimmt durch:

Gap-Aktualisierungsfaktor x Target rotation time

Gateway Intelligentes Schnittstellengerät, das auf ISO-Schicht 7 verschiedenar-tige lokale ➜ Netze miteinander verbindet.

GD-Kreis GD-Kreis bezeichnet eine Zusammenfassung von ➜ Teilnehmern, diemiteinander GD-Daten austauschen. Ein ➜ GD-Paket wird somit andie zum GD-Kreis gehörenden Teilnehmer gesendet.

GD-Paket Zusammenfassung von ggf. im Automatisierungssystem verteilt abge-legten Daten (z. B. Merker, Datenbaustein), die mit dem Verfahren ➜Globale Daten übertragen werden sollen.

Gerätestammdaten Gerätestammdaten (GSD) enthalten DP-Slave-Beschreibungen nachEN 50 170 Vol. 2 (DIN E 19245 Teil 3). Die Nutzung von GSD er-leichtert die Projektierung des ➜ DP-Masters sowie der ➜ DP-Slaves.

Globale Daten Globale Daten (GD) bezeichnet ein Kommunikationsverfahren zumzyklischen Austausch von begrenzten Datenmengen aus STEP 7-Datenbereichen zwischen CPUs der S7-300/400. Gesendete Datenkönnen gleichzeitig von mehreren CPUs empfangen werden.

Gruppen-identifikation

DP-Slaves können über eine Gruppenidentifikation einer oder mehre-ren Gruppen zugewiesen werden. Die ➜ DP-Slaves können dann überdie Gruppenidentifikation bei der Übertragung von Steuertelegrammengezielt angesprochen werden.

HöchstePROFIBUS-Adresse

Ein ➜ Busparameter für ➜ PROFIBUS. Gibt die höchste ➜ PROFI-BUS-Adresse eines aktiven ➜ Teilnehmers an PROFIBUS an. Fürpassive Teilnehmer sind PROFIBUS-Adressen größer als HSA zuläs-sig (Wertebereich: HSA 1..126).

Knotentabelle Die Knotentabelle gilt für alle ➜ Netze innerhalb einer ➜ Anlage. JederEintrag in der Knotentabelle beschreibt die Schnittstelle eines Automa-tisierungssystems (oder einer beliebigen anderen Station) zu einem ➜Subnetz. Die Einträge in der Knotentabelle werden vom System be-nutzt, um Verbindungen zwischen Stationen zu finden und aufzubau-en.

LSB Least Significant Bit - niederwertigstes Bit.

Master Aktiver Teilnehmer an ➜ PROFIBUS, der unaufgefordert ➜ Tele-gramme senden kann, wenn er im Besitz des Token ist.

Page 213: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Glossar

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 213

MaximumStation Delay

Ein ➜ Busparameter für ➜ PROFIBUS. Die Maximum Station Delay(max. TSDR) gibt die größte, bei einem der ➜ Teilnehmer im ➜ Sub-netz benötigte Zeitspanne an, die zwischen dem Empfang des letztenBits eines unquittierten ➜ Telegramms bis zum Senden des ersten Bitsdes nächsten Telegramms vergehen muß. Ein Sender darf nach demSenden eines unquittierten Telegrammes erst nach Ablauf der Zeit-spanne max. TSDR ein weiteres Telegramm senden.

MinimumStation Delay

Ein ➜ Busparameter für ➜ PROFIBUS. Die Minimum Station Delay(min. TSDR) gibt die Zeitspanne an, die der Empfänger eines ➜ Tele-gramms bis zum Senden der Quittung oder bis zum Senden einesweiteren Telegrammes mindestens warten muß. Die min. TSDR richtetsich nach der größten, bei einem Teilnehmer im Subsystem benötigtenZeitspanne zur Entgegennahme einer Quittung nach dem Senden desTelegrammes.

MSB Most Significant Bit - höchstwertigstes Bit.

Netz Ein Netz besteht aus einem oder mehreren verknüpften ➜ Subnetzenmit einer beliebigen Zahl von ➜ Teilnehmern. Es können mehrereNetze nebeneinander bestehen. Für jedes Subnetz gibt es eine ge-meinsame ➜ Knotentabelle.

Offset Bei der FDL-Programmierschnittstelle Länge des reservierten Bereichsam Beginn eines Datenpuffers.

PROFIBUS Ein Feldbus für den Industrieeinsatz nach EN 50 170 Vol. 2 (DIN19245).

PROFIBUS-Adresse

Die PROFIBUS-Adresse ist eine eindeutige Kennung eines an ➜

PROFIBUS (PROFIBUS) angeschlossenen ➜ Teilnehmers. Zur Ad-ressierung eines Teilnehmers wird die PROFIBUS-Adresse im ➜ Te-legramm übertragen.

PROFIBUS DP PROFIBUS Dezentrale Peripherie - Übertragungsdienste nach PRO-FIBUS EN 50 170 Vol. 2 (DIN E 19245 Teil 3) bei ➜ PROFIBUS.PROFIBUS DP EN 50 170 Vol. 2 (DIN 19245 T1 + T3) ist eine Richtli-nie der PROFIBUS Nutzerorganisation (PNO) für den Datenaustauschmit dezentralen Peripheriegeräten.

PROFIBUS DPMaster

Ein ➜ Teilnehmer mit Master-Funktion bei ➜ PROFIBUS DP.

PROFIBUS PA PROFIBUS PA EN 50 170 Vol. 2 (DIN 19245 T4) ist eine Richtlinie derPROFIBUS Nutzerorganisation (PNO) für den Einsatz im eigensiche-ren Bereich.

Protokoll Verfahrensvorschrift für die Übermittlung in der Datenübertragung. Mitdieser Vorschrift werden sowohl die Formate der Nachrichten als auchder Datenfluß bei der Datenübertragung festgelegt.

Page 214: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Glossar

DP-Programmierschnittstelle (zyklische Kommunikation)214 C79000-B8900-C071-07

Prozeßabbild Das Prozeßabbild ist ein besonderer Speicherbereich im Automatisie-rungssystem. Am Anfang des zyklischen Programmes werden die Sig-nalzustände der Eingabebaugruppen zum Prozeßabbild der Eingängeübertragen. Am Ende des zyklischen Programmes wird das Prozeßab-bild der Ausgänge als Signalzustand zu den Ausgabebaugruppen ü-bertragen.

ReorganisationTokenring

Alle ➜ Master am ➜ PROFIBUS bilden einen logischen Tokenring.Innerhalb dieses Tokenrings wird die Sendeberechtigung (Token) vonStation zu Station weitergegeben. Wird nun die Übertragung des To-kens gestört oder wird ein Master vom Tokenring entfernt, so führt diesbei der Token-Weitergabe zu einem Fehler (Token wird von dieserStation nicht angenommen), was eine Ausgliederung dieser Stationaus dem Tokenring zur Folge hat. Die Anzahl der Ausgliederungenwerden im internen Token_error_counter gezählt. Erreicht dieser Zäh-ler einen oberen Grenzwert, dann wird der logische Tokenring neuaufgebaut (reorganisiert).

SCOPE PROFIBUS Diagnoseprodukt für ➜ PROFIBUS, mit dem der Telegrammverkehram ➜ Netz erfaßt und analysiert werden kann.

Segment Synonym für ➜ Bussegment

Setup Time Ein ➜ Busparameter für ➜ PROFIBUS. Die Setup Time gibt den Min-destzeitabstand zwischen dem Empfang einer Quittung bis zum Sen-den eines neuen Aufruftelegrammes durch den Sender an.

SIMATIC NET Siemens Network and Communication. Produktbezeichnung für ➜Netze und Netzkomponenten bei Siemens

Slot Time Ein Busparameter für ➜ PROFIBUS. Die Slot Time (TSL) ist die Ü-berwachungszeit eines Senders eines ➜ Telegramms auf die Quittungdes Empfängers.

Subnetz Ein Subnetz ist ein Teil eines ➜ Netzes, dessen ➜ Busparameter(z. B. -➜ PROFIBUS-Adressen) abgeglichen werden müssen. Es um-faßt die Buskomponenten und alle angeschlossenen Stationen. Sub-netze können beispielsweise mittels ➜ Gateways zu einem Netz ge-koppelt werden.

Eine ➜ Anlage besteht aus mehreren Subnetzen mit eindeutigen ➜

Subnetznummern. Ein Subnetz besteht aus mehreren ➜ Teilnehmernmit eindeutigen ➜ PROFIBUS-Adressen.

Subnetznummer Eine ➜ Anlage besteht aus mehreren ➜ Subnetzen mit eindeutigenSubnetznummern.

SYNC-Modus Der SYNC-Modus ist eine DP-Betriebsart, bei der mehrere oder alle ➜DP-Slaves zu einem bestimmten Zeitpunkt Daten an ihre Prozeßaus-gänge übergeben. Der Übergabezeitpunkt wird durch das SYNC-Kommando (das ist ein Steuertelegramm zur Synchronisation) signali-siert.

Page 215: SIMATIC NET - support.industry.siemens.com · Hinweis Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage

Glossar

DP-Programmierschnittstelle (zyklische Kommunikation)C79000-B8900-C071-07 215

Target rotationtime

Ein ➜ Busparameter für ➜ PROFIBUS. Der Token ist die Sendebe-rechtigung für einen ➜ Teilnehmer an PROFIBUS. Ein Teilnehmervergleicht eine von ihm gemessene Token-Umlaufzeit mit der Targetrotation time und steuert davon abhängig das Senden hoch- und nie-derpriorer Telegramme.

Teilnehmer Ein Teilnehmer wird durch eine ➜ PROFIBUS-Adresse an ➜ PROFI-BUS identifiziert.

Telegramm Nachricht eines PROFIBUS-Teilnehmers an einen anderen.

Telegramm-Header Ein Telegramm-Header besteht aus einer Kennung des ➜ Tele-gramms sowie der Quell- und Zielteilnehmeradresse.

Telegrammtrailer Der Telegrammtrailer besteht aus einer Prüfsumme und der Endeken-nung des ➜ Telegramms

Treiber Software, die dem Datenaustausch von Applikationen mit dem ➜ CPdient.

Watchdog Mechanismus zur Überwachung der Betriebsbereitschaft.