Inhaltszusammenfassung für Siemens SIMATIC NET CP 5613
Seite 1
SIMATIC NET Vorwort, Inhaltsverzeichnis Programmierschnittstelle Übersicht Erstellen einer DP-Anwendung DP-Base für CP 5613/CP 5614 Übersicht PROFIBUS DP Handbuch Übersicht DP-Base- Schnittstelle Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes FAQ (Frequently Asked Questions) Wo Sie Hilfe bekommen, Glossar, Index C79000-G8900-C139-04 Ausgabe 05/2000...
Seite 2
Warnung Das Gerät darf nur für die im Katalog und in der technischen Beschreibung vorgesehenen Einsatzfälle und nur in Verbindung mit von Siemens empfohlenen bzw. zugelassenen Fremdgeräten und -komponenten verwendet werden. Der einwandfreie und sichere Betrieb des Produktes setzt sachgemäßen Transport, sachgemäße Lage- rung, Aufstellung und Montage sowie sorgfältige Bedienung und Instandhaltung voraus.
Seite 3
Vorwort Zweck des Handbuch Dieses Handbuch unterstützt Sie bei der Erstellung von Anwenderprogrammen für die DP-Programmierschnittstelle des CP 5613/CP 5614. Wir setzen voraus, dass Sie mit der Erstellung von Anwenderprogrammen in der Programmiersprache „C“ unter Windows NT vertraut sind. Gültigkeitsbereich dieses Handbuchs Dieses Handbuch ist für folgende Software-Versionen gültig: •...
Seite 4
Vorwort Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Inhaltsverzeichnis Übersicht Erstellen einer DP-Anwendung ..............9 Übersicht PROFIBUS DP ....................13 Positionierung von PROFIBUS DP ..............14 Das Master-Slave-Konzept von PROFIBUS DP...........16 Zyklisches Pollen durch den DP-Master...............18 Prozessabbild des DP-Masters................19 Anlauf und Betriebsphase einer DP-Anlage ............21 Die Zustände des DP-Masters ................23 Entkopplung Slave-Daten und Anwenderprogramm ..........25 Sicherheitseigenschaften von DP ................27 Steuertelegramme an einen oder mehrere Slaves ..........28 2.10...
Seite 6
Inhaltsverzeichnis Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes....67 Liste der Funktionen CP 5613 und CP 5614 ............68 4.1.1 Übersichtstabellen zu den Funktionen ..............70 4.1.2 DP_start_cp ......................72 4.1.3 DP_reset_cp......................74 4.1.4 DP_open ......................75 4.1.5 DP_get_pointer ....................77 4.1.6 DP_release_pointer.....................80 4.1.7 DP_close......................81 4.1.8 DP_get_err_txt ....................83 4.1.9 DP_set_mode......................84...
Seite 7
Inhaltsverzeichnis 4.3.11 User-Watchdog im Dualport RAM lesen und triggern .........185 4.3.12 Hardware-Event-Erzeugung ein- und ausschalten..........187 4.3.13 Beim CP 5614 als DP-Slave Daten senden............190 4.3.14 Beim CP 5614 als DP-Slave Daten empfangen ..........191 4.3.15 Beim CP 5614 als DP-Slave Diagnosedaten senden..........192 Fehlerbehandlung....................193 4.4.1 Einträge in die Strukturelemente error_decode, error_code_1 und...
Seite 8
Inhaltsverzeichnis Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht Erstellen einer DP-Anwendung In diesem Kapitel empfehlen wir Ihnen ein schrittweises Vorgehen zum Erstellen eines DP-Anwenderprogramms auf Basis der DP-Programmierschnittstelle des CP 5613 und CP 5614, genannt „DP-Base“. Die Schritte beginnen mit dem Ver- mitteln der Grundlagen von PROFIBUS-DP und enden mit dem Testen Ihrer An- wendung.
Seite 10
Übersicht Erstellen einer DP-Anwendung Vorgehensweise So kommen Sie am einfachsten und schnellsten zum Ziel: Schritt Beschreibung Lernen Sie die Grundprinzipen von PROFIBUS DP kennen. Lesen Sie dazu das nachfolgende Kapitel 2 „Übersicht PROFIBUS DP“. Lernen Sie die wesentlichen Eigenschaften der DP-Base- Programmierschnittstelle des CP 5613 und CP 5614 kennen.
Seite 11
Übersicht Erstellen einer DP-Anwendung Fortsetzung der Tabelle von der letzten Seite Schritt Beschreibung Erstellen Sie nun Ihr eigenes DP-Anwenderprogramm. Dazu können Sie das „ExamComp“-Beispiel als Grundlage verwenden. Testen Sie Ihre Anwendung. Beachten Sie dazu bitte die Hilfestellun- gen und Tipps an der entsprechenden Stelle in der FAQ-Liste in Kapi- tel 5 sowie die in der Installationsanleitung beschriebenen Diagnose- möglichkeiten.
Seite 12
Übersicht Erstellen einer DP-Anwendung Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht PROFIBUS DP In diesem Kapitel lernen Sie die Grundprinzipien von PROFIBUS DP kennen. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
über 20 Ländern weltweit. Daraus resultierend sind heute für die PROFIBUS- Technik mehr als 1616 Produkte verfügbar. Siemens unterstützt PROFIBUS als optimierte Feldbuslösung und sichere Investi- tion für Anwender seit langer Zeit und bietet hierbei sowohl Produkte als auch komplette Systemlösungen an. Neben den Automatisierungssystemen (SPS) er- gänzen Produkte wie Netzkomponenten, PC-Baugruppen und Feldgeräte für...
Übersicht PROFIBUS DP Die Vorteile von DP PROFIBUS-DP ist für den schnellen Datenaustausch im Feldbusbereich konzipiert. Dezentrale Peripheriegeräte sammeln die Eingabesignale vor Ort und übertragen sie über den Feldbus an die zentrale Steuerung im PG/PC. Umgekehrt sendet die zentrale Steuerung die Ausgabedaten an die dezentralen Peripheriegeräte. Der Einsatz von PROFIBUS DP bewirkt eine erhebliche Reduzierung des Verka- belungsaufwands im Vergleich zur bisherigen direkten Verdrahtung der Kompo- nenten.
Übersicht PROFIBUS DP Das Master-Slave-Konzept von PROFIBUS DP Dezentrale Peripherie Die Dezentrale Peripherie (im folgenden mit DP abgekürzt) ermöglicht es, eine Vielzahl von analogen und digitalen Ein-/Ausgabebaugruppen dezentral und pro- zessnah einzusetzen. Busteilnehmerklassen PROFIBUS-DP definiert zwei Klassen von Busteilnehmern: Slaves als Peripherie- geräte sind passive Busteilnehmer.
Seite 17
Übersicht PROFIBUS DP DP-Slave Ein DP-Slave ist ein Peripheriegerät, bei dem der Master Eingabeinformationen einliest und Ausgabeinformationen abgibt. Es sind auch Geräte möglich, die nur Eingabe- oder nur Ausgabeinformationen bereitstellen. Slaves sind in der Regel sehr preiswert, weil die passive Teilnahme am Bus ein- fach realisierbar ist.
Übersicht PROFIBUS DP Zyklisches Pollen durch den DP-Master Polling Die Kommunikation zwischen dem DP-Master und den dezentralen Peripheriesta- tionen erfolgt durch Polling. Dies bedeutet, dass der DP-Master in der Produktiv- phase zyklisch Aufruftelegramme an die ihm zugeordneten DP-Slaves sendet. Für jeden DP-Slave wird ein eigenes Aufruftelegramm gesendet.
Übersicht PROFIBUS DP Prozessabbild des DP-Masters Automatische Aktualisierung der Daten Der CP 5613 bzw. 5614 als PROFIBUS DP-Master pollt die Daten der Slaves lau- fend ab und hält sie auf dem PC bereit. Das DP-Anwenderprogramm greift auf die- se Daten direkt zu. Dadurch wird das DP-Anwenderprogramm von der Aufgabe des Pollings entlastet.
Übersicht PROFIBUS DP Datenbereiche Im DP-Master sind für jeden projektierten DP-Slave drei unterschiedliche Datenbe- reiche vorhanden: • Eingabedaten vom DP-Slave • Ausgabedaten an den DP-Slave • Diagnosedaten vom DP-Slave Die Daten werden vom CP 5613 bzw. CP 5614 in einem Speicher gehalten, auf den das DP-Anwenderprogramm direkt - ohne den Umweg über Funktionsaufrufe - zugreifen kann.
Übersicht PROFIBUS DP Anlauf und Betriebsphase einer DP-Anlage Aufgaben des DP-Masters beim Anlauf und im Betrieb Der DP-Master übernimmt folgende Aufgaben: • Initialisierung des DP-Systems • Parametrierung/Konfigurierung der DP-Slave • zyklischer Datentransfer zu den DP-Slaves • Überwachen der DP-Slaves • Bereitstellen von Diagnoseinformationen Initialisierung Der DP-Master kann nur dann Produktivverkehr mit den DP-Slaves durchführen, wenn er diese zuvor parametriert und konfiguriert hat.
Seite 22
Übersicht PROFIBUS DP Diagnose Erkennt ein DP-Slave in der Initialisierungs- oder Produktivphase einen Fehler, kann er diesen in Form von Diagnosedaten an den DP-Master melden. Die emp- fangenen Diagnosedaten werden im Diagnosebereich des DP-Masters abgelegt. Das DP-Anwenderprogramm muss in diesem Fall die Fehlerreaktion übernehmen. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht PROFIBUS DP Die Zustände des DP-Masters Überblick Bei der Kommunikation mit den DP-Slaves kann der DP-Master folgende vier Zu- stände einnehmen: • OFFLINE • STOP • CLEAR (bzw. AUTOCLEAR) • OPERATE Zustände Jeder dieser Zustände ist durch definierte Aktionen zwischen DP-Master und den DP-Slaves gekennzeichnet.
Übersicht PROFIBUS DP Einstellen des Betriebszustands Beim Anlauf des CP 5613 bzw. CP 5614 durchläuft die Baugruppe, gesteuert vom Anwenderprogramm, die Zustände OFFLINE -> STOP -> CLEAR -> OPERATE. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht PROFIBUS DP Entkopplung Slave-Daten und Anwenderprogramm Das Prozessabbild ist vom Anwenderprogramm und den Slaves entkoppelt Aus Gründen der Effizienz sieht die DP-Norm keine Flusskontrolle vor. Die zykli- sche Aktualisierung des Prozessabbilds der DP-Master-Implementierung ist zeitlich weder an die DP-Slaves noch an das Anwenderprogramm vollständig gekoppelt. Dazu nachfolgend einige Beispiele.
Seite 26
Übersicht PROFIBUS DP Abhilfe Für Anwenderprogramme, die eine stärkere Kopplung mit den Slaves benötigen als oben beschrieben, gibt es eine Reihe von zusätzlichen Möglichkeiten: • Mit den Hardware-Events des CP 5613 und CP 5614 kann das Anwenderpro- gramm sich von Änderungen beim Slave benachrichtigen lassen. •...
Übersicht PROFIBUS DP Sicherheitseigenschaften von DP Mehrstufiges Sicherheitskonzept Die DP Programmierschnittstelle bietet ein mehrstufiges Sicherungskonzept, um die Auswirkungen eines Ausfalls der Kommunikationsverbindung oder des DP- Masters zu begrenzen. • Eine projektierbare Ansprechüberwachung des DP-Slave sorgt dafür, dass ein längere Zeit nicht angesprochener DP-Slave selbständig in einen sicheren Be- triebszustand übergeht.
Übersicht PROFIBUS DP Steuertelegramme an einen oder mehrere Slaves Zweck von Steuertelegrammen Ein Steuertelegramm ist ein Telegramm, das der Master an einen einzelnen Slave, eine oder mehrere Gruppen oder an alle Slaves sendet. Diese Telegramme wer- den von den angesprochenen Slaves nicht quittiert. Steuertelegramme dienen der Übertragung von Steuerkommandos (sogenannte Global Controls Commands) an die ausgewählten Slaves zum Zwecke der Syn- chronisation.
Übersicht PROFIBUS DP Steuerkommandos Folgende Steuerkommandos können an DP-Slaves gesendet werden, wenn im konkreten Anwendungsfall erforderlich: Steuer Beschreibung kommandos FREEZE Nach Erhalt eines FREEZE-Kommandos frieren die DP- Slaves die aktuellen Zustände aller Eingänge ein. Beim nächsten Lesezyklus erhält der DP-Master eine Moment- aufnahme der Eingangsdaten.
Übersicht PROFIBUS DP 2.10 Typische Sequenzen bei DP Grundsätzlicher Ablauf beim DP-Master Ein DP-Master durchläuft typischerweise folgende Kommunikationssequenz, ange- stoßen vom Anwenderprogramm: Schritt Bedeutung Ausgangssituation: Der DP-Master ist im Zustand OFFLINE. Der DP-Master wechselt in den Zustand STOP. Der DP-Master wechselt in den Zustand CLEAR. Dabei parame- triert und konfiguriert er automatisch die Slaves und beginnt, ih- nen zyklisch Nulltelegramme oder leere Telegramme zu schik- ken (gemäß...
Übersicht PROFIBUS DP Empfang von Diagnosedaten Durch das Zurückgeben von hochprioren Eingabedaten an den Master signalisiert der Slave, dass er Diagnosedaten hat. Der Master holt sie daraufhin ab und stellt sie dem Anwenderprogramm zur Verfügung. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht PROFIBUS DP 2.11 DP-V1 als Erweiterung von DP Übersicht DP Protokoll mit DP-V1-Erweiterungen Neben dem zyklischen DP-Master-Betrieb (siehe Kapitel 2.3) werden als DP-V1 noch zwei Erweiterungen definiert: DPC1 und DPC2. Dazu folgende Übersicht: PG/PC PG/PC DP-Master Klasse 2 DP-Master Klasse 1 Anwenderprogramm Anwenderprogramm DP/DPC1-Program-...
Seite 33
Übersicht PROFIBUS DP DP-V1 Master Klasse 2 (DPC2) Ein zusätzlicher, nicht zyklisch arbeitender DP-Master kann mittels DPC2 Verbin- dungen zu Slaves aufbauen und Daten an den Slave schicken bzw. lesen, z. B. für Umparametrierungen oder Diagnose. Ab welcher Software-Version die DPC2-Funktionen für den CP 5613/CP 5614 an- geboten werden, können Sie in der Versionstabelle im Kapitel 14.2 der Installati- onsanleitung nachlesen.
Übersicht PROFIBUS DP 2.12 Slave-Funktionalität des CP 5614 Die Slave-Funktionalität (nur CP 5614) Die Piggy-Back-Baugruppe, die mit einem zweiten PROFIBUS-Anschluss auf dem CP 5614 sitzt, besitzt Slave-Funktionalität. Der Slave wird von einem weiteren DP- Master gesteuert. Leitsystem DP-Master PROFIBUS DP (I) CP 5614 Slave- Slave...
Übersicht PROFIBUS DP Die Transfer-Software (nur CP 5614) Um CP 5614 mit Master- und Slave-Funktionalität zu betreiben, liegt als Beispiel die Transfer-Software vor. Die Transfer-Software überträgt Daten zwischen dem Master- und dem Slave-Teil des CP 5614. Die Transfer-Software enthält einen Zugang, an dem zusätzlich Eingabe-, Ausga- be- oder Diagnoseaufträge ausgeführt werden können.
Seite 36
Übersicht PROFIBUS DP Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht DP-Base-Schnittstelle Die Programmierschnittstelle des CP 5613/CP 5614 heißt DP-Base-Schnittstelle. In diesem Kapitel lernen Sie als Vorbereitung zur Erstellung eigener DP-Anwendungen die grundsätzlichen Eigenschaften der DP-Base-Schnittstelle kennen, einschließlich typischer Aufruf- und Zugriffsreihenfolgen. Für eine detaillierte Beschreibung der Funktionsaufrufe und Datenzugriffe lesen Sie bitte im Kapitel 3.10 nach.
Übersicht DP-Base-Schnittstelle Aufteilung in Funktionen und Daten Grundstruktur der DP-Base-Schnittstelle Die Schnittstelle zum Anwenderprogramm erfolgt über zwei Mechanismen: • Schnittstellenaufrufe der dp_base.dll bzw. dps_base.dll • Direktzugriffe auf das Prozessabbild im CP 5613/CP 5614 Dazu folgende Übersicht: DP-Anwenderprogramm C-Zeiger dp_base.dll dps_base.dll Treiber Prozeßabbild CP 5613/CP 5614...
Übersicht DP-Base-Schnittstelle Direktzugriff auf das Prozessabbild Zur Laufzeit Ihres Anwenderprogramms regelmäßig benötigte Daten des CP 5613 und CP 5614 stehen direkt in einem Speicherbereich des CP zur Verfügung. Darin sind vor allem die Eingabe-, Ausgabe- und Diagnosedaten der DP-Slaves enthal- ten, aber auch Zustands- und Konfigurationsdaten.
Übersicht DP-Base-Schnittstelle Rolle der Projektierung Nutzen der DP-Datenbasis In der DP-Datenbasis werden Informationen über die Busparameter des PROFIBUS sowie über die im Netz enthaltenen Slaves abgelegt und beim Anlauf durch den CP 5613/CP 5614 berücksichtigt. Dadurch wird Ihr Anwenderprogramm von vielen Details entlastet und muss nicht bei allen Änderungen (z. B. der Daten- übertragungsgeschwindigkeit) angepasst werden.
Seite 41
Übersicht DP-Base-Schnittstelle Projektierung des „Min_Slave_Interval“ Die Zeit „Min_Slave_Interval“ ist die minimale Zeit zwischen zweimaligem Anspre- chen eines Slave durch den Master. Sie wird vom Projektierungswerkzeug anhand der GSD-Daten der Slaves automatisch errechnet. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht DP-Base-Schnittstelle Konsistenter Zugriff auf das Prozessabbild Zugriffskonflikte im Prozessabbild Wenn Ihr Anwenderprogramm z. B. gerade Daten eines DP-Slave aus dem Pro- zessabbild liest und in gleichen Augenblick der DP-Master dieses mit neuen Daten überschreibt, könnte Ihr Programm die ersten paar Bytes vom vorigen DP-Zyklus und die letzten Bytes vom aktuellen Zyklus bekommen.
Übersicht DP-Base-Schnittstelle Mit Hardware-Events arbeiten Entlastung der PC-CPU Um den PC vom Rechenaufwand durch dauerndes Polling an der DP-Schnittstelle zu entlasten, können Sie Hardware-Events einsetzen. Dabei spezifiziert Ihr An- wenderprogramm, bei welchen Ereignissen es vom CP 5613/CP 5614 benachrich- tigt werden soll. Mögliche Hardware-Events Als Auslösekriterien für Hardware-Events stehen Ihnen folgende Möglichkeiten zur Verfügung:...
Übersicht DP-Base-Schnittstelle Wie Hardware-Events übermittelt werden Ein Hardware-Event wird durch Weiterschalten eines Semaphors übermittelt. Da- mit kann Ihr Anwenderprogramm oder einer dessen Threads auf einzelne Ereignis- se warten; siehe hierzu Kapitel 3.6. Hinweis Der Einsatz von Hardware-Events für viele aktive Slaves gleichzeitig kann den PC stärker belasten als Polling;...
Übersicht DP-Base-Schnittstelle Fast Logic Zweck Durch die Fast-Logic-Eigenschaft des CP 5613/CP 5614 können Sie den CP so parametrieren, dass er automatisch Daten von Slaves überwacht und Reaktionen bei anderen Slaves auslöst. Das hat folgende Vorteile: • Das Anwenderprogramm wird entlastet. •...
Übersicht DP-Base-Schnittstelle Übersicht zum Auslösen und Empfang von Events Eigenschaften von Hardware-Events Der CP 5613/CP 5614 unterstützt Hardware-Events (siehe Kapitel 3.4) mit Hard- ware-Mechanismen des CP, so dass sie sehr schnell bearbeitet werden. Hard- ware-Events werden (bis auf Fast Logic) im Prozessabbild des CP aktiviert, über Semaphore gemeldet und die Details zum eingetroffenen Event liegen im Pro- zessabbild.
Seite 47
Übersicht DP-Base-Schnittstelle Übersicht zum Ablauf von Events Hardware-Events Software-Events benötigtes Semaphor initialisieren (im Anlauf des Programms) Quittierten Aufruf abgeben: Hardware-Event aktivieren • • Event bei Änderung der DP_ds_read/write • Eingabedaten *) DP_get_actual_cfg • • Event bei Diagnose DP_alarm_ack • oder Empfangsbereitschaft mit Event bei Zyklusanfang •...
Übersicht DP-Base-Schnittstelle Typische Sequenzen 3.7.1 Initialisierung und Abschluss des Master-Betriebs Initialisierung Die typische Initialisierung eines CP 5613 oder CP 5614 aktiviert den CP und fährt den DP-Master in den OPERATE-Zustand. Dazu sind folgende Schritte erforder- lich: Schritt Aktion Bedeutung DP_start_cp CP wird initialisiert.
Seite 49
Übersicht DP-Base-Schnittstelle Abschluss Das Herunterfahren des CP fährt den DP-Master in den OFFLINE-Zustand und endet mit dem Anhalten des CP: Schritt Aktion Bedeutung DP_set_mode(Clear) Master in Zustand CLEAR fahren, Slaves werden zurückgesetzt Master in Zustand STOP fahren, zykli- DP_set_mode(Stop) scher Betrieb endet DP_set_mode(Offline) Master in Zustand OFFLINE fahren DP_release_pointer...
Übersicht DP-Base-Schnittstelle 3.7.2 Typische Sequenzen beim pollenden Master-Betrieb Einordnung Nach dem Initialisieren des CP wie oben beschrieben kann das Anwenderpro- gramm den CP durch Pollen benutzen, d. h. durch dauernden direkten Zugriff ohne Wartemechanismen. Ein Zyklus mit Lesen und Schreiben der Prozessdaten kann dabei mit den nachfol- gend beschriebenen Mitteln realisiert werden.
Übersicht DP-Base-Schnittstelle Elemente eines Poll-Zyklus Alle nachfolgend beschriebenen Schritte erfolgen durch direkten Zugriff auf das Prozessabbild, über den C-Zeiger als Resultat des Aufrufs „DP_get_pointer“. Zusammengenommen ergeben sie einen beispielhaften Poll-Zyklus. Schritt Aktion Bedeutung Zustand des Master im Eingabedaten sind nur in den Zustän- Prozessabbild prüfen den OPERATE und CLEAR gültig.
Übersicht DP-Base-Schnittstelle 3.7.3 Typische Sequenzen beim pollenden DPC1-Master-Betrieb Einordnung Nach dem Initialisieren des CP wie oben beschrieben kann das Anwenderpro- gramm parallel zum zyklischen Betrieb DPC1-Funktionen benutzen, um Daten mit Slaves auszutauschen und Alarme zu beantworten. Hier wird beschrieben, wie diese Dienste pollend benutzt werden können, d. h. durch dauerndes Abfragen ohne Wartemechanismen.
Übersicht DP-Base-Schnittstelle Empfangen und Beantworten eines DPC1-Alarms Schritt Aktion Bedeutung Versuch, Alarm zu emp- Falls keiner vorliegt, wird das durch fangen (DP_fetch_alarm) das Funktionsergebnis angezeigt. Falls empfangen: Nach dem Ende der Funktion ist der Alarmquittung abgeben Auftrag in Bearbeitung. (DP_alarm_ack) Endequittung abpollen Die Quittung kann anhand der (DP_get_result), bis der...
Übersicht DP-Base-Schnittstelle 3.7.4 Typische Sequenzen beim Master-Betrieb mit Hardware-Events Einordnung Nach dem Initialisieren des CP, wie oben beschrieben, kann das Anwenderpro- gramm Hardware-Events aktivieren und auf deren Eintreffen mit Semaphore war- ten. Nach neuen Daten oder nach Diagnose kann Pollen dadurch entfallen und eine Synchronisierung mit dem Zyklusanfang oder dem Zyklusende kann realisiert wer- den.
Übersicht DP-Base-Schnittstelle Benutzen von Hardware-Events Nach dem Abholen der benötigten Semaphore kann folgende Sequenz zum Akti- vieren und Abholen von Events durchlaufen werden: Schritt Aktion Bedeutung Optional: Hardware-Event Das Anwenderprogramm erklärt, dass es für Änderung der Einga- eine Semaphorweiterschaltung bei Än- bedaten einschalten derung der Eingabedaten haben möchte.
Übersicht DP-Base-Schnittstelle Abmeldung der Semaphore Nach der letzten Benutzung von Hardware-Events melden Sie Ihre Semaphore wie folgt ab: Schritt Aktion Bedeutung Semaphor für Events ab- Gibt das vorher abgeholte Semaphor melden (Funktion wieder frei. DP_delete_sema_object) Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht DP-Base-Schnittstelle 3.7.5 Typische Sequenzen beim DPC1-Betrieb mit Semaphore Einordnung Die im Kapitel 3.7.3 beschriebene pollende Betriebsweise für DPC1 kann auch durch einen Betrieb mit Semaphoren ersetzt werden. Nachfolgend werden die Initialisierung dieser Betriebsweise, die Elemente des Dauerbetriebs und das Abmelden erläutert. Initialisierung der Semaphore Vor der ersten Benutzung muss das Semaphor wie folgt angelegt werden: Schritt...
Übersicht DP-Base-Schnittstelle Abmeldung eines Semaphor Nach der letzten Benutzung melden Sie Ihr Semaphor wie folgt ab: Schritt Aktion Bedeutung Semaphor für Events ab- Gibt das vorher abgeholte Semaphor melden (Funktion wieder frei. DP_delete_sema_object) Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht DP-Base-Schnittstelle Eigenschaften des CP 5614 (Slave-Funktionen, Transfer- Software) Zusammenspiel zwischen Master- und Slave-Funktionalität Der DP-Master und der Slave auf dem CP 5614 können sowohl parallel als auch einzeln betrieben werden. Betriebsart „einfacher Slave“ In dieser Betriebsart werden dem CP beim Aufruf der Funktion DPS_open (... sla- ve_mode=DPS_SM_SIMPLE ...) alle Daten übergeben, die nötig sind, um das Sla- ve-Modul in den Datenaustausch zu bringen.
Übersicht DP-Base-Schnittstelle Typische Sequenzen für das Slave-Modul CP 5614 3.9.1 Initialisierung und Abschluss des Slave-Moduls im „Simple“- Modus Initialisierung Die Initialisierung des CP 5614 im „Simple“-Modus aktiviert den CP und initialisiert das Slave-Modul, so dass es vom Master in den Produktivzustand gebracht wer- den kann.
Übersicht DP-Base-Schnittstelle 3.9.2 Initialisierung und Abschluss des Slave-Moduls im „Dynamic“- Modus Initialisierung Die Initialisierung des CP 5614 im „Dynamic“-Modus aktiviert den CP und initiali- siert das Slave-Modul, so dass es am Bus antwortet. Das vom Master gesendete Parameter- und Konfigurationstelegramm muss vom Anwender überprüft und quit- tiert werden.
Seite 62
Übersicht DP-Base-Schnittstelle Pollender Produktivbetrieb Das Anwenderprogramm kann beliebig auf die Daten im Prozessabbild zugreifen, muss jedoch darauf gefasst sein, dass Parameter- und Konfig-Telegramme bear- beitet werden müssen. Das ist dann der Fall, wenn der Master das Slave-Modul in den Datenaustausch bringen will (z. B. beim Anlauf des Masters, nach Ziehen und Stecken des Bussteckers, ...).
Seite 63
Übersicht DP-Base-Schnittstelle Abschluss Beim Herunterfahren des CP fährt das Slave-Modul in den OFFLINE-Zustand und der CP wird angehalten: Schritt Aktion Bedeutung DPS_stop Slave in den OFFLINE-Zustand brin- DP_release_pointer Zugriff auf das Prozessabbild freigeben DPS_close Abmelden beim Slave-Modul DP_reset_cp CP anhalten Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht DP-Base-Schnittstelle 3.9.3 Typische Sequenzen mit Semaphore beim Slave-Modul Einordnung Die im Kapitel 3.7.3 beschriebene pollende Betriebsweise kann auch durch einen Betrieb mit Semaphore ersetzt werden. Nachfolgend werden die Initialisierung die- ser Betriebsweise, die Elemente des Dauerbetriebs und das Abmelden erläutert. Initialisierung des Semaphors Vor der ersten Benutzung muss das Semaphor wie folgt angelegt werden: Schritt...
Übersicht DP-Base-Schnittstelle Abmeldung des Semaphors Nach der letzten Benutzung melden Sie Ihr Semaphor wie folgt ab: Schritt Aktion Bedeutung Semaphor für Events ab- Gibt das vorher abgeholte Semaphor melden (Funktion wieder frei. DP_delete_sema_object) Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Übersicht DP-Base-Schnittstelle 3.10 Mehrere Protokolle, Anwenderprogramme, CPUs Multi-CP-Betrieb Ab welcher Software-Version der gleichzeitige Betrieb mehrerer CP 5613/CP 5614 unterstützt wird, können Sie in der Versionstabelle im Kapitel 14.2 der Installati- onsanleitung nachlesen. Mehrere Anwenderprogramme Ab welcher Software-Version der gleichzeitige Betrieb mehrerer Anwendungspro- gramme unterstützt wird, können Sie in der Versionstabelle im Kapitel 14.2 der In- stallationsanleitung nachlesen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes In diesem Kapitel sind die einzelnen Funktionen und Zugriffsmöglichkeiten auf Daten im Prozessabbild des CP 5613 und CP 5614 detailliert beschrieben. Außerdem erfahren Sie die Bedeutung der möglichen Fehlercodes. Die Datenformate für E/A-Daten und für Diagnose werden ebenso beschrieben. Das Kapitel eignet sich vor allem als Nachschlagewerk beim Erstellen Ihrer An- wenderprogramme.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Liste der Funktionen CP 5613 und CP 5614 Darstellungskonventionen In den folgenden Funktionsbeschreibungen gibt es in der Funktionsdeklaration ge- nerelle Darstellungen, die hier beschrieben werden: Darstellung Bedeutung // in Der Wert wird vom Anwenderprogramm als Input der Funk- tion zur Verfügung gestellt.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Header-Dateien Die C-Header-Dateien dp_5613.h und dps_5614.h mit der genauen C-Beschreibung der Funktionen und Datenstrukturen finden Sie im Unterverzeich- nis „prog“ Ihrer Software-Installation. Synchrone und asynchrone Funktionen Soweit nicht anders erwähnt, ist die Ausführung der gewünschten Aufgabe mit dem Ende der Funktion abgeschlossen (d.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.1 Übersichtstabellen zu den Funktionen Administrative Funktionen Name Aufgabe DP_start_cp Laden der Firmware und der Datenbasis in den CP 5613/CP 5614. DP_open Anmelden eines DP-Anwenderprogramms, Vergabe eines User-Handle. DP_get_pointer Zeiger auf das Prozessabbild anfordern. Diese Funktion richtet ein Semaphor ein, an der Ihr DP_init_sema_object Anwenderprogramm auf das Eintreffen von Ereignis-...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Funktionen zum DP-V1 Master Klasse 1 (DPC1) Name Aufgabe DP_ds_read Diese Funktion sendet einen „Datensatz lesen“–Aufruf an einen DP-V1-Slave. Diese Funktion sendet einen „Datensatz schreiben“–Aufruf DP_ds_write an einen DP-V1-Slave. DP_fetch_alarm Diese Funktion holt einen DPC1-Alarm, eine DPC1-Statusmeldung oder sonstige Diagnosedaten ab.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.2 DP_start_cp Zweck Mit dieser Funktion wird der CP 5613/CP 5614 initialisiert. Die auf dem CP ablau- fende Firmware und die Datenbasis werden heruntergeladen. Syntax DPR_DWORD DP_start_cp (const DPR_STRING *cp_name, // in const DPR_STRING *database, // in...
Seite 73
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion. Die grüne Token-LED leuchtet. DP_ERROR_CI Fehler: Der CP ist bereits mit einer ande- und error->error_code == ren Datenbasis gestartet worden. CI_RET_START_ALREADY_ DATABASE DP_ERROR_CI Fehler: Der CP ist bereits mit derselben und error->error_code == Datenbasis gestartet worden.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.3 DP_reset_cp Zweck Mit dieser Funktion wird der CP 5613/CP 5614 rückgesetzt. Danach ist der CP nicht mehr am Bus aktiv (Token-LED ist aus). Wenn noch andere Anwendungen den CP nutzen, setzt ihn diese Funktion nicht zurück, verwenden Sie dazu ggf.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.4 DP_open Zweck Mit dieser Funktion meldet sich ein DP-Anwenderprogramm zur Kommunikation an. Im Erfolgsfall gibt die Funktion ein User-Handle zurück. Das User-Handle muss bei allen weiteren Funktionsaufrufen verwendet werden. Syntax DPR_DWORD DP_open ( const DPR_STRING *cp_name, // in...
Seite 76
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion. DP_ERROR_CI und CP nicht gestartet. error->error_code == CI_RET_OPEN_CP_NOT_ STARTED DP_ERROR_EVENT_NET und Die dplib.dll und die dp_base.dll kön- error->error_code == nen sich nicht beim gleichen CP an- DP_RET_CP USR_NOT_ melden.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.5 DP_get_pointer Zweck Mit dieser Funktion erhält ein DP-Anwenderprogramm exklusiv den Zeiger auf die Prozessdaten des CP 5613/CP 5614. Mit Hilfe dieses Zeigers kann das DP- Anwenderprogramm anschließend direkt auf das Datenabbild des CP 5613/CP 5614 zugreifen.
Seite 78
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Syntax DPR_DWORD DP_get_pointer ( DPR_DWORD user_handle, // in DPR_DWORD timeout, // in DPR_CP5613_DP_T volatile **dpr, // out DP_ERROR_T *error ); // out Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. timeout Dauer der maximalen Wartezeit (in Millisekunden), bis die Funktion zurückkehrt.
Seite 79
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Innerhalb der angegebenen Wartezeit error->error_code == konnte der Zeiger auf die Prozessdaten DP_RET_TIMEOUT nicht zur Verfügung gestellt werden. Ursache: ein anderes Programm hatte während dieser Zeit exklusiven Zugriff auf die Prozessdaten.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.6 DP_release_pointer Zweck Mit dieser Funktion gibt ein DP-Anwenderprogramm den Zeiger auf die Prozess- daten wieder zurück. Danach darf das DP-Anwenderprogramm nicht mehr direkt auf das Datenabbild des CP 5613/CP 5614 zugreifen. Hinweis Diese Funktion ist relativ laufzeitintensiv und beeinträchtigt bei häufigem Aufrufen die Echtzeiteigenschaften Ihres Anwenderprogramms.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.7 DP_close Zweck Mit dieser Funktion meldet sich ein DP-Anwenderprogramm wieder von der Kom- munikation mit dem CP ab. Hinweis 1 Nach dem erfolgreichen Abmelden ist das User-Handle nicht mehr gültig und darf nicht mehr weiter verwendet werden.
Seite 82
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion andere Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.8 DP_get_err_txt Zweck Diese Funktion ermittelt aus den Rückgabewerten der Fehlerstruktur DP_ERROR_T detaillierte Fehlerinformationen im Klartext. Eine detaillierte Be- schreibung der möglichen Fehlercodes finden Sie im Kapitel 4.4, Fehler. Syntax DPR_DWORD DP_get_err_txt ( DP_ERROR_T *error, // in...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.9 DP_set_mode Zweck Mit dieser Funktion wird der gewünschte DP-Zustand (OFFLINE, STOP, CLEAR, OPERATE) eingestellt Warnung Wenn der Master von DP_CLEAR nach DP_OPERATE wechseln soll, aber AUTOCLEAR (siehe 2.8) projektiert ist und ein oder mehrere Slaves ausgefallen sind, kann er nicht in den Zustand DP_OPERATE wechseln.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Syntax DPR_DWORD DP_set_mode (DPR_DWORD user_handle, // in DPR_WORD mst_mode, // in DP_ERROR_T *error ); // out Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. mst_mode Neuer Betriebszustand, der eingestellt werden soll. Fol- gende Konstanten können verwendet werden: DP_OFFLINE: OFFLINE-Zustand...
Seite 86
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Die Änderung des DP-Zustands wurde aktiviert. DP_ERROR_EVENT_NET und Ein DP_set_mode Aufruf ist error->error_code == noch in Bearbeitung. • DP_RET_CP_SET_MODE_CLR_ACT • DP_RET_CP_SET_MODE_OFFL_ACT • DP_RET_CP_SET_MODE_OPR_ACT • DP_RET_CP_SET_MODE_STOP_ACT DP_ERROR_EVENT_NET und Der gewählte Master-Zustand ist error->error_code == nicht zulässig (Überspringen ei- •...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.10 DP_slv_state Zweck Mit dieser Funktion kann der Betriebszustand eines DP-Slave während der Laufzeit des DP-Anwenderprogramms geändert werden. Der Slave kann dabei aus der Be- arbeitung herausgenommen oder wieder aktiviert werden. Darüber hinaus kann die AUTOCLEAR-Eigenschaft eines Slave verändert werden.
Seite 88
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Hinweis 4 Erfolgt der Aufruf mit dem Parameter DP_SLV_RESTART, so wird der Slave neu initialisiert (heruntergefahren und danach erneut parametriert und konfiguriert). Der Restart ist erforderlich, wenn im Master-Zustand Clear oder Operate einer der asynchronen DPC1-Aufrufe ( DP_ds_read, DP_ds_write, DP_alarm_ack) mit ei- nem Kommunikationsfehler beendet wird oder wenn die Funktion DP_fetch_alarm einen Datenfehler meldet.
Seite 89
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Es ist noch ein DP_slv_state-Request in Be- error->error_code == arbeitung. DP_RET_CP_REQ_ACTIV Mögliche Reaktion des Anwendungspro- gramms: nach einer kurzen Wartezeit erneut DP_slv_state aufrufen. andere Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP-Base für CP 5613/CP 5614...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.11 DP_read_slv_par Zweck Mit dieser Funktion können die Parameter eines momentan betriebenen DP-Slaves vom CP 5613/CP 5614 erfragt werden. Syntax DPR_DWORD DP_read_slv_par (DPR_DWORD user_handle,// in DPR_WORD slv_add, // in DPR_WORD type, // in DPR_WORD *data_len;...
Seite 91
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Fehler: der angegebene Slave existiert error->error_code == nicht in der Datenbasis. DP_RET_CP_ADR_NOT_IN_DB andere Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.12 DP_global_ctrl Zweck Mit dieser Funktion kann ein Global Control Command (Steuerkommando) an ei- nen oder mehrere Slaves gesendet werden. Hinweis Die Zuordnung von Slaves zu einer Slave-Gruppe erfolgt fest über die Projektie- rung der DP-Datenbasis.
Seite 93
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. Adresse des Slave oder Sammeladresse slv_add (DP_BROADCAST_ADR) command Hier können folgende Global Control-Kommandos (auch durch Oder verknüpft) vorgegeben werden: • DP_SYNC: Einfrieren der Ausgabebytes •...
Seite 94
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funkti- DP_ERROR_EVENT_NET und Slave-Adresse nicht in der Datenba- error->error_code == sis. DP_RET_CP_ADR_NOT_IN_DB DP_ERROR_EVENT_NET und Der Dienst ist nicht erlaubt. error->error_code == DP_RET_CP_REQ_NOT_ ALLOWED DP_ERROR_EVENT_NET und Der betreffende Slave ist inaktiviert.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.13 DP_ds_read Zweck Diese Funktion sendet einen „Datensatz lesen“ – Aufruf an einen DP-V1-Slave. Das Lesen der DP-V1-Daten erfolgt parallel zum zyklischen Betrieb. Es handelt sich hierbei nicht um den Slave-Input, sondern um ein zusätzliches Datenpaket mit einer Adressierung über Slot und Index eines Slave.
Seite 96
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. Zeiger auf DP-V1-Struktur DPC1_REQ_S mit den Einträ- Request gen für Datensatz-Lesen-Auftrag. typedef struct DPC1_REQ_S DPR_WORD order_id; // in DPR_DWORD c_ref; // in union DP_DS_READ_T dp_ds_read;...
Seite 97
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Name Beschreibung „Request“ Order_id ist eine vom Anwenderprogramm frei vergebbare Fortsetzung Kennung für den Auftrag. Diese Kennung wird in der asyn- chronen Quittung unverändert zurückgegeben und kann dafür benützt werden, die Quittung dem Auftrag zuzuord- nen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.14 DP_ds_write Zweck Mit dieser Funktion kann der Master Daten an einen Slave senden. Das Senden erfolgt parallel zum zyklischen Betrieb. Es handelt sich hierbei nicht um den Slave-Output, sondern um ein zusätzliches Datenpaket mit einer Adressierung über Slot und Index eines Slave.
Seite 99
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. Zeiger auf DP-V1-Struktur DPC1_REQ_S mit den Einträ- request gen für Datensatz-Schreiben-Auftrag. typedef struct DPC1_REQ_S DPR_WORD order_id; // in DPR_DWORD c_ref; // in union DP_DS_READ_T dp_ds_read;...
Seite 100
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolg- reich aktiviert. DP_ERROR_EVENT_NET und Es ist noch ein DP_ds_write- oder Error->error_code == DP_ds_read-Request in Bearbeitung. Ein DP_RET_REQ_ACTIV erneuter Aufruf von DP_ds_write ist erst dann zulässig, wenn das Ergebnis des vor- angegangenen Aufrufs mit DP_get_result abgeholt ist.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.15 DP_fetch_alarm Zweck DP-Slaves können wichtige Ereignisse in Form von Diagnosedaten schicken. Die Diagnosedaten DPC1-fähiger Slaves können außerdem zusätzlich noch Alarme oder Statusmeldungen enthalten. Die Diagnosedaten werden beim DP-Master zwi- schengespeichert und können durch diese Funktion ausgelesen werden. Die Funktion kann sowohl für alarmfähige DPC1-Slaves als auch für Standart-DP- Slaves verwendet werden.
Seite 102
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Hinweis 4 Wird im Rückgabeparameter „msg“ der Wert „DP_MSG_TYPE_FAIL“ eingetragen, liegt ein schwerwiegender Fehler beim Alarm-Handling vor. Das Anwenderpro- gramm muss in diesem Fall einen Restart des Slaves durchführen, wenn zusätz- lich das Strukturelement error_decode der Struktur DP_ERROR_T den Wert 0xFF hat (siehe Kapitel 4.1.10).
Seite 103
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. slv_add Adresse des Slave (0-126) Alarm Zeiger auf die Struktur DP_ALARM_EXT_S mit den ermit- telten Diagnosedaten (inklusive Alarmdaten oder Statusda- ten). typedef struct DP_ALARM_EXT_S DPR_WORD msg_filter;...
Seite 104
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Der Parameter „diag_count“ gibt den Zähler- stand des Diagnose-Counters im Dual Port RAM zum Zeitpunkt des entsprechenden Ereignis- ses an. Der Wert ist nur relevant, wenn die Funktion Diagnosedaten zurück gibt. Der Parameter „reserved“ ist für künftige Erweiterungen vorgesehen.
Seite 105
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion; der Eintrag in DP_ALARM_EXT_T ist gültig. DP_ERROR_EVENT_NET und Fehler: der angegebene Slave existiert error->error_code == nicht in der Datenbasis; der Eintrag in DP_RET_CP_ADR_NOT_IN_DB DP_ALARM_EXT_T ist ungültig. Fehler: Die maximale Anzahl der DP_ERROR_EVENT_NET und konfigurierten Alarme wurde vom Slave...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.16 DP_alarm_ack Zweck Bei bestimmten Situationen können DP-Slaves mit DPC1-Funktionalität Alarme melden. Diese Alarme werden vom DP-Master als Teil der Diagnosedaten emp- fangen und zwischengespeichert. Alarme müssen dem Slave vom Master-DP- Anwenderprogramm explizit durch die Funktion DP_alarm_ack quittiert werden, je- der für sich.
Seite 107
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. Zeiger auf DP-V1-Struktur DPC1_REQ_S mit den Einträ- request gen für Alarm-Acknowledge-Auftrag. typedef struct DPC1_REQ_S DPR_WORD order_id; // in DPR_DWORD c_ref; // in union DP_DS_READ_T dp_ds_read;...
Seite 108
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolg- reich aktiviert. DP_ERROR_EVENT_NET und Es ist noch ein DP_alarm_ack-Request in error->error_code == Bearbeitung. Ein erneuter Aufruf von DP_RET_REQ_ACTIV DP_alarm_ack ist erst dann zulässig, wenn das Ergebnis des vorangegangenen Aufrufs mit DP_get_result abgeholt ist.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.17 DP_get_actual_cfg Zweck Mit dieser Funktion können die aktuellen Konfigurationsdaten von einem Slave ausgelesen werden. Die Daten werden über ein spezielles DP-Telegramm vom Slave angefordert. Dadurch kann erkannt werden, ob die projektierte Konfiguration (Datenbasis) mit der tatsächlichen Konfiguration übereinstimmt.
Seite 110
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. Zeiger auf DP-V1-Struktur DPC1_REQ_S mit den Einträ- request gen für den DP_get_actual_cfg-Auftrag. typedef struct DPC1_REQ_S DPR_WORD order_id; // in DPR_DWORD c_ref; // in union DP_DS_READ_T...
Seite 111
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolgreich aktiviert. DP_ERROR_EVENT_NET und Es ist noch ein DP_get_actual_cfg-Request error->error_code == in Bearbeitung. Ein erneuter Aufruf von DP_RET_REQ_ACTIV DP_get_actual_cfg ist erst dann zulässig, wenn das Ergebnis des vorangegangenen Aufrufs mit DP_get_result abgeholt ist.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.18 DP_enable_event Zweck Der Aufruf dieser Funktion bewirkt, dass folgende wichtige Ereignisse (Software- Events) im DP-Master der DP-Anwendung explizit gemeldet werden können: • Diagnosedaten, Alarme und Statusmeldungen können abgeholt werden • Slaves sind in die zyklische DP-Bearbeitung aufgenommen worden (Betriebsbereitschaft) bzw.
Seite 113
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Hinweis 4 Wird für einen Slave in aufeinanderfolgenden DP_enable_event-Confirmations das Ereignis DP_SLAVE_ENTER bzw. DP_SLAVE_EXIT gemeldet (ohne zwischen- zeitliches DP_SLAVE_EXIT bzw. DP_SLAVE_ENTER) bedeutet dies folgendes: • Mehrfaches DP_SLAVE_ENTER: Der Slave wechselte zwischenzeitlich in den NOT READY-Zustand und danach wieder zurück in den READY-Zustand.
Seite 114
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. Zeiger auf die DP-V1-Struktur DPC1_REQ_S mit den Einträ- Request gen für den Event-Mechanismus. typedef struct DPC1_REQ_S DPR_WORD order_id; // in DPR_DWORD c_ref;...
Seite 115
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beschreibung der Elemente von request->req.dp_enable_evt Element Beschreibung selector Das Element selector wählt den Typ der zu meldenden Ereig- nisse aus. Die Werte können einzeln oder durch „Oder- Verknüpfung“ angegeben werden: • DP_DIAG_ALARM Benachrichtigung bei Diagnose oder Alarmen •...
Seite 116
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Element Beschreibung event Das Array event enthält nach Durchführung des Auftrags pro Slave-Adresse ein Element mit den Ereignissen, die diesen Slave betreffen. So enthält event[5] z. B. Informationen über den Slave 5.
Seite 117
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolg- reich aktiviert. DP_ERROR_EVENT_NET und Es ist noch ein DP_enable_event- error->error_code == Request in Bearbeitung. Ein erneuter DP_RET_REQ_ACTIV Aufruf von DP_enable_event ist erst dann zulässig, wenn •...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.19 DP_disable_event Zweck Durch diese Funktion kann ein vorangegangener Aufruf von DP_enable_event rückgängig gemacht werden. Damit kann die zuvor spezifizierte Empfangsbereit- schaft beendet werden, ohne dass ein entsprechendes Ereignis eingetreten ist. Die Quittung des beendeten Aufrufs muss mit DP_get_result abgeholt werden. An- schließend kann DP_enable_event, z.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.20 DP_get_result Zweck Diese Funktion holt die Quittung eines asynchronen Auftrags ab. Für jeden asyn- chronen Auftrag muss die zugehörige Quittung durch diese Funktion abgeholt wer- den. Abhängig von der übergebenen Timeout-Zeit kehrt die Funktion sofort oder nach Ablauf der Überwachungszeit zurück.
Seite 120
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Syntax DPR_DWORD DP_get_result(DPR_DWORD user_handle, // in DPR_DWORD timeout, // in DPR_WORD *req_type, // out DPC1_REQ_T *result, // out DP_ERROR_T *error // out Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. timeout Dauer der maximalen Wartezeit (in Millisekunden), bis die Funktion zurückkehrt.
Seite 121
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Es wurde eine Confirmation empfangen - Die Werte in req_type und result identifi- zieren den Auftrag. Der zugehörige Auf- trag wurde ohne Fehler beendet. DP_ERROR_EVENT_NET und Keine Quittung verfügbar. error->error_code == DP_RET_TIMEOUT DP_ ERROR_EVENT_NET und...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.21 DP_get_cref Zweck Diese Funktion ermittelt aus der Slave-Adresse und dem user_handle die c_ref für die DPC1-Funktionen. Die c_ref muss dort in der Struktur DPC1_REQ_S als Vor- gabeparameter eingetragen werden. Hinweis Die c_ref für einen Slave muss nur einmal ermittelt werden. Es ist nicht erforder- lich, vor jeder DPC1-Funktion DP_get_cref erneut aufzurufen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.22 DP_init_sema_object Zweck Diese Funktion richtet ein Semaphor für ein Ereignis vom CP 5613/CP 5614 ein. An Win32-API-Funktionen (WaitForMultipleObjects, WaitForSingleOblect, MsgWaitForMultipleObjects) kann ein Anwenderprogramm an diesen Semaphoren warten, bis ein Ereignis eingetroffen ist. Semaphore sind Synchronisationsobjekte, die auch die Win32-API-Schnittstelle unterstützt.
Seite 124
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. sema_type Art des Semaphors: • DP_OBJECT_TYPE_INPUT_CHANGE - Hardware-Event bei Änderung von Slave-Eingabedaten • DP_OBJECT_TYPE_DIAG_CHANGE - Hardware-Event bei Diagnosedaten • DP_OBJECT_TYPE_CYCLE_INT - Hardware-Event beim Start eines neuen DP-Zyklus •...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.23 DP_delete_sema_object Zweck Diese Funktion entfernt ein zuvor eingerichtetes Semaphor. Syntax DPR_DWORD DP_delete_sema_object ( DPR_DWORD user_handle, // in DPR_DWORD sema_handle, // in DP_ERROR_T *error); // out Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DP_open vergeben wurde. sema_handle Semaphor-Handle error...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.24 DP_fast_logic_on Zweck Mit dieser Funktion kann ein DP-Master-Anwenderprogramm die „Fast Logic“- Funktionalität des CP 5613/CP 5614 aktivieren. Durch diese Funktionalität kann ein Eingangsbyte eines Slave X mit einem Ausgabebyte eines Slave Y verknüpft werden.
Seite 127
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Hinweis 3 In dem Kapitel 4.3.10 „Fast-Logic-Status-Abfragen“ wird beschrieben wie das An- wenderprogramm den aktuellen Status der Fast-Logic-Trigger abfragen kann. Für Fast Logic existiert analog zu anderen Ereignissen ein Semaphor, das bei Eintreten eines Fast-Logic-Triggers auf Freigabe geschaltet wird.
Seite 128
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite fast_logic Zeiger auf die Struktur DP_FAST_LOGIC_S mit der die Trigger-Bedingung eingestellt werden kann. typedef struct DP_FAST_LOGIC_S DPR_BYTE slave_addr_in_byte; // in DPR_BYTE index_in_byte; // in DPR_BYTE cmp_value_in_byte;...
Seite 129
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Der Fast-Logic-Trigger wurde akti- viert. DP_ ERROR_CI und Parameter fast_logic_id ungültig. error->error_code == CI_RET_FL_INV_ID DP_ ERROR_CI und Ungültige Adresse des Eingabe- error->error_code == Slaves. CI_RET_FL_INV_ADDR_IN_BYTE DP_ ERROR_CI und Ungültige Adresse des Ausgabe- error->error_code == Slaves.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.25 DP_fast_logic_off Zweck Mit dieser Funktion kann ein Fast-Logic-Trigger des CP 5613/CP 5614 wieder de- aktiviert werden. Syntax DPR_DWORD DP_fast_logic_off ( DPR_DWORD user_handle, // in DPR_WORD fast_logic_id, // in DP_ERROR_T *error); // out Parameter Name Beschreibung...
Seite 131
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Der Fast-Logic-Trigger wurde deaktiviert. DP_ ERROR_CI und Fast Logic ist bereits deaktiviert. error->error_code == CI_RET_FL_ALREADY_OFF DP_ ERROR_CI und Ein zweiter User ist nicht erlaubt. error->error_code == CI_RET_FL_DOUBLE_USER DP_ ERROR_CI und Parameter fast_logic_id ungültig.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.26 DP_watchdog Zweck Diese Funktion startet oder stoppt auf dem CP 5613/CP 5614 einen Watchdog, welcher die Aktivität des DP-Master-Anwenderprogramms überwacht. Greift das DP-Master-Anwenderprogramm - nach Aufruf der Funktion - infolge eines Fehlver- haltens (z.
Seite 133
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Hinweis 4 Ob der Watchdog abgelaufen ist, kann aus dem Strukturelement wd_state der Struktur DPR_WD_S entnommen werden (wd_state == DP_WD_TIMEOUT; siehe Kapitel 4.3.11 „User-Watchdog im Dualport RAM lesen und triggern“). Die Ken- nung DP_WD_TIMEOUT wird durch einen erneuten Aufruf von DP_watchdog oder durch DP_close wieder auf DP_WD_STOPPED zurückgesetzt.
Seite 134
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Der Watchdog konnte aktiviert bzw. de- aktiviert werden andere Fehlerhafter Abschluss der Funktion. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.1.27 DP_write_trc Zweck Diese Funktion ermöglicht es dem Anwenderprogramm, zu Test- und Debug- Zwecken einen selbstdefinierten Texteintrag in die DP-Trace-Datei zu schreiben. Optional ist es auch möglich, zusätzlich den Hex-Dump eines Speicherbereichs ausgeben zu lassen.
Seite 136
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung trc_text Ausgabe-String, welcher in die Trace-Datei geschrieben wird. Der String darf keine Escape-Sequenzen (Zeilenum- bruch etc.) enthalten. trc_depth Mit diesem Parameter wird der Aufzeichnungs-Level des Trace-Eintrags festgelegt. Es kann der Wert DP_USR_TRC_DEPTH_MAX oder DP_USR_TRC_DEPTH_ERR eingetragen werden.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel für anwenderspezifische Trace-Ausgaben Am Programmbeginn wird geprüft, ob der DP-Trace aktiviert ist. Es sei buf ein lo- kaler Puffer, der die Eingabedaten (4 Byte) des Slaves Nr. 5 enthält. Falls der DP- Trace aktiviert ist und Byte 0 ungleich 0 ist, soll in der Produktivphase zu Test- zwecken ein DP-Trace-Eintrag erfolgen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Zusätzliche Funktionen des CP 5614 In diesem Kapitel sind die zusätzlichen Funktionen beschrieben, die für das Slave- Modul benötigt werden. Die Funktionen des Slave-Moduls liegen in der „dps_base.dll“, die Prototypen und Datenstrukturen sind in der Datei „dps_base.h“ im Unterverzeichnis „prog“ Ihrer Software-Installation abgelegt.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.1 Übersichtstabellen zu den Slave-Modulfunktionen Administrative Funktionen In nachfolgender Tabelle sind auch die gemeinsam von Master- und Slave-Modul benutzten Funktionen, die mit DP_ beginnen, noch einmal aufgeführt. Name Aufgabe DP_start_cp Laden der Firmware und der Datenbasis in den (Kap.
Seite 140
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Standard-DP-Funktionen Name Aufgabe DPS_get_baud_rate Diese Funktion ermittelt die aktuelle Datenübertra- gungsgeschwindigkeit. DPS_get_gc_ Diese Funktion ermittelt das zuletzt empfangen Global- command Control-Kommando. DPS_get_state Diese Funktion ermittelt den aktuellen Slave-Zustand. DPS_set_diag Diese Funktion setzt neue Diagnosedaten. DPS_get_ind Asynchrone Ereignisse empfangen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.2 DPS_open Zweck Mit dieser Funktion meldet sich ein DPS-Anwenderprogramm beim Treiber an und stellt die Slave-Parameter ein. Im Erfolgsfall gibt die Funktion ein User-Handle zu- rück. Das User-Handle muss bei allen weiteren Funktionsaufrufen verwendet wer- den.
Seite 142
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung cp_name Logischer Name eines CP 5614 (z. B. „CP_L2_1:“) Zeiger auf User-Handle-Variable - Im Erfolgsfall wird hier user_handle das dem Anwenderprogramm zugeordnete User-Handle eingetragen. slave_mode Einstellung der Slave-Betriebsart (die einzelnen Flags wer- den bitweise verknüpft): •...
Seite 143
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Name Beschreibung init_data Zeiger auf eine Struktur mit Informationen über die erwei- terten Slave-Daten. Typedef union DPS_INIT_DATA_S struct DPS_SIMPLE_S DPR_WORD user_prm_data_len; // in DPR_BYTE user_prm_data [DPS_MAX_PDU_LEN];...
Seite 144
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Name Beschreibung max_data Zeiger auf eine Struktur mit den maximalen Pufferlängen für Eingabe- und Ausgabedaten, für User-Diagnose, für User-Parametrier- und Konfigurationsdaten und zuletzt für die User-Set-Slave-Adressdaten. Typedef DPS_MAX_DATA_S DPR_BYTE max_input_data_len;...
Seite 145
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion. DP_ ERROR_CI und CP ist nicht gestartet. error->error_code == CI_RET_OPEN_CP_NOT_ STARTED DP_ ERROR_EVENT_NET und DPS_open wurde bereits durchgeführt. error->error_code == DPS_RET_DOUBLE_OPEN DP_ ERROR_EVENT_NET und Das Slave-Modul ist nicht offline.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.3 DPS_close Zweck Mit dieser Funktion meldet sich ein DP-Anwenderprogramm wieder von der Kom- munikation am Slave-Modul ab. Hinweis 1 Nach dem erfolgreichen Abmelden ist das User-Handle nicht mehr gültig und darf nicht mehr weiter verwendet werden.
Seite 147
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_EVENT_NET und Das Kommando DPS_close ist im error->error_code == momentanen Betriebszustand nicht DPS_RET_SEQUENCE_ERROR erlaubt. andere Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.4 DPS_start Zweck Mit dieser Funktion kann der Slave ONLINE geschaltet werden. Das ist nach der Initialisierung nötig. Nach einem OFFLINE-Schalten durch DPS_stop kann das Slave-Modul mit DPS_start wieder ONLINE geschaltet werden. Syntax DPR_DWORD DPS_start(...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.5 DPS_stop Zweck Diese Funktion dient dem Abschalten des Slave-Moduls. Das Slave-Modul reagiert dann nicht mehr am Bus. Syntax DPR_DWORD DPS_stop (DPR_DWORD user_handle, // in DP_ERROR_T *error ); // out Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DPS_open vergeben wurde.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.6 DPS_get_baud_rate Zweck Mit dieser Funktion kann Ihr Anwenderprogramm die aktuelle Datenübertragungs- geschwindigkeit vom Slave-Modul abfragen. Syntax DPR_DWORD DPS_get_baud_rate( DPR_DWORD user_handle // in DPR_WORD *state, // out DPR_WORD *baud_rate, // out DP_ERROR_T *error );...
Seite 151
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DPS_open vergeben wurde. • DPS_BAUD_SEARCH: Keine Datenübertragungs- state geschwindigkeit gefunden. • DPS_BAUD_FOUND: Datenübertragungs- geschwindigkeit gefunden, Bus-Watchdog nicht akti- viert. • DPS_BAUD_FOUND_WD: Datenübertragungs- geschwindigkeit gefunden, Bus-Watchdog aktiviert.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.7 DPS_get_gc_command Zweck Diese Funktion ermittelt das zuletzt empfangene Global Control-Kommando, das vom Master, der diesen Slave steuert, gesendet wurde. Diese Funktion dient nur zur Information des Anwenderprogramms; es ist keine Reaktion des Anwenderpro- gramms notwendig um das Global-Control-Telegramm zu bearbeiten.
Seite 153
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_RES und Kein Zugriff auf das DP-RAM mög- error->error_code == lich. DPS_RET_NO_DPR_PTR andere Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.8 DPS_get_state Zweck Diese Funktion ermittelt den Zustand des DP-Slave. Die Funktion dient nur zur In- formation der Anwenderprogramms. Hinweis 1 Der Slave durchläuft während seines Betriebs die Zustände: OFFLINE, auf Para- metrierdaten warten, auf Konfigurierdaten warten und zuletzt Datenaustausch.
Seite 155
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DPS_open vergeben wurde. • DPS_OFFLINE Das Slave-Modul ist nicht gestartet. dps_state • DPS_WAIT_PRM Das Slave-Modul wartet auf ein Pa- rametriertelegramm des remoten Masters. • DPS_WAIT_CFG Das Slave-Modul wartet auf ein Konfigurationstelegramm des re- moten Masters.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.9 DPS_set_diag Zweck Mit dieser Funktion werden dem DP-Slave-Modul Diagnosedaten übergeben. Das CP 5614-Slave-Modul gibt diese Daten an den Master, der diesen Slave steuert, weiter. Hinweis Die Länge der Diagnosedaten kann während des Betriebs variieren! Die 6 Byte Normdiagnose werden vom CP 5614-Slave-Modul selbst verwaltet.
Seite 157
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung user_handle User-Handle, das beim Aufruf DPS_open vergeben wurde. Zeiger auf die User-Diagnosedaten ab dem 7. Byte - Die user_diag_data ersten 6 Bytes enthalten den Normteil, den die Slave- Modul-Hardware hinzufügt. (Format siehe Kap. 4.6). user_diag_len Länge der User-Diagnosedaten.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.10 DPS_get_ind Zweck Mit dieser Funktion kann eine Indication (Meldung vom steuernden Master) abge- holt werden. Hinweis 1 Nennen Sie beim Aufruf die Indications, die Sie empfangen wollen. Sie erhalten dann genau eine Indication als Ergebnis zurück. DPS_CHK_PRM wird auch gemeldet, wenn die User-Parametrierdatenlänge des remoten Masters = 0 ist! Somit hat das Slave-Modul die Chance auch eine Para- metrierung ohne User-Daten abzulehnen.
Seite 159
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Syntax DPR_DWORD DPS_get_ind( DPR_DWORD user_handle, // in DPR_DWORD *ind_ref, // out DPR_DWORD timeout, // in DPR_DWORD *indication, // inout DPR_WORD *data_len // inout DPR_BYTE *data_blk // out DP_ERROR_T *error ); // out Parameter Name Beschreibung...
Seite 160
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Name Beschreibung indication Unter dieser Adresse trägt der Anwender die gewünschten In- dications ein, über die er informiert werden möchte. Es handelt sich um Bits, die bitweise mit oder verknüpft werden können. Bei Rückkehr der Funktion wird der aktuelle Indication-Typ ein- getragen (immer nur eine Indication) •...
Seite 161
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Name Beschreibung data_len maximale Länge des Arrays data_blk beim Aufruf der Funktion, Anzahl eingetragener Bytes nach Rückkehr der Funktion - Für den Aufruf sollte die Konstante DPS_MAX_PDU_LEN verwen- det werden.
Seite 162
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Return-Wert Name Beschreibung DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_EVENT_NET und Das Kommando DPS_stop ist im error->error_code == momentanen Betriebszustand nicht DPS_RET_SEQUENCE_ERROR erlaubt. DP_ ERROR_REQ_PAR und Die Pufferlänge ist ungültig. error->error_code == DPS_RET_BUF_LEN andere Fehlerhafter Abschluss der Funktion...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.11 DPS_set_resp Zweck Mit dieser Funktion stellt das Anwenderprogramm die Antwortdaten zu einer zuvor mittels DPS_get_ind empfangenen Indication zur Verfügung. Das ist für die Indica- tions notwendig, die Informationen vom User benötigen, um die interne Bearbei- tung zu steuern (DPS_CHK_PRM, DPS_CHK_CFG und DPS_NEW_SSA).
Seite 164
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Datenstruktur (für Parameter data_blk) Indication Inhalt von Datenstruktur data_blk DPS_CHK_PRM DPR_WORD status Wert Bedeutung DPS_PRM_OK Parametrierungsdaten sind akzeptiert. DPS_PRM_FAULT Parametrierung wird nicht akzeptiert, Slave geht nicht in Datenaustausch. DPS_CHK_CFG DPR_WORD status Formatierung Wert Bedeutung DPS_CFG_OK...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.2.12 DPS_calc_io_data_len Zweck Diese Funktion berechnet aus einem beliebigem Konfigurationstelegramm die Ein- /Ausgabedatenlänge. Die Funktion dient der Information des Anwenderprogramms, damit dieses nicht selbst die Kennungsbytes des Konfigurationstelegramms aus- werten muss. Es kann ein beliebiges Konfigurationstelegramm ausgewertet wer- den.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Zugriffe auf das Prozessabbild des CP 5613/CP 5614 Übersicht der vorhandenen Daten Die folgende Tabelle gibt Ihnen eine Übersicht, welche Daten Ihrem Anwenderpro- gramm im Prozessabbild des CP 5613/CP 5614 zur Verfügung stehen. Kategorie Daten DP-Prozessdaten...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.1 Eingabedaten eines DP-Slave lesen Konsistentes Lesen Für die Eingabedaten jedes einzelnen Slave gibt es einen fest zugeordneten Da- tenbereich im Prozessabbild des CP 5613/CP 5614. Zum konsistenten Lesen der Eingabedaten eines Slave sperrt Ihr Anwenderpro- gramm diesen Datenbereich zunächst gegen Aktualisierung von Seiten des DP- Masters, greift dann darauf zu und gibt ihn anschließend wieder frei.
Seite 168
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Warnung 1 Die Sperre wird auch aufgehoben durch: • Sperren eines anderen Slave zum Lesen, • Sperren eines Slaves zum Diagnose lesen (Kap. 4.3.2) • Anstoßen eines Schreibvorgangs von Ausgangsdaten eines Slave über das zugehörige Steuerregister (Kap.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.2 Diagnosedaten eines DP-Slave lesen Konsistentes Lesen der Diagnosedaten Für die Diagnosedaten jedes einzelnen Slave gibt es einen fest zugeordneten Da- tenbereich im Prozessabbild des CP 5613/CP 5614 (zum Datenformat siehe Kapi- tel 4.6).
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Allgemeine Hinweise Warnung 1 Die Sperre wird auch aufgehoben durch: • Sperren eines Slaves zum Lesen dessen Eingangsdaten (Kap. 4.3.1) • Sperren eines anderen Slave zum Lesen dessen Diagnose • Anstoßen eines Schreibvorgangs von Ausgangsdaten eines Slave über das zugehörige Steuerregister (Kap.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.3 Ausgabedaten eines DP-Slave schreiben Schreiben geschieht immer konsistent Für die Ausgabedaten jedes einzelnen Slave gibt es einen fest zugeordneten Da- tenbereich im Prozessabbild des CP 5613/CP 5614. Zum konsistenten Schreiben der Ausgabedaten eines Slave schreibt Ihr Anwen- derprogramm die Daten in den Datenbereich und stößt dann die Übernahme der Daten in den nächsten DP-Zyklus an, indem es die Slave-Nummer in ein Steuerre- gister im Prozessabbild des CP schreibt.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel für konsistentes Schreiben Es sei p ein Zeiger auf das Prozessabbild, den Ihr Anwenderprogramm beim „DP_get_pointer“-Aufruf erhalten hat. Dann werden 200 Byte im lokalen Puffer „buf“ wie folgt an den Slave 5 geschrieben: /* Daten kopieren */ memcpy(&p->pi.slave_out[5].data[0], buf, 200);...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.4 Prüfen der Slaves auf Datenänderung Nutzen der Änderungsinformation Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, in dem Sie feststellen können, welche Slave-Daten sich geändert haben. Diese Eigenschaft können Sie verwenden, um ohne Benutzung von Semaphore schnell feststellen zu können, wo sich Daten geändert haben.
Seite 174
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Allgemeine Hinweise Warnung Ihr Anwenderprogramm muss die Eingangsdaten eines Slave zuerst sperren (D_lock_in_slave_addr, Kap. 4.3.1), bei Datenänderung das Feld „req_mask“ zu- rücksetzen (DPR_DATA_INT_CLEAR_AND_UNMASK bzw. DPR_DATA_INT_CLEAR_AND_MASK, siehe Hinweis 1) und dann die Daten le- sen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.5 Zustand eines DP-Slave feststellen Nutzen des Slave-Zustands Vor dem Zugriff auf Daten sollte Ihr Anwenderprogramm den Zustand eines Slave prüfen, um herauszubekommen, ob zu lesende Daten gültig sind. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Seite 176
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel Es sei p ein Zeiger auf das Prozessabbild, den Ihr Anwenderprogramm beim „DP_get_pointer“-Aufruf erhalten hat. Um z. B. zu zählen, wieviele Slaves im Zu- stand READY sind, würden Sie etwa folgendes programmieren, wobei „sum“ das Ergebnis enthält: unsigned short sum = 0;...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.6 Informationen zum DP-Master abfragen Nutzen der DP-Master-Information Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, in dem Sie folgende Informationen über den DP-Master auslesen können: • Zustand (OFFLINE, STOP, CLEAR, AUTOCLEAR, OPERATE) •...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.7 Aktuelle Busparameter des Masters abfragen Nutzen der Busparameterabfrage Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, in dem Sie die aktuellen Busparameter auslesen können, um sie, z. B. durch Ihr Anwender- programm, anzeigen zu lassen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beschreibung der Busparameter Name Bedeutung Eigene Stationsadresse baud_rate Datenübertragungsgeschwindigkeit Wert Bedeutung DP_M_BAUDRATE_9K6 kbit/s DP_M_BAUDRATE_19K2 19,2 kbit/s DP_M_BAUDRATE_93K75 93,75 kbit/s DP_M_BAUDRATE_187K5 187,5 kbit/s DP_M_BAUDRATE_500K kbit/s DP_M_BAUDRATE_750K kbit/s DP_M_BAUDRATE_1M5 Mbit/s DP_M_BAUDRATE_3M Mbit/s DP_M_BAUDRATE_6M Mbit/s DP_M_BAUDRATE_12M Mbit/s DP_M_BAUDRATE_31K25...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.8 Informationen zu DP-Slaves abfragen Nutzen der DP-Slave-Information Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, in dem Sie die projektierten Informationen über DP-Slaves auslesen können, um sie z. B. durch Ihr Anwenderprogramm anzuzeigen.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.9 PROFIBUS-Statistikdaten lesen Übersicht Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, in dem der CP Statistikdaten über den angeschlossenen PROFIBUS ablegt, damit z. B. Dia- gnoseprogramme lesend darauf zugreifen können. Beispiel für einen Zugriff Es sei p ein Zeiger auf das Prozessabbild, den Ihr Anwenderprogramm beim „DP_get_pointer“-Aufruf erhalten hat.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beschreibung der verfügbaren Statistikzähler Alle Elemente sind vorzeichenlose 16-Bit-Zähler, die das Auftreten des jeweiligen Ereignisses mitzählen. Die ersten vier Ereignisse sind besonders wichtig. Zählername Bedeutung off_ts_adr_error Eine andere Station mit der gleichen Adresse wurde erkannt.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.10 Fast-Logic-Status-Abfragen Übersicht Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, in dem Sie nachsehen können, ob ein Fast-Logic-Trigger ausgelöst wurde. DP-Master-Anwenderprogramm können das Fast-Logic-Semaphor (siehe Funktion DP_init_sema_object) benutzen, um sich asynchron über das Auslösen eines Fast- Logic-Triggers benachrichtigen zu lassen.
Seite 184
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel für die Abfrage eines Fast-Logic-Triggers Es sei p ein Zeiger auf das Prozessabbild, den Ihr Anwenderprogramm beim „DP_get_pointer“-Aufruf erhalten hat. Um die Fast-Logic-Trigger von Ihrem An- wenderprogramm zu überwachen, würden Sie etwa folgendes programmieren: /* Überprüfen, ob Fast-Logic-Trigger 0 aktiviert ist */ if(p->info_watch.activated_fast_logic[0] == DP_FASTLOGIC_ACTIVATED)
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.11 User-Watchdog im Dualport RAM lesen und triggern Übersicht Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, in dem Sie den User-Watchdog nachtriggern und prüfen können. Der User-Watchdog wird durch den Aufruf DP_watchdog (siehe Kapitel 4.1.26 „DP_watchdog“) eingerichtet. Im Erfolgsfall gibt die Funktion einen Index zurück, der auf eine Watchdog-Struktur (DP_WD_S) innerhalb des Arrays user_watchdog im Dualport RAM zeigt.
Seite 186
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel für einen Zugriff Es sei p ein Zeiger auf das Prozessabbild, den Ihr Anwenderprogramm beim „DP_get_pointer“-Aufruf erhalten hat. Der Parameter idx sei der Wert, den die Funktion DP_watchdog als Index zurückgegeben hat. Um z. B. den aktuellen Zäh- lerstand des Watchdogs auszulesen und den Watchdog zu triggern, würden Sie etwa folgendes programmieren: /* gebe aktuellen Zählerstand des Watchdog aus */...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.12 Hardware-Event-Erzeugung ein- und ausschalten Übersicht Im Prozessabbild des CP 5613/CP 5614 gibt es einen Speicherbereich, der fol- genden Hardware-Events zugeordnet ist: • Beginn eines neuen DP-Zyklus (siehe Header-File DP_5613.H via D_cycle_start_mask und cycle_start_NT_PerformanceCounter) •...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel für Aktivierung Es sei p ein Zeiger auf das Prozessabbild, den Ihr Anwenderprogramm beim „DP_get_pointer“-Aufruf erhalten hat. Um Events bei Zyklusbeginn und bei Da- tenänderung und Diagnose von Slave 5 zu aktivieren, würden Sie etwa folgendes programmieren: /* aktiviert Event bei Zyklusanfang */ p->ctr.D_cycle_start_mask = 0;...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel für Deaktivierung Obige Aktivierungssequenz würde Ihr Anwenderprogramm wie folgt rückgängig machen: /* schaltet Event für Datenänderung von Slave 5 ab */ p->ef.input[5].req_mask = DPR_DATA_INT_CLEAR_AND_MASK; /* schaltet Event bei Eintreffen einer Diagnose von Slave 5 ab */ p->ef.diag[5].req_mask = DPR_DATA_INT_CLEAR_AND_MASK;...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.13 Beim CP 5614 als DP-Slave Daten senden Integration in das Prozessabbild des CP 5613/CP 5614 Die Sendedaten des Slave-Moduls liegen im Ausgabeabbild mit dem Slave-Index 127. Damit wird durch Beschreiben des Ausgabedatenbereichs mit dem Slave- Index 127 das Slave-Modul mit neuen zu sendenden Daten versorgt, die der über- geordnete Master als Eingänge liest.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.14 Beim CP 5614 als DP-Slave Daten empfangen Integration in das Prozessabbild des CP 5613/CP 5614 Die Empfangsdaten des Slave-Moduls werden im Eingabeabbild mit dem Slave- Index 127 abgelegt. Damit kann das Anwenderprogramm durch Lesen des Einga- bedatenbereichs mit dem Slave-Index 127 die Daten lesen, die der übergeordnete Master als Ausgänge zum Slave-Modul gesendet hat.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.3.15 Beim CP 5614 als DP-Slave Diagnosedaten senden Integration in CP 5613/CP 5614 Das Slave-Modul des CP 5614 kann seine Diagnosedaten an den übergeordneten Master weitergeben. Dazu wird nicht der Diagnosedatenbereich mit dem Slave- Index 127 verwendet, sondern eine C-Funktion.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Fehlerbehandlung Einheitliche Fehlerstruktur DP_ERROR_T Die Fehlerkennung für die einzelnen Aufträge benutzen die einheitliche Struktur DP_ERROR_T. Die verschiedenen Elemente geben im Fehlerfall die genaue Be- schreibung der Fehlerursache zurück. typedef struct DP_ERROR DPR_DWORD error_class; DPR_DWORD error_code;...
Seite 194
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Strukturelement error_class Das Strukturelement error_class gibt die allgemeine Fehlerklasse an. Der Eintrag in error_class ist identisch mit dem Rückgabewert des Funktionsaufrufs. Ein DP-Anwenderprogramm kann daher alternativ das Strukturelement error_class oder den Rückgabewert des Funktionsaufrufs auswerten. Die Tabelle beschreibt die möglichen Fehlerklassen und zeigt, welche der übrigen Strukturelemente von DP_ERROR_T bei den einzelnen Fehlerklassen gültig sind.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Strukturelement error_code Das Strukturelement error_code ist relevant bei den Fehlerklassen: • DP_ERROR_EVENT_NET • DP_ERROR_REQ_PAR • DP_ERROR_CI • DP_ERROR_RES • DP_ERROR_USR_ABORT Bei der Fehlerklasse DP_ERROR_EVENT_NET ist bei einigen Funktionsaufrufen zusätzlich das Strukturelement error_decode auszuwerten. Strukturelemente error_decode, error_code_1, error_code_2 Die Strukturelemente error_decode, error_code_1 und error_code_2 sind nur bei der Fehlerklasse DP_ERROR_EVENT relevant.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Bedeutung der einzelnen Fehler Eine tabellarische Übersicht über die einzelnen Fehlercodes und ihre Einteilung in die oben beschriebenen Fehlerklassen bietet Kapitel 4.4.2 „Fehlercodes“. Zu je- dem Fehlercode finden Sie eine kurze Beschreibung. Diese Beschreibung erhalten Sie auch durch den Aufruf der Funktion DP_get_err_txt, wenn der entsprechende Fehler aufgetreten ist.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.4.1 Einträge in die Strukturelemente error_decode, error_code_1 und error_code_2 bei Fehlerklasse DP_ERROR EVENT Beschreibung Dieses Kapitel beschreibt die Einträge in die Strukturelemente: • error_decode • error_code_1 • error_code_2 Alle drei Parameter sind dabei gemeinsam auszuwerten. Sie enthalten Fehlerinformationen, die vom DP-V1-Slave gesendet werden.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes ® Error_Decode = PROFIBUS_FMS, HART ® Die Error_Decode-Werte PROFIBUS FMS und HART zeigen an, dass die Para- meter Error_Code_1 und Error_Code_2 wie bei den entsprechenden Protokollen definiert zu interpretieren sind. Bei PROFIBUS FMS: Error_Code-Parameter Bedeutung Error_ Class _FMS...
Seite 199
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Error_Code_1 Der Wertebereich von Code und Class ist in nachfolgender Tabelle dargestellt: Byte-Struktur Bedeutung Class Code Class Code 0 bis 9 beliebig reserved reserved application read error write error module failure 3 bis 7 reserved version conflict feature not supported...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.4.2 Fehlercodes Übersicht Dieses Kapitel enthält zu den Fehlerklassen • DP_ERROR_EVENT_NET • DP_ERROR_REQ_PAR • DP_ERROR_CI • DP_ERROR_RES eine alphabetische Liste aller möglichen Fehlercodes sowie eine kurze Beschrei- bung zu jedem Fehlercode. Klasse DP_ERROR_EVENT_NET Klasse DP_ERROR_EVENT_NET Bedeutung Fehlercodes...
Seite 201
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_EVENT_NET Bedeutung Fehlercodes DP_RET_CP_MEMORY_DPMC Interner Speicherfehler im CP. Es wurde keine (gültige) Datenbasis in den DP_RET_CP_NO_DATABASE CP geladen. DP_RET_CP_REQ_ACTIV DP request schon in Bearbeitung. DP_RET_CP_REQ_INVALID_LEN Der Auftrag wurde mit Fehler beendet (un- gültige Datenlänge).
Seite 202
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_EVENT_NET Bedeutung Fehlercodes DP_RET_CP_MM_DI Daten unvollständig Quelle: remote User DP_RET_CP_MM_NC Master Parametersatz nicht kompatibel Quelle: remote User DP_RET_CP_REQ_WITHDRAW Der Auftrag wurde zurückgezogen und kann daher nicht bearbeitet werden. DP_RET_CP_RESET_INSTANCE Fehler beim DP-Reset. DP_RET_CP_RESET_RUNNING Reset ist bereits aktiviert.
Seite 203
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_EVENT_NET Bedeutung Fehlercodes DP_RET_CP_WRONG_MODE_CLR Ungültige Betriebsart beim Set Mode. Aktuelle Betriebsart: DP_CLEAR Erlaubte Betriebsart: DP_STOP, DP_OPERATE DP_RET_CP_WRONG_MODE_OFL Ungültige Betriebsart beim Set Mode. Aktuelle Betriebsart: DP_OFFLINE Erlaubte Betriebsart: DP_STOP DP_RET_CP_WRONG_MODE_OPR Ungültige Betriebsart beim Set Mode. Aktuelle Betriebsart: DP_OPERATE Erlaubte Betriebsart: DP_CLEAR DP_RET_CP_WRONG_MODE_STP...
Seite 204
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_REQ_PAR Klasse DP_ERROR_REQ_PAR Bedeutung Fehlercodes DP_RET_CP_WRONG_FREEZE_GRP Der Global Control-Aufruf (Freeze/Unfreeze) wurde mit Feh- ler beendet, weil der adressierte DP-Slave keiner der ange- gebenen Gruppe(n) zugehört. DP_RET_CP_WRONG_GC_CMD Der Auftrag wurde vom CP mit Fehler beendet (ungültiges Global Control Command).
Seite 205
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_REQ_PAR Bedeutung Fehlercodes DP_RET_PAR_REQ_TYPE Der Parameter req_type ist ungültig. Der Auftrag wurde von der DP_BASE-Library abgelehnt. DP_RET_PAR_REQUEST Der Parameter request ist ungültig. Der Auftrag wurde von der DP_BASE-Library abgelehnt. DP_RET_PAR_RESERVED Der Parameter reserved ist ungültig. Der Auftrag wurde von der DP_BASE-Library abgelehnt.
Seite 206
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_REQ_PAR Bedeutung Fehlercodes für die Slave- Modulfunktionen des CP 5614 DPS_RET_BUF_LEN Die Pufferlänge ist ungültig. DPS_RET_CFG_LEN Max_cfg_data_len falsch. DPS_RET_DIAG_LEN Max_user_diag_len falsch. DPS_RET_DIN_DOUT_LEN Max. Input/Output falsch. DPS_RET_INV_CFG Ungültige Default-Konfiguration. DPS_RET_INV_SLAVE_ADDR Parameter slave_addr falsch. DPS_RET_INV_TIMEOUT Der Parameter timeout ist ungültig.
Seite 207
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Klasse DP_ERROR_CI Bedeutung Fehlercodes CI_RET_ALREADY_CONNECTED User hat schon Zugriff. CI_RET_BLINK_INV_LED1_MS Ungültige Zeit für Led1. CI_RET_BLINK_INV_LED2_MS Ungültige Zeit für Led2. CI_RET_BLINK_INV_MODE Ungültiger Mode. CI_RET_BUF_NOT_VALID Ungültiger Userbuffer. CI_RET_CANCEL_NO_RECEIVE Hinweis: Nichts da zum abbrechen. CI_RET_CIB_CLOSE_ALREADY Doppelter Close.
Seite 208
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Bedeutung Fehlercodes CI_RET_DUMP_OPEN_FILE Das File für den DPR Abzug kann nicht geöffnet werden. CI_RET_EXCP_ALERTED Exceptions -> Interne Fehlerzustände des Treibers oder der Firmware. CI_RET_EXCP_APPEND_0 Abhilfe -> CP zurücksetzen oder den CI_RET_EXCP_APPEND_1 PC neu booten.
Seite 209
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Bedeutung Fehlercodes CI_RET_FL_SLAVE_IN_NOT_IN_DB Eingabe-Slave nicht in der Datenba- sis. CI_RET_FL_SLAVE_OUT_NOT_IN_DB Ausgabe-Slave nicht in der Datenba- sis. CI_RET_GET_CFG_INV_NAME Interner Fehler. CI_RET_GET_CFG_WRONG_NAME Interner Fehler. Maximale Anzahl pro CI_open über- CI_RET_GET_MAX_PENDING schritten. CI_RET_GET_TIMEOUT Hinweis: Timeout abgelaufen.
Seite 210
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Bedeutung Fehlercodes CI_RET_RESET_CP_NOT_FOUND CP wurde nicht gefunden. CI_RET_RESET_CP_USED Reset momentan nicht möglich. CI_RET_RESET_INVALID_CP_NAME Ungültiger CP Name. CI_RET_RESET_INVALID_MODE Ungültiger Reset Mode. CI_RET_SCP_BUF_FILL_LENGTH_INV Buf_fill_length invalid. CI_RET_SCP_FILL_LENGTH_1_TOO_BIG Fill_length_1 > seg_length_1. CI_RET_SCP_FILL_LENGTH_2_TOO_BIG Fill_length_2 > seg_length. CI_RET_SCP_OFFSET_1_INVALID Offset_1 != 80.
Seite 211
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Bedeutung Fehlercodes CI_RET_START_LEN_FIRMWARE Firmware File ist zu lang CI_RET_START_MAP Interner Fehler. CI_RET_START_MAX_CP Maximale Anzahl von CPs schon er- reicht. CI_RET_START_NO_VIEW Interner Fehler. CI_RET_START_OK_ERR Interner Fehler. CI_RET_START_OPEN_DATABASE Datenbasis File konnte nicht geöffnet werden.
Seite 212
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Bedeutung Fehlercodes CI_RET_CmResourceTypeDefault Interne Fehler beim Identifizieren des CP über das Plug-and-Play-Bios. CI_RET_CmResourceTypeDeviceSpecific Abhilfe -> Kontakt CP/Rechner über- CI_RET_CmResourceTypeDma prüfen | CP tauschen | Rechner tau- CI_RET_CmResourceTypePort schen. CI_RET_HalAssignSlotResources CI_RET_InterruptMode CI_RET_IoReportResourceUsage CI_RET_MAP_00 CI_RET_MAP_01...
Seite 213
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_RES Klasse DP_ERROR_RES Bedeutung Fehlercodes DP_RET_CP_MEMORY Interner Speicherfehler DP_RET_CP_MEMORY_1 Interner Speicherfehler(1) DP_RET_CP_MEMORY_2 Interner Speicherfehler(2) DP_RET_CP_MEMORY_3 Interner Speicherfehler(3) DP_RET_CP_MEMORY_4 Interner Speicherfehler(4) DP_RET_CP_MEMORY_5 Interner Speicherfehler(5) DP_RET_CP_MEMORY_6 Interner Speicherfehler(6) DP_RET_CP_MEMORY_7 Interner Speicherfehler(7) DP_RET_CP_NO_BUS_PAR Es sind keine Busparameter in der Datenbasis des CP enthalten.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Formate der Slave-Daten Reihenfolge der Slave-Daten Die Reihenfolge der Daten entspricht den konfigurierten Ein-/Ausgabe-Ports der DP-Slaves. Beispielsweise werden die Eingabe-Ports einer ET 200B-16DI-Station wie folgt ab- gelegt: Port 0 im ersten Byte, Port 1 im 2. Byte, usw. Format von Datenwörtern Bei der Ablage von Werten im Wortformat (2-Byte-Zahlen) ist die nachstehende Reihenfolge vorgeschrieben:...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Formate der Slave-Diagnosedaten Erklärung In den nachfolgenden Datenstrukturen sind teilweise einzelne Bits in den Bytes von Bedeutung. Die Nummerierung der Bits ist dabei stets wie folgt: das nieder- wertigste Bit (LSB - L east S ignificant B it) hat die Nummer 0 und das höchstwertige (MSB - M ost S ignificant B it) die Nummer 7.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.6.1 Übersicht der Gesamtstruktur Mögliche Länge Die Länge der Diagnosedaten liegt typischerweise im Bereich von 6 bis 32 Byte. Die maximal mögliche Länge beträgt 244 Byte. Kopfteil und bis zu vier Folgeblöcke Diagnosedaten haben einen festen Kopfteil und bis zu vier weitere Blöcke: Immer vorhanden, Kopfteil...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.6.2 Format des Kopfteils der Diagnose Gesamtstruktur des Kopfteils Byte Bedeutung Byte Stationsstatus_1 Byte Stationsstatus_2 Byte Stationsstatus_3 Byte Diag.Master_Add Byte 5 und 6 Ident_Number Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Seite 218
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 1 (Stationsstatus_1) Jedes Bit im Byte 1, dem „Stationstatus_1“-Byte, hat eine besondere Bedeutung. Name und Bedeutung Diag. Master_Lock - Der DP-Slave ist bereits von einem anderen Master parametriert worden, d. h. der eigene Master hat momentan keinen Zugriff auf diesen Slave.
Seite 219
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 2 (Stationsstatus_2) Jedes Bit im Byte 2, dem „Stationsstatus_2“-Byte, hat eine besondere Bedeutung. Bedeutung Diag. Deactivated, dieses Bit wird gesetzt, sobald der DP-Slave im lokalen Parametersatz als nicht aktiv gekennzeichnet und aus der zy- klischen Bearbeitung herausgenommen wurde.
Seite 220
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 5 und 6 (Ident_Number) In die Bytes 5 und 6, den „Ident_Number“-Bytes, wird die Herstellerkennung für ei- nen DP-Slave-Typ vergeben. Diese Kennung kann zum einen für Prüfungszwecke und zum anderen zur genauen Identifizierung herangezogen werden. Der Wert liegt im Motorola-Format vor, d.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.6.3 Format der gerätebezogenen Diagnose (Standard-DP-Slave) Bedeutung Bei Standart-DP-Slaves (ohne DPC1-Erweiterungen) werden in diesem Block all- gemeine Diagnoseinformationen wie Beispiel Übertemperatur, Unterspannung oder Überspannung hinterlegt. Die Kodierung wird gerätespezifisch durch die Sla- ve-Hersteller festgelegt.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.6.4 Format der gerätebezogenen Diagnose (Slaves mit DP-V1-Erweiterungen) Bedeutung Bei diesen Slaves enthält die gerätebezogene Diagnose Alarmdaten oder Status- meldungen. Bei den Statusmeldungen gibt es zusätzlich die Variante „Modulsta- tus“. Gesamtstruktur mit zwei Varianten Die gerätebezogene Diagnose gibt es in zwei Kodiervarianten, nämlich Alarme und Statusmeldungen.
Seite 223
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 2 (Variante Alarm_Type) Bedeutung Wert Bedeutung Alarm Alarm_Type 6 bis 0 = reserviert = Diagnose Alarm = Prozess Alarm = Pull Alarm = Plug Alarm = Status Alarm = Update Alarm 7-31 = reserviert 32-126 = herstellerspezifisch...
Seite 224
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 4 (Variante Alarm-Specifier) Bedeutung 7 bis 3 Seq_Nr Eindeutige Identifikation einer Alarm Meldung Ist dieses Bit gesetzt, so zeigt der DP-V1 Master an, Add_Ack dass dieser Alarm zusätzlich zur DPC1 Alarm Acknowledge eine separate User-Bestätigung (z.
Seite 225
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 5-63 User-spezifische Information Diese Bytes enthalten Daten mit zusätzlicher user-spezifischer Information. Das Format wird in der Slave-Dokumentation beschrieben. Bei der Variante „Statusmeldungen“ und der Einstellung „Modul_Status“ (siehe Byte 2) jedoch sind für jedes Modul/Slot zwei Bits vorgesehen. Der Modul_Status ist Byte-orientiert, nicht verwendete Bits werden auf 0 gesetzt.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel einer gerätebezogenen Diagnose mit Statusmeldung Im folgenden Bild ist eine Statusdiagnose nach dem oben aufgeführten Schema dargestellt. Gerätebezogene Diagnose: Statustyp: Statusmeldung Slot-Nummer 2 Specifier: keine weitere Unterscheidung User-Diagnosedaten: 5 Durchschnittstemperatur User-Diagnosedaten: Tem- peraturwert (Unsigned 16) Beispiel einer gerätebezogenen Diagnose mit Alarmmeldung Im folgenden Bild ist eine Alarmdiagnose nach dem oben aufgeführten Schema...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.6.5 Format der kennungsbezogenen Diagnose Bedeutung Bei modularen Slaves mit je einem Kennungsbyte pro Modul ist eine modulspezifi- sche Diagnose möglich. Der DP-Master sendet die Kennungsbytes während der Anlaufphase in einem Konfiguriertelegramm an den Slave. In der kennungsbezo- genen Diagnose ist jedem Modul im Datenblock ein Bit zugeordnet.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.6.6 Format der kanalbezogenen Diagnose Bedeutung Für die einzelnen Kanäle eines Slave wird hier die Datenorganisation des Kanals sowie Meldungen, wie z. B. „Unterspannung“ oder „Kurzschluss“, geliefert. Hinweis Beachten Sie das Beispiel weiter unten. Folge von Einträgen zu je drei Byte Die kanalbezogene Diagnose besteht aus einer Folge von Einträgen, die alle das- selbe Format haben und je drei Byte lang sind (Header-Byte, Kanalnummer, Art...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Kanalnummer Bedeutung Ein-/Ausgabe 7 und 6 Wert Bedeutung reserviert Eingabe Ausgabe Eingabe/Ausgabe 5 bis 0 Kanalnummer 0 bis 63 Hinweis Bei Kennungsbytes die sowohl Ein- als auch Ausgaben enthalten, wird in Bit 7 und Bit 6 der Kanalnummer die Richtung des diagnostizierten Kanals angezeigt.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Art der Diagnose Bedeutung Kanaltyp 7 bis 5 Kanaltyp Bedeutung reserviert 2 Bit 4 Bit Byte Wort 2 Worte reserviert Fehlertyp 4 bis 0 Fehlertyp Bedeutung reserviert Kurzschluss Unterspannung Überspannung Überlast Übertemperatur Leitungsbruch Oberer Grenzwert überschritten Unterer Grenzwert unterschritten...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.6.7 Format der Revision Number Bedeutung Es wird die Revision Number des Slaves eingetragen. Der Eintrag besteht aus ei- nem einzelnen Byte.. Struktur Byte Bedeutung Byte 1 Revision Number Byte 1 Die beiden höchstwertigen Bits im ersten Byte haben den Wert 11. Damit wird der Block „Revision Number“...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Beispiel einer Diagnose nach obigem Schema Im folgenden Bild ist eine Diagnose nach dem oben aufgeführten Schema darge- stellt. Kopfteil 6 Byte lang Gerätebezogene Diagnose: (Header-Byte) Gerätespezifisches Die Bedeutung der Bits ist herstellerspezifisch, Diagnosefeld hier 3 Byte lang Kennungsbezogene...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Format der Slave-Parameterdaten Einordnung Nachfolgend werden die Formate der Slave-Parameterdaten beschrieben, wie sie vom Aufruf DP_read_slv_par im Kapitel 4.1.11 erfragt werden. Es sind drei Vari- anten möglich, die beim Aufruf von DP_read_slv_par durch den Wert des Para- meters „type“...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.7.1 Aufbau der allgemeinen Slave-Parameter Übersicht Es handelt sich jeweils um Bytes. Die Komponenten sind byte-aligned, d. h. sie stehen unmittelbar hintereinander. Die grau hinterlegten Parameter sind nur für DP-Slaves mit DP-V1-Zusatzfunktionen relevant (werden zur Zeit nur teilweise unterstützt).
Seite 235
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Sl_Flag Dieser Parameter enthält Slave-bezogene Flags. Jedes Bit im „Sl_Flag“-Byte hat eine besondere Bedeutung. Bedeutung Active 0 bedeutet: DP-Slave ist nicht aktiviert 1 bedeutet: DP-Slave ist aktiviert New_Prm 0 bedeutet: DP-Slave bekommt Nutzdaten 1 bedeutet: DP-Slave bekommt neue Parametrierdaten Fail_Safe...
Seite 236
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Alarm_Mode Dieser Parameter legt die maximale Anzahl möglicher aktiver Alarme fest. Wert Bedeutung 1 Alarm von jedem Alarmtyp 2 Alarme insgesamt 4 Alarme insgesamt 8 Alarme insgesamt 12 Alarme insgesamt 16 Alarme insgesamt 24 Alarme insgesamt 32 Alarme insgesamt Add_Sl_Flag...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.7.2 Aufbau der Parametrierdaten Übersicht Die Parametrierdaten setzen sich aus busspezifischen Daten und DP-Slave spezi- fischen Daten zusammen. Byte-Nummer Bedeutung Byte 1 Station_status Byte 2 WD_Fact_1 Byte 3 WD_Fact_2 Byte 4 Min. Station Delay Responder Byte 5-6 Ident_Number Byte 7...
Seite 238
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 1 (Station_status) Byte 1, der „Station_status“, hat folgenden Aufbau: Dabei hat jedes Bit im „Station_status“-Byte eine besondere Bedeutung. Bedeutung Lock_Req und Unlock_Req 7 und 6 Bit 7 Bit 6 Bedeutung Bei einer Parametrierung wird die min T SDR überschrieben.
Seite 239
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 4 (Min. Station Delay Responder) Das ist die Zeit, die der DP-Slave warten muss, bis er seine Antworttelegramme an den DP-Master zurücksenden darf; Einheit: Bit-Zeiten. Byte 5 und 6 (Ident_Number) Diese Nummer wird vom Hersteller vergeben. Der DP-Slave akzeptiert nur Para- metriertelegramme, bei denen die übertragene Ident_Number mit der eigenen Ident_Number übereinstimmt.
Seite 240
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 9 (DPV1_Status_2) Bedeutung Enable_Pull_Plug_Alarm Dieses Bit wird gesetzt, um die Meldung des Alarm Typs „Pull_Plug_Alarm“ zu ermöglichen. Enable_Process_Alarm Dieses Bit wird gesetzt, um die Meldung des Alarm Typs „Process_Alarm“ zu ermöglichen. Enable_Diagnostic_Alarm Dieses Bit wird gesetzt, um die Meldung des Alarm Typs „Diagno- stic_Alarm“...
Seite 241
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Byte 10 DPV1_Status_3 Bedeutung reserviert Alarm Modus Bit 4 Bedeutung Alarm von jedem Typ Alarme insgesamt Alarme insgesamt Alarme insgesamt Alarme insgesamt Alarme insgesamt Alarme insgesamt Alarme insgesamt Byte 11 bis n herstellerspezifische Daten Diese Bytes sind für DP-Slave-spezifische Parameter (z.
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes 4.7.3 Aufbau der Konfigurierdaten Übersicht des Aufbaus Die Konfigurierdaten enthalten den Umfang der Ein- und Ausgabedatenbereiche und Angaben über die Datenkonsistenz. Sie bestehen aus einer Folge von Datenblöcken, wobei jeder Datenblock eines von zwei alternativen Formaten haben kann: Konfigurierdaten Variante 1...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Aufbau eines Kennungsbytes Jedes Bit hat eine besondere Bedeutung: Bedeutung 0 bis 3 Anzahl der Dateneinheiten - 1 3 bedeutet z. B. 4 Dateneinheiten der in Bit 6 angegebenen Länge Ein-/Ausgabe 4 und 5 Bit 5 Bit 4 Bedeutung...
Beschreibung der einzelnen DP-Funktionen und Daten sowie Fehlercodes Längen-Bytes Jedes Bit in den Längen-Bytes hat eine besondere Bedeutung. Bedeutung 0 bis 5 Anzahl der Dateneinheiten 0 (dezimal) bedeutet: 1 Dateneinheit 63 (dezimal) bedeutet: 64 Dateneinheiten (zur Länge der Dateneinheiten siehe Bit 6) Länge 0 bedeutet:eine Dateneinheit ist ein Byte lang 1 bedeutet:eine Dateneinheit ist zwei Bytes lang...
FAQ (Frequently Asked Questions) FAQ (Frequently Asked Questions) In diesem Kapitel werden, nach Kategorien geordnet, typische Detailfragen („Fre- quently Asked Questions“) zur Programmierschnittstelle des CP 5613 und CP 5614 beantwortet. Für die Erstellung Ihres Anwenderprogramms sind die Abschnitte über die Struktu- rierung von Anwenderprogrammen und die Checkliste für Programmierer beson- ders wichtig.
FAQ (Frequently Asked Questions) FAQ zum Leistungsumfang des Produkts Welche Software-Versionen gibt es, und wie unterscheiden sie sich? Beachten Sie dazu bitte die Versionstabelle im Kapitel 14.2 der Installationsanlei- tung. Welche Betriebssysteme werden unterstützt? Beachten Sie dazu bitte die Versionstabelle im Kapitel 14.2 der Installationsanlei- tung.
Seite 247
FAQ (Frequently Asked Questions) Wird ein User-Watchdog unterstützt? Beachten Sie dazu bitte die Versionstabelle im Kapitel 14.2 der Installationsanlei- tung. Sind der CP 5613 und CP 5614 OPC-fähig? OPC-Produkte zur Unterstützung des CP 5613/CP 5614 sind in Planung. Welche Reaktionszeiten und Datentransferraten erreicht der CP 5613/CP 5614? Beachten Sie dazu bitte die Mengengerüstangaben im Kapitel 14 der Installations- anleitung.
FAQ (Frequently Asked Questions) FAQ zur Strukturierung Ihres Anwenderprogramms Können DP und DPC1 parallel betrieben werden? Ja. Der DP-Master muss aber schon im Zustand OPERATE sein, bevor DPC1-Funktionen benutzt werden können. Wieviele DPC1-Aufträge können parallel abgesetzt werden? Pro Slave-Adresse können zu einem Zeitpunkt bis zu zwei DPC1-Aufträge abge- setzt werden, davon einer für lesen oder schreiben und einer für Alarm- Acknowledge.
Seite 249
FAQ (Frequently Asked Questions) Was sind die Nachteile eines nur pollenden Anwenderprogramms? Wenn Ihr Anwenderprogramm sich beim Pollen nicht bremst, wird es die gesamte verfügbare CPU-Leistung des PC dafür verwenden, viel zu oft das Prozessabbild abzufragen. Wenn es sich zu sehr bremst, veralten die Daten. Wir empfehlen Ih- nen daher, das Pollen durch eine Zeitsteuerung zu bremsen, die zu Ihrer Anlage passt.
Seite 250
FAQ (Frequently Asked Questions) Wie kann ich mit mehreren Threads auf das Prozessabbild zugreifen? Wir raten davon ab. Die Kontrollregister zum konsistenten Lesen und Schreiben von Slave-Daten können dann überschrieben werden, wodurch z. B. einem gerade lesenden Thread die Konsistenz seiner Slave-Daten entzogen werden kann. Um dies zu umgehen, müssen Sie unbedingt die Threads mit einem Verriege- lungsmechanismus versehen, so dass immer nur einer zu einer Zeit auf das Pro- zessabbild zugreifen kann.
FAQ (Frequently Asked Questions) FAQ Checkliste für Programmierer Was ist bei der Programmstruktur besonders zu beachten? Überprüfen Sie Ihre Programmstruktur auf folgende Punkte: • Beginnen Sie Ihr Anwenderprogramm mit einem DP_start_cp, DP_open und DP_get_pointer und beenden Sie diese in allen Fällen mit DP_release_pointer, DP_close und DP_reset_cp.
Seite 252
FAQ (Frequently Asked Questions) Soll ich den Zeiger währen der Laufzeit meines Programms behalten? Solange Ihr Anwenderprogramm den Zeiger auf das Prozessabbild hat (Aufruf DP_get_pointer), kann kein anderes Anwenderprogramm darauf zugreifen. In die- sem Fall behalten Sie den Zeiger bis zum Programmende. Wenn Sie aber nur „sporadisch“...
Seite 253
FAQ (Frequently Asked Questions) Wo finde ich eine Übersicht aller Fehlermeldungen? In den Header-Dateien „5613_ret.h“ und „5614_ret.h“. Zum Aufschlüsseln verwen- den Sie bitte die Funktion DP_get_err_txt. Worauf muss ein Anwenderprogrammierer noch achten? • Verwenden Sie für parallele Aufträge eindeutige Order-IDs. •...
FAQ (Frequently Asked Questions) FAQ für Test und Inbetriebnahme Ihres Programms Was sind typische Fehlerquellen bei der Inbetriebnahme? • Busstörung aufgrund von Wackelkontakten/falscher Verkabelung/fehlendem Buswiderstand sind eine recht häufige Ursache schwer reproduzierbarer Stö- rungen. • Falsch projektierte Slave-Typen • Verwechselte Datenbasen •...
FAQ (Frequently Asked Questions) FAQ sonstige Programmierfragen Lassen sich auch Gruppen von Slaves für Hardware-Events nutzen? Das können Sie mit Software-Mitteln selbst machen, z. B. wie folgt: Bei jedem Zy- klusanfang aktivieren Sie die Hardware-Events aller Slaves in Ihrer Gruppe, und sobald ein Event passiert, deaktivieren Sie alle wieder bis zum Zyklusende.
Seite 256
FAQ (Frequently Asked Questions) Was ist bei Multiapplikationsbetrieb mehrerer DP-Master-Anwenderprogramme, die auf den gleichen CP 5613 oder CP 5614 zugreifen, besonders zu beachten? Beim Multiapplikationsbetrieb ist eine Koordinierung der Anwenderprogramme er- forderlich. Sie umfasst unter anderem folgende wichtige Punkte: • Solange ein Anwenderprogramm einen Zeiger auf das Prozessabbild besitzt (Aufruf DP_get_pointer), kann kein anderes Anwenderprogramm darauf zu- greifen.
Seite 257
FAQ (Frequently Asked Questions) Wen kann ich bei Problemen ansprechen? Bitte lesen Sie dazu das Kapitel „Wo Sie Hilfe bekommen“ in der Installationsan- leitung zum Produkt. Für Zusatzinformationen an Programmierer siehe auch: http://www.ad.siemens.de/net/html_00/index.shtml Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Seite 258
FAQ (Frequently Asked Questions) Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Wo Sie Hilfe bekommen Das folgende Kapitel nennt Ansprechpartner von SIMATIC NET: Ansprechpartner für technische Fragen Ansprechpartner für Schulung von Produkten von SIMATIC NET Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Ansprechpartner Sollten Sie in den angegebenen Informationsquellen keine Antworten auf techni- schen Fragen zur Nutzung der beschriebenen Software erhalten, wenden Sie sich bitte an Ihren Siemens-Ansprechpartner in den für Sie zuständigen Vertretungen oder Geschäftsstellen. Die Adressen finden Sie: • in unserem Katalog IK 10 •...
Seite 261
Ortszeit: Mo bis Fr 8:00 bis 17:00 Uhr Ortszeit: Mo bis Fr 8:30 bis 17:30 Uhr Telefon: +1 423 461-2522 Telefon: +65 740-7000 Fax: +1 423 461-2231 Fax: +65 740-7001 E-Mail: simatic.hotline@sea.siemens.com E-Mail: simatic.hotline@sae.siemens.com.sg Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Seite 262
Das SIMATIC Customer Support bietet Ihnen über die Online-Dienste umfangrei- che, zusätzliche Informationen zu den SIMATIC-Produkten: • Allgemeine, aktuelle Information erhalten Sie: – im Internet (http://www.ad.siemens.de/simatic) – über Fax-Polling • Aktuelle Produktinformation und Downloads, die beim Einsatz nützlich sein können erhalten Sie: –...
Wo Sie Hilfe bekommen Ansprechpartner für Schulung von SIMATIC NET SIMATIC Trainings-Center Wenden Sie sich bitte an Ihr regionales Trainings-Center oder an das zentrale Trainings-Center in D-90327 Nürnberg, Tel. 0911-895-3154. Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Seite 264
Wo Sie Hilfe bekommen Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Glossar Glossar Anlage Gesamtheit aller elektrischen Betriebsmittel - Zu einer Anlage gehören u. a. Spei- cherprogrammierbare Steuerung, Geräte für Bedienen und Beobachten, Bussy- steme, Feldgeräte, Antriebe, Versorgungsleitungen. Ansprechüberwachungszeit Eine im DP-Slave einstellbare Überwachungszeit zur Ausfallerkennung des zuge- ordneten DP-Masters. Ausgabedaten Hier: Die Daten, die der DP-Master zyklisch an die Slaves schickt.
Glossar c_ref Kennung zur Identifikation von Verbindungen zu Slaves bei DPC1-Aufrufen. COM PROFIBUS Projektierungswerkzeug zur Beschreibung der Kommunikationsteilnehmer und der Busparameter. C ommunication P rocessor - Kommunikationsbaugruppe/Netzwerkkarte für den Einbau in Rechner oder Automatisierungssysteme. C entral P rocessor U nit - hier: Prozessor des PC CPU-Last Belastung der CPU des PC - hier: durch DP-Kommunikation Data_Ex...
Seite 267
Glossar Dezentrale Peripherie Ein- und Ausgabebaugruppen, die dezentral von der CPU (Zentraleinheit der Steuerung) eingesetzt werden. Die Verbindung zwischen dem Automatisierungsge- rät und der Dezentralen Peripherie erfolgt über das Bussystem PROFIBUS. Auto- matisierungsgeräten wird der Unterschied zu lokalen Prozessein- oder Pro- zessausgaben verdeckt.
Seite 268
Glossar DP-Master Klasse 1 siehe DP-Master DP-Master Klasse 2 Optionaler Diagnose-Master – Der Diagnose-Master dient zur Überwachung des DP-Master Klasse 1 und der DP-Slaves. DP-Slave Ein Teilnehmer mit Slave-Funktion bei PROFIBUS DP. DP-Subnetz PROFIBUS-(Sub)Netz, an dem nur Dezentrale Peripherie betrieben wird. DP-Subsystem Ein DP-Master und alle DP-Slaves, mit denen dieser DP-Master Daten austauscht.
Seite 269
Glossar Eingabedaten Hier: Die Daten, die der DP-Master zyklisch von den Slaves liest. Event Hier: Ein Ereignis, das der CP 5613/CP 5614 dem Anwenderprogramm melden kann. Es gibt Hardware-Events und Software-Events. Fast Logic Eigenschaft des CP 5613/CP 5614: ein Eingabewert eines Slave kann überwacht werden.
Seite 270
Glossar Höchste PROFIBUS-Adresse Ein Busparameter für PROFIBUS. Gibt die höchste PROFIBUS-Adresse eines ak- tiven Teilnehmers an PROFIBUS an. Für passive Teilnehmer sind PROFIBUS- Adressen größer als HSA zulässig (Wertebereich: HSA 1 bis 126). H ighest S tation A ddress - einer der Busparameter. Gibt die höchste im Netz ver- wendete Teilnehmeradresse an.
Seite 271
Glossar Master Aktiver Teilnehmer an PROFIBUS, der unaufgefordert Telegramme senden kann, wenn er im Besitz des Token ist. Maximum Station Delay Ein Busparameter für PROFIBUS - Die Maximum Station Delay (max. T ) gibt die größte, bei einem der Teilnehmer im Subnetz benötigte Zeitspanne an, die zwi- schen dem Empfang des letzten Bits eines unquittierten Telegramms bis zum Sen- den des ersten Bits des nächsten Telegramms vergehen muss.
Glossar MSCY_C1 „Master Slave cyclic class 1“ - Name für den normalen DP-Master-Betrieb in der DP-V1-Normbeschreibung. Netz Ein Netz besteht aus einem oder mehreren verknüpften Subnetzen mit einer belie- bigen Zahl von Teilnehmern. Es können mehrere Netze nebeneinander bestehen. Für jedes Subnetz gibt es eine gemeinsame Knotentabelle. P ersonal C omputer P rogrammier g erät - Programmiergerät für die Produktfamilie SIMATIC der Sie- mens AG;...
Seite 273
Grenzwert, dann wird der logische Token-Ring neu aufgebaut (reorga- nisiert). S7-AG Abkürzung für ein Automatisierungsgerät der Produktfamilie SIMATIC der Siemens S ervice A ccess P oint - Zugangspunkt zum PROFIBUS innerhalb einer Station Semaphor Wartestellenmechanismus zur Synchronisation mehrerer Programme, z. B. in Win- dows NT.
Seite 274
Empfang einer Quittung bis zum Senden eines neuen Aufruftele- gramms durch den Sender an. SIMATIC NET Siemens Network and Communication - Produktbezeichnung für Netze und Netz- komponenten bei Siemens. Slot Time Ein Busparameter für PROFIBUS - Die Slot Time (TSL) ist die Überwachungszeit eines Senders eines Telegramms auf die Quittung des Empfängers.
Seite 275
Glossar Telegramm-Trailer Der Telegramm-Trailer besteht aus einer Prüfsumme und der Endekennung des Telegramms. Thread Parallel laufender Subprozess Treiber Software, die dem Datenaustausch von Anwenderprogrammen mit dem CP dient. User-Watchdog Watchdog zur Überwachung des DP-Anwenderprogramms Watchdog Mechanismus zur Überwachung der Betriebsbereitschaft Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...
Seite 276
Glossar Programmierschnittstelle DP-Base für CP 5613/CP 5614 C79000-G8900-C139-04...