Informationen zu PN_IN, PN_OUT und PN_DP (S7-300, S7-400) - STEP 7

PROFINET CBA (S7-300, S7-400)

ft:publication_title
PROFINET CBA (S7-300, S7-400)
Product
STEP 7
Version
V20
Publication date
11/2024
Language
de-DE
Informationen zu PN_IN, PN_OUT und PN_DP

Hinweis

Das Betriebssystem aktualisiert defaultmäßig sowohl die PROFINET CBA-Komponente als auch die DP-Verschaltungen am Zykluskontrollpunkt. Falls Sie jedoch diese automatischen Aktualisierungen bei der Projektierung abgeschaltet haben (z. B. um das Zeitverhalten der CPU besser beeinflussen zu können), müssen Sie die Aktualisierungen selbst vornehmen. Dies geschieht durch Aufruf der Anweisungen "PN_IN", "PN_OUT" und "PN_DP" zu geeigneten Zeitpunkten. Die genannten Aktualisierungen können bei der Projektierung nur gemeinsam abgeschaltet werden.

Schattenspeicher

Der Interface-DB ist die Anwenderprogramm-Schnittstelle der PROFINET CBA-Komponente. Um zu gewährleisten, dass seine Ein- und Ausgänge beim Ablauf der zugehörigen Anwenderprogrammteile konsistent sind, gibt es zu jedem Interface-DB einen vom Betriebssystem verwalteten identisch aufgebauten Speicherbereich, den so genannten Schattenspeicher. Sie können in Ihrem Programm nur auf den Interface-DB zugreifen, wobei andere (externe) PROFINET CBA-Komponenten nur auf den Schattenspeicher zugreifen können. Dadurch wird ein Zugriffskonflikt auf die Ein- und Ausgänge des Interface-DB ausgeschlossen.

Aktualisierung der PROFINET CBA-Komponente

Aus der oben beschriebenen Realisierung der Datenkonsistenz mittels Schattenspeicher ergibt sich, dass die Aktualisierung der PROFINET CBA-Komponente aus folgenden zwei Aktionen besteht:

  • Kopieren der Eingänge des Schattenspeichers in die Eingänge des Interface-DB vor der Bearbeitung Ihres zur PROFINET CBA-Komponente gehörenden Programms

  • Kopieren der Ausgänge des Interface-DB in die Ausgänge des Schattenspeichers nach der Bearbeitung Ihres zur PROFINET CBA-Komponente gehörenden Programms

Die Aktualisierung der PROFINET CBA-Komponente erfolgt bei CPUs mit integrierter PROFINET-Schnittstelle entweder durch das Betriebssystem oder durch die Anweisungen "PN_IN" und "PN_OUT" (je nachdem, wie Sie beim Erstellen der PROFINET CBA-Komponente projektiert haben.). Im folgenden Bild ist die Aktualisierung durch die Anweisungen "PN_IN" und "PN_OUT" schematisch dargestellt.

Die systemseitige Aktualisierung erfolgt stets am Zykluskontrollpunkt.

Falls Sie die Aktualisierung hingegen über die Anweisungen "PN_IN" und "PN_OUT" vornehmen, dann rufen Sie "PN_IN" zu Beginn des OB, in dem das zur PROFINET CBA-Komponente gehörende Programm liegt, auf, und "PN_OUT" am Ende dieses OB. Dieser Sachverhalt ist im folgenden Bild am Beispiel des OB 30 dargestellt.

Hinweis

(mehrere PROFINET-Interface-DBs auf einem Gerät):

Bei Mutifunktionskomponenten gibt es die Möglichkeit, mit einem Auftrag (DBNO=0) sämtliche Interface-DBs zu aktualisieren (ähnlich der Aktualisierung am Zykluskontrollpunkt, lediglich per Anweisung getriggert). Tritt bei der Aktualisierung eines Interface-DB ein Fehler auf, wird die Aktualisierung der anderen Interface-DBs fortgeführt. Ein negativer RET_VAL bezieht sich auf einen der aktualisierten Interface-DBs.

Aktualisierung der DP-Verschaltungen

Die Aktualisierung der DP-Verschaltungen erfolgt entweder durch das Betriebssystem oder durch die Anweisung "PN_DP", je nachdem, wie Sie beim Erstellen der PROFINET CBA-Komponente projektiert haben.