Seite 2
Verfahren) ohne ausdrückliche Genehmigung reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. Inhaltliche Änderungen behalten wir uns ohne Ankündigung vor. Die SIGMATEK GmbH & Co KG haftet nicht für technische oder drucktechnische Fehler in diesem Handbuch und übernimmt keine Haftung für Schäden, die auf...
Seite 3
S-DIAS PROFINET I/O SLAVE IPN 021 S-DIAS Profinet I/O Slavemodul IPN 021 mit 1 Profinet I/O-IN 1 Profinet I/O-OUT Das S-DIAS Profinet I/O Slavemodul IPN 021 ist ein Interfacemodul zwischen S-DIAS-Steuerungssystem und PROFINET-Bus. 04.11.2020 Seite 1...
IPN 021 S-DIAS PROFINET I/O SLAVE Technische Daten Leistungsdaten Bus Controller Profinet I/O (lt. Profinet I/O Spezifikation V2.3) Ausführung 2x geschirmter Tyco Mini I/O Port Leitungslänge maximal 100 m zwischen zwei Stationen (Segmentlänge) 1 ms Minimale Zykluszeit 1440 Maximale Eingangsdaten...
Seite 7
S-DIAS PROFINET I/O SLAVE IPN 021 04.11.2020 Seite 5...
S-DIAS PROFINET I/O SLAVE IPN 021 Status LEDs Modul Status grün Modul aktiv Keine Versorgung vorhanden BLINKT (5 Hz) Keine Kommunikation User gelb Von Applikation einstellbar (z.B. kann die LED des Moduls über die Visualisierung blinkend eingestellt werden um die Modulfindung im Schaltschrank zu...
IPN 021 S-DIAS PROFINET I/O SLAVE Zu verwendende Steckverbinder Steckverbinder: X1, X2: Tyco Mini I/O Plug Type 1 Lock Extend Version (nicht im Lieferumfang enthalten) WICHTIG: Das S-DIAS Modul darf NICHT unter Spannung an- oder abgesteckt werden! X1 Profinet I/O-IN, X2 Profinet I/O-OUT (Tyco Mini I/O)
S-DIAS PROFINET I/O SLAVE IPN 021 ESD-Schutz Bevor Geräte am IPN 021 an- oder abgesteckt werden, sollte ein Potentialausgleich auf die Erdung erfolgen (Schaltschrank oder Erdungsanschluss berühren). So können elektrostatische Ladungen (durch Kleidung, Schuhwerk) abgebaut werden! Zugentlastung Das PROFINET-Kabel ist in der Nähe des Moduls zu befestigen (z.B. mittels Schelle)! Die Steckverbindung keiner mechanischen Belastung aussetzen! 04.11.2020...
IPN 021 S-DIAS PROFINET I/O SLAVE Montage Die S-DIAS Module sind für den Einbau im Schaltschrank vorgesehen. Zur Befestigung der Module ist eine Hutschiene erforderlich. Diese Hutschiene muss eine leitfähige Verbindung Schaltschrankrückwand herstellen. einzelnen S-DIAS Module werden aneinandergereiht in die Hutschiene eingehängt und durch Schließen der Rasthaken fixiert.
Seite 15
S-DIAS PROFINET I/O SLAVE IPN 021 Empfohlene Minimalabstände der S-DIAS Module zu umgebenden Komponenten bzw. der Schaltschrankwand: a, b, c … Abstände in mm (inch) 04.11.2020 Seite 13...
S-DIAS PROFINET I/O SLAVE IPN 021 Hardwareklasse IPN021 Hardwareklasse IPN021 für das S-DIAS-PROFINET-Interfacemodul IPN 021 Diese Hardwareklasse wird zum Ansteuern des Hardwaremoduls IPN 021 verwendet. Durch dieses Modul können Prozess- und Servicedaten mit einem PROFINET-Netzwerk ausgetauscht werden. Genauere Hardwareinformationen findet Moduldokumentation.
IPN 021 S-DIAS PROFINET I/O SLAVE Allgemein Class State State Dieser Server zeigt den aktuellen Status der Hardwareklasse an. Device ID State Auf diesem Server wird die Device-ID des Hardwaremoduls angezeigt. FPGA Version State FPGA-Version des Moduls im Format 16#XY (z.B. 16#10 = Version 1.0).
Seite 23
S-DIAS PROFINET I/O SLAVE IPN 021 Station Name State Zeigt den Stationsnamen des Moduls. Dieser String kann verändert werden und wird remanent gespeichert. Wenn die Änderung zur Laufzeit in die Konfiguration einfließen soll, müssen die Methoden UpdateStringsInConfig() und Reinitialize() aufgerufen werden nachdem die Strings angepasst wurden.
Seite 24
Property Modus für die Endian-Umwandlung (wird für Lese- und Schreibdaten Mode verwendet), welche in den meisten Fällen nötig ist, da SIGMATEK mit little endian und Siemens S7 z.B. mit big endian Bytereihenfolge arbeiten. Keine Endian-Umwandlung Endian-Umwandlung durch die Hardwareklasse (erhöht die Realtimelast abhängig von Anzahl/Größe der PDO Daten).
Die folgenden Methoden können über den Server ProfiNetIF aufgerufen werden. 9.2.1 GetPDOSizes Gibt die Größen der zyklischen Echtzeit-Lese- und Schreibdaten zurück. Die Parameterbezeichnungen sind aus Sicht der SIGMATEK-Applikation zu sehen (Read PDO bedeutet zyklische Daten vom Busmaster zum IPN021). Übergabeparameter Beschreibung...
IPN 021 S-DIAS PROFINET I/O SLAVE 9.2.2 GetPDOData Wenn der DeviceState den Wert NetX_Operate hat, können mit dieser Methode die Echtzeitdaten abgeholt werden, die vom Busmaster versandt wurden. Übergabeparameter Beschreibung pTargetMem PVOID Die aktuellen PDO-Daten vom Busmaster werden auf diesen Speicher kopiert. Mittels GetPDOSizes kann die Größe vorab ermittelt werden um sicherzugehen, dass der...
S-DIAS PROFINET I/O SLAVE IPN 021 9.2.4 AddSubModule Diese Methode muss in einer Init-Phase aufgerufen werden und definiert ein PROFINET Sub-Modul. Die Konfiguration des PROFINET Slaves IPN021 durch die Anwenderklasse muss mit der Konfiguration im PROFINET-Master übereinstimmen. Um auf einfache Weise einen linearen Speicher als PDO zu übertragen, wird empfohlen die Clients PDOReadSize...
IPN 021 S-DIAS PROFINET I/O SLAVE 9.2.5 InstallCallback Durch diese Methode kann ein Callback installiert werden, wodurch Anfragen oder Benachrichtigungen vom Busmaster an die Anwenderklasse weitergeleitet werden. Verwendung siehe Beispiel. Übergabeparameter Beschreibung pThis pVirtualBase This-Pointer des aufrufenden Objekts pFunction PVOID...
S-DIAS PROFINET I/O SLAVE IPN 021 9.2.7 SetProcessAlarm Löst am Profinet einen Prozessalarm aus. Übergabeparameter Beschreibung udAlarmHandle UDINT Der Benutzer kann hier einen beliebigen Wert vergeben, den er beim Callback mit den Antwortdaten wieder erhält für die Zuordnung des Alarms.
IPN 021 S-DIAS PROFINET I/O SLAVE 9.2.8 AddDiagnosisAlarm Fügt einen Diagnosealarm hinzu, welcher später ausgelöst werden kann. Übergabeparameter Beschreibung uiChannelNum UINT Kanalnummer für den der Diagnosealarm hinzugefügt werden soll. werden anwenderspezifische Kanalnummern von 0x0000 bis 0x7FFF sowie die Nummer 0x8000 für das Submodul an sich unterstützt.
S-DIAS PROFINET I/O SLAVE IPN 021 9.2.10 RemoveDiagnosisAlarm Entfernt einen zuvor hinzugefügten Diagnosealarm. Übergabeparameter Beschreibung udDiagHandle UDINT Hier wird das Handle verwendet, dass nach dem Anlegen des Diagnosealarms mittels AddDiagnosisAlarm beim Callback im Parameter Index übergeben wurde. Rückgabeparameter Beschreibung retcode DINT Erfolgreich ausgeführt...
IPN 021 S-DIAS PROFINET I/O SLAVE Beispiel: Verwendung des Callbacks Die folgenden Code-Beispiele verwenden mit „ToProfinet“ jeweils einen Objektkanal auf die Klasse NetXProfiNetInterface. Diese Klasse ist in die Klasse IPN021 integriert und über den Server ProfiNetIF nach außen geführt. Um einen Callback zu installieren (z.B. für asynchrone Lese- und Schreibanfragen vom PROFINET-Busmaster), wird folgender Aufruf verwendet: ToProfinet.InstallCallback(pThis:=this,...
Seite 33
S-DIAS PROFINET I/O SLAVE IPN 021 Dieses Kommando kommt, wenn Busmaster einen asynchronen Lesebefehl ausführt. Kommandospezifische Beschreibung der restlichen Parameter: Index: Frei verwendbar von den beiden kommunizierenden Applikationen um Lesenachrichten unterscheiden zu können. pLength: Zeiger auf maximale Länge der zu lesenden Daten. Falls weniger Daten zur Verfügung stehen, wird auf diesem Speicher die Anzahl der...
Seite 34
IPN 021 S-DIAS PROFINET I/O SLAVE 0 = Erfolgreich ausgeführt Andere mögliche Rückgabewerte können Profinet- Entwicklungsumgebung beim Parameter Status Bausteins WRREC nachgeschlagen werden. PROFINETX_CMD_ADD_DIAG_ALARM_RESULT: Dieses Kommando kommt als Antwort auf AddDiagnosisAlarm() Kommandospezifische Beschreibung der restlichen Parameter: Index: Auf diesem Parameter wird das Diagnosehandle zurückgegeben. Es wird...
Seite 35
S-DIAS PROFINET I/O SLAVE IPN 021 andere Fehlercodes können Headerfile NetXProfiNetErrorCodes.h nachgeschlagen werden. pStatus: wird bei diesem Kommando nicht benutzt PROFINETX_CMD_SET_DIAG_ALARM_RESULT: Dieses Kommando kommt als Antwort auf SetDiagnosisAlarm() Kommandospezifische Beschreibung der restlichen Parameter: Index: Auf diesem Parameter wird das Alarmhandle zurückgegeben, welches beim Aufruf von SetDiagnosisAlarm() übergeben wurde.
Seite 36
IPN 021 S-DIAS PROFINET I/O SLAVE pData: Zeiger auf den Speicher mit dem Fehlercode des Profinet-Bausteins. andere Fehlercodes können Headerfile NetXProfiNetErrorCodes.h nachgeschlagen werden. pStatus: Zeiger auf Returncode von Busmaster oder NIL, wenn ein Timeout aufgetreten ist. 0 = Erfolgreich ausgeführt Andere mögliche...
Seite 37
S-DIAS PROFINET I/O SLAVE IPN 021 Zeiger auf den Speicher mit dem Fehlercode des Profinet-Bausteins. andere Fehlercodes können Headerfile NetXProfiNetErrorCodes.h nachgeschlagen werden. pStatus: wird bei diesem Kommando nicht benutzt end_case; END_FUNCTION 04.11.2020 Seite 35...
ZipFile, welches an der IPN021-Klasse angehängt ist, in beliebigen Ordner entpacken. o Wie in der TIA-Hilfe unter GSD-Datei installieren beschrieben, installieren. o Beispiel (mit TIA): • IPN 021 im Gerätekatalog finden: Weitere Feldgeräte/PROFINET IO/I/O/Sigmatek GmbH Co KG/S-DIAS/ Seite 36...
S-DIAS PROFINET I/O SLAVE IPN 021 • Eingangs- und Ausgangsmodule einfügen 04.11.2020 Seite 37...
Seite 40
IPN 021 S-DIAS PROFINET I/O SLAVE Immer zuerst die Eingänge und dann die Ausgänge anlegen, da die HW-Klasse die Submodule auch in dieser Reihenfolge anlegt (unabhängig von den AddSubModule()-Aufrufen) Seite 38 04.11.2020...
In den unteren Zeitdiagrammen wird der Übertragungsweg für eine Frage-/Antwort- Übertragung vom Profinet Master zur SIGMATEK-CPU und zurück für den jeweiligen günstigsten und ungünstigsten Fall dargestellt. Der Profinet-Bus und das IPN 021-Modul sind nicht synchron zueinander. Dadurch kann sich der Zeitpunkt für die Übertragung am Profinet-Bus verschieben.
IPN 021 S-DIAS PROFINET I/O SLAVE 9.6.1 Detailansicht Timing IPN021 am lokalen S-DIAS-Bus 9.6.1.1 Timing im besten Fall Für den Bestfall wird eine Umkopierzeit des NetX-Chips von 700 µs angenommen. Damit der Dual Port Memory (DPM) jeden Zyklus ausgetauscht wird, muss der Isochrone Startzeitpunkt (Einstellwert „IsoStartPoint“...
Seite 43
S-DIAS PROFINET I/O SLAVE IPN 021 04.11.2020 Seite 41...
Seite 44
IPN 021 S-DIAS PROFINET I/O SLAVE 1. Die Daten werden vom Profinet Master auf dem Profinet-Bus gesendet. 2. Diese Daten werden vom Profinet-Bus im NetX Profinet-Stack empfangen. 3. Sobald der Dual Port Memory durch Invertieren des Handshake-Flags von der Hardwareklasse freigegeben wurde, werden die Daten vom NetX-Chip umkopiert.
SdiasPLC Hardwareklasse). Das Handshake Flag zum Freigeben des DPM wird beim nächsten Lesevorgang am S-DIAS-Bus übergeben. Die Daten sind somit erst einen Zyklus später in der Sigmatek-CPU verfügbar. Zusätzlich entsteht durch den ungünstigen Zeitpunkt des Sendens der Daten am Profinet-Bus, eine Verzögerung der Übertragung (ist bei Punkt 1-3 ersichtlich).
IPN 021 S-DIAS PROFINET I/O SLAVE 9.6.2 Detailansicht Timing S-DIAS hinter VARAN 9.6.2.1 Timing im besten Fall Für den Bestfall wird eine Umkopierzeit des NetX-Chips von 700 µs angenommen. Der Dual Port Memory (DPM) kann bestenfalls jeden zweiten Zyklus ausgetauscht werden, weil das Übertragen des Handshake-Bits über den VARAN-Bus einen Zyklus zusätzlich...
Seite 47
S-DIAS PROFINET I/O SLAVE IPN 021 1. Die Daten werden vom Profinet-Master auf den Profinet-Bus gesendet. 2. Diese Daten werden vom Profinet-Bus im NetX Profinet-Stack empfangen. 3. Sobald der Dual Port Memory durch Invertieren des Handshake-Flags von der Hardwareklasse freigegeben wurde, werden die Daten vom NetX-Chip umkopiert.
Seite 48
VaranManager 1-3 Hardwareklasse). Das Handshake Flag zum Freigeben des DPM wird beim nächsten Lesevorgang am S-DIAS-Bus übergeben. Die Daten sind somit erst einen Zyklus später in der SIGMATEK-CPU verfügbar. Zusätzlich entsteht durch den ungünstigen Zeitpunkt des Sendens der Daten am Profinet-Bus eine Verzögerung der Übertragung (ist bei Punkt 1-3 ersichtlich).