[übersetzen]

Warum muss Ihre SPS jetzt anhalten? Wie verwendet man SPS-Interrupts?

Eine speicherprogrammierbare Steuerung (SPS) führt Ihre Logik üblicherweise in einer Schleife aus. Diesen Vorgang bezeichnen wir als Scanzyklus. Einige SPSen können Aufgaben mit niedrigerer Priorität unterbrechen und bei einem Hardware-Ereignis oder einem zeitgesteuerten Ereignis eine spezielle Routine ausführen.

Inhaltsverzeichnis

Siemens nennt diese Abläufe OBs. Rockwell Logix nennt sie Aufgaben. Stellen Sie sich Folgendes vor: Sie lesen ein gutes Buch. Dann klingelt Ihr Telefon. Sie markieren die Seite. Sie nehmen den Anruf entgegen. Anschließend lesen Sie einfach weiter.

A SPS Interrupts funktionieren im Prinzip so. Die CPU hält nicht wirklich an. Stattdessen pausiert sie Logik mit niedrigerer Priorität, verarbeitet das dringende Ereignis und setzt die Verarbeitung dann fort. Die Reaktionszeit hängt jedoch von Priorität, Auslösertyp und CPU-Auslastung ab. Schnelle Reaktionen sind möglich, aber kein Zufall.

Was ist überhaupt ein SPS-Interrupt?

Gängige SPSen folgen oft einem einfachen Muster: Ausgänge aktualisieren, Eingänge in den Speicher einlesen und anschließend das Anwenderprogramm mit den gespeicherten Werten ausführen. Dieses Modell funktioniert für viele Maschinen gut. Dennoch laufen manche Ereignisse zu schnell ab, als dass der Hauptzyklus allein ausreichen würde.

Deshalb bieten Hersteller Hardware-Interrupt-OBs, zyklische Interrupt-OBs, zeitbasierte OBs und Ereignis-Tasks für spezielle Aufgaben an. In Logix führt die Steuerung jeweils einen Task aus. Ein periodischer oder ereignisbasierter Task kann Aufgaben mit niedrigerer Priorität unterbrechen und die Steuerung anschließend an den vorherigen Task zurückgeben.

CS1H-CPU63H

Warum müssen sie aufhören?

Stell dir ein schnell rotierendes Sägeblatt vor. Du willst es fangen Sensor Die richtige Kante an der richtigen Stelle setzen. Sie können es sich nicht leisten, zu spät zu reagieren. Wenn Ihre Hauptlogik zu lange braucht, kann die Maschine weiter fortschreiten als gewünscht, bevor die eigentliche Aufgabe abgeschlossen ist.

Ereignisgesteuerter Code ist hilfreich, weil er ausgeführt wird, wenn der Auslöser eintritt, anstatt auf den nächsten vollständigen Durchlauf der normalen Logik zu warten.

Hier kommt jedoch der Punkt, der Vorsicht erfordert. Man benötigt nicht immer einen speziellen Trick mit “sofortiger Ausgabe”, um schnell auf die reale Welt einzuwirken. Bei Siemens kann das System die einem Interrupt OB zugewiesenen Ausgabeprozessabbildpartitionen unabhängig von … übertragen. UPDAT_PO.

Unter Logix verarbeitet ein Task normalerweise nach Abschluss Ausgaben, sofern diese Option nicht deaktiviert ist. Gehen Sie daher nicht davon aus, dass ein normales Ausgabetag immer zu langsam ist, und erwarten Sie keine Universallösung. Prüfen Sie zunächst, wie Ihre SPS die Ein-/Ausgabe aktualisiert. Wählen Sie dann die passende Methode für Ihre Plattform.

Verschiedene Hersteller verwenden unterschiedliche Bezeichnungen. Siemens S7-1200 nutzt Organisationsblöcke wie Hardware-Interrupt-OBs und zyklische Interrupt-OBs. Logix verwendet kontinuierliche, periodische und ereignisbasierte Tasks.

Das Ziel ist in beiden Welten dasselbe: im richtigen Moment reagieren, ohne dass der gesamte Controller blockiert wird. Die Details sind jedoch markenspezifisch.

Wie verwendet man eine SPS-Interruptfunktion?

Ehrlich gesagt ist es ziemlich einfach, wenn man sich an die Regeln hält. Viele Leute stellen es komplizierter dar, als es ist. Man kann es ganz einfach halten.

Wählen Sie den Auslöser. Teilen Sie der SPS mit, welches Ereignis die Schnellroutine starten soll. Dieser Auslöser kann eine Änderung des digitalen Eingangs, ein Bewegungsereignis, ein HSC-Ereignis, ein verbrauchtes Tag oder eine zeitgesteuerte Unterbrechung sein.

Schreiben Sie schnellen Code. Halten Sie ihn kurz und prägnant. Zusätzliche Funktionen erhöhen die Latenz und das Risiko von Überlappungen oder Timeout-Problemen.

Setzen Sie das Flag zurück. In vielen Fällen verarbeitet das System den Ereignisaufruf selbst. Dennoch müssen Sie möglicherweise Ihre Anwendungsbedingung zurücksetzen oder das Quellereignis neu aktivieren, damit das nächste Ereignis sinnvoll ist.

Achten Sie außerdem auf Überlappungen. In Logix ignoriert der Controller eine überlappende Auslösung, wenn ein Ereignis-Task erneut ausgelöst wird, während er noch läuft.

CP1E-NA20DT-D

Welche Arten von Unterbrechungen gibt es?

Die Namen variieren von Marke zu Marke. Daher sollte man die Bezeichnung eines Herstellers nicht als unumstößliche Regel für alle handelsüblichen Systeme betrachten. Dennoch bieten diese drei Gruppen eine solide Grundlage für die Arbeit.

UnterbrechungstypWas es bewirktBester Anwendungsfall
Hardware oder EreignisWird ausgeführt, wenn ein konfiguriertes Hardware- oder Softwareereignis auftritt und kann Arbeiten mit niedrigerer Priorität unterbrechen.Schnelle Sensorkanten, Registrierungsmarken, HSC-Ereignisse oder bewegungsbezogene Auslöser
Periodisch oder zyklischWird in einem festen Intervall ausgeführt, anstatt auf den Hauptscan zu warten.Regelmäßige Kontrollarbeiten, die eine präzise Zeitmessung erfordern.
Fehler- oder DiagnosebehandlungWird ausgeführt, wenn die CPU oder ein Modul ein Zeit- oder Diagnoseereignis meldet.Abfangen von Scan-Überläufen, Warteschlangenüberläufen oder Moduldiagnosen

Betrachten wir die Zeitmessung genauer. Die genauen Werte hängen stets von der CPU, der Priorität, der Triggerrate und der Gesamtprogrammlast ab. Nutzen Sie dies daher eher als Orientierungshilfe denn als unumstößliche Regel.

MetrischHauptscanzyklusHardware-Interrupt / Ereignisaufgabe
AusführungszeitpunktWird im Rahmen der normalen zyklischen Programmausführung ausgeführt, wobei die Laufzeit von der Programmlast und der Konfiguration abhängt.Wird beim Auftreten des Auslösers ausgeführt und kann Prozesse mit niedrigerer Priorität unterbrechen, die tatsächliche Latenz hängt jedoch weiterhin von der Priorität und der Systemlast ab.
DringlichkeitGut geeignet für normale Maschinenlogik und allgemeine SequenzierungBesser geeignet für zeitkritische Ereignisse, die nicht auf Routineprozesse warten sollten.
CodelängeKann eine umfassendere Maschinenlogik enthalten.Sollte kurz sein, damit es vor dem nächsten Auslöser beendet ist und Überlappungsprobleme vermieden werden.

Wie Sie sehen, kann der Geschwindigkeitsunterschied enorm sein. Dennoch gibt es keine universelle Reaktionszeit, die für jede SPS geeignet ist. Der Teufel steckt im Detail.

CJ1W-OD262

Begehen Sie diese schwerwiegenden Fehler?

Das sehe ich ständig. Gehen Sie nicht davon aus, dass sich ein Standard-IEC-Timer bei einem einmaligen Interrupt genauso verhält wie in OB1 oder einer normalen zyklischen Aufgabe.

Siemens gibt an, dass der Timer nur aktualisiert wird, wenn die Timer-Anweisung ausgeführt wird oder wenn Code wichtige Timer-Elemente ausliest. Das bedeutet, dass eine Hardware-Interrupt- oder Ereignisaufgabe, die nur einmal pro Trigger ausgeführt wird, häufig zu einem fehlerhaften oder irreführenden Timer-Verhalten führt. Eine zyklische Interrupt- oder periodische Aufgabe verhält sich anders, da sie wiederholt ausgeführt wird.

Schreiben Sie außerdem keine Endlosschleifen, um auf Zeitablauf zu warten. Das ist, als würde man Vollgas geben, während das Auto in der Garage steht. Sie verschwenden Ausführungszeit und riskieren Probleme. Siemens weist darauf hin, dass Scan-Überläufe, Warteschlangenüberläufe und Interrupt-Timing-Konflikte zu Zeitfehlern führen können. In manchen Fällen können wiederholte Zykluszeitfehler die CPU zum Stoppen bringen.

Ein weiterer schwerwiegender Fehler ist das Aufrufen zu vieler Interrupts. Nicht jede kleine Sensorinformation verdient es, priorisiert zu werden. Rockwell warnt davor, dass jede zusätzliche Aufgabe Rechenzeit von den anderen Aufgaben abzieht.

Es wird außerdem darauf hingewiesen, dass der Controller einen erneuten Auslöser ignoriert, wenn eine Aufgabe noch ausgeführt wird. Verwenden Sie Interrupts daher nur, wenn sie wirklich notwendig sind. Andernfalls wird aus Ihrer vermeintlich schnellen Lösung ein langwieriges, unübersichtliches Problem.

Versorgen Sie Ihre Projekte mit brandneuen, originalen SPS von Omron, Mitsubishi und Schneider – auf Lager, sofort verfügbar!

Abschluss

Interrupts oder Ereignisaufgaben unterbrechen Prozesse mit niedrigerer Priorität, damit die SPS schnell auf dringende Ereignisse reagieren kann. Die CPU fährt nicht herunter. Sie wechselt die Aufgaben und nimmt anschließend den Betrieb wieder auf. 

Sie sind hilfreich, wenn ein Ereignis nicht auf die normale zyklische Logik warten soll. Hardware-Interrupts, zyklische Interrupts und Ereignisaufgaben dienen alle auf unterschiedliche Weise diesem Zweck. 

Halten Sie Ihren Interrupt-Code kurz. Langer Code erhöht die Latenz und das Risiko von Überlappungen. 

Gehen Sie nicht davon aus, dass Standardtimer in einer einmaligen Ereignisroutine einwandfrei funktionieren. Wenn Sie ein zeitgesteuertes Verhalten benötigen, überlegen Sie genau, ob Sie tatsächlich ein Hardware-Ereignis, eine periodische Aufgabe oder eine zyklische Interrupt-Routine benötigen. 

Gehen Sie nicht davon aus, dass Sie für eine schnelle Reaktion immer auf direkte physische E/A-Schnittstellen zurückgreifen müssen. Prüfen Sie zunächst, wie Ihre SPS Prozessabbilder, direkten E/A-Zugriff und die Verarbeitung von Aufgabenausgaben handhabt. 

Achten Sie auf Überlappungen, Warteschlangenüberläufe und Zykluszeitfehler. Schnelle Logik ist gut. Schnelle Logik, die nie fertig wird, ist eine Katastrophe. 

Kontaktieren Sie uns

Geben Sie in dieses Formular einfach Ihren Namen, Ihre E-Mail-Adresse und eine kurze Beschreibung Ihrer Anfrage ein. Wir werden Sie innerhalb von 24 Stunden kontaktieren.

Diese Themen könnten Sie auch interessieren

Touchscreen-Technologie

Funktionieren Touchscreens? Die Technologie hinter der Touch-Eingabe verstehen

Touchscreens sind zu einem festen Bestandteil unseres täglichen Lebens geworden, von Smartphones bis hin zu industriellen Bedienfeldern. Aber haben Sie sich schon einmal gefragt, wie diese Touchscreens eigentlich funktionieren? Dieser Artikel befasst sich eingehend mit der Technologie hinter Touchscreens, untersucht verschiedene Typen, ihre Anwendungen in der industriellen Automatisierung und was sie ausmacht. Wenn Sie die Feinheiten der Touchscreen-Technologie verstehen, können Sie fundierte Entscheidungen über deren Implementierung in Ihrer Maschinen- und Gerätefabrik oder Ihrem Fabriklösungsunternehmen treffen. Wir untersuchen die üblichen Herausforderungen und wie Sie als Hersteller diese Technologie nutzen können, um Ihre Prozesse zu verbessern.

Mehr lesen "
ControlLogix-SPS

SLC500- und ControlLogix-SPS beherrschen: Ein umfassender Leitfaden

Die industrielle Automatisierung hat die Fertigung revolutioniert, und im Mittelpunkt dieser Revolution stehen speicherprogrammierbare Steuerungen (SPS). Zu den bekanntesten zählen die Serien SLC 500 und ControlLogix von Rockwell Automation. In diesem umfassenden Handbuch erfahren Sie mehr über diese Steuerungen und erfahren, welche Funktionen und Anwendungen sie bieten und wie sie Ihre Automatisierungsprozesse verbessern können.

Mehr lesen "
Näherungssensor

Näherungssensor vs. fotoelektrischer Sensor

Dieser Artikel befasst sich mit dem faszinierenden Bereich der Näherungssensoren und Lichtschranken und untersucht ihre Funktionen, Unterschiede und Anwendungen. Egal, ob Sie ein erfahrener Ingenieur in einer Maschinen- und Anlagenfabrik oder ein Lösungsanbieter sind, der nach den besten Automatisierungskomponenten sucht, das Verständnis dieser Sensortypen ist von entscheidender Bedeutung. Als Hersteller von Produkten für die industrielle Automatisierung und Steuerung sind wir hier, um die Feinheiten dieser wichtigen Komponenten zu beleuchten und Sie letztendlich zu fundierten Entscheidungen für Ihre Projekte zu führen. 

Mehr lesen "

Fordern Sie ein schnelles Angebot an

*Wir respektieren Ihre Vertraulichkeit und alle Informationen sind geschützt.