TwoPoint (FB)

FUNCTION_BLOCK TwoPoint

Kurzbeschreibung

Lineare Umwandlung eines nummerischen Eingangswertes durch eine durch zwei Punkte definierte Kennlinie.


Darstellung

../_images/TwoPoint_FB.png

Schnittstellen

Eingänge

Name Datentyp Wertebereich Initialwert Funktion
rIn_X REAL   0 Analogwerteingang

Ausgänge

Name Datentyp Wertebereich Initialwert Funktion
rOut_Y REAL     Analogwertausgang
xErr BOOL    
FALSE:Umwandlung fehlerfrei
TRUE:Fehler beim Umwandlungsprozess

Sollwerte / Parameter

Name Datentyp Wertebereich Initialwert Funktion
x1 REAL   0 Punkt 1 des Eingangsbereiches
y1 REAL   0 Punkt 1 der Ausgangskennlinie
x2 REAL   100 Punkt 2 des Eingangsbereiches
y2 REAL   100 Punkt 2 der Ausgangskennlinie
xMinMaxLimit BOOL   FALSE Freigabe / Sperrung der Begrenzung am Analogwertausgang rOut_Y
iMinMaxOffset INTEGER   0 Werte der Begrenzungen am Analogwertausgang rOut_Y

Funktionsbeschreibung

Analogwertausgang rOut_Y

Der Analogwertausgang rOut_Y wird vom Analogwerteingang rIn_X in Abhängigkeit der durch die beiden Punkte P1(x1/y1)
und P2(x2/y2) bestimmten linearen Kennlinie berechnet. Im Falle eines Konvertierungsfehlers ( xErr = TRUE ) bleibt der
Analogwertausgang rOut_Y unverändert.
../_images/TwoPoint_Bild_1.png

Formel

rOut_Y = (((x1-rIn_X)*(y2-y1))/(x1-x2))+y1

Einschränkungen

Der Analogwertausgang rOut_Y ist vom Datentyp REAL. Durch eine ungeeignete Auswahl der Parameter x1, x2, y1 und
y2 sowie des Wertes des Analogwerteingangs rIn_X kann es zu einer Überschreitung der Grenzen des Datentyps kommen.

Freigabe / Sperrung der Begrenzungen xMinMaxLimit

Die Begrenzungen des Analogwertausgangs rOut_Y können mit diesem Sollwert / Parameter generell freigegeben und gesperrt werden.
xMinMaxLimit Begrenzungen Hinweise
FALSE keine rOut_Y ohne absolute Begrenzungen
TRUE Y_min und Y_max Begrenzung des Analogwertausgangs rOut_Y aktiv

Werte der Begrenzungen iMinMaxOffset

Die Begrenzungen des Analogwertausgangs sind nur dann aktiv, falls der Sollwert / Parameter xMinMaxLimit aktiv ( = TRUE ) ist.
Die Grenzwerte Y_min und Y_max werden dann wie folgt berechnet:

Formeln

Y_min = y1 - ((ABS(y2-y1))*iMinMaxOffset)/100
Y_max = y2 + ((ABS(y2-y1))*iMinMaxOffset)/100
y1 y2 y2 - y1 iMinMaxOffset Y_min Y_max Hinweise
0 100 100 0 0 100 Standard-Begrenzungen
0 100 100 10 -10 110 Positiver Offset
0 100 100 -10 10 90 Negativer Offset

Digitalausgang xErr

Der digitale Ausgang xErr signalisiert einen Fehler beim Umwandlungsprozess. Folgende Fehler werden berücksichtigt:

  • x1 = FALSE UND x2 = FALSE
  • x1 = x2
  • y1 = TRUE UND y2 = TRUE
  • y1 = y2
Fehler beim Umwandlungsprozess xErr Hinweise
FALSE FALSE Umwandlung fehlerfrei
TRUE TRUE Fehler beim Umwandlungsprozess
Legende: X = beliebig

Visualisierung




Information

Element Autoren Datum Version Anmerkungen
Funktion Adam Bartod 04.2016 1.0 Ursprungsversion
Programmierung Adam Bartod 04.2016 1.0 Ursprungsversion
Test Alexander Halter, Jochen Reu 12.2016 1.0 Ursprungsversion
Dokumentation Jochen Reu 10.2017 1.0 Ursprungsversion
Revision Lukas Pfänder 11.2017 0.1.3.0 Dokumentation

Codesys

InOut:
Scope Name Type Initial Comment
Input rIn_X REAL 0 Analogwerteingang
Output rOut_Y REAL   Analogwertausgang
xErr BOOL   Error Ausgang FALSE: Umwandlung fehlerfrei TRUE: Fehler beim Umwandlungsprozess
Input iMinMaxOffset INT 0 Wert der Begrenzungen am Analogwertausgang rOut_Y
xMinMaxLimit BOOL FALSE Freigabe / Sperrung der Begrenzung am Analogwertausgang rOut_Y
y2 REAL 100 Punkt 2 der Ausgangskennlinie
x2 REAL 100 Punkt 2 des Eingangsbereiches
y1 REAL 0 Punkt 1 der Ausgangskennlinie
x1 REAL 0 Punkt 1 des Eingangsbereiches