FB103 – V00/00.00.00 vom 02.07.2009

Als Unterstützung für die Aufbereitung der Impulssignale/Zählerwerte, ist der FB103 entwickelt worden. Darin sind Elemente berücksichtigt, um Fehler zu erkennen/vermeiden oder zum erstellen eines Positionswerts in einer DINT-Variable.

Eine Anwendung für den FB-Baustein kann das Aufbereiten von Signalen der Sensoren/Drehgeber sein:

  • Inkremental: HTL
  • Inkremental: TTL
  • Endschalter (Drehzahlerfassung)
  • Sensorwerte über Kommunikationstechnik, z.B. RS232, Profibus

Diese genannten Signale werden auf die verschiedensten Arten an die SPS-angeschlossen, die im SPS-Programm als digitaler Eingang, Absolut- oder Zählerwert häufig weiter aufbereitet werden müssen. Mit der Funktionalität des FB103 wurde eine einfache und effektive Möglichkeit dazu geschaffen.

Ein Anwendungsfall wäre, den inkrementellen Drehgeberwert für die Postions-/Drehzahlerfassung zu verwenden. Mit dem inkrementellen Signal  kann der  Impuls zur  Positionserfassung gezählt werden, sowie die Werteänderung zur Drehzahlerfassung/Geschwindigkeitsberechnung berechnet werden. (Werteänderung * Zeit * Umrechnungsfaktor = Geschwindigkeit).

 

FB103 Beschaltung INPUT

  • bii_1_reset_kompl    BOOL        1=Reset aller Werte/Einstellungen<7p>
  • bii_1_reset_zaehler    BOOL        1=Reset Zähler
  • bii_1_autom_abgl    BOOL        1=Automatischer min./max. Werteabgleich unterBeachtung der Vorgabe
  • dii_zaehlerwert        DINT        Zählerwert für die Auswertung
  • dii_wert_min        DINT        Zählerwert minimal, der vor dem Überlauf anliegen kann
  • dii_wert_max        DINT        Zählerwert maximal, der vor dem Überlauf anliegen kann
  • dii_max_delta_ms    DINT        Max. Veränderung pro ms (für Überlaufkontrolle/Wertebegrenzung)
  • dii_sps_zykl_ms        DINT        SPS-Zykluszeit in ms

 

FB103 Beschaltung OUTPUT

  • bio_1_stoer        BOOL        1=Störung, min./max. Vorgabe nicht korrekt
  • dio_zaehler_div        DINT        Zählerwert/ Werteänderung aktuell
  • dio_zaehler_gesamt    DINT        Zählerwert gesamt ab Reset

 

Beschreibung zu der Beschaltung

Zu der Beschaltung des FC-Bausteins folgen weitere Informationen:

bii_1_reset_kompl / BOOL / 1=Reset aller Werte/Einstellungen

bii_1_reset_zaehler / BOOL / 1=Reset Zähler

Für diese Funktion wurden zwei Reset Möglichkeiten geschaffen. Das Signal bii_1_reset_kompl führt dazu, dass alle Werte auf Null bzw. Beschaltungswerte setzt, wenn ein True/1 Signal anliegt.

Für einen einfachen Zählerreset, der auch als Referenzierung verwendet werden kann, wird ein True/1 Signal an den Übergabeparameter bii_1_reset_zaehler geschaltet, um die Ausgabewerte dio_zaehler_div / dio_zaehler_gesamt auf Null zu setzen.

 

bii_1_autom_abgl / Bool

1=Automatischer min./max. Werteabgleich unter Beachtung der Vorgabe.

Die Zählerwerte, welche an den FB übergeben werden, können unterschiedliche Zahlenbereiche haben (z.B. 0..8191 / 0..32767 / +/-32767 / +/-2147483647). Bei einem True/1 werden die Bereichsgrenzen automatisch ermittelt. Die Voraussetzung dafür ist, dass die Vorgabewerte innerhalb des Bereichs liegen, da ansonsten falsch gezählt würde.

dii_zaehlerwert / DINT

Zählerwert für die Auswertung

Hier wird der Wert zum Verarbeiten angeschaltet, der von einer Zählerbaugruppe, Sensorsystem oder Drehgeber kommen kann, um nur ein paar zu nennen. Es sind absolute Werte zu verwenden und nicht die Werteveränderung.

dii_wert_min / DINT / Zählerwert minimal, der vor dem Überlauf anliegen kann

dii_wert_max / DINT / Zählerwert maximal, der vor dem Überlauf anliegen kann

dii_max_delta_ms / DINT / Max. Veränderung pro ms (für Überlaufkontrolle/Wertebegrenzung)

Diese Einstellungen sind notwendig, um den Überlauf vom Zähler zu erfassen. Mit den min./max. Werten (dii_wert_min / dii_wert_max) kann der Überlauf erkannt werden. Sollte der Bereich 0..8192 sein, und sich der Wert von 8150 auf 25 ändern, ergäbe sich eine Werteänderung von 68.  Ein Überlauf wird an der maximalen Werteänderung ernkannt. Dieser wird an der Beschaltung dii_max_delta_ms definiert, welcher mit dem SPS FB-Aufruf dii_sps_zykl_ms multipliziert wird. Dabei darf die Summe nicht über die Hälfte des maximalen Bereichs hinausgehen.

dii_sps_zykl_ms / DINT

SPS-Zykluszeit in ms

Für die Zeitfunktionen wird hier die entsprechende Zeit pro FB-Aufruf angeschaltet. In der Regel kann die SPS-Zykluszeit verwendet werden, die bei Gersch SPS-Technik im OB1 erzeugt wird und in der Variablen DB99.DBD10 hinterlegt ist.

bio_1_stoer / BOOL

1=Störung, min./max. Vorgabe nicht korrekt

Wenn kein automatischer min./max. Bereichsabgleich angewählt ist, wird bei nicht einhalten der Bereichsangabe dii_wert_min / dii_wert_max ein True/1 als Störung ausgegeben.

 

dio_zaehler_div / DINT / Zählerwert Werteänderung aktuell 

dio_zaehler_gesamt / DINT / Zählerwert gesamt, ab Reset

Diese Ausgabewerte enthalten die aufbereiteten Werte. Der dio_zaehler_div enthält die Werteänderung zwischen dem FB103 Aufruf, mit dem leicht eine Geschwindigkeitsberechnung erfolgen kann.

In dem dio_zaehler_gesamt Output Wert, ist der Zählerwert enthalten, ab dem die Resetsignale wieder auf False/0 sind. Dieser Wert kann als Positionswert verwendet werden.

Kommentieren ist momentan nicht möglich.