Funktion
Bezeichnung
Eingänge
x1
x2
y1
y2
x
lim
Ausgänge
y
Beschreibung:
Die Funktion führt eine lineare Umrechnung von x nach y durch. Dabei wird der Wert von x1 auf y1 und
der Wert von x2 auf y2 abgebildet. Der Wert von x wird linear dazwischen umgerechnet. Mit lim kann
der Rückgabewert auf den Bereich von y1 und y2 begrenzt werden, so dass Werte für x < x1 auf y1 und
Werte für x > x2 auf y2 begrenzt werden.
Anwendungsbeispiel:
Ein Eingangswert (eingang1) soll so umgerechnet werden, dass Werte zwischen x = 200 bis x = 500
zu y = 100 bis y = 800 umgerechnet werden. Durch lim = 1 wird sicher gestellt, dass y minimal
100 und maximal 800 ist. Werte für x < 200 oder x > 500 würden sonst zu Werten für y < 100 bzw.
y > 800 führen.
void
usercode(void)
1
{
2
/* User application logic. */
3
#define speed1 syt_val[111]
4
val wird sie im HAWE-VisualTool angezeigt
#define eingang1 AI0
5
6
speed1
=
axb(200, 500, 100, 800, eingang1, 1);
7
zur Berechnung der Geschwindigkeit
}
8
BREMS_POS - Aktionsbegrenzung
6.10.5
Die Funktion BREMS_POS dient dazu, einen Aktor (z.B. ein Ventil) sanft zu stoppen, bevor er eine
mechanische Endlage erreicht.
┌──────────────────────────────────────────────┐
│
├──────────────────────────────────────────────┤
──┼─► IST_WERT : int16_t
──┼─► POSITION : int16_t
│
│
│
│ - POS_MAX
: int16_t
│ - POS_MXB
: int16_t
│ - POS_MNB
: int16_t
│ - POS_MIN
: int16_t
HAWE Hydraulik SE
Tab. 6.7: FB axb() Ein/Ausgänge
Beschreibung
Erster Wertepaar
Erster Wertepaar
Zweites Wertepaar
Zweites Wertepaar
Eingangswert
Rückgabewert begrenzen: 0 = keine Begrenzung, 1 = begrenzt
im Rahmen von y1 bis y2
Berechneter Wert
Quellcode 6.39: AXB anwenden
// Variable für die Geschwindigkeit; als syt_
// Eingangswert von AI0
BREMS_POS
BR_SOLL : int16_t o─┼──
RICHTG : uint8_t o─┼──
WARN : uint8_t o─┼──
-- Params --
UG CAN IO14 PRO DE 092024 1.0.0
// Aufruf der Funktion
│
│
│
│
│
│
│
(Fortsetzung auf der nächsten Seite)
axb()␣
71/87