Herunterladen Diese Seite drucken

Werbung

SIMATIC NET
DPMCL2-Programmierschnittstelle
Handbuch
1
Einführung
2
Beschreibung der Funktionen
3
Aufbau einer DPMCL2-Applikation
4
DPMCL2-Zusatzinformationen
5
Checkliste für Programmierer
Glossar
C79000-B8900-C121-04

Werbung

loading

Inhaltszusammenfassung für Siemens SIMATIC NET DPMCL2

  • Seite 1 SIMATIC NET DPMCL2-Programmierschnittstelle Handbuch C79000-B8900-C121-04 Einführung Beschreibung der Funktionen Aufbau einer DPMCL2-Applikation DPMCL2-Zusatzinformationen Checkliste für Programmierer Glossar...
  • Seite 2 Wir weisen darauf hin, daß der Inhalt dieser Betriebsanleitung nicht Teil einer früheren oder bestehenden Vereinbarung, Zusage oder eines Rechtsverhältnisses ist oder diese abändern soll. Sämtliche Verpflichtungen von Siemens ergeben sich aus dem jeweiligen Kaufvertrag, der auch die vollständige und allein gültige Gewährleistungsregel enthält. Diese vertraglichen Gewährleistungsbestimmungen werden durch die Ausführungen dieser Betriebsanleitung weder erweitert...
  • Seite 3 Inhaltsverzeichnis Hinweis Das unten gezeigte Inhaltsverzeichnis enthält zur besseren Übersicht nur Überschriften bis zur zweiten Gliederungsebene. Ein detailliertes Kapitelinhaltsverzeichnis befindet sich auf der jeweils ersten Seite jeden Kapitels. Einführung ........................5 Einordnung.......................6 Leistungsmerkmale der Programmierschnittstelle..........7 Beschreibung der Funktionen ...................9 Einführung......................10 Anmelden einer DPMCL2-Applikation - dp_mcl2_init........12 Abmelden einer DPMCL2-Applikation - dp_mcl2_reset........14 Abholen einer Auftragsquittung - dp_mcl2_get_event ........15 DP-MCL2-Referenz erzeugen - dp_mcl2_get_cl2ref ........18...
  • Seite 4 Benutzerhinweise Wegweiser Die Dokumentation DPMCL2-Programmierschnittstelle besteht aus Dokumentation zwei Teilen: • Dieses Handbuch „ DPMCL2-Programmierschnittstelle “ • Handbuch „DP-Programmierschnittstelle (Zyklische Kommunikati- on)“ Zeichen im Text Im Text ist folgendes Zeichen enthalten. Dieses Zeichen macht Sie auf Besonderheiten und Gefahren auf- merksam.
  • Seite 5 Einführung vorliegenden Beschreibung wird DPMCL2-Programmierschnittstelle dargestellt. Mit dieser Programmierschnittstelle kann ein Anwenderprogramm die für einen DP-Master der Klasse 2 vorgesehenen Dienste nutzen. Der DP-Master Klasse 2 erfüllt Konfigurations- und Diagnoseaufgaben. Die DPMCL2-Programmierschnittstelle besteht aus Funktionen der Programmiersprache C, die zu einer Library (DLL) gruppiert sind. Das folgende Kapitel gibt Ihnen eine Übersicht über die Leistungsmerkmale der DPMCL2-Programmierschnittstelle.
  • Seite 6 Einführung Einordnung DP-Master Klasse 1 Der DP-Master Klasse 1 führt die zyklische Kommunikation zu den DP-Slaves aus. Die Kommunikation enthält zentrale Funktionen wie: • Parametrierung und Konfigurierung der Slaves • zyklischer Datentransfer zu den DP-Slaves • Überwachen der DP-Slaves • Bereitstellen von Diagnoseinformationen DP-Master Klasse 2 Über die DPMCL2-Programmierschnittstelle kann ein DP-Master Klas- se 2 Konfigurations- und Online-Diagnose durchführen.
  • Seite 7 Einführung Leistungsmerkmale der Programmierschnittstelle Namensgebung Die Namen der Funktionen und Datenkomponenten orientieren sich an der DP-Spezifikation. Mono-User-Betrieb Die Programmierschnittstelle ist für den Aufruf in einem Thread inner- halb eines Anwendungsprogrammes ausgelegt. Multi-User- und Multi- Board-Betrieb (mehrere CPs in einem PC) sind nicht möglich. Der parallele Betrieb von MCL1 und MCL2 auf einem PC ist nicht zulässig.
  • Seite 8 Einführung DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 9 Beschreibung der Funktionen In diesem Kapitel werden die zur Verfügung stehenden administrativen und produktiven Funktionen der DPMCL2-Programmierschnittstelle beschrieben. Inhalt Kapitel Einführung......................10 Anmelden einer DPMCL2-Applikation - dp_mcl2_init........12 Abmelden einer DPMCL2-Applikation - dp_mcl2_reset........14 Abholen einer Auftragsquittung - dp_mcl2_get_event ........15 DP-MCL2-Referenz erzeugen - dp_mcl2_get_cl2ref ........18 Profibusadresse aus Referenz extrahieren - dp_mcl2_get_adr_from_cl2ref..19 Slave-Diagnosedaten abholen - dp_mcl2_slv_diag.........20 2.7.1...
  • Seite 10 Beschreibung der Funktionen Einführung Funktionen Die DPMCL2-Programmierschnittstelle besteht aus einer Anzahl von C-Funktionen: • Administrative Funktionen • Produktive Funktionen Administrative Die folgende Tabelle zeigt die zusätzlichen Funktionen für Administra- tive Funktionen. Funktionen Administrative Beschreibung Funktionen dp_mcl2_init Anmeldung eines MCL2-Anwenderpro- gramms an der Schnittstelle dp_mcl2_reset Abmeldung eines Anwenderprogramms an der Schnittstelle...
  • Seite 11 Beschreibung der Funktionen Darstellungs- Die folgende Tabelle beschreibt die Bedeutung der besonderen Dar- stellungen in den nachfolgenden Programmbeispielen der Funktionen: konventionen Darstellung Bedeutung // in Der Wert wird vom Anwenderprogramm als Input an die DPMCL2-Programmierschnittstelle zur Verfügung gestellt. // out Der Wert wird von der DP MCL2- Programmierschnittstelle an das Anwenderprogramm zurückgegeben.
  • Seite 12 Beschreibung der Funktionen Anmelden einer DPMCL2-Applikation - dp_mcl2_init Zweck Mit dieser Funktion muß sich eine DPMCL2-Applikation an der DP-Schnittstelle anmelden. Dieser Aufruf muß vor allen anderen DPMCL2-Funktionen abgesetzt werden. Syntax unsigned short dp_mcl2_init( unsigned char board_select, //in REFERENCE *reference, //out unsigned char master_address) //in Hinweis...
  • Seite 13 Beschreibung der Funktionen Parameter Parametername Beschreibung board_select Nummer des Zugangspunktes, über den die Kommunikation er- folgen soll Im Element board_select wird die Nummer des Zugangspunktes ein- getragen. Wenn beispielsweise der Zugangspunkt CP_L2_1 benutzt werden soll, muß eine 1 eingetragen werden. Weitere Informationen finden Sie im Kapitel 4.2, „Abbildung der Boards“, Seite 53.
  • Seite 14 Beschreibung der Funktionen Abmelden einer DPMCL2-Applikation - dp_mcl2_reset Zweck Mit dieser Funktion muß sich eine DPMCL2-Applikation an der DP-Schnittstelle abmelden. Diese Funktion muß als letzter DPMCL2- Aufruf ausgeführt werden. Syntax unsigned short dp_mcl2_reset ( REFERENCE *reference) //in Hinweis Diese Funktion ist synchron. Parameter Parametername Beschreibung...
  • Seite 15 Beschreibung der Funktionen Abholen einer Auftragsquittung - dp_mcl2_get_event Zweck Diese Funktion holt die Quittung eines zuvor abgesetzten asynchro- nen Auftrags zurück. dp_mcl2_get_event prüft dabei, ob eine Quittung vorhanden ist und kehrt immer sofort zurück. Der Anwender muß diese Funktion eventuell mehrmals (ggf. timer-gesteuert) aufrufen, bis die Antwortdaten vorhanden sind.
  • Seite 16 Beschreibung der Funktionen Parameter Parametername Beschreibung Cl2_Ref Das Element „Cl2_Ref“ spezifiziert den Netzzugang Das Element Cl2_Ref spezifiziert den Netzzugang und wird durch die Funktion dp_mcl2_get_cref(ret_ptr, 0xFF) erzeugt. event_type_ptr Adresse einer vom Anwenderprogramm bereitgestellten Vari- ablen Nach erfolgreichem Abschluß der Funktion enthält die Variable den Typ des empfangenen Events.
  • Seite 17 Beschreibung der Funktionen Return-Werte Name Beschreibung DP_MCL2_OK Erfolgreicher Abschluß der Funktion. Es wurde eine Quittung empfangen. Die Werte in *event_type_ptr, *orderid_ptr und *request _ptr sind gültig und identifizieren den Auftrag. DP_MCL2_ERROR_EVENT Es wurde eine negative Quittung empfangen. Die Werte in *event_type_ptr, *orderid_ptr und *request_ptr sind gültig und identifizieren den Auftrag.
  • Seite 18 Beschreibung der Funktionen DP-MCL2-Referenz erzeugen - dp_mcl2_get_cl2ref Zweck Diese Funktion legt aus der DP-Referenz und der remote Master- oder Slave-Adresse die Referenz für die DPMCL2-Kommunikation zu ei- nem bestimmten Master oder Slave fest. Diese Referenz muß bei den weiteren DPMCL2-Funktionen zu einem Master/Slave angegeben wer- den.
  • Seite 19 Beschreibung der Funktionen Profibusadresse aus Referenz extrahieren - dp_mcl2_get_adr_from_cl2ref Zweck Diese Funktion ermittelt aus der C-Referenz die zugehörige Master-/ Slave-Adresse. Syntax unsigned short dp_mcl2_get_adr_from_cl2ref( unsigned long Cl2_Ref, //in unsigned char *adr_ptr) //inout Parameter Parametername Beschreibung Cl2_Ref DPMCL2-Kommunikationsreferenz zu einem bestimmten Mas- ter-Slave.
  • Seite 20 Beschreibung der Funktionen Slave-Diagnosedaten abholen - dp_mcl2_slv_diag Zweck Mit dieser Funktion werden die Diagnosedaten eines Slave ausgele- sen. Sie wird benutzt, um Diagnosedaten von einem Slave anzufor- dern, der von einem anderen Master parametriert wurde. Syntax unsigned short dp_mcl2_slv_diag( unsigned short orderid, //in struct dp_mcl2_slv_diag_rb *request_ptr //inout)
  • Seite 21 Beschreibung der Funktionen 2.7.1 Struktur von dp_mcl2_slv_diag_rb Struktur Das nachfolgende Programmbeispiel zeigt die Struktur von dp_mcl2_slv_diag_rb: struct dp_mcl2_slv_diag_rb unsigned long Cl2_Ref; //in unsigned char *Diag_s; //out unsigned char Length_s; //inout struct dp_mcl2_error error; //out Erläuterung In der nachfolgenden Tabelle werden die Strukturelemente der Struk- tur von dp_mcl2_slv_diag beschreiben: Strukturelement Beschreibung...
  • Seite 22 Beschreibung der Funktionen Master-Diagnosedaten abholen - dp_mcl2_mst_diag Zweck Mit dieser Funktion werden die in einem DP-Master Klasse 1 hinter- legten Diagnosedaten ausgelesen. Sie wird benutzt, um Diagnoseda- ten direkt vom DP-Master Klasse 1 oder von ihm zugeordneten Slaves anzufordern. Syntax unsigned short dp_mcl2_mst_diag( unsigned short orderid, //in...
  • Seite 23 Beschreibung der Funktionen 2.8.1 Struktur von dp_mcl2_mst_diag_rb Struktur Das nachfolgende Programmbeispiel zeigt die Struktur von dp_mcl2_mst_diag_rb: struct dp_mcl2_mst_diag_rb unsigned long Cl2_Ref; //in unsigned char* Diag_m; //out unsigned char Length_m; //inout unsigned char Identifier; //in struct dp_mcl2_error error; //out Erläuterung In der nachfolgende Tabelle werden die Strukturelemente der Struktur von dp_mcl2_mst_diag beschrieben.
  • Seite 24 Beschreibung der Funktionen Hinweis Informationen zu Format und Bedeutung der empfangenen Diagnose- daten eines DP-Slaves können Sie dem DP-Handbuch „DP-Programmierschnittstelle (zyklische Kommunikation)“ entnehmen. Das Format der Diagnosedaten des DP-Masters wird im Kapitel 4.3 beschrieben. DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 25 Beschreibung der Funktionen Slave-Eingänge lesen - dp_mcl2_in_slv_inp Zweck Mit dieser Funktion wird ein Abbild der Eingänge eines DP-Slave gele- sen. Sie wird benutzt, um über die Eingänge eines Slave zu lesen, der sich schon im Nutzdatenbetrieb befindet. Syntax unsigned short dp_mcl2_in_slv_inp( unsigned short orderid, //in struct dp_mcl2_in_slv_inp_rb *request_ptr)
  • Seite 26 Beschreibung der Funktionen Return-Werte Name Beschreibung DP_MCL2_OK Erfolgreicher Abschluß der Funktion. andere Fehlerhafter Abschluß der Funktion; siehe Kapitel 4.1, „Fehlerauswertung“, Seite 46. DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 27 Beschreibung der Funktionen 2.9.1 Struktur von dp_mcl2_in_slv_inp_rb Struktur Das nachfolgende Programmbeispiel zeigt die Struktur von dp_mcl2_in_slv_inp_rb: struct dp_mcl2_in_slv_inp_rb unsigned long Cl2_Ref; //in unsigned char* Data_s; //out unsigned char Length_s; //inout struct dp_mcl2_error error; //out Erläuterung In der nachfolgende Tabelle werden die Strukturelemente der Struktur von dp_mcl2_in_slv_inp beschrieben.
  • Seite 28 Beschreibung der Funktionen 2.10 Slave-Ausgänge lesen - dp_mcl2_in_slv_outp Zweck Mit dieser Funktion wird ein Abbild der Ausgänge eines DP-Slave ge- lesen. Sie wird benutzt, um über die Ausgänge eines Slave zu lesen, der sich schon im Nutzdatenbetrieb befindet. Syntax unsigned short dp_mcl2_in_slv_outp( unsigned short orderid, //in struct dp_mcl2_in_slv_outp_rb *request_ptr)
  • Seite 29 Beschreibung der Funktionen Return-Werte Name Beschreibung DP_MCL2_OK Erfolgreicher Abschluß der Funktion. andere Fehlerhafter Abschluß der Funktion; siehe Kapitel 4.1, „Fehlerauswertung“, Seite 46. DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 30 Beschreibung der Funktionen 2.10.1 Struktur von dp_mcl1_in_slv_outp_rb Struktur Das nachfolgende Programmbeispiel zeigt die Struktur von dp_mcl2_in_slv_outp_rb: struct dp_mcl2_in_slv_outp_rb unsigned long Cl2_Ref; //in unsigned char* Data_s; //out unsigned char Length_s; //inout struct dp_mcl2_error error; //out Erläuterung In der nachfolgende Tabelle werden die Strukturelemente der Struktur von dp_mcl2_in_slv_outp beschrieben.
  • Seite 31 Beschreibung der Funktionen 2.11 Slave-Konfigurationsdaten lesen - dp_mcl2_get_config Zweck Diese Funktion erlaubt es dem Anwender, die Konfigurationsdaten eines DP-Slave auszulesen. Syntax unsigned short dp_mcl2_get_config( unsigned short orderid, //in struct dp_mcl2_get_config_rb *request_ptr) //inout Achtung Bitte beachten Sie: Es muß unbedingt sichergestellt sein, daß der Speicher des Auftragsblocks und der Datenpuffer zum Zeitpunkt des dp_mcl2_get_event noch bestehen.
  • Seite 32 Beschreibung der Funktionen Return-Werte Name Beschreibung DP_MCL2_OK Erfolgreicher Abschluß der Funktion. andere Fehlerhafter Abschluß der Funktion; siehe Kapitel 4.1, „Fehlerauswertung“, Seite 46. DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 33 Beschreibung der Funktionen 2.11.1 Struktur von dp_mcl2_get_config_rb Struktur Das nachfolgende Programmbeispiel zeigt die Struktur von dp_mcl2_get_config_rb: struct dp_mcl2_get_config_rb unsigned long Cl2_Ref; //in unsigned char* Data_s; //out unsigned char Length_s; //inout struct dp_mcl2_error error; //out Erläuterung In der nachfolgende Tabelle werden die Strukturelemente der Struktur von dp_mcl2_get_config beschrieben.
  • Seite 34 Beschreibung der Funktionen 2.12 Slave-Adresse setzen - dp_mcl2_set_slv_address Zweck Diese Funktion ermöglicht dem Anwender, die Adresse eines DP-Slave zu verändern. Zugleich wird die Ident_Number an den Slave übertragen. Die Stationsadresse wird nur dann geändert, wenn diese Ident_Number mit der Ident_Number des Gerätes übereinstimmt. Die Ident_Number ist ein eindeutiger Bezeichner, der einem Slave-Typ zugeordnet ist.
  • Seite 35 Beschreibung der Funktionen Parameter Parametername Beschreibung orderid Vom Anwendungsprogramm frei vergebbare Kennung für den Auf- trag. Diese Kennung wird in der asynchronen Quittung unverändert zurückgegeben und kann dafür benützt werden, die Quittung dem Auftrag zuzuordnen. request_ptr Adresse des vom Anwenderprogramm bereitgestellten Auftrags- block.
  • Seite 36 Beschreibung der Funktionen 2.12.1 Struktur von dp_mcl2_set_slv_address_rb Struktur Das nachfolgende Programmbeispiel zeigt die Struktur von dp_mcl2_set_slv_address_rb: struct dp_mcl2_set_slv_address_rb unsigned long Cl2_Ref; //in unsigned char* Data_s; //in unsigned char Length_s; //in unsigned char new_slv_add; //in unsigned char no_add_chg; //in unsigned short ident_number; //in struct dp_mcl2_error error;...
  • Seite 37 Aufbau einer DPMCL2-Applikation Sie erfahren in diesem Kapitel: • wofür eine Datenbasis benötigt wird • wie eine DPMCL2 Applikation aufgebaut sein kann • wie Aufrufsequenzen von DPMCL2 Diensten aussehen können Inhalt Kapitel Voraussetzungen....................38 So bauen Sie eine DPMCL2-Applikation auf ...........40 Beispielprogramm für den Aufruf eines Dienstes ..........43 DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 38 Aufbau einer DPMCL2-Applikation Voraussetzungen Datenbasis Um DP-Master Klasse 2-Dienste nutzen zu können, muß bei der Kon- figuration des Systems eine DP-Datenbasis angegeben werden. Die Konfiguration des Systems wird mit dem Programm „PG/PC Schnitt- stelle einstellen“ in der Systemsteuerung durchgeführt. Aus der Datenbasis werden die Busparameter (u. a. die Datenübertra- gungsrate) gewonnen.
  • Seite 39 Aufbau einer DPMCL2-Applikation Erläuterung Eine DP-Datenbasis kann mit dem COM PROFIBUS erzeugt werden. Es ist ausreichend, wenn eine Datenbasis erzeugt wird, die nur den Master Klasse 1 und die Busparameter enthält. Es ist nicht erforder- lich, daß alle Slaves der Anlage eingetragen sind. Alternativ können Sie auch die vorhandene Datenbasis Ihrer Anlage verwenden, wenn diese im LDB-Format vorliegt.
  • Seite 40 Aufbau einer DPMCL2-Applikation So bauen Sie eine DPMCL2-Applikation auf Vorgehensweise Im folgenden Abschnitt wird die prinzipielle Aufbau einer DP-Master- Klasse-2-Applikation dargestellt. Schritt Beschreibung Include-Files und Libs einbinden Variablen anlegen Anmelden an der DP-LIB Referenz auf Slave ermitteln Absetzten des DPMCL2-Auftrags Abholen der Antwort Auswerten des Events Abmelden von der DP-LIB...
  • Seite 41 Aufbau einer DPMCL2-Applikation Schritt 4 Referenz auf Slave ermitteln Um einen bestimmten Slave anzusprechen wird eine slave-spezifische CL2-Referenz benötigt: cl2_ref = dp_mcl2_get_cl2ref (&reference, slv_addr); Schritt 5 Absetzen des DPMCL2-Auftrags // Vorbelegen des Requestblocks: tdp_mcl2_slv_diag_rb.Cl2_Ref = cl2_ref; tdp_mcl2_slv_diag_rb.Length_s = DEF_BUF_LENGTH; tdp_mcl2_slv_diag_rb.Diag_s = buffer; result=dp_mcl2_slv_diag (order_id, &tdp_mcl2_slv_diag_rb);...
  • Seite 42 Aufbau einer DPMCL2-Applikation Schritt 7 Auswerten des Events Anschließend erfolgt das Auswerten des Events und der gelesenen Daten. Schritt 8 Abmelden von der DP-LIB Vor dem Beenden der Applikation ist ein Abmelden erforderlich: dp_mcl2_reset(&reference); Achtung Bitte beachten Sie: Prüfen Sie die Rückgabewerte der DPMCL2-Funktionen auf mög- licherweise aufgetretene Fehler.
  • Seite 43 Aufbau einer DPMCL2-Applikation Beispielprogramm für den Aufruf eines Dienstes Einleitung Dieses Kapitel zeigt in Programmausschnitten das Beispiel einer Auf- rufsequenz für einen DPMCL2-Dienst. Es besteht aus folgenden Pro- grammabschnitten: • Programmbeginn • Initialisierung • Referenz anlegen • Variablen initialisieren • Dienst und Antwort •...
  • Seite 44 Aufbau einer DPMCL2-Applikation Variablen Variablen für DPMCL2-Dienst initialisieren: initialisieren orderid = 1; tDp_mcl2_slv_diag_rb.Cl2_Ref = cl2_ref; tDp_mcl2_slv_diag_rb.Length_s = DEF_BUF_LENGTH; tDp_mcl2_slv_diag_rb.Diag_s = buffer; request_ptr = &tDp_mcl2_slv_diag_rb; event_type = DP_MCL2_NO_CONFIRMATION Dienst und Dienst absetzen und auf Antwort warten: Antwort if (dp_mcl2_slv_diag (orderid, &tDp_mcl2_slv_diag_rb) == DP_MCL2_OK) dp_mcl2_get_event(cl2_ref,&event_type,&order_id,&re quest_ptr);...
  • Seite 45 DPMCL2-Zusatzinformationen Sie erfahren in diesem Kapitel: • die Bedeutung der Fehlerzellen und wie sie ausgewertet werden • Formate der Diagnosedaten des Masters Klasse 1 • allgemeine Informationen zu den Betriebssystemen Inhalt Kapitel Fehlerauswertung ...................46 4.1.1 Einträge in das Strukturelement Error_Code...........48 4.1.2 Einträge in die Strukturelemente Error_Decode, Error_Code_1, und Error_Code_2....................51...
  • Seite 46 DPMCL2-Zusatzinformationen Fehlerauswertung Zweck Die Fehlerkennung für die einzelnen Aufträge benutzen die einheitliche Struktur dp_mcl2_error. Die verschiedenen Elemente geben im Feh- lerfall die genaue Beschreibung der Fehlerursache zurück. Syntax struct dp_mcl2_error unsigned char Error_Decode; unsigned char Error_Code_1; unsigned char Error_Code_2; unsigned short Error_Class; unsigned short Error_Code;...
  • Seite 47 DPMCL2-Zusatzinformationen Vorgehensweise Die folgende Tabelle zeigt, welche Einträge ein Auftrag in das Strukturelement Error_Class zurückgeliefert. bei der Fehlerauswertung Gegebenenfalls sind weitere Informationen auswertbar: • im Strukturelemente Error_Code. • in den drei Strukturelementen Error_Decode und Error_Code_1. Beschreibung, Die nachfolgende Tabelle 4-1 beschreibt die Einträge im Strukturele- Tabelle 4-1 ment Error_Class.
  • Seite 48 DPMCL2-Zusatzinformationen 4.1.1 Einträge in das Strukturelement Error_Code Beschreibung, Die nachfolgende Tabelle 4-2 beschreibt die Einträge im Strukturele- ment Error_Code. Sie gehören zur Fehlerkodierung der Klasse Tabelle 4-2 DP_MCL2_ERROR_REQUEST_PARAM. Eintrag in Error_Code Beschreibung DP_MCL2_ERROR_BOARD_REF Die übergebene Board Referenz ist nicht gültig. DP_MCL2_ERROR_Cl2_REF Die im Auftrags-Requestblock übergebene CL2- Referenz ist nicht (mehr) gültig.
  • Seite 49 Überprüfen Sie Ihre Konfiguration. SUCCESSFUL SCP_RECEIVE_NOT_ Überprüfen Sie Ihre Konfiguration. SUCCESSFUL SCP_NO_DEVICE_ Überprüfen Sie Ihre Konfiguration. AVAILABLE Nähere Informationen finden Sie in der Frageliste zu Ihrem Produkt (FAQ) bzw. bei Ihrem Siemens-Ansprechpartner. Tabelle 4-3 Fehlerkodierung der Klasse DP_MCL2_ERROR_BOARD_ACCESS DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 50 DPMCL2-Zusatzinformationen Beschreibung, Die nachfolgende Tabelle 4-4 beschreibt die Einträge im Strukturele- ment Error_Code. Sie gehören zur Fehlerkodierung der Klasse Tabelle 4-4 DPC2_ERROR_INT_RESOURCE . Eintrag in Error_Code Beschreibung DP_MCL2_RES_USR_LIMIT Listenplatz besetzt, User hat sich bereits ange- meldet DP_MCL2_RES_REQ_LIMIT Insgesamt zu viele Requests DP_MCL2_ERROR_MEMORY Speicherproblem DP_MCL2_REQ_OVERRUN...
  • Seite 51 DPMCL2-Zusatzinformationen 4.1.2 Einträge in die Strukturelemente Error_Decode, Error_Code_1, und Error_Code_2 Tabelle 4-5 Die nachfolgende Tabelle 4-5 beschreibt die Einträge im Strukturele- ment Error_Decode. Sie gehören zur Fehlerkodierung der Klasse DP_MCL2_ERROR_EVENT. Überprüfen Sie bei Auftreten derartiger Fehler die korrekte Installation und Konfiguration der Software. Eintrag in Error_Decode Beschreibung DP_MCL2_ERR_V1C_REQ_WITHDRAW...
  • Seite 52 DPMCL2-Zusatzinformationen Tabelle 4-6 Die nachfolgende Tabelle 4-6 beschreibt die Einträge im Strukturele- ment Error_Code_1. Sie gehören zur Fehlerkodierung der Klasse DP_MCL2_ERROR_EVENT . Eintrag in Error_Code_1 Beschreibung DPMC_LL_STATUS_NA Negative Quittung, Layer-2-Fehler DPMC_LL_STATUS_RR Negative Quittung, Betriebsmittel der remote FDL-Steuerung nicht verfügbar. DPMC_LL_STATUS_RS Negative Quittung, Netto-Datenlänge, Quelladresse, Quell-SAP oder Dienst beim remote-LSAP nicht zu- lässig oder remote-LSAP nicht aktiviert.
  • Seite 53 DPMCL2-Zusatzinformationen Abbildung der Boards Baugruppe Bei der Funktion dp_mcl2_init wird im Parameter „board_select“ eine Kommunikationsbaugruppe ausgewählt. Der Wertebereich ist 1,2,3,4. Logischer Name Unter den Windows-Betriebssystemen wird diese Nummer auf einen logischen Namen abgebildet. Der logische Namen wird mit Hilfe des Software-Werkzeugs „PG/PC-Schnittstelle einstellen“...
  • Seite 54 DPMCL2-Zusatzinformationen Formate der Diagnosedaten des Masters Klasse 1 Zweck In diesem Kapitel wird das Format der Diagnosedaten der Funktion dp_mcl2_mst_diag aus Kapitel 2.8 beschrieben. DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 55 DPMCL2-Zusatzinformationen 4.3.1 Format der Systemdignosedaten Beschreibung Die nachfolgende Tabelle beschreibt das Format der Diagnosedaten der Funktion dp_mcl2_mst_diag, Struktur dp_mcl2_mst_diag_rb, Ele- ment Diag_m beim Wert „Systemdiagnose vom Master Kasse 1“ (126) des Elements „Identifier“ (siehe Kapitel 2.8). Byte Wert Bedeutung Slave 0 hat keine erweiterte Diagnose gemeldet.
  • Seite 56 DPMCL2-Zusatzinformationen 4.3.2 Format der Master-Statusdaten Beschreibung Die nachfolgende Tabelle beschreibt das Format der Diagnosedaten der Funktion dp_mcl2_mst_diag, Struktur dp_mcl2_mst_diag_rb, Ele- ment Diag_m beim Wert „Master-Status“ (127) des Elements „Identi- fier“ (siehe Kapitel 2.8). Byte Bedeutung Zustand des Masters Klasse 1 –...
  • Seite 57 DPMCL2-Zusatzinformationen 4.3.3 Format der Data-Transfer-Liste Beschreibung Die nachfolgende Tabelle beschreibt das Format der Diagnosedaten der Funktion dp_mcl2_mst_diag, Struktur dp_mcl2_mst_diag_rb, Ele- ment Diag_m beim Wert „Data-Transfer-Liste“ (128) des Elements „Identifier“ (siehe Kapitel 2.8). Byte Wert Bedeutung Slave 0 nimmt nicht im produktiven Datenaustausch teil.
  • Seite 58 DPMCL2-Zusatzinformationen Besonderheiten des Betriebssystems 4.4.1 Unterstützte Betriebssysteme und Compiler Betriebssysteme, Nähere Informationen können Sie der Frageliste (FAQ) des Produkts Compiler entnehmen. DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...
  • Seite 59 Checkliste für Programmierer Bitte beachten Sie folgende Programmierhinweise beim Erstellen von Anwender- applikationen mit der DPMCL2-Programmierschnittstelle. Programmstruktur Überprüfen Sie Ihre Programmstruktur auf folgende Punkte: • Beginnen Sie Ihre Applikation mit einem dp_mcl2_init und beenden Sie diese in allen Fällen mit einem dp_mcl2_reset. •...
  • Seite 60 Checkliste für Programmierer Sonstiges Weiterhin sollten Sie folgende Punkte beachten: • Gehen Sie in Ihrem Programm davon aus, daß „Reserved“- Vorgabe- und Rückgabeparameter künftig für Erweiterungen be- nutzt werden. Belegen Sie „Reserved“-Elemente mit einem Default- Wert (0) vor. • In Bit-orientierten Rückgabeparametern sind Reserved-Bits eben- falls für künftige Erweiterungen vorgesehen.
  • Seite 61 DIN E 19245 Teil 3 bzw. EN 50170. MCL1 Master Klasse 1 Master Klasse 2 MCL2 SIMATIC Siemens Automatisierungssystem SIMATIC Netzwerkarchitektur für Automatisierung und Engineering - SIMATIC NET Es gibt drei Ausprägungen dieser Architektur: • SIMATIC NET Industrial Ethernet • SIMATIC NET PROFIBUS •...
  • Seite 62 Glossar DPMCL2-Programmierschnittstelle C79000-B8900-C121-04...