Funktion
Bezeichnung
ret
Beschreibung:
Diese Funktion ist nützlich, um glatte und stabile Werte aus einer Reihe von Messungen zu erhalten,
indem Rauschen und Schwankungen reduziert werden. Der Mittelwert wird aus den letzten len Werten
des Eingangs in berechnet. Der Mittelwert wird als ret zurückgegeben.
Anwendungsbeispiel:
Das folgende Beispiel zeigt, wie die MW_EX Funktion verwendet wird, um den Mittelwert der letzten 30
Werte des Rohwertes von AI0 zu berechnen.
void
usercode(void)
1
{
2
static
MW_TY mw_berechnung;
3
int16_t
rohwert
4
#define mittelwert (syt_val[25])
5
als globale Variable die im HAWE-VisualTool sichtbar ist.
6
rohwert
=
(int16_t)AI0_RAW;
7
anpassen.
8
mittelwert
=
9
10
}
11
6.10.11 parall - Parallellaufregler
Die Funktion parall() dient zur Gleichlaufregelung von bis zu vier Aktoren.
┌────────────────────────────────────────────────────┐
│
├────────────────────────────────────────────────────┤
──┼─► SPEED
: int16_t
──┼─► POSI1
: int16_t
──┼─► POSI2
: int16_t
──┼─► POSI3
: int16_t
──┼─► POSI4
: int16_t
│
│
└────────────────────────────────────────────────────┘
extern void parall(PARALLEL_TYPE* block_parallel);
Die Funktion benötigt einen Zeiger auf eine Strukturvariable vom Typ PARALLEL_TYPE.
Die einzelnen Werte werden über diese Struktur übergeben:
Funktion
Bezeichnung
Eingänge
SPEED
POS1
HAWE Hydraulik SE
Tab. 6.12 – Fortsetzung der vorherigen Seite
Beschreibung
Mittelwert der letzten len Werte
Quellcode 6.45: MW_EX anwenden
=
0;
MW_EX(&mw_berechnung, rohwert, 30);
parall
SETP1
SETP2
SETP3
SETP4
pos_ok
pos_m
Tab. 6.13: FB parall() Ein/Ausgänge
Beschreibung
Sollwertvorgabe (z.B. von einem Joystick über Analogeingang)
Aktuelle Positionen des ersten Aktors
UG CAN IO14 PRO DE 092024 1.0.0
// Strukturvariable für MW_EX
// Für das Ergebnis ein Name
// Rohwert von AI0 lesen und den
│
: int16_t o─┼──
: int16_t o─┼──
: int16_t o─┼──
: int16_t o─┼──
: int16_t o─┼──
: int16_t o─┼──
│
Fortsetzung auf der nächsten Seite
"mittelwert"␣
Datentyp␣
77/87