Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Interrupt, Counter und Inkrementalgeber

Ähnliche Präsentationen


Präsentation zum Thema: "Interrupt, Counter und Inkrementalgeber"—  Präsentation transkript:

1 Interrupt, Counter und Inkrementalgeber

2 Mehr als nur digitale Eingänge- Interrupt-Eingänge!
IX0.4 IX0.5 Interruptverarbeitung In der XC200 können Sie bis zu vier Interrupt-Ereignisse programmieren und parametrieren. Interrupts können ausgelöst werden durch: • physikalischen Eingang I0.4 • physikalischen Eingang I0.5 • 32 Bit Vor-/Rückwärts-Zähler • 16 Bit Vor-/Rückwärts-Zähler 1 • 16 Bit Vor-/Rückwärts-Zähler 2 Tritt ein Interrupt auf, so wird ein Interrupt-Programm ausgeführt!

3 Was passiert wenn der Interrupt kommt?
Starte PLC_PRG Unterbreche PLC_PRG Springe in Interrupt- Programm Beim Auftreten eines Interrupts führt das Laufzeitsystem die mit der Interruptquelle verknüpfte Programm-Organisations-Einheit (POE) aus. Vortsetzung von PLC_PRG Interruptprogram, unterbrechen die Standardprogramme!

4 Was passiert wenn der Interrupt kommt?
Definition des Interrupteingangs IX0.5 1 Interrupt tritt auf! 2 Taskkonfiguration 3 Ausführen des Interruptprogramms

5 Was sollte man bei Interrupts beachten?- Zykluszeit
Die Zykluszeit-Falle Vorsicht! Die Ausführung der Interrupt-POE wird zeitlich nicht überwacht. Versehentlich programmierte Endlosschleifen werden nicht mehr verlassen. Achtung! Alle bis zu diesem Zeitpunkt angesteuerten Ausgänge (H-Signal) bleiben aktiv und werden nicht abgeschaltet. Interruptroutinen werden nicht zeitlich überwacht. Versehentlich programmierte Endloschleifen werden nicht mehr verlassen!

6 Was sollte man bei Interrupts beachten?- Unterbrechungen
Interruptroutinen PLC_PRG Die Zykluszeit-Falle Zu häufiges Auftreten von Interrupts während eines Programmdurchlaufs kann zum Überschreiten der programmierten Taskzeit führen und einen RESET durch den Watchdog auslösen. Anwender-Interrupts können aus dem Programm heraus gesperrt und wieder freigegeben werden. Hierzu gibt es die Funktionen „Disableinterrupt“ und „Enableinterrupt“. Ein Aufrufparameter in der XSoft bestimmt, ob ein einzelner Interrupt oder alle Interrupts gesperrt/freigegeben werden. Die Freigabe eines gesperrten Interrupts muss mit dem gleichen Parameter erfolgen, wie die Sperrung. Die beiden Funktionen „Disableinterrupt“ und „Enableinterrupt“ sind Bestandteil der Library „XC200_Util.lib“. Diese Library müssen Sie – falls noch nicht vorhanden – in den Bibliotheksverwalter der XSoft einbinden. DisableInterrupt Mit dieser Funktion schalten Sie einen parametrierten physikalischen Interrupt aus dem Anwenderprogramm heraus inaktiv. EnableInterrupt Mit dieser Funktion geben Sie den zuvor inaktiv geschalteten physikalischen Interrupt wieder als aktiven Interrupt frei. Der formale Ablauf für die Erstellung und Einbindung einer Interruptfunktion ist nachfolgend in einzelnen Schritten beschrieben. Im Beispiel soll ein H-Signal am Eingang I0.5 in einen programmierten Baustein verzweigen und diesen abarbeiten. X Hierzu erstellen Sie einen Programmbaustein mit der Bausteinbezeichnung „Interrupt6“. Zu häufiges Auftreten der Interrupts führt zum Überschreiten der Zykluszeit!

7 Und was passiert bei gleichzeitigem Auftreten der Interrupts?
Es werden maximal sechs Interruptquellen unterstützt, deren Priorisierung bei gleichzeitigem Auftreten durch die Interrupt-Nummer festgelegt ist (die niedrigste Nummer hat die höchste Priorität). Von der XC200-CPU werden davon bis zu vier Interrupt-Quellen verwendet. IEC-Interrupts werden immer komplett abgearbeitet und können nicht durch einen neuen Interrupt unterbrochen werden. Ein neuer Interrupt wird erst nach Beendigung des aktuellen ausgeführt. Die Interrupts werden beim Zustandwechsel nach RUN freigegeben und im STOP gesperrt. In der Konfiguration nicht freigegebene Interruptquellen lösen keinen Interrupt aus. Ist einer freigegebenen Interruptquelle keine POE zugewiesen, wird der Interrupt erkannt und ausgeführt, ohne eine POE abzuarbeiten. Abarbeitungsreihenfolge Interruptroutinen die zeitgleich auftreten werden hintereinander abgearbeitet. Die Reihenfolge richtet sich nach der Priorität. Interrupt1 hat die höchste Priorität!

8 Aufgabe: Interrupt IX0.5 Programmieren Sie einen Zykluszähler innerhalb eines Interruptprogramms. Das Interruptprogramm soll immer dann ausgeführt werden, wenn I0.5 eingeschaltet wird. Was beobachten Sie?


Herunterladen ppt "Interrupt, Counter und Inkrementalgeber"

Ähnliche Präsentationen


Google-Anzeigen