User Manual

Betrieb
12/06 AWB2724-1584D
50
Interrupt-Eingänge I1 bis I4
Die Eingänge I1 bis I4 können als Interrupt-Eingänge konfiguriert
werden. Eine Flanke am Eingang erzeugt einen Interrupt
(a Seite 52), der die zugeordnete Programm-Routine aufruft.
X Legen Sie zunächst die Art der Flanke des Eingangssignals im
Steuerungskonfigurator fest.
X Ordnen Sie in der Taskkonfiguration dem Eingang die
Programm-Routine zu.
Die Eingänge sind priorisiert. I1 hat die höchste Priorität, es folgen
I2, I3 und I4.
Counter-Interrupt
Verwenden Sie die Funktion „Schneller Zähler“, vergleicht die
Steuerung ständig den Istwert mit dem Sollwert des Zählers. Sind
beide identisch, wird ein Interrupt erzeugt (a Seite 52), der die
von Ihnen erstellte Programm-Routine (POU) aufruft.
Dazu müssen Sie zunächst die Art des Zählers im Steuerungskon-
figurator festlegen. Dann erfolgt die Zuordnung zwischen dem
Eingang, der die Zählimpulse empfängt, und der POU, die Sie in
der Taskkonfiguration vornehmen.
Timer-Interrupt
Sie können eine Programm-Routine erstellen, die in einem festen
Intervall aufgerufen wird. Gestartet wird die Funktion TIMERIN-
TERRUPTENABLE mit Hilfe einer booleschen Variablen oder eines
externen Eingangs. Die Zuordnung der Programm-Routine zu dem
Timer-Interrupt erfolgt in der Taskkonfiguration. Die Perioden-
dauer kann von 500 – 2500000 Mikrosekunden eingestellt
werden. Die Periodendauer programmieren Sie, in dem Sie die
Funktion TIMERINTERRUPTENABLE aus der Bibliothek EC_Util.lib
in Ihr Anwenderprogramm mit einbinden.
Am Eingang „dwTimerTickUS“ geben Sie die Periodendauer an.
Der Wert wird beim Start des Timers übernommen und kann
während des Ablaufs nicht geändert werden. Wird der Wert von
500 unter- bzw. der Wert von 2500000 überschritten, liefert die
Funktion als Rückgabewert FALSE und der Timer wird nicht ausge-
führt.
Soll z. B. die Periodendauer von 2 Sekunden von dem externen
Eingang I0.0 gestartet werden, müssen Sie folgende Programm-
zeile in das Anwenderprogramm schreiben:
TimerInterruptEnable(%IX0.0,2000000)
Abbildung 48: Funktion TimerInterruptEnable
Abbildung 49: Periodischer Aufruf der Programm-Routine
Abbildung 50: Funktion in das Programm einfügen
TIMERINTERRUPTENABLE
BOOL xEnable TimerInterruptEnable BOOL
DWORD dwTimerTickUS
xEnable
p
p = TimerTickUS
Aufruf
Programm-
Routine