The library EventData.lib
Examples
The following examples explain the use of the library functions.
Event-driven task ‘interrupt enabled DI edge detected’
This example uses a task which reacts to the interrupt of a correspondingly configured digital input.
Therein, the data from the last occurring interrupt is evaluated and the interrupt per digital input are
counted according to their type (rising / falling edge).
PROGRAM DI_Edge
VAR
A: INT;
eventcount: UDINT;
IntrEdge: IntrEdgeData;
lastValidIntrEdge: IntrEdgeData;
DI0Falling: DINT;
DI0Rising: DINT;
DI1Falling: DINT;
DI1Rising: DINT;
END_VAR
eventcount := eventcount + 1;
IF GetLastIntrEdge(ADR(IntrEdge)) THEN
A:=A+1;
lastValidIntrEdge := IntrEdge;
IF (lastValidIntrEdge.eventMask AND 1) = 1 THEN
DI0Falling := DI0Falling +1;
END_IF;
IF (lastValidIntrEdge.eventMask AND 2) = 2 THEN
DI0Rising := DI0Rising +1;
END_IF;
IF (lastValidIntrEdge.eventMask AND 4) = 4 THEN
DI1Falling := DI1Falling +1;
END_IF;
IF (lastValidIntrEdge.eventMask AND 8) = 8 THEN
DI1Rising := DI1Rising +1;
END_IF;
END_PROGRAM
System event ‚DI_edge’
As with the above example, the data of the last occurring interrupt is evaluated, however, directly in the
interrupt context. The name of the function inserted in the task configuration under 'System events' must
begin with 'Callback'.
Global variables were created in order to have access to the evaluated data outside of the interrupt
processing.
This function runs in the interrupt context. No waiting loops may be programmed therein and
the program code should be as short as possible since otherwise the system can be blocked.
VAR_GLOBAL
int_eventcount: UDINT;
int_lastValidIntrEdge: IntrEdgeData;
int_DI0Falling: DINT;
int_DI0Rising: DINT;
int_DI1Falling: DINT;
int_DI1Rising: DINT;
END_VAR
FUNCTION Callback_DI: DWORD
VAR_INPUT
dwEvent: DWORD;
pData: POINTER TO IntrEdgeData;
dwOwner: DWORD;
END_VAR
CECX-IV 3
Summary of Contents for CECX-X-C1 Series
Page 1: ...Manual Controller Modular CECX CECX X C1 CECX X M1 761886 1112c en ...
Page 2: ...1112c en ...
Page 4: ......
Page 6: ...1112c en ...
Page 7: ...CECX modular control system CECX modular control system ...
Page 46: ...CECX modular control system CECX I 38 ...
Page 47: ...System manual CECX ...
Page 48: ...CECX II ...
Page 56: ...Content System Manual CECX VIII ...
Page 58: ...System manual CECX Product design CECX II 0 2 ...
Page 68: ...System manual CECX Safety notes CECX II 2 6 ...
Page 76: ...System manual CECX System overview CECX II 3 8 ...
Page 84: ...System manual CECX General assembly and installation instructions CECX II 4 8 ...
Page 118: ...System manual CECX Operating behavior CECX II 8 6 ...
Page 122: ...System manual CECX Disposal CECX II 10 2 ...
Page 124: ...System manual CECX Technical data CECX II 11 2 ...
Page 166: ......
Page 180: ......
Page 212: ......
Page 232: ......
Page 248: ......
Page 260: ......
Page 278: ......
Page 294: ......
Page 308: ......
Page 412: ......
Page 426: ......
Page 500: ...System manual CECX Bus link module CECX B CO CECX II 34 64 ...
Page 501: ...The library Ethernet lib The library Ethernet lib ...
Page 505: ...The library EventData lib The library EventData lib ...
Page 511: ...The library IncEnc lib The library IncEnc lib ...
Page 517: ...The Festo_EasyIP lib library ...
Page 532: ......
Page 535: ...The library PLCService lib The library PLCService lib ...
Page 542: ...The library PLCService lib CECX VII 6 ...
Page 543: ...The library SysLibComEx lib The library SysLibComEx lib ...
Page 547: ...The Festo_Motion lib library ...
Page 584: ......
Page 585: ...The Festo_PartDetector lib library ...
Page 601: ...FED VipWin interface ...
Page 630: ......