Home

SIMATIC NET

image

Contents

1. Enable_Status_Alarm Enable_Update_Alarm errOr_CIass eenceeeeeeneeeeeennnnennnnneeeeennnnn Error Code eeeennaannnneneeeeennnnnnnnnnnneeenennnn error_code_1 2uunneeeeeennnnnnnnnneeeeeennn error_cOde 2 eannneeeeneeeeeennnnnnnnnnnneeeeennn error_decode 2uuusennnnnnnnneeeeeeennn F Fail Safe uennceeeenneeeeeennsnneennnnnnnnennnenn Fail_Safe eeeneeeeeennnnsnnnnneneeeenennnnnnnn Fast Logic Fehlerinformationen Fehlermeldungen bersicht u nseeeeenneeeeeennenneennnnnen Feldbus uunnneeeeesssneeeennnnnneennenennnnneenn Firmware Version eeren FREEZE oeeeeesiirrrrrrresrerrrrena Freeze_Req uusenesnnnennnnnnnnnnnnn G Global Control 0 152 Global Control Command 92 Group_ldent 222222222222 2 239 Hardware Event uuaneeenneeennnnnnn aktivieren Vor und Nachteile Hardware Version ccccccecnece Header Datei u uuunnnenenneneanennnne herstellerspezifische Daten Import Libraries Initialisierung 44444nnenn nennen 278 K Konfiguration Konsistenz eeenennnennennnnnnnnn L LED airi ig 73 LeertelegramMmM s nsssisisseieinisrenerninenns Lock _Req eeeeeessrrrrnrsssrrrrerens 238 M Masten reelle Zustand us
2. 222222222222220000nnnn nennen 2 10 Typische Sequenzen bei DP ussssssssnnnnnnnnnnnnnnnnannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nn 2 11 DP V1 als Erweiterung von DP uueessssssnsssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnannnnnn nn 2 12 Slave Funktionalit t des CP 5614 224ssnnennnnssnnnnnnnnnnnnnnnnnnannnnnnnnnannnnn nn 3 bersicht DP Base Schnittstelle 2 2 2 2 2420200000000222220000000000002000000000000B0B0000R0n0n 00 93 1 Aufteilung in Funktionen und Daten 44440sssnnssnnnnnnnnennennnnnnnnnnnnnnnnnnnnn nn 3 2 Rolle der Projektierung 44444444440000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnannnn 3 3 Konsistenter Zugriff auf das Prozessabbild 4ussssssssnnnnnnnnnnnnnnnnnnnnnn 3 4 Mit Hardware Events arbeiten 4444404nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 3 5 Eolo eE EEIOLEUNENEEENTERHANRLEENESGRERSEARLHENESONEFTSCHERTENTER 3 6 bersicht zum Ausl sen und Empfang von Events nnnnnenenen 3 7 Typische Sequenzen aa aa aaia aa aaa 3 7 1 Initialisierung und Abschluss des Master Betriebs 222222222222200000 0 3 7 2 Typische Sequenzen beim pollenden Master Betrieb n 3 7 3 Typische Sequenzen beim pollenden DPC1 Master Betrieb 3 7 4 Typische Sequenzen beim Master Betrieb mit Hardware Events 3 7 5 Typische Sequ
3. ennn Diag Prm_Req nn Diag Stat_Diag nn Diag Station_Non_Existent Diag Station_Not_Ready Diag Sync_Mode Diag WD_On nseennennnnsennnnnnn Diagnose uussnssssnnnnnnnnnnnnnnnnnnnnnnnnnn Diagnosedaten 42440ennnne een lesen anna dO 5613 1 PORPERTESBCRERLEERERERLPERFECH RERLEERESLEGRR dp baseAlla z rer DP_ERROR_CI nenn DP_ERROR_EVENT DP_ERROR_EVENT_NET dps 561A h anti dps based nn DPS_calc_io_data_len DPS CIOSe 4 Ra DPS_get_baud_rate DPS_get_gce_command s DPS_get_ind uuuseessssennnnnnnnnnnnnnnnen DPS_get_state uueeeenennnnnnnnnnnnnnnnnnn 277 Stichwortverzeichnis DPS_open nssseenssnsennnnnnnnnennnn nn DPS_set_diag ennnnnnnnn DPS_set_resp eeenennenennnnnnnnnnn DPS_start uueeeeeasnssennnnnneeennnnnnnnnn DPS SlOP sense en een DP V Terran DPV1_Enable neneee DPV1_Status_ 1 DPV1_Status_3 neeeeennnnneneen DPV1_Supported nn E Eingabedaten nnnene 18 20 lesen ueenssseeeeennsnnnesnnnnnnennnnnn nennen Enable_Diagnostic_Alarm Enable_Manufacturer_Specific_Alarm Enable_Process_Alarm Enable_Pull_Plug_Alarm
4. p gt ctr D_out_slave_adr 127 Die Daten werden jetzt ins Slave Modul bertragen Von dort kann sie der berge ordnete Master als Eing nge lesen Hinweis 1 Die Sendedaten werden vom Master nur bernommen wenn das Slave Modul des CP 5614 im Zustand READY und der Master im Zustand CLEAR AUTOCLEAR oder OPERATE ist Hinweis 2 Auf die Zelle p gt ctr D_out_slave_adr darf nur schreibend zugegriffen werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Beispiel f r konsistentes Lesen Es sei p ein Zeiger auf das Prozessabbild den Ihr Anwenderprogramm beim DP_get_pointer Aufruf erhalten hat Dann werden 200 Byte Empfangsdaten des Slave Moduls wie folgt in einen lokalen Puffer buf kopiert Sperren des Datenbereichs gegen Aktualisierung p gt ctr D_lock_in_slave_adr 127 Daten wegkopieren memcpy buf amp p gt pi slave_in 127 data 0 200 Sperre wieder aufheben p gt ctr D_lock_in_slave_adr
5. 4 6 4 Format der ger tebezogenen Diagnose Slaves mit DP V1 Erweiterungen 4 6 5 Format der kennungsbezogenen Diagnose uu 4444nnnnnnnnnnnnnnnnnnnnnnnnnnnn 4 6 6 Format der kanalbezogenen Diagnose uussnnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnn nen 4 6 7 Format der Revision Number usssssnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 4 7 Format der Slave Parameterdaten 444444nnennnnnnnnnnnnnnnnnnnnnnnnnn ann 4 7 1 Aufbau der allgemeinen Slave Parameter 4 7 2 Aufbau der Parametrierdaten 4444444444nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nenn 4 7 3 Aufbau der Konfigurierdaten 44444444440Hnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn nenn 5 FAQ Frequently Asked Questions uusruuunnannnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 5 1 FAQ zum Leistungsumfang des Produkts 4sssn444444nnnnnnnnnnnnnnnnnnnnnnnnnnnn 246 5 2 FAQ zur Strukturierung Ihres Anwenderprogramms 44444ssnnnsss nennen 248 5 3 FAQ Checkliste f r Programmierer 444444nnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 251 5 4 FAQ f r Test und Inbetriebnahme Ihres Programms s es 254 5 5 FAQ sonstige Programmierfragen 44444snnennnnnnnnnnnnnnnnnnnnnnnnnnnnnn nen 255 6 Wo sie Hilfe bekommen ee 6 1 Hilfe bei technischen Fragen 444444ssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 260 6 2 Ansprechpartner
6. Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 133 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Der Watchdog konnte aktiviert bzw de aktiviert werden andere Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 134 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 27 DP_write_trc Zweck Syntax 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 Voraussetzung Damit der Trace Eintrag in die Trace Datei geschrieben wird sind folgende Vor aussetzungen erforderlich 1 Aktivierung der DP Trace Datei durch das Programm DP_Trace einstellen Der Aufruf dieses Programms erfolgt ber PG PC Schnittstelle einstellen Diagnose gt erweiterte Diagnose gt DP_Trace 2 Freischaltung der Funktion DP_write_text in der Trace Auswahl des Pro gramms DP_Trace einstellen 3 bereinstimmung des Aufzeichnungs Levels zum Vorgabewert in DP_Trace einstellen Der Aufzeichnungs Level wird im Aufrufparameter trc_depth siehe unten gew hlt Hinweis 1 Die DP Trace Datei beeintr chtigt die Ausf hrungsgeschwindigkeit und Dynam
7. Return Wert DP_OK Die Funktionsbearbeitung wurde erfolg reich abgesetzt DP_ERROR_EVENT_NET und Es ist kein DP_enable_event Request in error gt error_code Bearbeitung DP_RET_CP_NO_EVT_PENDING Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 118 C79000 G8900 0 139 04 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 Wird als Timeout Wert unendlich eingetra gen wartet DP_get_result solange bis eine Quittung eingetroffen ist Hinweis 1 Wird beim Absetzen von DP_close noch auf asynchrone Quittungen gewartet wird DP_get_result mit der Fehlerklasse DP_ERROR_USR_ABORT beendet Hinweis 2 Die Quittungen k nnen prinzipiell in einer beliebigen Reihenfolge eintreffen Hierzu eine Beispielsequenz Das Anwenderprogramm setzt einen DP_enable_event Aufruf ab um beim Eintreffen von Alarmen unterrichtet zu werden Das Anwenderprogramm setzt einen DP_ds_write Aufruf ab um z B Sla ve 10 nachzuparametrieren e Daraufhin ruft das Anwenderprogramm in einem zweiten Thread die Funktion DP_get_result auf und erh lt die Quittung f r den
8. DP_RET_CP_REQ_RE Format Error in einem Response Telegramm Quelle lokale DP Instanz Direct Data Link Mapper DP_RET_CP_MM_FE Format Error in einem Request Frame Quelle remote DP Instanz Direct Data Link Mapper DP_RET_CP_MM_NI Funktion nicht implementiert meom umuma DP_RET_CP_MM_AD Zugana abgelehnt DP_RET_CP_MM_EA Bereich zu gro Up Download Bu Quelle remote User DP_RET_CP_MM_LE Datenblockl nge zu gro Up Download Be Quelle remote User DP_RET_CP_MM_RE Formatfehler in einem Response Frame Quelle lokale DP Instanz Direct Data Link Mapper DP_RET_CP_MM_IP ne Parameter DP_RET_CP_MM_SC aaa Ben N Quelle remote User DP_RET_CP_MM_SE Sequenzfehler Quelle remote DP Instanz Direct Data Link Mapper DP_RET_CP_MM_NE Bereich existiert nicht Quelle remote User Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 201 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_EVENT_NET Bedeutung ee DP_RET_CP_MM_DI Daten unvollst ndig e DP_RET_CP_MM_NC Master Parametersatz nicht kompatibel daher nicht bearbeitet werden DP_RET_CP_RESET_INSTANCE Fehler beim DP Reset DP_RET_CP_SET_MODE_CLR_ACT Der DP_set_mode Aufruf konnte nicht durch gef hrt werden weil ein voriger DP_set_mode Aufruf Wechsel in den Status Clear noch in Bearbeitung ist DP_RET_CP_SET_MODE_FAIL Fehler w hrend der DP_set_mode Bearbeitung DP_RET_CP_SET_MO
9. Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 130 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Der Fast Logic Trigger wurde deaktiviert DP_ERROR_CI und Fast Logic ist bereits deaktiviert error gt error_code CI_RET_FL_ALREADY_OFF DP_ERROR_CI und Ein zweiter User ist nicht erlaubt error gt error_code CI_RET_FL_DOUBLE_USER DP_ERROR_CI und Parameter fast_logic_id ung ltig error gt error_code CI_RET_FL_INV_ID DP_ERROR_CI und Das Feld activated_fast_logic ist nicht error gt error_code Null CI_RET_FL_NOT_CLEAR Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 131 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 26 DP_watchdog Zweck 132 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 B Endlosschleife nicht mehr auf das Watchdog Element im Dualport RAM zu wird dies vom CP 5613 CP 5614 nach Ablauf der Timeout Zeit erkannt Als Reaktion wechselt der CP daraufhin vom DP Zustand
10. DPR_DP_UNLOCK Die kopierten Daten sind die Empfangsdaten des Slave Moduls die der berge ordnete Master als Ausg nge gesendet hat Lesen ohne Konsistenz Beim Lesen ohne Konsistenz lassen Sie das Sperren und Freigeben des Datenbe reichs einfach weg Allgemeine Hinweise Hinweis Die Daten sind nur g ltig wenn das Slave Modul des CP 5614 im Zustand READY und der Master der den Slave steuert im Zustand OPERATE ist Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 191 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 Zum Format der Diagnosedaten siehe Kap 4 6 Beispiel f r Diagnosedaten senden Es sei h das User Handle das Ihr Anwenderprogramm beim DPS_open Aufruf er halten hat Dann werden 10 Byte User Diagnosedaten des Slave Moduls wie folgt aus einem lokalen Puffer diag_buf gesendet Diagnosedaten an das Slave Modul bergeben DPS_set_diag h diag_buf 10 0 amp err Hinweis Die Diagnosedaten werden vom Master nur bernommen wenn das Slave Modul des CP 5614 im Zustand READY und der Master der den Slave steuert im Zu stand CLEAR AUTOCLEAR oder OPERATE ist Pr
11. Fehlercodes Programmierschnittstelle DP Base f r CP 5613 CP 5614 68 C79000 G8900 C 139 04 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 h synchron Einige Funktionen z B DP_ds_read sto en hingegen lediglich die Bearbeitung an und beenden sich dann Der eigentliche Abschluss der Bearbeitung muss dann gesondert durch den Aufruf der Funktion DP_get_result in Erfahrung gebracht werden d h asynchron Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 69 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 1 bersichtstabellen zu den Funktionen Administrative Funktionen 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 DP_init_sema_object Diese Funktion richtet ein Semaphor ein an der Ihr Anwenderprogramm auf das Eintreffen von Ereignis sen warten kann DP_delete_ sema_object Diese Funktion meldet ein Semaphor wieder ab DP_release_poi
12. Programmierschnittstelle DP Base f r CP 5613 CP 5614 252 C79000 G8900 0 139 04 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 e Verwenden Sie f r parallele Auftr ge eindeutige Order IDs e Beachten Sie dass ein ankommender Hardware Event seine Aktivierungsbe dingung l scht Sie m ssen ihn also erneut aktivieren e Nutzen Sie Hardware Events nicht gleichzeitig mit periodischen Pollen f r den selben Slave Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 253 FAQ Frequently Asked Questions 5 4 FAQ f r Test und Inbetriebnahme Ihres Programms Was sind typische Fehlerquellen bei der Inbetriebnahme e Busst rung aufgrund von Wackelkontakten falscher Verkabelung fehlendem Buswiderstand sind eine recht h ufige Ursache schwer reproduzierbarer St rungen e Falsch projektierte Slave Typen e Verwechselte Datenbasen e Busparameter fehlerhaft e Bei den Slaves falsch eingestellte Stationsadressen Gibt es Werkzeuge zur Fehlereinkreisung Benutzen Sie das in der Installationsanleitung beschriebene Werkzeug PG PC Schnittstelle einstellen erreichbar ber das Startmen von Windows NT Dieses Werkzeug eignet sich hervorragend zur Fehlerdiagnose Von diesem PG PC S
13. 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 PROFIBUS das vielf ltige Produktspektrum Die Rolle des PC am PROFIBUS 14 Neben dem Trend der Dezentralisierung nimmt der Standard PC als Automatisie rungsger t durch seine Performance Steigerung und Verbreitung immer mehr an Bedeutung zu besonders bei Steuerungsaufgaben und bei der Visualisierung Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 15 bersicht PROFIBUS DP 2 2 Das Master Slave Konzept von PROFIBUS DP Dezentrale Peripherie Die Dezentrale Peripherie
14. ein anderer String als German oder Eng lish eingetragen so wird der Fehlertext in englischer Sprache ausgegeben Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 83 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 9 DP_set mode Zweck 84 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 Er wechselt dann stattdessen nach DP_AUTOCLEAR was von der Bedeutung her mit DP_CLEAR identisch ist Ihr Anwenderprogramm darf also nicht endlos pollen ob der Zustand DP_OPERATE erreicht ist sondern muss auch pr fen ob der Master infolge eines Slave Problems in den Zustand DP_AUTOCLEAR gewechselt hat Zelle USIF_state siehe Kap 4 3 6 Hinweis 1 Da das Erreichen des neuen Betriebszustands l ngere Zeit dauern kann abh ngig von Daten bertragungsgeschwindigkeit Zahl der Slaves etc wartet die Funktion nicht bis der neue Betriebszustand erreicht worden ist Dadurch wird verhindert dass das Anwenderprogramm unzul ssig lang verz gert werden kann Hinweis 2 Beim Einstellen eines neuen Zustands d rfen keine Zust nde bersprungen wer den Ausgehend von der aktuellen Zustand m ssen die Zust nde in der vorgege benen
15. for i 0 i lt DPR_MAX_SLAVE_ADDR i if p gt info_watch slave_info li slave_state DPR_SLV_R sumt t gefunden Daneben gibt es noch den Zustand DPR_SLV_NOT_READY der auch nicht pro jektierte Slaves einschlie t Hinweis 1 Der DP Master versucht automatisch Slaves im Zustand NOT READY wieder neu zu initialisieren und in die zyklische Bearbeitung aufzunehmen Hinweis 2 Das Anwenderprogramm darf die Variable slave_state nicht berschreiben Hinweis 3 Der Speicherbereich mit Index 127 enth lt den Zustand des Slave Moduls des CP 5614 Hinweis 4 Wenn der Slave im Zustand READY ist bedeutet dies nicht zwangsweise dass seine Daten g ltig sind Vorliegende Diagnosedaten k nnen die G ltigkeit der Da ten einschr nken Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 e dent Nummer der Zertifizierung e Hardware Version e Firmware Version Beispiel Es sei p ein Zeiger auf das Prozessabbild den Ihr Anwenderprogramm beim DP_get_pointer Aufruf erhalten hat Um diese Informationen auf dem Bildschirm eines einfachen Anwe
16. von Windows NT erreichbar Hinweis Um den CP wieder zu benutzen muss Ihr Anwenderprogramm als n chstes den Aufruf DP_start_cp verwenden Syntax DPR_DWORD DP_reset_cp const DPR_STRING cp_name in DP_ERROR_T error out Parameter ame Beschreibung Logischer Name des CP z B CP_L2_1 Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_CI und Nicht erfolgreich weil andere Anwen error gt error_code dungen den CP noch nutzen CI_RET_RESET_CP_USED Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 74 C79000 G8900 0 139 04 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 DPR_DWORD user_handle out DP_ERROR_T error out Parameter Logischer Name des CP z B CP_L2_1 user_handle Zeiger auf User Handle Variable Im Erfolgsfall wird hier das dem Anwenderprogramm zugeordnete User Handle eingetragen Adresse einer vom Anwenderp
17. DPR_WORD slv_add in DPR_DWORD c_ref out DP_ERROR_T error out Parameter User Handle das beim Aufruf DP_open vergeben wurde c_ref Nach erfolgreichem Abschluss der Funktion enth lt c_ref die angeforderte Referenz Slave Adresse Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Die c_ref konnte ermittelt werden Fehlerhafter Abschluss der Funktion keine Quittung verf g bar Programmierschnittstelle DP Base f r CP 5613 CP 5614 122 C79000 G8900 0 139 04 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 Mit ihnen kann man in Threads oder in Prozessen auf das Eintreffen von Ereignissen warten Hinweis 1 Um f r den CP 5614 Semaphore f r Master und Slave Betrieb gleichzeitig zu verwenden erzeugen Sie ein Master Semaphor vom Typ DP_OBJECT_TYPE_ASYNC mit dem User Handle des DP_open Aufrufs und dann noch eines vom Typ DP_OBJECT_TYPE_ASYNGC aber mit dem User Hand
18. DP_OFFLINE DP_STOP DP_CLEAR DP_AUTOCLEAR DP_OPERATE Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 115 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Element Beschreibung event mst_event new_mst_state 116 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 Folgende Ereigniskennungen k nnen pro Slave Adresse zu r ckgegeben werden ggf auch mehrere mit Oder verkn pft 0 kein Ereignis DP_DIAG Diagnose ist eingetroffen und kann durch DP_fetch_alarm ausgelesen werden e DP_ALARM_STATUS Diagnose mit Alarm oder Sta tusdaten wurden zwischenge speichert und m ssen mit DP_fetch_alarm ausgelesen werden e DP_SLAVE_ENTER Der Slave wurde in die Bear beitung aufgenommen e DP_SLAVE_EXIT Der Slave ist aus der Bearbei tung herausgefallen Das Element mst_event enth lt die Kennung DP_MST_STATE_CHG wenn in selector der Wert DP_MST_STATE eingetragen ist und der Master Zustand sich gegen ber dem in mst_state vorgegebenen Wert ge ndert hat ansonsten den Wert 0 new_mst_state enth lt den aktuellen Master Zustand Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139
19. DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Das Kommando DPS_stop ist im error gt error_code momentanen Betriebszustand nicht DPS_RET_SEQUENCE ERROR erlaubt DP_ ERROR_REQ_PAR und Die Pufferl nge ist ung ltig error gt error_code DPS_RET_BUF_LEN Fehlerhafter Abschluss der Funktion DP_ERROR_REQ_PAR und User _handle falsch code DP_RET_PAR_USR_HANDL DP_ERROR_REQ_PAR und Parameter data_len falsch code DP_RET_PAR_DATA_LEN Programmierschnittstelle DP Base f r CP 5613 CP 5614 162 C79000 G8900 0 139 04 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 Hinweis Die Indications DPS_BAUD_CHANGED DPS_GO_LEAVE_DATA_EX DPS_NEW_GC sowie DPS_NO_IND d rfen nicht quittiert werden Syntax DPR_DWORD DPS_set_resp DPR_DWORD user_handle DPR_DWORD ind_ref DPR_WORD data_len DPR_BYTE data_blk DP_ERROR_T error Parameter User Handle das beim Aufruf DPS_open vergeben wurde ind_ref Referenznummer die von DPS_get_ind zur ckgegeben wurde Datenl nge der Daten in data_blk data_blk Adresse der Antwortdaten error Adresse einer
20. Ein Sender darf nach dem Senden eines unquittierten Telegramms erst nach Ablauf der Zeitspanne max Tsor ein weiteres Telegramm senden Minimum Station Delay Ein Busparameter f r PROFIBUS Das Minimum Station Delay min Tsor gibt die Zeitspanne an die der Empf nger eines Telegramms bis zum Senden der Quittung oder bis zum Senden eines weiteren Telegramms mindestens warten muss Die min Tsor richtet sich nach der gr ten bei einem Teilnehmer im Sub system ben tigten Zeitspanne zur Entgegennahme einer Quittung nach dem Sen den des Telegramms min Tsor Siehe Minimum Station Delay Motorola Format Zahlen werden im Motorola Format gespeichert wenn h herwertige Bytes zuerst d h auf niedrigen Adressen abgelegt werden MSAC_C1 Master Slave Acyclic Class 1 Name f r DPC1 in der DP V1 Normbeschreibung MSAC_C2 Master Slave Acyclic Class 2 Name f r DPC2 in der DP V1 Normbeschreibung MSB Most Significant Bit h chstwertigstes Bit eines Bytes Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 271 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 PC Personal Compu
21. ansprechbaren DP Slaves der DP Master automatisch in den CLEAR Zustand bergeht e Eine im DP Master zuschaltbare Aktivit ts berwachung erkennt die Inaktivit t eines DP Anwenderprogramms und kann so die DP Slaves in einen sicheren Betriebszustand bringen ab welcher Software Version diese Eigenschaft ver f gbar ist k nnen Sie in der Versionstabelle der Installationsanleitung nachle sen Details zur AUTOCLEAR Eigenschaft Bei der Projektierung kann die Option AUTOCLEAR eingestellt werden Tritt dann w hrend der Produktivphase bei einem oder mehreren DP Slaves ein Fehler auf wechselt der DP Master selbstt tig in den Zustand AUTOCLEAR ber Herunter fahren des DP Systems Der Zustand AUTOCLEAR ist gleichbedeutend mit CLEAR Der DP Master sendet dann in Ausgaberichtung Daten mit dem Wert 0 oder Leertelegramme an die DP Slaves Der Zustand wird vom DP Master nicht mehr selbst ndig verlassen d h ein erneuter bergang in den Zustand OPERATE muss vom Anwender explizit angesto en werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 27 bersicht PROFIBUS DP 2 9 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 Steuerk
22. aufsteigenden oder absteigenden Reihenfolge OFFLINE lt gt STOP lt gt CLEAR lt gt OPERATE durchlaufen werden Nach einem DP_set_mode Aufruf muss durch nachfolgende Zugriffe auf den Master Info Bereich des Prozessab bilds Zelle USIF_state siehe Kap 4 3 6 gepr ft werden ob der neue Zustand erreicht worden ist Erst danach darf ein neuer Zustand eingestellt werden Hinweis 3 Wenn Ihr DP Master statt in den Zustand OPERATE in den Zustand AUTOCLEAR ging weil ein Slave mit AUTOCLEAR Eigenschaft nicht in den Produktivbetrieb gehen konnte k nnen Sie den DP Master trotzdem nach OPERATE bringen De aktivieren Sie dazu vorher den Slave oder seine AUTOCLEAR Eigenschaft je weils durch den Aufruf DP_set_siv_state Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Syntax DPR_DWORD DP_set_mode DPR_DWORD user_handle DPR_WORD mst_mode DP_ERROR_T error Parameter 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 DP_STOP STOP Zustand DP_CLEAR CLEAR Zustand DP_OPERATE OPERATE Zustand Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstell
23. daten eines Slave ausgelesen werden Hilfsfunktionen DP_get_err_txt Diese Funktion gibt Fehlerinformationen im Klartext aus DP_enable_event Diese Funktion aktiviert das Warten auf Zustands nde rungen oder Diagnose bei Slaves DP_get_result Mit dieser Funktion wird die Quittung eines asynchronen Aufrufs und andere Software Events abgeholt DP_disable_event Diese Funktion macht DP_enable_event r ckg ngig DP_watchdog Diese Funktion startet oder beendet eine Aktivit ts ber wachung der DP Master Anwenderprogramm DP_write_trc Mit dieser Funktion kann ein DP Anwenderprogramm ei gene Trace Ausgaben in ein Trace File schreiben Fast Logic DP_fast_logic_on Diese Funktion parametriert den CP 5613 CP 5614 zur automatischen berwachung eines Slave und Daten ber tragung an einen anderen Slave DP_fast_logic_off Diese Funktion nimmt eine mit DP_fast_logic_on durch gef hrte Parametrierung zur ck Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 71 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 DP_ERROR_T error out Parameter Logischer Name des CP z B CP_L2_1 database Pfad
24. die ein DP V1 Slave nach einem DP V1 Request im Antworttelegramm zur cksenden kann Beschreibung der Fehlerklassen Die folgende Abbildung 4 zeigt die prinzipielle Fehlerauswertung eines DP Anwenderprogramms beim Aufruf einer DP Funktion lt schaue Bild gt ErrClass DP_xxx DP_OK DP_OK_ DP_ERROR Sonstige ASYNC EVENT Auftrag durchgef hrt Confirmation mit Error_decode Error_code decode R ckgabeparameter DP_get_result error_code1 2 auswerten auswerten abholen auswerten DP_get_err_txt Abbildung 4 Auswertung der R ckgabewerte Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 195 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 196 C79000 G8900 C 139 04 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 Str
25. ngenbyte optional herstellerspezifische Daten optional Die beiden Datenblockvarianten lassen sich an den Bits 4 und 5 des ersten Bytes auseinanderhalten L nge der Konfigurierdaten Die L nge der Konfigurierdaten betr gt vorzugsweise 1 bis 32 Optional sind aber bis zu 244 Byte m glich Programmierschnittstelle DP Base f r CP 5613 CP 5614 242 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Aufbau eines Kennungsbytes Jedes Bit hat eine besondere Bedeutung Bit Bedeutung Obis3 Anzahl der Dateneinheiten 1 3 bedeutet z B 4 Dateneinheiten der in Bit 6 angegebenen L nge 4und5 Ein Ausgabe Bits Bita Bedeutung 0 0 kommtnichtvoreu S 0 1 Engae o O Ausgabe Enorm Ein Ausgabe L nge der Dateneinheiten 0 bedeutet Die Dateneinheit ist ein Byte 1 bedeutet Die Dateneinheit sind 2 Byte Konsistenz 0 bedeutet Byte oder Wort Konsistenz 1 bedeutet Konsistenz ber die gesamte L nge Aufbau eines speziellen Kennungsbytes Spezielle Kennungsformate erm glichen weitergehende Konfigurationen durch Er h hung der Flexibilit t Jedes Bit im Kennungsbyte hat eine besondere Bedeutung Bit Bedeutung Obis3 L nge der herstellerspezifischen Daten eisen de Lngedrnegatchn an Diese Bits sind fest mit 00 vorbelegt 6 und 7 Ein Ausgabe Bit 6 Es folgen keine optionalen Bytes Es folgt 1 L ngen Byte f r Eingaben Es folgt 1 L n
26. siehe Kapitel 4 4 Return Wert DP_OK Das Semaphor konnte eingerichtet werden DP_ ERROR_CI und Es existiert bereits ein Semaphorobjekt error gt error_code f r diesen User Handle CI_RET_SEMA_TWICE Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 124 C79000 G8900 0 139 04 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 User Handle das beim Aufruf DP_open vergeben wurde Semaphor Handle Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Das Semaphor konnte entfernt werden Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 125 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 24 DP_fast_logic_on Zweck 126 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 Bei Zutreffen der vorgegebenen Tri
27. 46 C79000 G8900 0 139 04 bersicht DP Base Schnittstelle bersicht zum Ablauf von Events Hardware Events Software Events ben tigtes Semaphor initialisieren im Anlauf des Programms Hardware Event aktivieren Quittierten Aufruf abgeben Event bei nderung der e DP _ ds read write Eingabedaten e DP_get actual_cfg Event bei Diagnose e DP_alarm_ack Event bei Zyklusanfang oder Empfangsbereitschaft mit Fast Logic on DP_enable_event anmelden e f r Alarme Diagnose e f r Zust nds nderungen an Semaphore warten f r Software Events optional Event im Proze abbild Event mit DP_get_result abholen abholen Semaphor freigeben beim Beenden des Programms Auch bei Daten nderung im Slave Modul des CP 5614 m glich Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 47 bersicht DP Base Schnittstelle 3 7 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 Sehr Aion Bedeutung DP_set_mode Clear Master in Zustand CLEAR fahren Sla ves werden in zyklischen Betrieb ge nommen gem den Informationen in der Datenbasis 6e DP_set_mode Operate Master in Zustand OPERATE fahren 01 Produktivbetrieb Das Anwenderprogramm kann beliebig auf die Daten im Prozessabbil
28. Anwenderprogramm bereitgestellten Zeigers Im Erfolgsfall wird hier die Zugriffsadresse auf das Prozessabbild des CP 5613 CP 5614 eingetragen Mit Hilfe dieses Zeigers kann das DP Anwenderprogramm an schlie end direkt auf das Datenabbild des CP 5613 CP 5614 zugreifen Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Innerhalb der angegebenen Wartezeit error gt 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 Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 79 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 Echtze
29. Ausg nge ein Die danach vom DP Master gesendeten Ausgangsdaten werden zun chst nicht von den DP Slaves bernommen Erst beim n chsten UNSYNC Kommando werden die Daten bernommen UNSYNC Nach Erhalt eines UNSYNC Kommandos werden die Aus gangsdaten wieder bernommen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 29 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 1 Ausgangssituation Der DP Master ist im Zustand OFFLINE e 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 Projektierung m Der DP Master wechselt in den Zustand OPERATE Nun werden die Ausgabedaten des Anwenderprogramms zy klisch an die Slaves bertragen die Eingabedaten gehen von den Slaves zum Anwenderprogramm Der Master wird ber die Zwischenzust nde CLEAR und STOP in den Endzustand OFFLINE gef hrt und ausgeschaltet Ausfall eines Slave Wenn der DP Master im CLEAR oder OPERATE Zustand ist kann ein Slave ausfallen d h nicht mehr antworten Der Master versucht dann automatisch ihn wieder neu zu parametrieren und zu konfigurieren und so wieder in den Zyklus
30. Bei Multiapplikationsbetrieb kann zu einem Zeitpunkt immer nur ein DP Master Anwenderprogramm die Fast Logic Funktionalit t des CP 5613 CP 5614 nutzen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Siehe Kapitel 4 1 22 DP_init_sema_object Hinweis 4 Nachdem ein Fast Logic Trigger vom CP 5613 CP 5614 ausgel st wurde sollte das DP Anwenderprogramm pr fen ob der Slave dessen Ausgabebyte durch die Fast Logic geschrieben wurde noch im Zustand READY ist Ist das nicht der Fall bernimmt der Slave das ge nderte Ausgangsbyte erst wenn er wieder in den Zustand READY geht siehe Kapitel 4 3 5 Zustand eines DP Slave feststellen Hinweis 5 Die Zeit zwischen der nderung im Prozessabbild des CP 5613 f r das selektierte Eingangsbyte und dem Setzen des selektierten Ausgangsbytes betr gt ca 40 us Syntax DPR_DWORD DP_fast_logic_on DPR_DWORD user_handle DPR_WORD fast_logic_id DP_FAST_LOGIC_T fast_logic DP_ERROR_T error Parameter User Handle das beim Aufruf DP_open vergeben wurde fast_
31. CP 5613 CP 5614 dem Anwenderprogramm melden kann Es gibt Hardware Events und Software Events Eigenschaft des CP 5613 CP 5614 ein Eingabewert eines Slave kann berwacht werden Wenn es einen bestimmten Wert annimmt wird ein Ausgabedatum eines anderen Slave gesetzt Fieldbus Data Link Schicht 2 bei PROFIBUS FREEZE Modus Der FREEZE Modus ist eine DP Betriebsart bei der von allen oder von einer Gruppe von DP Slaves zeitgleich Prozessdaten erfasst werden Der Erfassungs zeitpunkt wird durch das FREEZE Kommando das ist ein Steuertelegramm zur Synchronisation signalisiert Gap Aktualisierungsfaktor Ein freier Adressbereich zwischen zwei aktiven Teilnehmern wird zyklisch von dem Teilnehmer mit der kleineren PROFIBUS Adresse durchsucht um festzustellen ob ein weiterer Teilnehmer in den logischen Ring aufgenommen werden m chte Die Zykluszeit f r diese berpr fung wird bestimmt durch Gap Aktualisierungsfaktor x Target rotation time ms Gruppenidentifikation DP Slaves k nnen ber eine Gruppenidentifikation einer oder mehreren Gruppen zugewiesen werden Die DP Slaves k nnen dann ber die Gruppenidentifikation bei der bertragung von Steuertelegrammen gezielt angesprochen werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 269 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
32. CP 5614 C79000 G8900 0 139 04 145 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 Hinweis 2 Um den DP Slave herunterzufahren sollte Ihr Anwenderprogramm vorher das Slave Modul mit der Funktion DPS_stop in den Zustand OFFLINE bringen Syntax DPR_DWORD DPS_close DPR_DWORD user_handle DP_ERROR_T error Parameter User Handle das beim Aufruf DPS_open vergeben wurde Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 146 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_EVENT_NET und Das Kommando DPS_close ist im error gt error_code momentanen Betriebszustand nicht DPS_RET_SEQUENCE_ERROR erlaubt Ferera AES A Funken Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 147 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 2 4 DPS_start Zweck Mit dieser Funktion kann der Slave ONLINE geschaltet werden Da
33. 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 Beachten Sie dass nach einem DP_release_pointer oder DP_close Aufruf nicht mehr auf das Dualport RAM zugegriffen werden darf Pointer ung ltig Werten Sie alle Fehleranzeigen aus und pr fen Sie alle Diagnosedaten Pr fen Sie ob die angegebenen Vorbedingungen zur G ltigkeit von Daten ge geben sind Beispielsweise muss beim Lesezugriff auf Slave Daten der Master im Zustand OPERATE oder CLEAR und der Slave READY sein READY be deutet dass der Slave vom DP Master parametriert und konfiguriert worden ist und am DP Zyklus teilnimmt Zus tzlich m ssen aber immer die Diagnoseda ten die der Slave an den Master sendet ausgewertet werden Lesen Sie bei alarmf higen DPC1 Slaves Diagnosedaten nur ber die Funktion DP_fetch_alarm aus Quittieren Sie bei Alarmen diese durch DP_alarm_ack Bei nicht alarmf higen Slaves k nnen Diagnosedaten ebenfalls durch DP_fetch_alarm ausgelesen werden Alternative konsistentes Lesen der Dia gnosedaten im DPR Beide Verfahren DP_fetch_alarm und konsistentes Le sen der Diagnosedaten im DPR d rfen nicht kombiniert werden weil sonst die gleichen Daten mehrfach angezeigt werden k nn
34. DP 2 5 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 Die Parametrie rung Konfigurierung erfolgt in der Anlaufphase des DP Masters nach einem zeitweiligen Ausfall eines DP Slave w hrend der Produktivphase Parametrierung Das Parametriertelegramm stellt dem DP Slave globale Betriebsparameter z B ID zur Verf gung Konfiguration Das Konfiguriertelegramm wird nach erfolgreicher Parametrierung des DP Slave gesendet Es enth lt die aktuelle Konfiguration des DP Slave Die Konfiguration enth lt die Zahl und die Art der Ein Ausgabe Ports Der DP Slave vergleicht das empfangene Konfigurationstelegramm mit den eigenen Werten die er in der An laufphase ermittelt hat Stimmen die Werte berein best tigt der DP Slave die Konfigurierung und wechselt in die Produktivphase ber Betriebszust nde In der Produktivphase wertet der DP Master die empfangenen Quittungstelegram me der DP Slaves aus Aus ihnen kann der DP Master den aktuellen Betriebszu stand der DP Slaves ermitteln Programmierschnittstell
35. DP_ds_write Auftrag Erst beim n chsten Aufruf von DP_get_result wird mit der DP_enable_event Quittung gemeldet dass ein Alarm f r den Slave 10 vorliegt Hinweis 3 Wird bei der Fehlerklasse DP_ERROR_EVENT_NET das Strukturelement error_docode der Struktur DP_ERROR_T auf den Wert OxFF gesetzt so liegt ein Kommunikationsfehler vor Bei einem DPC1 Auftrag req_type DP_DS_READ DP_DS_WRITE oder DP_ALARM_ACK muss ein DPC1 f higer Slave danach durch den Aufruf DP_siv_state Restart wieder neu initialisiert werden sofern der Master sich im Zustand Operate oder Clear befindet Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 119 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_REO_ result out DP_ERROR_ error out Parameter User Handle das beim Aufruf DP_open vergeben wurde timeout result error 120 Dauer der maximalen Wartezeit in Millisekunden bis die Funktion zur ckkehrt Grenzwerte 0 keine Wartezeit Funktion kehrt sofort zur ck Ox7FFFFFFE maximale Wartezeit DP_TIMEOUT_FOREVER unendliche Wartezeit Adresse einer Variablen f r den Auftragstyp Nach Empfang einer Quittung wird hier der Auftragstyp eingetragen DP_NO_CNF keine Quittung empfangen DP_DS_READ Quittung f r DP_ds_read DP_DS_WRITE
36. Der Wert muss vorbesetzt werden und ist nach Abschluss der Funktion aktualisiert Einheitliches Aufrufschema der Funktionen der dp_base dil Die Funktionen sind nach einem einheitlichen Schema aufgebaut Fehlerklasse DP_ Vorgabeparameter 1 Vorgabeparameter n DP_ERROR_T error Jede Funktion gibt als R ckgabewert eine der im folgenden beschriebenen Fehler klassen zur ck Im Fehlerfall enth lt die Struktur DP_ERROR_T in Abh ngigkeit der Fehlerklasse detaillierte Fehlerinformationen siehe Kapitel 4 4 Die Fehler auswertung und die Funktion DP_get_err_txt werden auch in den mitgelieferten Beispielprogrammen erl utert In den Funktionsbeschreibungen werden die Return Werte wie folgt tabellarisch beschrieben erl utert anhand des Funktionsaufrufs DP_reset_cp e Falls der Return Wert DP_OK ist so bedeutet dies dass die Funktion erfolg reich ausgef hrt wurde In diesem Beispiel ist der CP also tats chlich zur ck gesetzt worden e Falls der Return Wert DP_ERROR_CI ist und die Komponente error_code in der Fehlerstruktur DP_ERROR_T den Wert CI_LRET_RESET_CP_USED hat so bedeutet dies dass der CP nicht zur ckgesetzt worden ist weil noch andere Anwendungen den CP benutzen Auf solche ausdr cklich angegebenen Feh lercodes sollte Ihr Anwenderprogramm vorbereitet sein e In allen anderen F llen liegt ein Fehler vor der nur in Ausnahmef llen auftritt Eine Liste der Fehlercodes finden Sie in Kapitel 4 4 2
37. SIEFlag anna KEN re ee er een retten Aktivit tskontrolle Alarm Modus Alarm _Mode ssnnssnnsneeeeennnnnnnnen Alarm_Type uceesssssssnnnnnnnnnnnnnnnnnnnn Alarm Acknowledge 0 Alarm Specifier nnnn Ansprech berwachung Ansprech berwachungszeit asynchron uceessssssssnnnnnnnnennnnnnnnnnnnnnnnnn Quittung abholen 119 Ausgabedaten nn schreiben uuseseseseseeneeneeseznnnsenen 171 AUTOCLEAR een 40 projektieren uussennsesnneennneennenn B Beispielprogramm ennn Betriebssysteme unterst tzte 24 Borland C ssssssssssnssnnnnnnnnnnnnnnn nn 24 Busparameter aktuelle abfragen 178 Busstatistik eenen 181 63 E A Te Here ana E 7 5 UPPPIEBRDEPFURERDEUFTEURBEUELTERPEUEFEEFTERTETFERTG 23 Datenbasis 4 nennen Datentransferraten Delphi a Diag Cfg_Fault nn Diag Deactivated Diag Ext_Diag nn Diag Ext_Diag_Overflow Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Diag Freeze_Mode Diag Invalid_Slave_Response Diag Master_Add nn Diag Master_Lock nn Diag Not_Supported Diag Prm_Fault
38. Teilnehmer sind PROFIBUS Adressen gr er als HSA zul ssig Wertebereich HSA 1 bis 126 HSA Highest Station Address einer der Busparameter Gibt die h chste im Netz ver wendete Teilnehmeradresse an Hardware Event Event dessen Eintreffen von der Hardware des CP berwacht wird bei Zyklusbe ginn Zyklusende Daten nderung Eintreffen von Diagnose und Eintreffen einer Fast Logic Bedingung Indication Nachricht von einem remoten Teilnehmer Intel Format Zahlen werden im Intel Format gespeichert wenn niederwertige Bytes zuerst d h auf niedrigen Adressen abgelegt werden ISO International Standard Organization Internationale Organisation mit Sitz in Genf zur Schaffung allgemeiner Normen vor allem auf dem Gebiet des Daten bertra gungsbereichs LAN Local Area Network Lokales Netzwerk zur direkten Verbindung von Computern LSB Least Significant Bit niederwertigstes Bit eines Bytes Programmierschnittstelle DP Base f r CP 5613 CP 5614 270 C79000 G8900 0 139 04 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 Tsor 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
39. Zu stand und nimmt nicht mehr am Datentransfer mit dem Master teil da der Slave davon ausgeht dass ein schwerwiegender Fehler aufgetreten ist zum Beispiel Leitungsbruch oder Ausfall des DP Masters Der Master muss den Slave dann erneut parametrieren und konfigurieren Erst dann ist wieder der Austausch von Produktivdaten m glich Welchen Wert die Ausg nge annehmen ist aus der Beschreibung der DP Slaves zu entnehmen Projektierung der AUTOCLEAR Eigenschaft Nimmt einer der aktivierten Slaves nicht am Datentransfer teil und ist zus tzlich die Funktionalit t AUTOCLEAR eingestellt so wechselt der DP Master automa tisch in den Zustand CLEAR mit der Kodierung AUTOCLEAR Programmierschnittstelle DP Base f r CP 5613 CP 5614 40 C79000 G8900 0 139 04 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 0 139 04 41 bersicht DP Base Schnittstelle 3 3 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 erst
40. die Abschnitte ber die Struktu rierung von Anwenderprogrammen und die Checkliste f r Programmierer beson ders wichtig Beachten Sie bitte auch die FAQ Liste in der Installationsanleitung des Produkts Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 245 FAQ Frequently Asked Questions 5 1 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 Welche Compiler und Programmiersprachen werden unterst tzt Beachten Sie dazu bitte die Versionstabelle im Kapitel 14 2 der Installationsanlei tung F r Anbindungen an Borland C und Delphi informieren Sie sich bitte bei der Fir ma AIXO Internet http www aixo com Durch die Auslegung der dp_base dil mit Standard Calling Conventions ist die Anbindung an andere Entwicklungsumgebungen prinzipiell m glich Was sind die Unterschiede zwischen dem CP 5613 und dem CP 5614 Der CP 5614 verf gt zus tzlich ber einen zweiten DP Anschluss mit dem der PC als DP Slave an einem zweiten PROFIBUS Netz betrieben werden kann Zus tz lich gibt es eine Transferfunktion zur automatischen bertragung von Slave Daten zum bergeordneten Master Unterst tzt der CP 5613 und CP 5614
41. essieene rare teren ann nen ad aaan aaa aiani aia 4 23 DRS SCIOSO ae DD en De AT EEE RER A en ER NR re ee 42 4 DRS Staa Dean anne 4 25 DPS STOP rare a a see a a ne an era reger 42 6 DRS get baud raler nn an e e E en aS EEE EEE 4 2 7 DPS_get_gc_command uuuusssssnnnnennnennnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 42 8 DPS get Slate ana e aa e aaaeei aaa aaa aai aan aah aani eaat aaa aai aa A29 DPS Sol dager eE 4 2 10 DPS get Mikara a e a an annt anen annaas aaa ad oaa an aant aaan aaa naiai 42 11 DRS Sa resp RE AEE E ER RE E 4 212 DPSscaAle i0 dat alen nn naeh 4 3 Zugriffe auf das Prozessabbild des CP 5613 CP 5614 uuuuunennnnnnnnnnnnnnnnnnen 4 3 1 Eingabedaten eines DP Slave lesen uusssnnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 4 3 2 Diagnosedaten eines DP Slave lesen uuunssnnnnssnnnnnnnnnnnnnnnnnnnnnnnnnnn nenn 4 3 3 Ausgabedaten eines DP Slave schreiben 444444404nnnnnnnn nennen 4 3 4 Pr fen der Slaves auf Daten nderung usssnssssnnnnnnnnnnnnnnnnnnnnnnnnnn nen 4 3 5 Zustand eines DP Slave feststellen 222222222222000000000000nnn nn nennen nennen 4 3 6 Informationen zum DP Master abfragen ussusnssssnnnnnnnnnnnnnennnnnnnnnnnnnnnnn 4 3 7 Aktuelle Busparameter des Masters abfragen 4444ussnnnnn nennen 4 3 8 Informationen zu DP Slaves abfragen 440ussnnnnsnnnnnnnnn
42. f r Schulung von SIMATIC NET susssnnsssnnnnnnnnnennnnnnn 263 1 E oiT se E ar EEEE R ee 8 Stichw ortverzeichnis 000000as sand a address 277 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 7 Inhaltsverzeichnis Programmierschnittstelle DP Base f r CP 5613 CP 5614 8 C79000 G8900 0 139 04 bersicht Erstellen einer DP Anwendung 1 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 Die DP Base Programmierschnittstelle erlaubt Direktzugriffe auf das DP Prozess abbild im Dualport RAM der Baugruppe Die DP Base Programmierschnittstelle ist deshalb nicht mit der DP Programmierschnittstelle des CP 5412 A2 des CP 5511 und des CP 5611 kompatibel Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Lesen Sie dazu das na
43. gleichzeitig auf das Prozessabbild des CP 5613 oder CP 5614 zugreifen weil sie sonst einander die Kontrollregister zum konsistenten Lesen und Schreiben von Slave Daten ber schreiben Dadurch k nnte z B einem gerade lesenden Thread die Konsistenz seiner Slave Daten entzogen werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 249 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 Das k nnen Sie durch Semaphore Mutexe etc von Windows NT erreichen Wie kann ich mit mehreren Programmen auf das Prozessabbild zugreifen 250 Das geht wenn alle beteiligten Programme den Zeiger auf das Prozessabbild mit dem Aufruf DP_release_pointer zwischendurch wieder freigeben Bei Echtzeitbe trieb raten wir davon ab weil die beiden Aufrufe zeitintensiv sind und Sie zus tzlich Koordinationsmechanismen zwischen den Programmen einf hren m ssten Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 FAQ Frequently Asked Questions 5 3 FAQ
44. 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 Master Klasse 1 sind aktive Busteilnehmer und steuern die Slaves DP Master Klasse 1 Mithilfe des CP 5613 oder CP 5614 kann der PC die Rolle des DP Masters ein nehmen Je nach Anwendung kann diese Aufgabe z B auch von einer speicher programmierbaren Steuerung SIMATIC S7 bernommen werden Nachfolgend wird der DP Master Klasse 1 als DP Master bezeichnet DP Master Klasse 2 Bei der Inbetriebnahme zur Konfiguration des DP Systems oder zur Anlagebedie nung im laufenden Betrieb k nnen Master Klasse 2 Ger te eingesetzt werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 16 C79000 G8900 0 139 04 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 Abbildung 1 zeigt den prinzipiellen Aufbau und die Komponenten eines PROFIBUS DP Systems das von einem Rechner mit eingebautem PROFIBUS Master CP 5613 CP 5614 gesteuert wird DP Master mit P
45. konfigurierten Alarme wurde vom Slave berschritten Fehler Der Slave hat mehr als ein Alarm des gleichen Typs gesendet Der Slave hat einen Alarm gesendet dessen Alarmtyp nicht konfiguriert ist Der Slave hat einen Alarm oder eine Statusmeldung gesendet deren L nge gr er ist als spezifiziert worden ist Der Slave hat Diagnosedaten mit Formatfehlern gesendet so dass eine korrekte Dekodierung des Alarms oder des Status nicht m glich ist Fehlerhafter Abschluss der Funktion der Eintrag in DP_ALARM_EXT_T ist ung ltig 105 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 Hinweis Der Sendevorgang wird asynchron ausgef hrt Die Quittung muss mit DP_get_result abgeholt werden Syntax DPR_DWORD DP_alarm_ack DPR_DWORD user_handle DPC1_REQ_ T request DP_ERROR_T error Programmierschnittstelle DP Base f r CP 5613 CP 5614 106 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DP_open vergeben wurde request Zeiger auf DP V1 Struktur DPCi_
46. 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 OxFF hat siehe Kapitel 4 1 10 Hinweis 5 Das Anwenderprogramm kann sich ber die Funktion DP_enable_event informie ren lassen ob neue Diagnosedaten bzw Alarme Statusmeldungen vorhanden sind die durch DP_fetch_alarm abgeholt werden k nnen Der Aufruf von DP_enable_event hat den Vorteil dass nur Diagnosemeldungen in der Betriebs phase des Slave gemeldet werden Standart Diagnosemeldungen in der Initialisie rungsphase werden au er bei bestimmten Fehlerf llen aus Effizienzgr nden nicht explizit gemeldet siehe auch Beschreibung DP_enable_event DPR_DWORD DP_fetch_alarm DPR_DWORD user_handle DPR_WORD slv_add DP_ALARM_EXT_T alarm DP_ERROR_T error Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DP_open vergeben wurde 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 msqg_filter in DPR_WORD msg out DPR_WORD next_msg out DPR_WORD diag_count out DPR_WO
47. parametrieren dass er automatisch Daten von Slaves berwacht und Reaktionen bei anderen Slaves ausl st Das hat folgende Vorteile e Das Anwenderprogramm wird entlastet e Die Daten bertragung findet durch Entkopplung von der PC Software schneller statt e Durch Unabh ngigkeit von der PC Software ist die Reaktion auf das Eingangs signal garantiert Ab welcher Software Version diese Eigenschaft verf gbar ist k nnen Sie in der Versionstabelle im Kapitel 14 2 der Installationsanleitung nachlesen Vorgehensweise Ihr Programm kann Funktionen aufrufen die Fast Logic parametrieren DP_fast_logic_on oder Parametrierungen wieder l schen DP_fast_logic_off Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 45 bersicht DP Base Schnittstelle 3 6 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 Eigenschaften von Software Events Im Gegensatz dazu werden Software Events durch Funktionsaufrufe ausgel st k nnen mit Semaphore gemeldet werden und werden durch Funktionsaufrufe wie der abgeholt Programmierschnittstelle DP Base f r CP 5613 CP 5614
48. sla ve _mode DPS_SM_SIMPLE alle Daten bergeben die n tig sind um das Sla ve Modul in den Datenaustausch zu bringen Das hat den Vorteil dass das An wenderprogramm einfach Ausg nge lesen und Eing nge schreiben kann ohne sich um den Zustand des Slave Moduls zu k mmern bzw ohne die Parameter und Konfigurationsdaten zu berpr fen Betriebsart dynamischer Slave In dieser Betriebsart kann der Slave sich dynamisch auf die Projektierung seines Masters einstellen Beim DPS_open wird nicht DPS_SM_SIMPLE gew hlt Dem Anwender wird mitgeteilt wenn Parameter und Konfigurationsdaten empfangen werden Er pr ft dann ob er die Einstellungen akzeptiert Das erm glicht eine gr Bere Flexibilit t vor allem wenn der Slave modular aufgebaut ist In diesem Fall kann die Sicht des Masters mit der tats chlichen Konfiguration des Slave vergli chen werden Transfer Software Im Lieferumfang ist eine Beispiel Software enthalten mit der Daten zwischen ver schiedenen Slaves des Master Teils und dem Slave Modul rangiert werden k n nen Das ist vor allem vorteilhaft f r Anwendungsf lle in denen mit dem Master Teil ein unterlagerter Bus gesteuert wird und der PC ber das Slave Modul z B mit einem Leitrechner verbunden ist Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 59 bersicht DP Base Schnittstelle 3 9 Typische Sequenzen f r das Slave Modul CP 5614 3 9 1 Initialisierung u
49. zusammen Kopfdaten Byte 8 DPV1_Status_1 herstellerspezifisch bei Slaves ohne DPV1 Funktionalit t Byte 9 DPV1_Status_2 herstellerspezifisch bei Slaves ohne DPV1 Funktionalit t Byte 10 DPV1_Status_3 herstellerspezifisch bei Slaves ohne DPV1 Funktionalit t Byte 11 n herstellerspezifische Daten User Parametrier daten Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 237 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 7und6 Lock_Req und Unlock_Req CAC Bei einer Parametrierung wird die min TSDR berschrieben Alle anderen Parameter bleiben unbeeinflusst 1 Der DP Slave wird f r andere Master freigege ben Der DP Slave wird f r andere Master gesperrt alle Parameter werden bernommen Ausnahme min Tspp 0 KARA Der DP Slave wird f r andere Master freigege ben Sync_Req Mit diesem Bit wird dem Slave angezeigt dass er im Sync Modus betrieben werden soll sobald das Kommando mit der Funktion DP_global_crtl bergeben wird Freeze_Req Mit diesem Bit wird dem DP Slave angezeigt dass er im Freeze Modus betrieben werden soll sobald das Kommando mit der Funkti on DP_global_ctri bergeben wird Watchdog Ist dieses Bit auf Null gesetzt so ist die Ansprech berw
50. 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolg reich aktiviert DP_ERROR_EVENT_NET und Es ist noch ein DP_enable_event error gt error_code Request in Bearbeitung Ein erneuter DP_RET_REQ_ACTIV Aufruf von DP_enable_event ist erst dann zul ssig wenn Eine DP_enable_event Confirmation empfangen wurde e Der Aufruf durch einen Aufruf von DP_disable_event r ckg ngig ge macht wurde Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 117 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 B mit ge nderten Bedingungen noch ein mal aufgerufen werden Syntax DPR_DWORD DP_disable_event DPR_DWORD user_handle in DP_ERROR_T error out Parameter User Handle das beim Aufruf DP_open vergeben wurde Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4
51. 1 Fax 65 740 7001 simatic hotliine sea siemens com E Mail simatic hotline sae siemens com sg Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 261 Wo Sie Hilfe bekommen SIMATIC Customer Support Online Dienste Das SIMATIC Customer Support bietet Ihnen ber die Online Dienste umfangrei che zus tzliche Informationen zu den SIMATIC Produkten e Allgemeine aktuelle Information erhalten Sie im Internet http www ad siemens de simatic ber Fax Polling e Aktuelle Produktinformation und Downloads die beim Einsatz n tzlich sein k nnen erhalten Sie im Internet http www ad siemens de support html 00 ber das Bulletin Board System BBS der SIMATIC Customer Support Mailbox in N rnberg Tel 49 911 895 7100 Verwenden Sie zur Anwahl der Mailbox ein Modem mit bis zu 28 8 kbit s V 34 Parameter 8 N 1 ANSI oder ISDN Parameter x 75 64 kbit s Programmierschnittstelle DP Base f r CP 5613 CP 5614 262 C79000 G8900 0 139 04 Wo Sie Hilfe bekommen 6 2 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 C 139 04 263 Wo Sie Hilfe bekommen Programmierschnittstelle DP Base f r CP 5613 CP 5614 264 C79000 G8900 0 139 04 Glossar Glossar
52. 13 CP 5614 90 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Fehler der angegebene Slave existiert error gt error_code nicht in der Datenbasis DP_RET_CP_ADR_NOT_IN_DB Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 91 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 12 DP_global_ctrl Programmierschnittstelle DP Base f r CP 5613 CP 5614 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 Ein Slave wertet das Global Control Command nur aus wenn er einer der angesprochenen Gruppen zugeordnet ist Syntax DPR_DWORD DP_global_ctrl DPR_DWO user_handle DPR_WOR slv_add DPR_BYTI command DPR_BYTI group DP_ERRO error 92 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DP_open vergeben wurde slv ade Adresse des Slave oder Sammeladresse DP_BROADCAST_ADR command Hier k nnen folgende Global Control Kommandos auch durch Oder verkn pft vorgegeben werden DP_SYNC Einfrieren der Ausgabebytes DP_UNSYNC Aufhebe
53. 13 h Ein Windows NT Anwenderprogramm kann sie von dort lesen und an einen Echtzeit Kernel weitergeben 256 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 0 139 04 257 FAQ Frequently Asked Questions Programmierschnittstelle DP Base f r CP 5613 CP 5614 258 C79000 G8900 C 139 04 Wo Sie Hilfe bekommen 6 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 C 139 04 259 Wo Sie Hilfe bekommen 6 1 Hilfe bei technischen Fragen Dokumentation Themen zur Nutzung der vorliegenden Software finden Sie in den folgenden Infor mationsquellen e in der zugeh rigen Papierdokumentation e in der in die Software integrierten Hilfe Taste F1 e auf Textdateien der Lieferdiskette Lieferdisketten e in Text und PDF Dateien der SIMATIC NET CD Ansprechpartner Sollten Sie in den angegebenen Informationsquellen keine Antworten auf techni schen Fragen zur Nutzung der beschriebenen
54. 2 Kein mapping angelegt gt interner Fehler CI_RET_DUMP_FILENAME_TOO_LONG File Name zu lang Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 207 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 gt Interne Fehlerzust nde CI_RET _EXCP_APPEND_O des Treibers oder der Firmware CI_RET_EXCP_APPEND 1 Abhilfe gt CP zur cksetzen oder den PC neu booten CI_RET_EXCP_CIB CI_RET_EXCP_CLOSE_O CI_RET_EXCP_CLOSE_1 CI_RET_EXCP_CRITICAL_O CI_RET_EXCP_CYCLE_O CI_RET_EXCP_CYCLE_1 CI_RET_EXCP_E_LIST_O CI_RET_EXCP_E_LIST_1 CI_RET_EXCP_GET_DP_ACCESS CI_RET_EXCP_KE_WAIT CI_RET_EXCP_LIFE_COUNTER CI_RET_EXCP_OPEN CI_RET_EXCP_QUEUE _DPA_O CI_RET_EXCP_QUEUE_DPA_1 CI_RET_EXCP_REL_DP_ACCESS_O CI_RET_EXCP_REL_DP_ACCESS_1 CI_RET_EXCP_RETURN_O CI_RET_EXCP_RETURN_ 1 CI_RET_EXCP_RETURN 2 CI_RET_EXCP_USER_APC CI_RET_FL_INV_ADDR_IN_BYTE Ung ltige Adresse des Eingabe Sla ves CI_RET_FL_INV_ADDR_OUT_BYTE Ung ltige Adresse des Ausgabe Sla ves CI_RET_FL_INV_ID Ung ltiger Parameter fast_logic_id gt 0 3 CI_RET_FL_INV_IN_MASK Ung ltige Maske f r das Eingabe Byte CI_RET_FL_INV_INDEX_IN_BYTE Ung ltiges Eingabebyte CI_RET
55. 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 Mehrere CPUs in einem PC Der Betrieb in PCs mit mehreren CPUs wird unterst tzt Programmierschnittstelle DP Base f r CP 5613 CP 5614 66 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen 4 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 67 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 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 out Der Wert wird von der Funktion an das Anwenderprogramm zur ckgegeben inout
56. 7 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 berwachunggszeit 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 AUTOCLEAR 1 Projektierungseigenschaft eines DP Slave Der Master geht nach Ausfall die ses Slave in den AUTOCLEAR Zustand 2 Mit DP_CLEAR bedeutungsgleicher Zustand des DP Masters wenn er auf grund der AUTOCLEAR Eigenschaft eines Slave erreicht wird Bitzeiten Zeit die ein Bit zur bertragung am Bus braucht also der Kehrwert der Daten bertragungsgeschwindigkeit Busparameter Busparameter steuern das bertragungsverhalten am Bus Jeder Teilnehmer an PROFIBUS muss mit den Busparametern anderer Teilnehmer bereinstimmende Busparameter verwenden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 265 Glossar c_ref Kennung zur Identifikation von Verbindungen zu Slaves bei DPC1 Aufrufen COM PROFIBUS Projektierungswerkzeug zur Beschreibung der Kommunikationsteilnehmer und der Busparameter CP Communication Processor Kommunikationsbaugruppe Netzwerkkarte f r den Einbau in Rechner oder Automatisierungssysteme CPU Central Processor Unit hier Prozessor des P
57. C CPU Last Belastung der CPU des PC hier durch DP Kommunikation Data_Ex Slave ist bereit f r den Produktivbetrieb Daten bertragungsgeschwindigkeit bertragungsrate am Bus Einheit bit s Ein Busparameter f r PROFIBUS Die Angabe bzw Wahl der Daten bertragungsgeschwindigkeit h ngt von verschiede nen Randbedingungen ab wie beispielsweise Entfernung DB Datenbasis Die lokale Datenbasis beschreibt das Kommunikationsnetz aus Sicht des eigenen Systems Deadlock Wenn bei mehreren parallelen Prozessen hier Threads A auf B wartet und B auf A Programmierschnittstelle DP Base f r CP 5613 CP 5614 266 C79000 G8900 C 139 04 Glossar Dezentrale Peripherie Dienste DP DP Base DPC1 DPC2 DP V1 DP Master 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 Angebotene Leistungen eines Kommunikationsprotokolls Dezentrale Peripherie Kommunikationsprotokoll f r PROFIBUS gem EN 50 170 Volume 2 Name f r die DP Programmierschnittstelle des CP 5613 CP 5614 im Gegensatz zur DP Lib Schnittstelle des CP 5412 A2 CP 5611 und CP 5511 Erweiterung von DP um azyklische Read und Write Auftr ge und Alarme zwi schen zyklischem DP
58. CP 5613 CP 5614 C79000 G8900 0 139 04 179 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 Beispiel Es sei p ein Zeiger auf das Prozessabbild den Ihr Anwenderprogramm beim DP_get_pointer Aufruf erhalten hat Um diese Informationen auf dem Bildschirm eines einfachen Anwenderprogramms auszugeben w rden Sie etwa folgendes programmieren printf Slave type gt d p gt info_watch slave_info 5 slave_type 0 bedeutet Slave ist nicht projektiert 1 bedeutet Slave ist projektiert 2 bedeutet DP V1 f higer Slave ist projektiert printf Anzahl Ausgabebytes gt d p gt info_watch slave_info 5 slave_out_byte printf Anzahl Eingabebytes gt d p gt info_watch slave_info 5 slave_in_byte printf In Database gt d p gt info_watch slave_info 5 slave_in_database Programmierschnittstelle DP Base f r CP 5613 CP 5614 180 C79000 G8900 C 139 04 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 angeschl
59. DE_OFFL_ACT Der DP_set_mode Aufruf konnte nicht durch gef hrt werden weil ein voriger DP_set_mode Aufruf Wechsel in den Status Offline noch in Bearbeitung ist DP_RET_CP_SET_MODE_OPR_ACT Der DP_set_mode Aufruf konnte nicht durch gef hrt werden weil ein voriger DP_set_mode Aufruf Wechsel in den Status Operate noch in Bearbeitung ist DP_RET_CP_SET_MODE_STOP_ACT Der DP_set_mode Aufruf konnte nicht durch gef hrt werden weil ein voriger DP_set_mode Aufruf Wechsel in den Status Stop noch in Bearbeitung ist DP_RET_CP_SLV_NOT_ACTIV Slave ist inaktiviert DP_RET_CP_SLV_NOT_IN_DATA Der Slave ist momentan nicht bereit f r den Datenaustausch DP_RET_CP_STARTED Die Bearbeitungsinstanz wurde zuvor schon gestartet DP_RET_CP_STATE_UNKNOWN Die Bearbeitungsinstanz ist in einem undefi nierten Zustand DP_RET_CP_STOPPED Die Bearbeitungsinstanz ist schon gestoppt worden DP_RET_CP_TIMEOUT Hinweis Der Auftrag wurde durch Timeout beendet DP_RET_CP_TIMER Interner Timer Fehler im CP DP_RET_CP_TOO_MANY_CTRL_CMD Zu viele Global Control Commands sind in Bearbeitung DP_RET_CP_UNKNOWN_SLV_TYPE Slave Typ unbekannt DP_RET_CP_USR_NOT_COMPATIBLE Die dplib dil und die dp_base dll k nnen sich nicht beim gleichen CP anmelden DP_RET_CP_WRONG_INSTANCE Zugriff durch ung ltige User Instanz Programmierschnittstelle DP Base f r CP 5613 CP 5614 202 C79000 G8900 0 139 04 Beschreib
60. Daten sowie Fehlercodes Byte 2 Stationsstatus_2 Jedes Bit im Byte 2 dem Stationsstatus_2 Byte hat eine besondere Bedeutung BETEN 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 Ce 17 5 Diag Sync_Mode dieses Bit wird vom DP Slave gesetzt sobald dieser DP Slave das Sync Steuerkommandbo erhalten hat Diag Freeze_Mode dieses Bit wird vom DP Slave gesetzt sobald dieser DP Slave das Freeze Steuerkommandbo erhalten hat Diag WD_On Watchdog on dieses Bit wird vom DP Slave ge setzt Ist dieses Bit auf 1 gesetzt so ist die Ansprech berwachung beim DP Slave aktiviert a Dieses Bit wird vom DP Slave fest auf 1 gesetzt Diag Stat_Diag Statische Diagnose setzt der DP Slave dieses Bit so muss der DP Master solange Diagnoseinformationen abholen bis dieses Bit wieder gel scht wird Der DP Slave setzt zum Beispiel dieses Bit wenn er keine g ltigen Nutzdaten zur Verf gung stellen kann 0 Diag Prm_Reg setzt der DP Slave dieses Bit so muss er neu pa rametriert und konfiguriert werden Das Bit bleibt solange gesetzt bis eine Parametrierung erfolgt ist sind Bit 1 und Bit O gesetzt so hat Bit 0 die h here Priorit t Byte 3 Stationsstatus_3 Bit Bedeutung 7 Diag Ext_Diag_Overflow ist dieses Bit gesetzt so liegen mehr Dia gnoseinformationen vor als ange
61. Diagnoseaufbau und Diagnoseformate siehe Kapi tel 4 6 DPR_DWORD DPS_set_diag DPR_DWORD user_handle in DPR_BYTE xuser_diag_data in DPR_WORD user_diag_len in DPR_WORD diag_state in DP_ERROR_T error out Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DPS_open vergeben wurde user_diag_data Zeiger auf die User Diagnosedaten ab dem 7 Byte Die ersten 6 Bytes enthalten den Normteil den die Slave Modul Hardware hinzuf gt Format siehe Kap 4 6 L nge der User Diagnosedaten diag_state Dieses Bitfeld kann aus folgenden Werten bitweise ver kn pft werden DPS_EXT_DIAG Wenn gesetzt handelt es sich um eine Fehlerinformation an sonsten um eine Statusmel dung e DPS_EXT_DIAG_OV es sind mehr Diagnosedaten vorhanden als im Diagnose puffer dargestellt werden k n nen e DPS_STAT_DIAG Es ist ein schwerwiegender Fehler aufgetreten so dass keine sinnvollen Daten mehr geliefert werden k nnen Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_RES und Kein Zugriff auf das DP RAM m g error gt error_code lich DPS_RET_NO_DPR_PTR Fehlerhafte Abschuss d
62. EN_CP_NOT STARTED DP_ERROR_EVENT_NET und error gt error_code DPS_RET_DOUBLE OPEN DP_ERROR_EVENT_NET und error gt error_code DPS_RET_NOT_OFFLINE DP_ERROR_REQ_PAR und error gt error_code DPS_RET_INV_SLAVE_ADDR DP_ERROR_REQ_PAR und error gt error_code DPS_RET_DIN_DOUT_LEN DP_ERROR_REQ_PAR und error gt error_code DPS_RET_DIAG_LEN DP_ERROR_REQ_PAR und error gt error_code DPS_RET_PRM_LEN DP_ERROR_REQ_PAR und error gt error_code DPS_RET_CFG_LEN DP_ERROR_REQ_PAR und error gt error_code DPS_RET_SSA_LEN DP_ERROR_REQ_PAR und error gt error_code DPS_RET_INV_CFG DP_ERROR_RES und error gt error_code DP_RET_TOO_MANY_USR DP_ERROR_RES und error gt error_code DPS_RET_NO_SLAVE_MODULE DP_ERROR_RES und error gt error_code DPS_RET_LESS_MEM CP ist nicht gestartet DPS_open wurde bereits durchgef hrt Das Slave Modul ist nicht offline Die angegebene Slave Adresse ist un g ltig Max Input Output falsch Max_user_diag_len falsch Max_user_prm_data_len falsch Max_cfg_data_len falsch Max_user_ssa_data_len falsch Ung ltige Default Konfiguration Es k nnen sich keine weiteren DP Instanzen beim CP anmelden DP Slave Funktionen sind nicht ver f gbar weil es sich um einen CP 5613 handelt ohne Slave Modul Die angeforderten Puffer sind zu gro Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613
63. Events bersicht DP Base Schnittstelle Nach dem Abholen der ben tigten Semaphore kann folgende Sequenz zum Akti vieren und Abholen von Events durchlaufen werden Optional Hardware Event f r nderung der Einga bedaten einschalten req_mask Kap 4 3 12 Optional Hardware Event f r Diagnosedaten ein schalten req_mask Kap 4 3 12 Optional Hardware Event f r Zyklusanfang ein schalten D_cycle_start_mask Kap 4 3 12 Optional Hardware Event f r Zyklusende einschal ten D_cycle_end_mask Kap 4 3 12 Das Anwenderprogramm erkl rt dass es eine Semaphorweiterschaltung bei n derung der Eingabedaten haben m chte Das Anwenderprogramm erkl rt dass es eine Semaphorweiterschaltung beim Eintreffen von Diagnosedaten haben m chte Das Anwenderprogramm erkl rt dass es eine Semaphorweiterschaltung beim Zy klusanfang haben m chte Dieser Event wird nur im Aquidistanz modus unterst tzt Das Anwenderprogramm erkl rt dass es eine Semaphorweiterschaltung beim Zy klusende haben m chte _ Dieser Event wird nur im Aquidistanz modus unterst tzt Optional Fast Logic Auftrag abgeben DP_fast_logic_on Auf Semaphore warten z B WaitForMultipleObjects Art des Ereignisses fest stellen Quelle des Ereignisses feststellen welcher Slave 9 Ereignis lesen und bear beiten Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Das Anwenderprogramm bzw der auf ru
64. Funktionen des CP 5614 benutzen m chten ar beiten Sie au erdem bitte das Beispiel transfer durch modifizieren Sie es entsprechend Ihren Anforderungen und erproben Sie es mit ei ner erweiterten Beispieldatenbasis Lesen Sie bitte die FAQ Liste im Kapitel 5 durch besonders die Checkliste f r Programmierer und die Informationen zur Strukturierung Ihres Anwenderprogramms Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 10 C79000 G8900 0 139 04 bersicht Erstellen einer DP Anwendung Fortsetzung der Tabelle von der letzten Seite Schritt Beschreibung EA Erstellen Sie nun Ihr eigenes DP Anwenderprogramm Dazu k nnen 10 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 11 bersicht Erstellen einer DP Anwendung Programmierschnittstelle DP Base f r CP 5613 CP 5614 12 C79000 G8900 0 139 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 0 139 04 2 bersicht PROFIBUS DP 2 1 Positionierung von PROFIBUS DP PROFIBUS Die w
65. Ihnen den schnellen Zugriff auf die gew nschte Information erm glicht e Am Schluss finden Sie ein Glossar in welchem wichtige Fachbegriffe definiert sind die im Handbuch verwendet werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 3 Vorwort Programmierschnittstelle DP Base f r CP 5613 CP 5614 4 C79000 G8900 0 139 04 Inhaltsverzeichnis 1 bersicht Erstellen einer DP Anwendung 2 2 2 2222222020000000000200000000000000000000000000000 9 2 bersicht PROFIBUS DP unnsnsususununnnnnnnnnnnnononnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnen 2 1 Positionierung von PROFIBUS DP ssssssssseisssssssrrrrrstsssrsssrrirrnnnnsssrrnnnnnnsssnne 2 2 Das Master Slave Konzept von PROFIBUS DP uuunsssnnnnnnnnnnnsnnnnnnnnnnnn 2 3 Zyklisches Pollen durch den DP Master eeeseeeessseeeeeeessesrirrrrrnrsssserrrrnnesessne 2 4 Prozessabbild des DP Masters us4444444440nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 2 5 Anlauf und Betriebsphase einer DP Anlage 44400nsnnnnnnnnnnnnnnnnnnnnnnnnn nn 2 6 Die Zust nde des DP Masters uusssnssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnannnn 2 7 Entkopplung Slave Daten und Anwenderprogramm 4444ussnnssnnnnnnnnnennnnn 2 8 Sicherheitseigenschaften von DP 2uuusssnnsssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 2 9 Steuertelegramme an einen oder mehrere Slaves
66. Master und Slave Erweiterung von DP um Verbindungssteuerung sowie Read und Write Auftr ge von einem nicht zyklischen Master DP Erweiterungen Oberbegriff f r DPC1 und DPC2 Ein Teilnehmer mit Master Klasse 1 Funktion bei PROFIBUS DP Der DP Master wickelt den Nutzdatenverkehr mit den ihm zugeordneten DP Slaves ab Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 267 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 Dualport RAM Dual Port Random Access Memory Gestattet den gleichzeitigen Zugriff von zwei Rechnereinheiten CP und CPU auf einen Speicherbaustein RAM E A Modul DP Slaves k nnen modular aufgebaut sein Ein DP Slave besitzt mindestens ein DP E A Modul E A Typ DP E A Typ bezeichnet ein DP E A Modul Zu unterscheiden sind e Eingabemodul e Ausgabemodul e Ein Ausgabemodul Programmierschnittstelle DP Base f r CP 5613 CP 5614 268 C79000 G8900 C 139 04 Glossar Eingabedaten Event Fast Logic FDL Hier Die Daten die der DP Master zyklisch von den Slaves liest Hier Ein Ereignis das der
67. OPERATE in den DP Zustand CLEAR Dadurch werden die Slaves in einen definierten Zustand ge bracht Hinweise zu CLEAR siehe Kapitel 2 6 Die Zust nde des DP Masters Hinweis 1 Die Aktivit tskontrolle kann verwendet werden um gef hrliche Anlagenzust nde zu verhindern die durch den Ausfall des DP Master Anwenderprogramms entste hen k nnen Ohne Aktivit tskontrolle w rde der DP Master im DP Zustand OPERATE weiterhin die letzten Ausgabedaten an die DP Slaves senden obwohl das DP Master Anwenderprogramm nicht mehr korrekt arbeitet Ist ein solches Anlageverhalten nicht erw nscht muss die Funktion DP_watchdog mit einer geeigneten der An wendung angepassten berwachungszeit aufgerufen werden Hinweis 2 Die Aktivit tskontrolle eines DP Master Anwenderprogramms ist nach DP_open oder nach DP_close ausgeschaltet Wird im Parameter timeout der Wert 0 ber geben so wird eine gestartete Aktivit tskontrolle wieder beendet Hinweis 3 Der Vorgabewert 1 f r die berwachungszeit 10 ms wird intern stets auf 2 20 ms aufgerundet Die kleinste einstellbare berwachungszeit betr gt somit 20 ms Die Genauigkeit der berwachungszeit betr gt ca 10 ms Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 entnom
68. ORD DPS_get_state DPR_DWORD user_handle in DPR_WORD dps_state out DP_ERROR_T error out Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DPS_open vergeben wurde dps_state DPS_OFFLINE Das Slave Modul ist nicht gestartet e 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 e DPS_DATA_EX Das Slave Modul ist im Datenaus tausch Produktivphase Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 155 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 2 9 DPS_set_diag Zweck Syntax 156 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 Weitere Informationen bzgl
69. O_VIEW Interner Fehler Cl_RET_START_OK_ERR Interner Fehler CI_RET_START_OPEN_DATABASE Datenbasis File konnte nicht ge ffnet werden CI_RET_START_OPEN_FIRMWARE Firmware File konnte nicht ge ffnet werden CI_RET_START_REG_DATABASE Interner Fehler keine Datenbasis ein getragen CI_RET_START_REG_DOWNLOAD Interner Fehler keine Firmware einge tragen G_gc_data_O Eintrag fehlt in der Registry gt Fehler bei der Installation gc_data_1 gc_group tmsi tmsi_reserve ttr_div_256 tth_div_256_equ_dis Cl_RET_START_REG_NO_SWITCH_OUTPUT Fehlerhafter Registry Eintrag CI_RET_START_TEMP_LOCKED Dienst momentan nicht m glich CI_RET_START_TRANSLATE Interner Fehler Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 211 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 Abhilfe gt Kontakt CP Rechner ber pr fen CP tauschen Rechner tau CI_RET_CmResourceTypePort schen CI_RET_HalAssignSlotResources CI_RET_InterruptMode CI_RET_loReportResourceUsage CI_RET_MAP_00 CI_RET_MAP_01 CI_RET_MAP_02 CI_RET_MAP_03 CI_RET_MAP_DOWN_O CI_RET_MAP_DOWN_1 CI_RET_MAP_DPR_O CI_RET_MAP_DPR_1 CI_RET_MAP_PLX_O CI_RET_MAP_PLX_1 CI_RET_mem_def CI_RET_mem_res_count CI_RET_plx_length CI_RET_UNMA
70. P CI_RET_CmResourceTypeDeviceSpecific CI_RET_CmResourceTypeDma Programmierschnittstelle DP Base f r CP 5613 CP 5614 212 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_RES Klasse DP_ERROR_RES Bedeutung Fehlercodes Interner Speicherfehler 5 DP_RET_CP_NO_BUS_PAR Es sind keine Busparameter in der Datenbasis des CP enthalten DP_RET_CP_NO_DP_PAR Es sind keine DP Parameter in der Datenbasis des CP enthalten DP_RET_CP_TOO_MANY_SLV Es sind zu viele Slaves projektiert DP_RET_CP_TOO_MANY_USR Es k nnen sich keine weiteren DP Instanzen beim CP anmelden DP_RET_MEMORY Interner Speicherfehler DP_RET_TOO_MANY_USR Es k nnen sich keine weiteren DP Instanzen beim CP anmelden Klasse DP_ERROR_RES Bedeutung Fehlercodes f r die Slave Modulfunktionen des CP 5614 DPS_RET_LESS_MEM Die angeforderten Puffergr en sind zu gro DPS_RET_NO_DPR_PTR Kein Zugriff auf das DP RAM PS_RET_NO_SLAVE MODULE Slave Modul nicht vorhanden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 213 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 5 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 erste
71. PDU_LEN verwen det werden data_blk Je nach Indication werden in diesem Array die Indication Daten eingetragen siehe n chster Absatz Datenstruktur error Adresse einer vom Anwenderprogramm bereitgestellten Struk tur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Datenstruktur f r Parameter data_bik Der Inhalt der Datenstruktur data_blk h ngt vom Typ der Indication ab Indication Inhalt von Datenstruktur data_blik DPS_CHK_PRM DPR_BYTE user_prm_datal ser Parametrierdaten des Masters ohne den Normarnteil DPS_CHK_CFG PR_BYTE cfg_datal nfigurationsdaten des Masters DPS_NEW_SSA PR_WORD new_address PR_WORD ident_number PR_WORD no_addr_chg DPR_BYTE user_data l Datenstruktur die die neue Stationsadresse die Ident Nummer das Freischalten von Adress nderungen und die User Daten enth lt Alle Angaben sind im Intel Format dargestellt DPS_BAUD_ DPR_WORD state CHANGED DPR_WORD baudrate Datenstruktur siehe DPS_get_baud_rate siehe Kapi tel 4 2 6 DPS_GO_ DPR_WORD dps_state LEAVE _DATA_ N EX siehe Parameter DPS_get_state siehe Kapitel 4 2 8 DPS_NEW_GC DPR_WORD gc_command siehe Parameter DPS_get_gc_command siehe Kapi tel 4 2 7 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 161 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert
72. PS_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 Hinweis 1 Bei der Slave Betriebsart DPS_SM_SIMPLE werden die Eingabedaten aus den Vorgabedaten f r das Slave Modul automatisch bernommen Wenn der Slave nicht in der Betriebsart DPS_SM_SIMPLE betrieben wird m ssen nach der positi ven Quittierung eines Konfigurationstelegramms die Eingabedaten des Slave Moduls initialisiert d h geschrieben werden Syntax DPR_DWORD PS_open onst DPR_STRING cp_name PR_DWORD user_handle PR_DWORD slave_mode PR_WORD station_addr PR_WORD addr_change PR_WORD user_wd PS_INIT_DATA_T init_data PS_MAX_DATA_T max_data PR_WORD baud_rate P_ERROR_T error D D D D D DPR_WORD pno_ident_nr D D D D D Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 141 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter cp_name user _handle slave_ mode Logischer Name eines CP 5614 z B CP_L2_1 Zeiger auf User Handle Variable Im Erfolgsfall wird hier das dem Anwenderprogramm zugeordnete User Handle eingetragen Einstellung der Slave Betriebsart die einzelnen Flags wer den bitweise verkn pft e DPS_SM_SIMPLE Einfacher Slave mit
73. Quittung f r DP_ds_write DP_ALARM_ACK Quittung f r DP_alarm_ack DP_ENABLE EVENT Quittung f r DP_enable_ event DP_GET_CFG Quittung f r DP_get_actual_cfg Der Parameter result zeigt auf eine Struktur vom Typ DPC1_REQ_T Beim Empfang einer Confirmation werden in die zugeh rigen Substrukturen dieser Struktur die Quit tungsparameter eingetragen entsprechend dem Eintrag in req_type Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_ERROR_EVENT_NET und error gt error_code DP_RET_TIMEOUT DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_REQ_NEG DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_TIME_OUT DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_REQ_RE oder DP_RET_CP_MM xx xx AD DI EA FE IP LE NC NE NI RE SC SE DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_SLV_NOT IN_DATA DP_ERROR_EVENT DP_ERROR_EVENT_NET sonstige oder DP_ERROR_RES DP_ERROR_CI DP_ERROR_USR_ABORT Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Es wurde eine Confirmation empfangen Die Werte in req_type und result identifi zieren den Auftrag Der zugeh rige A
74. RATE ist werden diese Daten an die betriebsbereiten DP Slaves gesendet Es sollte immer nur eine Applikation auf die Ausgangsdaten des gleichen Sla ves schreiben Dadurch wird vermieden dass diese Daten von einer anderen Applikation berschrieben werden bevor sie an den Slave gesendet worden sind Semaphore gleichen Typs k nnen mit Ausnahme des Semaphors DP_OBJECT_TYPE_ASYNG nur von einer Applikation verwendet werden da sie nur einmal pro CP 5613 CP 5614 erzeugt werden Events und Filter d rfen nicht von mehreren Applikationen f r die gleichen Sla ves verwendet werden Stichwort Zugriffskonflikte Aktiviert ein DP Anwenderprogramm die AUTOCLEAR Eigenschaft Aufruf DP_siv_state oder startet sie den Watchdog Aufruf DP_watchdog so wech selt der DP Master selbstt tig vom Zustand OPERATE in den Zustand CLEAR wenn eines dieser Ereignisse eintrifft Daher m ssen auch die brigen Applika tionen st ndig den Master Zustand berpr fen Wie kann ich den CP 5613 oder CP 5614 mit einem Echtzeit Kernel unter Win dows NT benutzen ohne gleich den ganzen Treiber usw portieren zu m ssen Realisieren Sie den CP Anlauf und das Abmelden unter Windows NT Dazwischen betreiben Sie den CP im Echtzeit Kernel nur ber den Zugriff auf das Prozessab bild Der verwendete Interrupt u a Daten werden bei jedem Hochlauf des Win dows NT Treibers in die Struktur info_watch pci im Prozessabbild eingetragen siehe Header Datei dp_56
75. RD reserved inout DPR_BYTE length_s out DPR_BYTE data_s DPR_SLAVE_DATA_SIZE out DP_ALARM_EXT_T Der Parameter msg_filter gibt die Art der Date n an di ausgelesen werden liegenden Version muss die Kennung ingetragen werden DP_M SG_FILT ER_ALL In der vor Der Parameter msg enth lt den Typ der er mitt e O0 0 gt O H DE elten Daten P_MSG_NON ae F Di usdaten P_MSG_DIAG MSG_FAIL D andling Kein Eintrag vorhanden RM_DIAG Diagnosedaten mit P_MSG_STATUS_DIAG Diagnosedaten mit Sta sonstige Diagnosedaten Fehler beim Alarm der Parameter rror gt errorcode enth lt die detaillierte Fehlerursache siehe unten DP_R weit n g n m D m ET_CP_A LARM_STAT Der Parameter next_msg gibt ob an F Di _Xx noch ere Diagnosemeldungen gespeichert sind ext_msgqg 0 Es sind keine weiteren Dia nosemeldungen gespeichert ext_msg 1 Es sind weitere Diagnose ldungen gespeichert die mit P_fetch_alarm Aufrufen ausgelesen werden ssen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 103 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
76. REQ_S mit den Eintr gen f r Alarm Acknowledge Auftrag typedef struct DPCI_REO_S DPR_WORD order_id in DPR_DWORD c_ref in union DP_DS_READ_T dp_ds_read DP_DS_WRITE_ dp_ds_write DP_ALARM_ACK_ dp_alarm_ack DP_ENABLE_EV dp_enable_evt DP_GET_CFG_T dp_get_cfg reg DPCI_REO_T mit typedef struct DP_ALARM_ACK_S DPR_BYTE slot_number DPR_BYTE alarm_type DPR_BYTE specifier DP_ALARM_ACK_T Order_id ist eine vom Anwenderprogramm frei vergebbare 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 Das Element c_ref spezifiziert den Slave ber die Hilfsfunktion DP_get_cref user_id siv_add kann der Wert f r c_ref ermittelt werden Die Elemente slot_number alarm_type und specifier stammen aus dem empfangenen Slave Alarm Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 107 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolg reich aktiviert DP_ERROR_EVENT_NET und Es ist noch ein DP_alarm_ack Request in error gt error_code Bearbeitun
77. ROFIBUS PC Anschaltung CP 5613 PROFIBUS DP Slaves Abbildung 1 Prinzipieller Aufbau einer DP Anlage Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 17 bersicht PROFIBUS DP 2 3 Polling Zyklisches Pollen durch den DP Master 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 In einem Poll Zyklus werden alle betriebsbereiten DP Slaves adressiert Der Adressierung des letzten Slave schlie t sich sofort ein weiterer Poll Zyklus an Durch dieses Verfahren wird die Aktualit t der Daten gew hrleistet DP Master Ausgabe Daten 4 ai Eingabe Daten DP Slaves Abbildung2 Schematische Darstellung des Polling Ausgabedaten Das Aufruftelegramm enth lt die aktuellen Ausgabedaten die der DP Slave an seinen Ausgabeports anlegen soll Die Daten dieses Bereichs werden vom DP Anwenderprogramm vorgegeben Besitzt ein DP Slave keine Ausgabe Ports wird ihm statt dessen ein Leertelegramm gesendet Eingabedaten 18 Der Empfang eines Aufruftelegramms muss vom adressierten DP Slave durch Zu r cksenden eines Quittungstelegramms best tigt werden Das Quittungstelegramm enth lt die aktuellen Eingabedaten die an den Eingabe Po
78. SIEMENS SIMATIC NET Programnmiierschnittstelle DP Base f r CP 5613 CP 5614 Handbuch C79000 G8900 C139 04 Ausgabe 05 2000 orwort Inhaltsverzeichni bersicht Erstellen einer DP Anwendung lt Jbersicht PROFIBUS DP bersicht DP Base Schnittstelle amp Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes A AQ Frequently Asked Questions 971 o Sie Hilfe bekommen lossar Index Sicherheitstechnische Hinweise gt gt gt Dieses Handbuch enth lt Hinweise die Sie zu Ihrer pers nlichen Sicherheit sowie zur Vermeidung von Sachsch den beachten m ssen Die Hinweise sind durch ein Warndreieck hervorgehoben und je nach Gef hrdungsgrad folgenderma en dargestellt Gefahr bedeutet dass Tod schwere K rperverletzung oder erheblicher Sachschaden eintreten werden wenn die entsprechenden Vorsichtsma nahmen nicht getroffen werden Warnung bedeutet dass Tod schwere K rperverletzung oder erheblicher Sachschaden eintreten k nnen wenn die entsprechenden Vorsichtsma nahmen nicht getroffen werden Vorsicht bedeutet dass eine leichte K rperverletzung oder ein Sachschaden eintreten k nnen wenn die entspre chenden Vorsichtsma nahmen nicht getroffen werden Hinweis ist eine wichtige Information ber das Produkt die Handhabung des Produktes oder den jeweiligen Teil der Dokumentation auf den besonders aufmerksam gemacht werden soll Qualifiziertes Personal Inbet
79. S_open wurde bereits durchgef hrt DPS_RET_NOT_OFFLINE Das Slave Modul ist nicht offline DPS_RET_SEQUENCGE_ERROR Das Kommando ist im momentanen Be triebszustand nicht erlaubt DPS_RET_UNKNOWN_ERROR Unbekannter Fehler Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 203 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 DP_RET_CP_WRONG_GC_GRP Der Auftrag wurde vom CP mit Fehler beendet ung ltige Global Control Gruppe DP_RET_CP_WRONG_SYNC_GRP Der Global Control Aufruf Sync Unsync wurde mit Fehler beendet weil der adressierte DP Slave keiner der angege benen Gruppe n zugeh rt DP_RET_PAR_ALARM Der Parameter alarm ist ung ltig a DP_RET_PAR_ALARM_TYPE Der Parameter alarm_type ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_CP_NAME Der Parameter cp_name ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_CREF Der Parameter c_ref ist ung ltig a DP_RET_PAR_CTRL_CMD Der Parameter control_command ist ung ltig n DP_RET_PAR_DATA Der Parameter data
80. 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 e in unserem Katalog IK 10 e im Internet http www ad siemens de e in der Datei liesmich txt im Hauptverzeichnis der SIMATIC NET CD H ufige Fragen N tzliche Informationen und Antworten auf h ufig gestellte Fragen bietet Ihnen un ser Customer Support im Internet Hier finden Sie im Bereich FAQ Frequently Asked Questions Informationen rund um unser Produktspektrum Die Adresse der A amp D Homepage im World Wide Web des Internets lautet e http www ad siemens de net Programmierschnittstelle DP Base f r CP 5613 CP 5614 260 C79000 G8900 C139 04 Wo Sie Hilfe bekommen SIMATIC Customer Support Hotline Weltweit erreichbar zu jeder Tageszeit A ID N rnberg SIMATIC Basic Hotline N rnberg SIMATIC BASIC Hotline SIMATIC Premium Hotline kostenpflichtig nur mit SIMATIC Card Ortszeit Mo bis Fr 7 00 bis 17 00 Uhr CET Ortszeit Mo bis Fr 0 00 bis 24 00 Uhr CET Telefon 49 911 895 7000 Telefon 49 911 895 7777 Fax 49 911 895 7002 Fax 49 911 895 7001 E Mail simatic support nbgm siemens de Johnson City Singapur SIMATIC BASIC Hotline SIMATIC BASIC Hotline 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 3 1 423 461 223
81. TA_INT_CLEAR_AND_UNMASK bzw DPR_DATA_INT_CLEAR_AND_MASK siehe Hinweis 1 und dann die Daten le sen Sonst kann eine ung nstige berlappung der Ereignisse dazu f hren dass die n chste Daten nderung nicht bemerkt wird Hinweis 1 Ihr Anwenderprogramm muss die Event Maske selbst zur cksetzen Dazu kann DPR_DATA_INT_CLEAR_AND_UNMASK bei Benutzung von Semaphoren oder DPR_DATA_INT_CLEAR_AND_MASK Polling benutzt werden siehe dazu auch Kapitel 4 3 12 Hardware Event Erzeugung ein und ausschalten Hinweis 2 Der Speicherbereich mit Index 127 enth lt die Daten des Slave Moduls des CP 5614 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 0 139 04 175 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Beispiel 176 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 unsigned short i
82. TE nicht im zu berwachenden Zustand mst_state dann wird der Event sofort ausgel st Hinweis 7 Der Event DP_ALARM_STATUS wird in aufeinanderfolgenden DP_enable_event Confirmations solange gemeldet bis alle Alarm oder Status daten mit DP_fetch_alarm ausgelesen worden sind Syntax DPR_DWORD DP_enable_event DPR_DWORD user_handle in DPC1_REO_ request in DP_ERROR_ error out Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 113 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter Name Beschreibung User Handle das beim Aufruf DP_open vergeben wurde Request Zeiger auf die DP V1 Struktur DPC1_REQ_S mit den Eintr gen f r den Event Mechanismus typedef struct DPCI_REOQO_S DPR_WORD order_id in DPR_DWORD c_ref reserved union DP_DS_READ_T dp_ds_read DP_DS_WRITE dp_ds_write DP_ALARM_ACK_T dp_alarm_ack DP_ENABLE_EV dp_enable_evt DP_GET_CFG_T dp_get_cfg reg DPCI_REO_T Order_id ist eine vom Anwenderprogramm frei vergebbare 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 zuzuordnen Das Element c_ref ist hier reserviert In der Union req ist nur die Variante dp_enable_event re levant die weiter unten beschrieben wird Adresse einer vom Anwende
83. Trace aktiviert ist if IsTrcActive if buf 0 0 DP_write_trc Slave 5 Input Bytes 0 3 DP_USR_TRC_DEPTH_MAX NULL buf 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 137 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 2 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 dIl die Prototypen und Datenstrukturen sind in der Datei dps_base h im Unterverzeichnis prog Ihrer Software Installation abgelegt Funktionen die mit DP_ beginnen enthalten allgemeine und Master Modul funktionalit t Funktionen die nur f r das Slave Modul relevant sind beginnen mit DPS_ das S steht f r Slave Modul Programmierschnittstelle DP Base f r CP 5613 CP 5614 138 C79000 G8900 C 139 04 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 DP_start_cp Laden der Firmware und der Datenbasis in den Kap 4 1 2 CP 5614 Benutzen Sie die Funktion des Masters DPS_open Anmelden eines DPS Anwenderprogramms Vergabe eines User Handles DP_get_pointer Z
84. _DS_READ_T dp_ds_read DP_DS_WRITE_ dp_ds_write DP_ALARM_ACK_ dp_alarm_ack DP_ENABLE_EV dp_enable_evt DP_GET_CFG_T dp_get_cfg reg DPCI_REO_T mit typedef struct DP_GET_CFG_S DPR_BYTE length_s out DPR_BYTE data_s DPR_SLAVE_DATA_SIZE out DP_GET_CFG_LT Order _id ist eine vom Anwenderprogramm frei vergebbare 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 Das Element c_ref spezifiziert den Slave ber die Hilfsfunktion DP_get_cref user_id siv_add kann der Wert f r c_ref ermittelt werden Das Element length_s gibt die L nge der vom Slave emp fangenen Daten an In data_s werden die empfangenen Daten eingetragen siehe Kap 4 7 Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 110 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolgreich aktiviert DP_ERROR_EVENT_NET und Es ist noch ein DP_get_actual_cfg Request error gt error_code in Bearbeitung Ein erneuter Aufruf von DP_RET_REQ_ACTIV DP_get_actual_cfg ist erst dann zul ssig wenn das Erg
85. _FL_INV_INDEX_OUT_BYTE Ung ltiges Ausgabebyte CI_RET_FL_INV_OUT_MASK Ung ltige Maske f r das Ausgabe Byte CI_RET_FL_NOT_CLEAR Feld activated_fast_logicfid ist nicht Null Programmierschnittstelle DP Base f r CP 5613 CP 5614 208 C79000 G8900 C 139 04 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 CI_RET_GET_MAX_PENDING Maximale Anzahl pro Cl_open ber schritten CI_RET_GET_TIMEOUT Hinweis Timeout abgelaufen CI_RET_HANDLE_CLOSING Handle wird gerade geschlossen enden Sie die Applikation angegeben werden CI_RET_OPEN_MAX Maximale Cl_open Anzahl ber schritten oL RET ReoEIvE BUF Too sma OOOO O SSS CI_RET_RECEIVE_MAX_PENDING Zu viele Receive mit Timeout pro Cl_open CI_RET_RECEIVE_TIMEOUT_CANCEL Hinweis Receive wurde abgebrochen CI_RET_RECEIVE_TIMEOUT_NO_DATA Timeout abgelaufen CI_RET_RECEIVE_TIMEOUT_USER_APC Interner Fehler CI_RET_RELEASE_NO_ACCESS User hat keinen Zugriff gehabt CI_RET_RESET_ALREADY_DONE Hinweis CP ist schon im Zustand Reset Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 209 Beschreibung de
86. _RET_CFG_LEN DPS_RET_DIAG_LEN DPS_RET_DIN_DOUT_LEN DPS_RET_INV_CFG DPS_RET_INV_SLAVE ADDR DPS_RET_INV_TIMEOUT DPS_RET_NOT_IMPLEMENTED DPS_RET_PAR_ASYNC_HDL DPS_RET_PAR_BAUD RATE DPS_RET_PAR_CFG_DATA DPS_RET_PAR_CFG_LEN DPS_RET_PAR_DATA_BLK DPS_RET_PAR_DIAG_DATA DPS_RET_PAR_DIAG_LEN DPS_RET_PAR_DIAG_STATE DPS_RET_PAR_GC DPS_RET_PAR_IN_DATA_LEN DPS_RET_PAR_IND_REF DPS_RET_PAR_INIT_DATA DPS_RET_PAR_OUT_DATA_LEN DPS_RET_PAR_STATE DPS_RET_PAR_SYNC_HDL DPS_RET_PRM_LEN DPS_RET_SSA_LEN Max Input Output falsch Ung ltige Default Konfiguration Der Parameter timeout ist ung ltig Der Dienst ist noch nicht implementiert Der Parameter AsyncHandle ist ung ltig Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Klasse DP_ERROR_CI Bedeutung BE e S CI_RET_CANCEL_NO_RECEIVE Hinweis Nichts da zum abbrechen CI_RET_CIB_CLOSE_ALREADY Doppelter Close ClI_RET_CIB_HOST_READY Datensemaphore hat keinen plausi blen Zustand CI_RET_CONNECT_MAX Maximale ClI_connect_cp Anzahl berschritten CI_RET_CP561X_ROOT Eintrag fehlt in der Registry gt Fehler bei der Installation CI_RET_DISCONNECT_NOT_CONNECTED_O Kein mapping angelegt gt interner Fehler CI_RET_DISCONNECT_NOT_CONNECTED_1 Kein mapping angelegt gt interner Fehler CI_RET_DISCONNECT_NOT_CONNECTED_
87. achung de aktiviert Ist das Bit gesetzt wird die Ansprech berwachung beim DP Slave aktiviert Byte 2 und 3 WD_Fact_1 und WD_Fact_2 238 Diese beiden Bytes enthalten Faktoren f r die Einstellung der Ansprech berwa chungszeit Twp Die Ansprech berwachungszeit sorgt in einem DP Slave daf r dass nach dem Ausfall des DP Masters nach Ablauf dieser Zeit die Ausg nge den sicheren Zu stand einnehmen Two ms 10 WD_Fact_1 WD_Fact_2 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Der Wert wird im Motorola Format bertragen d h die h herwertige H lfte steht in Byte 5 Byte 7 Group _Ident Mit diesem Parameter kann eine Gruppenbildung f r die Funktion DP_global_ctri gebildet werden Jedes Bit stellt eine Gruppe dar Die Group_Ident wird nur bei ge setztem Lock_Reg Bit bernommen siehe Byte 1 Byte 8 DPV1_Status_1 Bit Bedeutung DPV1_Enable Dieses Bit wird gesetzt um die DP V1 Funktionalit t eines DP V1 Slave zu
88. aktivieren Ist dieses Bit nicht gesetzt so arbeitet der Slave sofern m glich im Kompatibilit tsmodus Fail Safe Dieses Bit wird gesetzt um anzuzeigen dass der Slave im Fail Safe Modus arbeitet 53 2 WD_Base_1ms Ist dieses Bit gesetzt so wird die Watchdog berwachungszeit nach folgender Formel berechnet Two ms WD_Fact_1 WD_Fact 2 Ist dieses Bit nicht gesetzt wird die Watchdog berwachungszeit wie folgt berechnet Two ms 10 WD_Fact_1 WD_Fact 2 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 239 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Byte 9 DPV1_Status_2 Bit 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 zu erm glichen Enable_Manufacturer_Specific_Alarm Dieses Bit wird gesetzt um die Meldung aller herstellerspezifischer Alarme zu erm glichen Enable_Status_Alarm Dieses Bit wird gesetzt um die Meldung des Alarm Typs Sta tus_Alarm zu erm glichen Enable_Update_Alarm Dieses Bit wird gesetzt um die Meldung des Alarm Typs Up date_Alarm zu erm glichen reserviert Check_Cfg_Mode Durch dieses Bit ka
89. alue_in_byte sind slave_addr_out_byte selektiert den Slave dessen Aus gangsbyte beim Eintreffen der Triggerbedingung ver ndert werden soll index_out_byte gibt den Index des Ausgangsbytes an value_out_byte gibt den Wert an der in das Ausgangsbyte geschrieben werden soll Mit mask_out_byte k nnen einzelne Bits im Ausgangsbyte maskiert werden so dass sie beim Eintreffen der Trigger bedingung nicht ver ndert werden Maskiert wird durch eine 1 im entsprechenden Bit d h f r mask_out_byte 0x00 werden alle Bits von value_out_byte in das selektierte Aus gangsbyte geschrieben Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 128 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Der Fast Logic Trigger wurde akti viert DP_ERROR_CI und Parameter fast_logic_id ung ltig error gt error_code CI_RET_FL_INV_ID DP_ ERROR_CI und Ung ltige Adresse des Eingabe error gt error_code Slaves CI_RET_FL_INV_ADDR_IN_BYTE DP_ ERROR_CI und Ung ltige Adresse des Ausgabe error gt error_code Slaves CI_RET_FL_INV_ADDR_OUT_BYTE DP_ERROR_CI und Eingabe Slave nicht in der Daten error gt error_code basis CI_RET_FL_SLAVE_IN_ NOT_IN_DB DP_ERROR_CI und Ausgabe Slave nicht in der Da
90. amm die Hardware Events nicht schnell genug bearbeiten sollte Wenn Sie eine Steuerbedingung erneut setzen achten Sie bitte darauf dass der Datenbereich des zugeordneten Slave gegen Aktualisierung gesperrt ist Konsi stentes Lesen Kap 4 3 1 bzw Kap 4 3 2 Hinweis 3 Der Einsatz von Hardware Events f r viele aktive Slaves gleichzeitig belastet den PC st rker als Polling siehe Ratschl ge in der FAQ Liste Hinweis 4 Der Hardware Event bei Zyklusanfang und bei Ende des zyklischen Teils des DP Zyklus kann durch den Anwender nicht deaktiviert werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 189 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 Beispiel f r konsistentes Schreiben 190 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 als Sendedaten ins Slave Modul geschrieben Daten kopieren memcpy amp p gt pi slave_out 127 data 0 buf 200 bertragung ansto en
91. anen Betriebszustand nicht DPS_RET_SEQUENCE_ERROR erlaubt onen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 149 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 2 6 DPS_get_baud_rate Mit dieser Funktion kann Ihr Anwenderprogramm die aktuelle Daten bertragungs user_handle state baud_rate error Programmierschnittstelle DP Base f r CP 5613 CP 5614 Zweck geschwindigkeit vom Slave Modul abfragen Syntax DPR_DWORD DPS_get_baud_rate DPR_DWORD DPR_WORD DPR_WORD DP_ERROR_T 150 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DPS_open vergeben wurde DPS_BAUD_SEARCH Keine Daten bertragungs 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 baud_rate DPS_BD_9K6 9600 00 DPS_BD_19K2 19 20 DPS_BD_45K45 45 45 DPS_BD_93K75 93 75 DPS_BD_187K5 187 5 DPS_BD_500K 500 00 DPS_BD_1M5 1 50 DPS_BD_3M 3 00 DPS_BD_6M 6 00 DPS_BD_12M 12 00 Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_RES und Kein Zugriff auf d
92. ar Funken Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 157 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 2 10 DPS_get_ind Zweck 158 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 Hinweis 2 Ist zum Zeitpunkt des Funktionsaufrufs keine Indication vorhanden und die ber wachungszeit abgelaufen wartet die Funktion DPS_get_ind nicht sondern liefert den Return Wert DPS_NO_IND im Feld indication zur ck Beim n chsten Aufruf kann neben der erwarteten Indication auch die vorher ver geblich erwartete Indication als Ergebnis zur ckgegeben werden Hinweis 3 Wird beim Absetzen von DPS_close noch auf asynchrone Indications gewartet wird DPS_get_ind mit der Fehlerklasse DP_ERROR_USR_ABORT beendet Hinweis 4 Dieser Aufruf darf zu einem Zeitpunkt von einem oder mehreren Programmen ins gesamt nur einmal abgesetzt werden Hinweis 5 Ein Adresswechsel des Slave DPS_NEW_SSA Indication kann nur durchgef hrt werden solange der Slave noch auf Parametrierdaten wartet Nachdem ein Para metrierteleg
93. as Anwenderprogramm bzw der auf z B WaitForMultipleOb rufende Thread wartet bis ein Ereignis jects eintritt WaitForMultipleObjects ist ei ne Windows 32 Bit API Funktion DPS_get_ind Angekommene Indications abholen Wenn DPS_CHK_PRM Falls eine neue Parametrierung einge troffen ist DPS_set_resp User Parameterdaten pr fen und po sitiv oder negativ quittieren Wenn DPS_CHK_CFG Falls eine neue Konfiguration einge troffen ist DPS_set_resp Konfigurationsdaten pr fen und positiv oder negativ quittieren Zu Schritt 1 gehen Hinweis Nach dem positiven Quittieren der Konfigurationsdaten m ssen die Eingabedaten im Prozessabbild des Slave Moduls mindestens einmal geschrieben werden In itialisierung bevor der Slave Modul in den Datenaustausch gehen kann Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 bersicht DP Base Schnittstelle Abmeldung des Semaphors Nach der letzten Benutzung melden Sie Ihr Semaphor wie folgt ab 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 C 139 04 65 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
94. as DP RAM m g error gt error_code lich DPS_RET_NO_DPR_PTR Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 151 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 Syntax DPR_DWORD DPS_get_gc_command DPR_DWORD user_handle in DPR_WORD gc_cmd out DP_ERROR_T error out Parameter User Handle das beim Aufruf DPS_open vergeben wurde Letztes empfangenes Global Control Kommando Die Global Control Informationen sind in einzelnen Bits dar gestellt wobei mehrere Bits gleichzeitig gesetzt sein k n nen Der Aufbau entspricht dem Global Control Byte der EN50170 DPS_CLEAR Master ist im CLEAR Zustand DPS_FREEZE Eing nge werden bernommen und eingefroren DPS_UNFREEZE Eing nge werden wieder zy klisch aktualisiert DPS_SYNC Ausg nge werden einmalig ak tualisiert DPS_UNSYNC Ausg nge werden wieder zy klisch aktualisiert Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapite
95. auch die DP Programmiierschnittstelle des CP 5412 A2 des CP 5511 und CP 5611 Daf r ist das Zusatzprodukt DP 5613 Windows NT vorgesehen Werden mehrere CPUs Anwenderprogramme und CPs parallel unterst tzt Mehrere CPUs in einem PC ja Beachten Sie ansonsten bitte die Versionstabelle im Kapitel 14 2 der Installations anleitung Programmierschnittstelle DP Base f r CP 5613 CP 5614 246 C79000 G8900 0 139 04 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 247 FAQ Frequently Asked Questions 5 2 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 Welche Strukturierungsm glichkei
96. aufzunehmen Aktivieren Deaktivieren von Slaves Wenn der DP Master im CLEAR oder OPERATE Zustand ist k nnen einzelne Slaves aktiviert oder deaktiviert werden Ein deaktivierter Slave wird vom Master nicht mehr angesprochen AUTOCLEAR Unter bestimmten Umst nden kann der DP Master vom Zustand OPERATE in den Zustand AUTOCLEAR bergehen siehe Kapitel 2 8 Programmierschnittstelle DP Base f r CP 5613 CP 5614 30 C79000 G8900 C 139 04 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 0 139 04 31 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 1 DP Master Klasse 2 Anwenderprogramm Anwenderprogramm DP DPC1 Program DPC2 Programmier mierschnittstelle schnittstelle Zykl Betrieb ur Azykl Betrieb Azykl MSAC_C2 Betrieb MSAC_C1 DP Slave mit DP V1 Zusatzfunktionen DP V1 Master Klasse 1 DPC1 Ein zyklischer DP Master kann mittels DPC1 zus tzlich Daten an den Slave schik ken bzw lesen Alarme empfan
97. ausgenommen werden Hinweis 1 Wurde die AUTOCLEAR Eigenschaft in der Datenbasis projektiert ist die AUTOCLEAR Eigenschaft aller Slaves bereits eingeschaltet Hinweis 2 Wurde die AUTOCLEAR Eigenschaft in der Datenbasis nicht projektiert und wol len Sie diese einschalten so m ssen Sie zuerst die AUTOCLEAR Eigenschaft generell Slave Adresse OxFF einschalten und dann die AUTOCLEAR Eigenschaft f r die einzelnen Slaves aktivieren Hinweis 3 Die Verwendung der Parameter DP_SLV_ACTIVATE und DP_SLV_DEACTIVATE ist in einer DP Applikation normalerweise nicht erforderlich da die Aktivierung oder Deaktivierung eines DP Slaves automatisch durch den Kommunikationsprozessor erfolgt abh ngig vom Betriebszustand des Masters Diese Parameter sollten nur in Ausnahmef llen verwendet werden um einen Slave generell d h unabh ngig vom Betriebszustand des DP Masters aus dem DP Zyklus herauszunehmen oder danach wieder hereinzunehmen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 87 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 od
98. auszugeben w rden Sie etwa folgendes programmieren printf Baudrate gt d p gt info_watch aspc2_buspara baud_rate Die Parameter sind Bytes Worte oder Doppelworte Lesen Sie die Formate ggf im der Header Datei nach Struktur DPR_ASPC2_BUSPARA_T Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Beschreibung der Busparameter Eigene Stationsadresse baud_rate Daten bertragungsgeschwindigkeit tsl Slot Time in Bitzeiten min_tsdr Minimum Station Delay in Bitzeiten max_tsdr Maximum Station Delay in Bitzeiten tqui Modulator Ausklingzeit in Bitzeiten tset Setup Time in Bitzeiten ttr Target Rotation Time in Bitzeiten g GAP Aktualisierungsfaktor hsa H chste PROFIBUS Adresse max_retry_limit Max Anzahl von Aufrufwiederholungen station_type 1 aktive Station 0 passive Station trdy READY Time in Bitzeiten BpFlag e Bit 7 0 bedeutet keine Zustandswechsel im Fehlerfall e Bit 7 1 bedeutet Zustandswechsel im Fehlerfall AUTOCLEAR e Bit6 bis 0 reserviert MinSlavelnterval siehe Kapitel 3 2 Einheit 1 ms PollTimeout berwachungszeit der Kommunikation mit einem Master Klasse 2 Einheit 10 ms DataControlTime siehe Kapitel 3 2 Einheit 1 ms Innerhalb dieser Zeitspanne teilt der DP Master den zuge ordneten Slaves seinen Betriebszustand mit Programmierschnittstelle DP Base f r
99. auto matischer Pr fung von Parametrier und Konfigura tionsdaten DPS_SM_V1_ENABLE DP V1 Dienste aktivieren DPS_SM_FREEZE_SUPP Freeze unterst tzen DPS_SM_SYNC_SUPP Sync unterst tzen DPS_SM_DYNAMIC Parametrier und Konfigura tionsdaten des Slaves wer den dynamisch gepr ft station_addr Stationsadresse des Slave addr_change pno_ident_nr user_wd 142 1 bedeutet Adress nderung ber Bus erlauben 0 bedeutet Adress nderung ber Bus nicht erlauben Von der PNO bei der Zertifizierung vergebene eindeutige Nummer f r diesen Slave z B 0x0008 f r das Beispiel anwenderprogramm Diese Nummer wird im Intel Format dargestellt Rechenformel User_wd 10ms berwachungszeit des Anwenderpro gramms Wenn in dieser Zeit der Watchdog nicht nachgetriggert wird verl sst der Slave den Zustand Produktivbetrieb Data_Ex Mit 0 wird der Watchdog deaktiviert Ab welcher Software Version diese Eigenschaft verf gbar ist k nnen Sie in der Versionstabelle im Kapitel 14 2 der In stallationsanleitung nachlesen Solange der Watchdog nicht realisiert ist muss dieser Parameter mit 0 vorbelegt werden Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite init_data Zeiger auf eine Struktur mit Informationen ber die erwei terte
100. b dieses Token Rings wird die Sendeberechtigung Token von Station zu Station weitergegeben Wird nun die bertragung des Token gest rt oder wird ein Master vom Token Ring entfernt so f hrt dies bei der Token Weitergabe zu einem Fehler Token wird von dieser Station nicht angenommen was eine Ausgliede rung dieser Station aus dem Token Ring zur Folge hat Die Anzahl der Ausgliede rungen werden im internen Token_error_counter gez hlt Erreicht dieser Z hler ei nen oberen 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 AG SAP Service Access Point Zugangspunkt zum PROFIBUS innerhalb einer Station Semaphor Wartestellenmechanismus zur Synchronisation mehrerer Programme z B in Win dows NT Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 273 Glossar Setup Time Ein Busparameter f r PROFIBUS Die Setup Time gibt den Mindestzeitabstand zwischen dem 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 Software Event Hier Event der mit der Funktion DP_get_result abg
101. beitung DP_RET_CP_REQ_ACTIV M gliche Reaktion des Anwendungspro gramms nach einer kurzen Wartezeit erneut DP_siv_state aufrufen Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 89 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 11 DP_read_siv_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 wuser_handle DPR_WORD slv_add DPR_WORD type DPR_WORD data_len DPR_BYTE data DP_ERROR_T error Parameter Name Beschreibung User Handle das beim Aufruf DP_open vergeben wurde siv_add Adresse des Slave type Gew nschte Datenart siehe Kap 4 7 DP_SLV_TYP allg Slave Parameter DP_SLV_PRM Parametrierdaten DP_SLV_CFG Konfiguration DP_SLV_USR User spezifische Parametrierdaten F r die letzen beiden werden in der Regel keine Daten ge liefert data_len Adresse einer L ngenvariablen Hier wird die Zahl der g l tigen Bytes im Datenpuffer eingetragen data Zeiger auf einen Datenbereich Der Datenbereich muss mindestens DP_PAR_SIZE gro sein siehe Kap 4 7 error Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 56
102. bstechnik Postfach 48 48 D 90327 N rnberg Siemens Aktiengesellschaft Haftungsausschlu Wir haben den Inhalt der Druckschrift auf bereinstimmung mit der beschriebenen Hard und Software gepr ft Dennoch k nnen Abweichungen nicht ausgeschlossen werden so da wir f r die vollst ndige bereinstimmung keine Gew hr bernehmen Die Angaben in dieser Druckschrift werden regelm ig berpr ft und notwendige Korrekturen sind in den nachfolgenden Auflagen enthalten F r Verbesserungsvorschl ge sind wir dankbar C79000 G8900 C139 04 Siemens AG 2000 Technische nderungen vorbehalten Printed in the Federal Republic of Germany 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 e CP 5613 CP 5614 DP Base V1 0 e CP 5613 CP 5614 DP Base V1 1 e CP 5613 CP 5614 DP Base V1 2 Wegweiser Um Ihnen den schnellen Zugriff auf spezielle Informationen zu erleichtern enth lt das Handbuch folgende Zugriffshilfen e Am Anfang des Handbuchs finden Sie ein vollst ndiges Gesamtinhaltsver zeichnis e Am Ende des Handbuchs finden Sie ein ausf hrliches Stichwortverzeichnis welches
103. ch durch die Sla ve Hersteller festgelegt Zur weiteren Auswertung muss die Ident_Number des Slave herangezogen werden Struktur Header Byte Byte 2 Diagnostic_User_Data bis 63 Byte 1 Header Byte Die beiden h chstwertigen Bits im ersten Byte haben den Wert 00 Damit wird der Block Ger tebezogene Diagnose als ganzes identifiziert Die restlichen sechs Bits im ersten Byte geben die L nge des Datenblocks inklusi ve dem ersten Byte an Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 221 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 Einige Komponenten haben entsprechend unterschiedliche Ko dierungen Die beiden Varianten k nnen am Byte 2 Bit 7 auseinandergehalten werden Variante Alarme Variante Statusmeldungen Header Byte Alarm_Type Status_Type Byte 4 Alarm Specifier Status Specifier Byte 5 Diagnostic_User_Data bis 63 Byte 1 Header Byte Die beiden h chstwertigen Bits im ersten Byte haben den Wert 00 Damit wird der Block Ger tebezogene D
104. chfolgende Kapitel 3 bersicht Machen Sie sich mit dem Inhalt des Unterverzeichnisses prog in Ih rem Installationsverzeichnis vertraut so dass Sie f r die nachfolgenden Schritte wissen welche Teile vorhanden sind und wozu sie dienen Im einzelnen sind das e Die Datei liesmich txt mit neuesten zus tzlichen Informationen und letzen nderungen Die C Header Datei dp_5613 h mit den Funktionen und Daten strukturen der DP Base Schnittstelle sowie 5613_ret h mit den Return Codes Die Import Libraries dp_base lib und dps_base lib zum Zubinden an Ihr Anwenderprogramm Die Beispielprogramme und zugeh rige Datenbasen im Unterver zeichnis examples Arbeiten Sie nun den Quelltext des Beispielprogramms ExamEasy durch und schlagen Sie die Funktionen und Datenzugriffe im nachfol genden Kapitel 4 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes nach ndern Sie das Beispielprogramm ExamEasy entsprechend Ihrer Anlagenkonfiguration ab indem Sie z B zus tzliche oder andere Sla ves verwenden bersetzen und binden Sie das Beispielprogramm und probieren Sie es aus Dazu m ssen Sie eventuell die ExamEasy Beispieldatenbasis erweitern mit dem COM PROFIBUS Arbeiten Sie nun den Quelltext des Beispielprogramms ExamComp durch modifizieren Sie das Programm und erproben Sie es mit einer erweiterten Beispieldatenbasis Falls Sie die Slave
105. chnittstelle einstellen aus ist au erdem im Diagnoseteil unter Erweiterte Dia gnose das Werkzeug DP Trace erreichbar Mit DP Trace k nnen Sie ein Pro tokoll der Aufrufe ausgew hlter DP Funktionen erzeugen Die Bedienung von DP Trace ist in der Installationsanleitung ebenfalls beschrieben Programmierschnittstelle DP Base f r CP 5613 CP 5614 254 C79000 G8900 0 139 04 FAQ Frequently Asked Questions 5 5 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 Diese M glichkeit erfordert den Aquidistanzmodus der Baugruppe Welche Zugangspunkte der Applikation werden bei der Installation angelegt Es werden folgende Zugangspunkte angelegt e CP_L2 1 e CP_L2 2 Damit der bei CP 5613 Version 1 x angebotene Name CP5613_5614_1 weiter verwendet werden kann wird der folgende Zugangspunkt zus tzlich eingerichtet e CP5613_5614_1 Welche Schnittstellenparametrierungen werden bei der Installation angelegt F r den ersten CP werden die folgenden Schnittstellenparametrierungen einge richtet e CP5613_5614 MPI e CP5613_5614 PROFIBUS F r den zweiten bis vierten CP werden die folgenden Schnittstellenparametrierun gen eingerichte
106. d zugreifen DP V1 Auftr ge ansto en und deren Quittungen abholen sowie sonstige DP Funktionen ansto en Auf den nachfolgenden Seiten werden die hierzu geh rigen Sequenzen n her erl utert Programmierschnittstelle DP Base f r CP 5613 CP 5614 48 C79000 G8900 0 139 04 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 1 DP_set_mode Clear Master in Zustand CLEAR fahren Slaves werden zur ckgesetzt 2 DP_set_mode Stop Master in Zustand STOP fahren zykli scher Betrieb endet or rose Cr annaten DD Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 49 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 50 C79000 G8900 C 139 04 Elemente eines Poll Zyklus bersicht DP Base Schnittstelle Alle nachfolgend beschriebenen Schritte erfolgen durch direkten Zugriff auf das Prozessabbild ber den C Zeiger als Resultat des Aufrufs DP_get_pointer Zusammengenommen e
107. de Request Zeiger auf DP V1 Struktur DPCi_REQ_S mit den Eintr gen f r Datensatz Lesen Auftrag typedef struct DPCI_REOQO_S DPR_WORD order_id DPR_DWORD c_ref union reg DP_DS_READ_T DP_DS_WRITE_ DP_ALARM_ACK_T DP_ENABLE_EVT_T DP_GET_CFG_T DPCI_REO_T mit typedef struct DPR_BY DPR_BY DPR_BY DPR_BY data_s DPR_DPCI_MAX_L I in in dp_ds_read dp_ds_write dp_alarm_ack dp_enable_evt dp_get_cfg DP_DS_READ_S E slot_number in E index in E length_s inout DP_DS_READ_T ENGTH out 96 Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite Request Fortsetzung Return Wert Order_id ist eine vom Anwenderprogramm frei vergebbare 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 Das Element c_ref spezifiziert den Slave ber die Hilfsfunktion DP_get_cref user_id siv_add kann der Wert f r c_ref ermittelt werden Zu den Elementen slot_number und index schlagen Sie bitte die Beschreibung des jeweiligen Slave nach Das Element length_s gibt als Vorgabewer
108. der DP_BASE Library abgelehnt Der Parameter request ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter reserved ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter result ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter selector ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter sema_type ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter slot_number ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter slv_add ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter sIv_mode ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter timeout ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter type ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter user_handle ist ung ltig oder undefiniert Der Auftrag wurde von der DP_BASE Library abgelehnt Der Parameter wd_index ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt 205 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Bedeutung Die Pufferl nge ist ung ltig Max_cfg_data_len falsch Max_user_diag_len falsch 206 Klasse DP_ERROR_REQ_PAR Fehlercodes f r die Slave Modulfunktionen des CP 5614 DPS_RET_BUF_LEN DPS
109. 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 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 bei wie vielen Slaves ge nderte Daten vorliegen w rden Sie etwa folgendes programmieren wobei sum das Ergebnis enth lt Unsigned short sum 0 Unsigned short i for i 0 i lt DPR_MAX_SLAVE_ADDR i if p gt ef input i req_mask DPR_DATA_CHANG ge nderte Daten beim Slave i gefunden Sperren des Datenbereichs gegen Aktualisierung p gt ctr D_lock_in_slave_adr i Maske wieder freigeben p gt ef input i req mask DPR_DATA_INT_CLEAR_AND_UNMASK Daten lesen memcpy Sperren des Datenbereichs aufheben p gt ctr D_lock_in_slave_adr DPR_DP_UNLOCK sum t t Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 173 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Allgemeine Hinweise A 174 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_DA
110. 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 Zum konsistenten Lesen der Diagnosedaten eines Slave sperrt Ihr Anwenderpro gramm den Datenbereich zun chst gegen Aktualisierung von Seiten des DP Master greift dann darauf zu und gibt ihn anschlie end wieder frei Das Sperren erfolgt durch das Schreiben der Slave Nummer in ein Steuerregister im Pro zessabbild Das Freigeben erfolgt durch Schreiben des Wertes DPR_DP_UNLOCK in dasselbe Register Au erdem gibt es einen Z hler der die Diagnosedaten des betreffenden Slave mitz hlt Beispiel f r konsistentes Lesen der Diagnosedaten Es sei p ein Zeiger auf das Prozessabbild den Ihr Anwenderprogramm beim DP_get_pointer Aufruf erhalten hat Dann werden 200 Byte der Diagnosedaten des Slave Nr 5 wie folgt in einen lokalen Puffer buf kopiert Sperren des Diagnosedatenbereichs gegen Aktualisierung p gt ctr D_lock_diag_slave_adr 5 Z hler auswerten count p gt pi slave_diag 5 diag_count aktuelle Daten kopieren memcpy buf amp p gt pi slave_diag 5 data 0 p gt pi slave_diag 5 diag_len Sperre wieder aufheben p gt ctr D_lock_diag_slave_adr DPR_DP_UNLOCK Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 169 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Allg
111. dle in DPC1_REO_ request de sn DP_ERROR_ error out Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter user _handle User Handle das beim Aufruf DP_open vergeben wurde request Zeiger auf DP V1 Struktur DPCi_REQ_S mit den Eintr gen f r Datensatz Schreiben Auftrag typedef struct DPC1_REO_S DPR_WORD order_id in DPR_DWORD c_ref in union P_DS_READ_T dp_ds_read P_DS_WRITE_T dp_ds_write P_ALARM_ACK_T dp_alarm_ack P_ENABLE_EVT_T dp_enable_evt P_GET_CFG_T dp_get_cfg DPC1_REQ T mit typedef struct DP_DS_WRITE_ DPR_BYTE slot_number in DPR_BYTE index in DPR_BYTE length_m in DPR_BYTE data_m DPR_DPC1I_MAX_LENGTH 14 ain DP_DS_WRITE_T Order_id ist eine vom Anwenderprogramm frei vergebbare 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 Das Element c_ref spezifiziert den Slave ber die Hilfsfunktion DP_get_cref user_id siv_add kann der Wert f r c_ref ermittelt werden Zu den Elementen slot_number und index schlagen Sie bitte die jeweilige Slave Beschreibung nach Das Element length_m gibt die L nge der an den Slave zu sendenden Daten in data_m an A
112. dresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 99 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolg reich aktiviert DP_ERROR_EVENT_NET und Es ist noch ein DP_ds write oder Error gt 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 Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 100 C79000 G8900 C 139 04 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 Es werden sofern vorhanden immer die gesamten Diagnosedaten zur ckgegeben Hinweis 1 Alle Diagnosetelegramme mit Alarmen werden vom CP 5613 CP 5614
113. e DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 21 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 22 C79000 G8900 0 139 04 bersicht PROFIBUS DP 2 6 Die Zust nde des DP Masters berblick Bei der Kommunikation mit den DP Slaves kann der DP Master folgende vier Zu st nde einnehmen e OFFLINE e STOP e CLEAR bzw AUTOCLEAR e OPERATE Zust nde Jeder dieser Zust nde ist durch definierte Aktionen zwischen DP Master und den DP Slaves gekennzeichnet Master Bedeutung Zustand OFFLINE Es findet keinerlei Kommunikation zwischen DP Master und den DP Slaves statt Dies ist der Startzustand des DP Masters Auch in diesem Zustand findet keinerlei Kommunikation zwi schen DP Master und den DP Slaves statt Im Gegensatz zum Zustand OFFLINE kann eine DP Diagnosestation DP Master Klasse 2 Diagnoseinformationen des DP Masters auslesen CLEAR bzw In diesem Zustand erfolgt die Parametrierung und Konfigurierung AUTO aller DP Slaves die in der Datenbasis eingetragen und aktiviert CLEAR sind Anschlie end beginnt der zyklische Datenaustausch zwi schen DP Master und DP Slave
114. e DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 85 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Die nderung des DP Zustands wurde aktiviert DP_ERROR_EVENT_NET und error gt error_code e DP_RET_CP_SET_MODE_CLR_ACT e DP_RET_CP_SET_MODE_OFFL_ACT e DP_RET_CP_SET_MODE_OPR_ACT e DP_RET_CP_SET_MODE_STOP_ACT DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_WRONG_MODE_CLR e DP_RET_CP_WRONG_MODE_OFL DP_RET_CP_WRONG_MODE_OPR e DP_RET_CP_WRONG_MODE_STP Ein DP_set_mode Aufruf ist noch in Bearbeitung Der gew hlte Master Zustand ist nicht zul ssig berspringen ei nes Master Zustands Andere Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 86 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 10 DP_siv_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 Mit der Slave Adresse OxFF und sIv_mode DP_AUTOCLEAR_ON DP_AUTOCLEAR_OFF wird die Eigenschaft AUTOCLEAR generell aktiviert de aktiviert Optional k nnen selektiv einzelne Slaves slv_add OxFF aus der AUTOCLEAR Bearbeitung hinein oder her
115. e Hinweise in Kapitel 2 7 berpr fen Sie Ihre Datenbereiche auf folgende Punkte e Dimensionieren Sie die Datenpuffer f r die gr tm gliche Datenl nge e Verketten Sie bereits im Anlauf Ihres Programms Auftragsbl cke mit g ltigen Datenpuffern e Benutzen Sie mehrere Threads so sollte jeder Thread seine eigenen Auftrags bl cke und Datenpuffer haben e Verriegeln Sie Threads gegeneinander wenn diese gleichzeitig auf das Dual port RAM zugreifen k nnen um Zugriffskonflikte zu vermeiden Worauf ist beim Einsatz von Hardware Events und Semaphore besonders zu achten e Solange Ihr Anwenderprogramm ein Semaphor f r Hardware Events nicht durchlaufen hat wird es nicht nochmals aufgezogen Sie sollten also nach dem Durchlaufen durch ein Semaphor pr fen ob mehrere Ereignisse aufgetreten sind Das ist bei Software Events nicht n tig e Nach dem Eintreffen eines Hardware Events wird die ausl sende Steuerbedin gung zur ckgesetzt so dass Ihr Anwenderprogramm ihn erneut setzen muss e Ihr Anwenderprogramm muss Semaphore mit DP_delete_sema_object abmel den nicht mit Windows API Funktionen Wie kann ich in einem Thread auf mehrere Ereignisse gleichzeitig warten Erzeugen Sie f r jede Ereignisart ein Semaphor DP_create_sema_object sto en Sie gegebenenfalls Ihre Auftr ge an und warten Sie dann an den Semaphoren durch einen Aufruf der Win32 API Funktion WaitForMultipleObjects oder MsgWaitForMultipleObjects
116. e aan nennen 418 DP geten GBR lt Br FORSRREEREREEERIEEEEEREEERIEERESEEEEERERRRRLERERERERELGEELTLERTEELTLELTEELTLTLTEFLTETLTEREGELENEN 41 9 DP Set Mode 22 22 are mem mens 41104 DPS St ale 22 ae na nme mehamtieten een 4 1 11 DP read SV Dah cescenccsnonsersn naia ninn ATE eher eran eher eher eree er Ener Eee rer ehe 4 112 D 28ie 6167 1 IR 1 1 URRSRNRRFEENESNERHEEEEEEREEEEERREEEEREEELFEREEERERERTLELTEERTLERTEITLELTEELTLTLTREENETEURREURERGRN 41 19 DP d5 redd 2er 4 1 14 DR ds Wrille see a A AARAA 4 1 15 DP fet h Alarm aan EA 41 16 DR gt alarm Ack 2 nannten memhirneimn 4 117 D za kie 1 1 Mr e1 107 Ile 10 PPPRPFREREERRRREHEREHEREEEEEEEEEREEEEEEEETFELELEEELERECEERGERRLEERTLERLEERELERTEEREREREEN 4 1 18 DR en ble 8Vent aur ee De nennen E 4 1 19 DP disableevent essen ner nennen nee 4 120 DP get resultieren genden aan and a han andrea dann 4 121 DP get Grefi aanta narani aaa aaa aeaa aaan aai aaaea 4 21 22 DP nik sema Obeti si aa A AAAA 4 1 23 DP_delete_sema_object uuuesessssssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn A24 DP Tast loge on cernere ssns Seus Ssns Seos Ssa TAAA ASA 41 25 DP Tast loge O ran oasa 41 26 DP watchdogs inene eretet ionadan iania aan A2 DP WE O n AE ea a A E 4 2 Zus tzliche Funktionen des CP 5614 sssssnssnssssssnssnsrisinssnnnrnnnnnnnnennnnnnnnnnn 4 2 1 bersichtstabellen zu den Slave Modulfunktionen 222222222222222222 00000 4 22 DPS OBEN
117. ebnis des vorangegangenen Aufrufs mit DP_get_result abgeholt ist Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 111 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 18 DP_enable_event Zweck 112 Der Aufruf dieser Funktion bewirkt dass folgende wichtige Ereignisse Software Events im DP Master der DP Anwendung explizit gemeldet werden k nnen e Diagnosedaten Alarme und Statusmeldungen k nnen abgeholt werden e Slaves sind in die zyklische DP Bearbeitung aufgenommen worden Betriebsbereitschaft bzw sind ausgefallen e Der Zustand des Masters hat sich ge ndert Die Funktion wartet nicht auf die Ereignisse sondern meldet Ihr Programm nur daf r an Zum Abholen der Ereignisse benutzen Sie bitte DP_get_result Hinweis 1 Mit dem Aufruf dieser Funktion erkl rt sich Ihr Anwenderprogramm lediglich emp fangsbereit f r den angegebenen Event Typ Die eigentliche Ereignismeldung muss durch DP_get_result abgeholt werden Hinweis 2 Nach Empfang einer DP_enable_event Confirmation siehe DP_get_result muss die Funktion DP_enable_event erneut aufgerufen werden wenn das Anwender programm sich ber neue Events informieren lassen will Die Ereignisse DP_DIAG_ALARM und DP_SLV_STATE werden zwischen Empfang der Confir mation und erneutem Aufruf von DP_enable_event zwischengespeichert und ge hen somit nicht verloren Hinweis 3 Beim e
118. eholt werden kann SYNC Modus Der SYNC Modus ist eine DP Betriebsart bei der mehrere oder alle DP Slaves zu einem bestimmten Zeitpunkt Daten an ihre Prozessausg nge bergeben Der bergabezeitpunkt wird durch das SYNC Kommando das ist ein Steuertelegramm zur Synchronisation signalisiert Target Rotation Time Ein Busparameter f r PROFIBUS Der Token ist die Sendeberechtigung f r einen Teilnehmer an PROFIBUS Ein Teilnehmer vergleicht eine von ihm gemessene Token Umlaufzeit mit der Target rotation time und steuert davon abh ngig das Senden hoch und niederpriorer Telegramme Telegramm Nachricht eines PROFIBUS Teilnehmers an einen anderen Telegramm Header Ein Telegramm Header besteht aus einer Kennung des Telegramms sowie der Quell und Zielteilnehmeradresse Programmierschnittstelle DP Base f r CP 5613 CP 5614 274 C79000 G8900 0 139 04 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 0 139 04 275 Glossar Programmierschnittstelle DP Base f r CP 5613 CP 5614 276 C79000 G8900 0 139 04 Stichwortverzeichnis A Add
119. eiger auf das Prozessabbild anfordern Benutzen Sie Kap 4 1 5 die Funktion des Masters DP_release_pointer Zeiger auf das Prozessabbild wieder zur ckgeben Be Kap 4 1 6 nutzen Sie die Funktion des Masters DPS_close Mit dieser Funktion meldet sich ein DPS User wieder ab DP_reset_cp Anhalten der CP Firmware Benutzen Sie die Funktion Kap 4 1 3 des Masters DP_get_err_txt Diese Funktion gibt Fehlerinformationen im Klartext aus Kap 4 1 8 Benutzen Sie die Funktion des Masters DP_init_sema_object Diese Funktion richtet ein Semaphor ein an der Ihr An Kap 4 1 22 wenderprogramm auf das Eintreffen von Ereignissen warten kann DP_del_sema_object Diese Funktion meldet ein Semaphor wieder ab Kap 4 1 23 Initialisierungs Funktionen Mit dieser Funktion wird das Slave Modul aktiviert DPS_stop Mit dieser Funktion wird das Slave Modul abgeschaltet Es reagiert dann nicht mehr am Bus Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 139 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Standard DP Funktionen 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 140 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 2 2 _ D
120. eine weiteren Fehler hat Alarm verschwindet Slot weiterhin ge st rt Der Slot generiert einen Alarm und zeigt an dass der Slot weiterhin Fehler hat Byte 4 Variante Status Specifier 7bis2 reserviert Status Specifier 0 keine weitere Unterscheidung 1 Status erscheint 2 Status verschwindet 3 reserviert Programmierschnittstelle DP Base f r CP 5613 CP 5614 224 C79000 G8900 0 139 04 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 Bedeutung Daten ung ltig Die Daten des zugeh rigen Moduls sind ung ltig we gen eines Fehlers zum Beispiel Kurzschluss Daten ung ltig falsches Modul Die Daten des zugeh rigen Moduls sind ung ltig wegen eines falschen Moduls Daten ung ltig kein Modul Die Daten des zugeh rigen Moduls sind ung ltig weil kein Modul gesteckt ist Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 225 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Beispiel einer ger tebezogenen Dia
121. eltweite Feldbusstrategie Im Zuge von Kostenreduzierungen im Automatisierungsbereich werden speicher programmierbare Steuerungen SPS PCs Antriebe Messumformer und Senso ren immer st rker vernetzt Weiter findet eine zunehmende Dezentralisierung von Steuerungsfunktionen durch Feldger te statt die zum Informationsaustausch als gemeinsames Kommunikationsmedium Feldbusse nutzen Der Ruf nach einem offenen herstellerunabh ngigen Feldbussystem zur Investiti onssicherung f r die Anwender kann heute durch den PROFIBUS beantwortet werden PROFIBUS ist ein Bussystem f r die Kommunikation zwischen SPS oder PC und Feldger ten verankert in der europ ischen Norm EN 50 170 Volume 2 Dies garantiert sowohl den Anwendern als auch Herstellern Investitionssicherheit und Offenheit f r alle normgerechten L sungen weltweit Als verschiedene Referenzen kann PROFIBUS mehr als 2 Millionen vernetzte Knoten in ber 200 000 Anwenderprogrammen aufweisen PROFIBUS ist damit der erfolgreichste offene Feldbus der sich in vielen Anwendungen im Bereich der Fertigungsautomatisierung Prozessautomatisierung Antriebstechnik und Geb u deautomatisierung bew hrt hat Als bergreifendes Informationsforum f r PROFIBUS Hersteller und Anwender agiert in diesem Zusammenhang die PROFIBUS Nutzerorganisation PNO ein Zusammenschluss von mehr als 800 Anwendern Herstellern und Beratern aus ber 20 L ndern weltweit Daraus resultierend sind heute f r die PROFIBUS
122. emeine Hinweise IN 170 Warnung 1 Die Sperre wird auch aufgehoben durch e 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 4 3 3 Warnung 2 Diagnosedaten d rfen nur konsistent gelesen werden Hinweis 1 Die Daten sind nur g ltig wenn der Master im Zustand STOP OPERATE oder CLEAR und der Slave in der aktuellen Datenbasis projektiert ist Hinweis 2 Der Speicherbereich mit Index 127 enth lt die Daten des Slave Moduls des CP 5614 Hinweis 3 Anhand des Diagnosez hlers kann man erkennen ob neue Diagnosedaten emp fangen worden sind Bei jeder eingehenden Diagnosemeldung wird der Diagnose z hler erh ht Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Aufgr
123. en Werden asynchrone Aufrufe an einen Slave mit Kommunikationsfehler siehe DP_get_result beendet oder meldet der Aufruf DP_fetch_alarm Datenfehler muss der entsprechende Slave durch den Aufruf DP_slv_state neu initialisiert werden n here Informationen sind bei den einzelnen Funktionsbeschreibungen zu finden Ereignisse k nnen in beliebiger Reihenfolge gemeldet werden gestalten Sie Ih re Algorithmen entsprechend flexibel Schicken Sie an einen Slave nicht mehrere asynchrone DPC1 Auftr ge DP_ds_read DP_ds_write DP_alarm_ack parallel Ist das Ergebnis eines DP_enable_event Aufrufs abgeholt m ssen Sie ihn er neut absetzen damit neue Ereignisse gemeldet werden k nnen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 251 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 auf das Prozessabbild zugreifen z B als Diagnoseprogramm oder wenn Sie keine Echtzeitanforderungen haben dann sollten Sie den Zeiger nach jedem Zugriff bzw Zyklus wieder freigeben Was ist beim Zugriff auf Datenbereiche besonders zu beachten Das Prozessabbild ist vom Anwenderprogramm und den Slaves entkoppelt Be achten Sie hierzu di
124. en paar Bytes vom vorigen DP Zyklus und die letzten Bytes vom aktuellen Zyklus bekommen Damit w ren die Daten verf lscht und inkonsistent Konsistenz beim Lesen w hlbar Beim CP 5613 und CP 5614 k nnen Sie beim Zugriff auf das Prozessabbild w h len ob Sie Daten konsistent lesen wollen oder nicht Der Verzicht auf Konsistenz kann z B sinnvoll sein wenn die Daten nur 2 Byte lang sind denn Inkonsistenz kann erst bei l ngeren Daten auftreten Die Konsistenzsicherung funktioniert ber die maximale Datenl nge von 244 Bytes Konsistenz beim Schreiben immer 42 Beim CP 5613 und CP 5614 ist das Schreiben von Ausgabedaten aufgrund des bertragungsmechanismus beim CP 5613 CP 5614 immer konsistent und zwar bis zur maximalen Datenl nge von 244 Bytes Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 bersicht DP Base Schnittstelle 3 4 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 e Die Eingabedaten eines DP Slave haben sich ge ndert Der Hardware Event ist f r jeden Slave getrennt aktivierbar e Ein DP Slave schickt D
125. en und Daten sowie Fehlercodes Error_Code_1 Der Wertebereich von Code und Class ist in nachfolgender Tabelle dargestellt De EEE e 10 bis 15 B a B EEE o Fa BE el BEE BEE B i resource unavailable Aufbau von Error_Code_2 bei DP V1 12 resource 4 2 4 2 3 4 5 7 PERT invalid parameter 3 Der Parameter Error_Code_2 ist user spezifisch Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 199 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 4 2 Fehlercodes bersicht Dieses Kapitel enth lt zu den Fehlerklassen e DP_ERROR_EVENT_NET e DP_ERROR_REQ_PAR e DP_ERROR_CI e DP_ERROR_RES eine alphabetische Liste aller m glichen Fehlercodes sowie eine kurze Beschrei bung zu jedem Fehlercode Klasse DP_ERROR_EVENT_NET 200 Klasse DP_ERROR_EVENT_NET Bedeutung Fehlercodes DP_RET_CP_ADR_NOT_IN_DB Die Slave Adresse ist nicht in der Datenbasis des CP enthalten DP_RET_CP_ Fehler Die maximale Anzahl der ALARM _STATE_OVERFLOW konfigurierten Alarme wurde vom Slave berschritten DP_RET_CP_ Fehler Der Slave hat mehr als ein Alarm ALARM_STATE_INCONSISTENT des gleichen Typs gesendet DP_RET_CP_ Der Slave hat einen Alarm gesendet ALARM_STATE_WRONG_TYPE dessen Alarmtyp nicht konfiguriert ist DP_RET_CP Der Slave hat einen Alarm oder eine ALARM_STATE_PDU_LENGTH Statusmeldung gesendet deren L nge gr er ist als spezif
126. enzen beim DPC1 Betrieb mit Semaphore nn 3 8 Eigenschaften des CP 5614 Slave Funktionen Transfer Software 3 9 Typische Sequenzen f r das Slave Modul CP 5614 uuu444444444nenennnnennn 3 9 1 Initialisierung und Abschluss des Slave Moduls im Simple Modus 3 9 2 Initialisierung und Abschluss des Slave Moduls im Dynamic Modus 3 9 3 Typische Sequenzen mit Semaphore beim Slave Modul 0004044400 3 10 Mehrere Protokolle Anwenderprogramme CPUsS 2222222222002000000 nenne Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 5 Inhaltsverzeichnis 4 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 Liste der Funktionen GP 5613 und CP 5614 ursersersersensensensonsonsonsensonnnnnnnnnnnen 4 1 1 bersichtstabellen zu den Funktionen uusssssnssssnnnneeeeennnnnnnnnennnnnnnnnnnnneneennnn 4 1 2 DP_start_Cp ririri rira ra aa a o a EEEE 4 1 3 DP TOSE Oe riririri riri ior tirn n n oaa aee EEEE 4 1 4 DP_open ussssssssnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 4 1 5 DP_get_pointer 4sssneennnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnennnnnnnnnnnnnnnnn 4 1 6 DP_release_pointer 0044444400RRnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnenn 80 4 17 DRECIOSE ee e
127. er Diagnose nach obigem Schema 232 Im folgenden Bild ist eine Diagnose nach dem oben aufgef hrten Schema darge stellt MD 3 7 lelslalsl2el lo S Kopteil_ n Jerean _ S SS O Ger tebezogene 1 Diagnose Header Byte Ger tespezifisches Die Bedeutung der Bits ist herstellerspezifisch Diagnosefeld hier 3 Byte lang Kennungsbezogene Diagnose Header Byte Kennungsnummer 0 mit Diagnose Diagnosebyte Kennungsnummer 12 mit Diagnose Diagnosebyte Kennungsnummer 18 mit Diagnose Diagnosebyte Diagnosebyte Kanalbezogene Diagnose Kennungsnummer 0 Header Byte Kanal 2 Kanalnummer berlast Kanal bitweise organisiert Art der Diagnose Kennungsnummer 12 Header Byte Kanal 6 Kanalnummer Oberer Grenzwert ber schritten Kanal wortweise organisiert Art der Diagnose Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 7 Format der Slave Parameterdaten Einordnung Nachfolgend werden die Formate der Slave Parameterdaten beschrieben wie sie vom Aufruf DP_read_siv_par im Kapitel 4 1 11 erfragt werden Es sind drei Vari anten m glich die beim Aufruf von DP_read_siv_par durch den Wert des Para meters type ausgew hlt werden Allgemeine Slave Parameter DP_SLV_TYP DP_SLV_PRM Konfigurierdaten DP_SLV_CFG Nachfolgend wird der A
128. er nur eine Indication DPS_NO_IND Keine Indication aufgetre ten DPS_CHK_PRM Neues Parametriertele gramm wurde empfangen und muss von der Host Software berpr ft werden nur f r dynamischen Mo dus wenn also beim DPS open kein DPS_simple ge w hlt wurde DPS_CHK_CFG Neues Konfigurationstele gramm wurde empfangen und muss von Host Software berpr ft werden nur f r dynamischen Mo dus wenn also beim DPS open kein DPS_simple ge w hlt wurde DPS_NEW_SSA Set Slave Address Tele gramm wurde empfangen und muss von Host Software berpr ft werden nur wenn Adress nderung ber Bus erlaubt ist DPS_BAUD_CHANGED Die Daten bertragungs geschwindigkeitsinformation hat sich ge ndert siehe DPS_get_baud_rate DPS_GO_LEAVE_DATA_EX Der Slave ist in den Zustand DPS_DATA_EX eingetreten oder hat diesen verlassen siehe DPS_get_state DPS_NEW_GC Es wurde ein neues ge n dertes Global Control Telegramm empfangen siehe DPS_get_gc_ com mand Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 160 C79000 G8900 C 139 04 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_
129. er wenn die Funktion DP_fetch_alarm einen Datenfehler meldet Die Durchf hrung des Restarts selbst kann eine gewis se Zeit in Anspruch nehmen Das Anwenderprogramm kann sich ber die Funktion DP_enable_event die Beendigung des Restarts anzeigen lassen Der Restart ist dann erfolgreich abgeschlossen wenn die Funktion DP_enable_event f r den entsprechenden Slave das Event DP_SLAVE_ENTER meldet Syntax DPR_DWORD DP_slv_state DPR_DWORD user_handle DPR_WORD slv_add DPR_WORD slv_mode DP_ERROR_T error Parameter User Handle das beim Aufruf DP_open vergeben wurde siv_add Adresse des Slave oder OxFF mit der Bedeutung AUTOCLEAR generell ein bzw ausschalten sIiv_mode Gew nschter Betriebszustand des Slave DP_SLV_ACTIVATE Slave aktivieren DP_SLV_DEACTIVATE Slave deaktivieren DP_SLV_RESTART Slave herunterfahren und neu starten AUTOCLEAR Einstellung DP_AUTOCLEAR_ON aktivieren DP_AUTOCLEAR_OFF deaktivieren Die Werte k nnen mit Oder verkn pft werden Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 88 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Es ist noch ein DP_siv_state Request in Be error gt error_code ar
130. ercodes 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 gt info_watch activated_fast_logic 0 DP_FASTLOGIC_ACTIVATED Trigger ist aktiviert Zum Deaktivieren muss die Funktion DP_fast_logic_off verwendet werden berpr fen ob Fast Logic Trigger 0 ausgel st wurde if p gt info_watch activated_fast_logic 0 DP_FASTLOGIC_TRIGGERED Trigger wurde aktiviert Trigger quittieren damit er mit DP_fast_logic_on wieder aktiviert werden kann p gt info_watch activated_fast_logic 0 DP_FASTLOGIC_CLEAR Anwenderspezifische Aktionen Hinweis 1 In das Feld p gt info_watch activated_fast_logic i darf nur geschrieben werden wenn p gt info_watch activated_fast_logic i den Wert DP_FASTLOGIC_TRIGGERED hat Hinweis 2 Es ist verboten das Feld p gt info_watch activated_fast_logic i mit einem ande ren Wert als DP_FASTLOGIC_CLEAR zu besetzen Programmierschnittstelle DP Base f r CP 5613 CP 5614 184 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 3 11 User Watchdog im Dualport RAM lesen und triggern bersicht Im P
131. erpr ft und quit tiert werden Dazu sind folgende Schritte erforderlich DP_start_cp CP wird initialisiert 2 DPS_open Initialisieren des Slave Moduls im Parameter slave_mode ist das Bit DPS_SM_SIMPLE nicht gesetzt im Parameter init_data steht die Default Konfiguration DP_get_pointer Exklusiver Zugriff auf das Prozessab bild Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 61 bersicht DP Base Schnittstelle Pollender Produktivbetrieb 62 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 Die folgende Sequenz muss in einer Programm hauptschleife zyklisch abgearbeitet werden DPS_get_ind Nachfragen ob Indications eingetroffen sind Wenn DPS_CHK_PRM Falls eine neue Parametrierung einge DPS_set_resp troffen ist e User Parameterdaten pr fen und e positiv oder negativ quittieren Wenn DPS_CHK_CFG Falls eine neue Konfiguration einge DPS_set_resp troffen ist e Konfigurationsdaten pr fen und e positiv oder negativ quittieren 3 Zugriff auf PA Das Lesen und Schreiben von Daten PA Prozessabbild im Prozessabbild beliebiger Zugriff 4 Zu Schritt 1 gehen DPS_get_ind
132. fende Thread wartet bis eines der Er eignisse eintritt WaitForMultipleObjects ist eine Win dows 32 Bit API Funktion Das durchlaufende Semaphor identifi ziert die Art des Ereignisses z B Da ten nderung Durchgehen und pr fen der Flags im Prozessabbild e req_mask DPR_DATA_CHANGE bei Daten nderung Kap 4 3 4 diag_count ge ndert bei Diagnose Kap 4 3 2 e Lesen durch Zugriff auf das Pro zessabbild slave_in n data bei Eingabedaten slave_diag n data bei Diagnose siehe Kap 4 3 10 f r Fast Logic e WNeiterreichen an andere Teile des Anwenderprogramms 55 bersicht DP Base Schnittstelle Abmeldung der Semaphore Nach der letzten Benutzung von Hardware Events melden Sie Ihre Semaphore wie folgt ab 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 56 C79000 G8900 C 139 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 Semaphor f r asynchrone D
133. g 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 Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 108 C79000 G8900 C 139 04 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 Diese Funktion kann bei modularen Slaves verwendet werden um den tats chli chen Ausbau zu bestimmen Hinweis Der Lesevorgang wird asynchron ausgef hrt Die Quittung muss mit DP_get_result abgeholt werden Syntax DPR_DWORD DP_get_actual_cfg DPR_DWORD user_handle in DPC1_REO_ request in DP_ERROR_ error out Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 109 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DP_open vergeben wurde request Zeiger auf DP V1 Struktur DPCi_REQ_S mit den Eintr gen f r den DP_get_actual_cfg Auftrag typedef struct DPCI_REO_S DPR_WORD order_id in DPR_DWORD c_ref in union DP
134. geben sind Zum Beispiel setzt der DP Slave dieses Bit wenn mehr Kanaldiagnosen vorliegen als der DP Slave in seinen Sendepuffer eintragen kann oder der DP Master setzt dieses Bit wenn der DP Slave mehr Diagnosedaten sendet als der DP Master in seinem Diagnosepuffer ber cksichtigen kann Byte 4 Diag Master_Add Hier wird die Adresse des DP Masters eingetragen der diesen DP Slave parame triert hat Ist der DP Slave von keinem DP Master parametriert so setzt der DP Slave in dieses Byte die Adresse 255 ein Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 219 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 h der h herwertige Anteil ist im Byte 5 Programmierschnittstelle DP Base f r CP 5613 CP 5614 220 C79000 G8900 0 139 04 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 tespezifis
135. gebnis muss durch einen nachfol genden DP_get_result Aufruf abgeholt werden Dieses Ergebnis ist nur bei asynchronen Auftr gen m glich DP_ERROR_EVENT Der Slave sendet bei einem der DPC1 Requests e DP_ds write e DP_ds_ read e DP_alarm_ack im Response Telegramm eine Fehlercodierung zur ck DP_ERROR_EVENT_NET Fehler bei der PROFIBUS Kommunikation z B Verbindungsabbruch DP_ERROR_REQ_PAR Fehlerhafter bergabeparameter eines Aufrufs oder Aufruf unzul ssig DP_ERROR_CI Fehler beim Zugriff auf den CP DP_ERROR_RES Nicht gen gend Ressourcen vorhanden DP_ERROR_USR_ABORT Abbruch in Bearbeitung befindlicher Auftr ge weil das Anwenderprogramm sich abgemeldet hat nur bei DP_get_result m glich Programmierschnittstelle DP Base f r CP 5613 CP 5614 194 C79000 G8900 0 139 04 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 Diese drei Elemente sind dabei immer gemeinsam auszuwerten Sie enthalten die Fehlercodierung
136. gen Bits im ersten Byte haben den Wert 01 Die restlichen sechs Bits im ersten Byte geben die L nge des Datenblocks inklusi ve dem ersten Byte an Inhalt des Datenblocks Die restlichen Bytes des Datenblocks enthalten einen Bitarray Das niederwertigste Bit des 2 Bytes hat den Index 0 und so weiter aufsteigend so dass z B das h chstwertige Bit des 3 Bytes den Index 15 hat Die Bits geben jeweils an ob f r die Kennungsindizes Diagnosen gemeldet wur den Bedeutung der Bits in den Diagnosebytes Jedes Bit in den Diagnosebytes hat eine besondere Bedeutung Hinweis Beachten Sie das Beispiel am Ende des Kapitels 4 6 6 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 227 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 der Diagnose Header Byte Kennungsnummer mit Identifikation Die beiden h chstwertigen Bits im ersten Byte jedes Eintrags haben den Wert 10 Die restlichen sechs Bits im ersten Byte geben eine Ke
137. gen Byte f r Ausgaben Es folgt 1 L ngen Byte f r Ausgaben e 1 L ngen Byte f r Eingaben Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 243 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes L ngen Bytes Jedes Bit in den L ngen Bytes hat eine besondere Bedeutung Bit Bedeutung 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 Konsistenz 0 bedeutet Konsistenz ber Byte oder Wort 1 bedeutet Konsistenz ber die gesamte L nge des Moduls Beispiel f r spezielles Kennungsformat Aus der nachfolgenden Tabelle entnehmen Sie ein Beispiel f r ein spezielles Ken nungsformat Bits im ur Bedeutung Aus Eingabe 3 pyte herstellerspezifische Daten 2 filolo iiih Txonsistenz Ausgabe 18wone 5 1a lojolefululnTnruneneengserawens sel Ieniserspezitscne Daten Programmierschnittstelle DP Base f r CP 5613 CP 5614 244 C79000 G8900 0 139 04 FAQ Frequently Asked Questions FAQ Frequently Asked Questions 5 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
138. gen und quittieren Bei den Daten handelt es sich nicht um Prozessdaten sondern um Slave spezifische Zusatzdaten z B Nachpa rametrierung Diese Daten werden nicht zyklisch gesendet und m ssen vom Slave explizit quittiert werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 32 C79000 G8900 0 139 04 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 33 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 4 Leitsystem DP Master IA DP Slave Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 34 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 Soft
139. gger Bedingung beim Slave X schreibt die CP 5613 CP 5614 Firmware selbstt tig einen vorgegebenen Ausgabewert in das Ausgabebyte eines Slave Y Die Reaktionszeit der Fast Logic Funktionalit t ist unabh ngig von der Geschwin digkeit und Belastung des eingesetzten Rechners Daher kann sie zur Steuerung von zeitkritischen Aufgaben eingesetzt werden Es k nnen bis zu vier unabh ngige Fast Logic Trigger Bedingungen pro CP 5613 CP 5614 aktiviert werden Warnung 1 Die Fast Logic funktioniert nur dann korrekt wenn der DP Master im Zustand OPERATE und die beteiligten Slaves im Zustand READY sind Deshalb sollte ein Fast Logic Trigger von dem DP Anwenderprogramm auch erst aktiviert werden wenn das Anwenderprogramm den DP Master in den Zustand OPERATE hoch gefahren hat Warnung 2 Beachten Sie dass solange Fast Logic Trigger aktiv sind KEIN DP Anwender programm schreibend auf die Ausgangsbytes zugreifen darf die ber die Fast Logic mit Eingangsbytes verkn pft sind Hinweis 1 Nachdem ein Fast Logic Trigger ausgel st wurde wird er anschlie end automa tisch deaktiviert Ein erneutes Aktivieren des Triggers mit DP_fast_logic_on ist erst dann m glich wenn dieser zuvor vom DP Anwenderprogramm im Dualport RAM quittiert wurde siehe Beispiel in Kapitel 4 3 10 Fast Logic Status Abfragen Die Fast Logic wird ebenfalls automatisch deaktiviert wenn das Anwenderpro gramm sich mit der Funktion DP_close abmeldet Hinweis 2
140. gnose 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 226 Im folgenden Bild ist eine Alarmdiagnose nach dem oben aufgef hrten Schema dargestellt Ger tebezogene Diagnose Alarmtyp Prozessalarm Slot Nummer 3 Ventil B Specifier Alarm erscheint User Diagnosedaten 0x50 oberer Grenzdruck ber schritten User Diagnosedaten Time of day 4 Byte Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Ein gesetztes Bit bedeutet dass in dem zugeh rigen Modul eine Diagnose vorliegt Identifikation der kennungsbezogenen Diagnose und L nge im ersten Byte Die beiden h chstwerti
141. greifen Allgemeine Hinweise Hinweis 1 Jeweils nur ein Programm kann zu einer Zeit einen Zeiger auf das Prozessabbild haben Dadurch werden Zugriffskonflikte auf die Register zur Konsistenzsteuerung im Prozessabbild siehe z B D_lock_in_slave_adr in Kap 4 3 1 vermieden Hinweis 2 Beachten Sie dass ein Zugriff auf das Dualport RAM ohne g ltigen Zeiger unter Windows NT zu einer Schutzverletzung f hrt Ursachen dazu sind DP_get_pointer wurde nicht aufgerufen DP_get_pointer wird mit einer Fehlermeldung beendet oder der Zeiger wurde mit DP_release_pointer wieder freigegeben Hinweis 3 Diese Funktion ist relativ laufzeitintensiv und beeintr chtigt bei h ufigem Aufrufen die Echtzeiteigenschaften Ihres Anwenderprogramms Hinweis 4 Der CP muss mit DP_start_cp schon gestartet worden sein Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 77 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 User Handle das beim Aufruf DP_open vergeben wurde timeout 78 Dauer der maximalen Wartezeit in Millisekunden bis die Funktion zur ckkehrt Grenzwerte 0 keine Wartezeit Funktion kehrt sofort zur ck Ox7FFFFFFE maximale Wartezeit DP_TIMEOUT_FOREVER unendliche Wartezeit Adresse eines vom
142. gung Darin sind vor allem die Eingabe Ausgabe und Diagnosedaten der DP Slaves enthal ten aber auch Zustands und Konfigurationsdaten Ihr Anwenderprogramm kann mit einem C Zeiger direkt auf das Prozessabbild zugreifen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 39 bersicht DP Base Schnittstelle 3 2 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 Projektierung der Slave Datenbereiche Bei der Projektierung wird f r jeden Slave die Anzahl und Art Eingabe Ausgabe analog digital seiner Datenbereiche festgelegt Diese Konfigurierdaten werden im Anlauf an den Slave geschickt und von diesem gepr ft Stimmen sie nicht mit den tats chlichen Eigenschaften des Slave berein kennzeichnet der Slave dies in den Diagnosedaten und wird nicht in den zyklischen Betrieb aufgenommen Aktivierung der Ansprech berwachung Ist die Ansprech berwachung eines DP Slave in der Projektierung aktiviert muss der DP Master innerhalb der vorgegebenen Zeit mit dem DP Slave kommunizie ren Geschieht dies nicht so schaltet der Slave seine Ausg nge in einen sicheren
143. htigen die Funktion des PROFIBUS und m ssen beseitigt wer den Angabe wie oft Mehrfach Token oder Token Verlust erkannt wurde Angabe wie oft der Token verloren ging und von die sem CP wieder erzeugt wurde Angabe wie oft sporadische St rungen auf der PROFIBUS Leitung aufgetreten sind Angabe wie oft eine Stationsadresse am Bus erkannt wurde die h her ist als die bei diesem CP projektierte HSA reserviert Angabe wie oft Fehler bei Response Empfang auftra ten reserviert reserviert reserviert reserviert Angabe wie oft der Token bei der Weitergabe gest rt wurde Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Mit der Installation des Produkts wird ein Beispielprogramm mit installiert welches die Funktionsweise der Fast Logic unter Verwendung des Fast Logic Semaphors demonstriert Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 183 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehl
144. i Eintreffen einer Diagnose von Slave 5 p gt ef diag 5 req_mask DPR_DATA_INT_CLEAR_AND_UNMASK Anschlie end werden beim Eintreffen der Events die von Ihrem Anwenderpro gramm mit DP_init_sema_object angemeldeten Semaphore weitergeschaltet Die anderen m glichen Werte von req_mask sind e DPR_DATA_INT_CLEAR_AND_MASK es wird auf einen Event gewartet aber dann keine Semaphorweiterschaltung veranlasst und e DPR_DATA_CHANGE ein Event ist eingetroffen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 gt ef input 5 req_mask DPR_DATA_INT_CLEAR_AND_MASK schaltet Event bei Eintreffen einer Diagnose von Slave 5 ab p gt ef diag 5 req_mask DPR_DATA_INT_CLEAR_AND_MASK Hinweis 1 Solange Ihr Anwenderprogramm ein Semaphor nicht durchlaufen hat wird er nicht erneut aufgezogen Sie sollten also beim Durchlaufen eines Semaphors stets pr fen ob schon mehrere Events angekommen sind Hinweis 2 Nach Erhalt eines Hardware Events wird die entsprechende Steuerbedingung zur ckgesetzt so dass Ihr Anwenderprogramm es erneut setzen muss Dadurch wird eine berlastung des PC vermieden wenn Ihr Anwenderprogr
145. iagnose als ganzes identifiziert Die restlichen sechs Bits im ersten Byte geben die L nge des Datenblocks inklusi ve dem ersten Byte an Programmierschnittstelle DP Base f r CP 5613 CP 5614 222 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Byte 2 Variante Alarm_Type Bit Bedeutung Bedeutung am Te reserviert Diagnose Alarm Prozess Alarm Pull Alarm Plug Alarm Status Alarm Update Alarm reserviert herstellerspezifisch reserviert Byte 2 Variante Status_Type Bit Bedeutung Bedeutung Statusmeldung er reserviert Status Meldung Modul_Status reserviert herstellerspezifisch reserviert Byte 3 Variante Slot Nummer Bit Bedeutung Slot Nummer Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 223 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Byte 4 Variante Alarm Specifier Bit Bedeutung Seq_Nr Eindeutige Identifikation einer Alarm Meldung 2 Add_Ack Ist dieses Bit gesetzt so zeigt der DP V1 Master an dass dieser Alarm zus tzlich zur DPC1 Alarm Acknowledge eine separate User Best tigung z B in Form eines Write Dienstes erfordert Alarm 0 keine weitere Unterscheidung Specifier 1 Alarm erscheint Slot gest rt Der Slot generiert einen Alarm wegen eines Fehlers Alarm verschwindet Slot ok Der Slot generiert einen Alarm und zeigt an dass der Slot k
146. iagnosedaten egal ob ge ndert oder nicht Der Hard ware Event ist f r jeden Slave getrennt aktivierbar e Fast Logic siehe Kapitel 3 5 e Ein neuer DP Zyklus beginnt e Der zyklische Teil des DP Zyklus endet Beachten Sie bitte dass die Hardware Events bei Zyklusanfang und Zyklusende nur im Aquidistanzmodus unterst tzt werden Die Parametrierung der Aquidistanz parameter ist nur mit STEP7 NCM m glich Wie Hardware Events aktiviert werden Im Prozessabbildspeicherbereich des CP 5613 und CP 5614 befindet sich ein Steuerbereich f r die Aktivierung von Hardware Events zur Aktivierung von Fast Logic siehe Kapitel 3 5 Ihr Anwenderprogramm kann sie dort durch einfaches Schreiben in den Speicher setzen und l schen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 43 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 siehe Ratschl ge in der FAQ Liste Programmierschnittstelle DP Base f r CP 5613 CP 5614 44 C79000 G8900 0 139 04 bersicht DP Base Schnittstelle 3 5 Fast Logic Zweck Durch die Fast Logic Eigenschaft des CP 5613 CP 5614 k nnen Sie den CP so
147. ie DP Base DLL bietet hierzu ein Auftr ge abholen Funkti Semaphor f r alle asynchronen Auftr on DP_init_sema_object ge Typ DP_OBJECT_TYPE_ASYNO Benutzen von Semaphore f r DPC1 Schreibauftrag abgeben Nach dem Ende der Funktion ist der DP_ds_write Auftrag in Bearbeitung Auf Semaphor warten Das Anwenderprogramm bzw der auf z B WaitForMultipleOb rufende Thread wartet bis das Ereignis jects eintritt WaitForMultipleObjects ist ei ne Windows 32 Bit API Funktion Quittung abholen Die Quittung kann anhand der DP_get_result Order_id im Request Block wiedererkannt werden Die anderen DPC1 Dienste funktionieren analog Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 57 bersicht DP Base Schnittstelle Abmeldung eines Semaphor Nach der letzten Benutzung melden Sie Ihr Semaphor wie folgt ab 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 58 C79000 G8900 C 139 04 bersicht DP Base Schnittstelle 3 8 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
148. ik des DP Anwenderprogramms Sie sollte daher nur zu Test und Debug Zwecken des DP Anwenderprogramms aktiviert werden Hinweis 2 Der DP Trace ist als Umlaufpuffer konzipiert Daher werden alte Trace Eintr ge berschrieben wenn das Ende des Umlaufpuffers erreicht worden ist DPR_DWORD DP_write_trc const DPR_STRING trc_text DP_ERR_TXT_SIZ DPR_WORD trc_depth DPR_WORD trc_active const DPR_BYTE pufy DPR_BYTE buf_len Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 135 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter 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 DP_USR_TRC_DEPTH_MAX Es erfolgt immer ein Trace Eintrag sofern die obigen Voraussetzungen 1 und 2 erf llt sind DP_USR_TRC_DEPTH_ERR Es erfolgt nur dann ein Tra ce Eintrag wenn die obigen Voraussetzungen 1 und 2 erf llt sind und zus tzlich die Option nur Fehler und Aus nahmezust nde in DP_Trace einstellen gew hlt worden ist trc_active NULL oder Adresse einer vom Anwenderprogramm bereit gestellten Variablen Nach Beendigung der Funktion enth lt die Variable die Kennung ob der DP T
149. ist nur relevant wenn die Funktion Diagnosedaten zur ck gibt Der Parameter reserved ist f r k nftige Erweiterungen vorgesehen Er muss mit dem Wert 0 vorbelegt werden Der Parameter length_s enth lt die Anzahl der im Array data_s abgelegten Diagnoseda ten Adresse einer vom Anwenderprogramm bereitge stellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 104 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_ADR_NOT_IN_DB DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_ ALARM_STATE_OVERFLOW DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_ ALARM_STATE_INCONSISTENT DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_ ALARM_STATE_WRONG_TYPE DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_ ALARM_STATE_PDU_LENGTH DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_ ALARM_STATE_PDU_FORMAT andere Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Erfolgreicher Abschluss der Funktion der Eintrag in DP_ALARM_EXT_T ist g ltig Fehler der angegebene Slave existiert nicht in der Datenbasis der Eintrag in DP_ALARM_EXT_T ist ung ltig Fehler Die maximale Anzahl der
150. ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_DATA_LEN Der Parameter data_len ist ung ltig D DP_RET_PAR_DPR Der Parameter dpr dual port ram ist ung ltig ee Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_FL Der Parameter fast_logic ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_INDEX Der Parameter index ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_LENGTH_M Der Parameter length_m ist ung ltig DP_RET_PAR_LENGTH_S Der Parameter length_s ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_MSG_FILTER Der Parameter msg filter ist ung ltig Der Auftrag wurde von der DP_BASE Library abgelehnt DP_RET_PAR_MST_MODE Der Parameter mst_mode ist ung ltig Fr Programmierschnittstelle DP Base f r CP 5613 CP 5614 204 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_REQ_PAR Bedeutung Fehlercodes DP_RET_PAR_REQ_TYPE DP_RET_PAR_REQUEST DP_RET_PAR_RESERVED DP_RET_PAR_RESULT DP_RET_PAR_SELECTOR DP_RET_PAR_SEMA_TYPE DP_RET_PAR_SLOT_NUMBER DP_RET_PAR_SLV_ADD DP_RET_PAR_SLV_MODE DP_RET_PAR_TIMEOUT DP_RET_PAR_TYPE DP_RET_PAR_USR_HNDL DP_RET_PAR_WD_INDEX Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Der Parameter req_type ist ung ltig Der Auftrag wurde von
151. iteigenschaften Ihres Anwenderprogramms Syntax DPR_DWORD DP_release_pointer DPR_DWORD user_handle DP_ERROR_T error Parameter User Handle das beim Aufruf DP_open vergeben wurde Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 80 C79000 G8900 C 139 04 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 Ebenso ist auch der Zeiger auf das Dualport RAM welcher durch die Funktion DP_get_pointer ermittelt wurde nicht mehr g l tig Hinweis 2 Um den DP Master herunterzufahren sollte Ihre Anwenderprogramm vorher den Master mit der Funktion DP_set_mode in den Zustand OFFLINE bringen Hinweis 3 Um den CP ganz vom Bus zu trennen kann Ihre Anwendung anschlie end die Funktion DP_reset_cp verwenden Syntax DPR_DWORD DP_close DPR_DWORD user_handle DP_ERROR_T error Parameter User Handle das beim Aufruf DP_open vergeben wurde Adresse einer vom Anwenderprogramm bereitgestel
152. iziert worden ist DP_RET_CP_ Der Slave hat Diagnosedaten mit ALARM_STATE_PDU_FORMAT Formatfehlern gesendet so dass eine korrekte Dekodierung des Alarms oder des Status nicht m glich ist DP_RET_CP_CLOSED Die Bearbeitungsinstanz in der Firmware wurde zuvor beendet und besteht nicht mehr DP_RET_CP_CONTROL_COMMAND Control Command ist ung ltig DP_RET_CP_DATABASE_ADR Es befindet sich eine ung ltige Slave Adresse in der Datenbasis des CP DP_RET_CP_INIT_INSTANCE Fehler beim DP Setup DP_RET_CP_L2_REQ Unbekannter Opcode in der Confirmati on Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 DP_RET_CP_NO_DATABASE Es wurde keine g ltige Datenbasis in den 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 DP_RET_CP_REQ_INVALID_PAR Der Auftrag wurde mit Fehler beendet wegen ung ltiger Parameter DP_RET_CP_REQ_NEG Negativquittung beim Senden des Auftrags ber den PROFIBUS M gliche Ursachen Slave antwortet nicht oder Dienstzugangspunkt beim Slave nicht aktiviert DP_RET_CP_REQ_NOT_ALLOWED Der Dienst ist nicht erlaubt DP_RET_CP_REQ_NOT_FOUND Der zugeh rige Auftragsblock des Requests wurde nicht gefunden
153. l 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 152 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_RES und Kein Zugriff auf das DP RAM m g error gt error_code lich DPS_RET_NO_DPR_PTR Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 153 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 2 8 DPS_get_state Zweck Syntax 154 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 Im Grundzustand ist er OFFLINE Nach DPS_ start erwartet er zuerst ein Parame triertelegramm DPS_WAIT_PRM Danach muss ein Konfigurationstelegramm kommen DPS_WAIT_CFG Werden diese beiden Telegramme als korrekt best tigt so geht der Slave in den Produktivbetrieb DPS_DATA_EX Hinweis 2 Wenn der Slave nicht in der Betriebsart DPS_SM_SIMPLE betrieben wird m ssen nach der positiven Quittierung eines Konfigurationstelegramms die Eingabedaten des Slave Moduls geschrieben werden Erst nach einer Initialisierung der Einga bedaten kann der Slave in den Produktivbetrieb bergehen DPR_DW
154. l und bis zu vier weitere Bl cke Immer vorhanden feste L nge ger tebezogene optional Diagnose variable L nge kennungsbezogene optional Diagnose variable L nge kanalbezogene optional Diagnose feste L nge Revision Number optional feste L nge Identifikation der optionalen Teile Die optionalen Teile enthalten an ihren Anf ngen jeweils eindeutige Codierungen an denen sie voneinander unterscheidbar sind Programmierschnittstelle DP Base f r CP 5613 CP 5614 216 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 6 2 Format des Kopfteils der Diagnose Gesamtstruktur des Kopfteils Bedeutung Byte 1 Stationsstatus_1 Byte 2 Stationsstatus_2 Diag Master_Add Byte 5und6 Ident_Number Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 217 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 Bit 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 Diag Prm_Fault Dieses Bit wird vom DP Slave gesetzt falls das letzte Parametriertelegramm fehlerhaft war beispielsweise falsche L nge falsche Ident Number ung ltige Parameter Diag Invalid_Slave_Response Dieses Bit wird ge
155. le des DPS_open Aufrufs Hinweis 2 Ein mit DP_init_sema_object angelegtes Semaphor darf nur mit der Funktion DP_delete_ sema_objet gel scht werden Verwenden Sie keinesfalls Win32 API Funktionen Syntax DPR_DWORD DP_init_sema_object DPR_DWORD user_handle DPR_DWORD sema_type DPR_DWORD sema_handle DP_ERROR_T error Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 123 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DP_open vergeben wurde sema_type Art des Semaphors DP_OBJECT_TYPE_INPUT_CHANGE Hardware Event bei Anderung 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 DP_OBJECT_TYPE_CYCLE_END Hardware Event beim Ende eines neuen DP Zyklus DP_OBJECT_TYPE_ASYNG Software Event bei Abschluss eines asynchronen Auf rufs kann mit DP_get_result abgeholt werden DP_OBJECT_TYPE_FAST_LOGIC Hardware Event f r Fast Logic Bis auf DP_OBJECT_TYPE_ASYNC k nnen die Semapho re nur je einmal pro CP erzeugt werden sema_handle Adresse einer Variablen f r das Semaphorobjekt Das zu r ckgegebene Semaphorobjekt muss bei den Win32 API Funktionen verwendet werden Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache
156. logic_id Auswahl des Fast Logic Triggers Wertebereich 0 bis DPR_MAX_FASTLOGIC_CNT 1 DPR_MAX_FASTLOGIC_CNT ist auf 4 festgelegt Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 127 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 in DPR_BYTE mask_in_byte in DPR_BYTE slave_addr_out_byte in DPR_BYTE index_out_byte in DPR_BYTE value_out_byte in DPR_BYTE mask_out_byte in DP_FAST_LOGIC_T slave_addr_in_byte gibt die Adresse des Slaves an dessen Eing nge f r den Trigger selektiert werden index_in_byte gibt den Index des Eingangsbytes des Trig gers an cmp_value_in_byte gibt den Vergleichswert f r das Ein gangsbyte an Mit mask_in_byte k nnen einzelne Bits im Eingangsbyte maskiert werden so dass sie beim Vergleich nicht ber ck sichtigt werden Maskiert wird durch eine 1 im entsprechen den Bit d h f r mask_in_byte 0x00 werden alle Bits von cmp_value_in_byte f r den Vergleich herangezogen Der Trigger wird ausgel st wenn alle nichtmaskierten Bits im selektierten Eingangsbyte gleich den Bits in cmp_v
157. lten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 81 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 82 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 3 DP_get_err txt Zweck Syntax Parameter Diese Funktion ermittelt aus den R ckgabewerten der Fehlerstruktur DP_ERRORLT detaillierte Fehlerinformationen im Klartext Eine detaillierte Be schreibung der m glichen Fehlercodes finden Sie im Kapitel 4 4 Fehler DPR_DWORD DP_get_err_txt DP_ERROR_T error in const DPR_STRING language in DPR_STRING text DP_ERR_TXT_SIZE out Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt die Error Werte einer zuvor aufgerufenen DP Funktion siehe Kapitel 4 4 language Sprache des auszugebenden Fehlertextes e German e English text Zeiger auf Datenbereich in welchem der Fehlertext inclusiv abschlie endem Null Byte abgelegt wird Return Wert DP_OK Erfolgreicher Abschluss der Funktion Fehlerhafter Abschluss der Funktion Hinweis Wird im Vorgabeparameter language
158. m Prozessabbild des CP 5613 CP 5614 gibt es einen Speicherbereich der fol genden Hardware Events zugeordnet ist e Beginn eines neuen DP Zyklus siehe Header File DP_5613 H via D_cycle_start_mask und cycle_start _NT_PerformanceCounter e Ende des zyklischen Teils eines DP Zyklus siehe Header File DP_5613 H via D_cycle_end_mask und cycle_end_NT_PerformanceCounter e Daten nderungen im DP Prozessabbild e Eintreffen von Diagnosedaten Das Ausl sen dieser Hardware Events muss durch den Anwender aktiviert wer den Nach Eintreffen eines dieser Events ist dieser automatisch deaktiviert Hardware Events f r nderungen von Slave Eingabedaten und Diagnose k nnen f r jeden Slave einzeln eingestellt werden Alle oben genannten Events werden durch das Weiterschalten von Semaphoren gemeldet Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 187 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Beispiel f r Aktivierung 188 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 gt ctr D_cycle_start_mask 0 aktiviert Event bei Daten nderung von Slave 5 p gt ef input 5 req_mask DPR_DATA_INT_CLEAR_AND_UNMASK aktiviert Event be
159. m Request Block Auftrag beendet ist wiedererkannt werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 53 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 Diese beiden Events werden nur im quidistanzmodus unterst tzt Die Para metrierung der quidistanzparameter ist nur mit STEP7 NCM m glich Diese Betriebsart kann das in Kapitel 3 7 2 beschriebene Polling ersetzen oder er g nzen Nachfolgend wird die Initialisierung dieser Betriebsweise die Elemente des Dauer betriebs und das Abmelden erl utert Initialisierung der Semaphore Vor der ersten Benutzung von Hardware Events m ssen Semaphore wie folgt an gelegt werden Semaphor f r Hard Die DP Base DLL bietet hierzu Semapho ware Events abholen re f r nderung der Eingabedaten Emp Funktion fang von Diagnose Zyklusanfang Zyklu DP_init_sema_object sende und Fast Logic an Der Selektor f r Daten nderung ist z B DP_OBJECT_TYPE_INPUT_CHANGE Programmierschnittstelle DP Base f r CP 5613 CP 5614 54 C79000 G8900 0 139 04 Benutzen von Hardware
160. men 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 Hinweis 5 Beim Multiapplikationsbetrieb wird jedem DP Master Anwenderprogramm welches die Funktion DP_watchdog aufruft ein eigener Watchdog zugeordnet L uft einer dieser Watchdogs ab wird unabh ngig vom Zustand der anderen Watchdogs der DP Master selbstt tig vom Zustand OPERATE in den Zustand CLEAR herun tergefahren Syntax DPR_DWORD DP_watchdog DPR_DWORD user_handle DPR_DWORD timeout DPR_WORD wd_index DP_ERROR_T error Parameter Name Beschreibung User Handle das beim Aufruf DP_open vergeben wurde timeout berwachunggszeit in 10 Millisekunden Werte 0 Deaktivieren der Aktivit tskontrolle 1 bis 65535 Einschalten der Aktivit tskontrolle wd_index Index auf eine Struktur DPR_WD_S innerhalb des Arrays user_watchdog im Dualport RAM Der zur ckgelieferte In dex muss verwendet werden um auf den Watchdog im Dualport RAM zuzugreifen N here Informationen zum Trig gern und Auslesen des Watchdog siehe Kapitel 4 3 11 User Watchdog im Dualport RAM lesen und triggern error Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4
161. mmt Leertelegramme im CLEAR Modus DP Slave Funktionalit t nach EN50170 DP Slave Funktionalit t nach DP V1 DP V1 Daten Typen 0 bedeutet DP Slave Konfigurierdaten nach EN 50170 1 bedeutet DP Slave Konfigurierdaten nach DP V1 Extra Alarm SAP 0 bedeutet DP Master quittiert Alarme via SAP 51 1 bedeutet DP Master quittiert Alarme via SAP 50 Slave Typ Dieser Parameter enth lt eine herstellerspezifische Typbezeichnung f r das Slave Ger t er Ben O 16 bis 255 herstellerspezifisch Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 235 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Alarm_Mode Dieser Parameter legt die maximale Anzahl m glicher aktiver Alarme fest en Bean Tram von jedem Amp Joe insgesamt O O O O O OOOO O O 2 Je Atamme imsgesamt O O OOOO 8 Alam insgesam o y y O C 6 orMameimsgesem y y Add_SI_Flag Name und Bedeutung Ignore_ACIr 0 bedeutet AUTOCLEAR ausf hren 1 bedeutet AUTOCLEAR ignorieren NA_To_Abort 0 bedeutet Slave wird nicht initialisiert wenn er nicht antwortet 1 bedeutet Slave wird neu initialisiert wenn er nicht antwortet Programmierschnittstelle DP Base f r CP 5613 CP 5614 236 C79000 G8900 C 139 04 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
162. muss zyklisch aufgerufen werden Hinweis Nach dem positiven Quittieren der Konfigurationsdaten m ssen die Eingabedaten im Prozessabbild des Slave Moduls mindestens einmal geschrieben werden In itialisierung bevor der Slave Modul in den Datenaustausch gehen kann Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 bersicht DP Base Schnittstelle Abschluss Beim Herunterfahren des CP f hrt das Slave Modul in den OFFLINE Zustand und der CP wird angehalten DPS_stop Slave in den OFFLINE Zustand brin gen DP_release_pointer Zugriff auf das Prozessabbild freigeben DPS_close Abmelden beim Slave Modul CP anhalten Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 63 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 Semaphor f r asynchrone Die DP Base Lib bietet hierzu einen Auftr ge abholen Funkti Semaphor f r alle asynchronen Auftr on DP_init_sema_object ge Typ DP_OBJECT_TYPE_ASYNOC Benutzen von Semaphore f r das Slave Modul 64 Auf Semaphor warten D
163. n 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 Zuerst wird das High Byte niederwertige Adresse danach das Low Byte h her wertige Adresse des Wortes eingetragen d h Motorola Format Hinweis 1 Diese Reihenfolge entspricht nicht dem Format der Prozessoren der 80x86 Pentium Familie Hinweis 2 Beachten Sie bitte eventuelle Zusatzinformationen der Hersteller zu den Slaves die Ihr Anwenderprogramm unterst tzen soll Programmierschnittstelle DP Base f r CP 5613 CP 5614 214 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 6 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 Least Significant Bit hat die Nummer 0 und das h chstwertige MSB Most Significant Bit die Nummer 7 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 215 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 Kopftei
164. n 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 in DPR_WORD cfg_data_len in DPR_BYTE cfg_data DPS_MAX_PDU_LEN in simple struct DPS_DYNAMIC_S DPR_WORD def_cfg_data_len in DPR_BYTE def_cfg_data DPS_MAX_PDU_LEN in dynamic DPS_INIT_DATA_T user_prm_data_len L nge der vorgegebenen User Parametrierdaten lt 237 Byte user_prm_data vorgegebene User Parametrier daten cfg_data_len L nge der vorgegebenen Konfi gurationsdaten lt 244 Byte cfg_data vorgegebene vorgegebenen Konfigurationsdaten Format sie he Kap 4 7 3 def_cfg_data_len L nge der Default Konfigurations daten lt 244 Byte def _cfg_data Default Konfigurationsdaten Anmerkung Das erste User Parametrierdaten Byte ist f r den Slave Controller reserviert und wird bei der Uberpr fung nicht ber cksichtigt Im DP V1 Modus sind die ersten 3 User Parametrier datenbytes reserviert und werden bei der Uberpr fung nicht ber cksichtigt Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 143 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Fortsetzung der Tabelle von der letzten Seite max_data baud_rate 144 Zeiger auf eine Struktur mit den maximalen Pufferl ngen f r Eingabe u
165. n des Kommandos DP_SYNC DP_FREEZE Die Zust nde der Eing nge werden eingelesen und eingefroren DP_UNFREEZE Aufheben des Kommandos DP_FREEZE group Die anzusprechenden Slave Gruppen wobei Bit 0 die Gruppe 1 bedeutet Bit 1 die Gruppe 2 usw Die Bits k n nen mit Oder verkn pft werden Mindestens ein Bit muss gesetzt sein error Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 93 Return Wert Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes DP_OK Erfolgreicher Abschluss der Funkti on DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_ADR_NOT_IN_DB DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_REQ_NOT ALLOWED DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_SLV_NOT_ACTIV DP_ERROR_EVENT_NET und error gt error_code DP_RET_CP_TOO_MANY CTRL_CMD DP_ERROR_REQ_PAR und error gt error_code DP_RET_CP_WRONG FREEZE_GRP DP_ERROR_REQ_PAR und error gt error_code DP_RET_CP_WRONG_SYNC_GRP DP_ERROR_REQ_PAR und error gt error_code DP_RET_CP_WRONG_GC_GRP DP_ERROR_REQ_PAR und error gt error_code DP_RET_CP_WRONG_GC_CMD Slave Adresse nicht in der Datenba sis Der Dienst ist nicht erlaubt Der betreffende Slave ist inaktiviert Zu viele Gl
166. nd 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 Dazu sind folgende Schritte erforderlich DP_start_cp CP wird initialisiert 2 DPS_open Initialisieren des Slave Moduls Im Parameter slave_mode ist das Bit DPS_SM_SIMPLE gesetzt im Para meter init_data stehen die erwarteten Parametrier und Konfigurierdaten Starten des Slave Moduls DP_get_pointer Exklusiver Zugriff auf das Prozessab bild Produktivbetrieb Das Anwenderprogramm kann beliebig auf die Daten im Prozessabbild lesend und schreibend zugreifen Abschluss Zum Herunterfahren des CP f hrt das Slave Modul in den OFFLINE Zustand und endet mit dem Anhalten des CP DPS_stop Slave in den OFFLINE Zustand brin gen DP_release_pointer Zugriff auf das Prozessabbild freigeben DPS_close Abmelden beim Slave Modul CP anhalten Programmierschnittstelle DP Base f r CP 5613 CP 5614 60 C79000 G8900 C 139 04 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 b
167. nd 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 PR_BYTE max_input_data_len PR_BYTE max_output_data_len PR_BYTE max_user_diag_len PR_BYTE max_user_prm_data_len PR_BYTE max_cfg_data_len DPR_BYTE max_user_ssa_data_len DPS_MAX_DATA_T Anmerkung max_user_ssa_data_len muss nicht ausgef llt werden falls addr_change mit 0 belegt ist Die Summe der Werte f r max_input_data_len und max_output_data_len definiert die L nge des insgesamt zur Verf gung stehenden Datenpuffers f r Ein und Aus gabedaten Eine max_input_data_len von 0 schlie t somit bei gen gend gro er max_output_data_len den Empfang von Daten nicht aus Einzustellende Daten bertragungsgeschwindigkeit F r den CP 5614 muss DPS_BD_AUTO_DETECT angegeben werden da der CP 5614 ber eine automatische Erken nung der Daten bertragungsgeschwindigkeit verf gt Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_CI und error gt error_code CI_RET_OP
168. nderprogramm beim DP_get_pointer Aufruf erhalten hat Dann werden 200 Byte des Slave Nr 5 wie folgt in einen lokalen Puffer buf kopiert Sperren des Datenbereichs gegen Aktualisierung p gt ctr D_lock_in_slave_adr 5 Daten kopieren memcpy buf amp p gt pi slave_in 5 data 0 200 Sperre wieder aufheben p gt ctr D_lock_in_slave_adr DPR_DP_UNLOCK Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 167 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes IN 168 Warnung 1 Die Sperre wird auch aufgehoben durch Sperren eines anderen Slave zum Lesen e Sperren eines Slaves zum Diagnose lesen Kap 4 3 2 _Ansto en eines Schreibvorgangs von Ausgangsdaten eines Slave ber das zugeh rige Steuerregister Kap 4 3 3 Hinweis 1 Die Daten sind nur g ltig wenn der Master im Zustand OPERATE oder CLEAR AUTOCLEAR und der Slave im Zustand READY ist Hinweis 2 Der Speicherbereich mit Index 127 enth lt die Daten des Slave Moduls des CP 5614 Hinweis 3 Die Eingabedaten werden nicht aktualisiert solange der Slave statische Diagnose meldet Kapitel 4 6 2 Byte 2 Stationsstatus_2 Bit 1 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 3 2 _ Diagnosedaten eines DP Slave lesen Konsistentes Lesen der Diagnosedaten F r
169. nderprogramms auszugeben w rden Sie etwa folgendes programmieren printf master state gt 1d p gt info_watch master_info USIF_state bedeutet OFFLINE 0 1 bedeutet STOP 2 bedeutet CLEAR 3 bedeutet AUTOCLEAR 4 bedeutet OPERATE printf master ident number gt 1x p gt info_watch master_info ident_number im Motorola Format printf master HW version gt 1x p gt info_watch master_info hw_version z B 0x00000102 f r Version 1 2 printf master FW version gt 1x p gt info_watch master_info fw_version Hinweis Ein Schreiben dieser Werte ist nicht zul ssig und ndert die Master Daten nicht Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 177 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 3 7 Aktuelle Busparameter des Masters abfragen Nutzen der Busparameterabfrage Beispiel 178 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 Hinweis Ein Schreiben dieser Werte ist nicht zul ssig und ndert nicht die tats chlich ver wendeten Busparameter Es sei p ein Zeiger auf das Prozessabbild den Ihr Anwenderprogramm beim DP_get_pointer Aufruf erhalten hat Um diese Informationen auf dem Bildschirm eines einfachen Anwenderprogramms
170. ndert Sequenz 1 11 1 2 1 3 1 42 1 5 1 6 1 7 1 8 dann bekommt der DP Master beim zy klischen Pollen nur eine Folge von Schnappsch ssen mit die er ins Prozessab bild eintr gt Sequenz 1 11 1 3 1 5 1 8 Beispiel Anwenderprogramm liest zu schnell Wenn das Anwenderprogramm das Prozessabbild sehr schnell pollt bekommt es die Werte mehrfach mit weil es den Poll Zyklus des Masters berholt Nach obi gem Beispiel liest das Anwenderprogramm dann eine Sequenz 1 11 1 11 1 11 1 11 1 2 1 2 1 2 1 3 1 3 1 3 1 42 1 42 Beispiel Anwenderprogramm schreibt zu schnell Wenn das Anwenderprogramm das Prozessabbild sehr schnell ndert Sequenz 1 2 3 4 5 6 berholt es den Poll Zyklus des DP Masters Der bertr gt dann nur Schnappsch sse an den Slave Sequenz 1 4 6 Beispiel Anwenderprogramm liest zu langsam Wenn das Anwenderprogramm das Prozessabbild nur gelegentlich pollt weil es z B in der Zwischenzeit andere Aufgaben auszuf hren hat kann es vorkommen dass einige Werte bersprungen werden Aus einer Sequenz 1 1 1 2 1 3 1 4 im Prozessabbild wird dann z B 1 1 1 3 usw im Anwenderprogramm Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 25 bersicht PROFIBUS DP Abhilfe 26 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 Hardwa
171. nittstelle kennen einschlie lich typischer Aufruf und Zugriffsreihenfolgen F r eine detaillierte Beschreibung der Funktionsaufrufe und Datenzugriffe lesen Sie bitte im Kapitel 3 10 nach Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 37 bersicht DP Base Schnittstelle 3 1 Aufteilung in Funktionen und Daten Grundstruktur der DP Base Schnittstelle Die Schnittstelle zum Anwenderprogramm erfolgt ber zwei Mechanismen e Schnittstellenaufrufe der dp_base dll bzw dps_base dil e Direktzugriffe auf das Prozessabbild im CP 5613 CP 5614 Dazu folgende bersicht DP Anwenderprogramm dp_base dil dps_base dil ProzeBabbild CP 5613 CP 5614 Funktionen der dp_base dil und dps_base dil Administrative Aufgaben und zur Laufzeit seltener ben tigte Kommunikationsei genschaften des CP 5613 und CP 5614 erreicht Ihr Anwenderprogramm durch Aufrufe von Funktionen in den DP DLLs dp_base dll und dps_base dll Funktionen die mit DP_ beginnen enthalten allgemeine und Master Modul funktionalit t Funktionen die nur f r das Slave Modul relevant sind beginnen mit DPS_ das S steht f r Slave Modul Programmierschnittstelle DP Base f r CP 5613 CP 5614 38 C79000 G8900 C139 04 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
172. nn die Reaktion auf Empfang von Konfigurations daten beeinflusst werden Ist dieses Bit 0 so erfolgt die Pr fung wie in EN 50170 beschrieben Ist dieses Bit gesetzt kann die Pr fung auf eine user spezifische Art und Weise erfolgen Programmierschnittstelle DP Base f r CP 5613 CP 5614 240 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Byte 10 DPV1_Status_3 Bit Bedeutung 2 0 Alarm Modus I Ss 1 Alarm von jedem Typ 2 Alarme insgesamt 4 Alarme insgesamt 8 8 Alarme insgesamt zn 12 Alarme insgesamt 16 Alarme insgesamt Ei 6e 24 Alarme insgesamt 32 Alarme insgesamt Byte 11 bis n herstellerspezifische Daten Diese Bytes sind f r DP Slave spezifische Parameter z B Diagnosefilter Regler parameter frei belegbar Die Bedeutung und die Wertebereiche werden hersteller spezifisch festgelegt Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 241 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 K Datenblock 1 NE Datenblock 2 Variante 2 Datenblock n Spezielles Kennungsbyte 1 L ngenbyte optional 2 L
173. nnnnnnnnnnnnnnnnnnnnnnn 4 3 9 PROFIBUS Statistikdaten lesen 0000222222000sssennnnnnnnnnnennnnnnnnnnnnnnnnenennnn 4 3 10 Fast Logic Status Abfragen 2u4ussnnnnnnnnnnnnnnnnnnennnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn Programmierschnittstelle DP Base f r CP 5613 CP 5614 6 C79000 G8900 0 139 04 Inhaltsverzeichnis 4 3 11 User Watchdog im Dualport RAM lesen und triggern 4 3 12 Hardware Event Erzeugung ein und ausschalten ssnss nennen 4 3 13 Beim CP 5614 als DP Slave Daten senden 444440nnsnnnnnn nennen 4 3 14 Beim CP 5614 als DP Slave Daten empfangen 4444snnennnnennnnnnnnnnen nenn 4 3 15 Beim CP 5614 als DP Slave Diagnosedaten senden 4 4 Fehlerbehandlung 444444444400Hnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ann 4 4 1 Eintr ge in die Strukturelemente error_decode error_code_1 und error_code_2 bei Fehlerklasse DP_ERROR EVENT nennen AAZ Fehlerc des onrera rrr EE A A AE EA 200 4 5 Formate der Slave Daten 4444444000nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn ann 4 6 Farmate der Slavs DiagnGssdalen ns 4 6 1 bersicht der Gesamtstruktur sssn444snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 4 6 2 Format des Kopfteils der Diagnose 444444ssnnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn 4 6 3 Format der ger tebezogenen Diagnose Standard DP Slave
174. nnungsnummer an F r die se Kennungsnummer ist typischerweise in der kennungsspezifischen Diagnose das entsprechende Bit gesetzt Programmierschnittstelle DP Base f r CP 5613 CP 5614 228 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Kanalnummer Bit Bedeutung 7und6 Ein Ausgabe Oo oo enS 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 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 229 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Art der Diagnose Bit Bedeutung Kanaltyp I Fehlertyp Programmierschnittstelle DP Base f r CP 5613 CP 5614 230 C79000 G8900 C 139 04 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 1 Die beiden h chstwertigen Bits im ersten Byte haben den Wert 11 Damit wird der Block Revision Number als ganzes identifiziert Die restlichen sechs Bits enthalten die Revision Number des Slave Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 231 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Beispiel ein
175. nter Zeiger auf das Prozessabbild wieder zur ckgeben Mit dieser Funktion meldet sich ein DP User wieder ab DP_reset_cp Anhalten der CP Firmware Standard DP Funktionen DP_set_mode Mit dieser Funktion wird die gew nschte DP Zustand OFFLINE STOP CLEAR OPERATE eingestellt DP_siv_state Mit dieser Funktion kann ein Slave explizit aktiviert oder deaktiviert sowie die AUTOCLEAR Eigenschaft ver ndert werden DP_read_siv_par Mit dieser Funktion k nnen die Parameter eines DP Slave aus der Datenbasis ausgelesen werden DP_global_ctrl Mit dieser Funktion kann ein Global Control Com mand an einen oder mehrere Slaves gesendet wer den Programmierschnittstelle DP Base f r CP 5613 CP 5614 70 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Funktionen zum DP V1 Master Klasse 1 DPC1 DP_ds_read Diese Funktion sendet einen Datensatz lesen Aufruf an einen DP V1 Slave DP_ds_write Diese Funktion sendet einen Datensatz schreiben Aufruf an einen DP V1 Slave DP_fetch_alarm Diese Funktion holt einen DPC1 Alarm eine DPC1 Statusmeldung oder sonstige Diagnosedaten ab DP_alarm_ack Diese Funktion sendet einen Alarm Acknowledge Aufruf an einen DP V1 Slave DP_get_cref Diese Funktion ermittelt aus der Slave Adresse und der User Id die Kommunikationsreferenz c_ref f r DP V1 Auftr ge DP_get_actual_cfg Mit dieser Funktion k nnen die aktuellen Konfigurations
176. obal Ctrl Commands sind zur Zeit in Bearbeitung Nur bei Einzeladressierung Der adressierte Slave geh rt keiner der angegebenen Gruppen an Kommando war FREEZE oder UNFREEZE Nur bei Einzeladressierung Der adressierte Slave geh rt keiner der angegebenen Gruppen an Kommando war SYNC oder UNSYNC Mindestens eine der angegebenen Gruppen ist leer Ung ltiger Global Ctrl Command Fehlerhafte Abschluss der Funden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 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 Der Aufbau und die Bedeu tung der Daten kann je nach Slave Typ variieren Hinweis Der Lesevorgang wird asynchron ausgef hrt DP_OK_ASYNC Die Quittung muss mit DP_get_result abgeholt werden Syntax DPR_DWORD DP_ds_read DPR_DWORD user_handle in DPC1_REO_ request in DP_ERROR_ error out Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 95 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Parameter User Handle das beim Aufruf DP_open vergeben wur
177. ogrammierschnittstelle DP Base f r CP 5613 CP 5614 192 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 4 Fehlerbehandlung Einheitliche Fehlerstruktur DP_ERROR_T Die Fehlerkennung f r die einzelnen Auftr ge benutzen die einheitliche Struktur DP_ERROR_LT 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 DPR_BYTE error_decode DPR_BYTE error_code_1l DPR_BYTE error_code_2 _ERROR_T Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 193 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 Fehlerklasse Beschreibung DP_OK Kein Fehler der Auftrag wurde durchgef hrt die Ergebniswerte sind vorhanden DP_OK_ASYNC Die Auftragsbearbeitung wurde erfolgreich ange sto en die Confirmation ist noch nicht vorhan den Das Er
178. ommandos sogenannte Global Controls Commands an die ausgew hlten Slaves zum Zwecke der Syn chronisation Dabei enth lt ein Steuerkommando drei Komponenten e Kennung ob ein oder mehrere DP Slaves adressiert werden e Identifikation der Slave Gruppe e Steuerkommando s Gruppenbildung 28 Bei der Projektierung kann einem Slave eine Gruppenidentifikation zugewiesen werden d h es ist m glich mehrere Slaves in einer Gruppe zusammenzufassen Welche der Slaves zu einer Gruppe geh ren wird beim Erstellen der Datenbasis festgelegt Dabei kann optional f r jeden DP Slave eine Gruppennummer verge ben werden Diese Gruppennummer wird dem DP Slave in der Parametrierphase bekannt gemacht Insgesamt k nnen bis zu acht Gruppen gebildet werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 UNFREEZE Das Einfrieren der Eing nge wird aufgehoben Die DP Slaves stellen die aktuellen Eingangsdaten dem DP Master wieder zur Verf gung SYNC Nach Erhalt eines SYNC Kommandbos frieren die DP Slaves die aktuellen Zust nde aller
179. ossenen 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 Um z B den Z hler der bisher festgestellten Buskurzschl sse auszugeben w rden Sie etwa folgendes programmieren gebe Z hler Buskurzschl sse aus printf bus ctrl err u n p gt info_watch aspc2_event bus_control_error Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 181 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 off ts_adr_error in_ring out_of_ring bus_control_error on_double_token on_timeout on_syni_error on_hsa_error off_hsa_error on_response_error on_las_useless on_rec_frame_ overflow on_fifo_error on_req_length_error off_pass_token_error Bedeutung Eine andere Station mit der gleichen Adresse wurde erkannt Angabe wie oft der CP in den Ring der aktiven PROFIBUS Master eingetreten ist Angabe wie oft der CP aus dem Ring der aktiven PROFIBUS Master herausgefallen ist der CP ist mo mentan im Ring wenn in_ring gt out_ring Anzahl Buskurzschl sse Diese beeintr c
180. r einzelnen DP Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Bedeutung BE CI_RET_SCP_OPEN_MAX Maximale Anzahl der SCP_open er reicht ein Objekt von diesem Typ Cl_RET_SET_HWND_MSG Fehler bei der Funktion SetSi necHWndMsg CI_RET_START_ACTION_ERR Interner Fehler CI_RET_START_ALREADY_DATABASE Zweiter Start mit einer unterschiedli chen Datenbasis CI_RET_START_CP_NO_REACTION Interner Fehler gt CP reagiert nicht ClI_RET_START_CP_NOT_FOUND CP wurde nicht gefunden Cl_RET_START_DOWN 1 Interner Fehler Cl_RET_START_ERROR_ERR Interner Fehler CI_RET_START_FN_DB_TOO_LONG Pfad Datenbasis zu lang Cl_RET_START_FN_FW_TOO_LONG Pfad Firmware zu lang CI_RET_START_ALREADY_DONE Hinweis CP schon gestartet Cl_RET_START_FW_INIT_EXCP Interner Fehler gt Firmware meldet Exception Cl_RET_START_FW_INIT_TIMEOUT Interner Fehler gt Firmware antwortet nicht CI_RET_START_INVALID_CP_NAME Ung ltiger CP Name CI_RET_START_INVALID_MODE Ung ltiger Start Mode CI_RET_START_LEN_DATABASE Datenbasis File ist zu lang CI_RET_START_CP_RESOURCES_INT Interner Fehler gt Ressourcen Prob lem Programmierschnittstelle DP Base f r CP 5613 CP 5614 210 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Klasse DP_ERROR_CI Bedeutung De Cl_RET_START_MAX_CP Maximale Anzahl von CPs schon er reicht Cl_RET_START_N
181. race aktiviert worden ist 1 oder nicht 0 Das DP Anwenderprogramm kann mit Hilfe dieser Variablen zur Laufzeit entscheiden ob Trace Eintr ge generiert werden sollen buf NULL oder Zeiger auf einen Datenbereich der L nge buf_len Der Inhalt des Datenbereichs wird zus tzlich zum String trc_text als Speicher Dump im Trace File ausgege ben buf_len Zahl der auszugebenden Bytes im durch buf adressierten Speicherbereich Return Wert DP_OK Trace Aufruf ohne Fehler Der Trace Eintrag wird geschrieben wenn die oben erw hnten Voraussetzungen erf llt sind DP_ERROR_REQ_PAR Parameterfehler Programmierschnittstelle DP Base f r CP 5613 CP 5614 136 C79000 G8900 C 139 04 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 O ungleich 0 ist soll in der Produktivphase zu Test zwecken ein DP Trace Eintrag erfolgen DPR_WORD IsTrcActive 0 Am Programmanfang pruefen ob Trace aktiv ist if DP_write_trc Program Start DP_USR_TRC_DEPTH_MAX amp IsTrcActive NULL 0 DP_OK Parameterfehler Produktivphase Eingabedaten des Slaves Nr 5 in buf einlesen siehe Kap 4 3 1 Trace Ausgabe falls DP_
182. ramm empfangen wurde ist das ndern der Slave Adresse nicht mehr m glich Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 User Handle das beim Aufruf DPS_open vergeben wurde timeout Dauer der maximalen Wartezeit in Millisekunden bis die Funktion zur ckkehrt Grenzwerte 0 keine Wartezeit Funktion kehrt sofort zur ck Ox7FFFFFFE maximale Wartezeit DP_TIMEOUT_FOREVER unendliche Wartezeit ind_ref Adresse der Referenznummer der Indication Muss bei DPS_set_resp wieder mit bergeben werden Fortsetzung der Tabelle auf der n chsten Seite Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 159 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 imm
183. re Events des CP 5613 und CP 5614 kann das Anwenderpro gramm sich von nderungen beim Slave benachrichtigen lassen Mit der DP Protokollerweiterung DP V1 Master Klasse 1 DPC1 kann das An wenderprogramm Daten mit Quittung lesen und schreiben sowie Alarme quittie ren soweit die verwendeten Slaves das unterst tzen Durch anwenderspezifische Implementierungen auf Seiten des Anwenderpro gramms und der Slaves k nnen verpackt ins DP Prozessabbild oder DPC1 Daten beliebige anwenderspezifische Flusskontrollen zur Kopplung von Master und Slaves erreicht werden um Datenverluste zu vermeiden Der Hardware Event bei Zyklusbeginn und Zyklusende des CP 5613 CP 5614 kann zur Synchronisation verwendet werden Diese Events werden nur im quidistanzmodus unterst tzt Die Parametrierung der quidistanzparameter ist nur mit STEP7 NCM m glich Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 bersicht PROFIBUS DP 2 8 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 e 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 e Eine aktivierbare AUTOCLEAR Funktion sorgt daf r dass bei einzelnen nicht
184. ren 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 Einzelne Paare aus Auftrag und Quittung k nnen parallel zueinander verwendet werden Pollendes Schreiben an einen Slave mittels DPC1 nn abgeben Nach dem Ende der Funktion ist der DP_ds_write Auftrag in Bearbeitung Quittung abpollen Die Quittung kann anhand der DP_get_result bis der Order_id im Request Block Auftrag beendet ist wiedererkannt werden Pollendes Lesen von einem Slave mittels DPC1 Leseauftrag abgeben Nach dem Ende der Funktion ist der DP_ds_read Auftrag in Bearbeitung Quittung mit Daten ab Die Quittung kann anhand der pollen DP_get_result bis Order_id im Request Block der Auftrag beendet ist wiedererkannt werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 52 C79000 G8900 0 139 04 bersicht DP Base Schnittstelle Empfangen und Beantworten eines DPC1 Alarms 1 Versuch Alarm zu emp Falls keiner vorliegt wird das durch fangen DP_fetch_alarm das Funktionsergebnis angezeigt 2 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 Order_id i
185. rgeben sie einen beispielhaften Poll Zyklus Zustand des Master im Prozessabbild pr fen USIF_state Kap 4 3 6 Zustand der Slaves im Prozessabbild pr fen sla ve_state Kap 4 3 5 Optional Pr fen ob ein Slave Daten nderungen hat req_mask Kap 4 3 4 falls ja req_mask wieder zur cksetzen Eingabedaten der Slaves lesen slave_in data Kap 4 3 1 Konsistenz durch Zugriff auf D_lock_in_slave_adr Auf neue Diagnosedaten der Slaves pr fen diag_count Kap 4 3 2 ggf Diagnosedaten der Slaves lesen sla ve_diagl data Kap 4 3 2 Konsistenz durch Zugriff auf D_lock_diag_slave_adr Ausgabedaten der Slaves schreiben sla ve_out data Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 Eingabedaten sind nur in den Zust n den OPERATE und CLEAR g ltig Ausgabedaten k nnen nur im Zustand OPERATE gesendet werden Die Kommunikation funktioniert nur mit Slaves im Zustand READY Ihr Anwenderprogramm kann feststel len ob ge nderte Eingabedaten von einem Slave vorliegen Zur Weiterbearbeitung im Anwender programm Wenn der Diagnosez hler sich seit dem letzten Zyklus ge ndert hat liegen neue Diagnosedaten vor Zur Weiterbearbeitung im Anwender programm Als Resultat der Bearbeitung von Ein gabe und Diagnosedaten 51 bersicht DP Base Schnittstelle 3 7 3 Typische Sequenzen beim pollenden DPC1 Master Betrieb Einordnung Nach dem Initialisie
186. riebsetzung und Betrieb eines Ger tes d rfen nur von qualifiziertem Personal vorgenommen werden Qualifiziertes Personal im Sinne der sicherheitstechnischen Hinweise dieses Handbuchs sind Personen die die Berechtigung haben Ger te Systeme und Stromkreise gem den Standards der Sicherheitstechnik in Betrieb zu nehmen zu erden und zu kennzeichnen Bestimmungsgem er Gebrauch AN Marken Bitte beachten Sie folgendes 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 SIMATIC und SIMATIC NET sind Marken der Siemens AG Die brigen Bezeichnungen in dieser Schrift k nnen Marken sein deren Benutzung durch Dritte f r deren Zwecke die Rechte der Inhaber verletzen k nnen Copyright Siemens AG 1999 bis 2000 All rights reserved Weitergabe sowie Vervielf ltigung dieser Unterlage Verwertung und Mitteilung ihres Inhalts ist nicht gestattet soweit nicht ausdr cklich zugestanden Zuwiderhandlungen verpflichten zu Schadensersatz Alle Rechte vorbehalten insbesondere f r den Fall der Patenterteilung oder GM Eintragung Siemens AG Bereich Automatisierungs und Antrie
187. rogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 75 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_CI und CP nicht gestartet error gt error_code CI_RET_OPEN_CP_NOT STARTED DP_ERROR_EVENT_NET und Die dplib dll und die dp_base dll k n error gt error_code nen sich nicht beim gleichen CP an DP_RET_CP USR_NOT_ melden COMPATIBLE DP_ERROR_RES und Es k nnen sich keine weiteren error gt error_code DP Instanzen am CP anmelden DP_RET_CP_TOO_MANY_USR DP_ERROR_RES und Es sind keine DP Parameter in der error gt error_code Datenbasis des CP enthalten DP_RET_CP_NO_DP_PAR DP_ERROR_RES und Es k nnen sich keine weiteren Instan error gt error_code zen an der dp_base dll anmelden DP_RET_TOO_MANY_USR Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 76 C79000 G8900 0 139 04 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 zu
188. rozessabbild 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 Die Struktur DP_WD_S besteht aus den Elementen wd_state wd_start wd_counter und wd_trigger Ein DP Anwenderprogramm darf auf die Elemente wd_state wd_start und wd_counter nur lesend zugreifen Auf das Element wd_trigger darf das DP Anwenderprogramm lesend und schreibend zugreifen Strukturelement Bedeutung wd_trigger Das Strukturelement wd_state zeigt den aktuellen Zustand des User Watchdogs an Es kann folgende Werte anneh men DP_WD_STOPPED Watchdog ist deaktiviert e DP_WD_STARTED Watchdog ist gestartet Aktivit tskontrolle l uft e DP_WD_TIMEOUT Watchdog ist abgelaufen weil er nicht rechtzeitig vom DP Anwenderprogramm getriggert worden ist Das Strukturelement zeigt die aufgerundete berwa chungszeit die beim Aufruf von DP_watchdog bergeben worden ist in Einheiten von 10 Millisekunden an Das Strukturelement zeigt die bereits abgelaufene berwa chungszeit des Watchdog in Einheiten von 10 Millisekunden an Es wird vom DP Master zyklisch inkremenitiert Das Strukturelement dient zum Triggern des User Watchdogs Es muss vom DP Ma
189. rprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Aufbau des Strukturelements request gt req dp_enable_evt f struct DP_ENABLE __ PR_DWO selector PR_BYTI mst_state PR_BYT event DPR_MAX_SLAVI PR_BYTI mst_event D D D D DPR_BYTI new_mst_state _ENABLE_EVT_T Programmierschnittstelle DP Base f r CP 5613 CP 5614 114 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Beschreibung der Elemente von request gt req dp_enable_evt Elemen 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 e DP_SLAVE_STATE Benachrichtigung wenn der Slave in die Bearbeitung aufgenommen wird oder aus ihr herausf llt DP_MST_STATE Benachrichtigung wenn der Master einen anderen Status hat oder ein nimmt als im Vorgabeparameter mst_state eingetragen ist mst_state Das Element mst_state ist nur relevant wenn in selector die Kennung DP_MST_STATE eingetragen ist Es muss derjeni ge Master Betriebszustand eingetragen werden bei dessen Anderung die Funktion DP_enable_event das Ereignis DP_MST_STATE_CHG melden soll Es kann einer der fol genden Werte gew hlt werden
190. rstmaligen Aufruf von DP_enable_event mit aktiviertem Selektor DP_SLV_STATE sind folgende Punkte zu beachten Sind zum Zeitpunkt des Aufrufs Slaves betriebsbereit READY Zustand so wird f r diese Slaves sofort die Ereignismeldung DP_SLAVE_ENTER ausge l st Sind zum Zeitpunkt des Aufrufs keine Slaves betriebsbereit NOT READY Zustand so wird keine Ereignismeldung DP_SLAVE_EXIT ausgel st Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 e Mehrfaches DP_SLAVE_ENTER Der Slave wechselte zwischenzeitlich in den NOT READY Zustand und danach wieder zur ck in den READY Zustand e Mehrfaches DP_SLAVE_EXIT Der Slave wechselte zwischenzeitlich in den READY Zustand und danach wieder zur ck in den NOT READY Zustand Hinweis 5 Ist der Slave im Zustand NOT_READY d h in der Initialisierungsphase und der Selektor DP_DIAG_ALARM aktiviert dann wird die Diagnose nur dann gemeldet wenn der Slave in seinem Diagnosetelegramm Diag Prm_Fault Diag Cfg_Fault oder Diag Ext_Diag meldet zu den Formaten siehe Kap 4 6 Hinweis 6 Ist der DP Master zum Zeitpunkt des Aufrufs von DP_enable_event mit Selector DP_MST_STA
191. rts des DP Slave anlie gen Besitzt ein DP Slave keine Eingabe Ports wird statt dessen ein Leertele gramm zur ckgesendet Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 bersicht PROFIBUS DP 2 4 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 Abbildung 3 zeigt eine schematische bersicht der Datenbereiche im DP Master Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 bersicht PROFIBUS DP Datenbereiche Im DP Master sind f r jeden projektierten DP Slave drei unterschiedliche Datenbe reiche vorhanden e Eingabedaten vom DP Slave e Ausgabedaten an den DP Slave e 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 DP Applikation EEE EN Eingabedaten Diagnosedaten Slave Daten Slave 1 Slave2 Slaven R DP Master PROFIBUS Abbildung 3 _Datenbereiche des DP Masters Programmierschnittstelle DP Base f r CP 5613 CP 5614 20 C79000 G8900 0 139 04 bersicht PROFIBUS
192. s Dabei wird im Zustand CLEAR an alle Slaves mit Prozessausgabe der Wert 0 oder Leertele gramme gesendet d h die Prozessausgabe ist deaktiviert Die Eingabedaten der Slaves sind bekannt und k nnen ausgelesen werden OPERATE Im Zustand OPERATE findet der zyklische Produktivdaten transfer zu den DP Slaves statt Dies ist die Produktivphase In diesem Zustand werden reihum die DP Slaves vom DP Master angesprochen Im Aufruftelegramm werden die aktuellen Ausga bedaten im zugeh rigen Antworttelegramm werden die aktuel len Eingabedaten transferiert Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 23 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 gt STOP gt CLEAR gt OPERATE Programmierschnittstelle DP Base f r CP 5613 CP 5614 24 C79000 G8900 0 139 04 bersicht PROFIBUS DP 2 7 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 Beispiel Slave schreibt zu schnell Wenn z B ein analoger Slave sehr schnell seine Ausgabedaten
193. s 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 DPR_DWORD user_handle DP_ERROR_T error Parameter User Handle das beim Aufruf DPS_open vergeben wurde Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Das Kommando DPS_start ist im error gt error_code momentanen Betriebszustand nicht DPS_RET_SEQUENCE_ERROR erlaubt Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 148 C79000 G8900 0 139 04 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 DP_ERROR_T error Parameter Name Beschreibung User Handle das beim Aufruf DPS_open vergeben wurde Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ ERROR_EVENT_NET und Das Kommando DPS_stop ist im error gt error_code moment
194. setzt sobald von einem angesprochenen DP Slave eine unplausible Antwort empfan gen wird Diag Not_Supported Dieses Bit wird gesetzt sobald eine Funktion angefordert wurde die von diesem Slave nicht unterst tzt wird bei spielsweise wird ein Betrieb im SYNC Modus gefordert vom Slave aber nicht unterst tzt Diag Ext_Diag Dieses Bit wird vom DP Slave gesetzt Ist das Bit gesetzt so muss in dem Slave spezifischen Diagnosebereich Ext_Diag_Data ein Diagnoseeintrag vorliegen Ist das Bit nicht ge setzt so kann in dem Slave spezifischen Diagnosebereich Ext_Diag_Data eine Statusmeldung vorliegen Die Bedeutung die ser Statusmeldung ist anwenderprogrammspezifisch zu vereinbaren Diag Cfg_Fault Dieses Bit wird gesetzt sobald die vom DP Master zuletzt gesendeten Konfigurationsdaten mit denjenigen die der DP Slave ermittelt hat nicht bereinstimmen d h es liegt ein Konfigura tionsfehler vor Diag Station_Not_Ready Dieses Bit wird gesetzt wenn der DP Slave noch nicht f r den Produktivdatenaustausch bereit ist Diag Station_Non_Existent Dieses Bit setzt der DP Master falls der DP Slave nicht ber den Bus erreichbar ist Ist dieses Bit gesetzt so enthalten die Diagnosebits den Zustand der letzten Diagnosemel dung oder den Initialwert Der DP Slave setzt dieses Bit fest auf Null Programmierschnittstelle DP Base f r CP 5613 CP 5614 218 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und
195. ster Anwenderprogramm in zyklischen Abst nden d h mindestens 1 mal innerhalb der Watchdog berwachungszeit inkrementiert werden Durch das Triggern wird das Element wd_counter wieder auf den Wert 0 gesetzt und der Watchdog neu gestartet Ein berlauf des Wertebereichs von wd_trigger ist irrelevant und muss nicht berpr ft werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 185 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 printf watchdog time u n p gt info_watch user_watchdog idx wd_counter Watchdog abgelaufen if p gt info_watch user_watchdog idx wd_state DP_WD_TIMEOUT Timeout gt user spezifische Reaktion else Watchdog triggern p gt info_watch user_watchdog idx wd_trigger Programmierschnittstelle DP Base f r CP 5613 CP 5614 186 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 3 12 Hardware Event Erzeugung ein und ausschalten bersicht I
196. t e CP5613_5614 MPI lt Board n gt e CP5613_5614 PROFIBUS lt Board n gt F r das n ist jeweils die CP Nummer als Ziffer einzusetzen Wie unterscheidet mein Anwenderprogramm einen CP 5614 von einem CP 5613 Beim CP 5613 liefert der Aufruf DPS_open die Anzeige zur ck dass kein Slave vorhanden ist siehe Kapitel 4 2 2 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 255 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 Deshalb muss ein Anwenderprogramm nach jedem Zugriff oder Zyklus diesen Zeiger wieder freigeben Aufruf DP_release_pointer Das ndern des DP Master Zustands Hochfahren und Herunterfahren des DP Masters mittels Aufruf DP_set_mode sollte nur von einer Applikation durchge f hrt werden um Zugriffskonflikte zu vermeiden Bevor der DP Masters vom Zustand CLEAR in den Zustand OPERATE ge bracht wird muss sichergestellt sein dass die Ausgabedaten der DP Slaves im Dualport RAM mit geeigneten Werten vorbelegt worden sind Sobald der DP Master im Zustand OPE
197. t die L nge der zu lesenden Daten an Nach Empfang der DP_ds_read Confirmation enth lt length_s die tats chliche Anzahl der vom Slave empfangenen Daten an Die empfangenen Daten werden in data_s eingetragen Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 DP_OK_ASYNC Die Funktionsbearbeitung wurde erfolg reich aktiviert DP_ERROR_EVENT_NET und Es ist noch ein DP_ds_read oder error gt error_code DP_ds write Request in Bearbeitung Ein DP_RET_REQ_ACTIV erneuter Aufruf von DP_ds_read ist erst dann zul ssig wenn das Ergebnis des vorangegangenen Aufrufs mit DP_get_result abgeholt ist Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 97 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 1 14 DP_ds_ write Zweck Syntax 98 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 Der Aufbau und die Bedeutung der Daten kann je nach Slave Typ variieren Hinweis Der Schreibvorgang wird asynchron ausgef hrt Die Quittung muss mit DP_get_result abgeholt werden DPR_DWORD DP_ds_write DPR_DWORD user_han
198. ten error gt error_code basis CI_RET_FL_SLAVE_OUT NOT_IN_DB DP_ ERROR_CI und Ung ltiges Eingabebyte Error gt error_code CI_RET_FL_INV_INDEX_ IN_BYTE DP_ ERROR_CI und Ung ltiges Ausgabebyte Error gt error_code CI_RET_FL_INV_INDEX_OUT_BYTE DP_ERROR_CI und Fast Logic ist bereits aktiviert Error gt error_code CI_RET_FL_ALREADY_ON DP_ ERROR_CI und Ung ltige Maske f r das Eingabe Error gt error_code byte CI_RET_FL_INV_IN_MASK DP_ ERROR_CI und Ung ltige Maske f r das Ausgabe error gt error_code byte CI_RET_FL_INV_OUT_MASK DP_ERROR_CI und Ein zweiter User ist nicht erlaubt error gt error_code CI_RET_FL_DOUBLE_USER DP_ERROR_CI und Das Feld activated_fast_logic ist error gt error_code nicht Null CI_RET_FL_NOT_CLEAR Fehlerhafter Abschluss der Funkti on Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 129 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 Fey in DPR_WORD fast_logic_id in DP_ERROR_T error out Parameter User Handle das beim Aufruf DP_open vergeben wurde fast_logic_id Fast Logic Trigger Wertebereich 0 bis DPR_MAX_FASTLOGIC_CNT 1 DPR_MAX_FASTLOGIC_CNT ist auf 4 festgelegt
199. ten abfragen De P TTE Bepa E UNSYNG 2244ssssnsnnsnanortnnnnnnznnennnen ustand ermitteln CP 5614 User Watchdo Zustand feststellen 9 Slot Nummer sssssssssesennennnnnnnen V Software Event ueeessessssssseseseneenennn Version Statistikdaten u 2cuunceeeeeneeeneeeeenennnn bersicht Status_TyPe amp ueeennssennnnnnnssnnnnnnnnnnn w Steuertelegramm nn 28 Watchdog r E E FEPERIEERSERRINN WD Base ims E E E MD Eat pnn Sy NC ROQ rnia aaa WD Fact 2 synchron nusssssnssssnnnnnnnnnnnnnnnnnnn nn zen T Z Threads ZOGO er a A A ER ED Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 279 Stichwortverzeichnis Programmierschnittstelle DP Base f r CP 5613 CP 5614 280 C79000 G8900 C 139 04
200. ten f r Anwenderprogramme gibt es Bei den Wartemechanismen gibt es im Prinzip drei M glichkeiten die Sie auch miteinander kombinieren k nnen e Grunds tzlich k nnen Sie Ihr Anwenderprogramm pollen lassen d h es fragt immer wieder zyklisch das Prozessabbild ab e Sie k nnen Hardware Events mit Semaphore als Wartemechanismen einset zen e Sie k nnen die Funktion DP_get_event mit einem Timeout Wert aufrufen um so auf Software Events zu warten Au erdem k nnen Sie Ihr Anwenderprogramm in mehrere Threads zerlegen siehe dazu das Programmbeispiel ExamComp Was sind die Vorteile eines nur pollenden Anwenderprogramms Die Programmstruktur ist relativ einfach vorausgesetzt Ihr Programm benutzt kei ne anderen Schnittstellen die Event Handling erfordern w rden wie z B DPC1 Polling ist besonders auch dann gut geeignet wenn aufgrund einer hohen Daten bertragungsgeschwindigkeit und vieler sich rasch ndernder Slaves mit einem hohen Datenaufkommen zu rechnen ist Programmierschnittstelle DP Base f r CP 5613 CP 5614 248 C79000 G8900 0 139 04 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 Zeitsteuer
201. ter PG Programmierger t Programmierger t f r die Produktfamilie SIMATIC der Sie mens AG wird eingesetzt zum Programmieren zur Projektierung bei der Wartung und im Service PNO PROFIBUS Nutzer Organisation PROFIBUS Feldbus nach EN 50 170 Vol 2 DIN 19245 PROFIBUS Adresse Die PROFIBUS Adresse ist eine eindeutige Kennung eines an PROFIBUS ange schlossenen Teilnehmers Zur Adressierung eines Teilnehmers wird die PROFIBUS Adresse im Telegramm bertragen PROFIBUS DP PROFIBUS DP EN 50 170 Vol 2 DIN 19245 T1 T3 ist eine Richtlinie der PROFIBUS Nutzerorganisation PNO f r den Datenaustausch mit dezentralen Pe ripherieger ten Programmierschnittstelle DP Base f r CP 5613 CP 5614 272 C79000 G8900 0 139 04 Glossar Protokoll Verfahrensvorschrift f r die bermittlung in der Daten bertragung Mit dieser Vor schrift werden sowohl die Formate der Nachrichten als auch der Datenfluss bei der Daten bertragung festgelegt Prozessabbild Hier verwendet f r ein Dualport RAM des CP 5613 CP 5614 auf den Anwender programme direkt zugreifen k nnen und wo u a die jeweils aktuellen Daten der Slaves liegen READY Time Ein Busparameter f r PROFIBUS Die READY Time ist die Zeit in der ein aktiver Teilnehmer nach der Aussendung eines Aufrufs f r eine Quittung oder Antwort empfangsbereit sein muss Reorganisation Token Ring Alle Master am PROFIBUS PROFIBUS bilden einen logischen Token Ring In nerhal
202. tiken Watchdog des DP Anwenderprogramms Steuerung der Event Erzeugung bei Zyklusbeginn Steuerung der Event Erzeugung bei Zyklusende Steuerung der Event Erzeugung bei nderung der Ein gangsdaten der Slaves Steuerung der Event Erzeugung bei Daten nderung des Slave Moduls beim CP 5614 Steuerung der Event Erzeugung beim Empfang von Diagnosedaten der Slaves Abfrage des Fast Logic Status zur Steuerung von Fast Logic Hardware Events siehe die Kapitel 4 1 24 und 4 1 25 Die Formate der I O Daten und der Diagnosedaten werden in den Kapiteln 4 5 und 4 6 beschrieben 166 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 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 Das Sperren erfolgt durch das Schreiben der Slave Nummer in ein Steuerregister im Prozessabbild Das Freigeben erfolgt durch Schreiben des Wertes DPR_DP_UNLOCK oder einer anderen Slave Nummer in das selbe Register Beispiel f r konsistentes Lesen Es sei p ein Zeiger auf das Prozessabbild den Ihr Anwe
203. tion dient der Information des Anwenderprogramms damit dieses nicht selbst die Kennungsbytes des Konfigurationstelegramms aus werten muss Es kann ein beliebiges Konfigurationstelegramm ausgewertet wer den Syntax DPR_DWORD PS_calc_io_data_len PR_WORD cfg_len PR_BYTE cfg_data PR_WORD in_data_len PR_WORD out_data_len P_ERROR_T error Parameter ame Beschreibung OO O Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Return Wert DP_OK Erfolgreicher Abschluss der Funktion Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 165 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 3 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 r DP Prozessdaten Sonstige Informationen Hardware Events Eingabedaten der Slaves Ausgabedaten der Slaves Diagnosedaten der Slaves inklusive Diagnosez hler Anzeige f r Daten nderung der Slaves Eingabedaten des Slave Moduls des CP 5614 Ausgabedaten des Slave Moduls des CP 5614 Information ber den DP Master Information ber einen Slave Zustand der Slaves Aktuelle Busparameter Busstatis
204. uf trag wurde ohne Fehler beendet Keine Quittung verf gbar Kommunikationsfehler Slave antwortet nicht oder der Zugangspunkt ist beim Slave nicht bereit siehe Hinweis 3 oben Kommunikationsfehler Slave antwortet nicht innerhalb der Timeout Zeit siehe Hinweis 3 oben Kommunikationsfehler lokaler oder remoter DP Fehler siehe Hinweis 3 oben Der Auftrag kann nicht gesendet werden da der Slave nicht bereit ist Es wurde eine R ckmeldung von einem DP V1 Slave empfangen Die Auswer tung solcher R ckmeldungen ist in Ka pitel 4 4 1 beschrieben Es wurde eine Confirmation empfangen Der zugeh rige Auftrag wurde mit einem Fehler beendet Die R ckgabestruktur error enth lt Details zur Fehlerursache Der Funktionsaufruf wurde mit einem Fehler beendet Es wurde keine Corfir mation empfangen Der Parameter result ist nicht g ltig Die R ckgabestruktur er ror enth lt Details zur Fehlerursache 121 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 Syntax DPR_DWORD DP_get_cref DPR_DWORD user_handle IF EN
205. ufbau der drei Varianten n her erl utert Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 233 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 Soweit notwendig werden die Parameter weiter unten n her beschrie ben COO neme BE Benge Byte Aufbau 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 Least Significant Bit hat die Nummer 0 und das h chstwertige MSB Most Significant Bit die Nummer 7 Programmierschnittstelle DP Base f r CP 5613 CP 5614 234 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes SI_Flag Dieser Parameter enth lt Slave bezogene Flags Jedes Bit im SI_Flag Byte hat eine besondere Bedeutung I Bit Bedeutung 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 0 bedeutet DP Slave bekommt Bytes mit Dateninhalt 0 im CLEAR Modus DP Slave beko
206. ukturelemente e error _decode e error _code_1 e error _code_2 Alle drei Parameter sind dabei gemeinsam auszuwerten Sie enthalten Fehlerinformationen die vom DP V1 Slave gesendet werden error_decode Der Parameter error_decode legt die Bedeutung der Parameter error_code_1 und error_code_2 fest Nachfolgende Tabelle zeigt den Wertebereich Wertebereich Bedeutung 0 bis 127 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 197 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 _Code_1 Error Class _FMS Error _Code_2 Error Code _FMS Bei HART Error_Code Parameter Bedeutung Error _ Code _1 siehe HART Spezifikation Error _Code_2 siehe HART Spezifikation Error_Decode DP V1 Die Parameter Error_Code_1 und Error_Code_2 enthalten die DP V1 spezifische Fehlerinformation Aufbau von Error_Code_1 bei DP V1 Das Fehlerkodierungsschema von DP V1 verwendet Error_Code_1 f r die Klassifi zierung des Fehlers Class und f r die Angabe eines zus tzlichen Fehler Codes Code Programmierschnittstelle DP Base f r CP 5613 CP 5614 198 C79000 G8900 C 139 04 Beschreibung der einzelnen DP Funktion
207. und Name der Datenbasis falls ein Nullzeiger an gegeben ist so wird der ber das Werkzeug PG PC Schnittstelle einstellen eingestellte Datenbasisname ver wendet Adresse einer vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 72 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Return Wert 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 gt error_code ren Datenbasis gestartet worden CI_RET_START_ALREADY_ DATABASE DP_ERROR_CI Fehler Der CP ist bereits mit derselben und error gt error_code Datenbasis gestartet worden CI_RET_START_ALREADY_ Der Fehler kann ignoriert werden DONE en Fehlerhafter Abschluss der Funktion Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 73 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 das Konfigurations und Diagnosewerkzeug PG PC Schnittstelle einstellen ber das Startmen
208. und dieses Mechanismus des expliziten Ansto en der bertragung sind ge schriebene Ausgangsdaten immer konsistent Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 171 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 amp p gt pi slave_out 5 data 0 buf 200 bertragung ansto en p gt ctr D_out_slave_adr N Warnung Die Sperre wird auch aufgehoben durch e Sperren eines anderen Slave zum Lesen dessen Eingangsdaten Kap 4 3 1 Sperren eines anderen Slave zum Lesen dessen Diagnose Hinweis 1 Die Daten werden nur zum Slave bertragen wenn der Master im Zustand OPERATE und der Slave im Zustand READY ist Hinweis 2 Der Speicherbereich mit Index 127 enth lt die Daten des Slave Moduls des CP 5614 Hinweis 3 Die Ausgabedaten werden nicht gesendet solange der Slave statische Diagnose meldet Kapitel 4 6 2 Byte 2 Stationsstatus_2 Bit 1 Programmierschnittstelle DP Base f r CP 5613 CP 5614 172 C79000 G8900 0 139 04 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes 4 3 4 Pr fen der Slaves auf Daten nderung Nutzen der nderungsinformation Im Prozessabbild
209. ung 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 Ung ltige Betriebsart beim Set Mode Aktuelle Betriebsart DP_STOP Erlaubte Betriebsart DP_OFFLINE DP_CLEAR DP_RET_REQ_ACTIV Ein entsprechender Request ist schon in Be arbeitung Erst nach Abholen der Quittung durch DP_get_result ist ein weiterer Request dieser Art m glich Bei DP_ds_write DP_ds_read und DP_get_actual_cfg ist einer dieser Requests sowie zus tzlich ein DP_alarm_ack pro Slave m glich Bei DP_enable_event k nnen nicht mehrere Requests parallel bearbeitet werden DP_RET_TIMEOUT Hinweis Die vorgegebene Timeout Zeit ist abgelau fen Bedeutung bei DP_get_result Es wurde kei ne Confirmation empfangen Bedeutung bei DP_get_pointer Der Zeiger konnte nicht erhalten werden M gliche Ur sache weitere Applikationen haben den Zei ger in Benutzung Klasse DP_ERROR_EVENT_NET Bedeutung Fehlercodes f r die Slave Modulfunktionen des CP 5614s DPS_RET_DOUBLE _ OPEN DP
210. ung zu bremsen die zu Ihrer Anlage passt Was sind die Vorteile bei Hardware Events Ihr Anwenderprogramm kann schnell auf nderungen reagieren Es verbraucht auch da wartend nicht unn tig die CPU Leistung des PC Was sind die Nachteile bei Hardware Events Wenn Ihr Anwenderprogramm viele sehr aktive Slaves mit Hilfe von Hardware Events berwacht wird der Verwaltungsaufwand zum Abholen von Events hoch weil st ndig Semaphore weitergeschaltet und durchlaufen werden Dadurch steigt die Belastung der PC CPU Wir empfehlen Ihnen daher bei sehr vielen oder sehr aktiven Slaves Hardware Events nur f r einige Slaves einzusetzen und den Rest periodisch zu pollen Was sind die Vorteile einer Programmierung mit mehreren Threads Mit mehreren Threads erreichen Sie eine saubere Strukturierung Ihres Anwender programms Das ist besonders dann sinnvoll wenn Sie verschiedene Vorg nge parallel fahren m chten z B periodisches Pollen kombiniert mit Hardware Events auf der einen Seite und asynchrone DPC1 Auftr ge auf der anderen Seite Diese verschiedenen Aufgaben mit ihren unterschiedlichen Dynamiken k nnen Sie ber sichtlich in zwei Threads unterbringen Was sind die Nachteile einer Programmierung mit mehreren Threads Die Threads eines Anwenderprogramms d rfen sich z B beim Zugriff auf globale Variablen nicht in die Quere kommen Daten berschreiben und Deadlocks m ssen vermieden werden Insbesondere d rfen nicht mehrere Threads
211. vom Anwenderprogramm bereitgestellten Struktur vom Typ DP_ERROR_T Die Struktur enth lt im Fehlerfall Details zur Fehlerursache siehe Kapitel 4 4 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 163 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Datenstruktur f r Parameter data_bik Indication Inhalt von Datenstruktur data_bik DPS_CHK_PRM DPR_WORD status 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 DPS_CFG_OK Konfigurationsdaten sind akzeptiert DPS_CFG_FAULT Konfiguration wird nicht akzeptiert Slave geht nicht in den Datenaustausch DPS_NEW_SSA DPR_WORD status Formatierung DPS_SSA_OK Set Slave Address Bearbeitung abge schlossen Return Wert DP_OK Erfolgreicher Abschluss der Funktion DP_ERROR_EVENT_NET und Das Kommando ist im momentanen error gt error_code Betriebszustand nicht erlaubt DPS_RET_SEQUENCE_ ERROR code DP RET_PAR_USR_HANDL DP_ERROR_REQ_PAR Parameter data_len falsch er Programmierschnittstelle DP Base f r CP 5613 CP 5614 164 C79000 G8900 0 139 04 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 Funk
212. w feststellen Zust nde Min Station Delay Responder Min_Slave_Interval 0 N New Pri eese ia 235 O OFFEINE serait ae ORG unser OPERA TE 1 P Parametrierung e nennen PASSIV kenn ae aaa A Peripherie ninica Piggy Back Baugruppe PNO ceanna EEE Pollen Vor und Nachteile Polis 18 Poll Zyklus iiinn PROFIBUS u 1 Programmiersprachen unterst tzte Projektierung 4444440s0nn nenne Proze abbild Zeiger auf nnnssnennnnnnnnnnnnnnnnnnnnnnn Zugriff mehrerer Programme Zugriff mehrerer Threads R Reaktionszeiten uuansuenseeenneennnn 247 SeMaphots rr Heeres einrichten uussseeeeennseneeennennennnnneenn auf Daten nderung pr fen Betriebszustand 220022220ee nennen Daten empfangen Daten senden CP 5614 Datenbasis Parameter lesen Datenformat uuuenneeennnenneennnn Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C 139 04 Stichwortverzeichnis Diagnosedaten senden CP 5614 Vor und Nachteile 249 Diagnosedaten setzen CP 5614 Transfer uuessssssssnnnnnnnnnnnnnnnnnnnnnnnnnn Format Diagnosedaten U Konfigurationsdaten lesen projektierte Da
213. ware 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 Ihr Anwenderprogramm kann diesen Zugang benutzen um zus tzliche Funktionalit t dem Transferpro gramm hinzuzuf gen Im Beispielprogramm wird ein Z hler im CP 5614 Slave Modul hochgez hlt Anhand des Beispiels soll verdeutlicht werden wie eine autonome Transferfunktio nalit t mit einer lokalen Anwendung gemeinsam auf das Prozessabbild des CP 5614 bzw CP 5613 zugreifen kann Leitsystem DP Master DP Slave Die Projektierung zur Transfer Software nur CP 5614 Um die autonome Transferfunktionalit t festzulegen wird ebenfalls als Beispiel ein Konfigurationswerkzeug und eine konfigurierte Transferdatei mitgeliefert Mit dem Konfigurationswerkzeug l sst sich die Abbildungsfunktionalit t also das Kopieren von Daten von Master zu Slave und umgekehrt beliebig festlegen Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 C139 04 35 bersicht PROFIBUS DP 36 Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 bersicht DP Base Schnittstelle 3 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 Sch
214. zwischen gespeichert und gehen also nicht verloren Es wird aber jeweils nur das letzte Dia gnosetelegramm mit Statusmeldung und das letzte sonstige Diagnosetelegramm ohne Alarm oder Statusmeldung eines jeden Slave gehalten sofern vorhanden Hinweis 2 Abh ngig von Slave Typ und Projektierung kann ein DP Slave bis zu 32 Diagno setelegramme mit Alarmdaten an den CP 5613 CP 5614 senden Das Anwenderprogramm muss jeden Alarm durch einen zugeh rigen DP_alarm_ack Aufruf quittieren Statusmeldungen aber nicht Der Aufbau und die Bedeutung der Alarme oder Statusmeldung kann je nach Slave Typ variieren Bitte beachten Sie hierzu die Dokumentation des Slave Hinweis 3 Die Funktion meldet die gespeicherten Ereignisse in folgender Priorit t zur ck 1 zwischengespeicherte Diagnosedaten mit Alarmen sofern vorhanden 2 letzte Diagnosedaten mit ohne Statusmeldung sofern vorhanden Nach dem Auslesen werden die gespeicherten Daten gel scht Wenn der Slave aus der Bearbeitungsphase herausf llt werden alle zwischenge speicherte Alarmdaten oder Statusdaten verworfen In diesem Fall d rfen die ent sprechenden Alarme nicht mehr durch DP_alarm_ack Aufrufe quittiert werden Programmierschnittstelle DP Base f r CP 5613 CP 5614 C79000 G8900 0 139 04 101 Beschreibung der einzelnen DP Funktionen und Daten sowie Fehlercodes Syntax 102 Hinweis 4 Wird im R ckgabeparameter msg der Wert DP_MSG_TYPE_FAIL eingetragen

Download Pdf Manuals

image

Related Search

Related Contents

HP Pavilion ze2015us User's Manual  Télécharger le manuel SecuriTest V2  Approach® S2 - GPS Central  Manual de Usuario MenusPlus 5  D-Link DVC-2000 User's Manual  Lindy 42808 Network Card User Manual  HP HSR6600 Installation Manual  iHRIS Plan User`s Manual  warning - Jacobsen  Installation Guide  

Copyright © All rights reserved.
Failed to retrieve file