Share this

Störungsunterdrückungstechnologie für industrielle Steuerungscomputer-Software

2026-02-21 12:33:09 · · #1
Zusammenfassung: Softwarebasierte Maßnahmen zur Störungsunterdrückung ergänzen und erweitern hardwarebasierte Maßnahmen. Bei korrekter Anwendung können sie die Zuverlässigkeit und Intelligenz industrieller Steuerungssysteme deutlich verbessern und Störungen bis zu einem gewissen Grad vermeiden oder abmildern. Dieser Artikel stellt verschiedene softwarebasierte Techniken zur Störungsunterdrückung vor, darunter Selbstüberwachung, gegenseitige Überwachung und gemeinsame Methoden für Echtzeit-Steuerungssoftware. Schlüsselwörter: Computer; Steuerung; Störungsunterdrückung; Zuverlässigkeit; Software. CLC-Nummer: TP 391.8; TP 311.5; TP 302.7. Dokumentcode: A. Einleitung: Verschiedene Energieanlagen in industriellen Umgebungen werden ständig gestartet und gestoppt, was zu rauen Umgebungsbedingungen und starken elektromagnetischen Störungen führt. Industrielle Steuerungsrechner stehen in solchen Umgebungen vor enormen Herausforderungen. Die Störungsunterdrückung ist ein Schlüsselfaktor für den ordnungsgemäßen Betrieb und die Erzielung der erwarteten wirtschaftlichen Vorteile des entwickelten industriellen Steuerungssystems. Daher ist es neben der sorgfältigen Entwicklung hardwarebasierter Maßnahmen zur Störungsunterdrückung für die gesamte Systemstruktur und jeden einzelnen industriellen Steuerungsrechner unerlässlich, auch die Anwendung softwarebasierter Maßnahmen zur Störungsunterdrückung zu berücksichtigen. In unserer langjährigen Forschung im Bereich der industriellen Steuerungstechnik haben wir immer wieder festgestellt, dass in industriellen Umgebungen zu viele unvorhersehbare Faktoren auftreten und erhebliche Schäden verursachen können. Manchmal kann ein zufälliges Ereignis, ob beabsichtigt oder nicht, wie beispielsweise ein relativ schwacher Blitzeinschlag, selbst die robustesten Hardware-Störschutzmaßnahmen unwirksam machen und zum Absturz des industriellen Steuerungsrechners (ICC) führen (d. h. das Programm funktioniert nicht mehr) oder eine Fehlfunktion aufweisen (in diesem Fall werden die Inhalte der internen Register der CPU oder des RAM und der E/A-Port-Daten verändert). Dies kann schwerwiegende Zwischenfälle in kritischen Industrieprozessen zur Folge haben. Der Einsatz von Software-Störschutzmaßnahmen kann die Folgen dieser unvorhergesehenen Ereignisse zumindest teilweise vermeiden oder abmildern. Die Software-Störschutztechnologie nutzt die Selbstüberwachung während des Softwarebetriebs und die gegenseitige Überwachung zwischen den Maschinen im industriellen Steuerungsnetzwerk, um festzustellen, ob der ICC eine Fehlfunktion aufweist oder ausgefallen ist. Dies ist die letzte Verteidigungslinie gegen Störungen in industriellen Steuerungssystemen. 1. Selbstüberwachungsmethode während des Echtzeit-Steuerungssoftwarebetriebs von industriellen Steuerungsrechnern: Die Selbstüberwachungsmethode beinhaltet, dass der industrielle Steuerungsrechner seinen eigenen Betriebszustand überwacht. Einige industrielle Steuerungsrechner-CPUs, wie die Intel 8098- und 80198-Serien, verfügen über integrierte Watchdog-Timer. Durch Konfiguration des Watchdog-Betriebsmodus und entsprechende Softwareprogrammierung lässt sich eine einfache Selbstüberwachung realisieren. CPUs ohne Watchdog-Timer, wie die Z80- und 8051-Serien, können durch Hinzufügen einer externen Watchdog-Schaltung und deren Kombination mit Software ebenfalls eine Selbstüberwachung erreichen. Diese Kombination aus Hardware und Software ist in der Regel sehr effektiv und kann die Störfestigkeit industrieller Steuerungsrechner deutlich verbessern. Bei gut konzipierter Watchdog-Schaltung und korrekt programmierter Software lassen sich Programmabstürze nicht nur rechtzeitig erkennen, sondern auch beheben. Dies ist die beste Methode zur Selbstüberwachung. Allerdings ist sie nicht narrensicher. Beispielsweise kann 1. die Watchdog-Schaltung selbst ausfallen; 2. der Befehl zum Aktivieren des Watchdogs kann aufgrund von Störungen beim Abrufen der Befehle falsch interpretiert werden. ③ Nachdem der Watchdog einen Programmabsturz erkannt hat, können sein Reset-Impuls oder sein NMI-Anforderungssignal gestört werden und seine Funktion beeinträchtigen. Obwohl die Wahrscheinlichkeit für einen Watchdog-Ausfall aufgrund dieser Faktoren gering ist, sind sie dennoch vorhanden. Viele industrielle Steuerungsrechner verfügen zudem nicht über Watchdog-Schaltungen. Daher ist die im Folgenden beschriebene Software-Selbstüberwachungsmethode unerlässlich. 1.1 Der Programmzähler (PC) wird kontinuierlich überwacht und geprüft, ob er den Programmbereich überschreitet. Der Computer arbeitet normal, und der PC-Wert muss sich innerhalb des Programmbereichs befinden. Springt der PC-Wert aus dem Programmbereich heraus, ist der Computer definitiv abgestürzt. Um zu prüfen, ob sich der PC-Wert innerhalb des Programmbereichs befindet, wird die Breakpoint-Adresse, die beim Ausführen eines Interrupts auf den Stack gelegt wurde, innerhalb einer Interrupt-Service-Routine ausgelesen, die häufig externe Interrupts generiert. Liegt diese Adresse innerhalb des Programmbereichs, gilt der PC-Wert als normal; andernfalls ist das Programm definitiv abgestürzt. In diesem Fall springt das Programm zum Neustart- oder Reset-Einstiegspunkt des Systems, und das System wird neu gestartet. Die Maschine erholt sich somit. Steht keine geeignete Interruptquelle zur Verfügung, kann ein dedizierter Timer-Interrupt oder mehrere Timer-Interrupts eingerichtet werden. Die Interrupt-Service-Routine prüft den Wert des Programmzählers (PC) auf Gültigkeit. Wird ein Fehler festgestellt, springt die Maschine sofort zum Neustartpunkt. Die Zeitkonstante des Timer-Interrupts kann je nach Auslastung und Priorität der Maschine festgelegt werden und liegt üblicherweise zwischen wenigen Millisekunden und einigen zehn Millisekunden. Diese Methode hat den Nachteil, dass sie unregelmäßige Sprünge des PC-Werts innerhalb des Programmbereichs nicht erkennen kann. Das heißt, in diesem Fall wird der PC-Wert zwar verändert, überschreitet aber nicht den Programmbereich; stattdessen werden Befehle falsch ausgerichtet und zufällig verkettet, was zu unerklärlichen Operationen oder Endlosschleifen führt. 1.2 Gegenseitige Überwachung zwischen Hauptprogramm und Interrupt-Service-Routinen: Das Hauptprogramm und die Interrupt-Service-Routinen jedes industriellen Steuerungsrechners weisen bestimmte vorhersehbare Betriebsmuster auf. Daher kann eine gegenseitige Überwachung zwischen dem Hauptprogramm und jeder Interrupt-Service-Routine sowie zwischen den Interrupt-Service-Routinen selbst implementiert werden. Jedes Überwachungspaar definiert eine RAM-Einheit, und die gegenseitige Überwachungsinformation wird durch Zählen/Löschen der RAM-Einheit ausgedrückt. Beispielsweise hat das Hauptprogramm eines bestimmten Industrie-Steuerungsrechners eine maximale Schleifenzeit von 80 ms, und sein Timer-Interrupt hat eine Zeitkonstante von 10 ms. Wenn wir diesen Timer-Interrupt zur Überwachung des Hauptprogramms einrichten, können wir den Zähler dieser RAM-Einheit alle 10 ms um 1 erhöhen, während das Hauptprogramm den Zähler dieser RAM-Einheit bei jedem Schleifendurchlauf löscht. Daher kann der Zählerwert dieser Überwachungs-RAM-Einheit im Normalbetrieb nicht ≥ 9 sein. Wenn die 10-ms-Timer-Interrupt-Serviceroutine feststellt, dass der Zählerwert ≥ 9 ist, erkennt sie, dass das Hauptprogramm gestört wurde und entweder abgebrochen ist oder in einer Endlosschleife hängt. In diesem Fall springt sie zum Neustartpunkt der Maschine, um den Betrieb fortzusetzen. Bei korrekter Implementierung ist diese Methode sehr effektiv. Unsere langjährige Erfahrung hat gezeigt, dass das Hauptprogramm am ehesten gestört wird und außer Kontrolle gerät. Je kürzer die Interrupt-Service-Routine ist, desto geringer ist dieses Risiko. Hauptprogramm, Interrupt-Service-Routinen und die gegenseitige Überwachung zwischen ihnen sollten idealerweise durch mehrere Überwachungspaare abgesichert werden. 1.3 Regelmäßige Überprüfung des Programmcodes: Der Echtzeit-Steuerungsprogrammcode von Industriesteuerungsrechnern ist üblicherweise im EPROM gespeichert und lässt sich in der Regel nicht ohne Weiteres überschreiben. Im Laufe der Jahre treten jedoch gelegentlich Fehler in einzelnen Geräten auf. Diese können auf Probleme mit der Chipqualität oder auf durch statische Elektrizität, Blitzeinschläge usw. verursachte Überschreibungen zurückzuführen sein. Programmfehler führen direkt zu Laufzeitfehlern oder dazu, dass das System nicht ausgeführt werden kann. Zu den Überprüfungsmethoden gehören die kumulative Prüfsummenprüfung oder die BCH-Prüfsumme (eine CRC-Prüfmethode). Bei der Verwendung der BCH-Prüfsumme können die redundanten Bytes, die der Gruppe hinzugefügt werden, in einem EPROM-Bereich außerhalb des Programmbereichs konzentriert werden. Die Überprüfungsmethode beinhaltet die Integration eines Prüfmoduls in eine kurze und häufig ausgeführte Interrupt-Service-Routine. Dies kann so gestaltet werden, dass in jeder Schleife ein Teil des Programmcodes überprüft wird, wobei die Überprüfung in mehreren Iterationen abgeschlossen wird. Bei kleinem Code und geringer Aufgabengröße kann die Überprüfung auch vollständig durchgeführt werden. Wird ein Überprüfungsfehler gefunden, sollte dieser umgehend an die Masterstation des industriellen Steuerungssystems gemeldet oder der Bediener über eine Alarmfunktion benachrichtigt werden, um ein zeitnahes Eingreifen zu ermöglichen. Die Einschränkung dieser Methode besteht darin, dass der fehlerhafte Programmcode nicht der zu überprüfende Block ist und die Methode davon ausgeht, dass die Interrupts weiterhin normal reagieren. Da die Interrupt-Service-Routine kurz ist, ist die Wahrscheinlichkeit hoch, dass der selbstüberwachende Programmcode noch korrekt ist. 1.4 Regelmäßige Überprüfung der RAM-Korrektheit: RAM ist über viele Jahre im Einsatz, und Probleme mit der Qualität und den Steckverbindungen können zu Ausfällen führen. Dies verursacht auch Fehler im Steuerungssystem. Daher ist es notwendig, die Korrektheit des RAM regelmäßig zu überwachen. Die Überwachung kann im Hauptprogramm oder in einer häufig auftretenden Interrupt-Service-Routine implementiert werden. Der RAM kann in mehreren Schritten oder vollständig überprüft werden. Die Prüfmethode besteht darin, zunächst den Inhalt der zu prüfenden RAM-Zelle auszulesen und in einem Allzweckregister zu speichern. Anschließend wird ein spezifischer Code in diese Zelle geschrieben und zum Vergleich wieder ausgelesen. Ist der Code fehlerhaft, deutet dies auf eine mögliche Beschädigung der Zelle hin. In diesem Fall muss die Masterstation des industriellen Steuerungssystems oder der Systemalarm umgehend benachrichtigt werden, um die Bediener zu alarmieren. Die gängige Methode zum Schreiben dieses spezifischen Codes ist die 55H-AAH-Methode. Dabei wird 55H geschrieben, ausgelesen und verglichen; ist der Code korrekt, wird AAH geschrieben und erneut ausgelesen und verglichen. Jedes Bit dieses Codes wird während des Schreibens und Lesens mit „0“ und „1“ geprüft. Bei einem fehlerhaften Code empfiehlt sich eine doppelte Überprüfung zur Bestätigung des Ergebnisses. Unabhängig davon, ob das Gerät defekt ist, müssen die Originaldaten nach der Überprüfung wiederhergestellt werden, bevor ein Alarm ausgelöst oder der Betrieb fortgesetzt wird. Bei der Verwendung dieser Methode ist die korrekte Steuerung der Interrupt-Pegel unerlässlich! 2. Gegenseitige Überwachung in Echtzeit-Steuerungssystemen: Ein verteiltes industrielles Steuerungsnetzwerk oder der Betrieb einer kritischen Komponente im Zwei-Maschinen-System mit Hot-Backup kann ein softwarebasiertes Verfahren zur störungsfreien gegenseitigen Überwachung darstellen. In einem Master-Slave-Netzwerk können Master- und Slave-Stationen den Betriebszustand der jeweils anderen Station überwachen. Auch benachbarte Stationen oder alle Stationen in einem Ringnetzwerk können den Betriebszustand der jeweils anderen Station überwachen. Zwei industrielle Steuerungsrechner im Zwei-Maschinen-System mit Hot-Backup sollten sich insbesondere gegenseitig überwachen. Bei der gegenseitigen Überwachung zwischen Netzwerkstationen besteht der Hauptansatz darin, sich periodisch abzufragen und entsprechend zu antworten. Bleibt die Antwort aus, deutet dies auf ein potenzielles Problem mit der betreffenden Station (oder möglicherweise ein Netzwerkkommunikationsproblem) hin, das der Bediener umgehend beheben sollte. Die einfachste Form der Abfrage- und Antwortcodierung sieht vor, dass die anfragende Station eine Zahlenfolge sendet, die antwortende Station eine einfache Operation durchführt, z. B. das Ergebnis invertiert, und es dann an die anfragende Station zurücksendet. Dieses Verfahren der gegenseitigen Überwachung kann überprüfen, ob die abgefragte Station ausgefallen ist, und die Integrität des Kommunikationsnetzwerks sicherstellen. Die gegenseitige Überwachung des kritischen Hot-Backup-Betriebs zweier Maschinen kann deutlich detaillierter erfolgen. Zusätzlich zur Abfrage- und Antwortmethode sollte auch die gegenseitige Überwachung der Normalität der Regelgrößen sowie die umgehende Alarmierung und Benachrichtigung des diensthabenden Personals zur Behebung festgestellter Probleme umfasst werden. 3 Weitere gängige Software-Interferenzmethoden 3.1 Flächendeckende Trap-Methode Die oben beschriebenen Selbst- und gegenseitigen Überwachungsmethoden basieren auf der Annahme, dass der Industrie-Controller das Programm vollständig oder teilweise korrekt ausführen kann. Gelegentlich unterbricht eine unerwartete Störung die Interrupts und den normalen Programmablauf. In diesem Fall kann der PC-Wert innerhalb oder außerhalb des Programmbereichs liegen. Um eine Wiederherstellung und einen normalen Betrieb zu ermöglichen, ist die flächendeckende Bereitstellung von „Traps“ die einzige Lösung. „Traps“ bezeichnen hier bestimmte CPU-Typen, die Software-Interrupt- oder Reset-Anweisungen für Benutzer bereitstellen. Beispielsweise hat die Z80-Anweisung RST 38H den Maschinencode FFH. Wenn die CPU diesen Befehl ausführt, legt sie den aktuellen Programmzählerwert (PC) auf den Stack und springt dann zur Adresse 0038H, um das Programm auszuführen. Wird 0038H als Neustart-Einstiegspunkt verwendet, kann die Maschine ihren normalen Betrieb wieder aufnehmen. Beispielsweise hat der Reset-Befehl RST in den Intel-Serien 8098 und 80198 ebenfalls den Maschinencode FFH. Wenn die CPU diesen Befehl ausführt, führt sie einen internen Reset durch und setzt die Programmausführung ab Adresse 2080H fort. Die 80198-Serie verfügt natürlich über viele weitere ungültige Opcodes, die als Trap-Befehle verwendet werden können. In diesem Fall muss lediglich ein Interrupt-Einstiegspunkt im Interruptvektorwort an Adresse 2012H eingerichtet und eine Interrupt-Service-Routine zur Behandlung ungültiger Opcodes implementiert werden. Beim Auftreten eines ungültigen Opcodes kann die Fehlerbehandlung durchgeführt werden. Die langjährige Erfahrung des Autors zeigt, dass Traps nicht nur in allen Nicht-Inhaltsbereichen des ROM und allen Nicht-Datenbereichen des RAM, sondern auch breit verteilt über die Module innerhalb des Programmbereichs gesetzt werden müssen. Sobald das Maschinenprogramm eine Fehlfunktion aufweist, trifft es unweigerlich auf einen Trap, der die Maschine sofort wiederherstellen kann. 3.2 Methode zur Einstellung wiederkehrender Funktionen Viele Funktionen eines Industriesteuerungsrechners werden üblicherweise im Initialisierungsprogramm zu Beginn des Hauptprogramms eingestellt und anschließend nicht erneut gesetzt. Dies ist im Allgemeinen unproblematisch. Unbeabsichtigte Eingriffe können jedoch diese Register innerhalb der CPU oder die Funktionsregister von Schnittstellenchips verändern. Beispielsweise führt die Änderung des Interrupttyps, der Interruptpriorität, der seriellen oder parallelen Schnittstelleneinstellungen unweigerlich zu Maschinenfehlern. Daher sollten wiederholte Einstellungsvorgänge, sofern sie den laufenden Betrieb nicht beeinträchtigen, in die Schleife des Hauptprogramms integriert werden. Jeder Schleifendurchlauf kann die Einstellungen aktualisieren und so unbeabsichtigte, unvorhergesehene Ereignisse vermeiden. Wiederholte Einstellungsvorgänge, die den laufenden Betrieb beeinträchtigen, sollten unbedingt zurückgesetzt werden. Beispielsweise sollte bei der seriellen Schnittstelle nach dem Empfangen oder Senden eines Datenframes eine kurze Leerlaufphase geprüft und ein Reset durchgeführt werden. 3.3 Wichtige Datensicherungsmethoden: Kritische Daten in einem Industriesteuerungsrechner sollten mindestens zwei Sicherungskopien aufweisen. Beim Umgang mit diesen Daten können die primäre Kopie und die Sicherungskopie verglichen werden. Bei Abweichungen ist die Ursache zu analysieren und ein vordefiniertes Verfahren zur Behebung des Problems anzuwenden. Wichtige Daten können auch mittels Prüfsummen oder gruppierter BCH-Prüfungen verifiziert werden. Die kombinierte Anwendung beider Methoden erhöht die Zuverlässigkeit. 4. Fazit: Die Software-Interferenzunterdrückung umfasst viele Aspekte, wie die digitale Filterung erfasster Größen, die Entfernung fehlerhafter Werte und die Prüfung der Gültigkeit manueller Steuerbefehle und Sollwerte. All dies ist für ein vollständiges Industriesteuerungssystem unerlässlich. Die Industriesteuerung ist der wichtigste Anwendungsbereich für Computer und gleichzeitig ihre anspruchsvollste Einsatzumgebung. Basierend auf meiner langjährigen Forschungserfahrung bin ich der Überzeugung, dass die Interferenzunterdrückung von Industriesteuerungsrechnern grundlegend in der Hardwarestruktur liegt; die Software-Interferenzunterdrückung ist lediglich eine Ergänzung. Die Hardwareentwicklung sollte so perfekt wie möglich sein, und die Standards dürfen nicht leichtfertig gesenkt werden, um Softwarefehler zu kompensieren. Die Softwareentwicklung hingegen muss potenzielle Hardwareausfälle und Störungen berücksichtigen und die Störfestigkeit des Systems verbessern, während gleichzeitig Echtzeitfähigkeit, Steuerungsgenauigkeit und -funktionalität gewährleistet werden. Dies erfordert sorgfältige Planung und die Integration eines hohen Maßes an Intelligenz in die Software. Nur so kann die Software perfekt sein. Nur durch die organische Verbindung von Hardware und Software lässt sich ein wirklich robustes industrielles Steuerungssystem realisieren, das auch langfristigen Feldtests standhält.
Read next

Die Entwicklung von Fertigungsproduktionsmodellen und agiler Fertigung

Diese Arbeit analysiert die Entwicklung von Produktionsmodellen in der Fertigung und erörtert deren Grundlagen und Trend...

Articles 2026-02-20