Inbetriebnahme
bValidMaxVal := FALSE;
nMaxVal := nInputValue; // Max value was found
END_IF
IF (nMinVal > nInputValue) THEN
bValidMinVal := FALSE;
nMinVal := nInputValue; // Min value was found
END_IF
// Count down, if no new value come in:
IF (bValidMaxVal AND (nMaxValCnt > 0)) THEN
nMaxValCnt := nMaxValCnt - 1;
END_IF
// Count down, if no new value come in:
IF (bValidMinVal AND (nMinValCnt > 0)) THEN
nMinValCnt := nMinValCnt - 1;
END_IF
IF ((nMaxValCnt = 0) AND (nMinValCnt = 0)) THEN
// Consequence: min/max determined
bInit := TRUE; // Prepare next call
bRESULT := NOT (nMaxVal = nMinVal); // Sign valid results
ELSE
bRESULT := FALSE; // Sign still invalid results
END_IF
4.3.2
Beispielprogramm 3 (LookUp-Tabelle schreiben)
Download TwinCAT 3 Projekt: https://infosys.beckhoff.com/content/1031/elm3xxx/
Resources/2152669707.zip
Programmbeschreibung/ Funktion:
Übertragung von LookUp-Tabellenstützwerten per CoE‑Zugiff in die Klemme für die Abbildung einer
3
Funktion f(x) = x
.
Variablendeklaration Beispielprogramm 3
PROGRAM MAIN
VAR
//LookUp-Table (LUT) generated by: MBE * x³
aLUT:ARRAY[0..99] OF DINT :=
[
-7812500,-7812500,-7493593,-6894382,
-7174765,-6051169,-6855859,-5279674,-6536953,-4576709,
-6218125,-3939087,-5899218,-3363620,-5580390,-2847120,
-5261484,-2386402,-4942578,-1978275,-4623750,-1619555,
-4304843,-1307052,-3985937,-1037580,-3667109,-807951,
-3348203,-614978,-3029375,-455472,-2710468,-326248,
-2391562,-224117,-2072734,-145892,-1753828,-88385,
-1434921,-48409,-1116093,-22776,-797187,-8300,
-478281,-1792,-159453,-66,159453,66,
478281,1792,797187,8300,1116093,22776,
1434921,48409,1753828,88385,2072734,145892,
2391562,224117,2710468,326248,3029375,455472,
3348203,614978,3667109,807951,3985937,1037580,
4304843,1307052,4623750,1619555,4942578,1978275,
5261484,2386402,5580390,2847120,5899218,3363620,
6218125,3939087,6536953,4576709,6855859,5279674,
692
Version: 2.11
ELM3xxx