Beitragstyp: FAQ, Beitrags-ID: 23629327, Beitragsdatum: 20.04.2012
(0)
Bewerten

Wie wird der SFB37 (AR_SEND) verwendet, um Prozesswerte in Archiven des WinCC Tag Logging prozessgesteuert zu archivieren?

  • Beitrag
  • Betrifft Produkt(e)

Anleitung
Mit dem SFB37 (AR_SEND) können ein oder mehrere Prozesswerte prozessgesteuert in Archive des WinCC-Tag Logging übertragen werden. Dazu werden die Prozesswerte mit den zugehörigen Zeitstempeln in einem entsprechenden Datenbereich gesammelt und dem AR_SEND-Baustein übergeben. Bei Eintreten eines vom Anwender festgelegten Ereignisses sendet der Baustein AR_SEND die Archivdaten in einem oder mehreren Datenblöcken an WinCC. Die empfangenen Rohdaten werden von WinCC in die entsprechenden Archive eingetragen. Zur Interpretation der Rohdaten benutzt WinCC die Normierungs-DLL "nrms7pmc.nll". Damit die Archivdaten richtig von den Funktionen der Normierungs-DLL interpretiert werden, müssen die Daten vor dem Versenden entsprechend dem von der Normierungs-DLL geforderten Datenformat aufbereitet werden. Das folgende Bild zeigt einen Überblick über die prozessgesteuerte Archivierung:


Bild 01

Hinweise

  • Die Normierungs-DLL führt keine Überprüfung bzgl. der Zeitfolgerichtigkeit der Daten durch. Das bedeutet, dass mit dem Baustein AR_SEND auch "alte" Prozesswerte archiviert werden können, auch wenn im Archiv bereits Daten mit neuerem Zeitstempel vorhanden sind.
  • Prozessgesteuerte Archivvariablen werden standardmäßig im Archiv "TagLoggingFast" gespeichert (s. auch Beitrags-ID 21738144). Beachten Sie die Einstellungen zur maximalen Größe und Zeitraum der Archivsegmente bzw. des gesamten Archivs. Die Einstellungen dazu werden im Editor Tag Logging unter "Archivkonfiguration" vorgenommen.

Um die prozessgesteuerte Archivierung mittels AR_SEND zu projektieren gehen Sie wie folgt vor:
 

Nr. Vorgehensweise
1 Klärung des Datenformates, der zu archivierenden Daten
Die Normierungs-DLL für das WinCC Tag Logging "nrms7pmc.nll" definiert für unterschiedliche Anwendungsfälle unterschiedliche Datenformate. So können bei einem AR_SEND-Sendevorgang die Daten von einer oder mehreren Prozessvariablen gesendet werden. Es können dabei zu einer Prozessvariablen ein oder mehrere Werte mit unterschiedlichen Zeitstempeln übertragen werden. Die Normierungs-DLL von WinCC unterscheidet verschiedene Methoden zur Datums-/Uhrzeitstempelung:
  • Prozesswerte mit äquidistanten Zeitabständen bei Vorgabe eines Startzeitwertes
  • Prozesswerte mit eigenem Zeitstempel für jeden Wert
  • Prozesswerte mit relativen Zeitdifferenzen zu einem Startzeitwert

Eine detaillierte Beschreibung über den Aufbau des zu übertragenden Datenblockes finden Sie in der WinCC Online-Hilfe unter "WinCC Information System > Kommunikation > SIMATIC S7 Protocol Suite > Sonderfunktionen > Datenaustausch mit S7-Funktionsbaustein AR_SEND".
Bild 02 zeigt den prinzipiellen Aufbau des Datenblocks, wenn mehrere zeitabhängige Prozesswerte mit zugehörigem Zeitstempel zu einer Prozessvariablen (Archivvariablen) übertragen werden.


Bild 02

2 Projektierung des AR_SEND-Sendebausteines im STEP 7-Projekt
Bild 03 zeigt den Baustein AR_SEND, wenn er aus der Bausteinbibliothek in einem CFC-Plan eingefügt wird. Er ist in diesem Fall nicht verschaltet, da dieses Bild lediglich zur Anzeige der am Baustein verfügbaren Ein- und Ausgänge dient. Bild 04 zeigt den entsprechenden AWL-Code.


Bild 03
 


Bild 04

Die Projektierung des AR_SEND in STEP 7 besteht aus folgenden Schritten:

  • Legen Sie den Datenbereich an, der die zu übertragenden Daten aufnehmen soll. Dieser Datenbereich muss von der Struktur her einem Format entsprechen, welches von der WinCC-Normierungs-DLL unterstützt wird. Dem Baustein AR_SEND wird dieser Datenbereich als ANY-Pointer am Eingang "SD_1" (ANY) übergeben. Am Eingang "LEN"(WORD) muss die Länge des zu übertragenden Datenbereiches in Byte hexadezimal angegeben werden.

    Hinweis
    Die im ANY-Pointer enthaltene Längenangabe wird vom Baustein AR_SEND nicht verwendet.

    Die "AR_ID"(DWORD) wird beim Einbau des AR_SEND-Bausteines vom System automatisch eindeutig vergeben und kann nicht geändert werden. Für den Eingang "ID"(WORD) wird beim Einbau im CFC defaultmäßig der Wert "W#16#EEEE" vergeben, dieser Wert darf nicht geändert werden. Beim Einbau des AR_SEND-Bausteines in einer AWL- oder SCL-Quelle müssen Sie diesen Wert manuell vergeben.
     
  • Programmieren Sie einen Programmteil, um den zu übertragenden Datenbereich zur Laufzeit mit den Prozesswerten zu füllen. Nachdem der Datenbereich vollständig mit gültigen Werten gefüllt ist, kann der Sendevorgang durch Auslösen einer positiven Flanke am Steuereingang "REQ"(BOOL) ausgelöst werden. Der Steuereingang "R"(BOOL) dient zum Abbrechen eines sich in Bearbeitung befindenden Sendeauftrages. Der Ausgang "DONE"(BOOL)zeigt an, dass der Sendevorgang abgeschlossen ist. Tritt während der Bearbeitung ein Fehler auf, wird dies am Ausgang "ERROR"(BOOL) angezeigt. Eine genauere Fehlerinformation ist im Fehlerfall im Ausgang "STATUS"(WORD)enthalten.

Informationen zum S7-Funktionsbaustein SFB37 (AR_SEND) erhalten Sie im Referenzhandbuch "Systemsoftware für S7-300/400 System- und Standardfunktionen" - Beitrags-ID 1214574.

Hinweis
Auf eine Beschreibung der direkten Verschaltung des Bausteines SFB37 (AR_SEND) wird in diesem Beitrag bewusst verzichtet. Sie sollten einen eigenen, anwendungsspezifischen Funktionsbaustein (FB) erstellen, der Ihre konkreten Anforderungen für die von Ihnen gewünschte Übertragung erfüllt.

Vorteile für den Einsatz eines anwendungsspezifischen Funktionsbausteines zum Archivieren mit AR_SEND sind:

  • Sie müssen den Baustein nur einmal erstellen und testen. Dann können Sie ihn mehrfach einsetzen Sie haben dann einen erheblichen Zeitgewinn, da die eigentliche Verschaltung des AR_SEND nur einmal erfolgt. Der Aufwand zur Verschaltung des AR_SEND-Bausteines kann unter Umständen recht groß sein. So kann es z.B. notwendig sein, dass die Daten mehrerer Prozesswerte über einen bestimmten Zeitraum gesammelt und dann geschlossen in einem AR_SEND-Telegramm versendet werden. Wenn die Abarbeitung des Telegramms noch nicht beendet ist, kann es notwendig sein, dass die Prozessdaten weiterhin gesammelt werden. Eine Auswertung der Fehlerinformationen bei der Bausteinbearbeitung ist auf jeden Fall sinnvoll.
  • Durch Nutzung der Instanzdaten des FBs werden Fehler in der Projektierung (z.B Doppelbelegung von Speicherzellen) vermieden
  • Die Verschaltung der zu archivierenden Daten kann in der AWL-Quelle geeignet erfolgen.

Der zu übertragene Datenbereich kann innerhalb des Instanz-DB angelegt werden. Der Aufruf des SFB37 (AR_SEND) kann als Multiinstanz erfolgen. Die relevanten Ein- und Ausgänge des AR_SEND-Bausteines sollten auf die Schnittstelle des neu erstellten FBs herausgeführt werden. Achten Sie darauf, dass Sie den Eingang AR_ID des Bausteines AR_SEND nach außen führen und die Systemattribute S7_server:='alarm_archiv' und S7_a_type:='ar_send' vergeben. Dadurch vergibt STEP 7 beim Einbau des FBs im Programm eine eindeutige AR_ID. Im Beitrag 23629424 finden Sie ein konkretes Beispiel in AWL und SCL zur Verwendung des SFB37 (AR_SEND).

3 Projektierung der prozessgesteuerten Archivierung in WinCC
Die Projektierung in WinCC besteht aus folgenden Schritten:
  • WinCC-Variablenhaushalt: Verbindung in SIMATIC S7 Protocol Suite erstellen
    Projektieren Sie im WinCC-Variablenhaushalt in einer Kanal-Unit (z.B. MPI oder Industrial Ethernet) der SIMATIC S7 Protocol Suite eine Verbindung, die zur Kommunikation mit der S7-Steuerung genutzt wird.

    Hinweis

    Achten Sie darauf, dass Sie bei den Eigenschaften der Verbindung im Dialog "Verbindungsparameter" die richtigen Parameter, speziell die richtige "Steckplatz-Nr." vergeben.
     
  • WinCC-Variablehaushalt: Rohdatenvariable vom Rohdatentyp "Archivdatenkopplung" anlegen
    Legen Sie in der zur Datenübertragung benutzten S7-Verbindung eine Variable vom Datentyp "Rohdatentyp" an. Der Name darf maximal 24 Zeichen lang sein, da dieser Name u. U. Bestandteil des Archivvariablennamens sein kann.


    Bild 05

    Über die Schaltfläche "Wählen" erhalten Sie den Dialog "Eigenschaften Adresse" . Selektieren Sie im Dialog "Eigenschaften Adresse" der Rohdatenvariablen im Bereich "Rohdaten" das Auswahlfeld "Archivdatenkopplung".


    Bild 06
     
  • WinCC-Tag Logging: Prozessgesteuerte Archivvariable anlegen
    Öffnen Sie das Tag Logging. Legen Sie in einem Prozesswertarchiv eine prozessgesteuerte Archivvariable an. Verwenden Sie dazu das Kontextmenu "Neue prozessgesteuerte Variable..." Öffnen Sie mit der Schaltfläche "Auswählen" einen Auswahldialog, um die Rohdatenvariable auszuwählen, die zur Versorgung der Archivvariablen dienen soll. Im Feld "Archivvariablenname"können Sie einen vom internen Archivvariablennamen abweichenden Namen vergeben. Im Bereich "Normierungs-DLL" muss "nrms7pmc.nll" ausgewählt sein. Dieser Wert ist standardmäßig eingestellt.


    Bild 07

    Mit der Schaltfläche "Optionen"im Bereich "Normierungs-DLL" müssen Sie die entsprechende AR_ID und ggf. AR_ID-Subnumber vergeben.


    Bild 08

    Hinweis
    Im Eingabefeld "AR_ID" müssen Sie die Nummer eintragen, die am zugehörigen AR_SEND-Baustein im STEP 7-Programm am Parameter "AR_ID" vergeben wurde.
    Werden mit dem AR_SEND-Baustein Prozessdaten für mehrere Archivvariablen versendet, wird die AR_ID-Subnumber dazu verwendet, um die Prozessdaten für mehrere Prozessvariablen innerhalb eines Telegramms den unterschiedlichen Archivvariablen zuzuordnen. Die AR_ID-Subnumber wird vom Programmierer des AR_SEND-Bausteinaufrufes vergeben. Werden in einem AR_SEND-Bausteinaufruf mehrere Prozessvariablen übertragen, werden in dem zu übertragenden Datenbereich die eigentlichen Prozesswerte zusammen mit der zum Prozesswert gehörenden AR_ID-Subnumber eingetragen. An dieser Stelle wird vorausgesetzt, dass Sie die Zuordnung von den AR_ID-Subnumbern zu den Prozess- bzw. Archivvariablen eines AR_SEND-Aufrufes kennen.

Ergänzende Suchbegriffe
GMP, Pharma, Life Science, Validierung, FDA 21 CFR Part 11
Fehlerdetails
Detailierte Fehlerbeschreibung
Helfen Sie uns, den Online Support zu verbessern.
Die aufgerufene Seite kann nicht angezeigt werden. Bitte kontaktieren Sie den Webmaster.
Kontakt zum Webmaster