Inbetriebnahme
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
3.3.2
Beispielprogramm 3 (LookUp-Tabelle schreiben)
Download TwinCAT 3 Projekt: https://infosys.beckhoff.com/content/1031/el3751/Resources/
zip/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,
7174765,6051169,7493593,6894382,7812500,7812500
];
// For CoE 0x8000 and 0x8005 - write values:
// ===============================================
wCoEIndexScaler :WORD := 16#8005; // CoE Index
wState :BYTE := 0; // Write status
EL3751
Version: 3.6
117