FC110 – V00/00.00.00 vom 25.03.2009

Bei der Verarbeitung von Werten, egal ob es sich um Anlagewerte, Digitalwerte oder auch von Anwenderprogrammen erstelle Zahlenwerte handelt, kommen häufig schwankende Werte vor, die sich für die weitere Verarbeitung im Programm negativ auf den Prozess auswirken. Diese schwankenden Werten entsprechen häufig nicht den realen, physikalischen Werten, die zwar rein rechnerisch korrekt sind,oder laut Sensor so sein sollten, doch nicht wirklich so sein können. Das kann an den Abtastzeiten liegen, oder bei Analogwerten durch Störsignale auf die Messleitungen zurückzuführen sein.  Als Beispiel sind Öfen zu nennen, die mehrere Tonnen vom Produkt enthalten, so daß die Temperatur sich nicht innerhalb von 1 Sekunde um +/-10 Grad ändern kann. Ein anderes Beispiel ist die Drehzahlerfassung von Motoren, die selten eine Beschleunigung/Verzögerung von 10 U/ms haben.

Um für den Prozess, oder zur Auswertung brauchbare Werte zur Verfügung zu stellen, kann der Durchschnittswert ermittelt werden, damit nach X-Wert bzw. über X-Zeit, die Warteänderungen angemessen konstant gehalten werden können. Dazu haben wir den FC110 entwickelt, der die minimale Funktionalität enthält, um diese in Ihre SPS-Programme einzubinden.

Allgemeines

Für den FC110 wird noch ein Datenbaustein benötigt, in dem die Daten von dem FC-Programm zwischen gespeichert werden,sowie die Werte für die Durchschnittsberechnung. Die Anzahl der Werte für die Ermittelung des Durchschnittswerts werden im DB110 im ARRAY angegeben. Da die Anzahl je nach Anwendung von 2 bis 1000 Werten oder höher liegen kann, wurde das SPS-Programm auf Zykluszeit optimiert. So werden nicht alle benötigten im Programmzyklus zusammengerechnet, sondern durch das addieren/subtrahieren vom aktuellen bzw. herausfallenden Gesamtwert berücksichtigt. Weiter sind die Werte als Rundlaufspeicher organisiert, wodurch das schieben der Werte entfällt. Mit diesen Programmbausteinen können zwei verschiedene Datentypen ( DINT oder Real), verarbeitet werden. Dies hat den Vorteil, das nicht mehrere FC-Baustein entwickelt werden müssen für diese Datentypen,wodurch sich die Anzahl der FC-Bausteine reduziert.

Beschaltung INPUT

Die folgende Aufstellung gibt einen Überblick der Beschaltung:

    db_dat            DB-Block    DB mit den Daten für den FC sowie das Zwischenspeichern der                                             Werte

    bii_1_reset        BOOL        1=Reset, alle Daten im DB werden auf Null gesetzt

    bii_1_dat_uebern        BOOL        1=Wert wird übernommen, neuer Durchschnittswert wird ermittelt<7p>

    dii_wert_akt        DINT        Wert für Durchschnittswert -Berechnung                         (wenn L#0 = dann wird der Real-Wert verwendet)

    rei_wert_akt        Real        Wert für Durchschnittswert Berechnung
                        (wenn 0.0 = dann wird der DINT-Wert verwendet)

                        
FC-Beschaltung OUTPUT

In der folgenden Aufstellung gibt es einen Überblick der Beschaltung:

    bio_1_ausf_akt        BOOL        1=Funktion wird ausgeführt, keine Störung erkannt

    dio_durchschn        DINT        ermittelter Durchschnittswert
                        (wenn ‘rei_wert_akt ‘ = 0.0 )                    

    reo_durchschn        Real        ermittelter Durchschnittswert
                        (wenn ‘ dii_wert_akt ‘ = L#0 )                    

Beschreibung zu der Beschaltung

Zu der Beschaltung des FC-Bausteins folgen weitere Informationen:

db_dat / DB-Block
Der FC-Baustein muss zur Ausführung Werte zwischenspeichern. Dazu gehört die Datensatznummer zum laden/speichern der Werte, sowie der Gesamtwert/Durchschnittswert der Datentypen DINT/Real.

bii_1_reset / BOOL
Wenn an den FC-Eingang ein VKE1 anliegt, wird der komplette DB-Baustein zurückgesetzt, in dem alle Bytes auf Null gesetzt werden. Eine Durchschnittsberechnung wird nicht ausgeführt.

bii_1_dat_uebern / BOOL        
Wenn an diesem Eingang ein VKE1 anliegt, wird der aktuelle Wert zur Durchschnittsberechnung verwendet, die dann auch ausgeführt wird, in dem die entsprechenden Werte DB ein-/ausgetragen werden.

dii_wert_akt / DINT
Übergabe des Werts für Durchschnittswert-Berechnung. Sollte der Wert Null sein, so wird der Real-Wert für die Durchschnittsberechnung verwendet. Einer der Datentypen (DINT/Real) muss den Wert Null enthalten, damit der SPS-Programmbaustein korrekt ausgeführt werden kann.

rei_wert_akt / Real
Übergabe des Werts für Durchschnittswert-Berechnung. Sollte der Wert Null sein, so wird der DINT-Wert für die Durchschnittsberechnung verwendet. Einer der Datentypen (DINT/Real) muss den Wert Null enthalten, damit der SPS-Programmbaustein korrekt ausgeführt werden kann.

bio_1_ausf_akt / BOOL
Wenn der angegebene Datenbaustein zu wenig Bytes enthält, so daß der notwendige Datenkopf inklusive einem Wert nicht vorhanden ist, kann keine Durchschnittsberechnung ausgeführt werden. Sollte der DB-Baustein die notwendige Größe haben, werden die Berechnungen ausgeführt, und eine VKE1 wird ausgegeben.

dio_durchschn / DINT
Berechneter Durchschnittswert, wenn ‘rei_wert_akt ‘ = 0.0 entsprach.

reo_durchschn / Real        ermittelter Durchschnittswert
Berechneter Durchschnittswert, wenn ‘dio_wert_akt ‘ = L#0 entsprach.
 

 

Kommentieren ist momentan nicht möglich.