Kapitel 4: Fragen und Antworten

Stufe 1: Analyse der User Requirements (Aufgabenstellung)

  • Aus der verbalen Aufgabenstellung sind die wichtigsten Aufgaben, die die Anlage ausführen soll, zu extrahieren ebenso wie Sensoren, Aktoren und Bedieneraktivitäten, die zur Ausführung der Automatisierungsaufgaben notwendig sind.

Stufe 2: Softwarestrukturierung

  • Für jeden Feldgerätetyp, z. B. Motor, Ventil oder Messsonde, wird ein Funktionsbaustein entwickelt.
  • Für jedes Feldgerät in der Anlage wird ein eigenes Ansteuerprogramm mit der Instanz des entsprechenden Funktionsbausteins erstellt.

Stufe 3: Entwurf der Funktionsbausteine und Funktionen

  • Deklaration der Ein- und Ausgangsvariablen.
  • Entwurf der Schaltungslogik.

Stufe 4: Entwurf der Programme

  • Deklaration der Variablen für Mess- und Stellsignale xe bzw. ya und ihrer E/A-Zu-ordnung.
  • Deklaration der globalen Variablen für Steuer- und Statussignale u bzw. v möglichst für jeden Gerätetyp gesammelt als globale Strukturvariable.
  • Instanzierung der Funktionsbausteine aus Stufe 2.
  • Entwurf der Zusatzlogik, die nicht im Funktionsbaustein vorhanden, aber zur Ansteuerung erforderlich ist.

Stufe 5: Implementierung der Software

  • Implementierung der entworfenen Programme, Funktionsbausteine, Datentypen und Variablen.
  • Festlegung der Steuerungskonfiguration.
  • Taskzuordnung der implementierten Programme.

Stufe 6: Test und Inbetriebnahme

  • Test der implementierten Software in der Simulation.
  • Laden der Software in die SPS.
  • Inbetriebnahme von Software und SPS im Zusammenspiel mit der Anlange.
  • Protokollierung der Tests anhand der Entwurfsdokumentation aus Stufe 1-4.

Das UML-Use-Case-Diagramm beschreibt also das gewünschte Verhalten der zu automatisierenden Anlage. Es stellt alle Anforderungen der verbalen Aufgabenstellung grafisch dar und beantwortet folgende Fragen:

  1. Welches sind die wichtigsten Aufgaben, die die Anlage ausführen soll?
  2. Welche Akteure sind zur Ausführung dieser Aufgaben erforderlich? Dies können der Bediener oder auch die Sensoren und Aktoren sein.
  3. Welche Aktivitäten führen die Akteure aus?

Ein Klassendiagramm stellt dar, wie verschiedene Klassen untereinander und zu Objekten und Interfaces in Beziehung stehen. Klassen werden in der SPS als Funktionsbausteine, Objekte als Datenbausteine (Instanzen der Funktionsbausteine) realisiert. In der objektorientierten Programmierung (s. Kap. 6) werden auch die Methoden und Eigenschaften der Klassen eingetragen.

Im nachfolgenden Beispiel zeigen die Pfeile, welche Klasse in einem Objekt instanziiert wird.

Um den Zusammenhang zwischen den ursächlichen Prozesszuständen und ihren Auswirkungen auf die Aktoren eindeutig darzustellen, wird oft auch eine sog. Cause-and-Effect-Matrix wie in folgender Tabelle aufgestellt. Cause-and-Effect-Matrix dient demnach zur Vorgabe, welcher Aktor bei welchen Prozesszuständen aktiviert (ON), deaktiviert (OFF) oder verriegelt (LOCK) werden soll.

Um die Steuerungssoftware ohne Anlage testen zu können, lässt sich das Verhalten der meisten Anlagenteile durch einfache dynamische Übetragungsglieder simulieren, die in folgenden Funktionsbausteinen zur Verfügung stehen. 

Bei Modultests werden Funktionsbausteine und Funktionen getestet. Integrationstests überprüfen das Zusammenwirken mehrerer Funktionsbausteine und Funktionen zur Automatisierung einer Anlage oder eines Anlagenteils. Wenn nur vorgefertigte und bereits getestete Funktionen und Funktionsbausteine genutzt werden, ist kein Modultest erforderlich.

Beim Integrationstest sind Verknüpfungen gemäß

  • einer Cause-and-Effect-Matrix,
  • eines Steuer-/Regelkreises,
  • eines Zeit- oder Zustandsdiagramms oder
  • der Schrittkette eines Prozessablaufs

zu prüfen. Für jeden Test ist ein entsprechendes Testprotokoll mit Angabe der Testdurchführung, des Akzeptanzkriteriums und des Testergebnisses anzufertigen. 

Das einfachste Verfahren zur Ermittlung der gesuchten Schaltfunktion ist eine Wahrheitstabelle, die die Ein- und Ausgangskombinationen gegenüberstellt. Zur Ermittlung der Schaltfunktion werden die Ausgänge der Wahrheitstabelle untersucht. Für die Mintermen werden nur die Zeilen an dem der Ausgang 1 ist untersucht und bei den Maxtermen an dem der Ausgang 0 ist.

Bei den Mintermen werden jene Eingangsvariablen, für die in dieser Zeile eine 0 eingetragen ist, negiert, jene, für die eine 1 eingetragen ist, nicht negiert und auf ein UND-Gatter geschaltet. Nun kann aber in mehreren Zeilen eine 1 für einen Ausgang eingetragen sein. Ermittelt man für jede dieser Zeilen den dazugehörigen Minterm und schaltet diese Minterme auf ein ODER-Gatter, so erhält man die gesuchte Schaltfunktion für den Ausgang.

Bei den Maxtermen wird dies genau so gemacht nur umgedreht. Bei einer 0 wird nicht negiert und bei einer 1 negiert. Diese werden auf ein ODER-Gattergeschaltet. Bei mehrere Zeilen mit einer 0 am Ausgang werden die einzelnen Maxterme auf ein UND-Gatter geschaltet.

Dieser Entwurf kann allerdings sehr komplex werden. Um die Logik für eine Schaltfunktion mit minimaler Komplexität zu finden, verwendet man in der Regel Karnaugh-Veitch-Diagramme (KV-Diagramme). In einem solchen Diagramm wird die Wahrheitstabelle in Form einer Matrix dargestellt, wobei die Eingangskombinationen  an den Zeilen und Spalten der Matrix festgelegt und die Ausgangswerte für die Felder der Matrix eingetragen werden.

Der Vorteil dieser Darstellungsweise liegt darin, dass man nach Symmetrien suchen kann. Ziel ist es, Felder mit einer 1 (TRUE) für den Ausgang zusammenzufassen und dabei zusammenhängende oder symmetrische 2-er, 4-er, 6-er, 8-er Pärchen zu bilden. Die daraus resultierende Schaltfunktion ist weitaus weniger komplex als die allein durch die Wahrheitstabelle gefundene Schaltfunktion.

Die Struktur des Moore-Automaten umfasst wie nachfolgend dargestellt drei Blöcke:

  • Ein Eingangsschaltnetz, das anhand der aktuellen Eingangssignale x(k) und der im letzten Zyklus gespeicherten Zustände z(k) die neuen Zustände z(k+1) erzeugt,
  • ein Gedächtnis, das diese neuen Zustände z(k+1) für den nächsten Abtastzyklus k+1 speichert, und
  • ein Ausgangsschaltnetz, das in Abhängigkeit der aktuellen Zustandssignale z(k) die Ausgangssignale y(k) hervorruft.  

Schritt 1: Festlegung der Ein-/Ausgangs- und Zustandssignale

Hierfür betrachtet man den typischen Zeitverlauf der Ein- und Ausgangssignale in einem Impulsdiagramm. Allein anhand der Dynamik des Ausgangssignalverlaufs y(k) kann auf die Zustände z(k) geschlossen werden.

Deshalb verfolgt man im Impulsdiagramm das Signalmuster der Ausgänge von k=0 bis k->oo. Immer wenn sich das Signalmuster ändert, erfolgt ein Zustandswechsel. Gleiche Signalmuster beschreiben nur dann denselben Zustand, wenn sie über den gleichen Zeitraum hinweg anstehen.

Die gefundenen Zustände sind nun durch Haltglieder für den nächsten Abtastzyklus zu speichern.

Schritt 2: Zustandsgraf und Zustandsübergangstabelle

Die gefundenen Zustände werden nun im Zustandsgraf jeweils in einen Kreis eingetragen. Aus dem Impulsdiagramm lässt sich die Zustandsfolge ablesen.

Die Übergänge von einem Zustand zum anderen werden im Zustandsgraf durch Pfeile zwischen den Kreisen dargestellt. An die Pfeile werden die sog. Übergangsbedingungen geschrieben, die von den Eingangs- und Zustandssignale x(k) bzw. z(k) verursacht werden.

In einer Zustandsübergangstabelle wird für jeden Zustandsübergang angegeben, welche Halteglieder wie anzusteuern sind. Dies ergibt sich aus der Zustandskodierung.

Schritt 3: Ermittlung der Ein- und Ausgangsschaltnetze

Um die Schaltfunktionen für die Eingänge der Halteglieder zu ermitteln, wird nun für jedes in der Zustandsübergangstabelle eingetragene S, R oder IN die zugehörige Übergangsbedingung als Minterm der Schaltfunktion in disjunktiver Normalform (DNF) ermittelt. Alle Schaltfunktionen der Haltegliedeingänge zusammen genommen ergeben die Logik für das Eingangsschaltnetz.

Die Ausgangslogik ergibt sich aus dem in Schritt 1 erstellten Impulsdiagramm. Daraus ist ablesbar, welchen Zuständen die Ausgänge zugeordnet sind. Diese Zuordnung wird in der sog. Ausgangstabelle dargestellt werden.

Wenn Sensoren gefährliche Prozesszustände erkennen, müssen die relevanten Aktoren verriegelt werden. Verriegelung bedeutet,

  • der Aktor in den sicheren Zustand zu überführen, d.h. Motoren sind auszuschalten, Zulaufventilen sind zu-, Entlüftungsventile aufzufahren, und
  • solange der gefährliche Prozesszustand ansteht, darf es nicht möglich sein, den Aktor in einen anderen Zustand als den sicheren Zustand zu überführen.

Zur Erkennung von Gerätefehlern sind häufig Schutzschalter in die Geräte eingebaut, die als binäres Sensorsignal in die SPS eingelesen werden können. Beispielsweise besitzen Motoren einen Bimetallschalter, der bei Überhitzung des Motors ein binäres Alarmsignal an die SPS sendet. Darüber hinaus ist häufig auch ein sog. Reparaturschalter notwendig, der in der SPS signalisiert, dass der Motor in der Anlage gerade repariert wird und keinesfalls aktiviert werden darf. Für binäre Störmeldungssignale ist eine Drahtbruchsicherung durch das Ruhestromprinzip realisieren. 

Neben einer Temperaturüberwachung muss in vielen Fällen auch die Ansteuerung des Aktors überwacht werden, denn es kann vorkommen, dass zwar von der SPS ein Stellsignal an den Aktor ausgegeben wurde, dieser aber aus welchen Gründen auch immer nicht anläuft. Um solche sog. Laufzeitfehler zu erkennen, ist z.B. an der Motorwelle ein Sensor angebracht, der erkennt, ob sich die Welle dreht oder nicht. Dreht sich die Welle, wird ein binäres Sensorsignal, die sog. Laufmeldung, an die SPS übertragen.

Um zu unterscheiden, ob ein Gerät automatisch oder manuell von vor Ort oder vom Leitsystem aus angesteuert wird, sind im allgemeinen folgende Betriebsarten zu unterscheiden:

  • Automatik (AUT), d.h. die Einzelsteuerfunktion wird von einem anderen Programm (z.B. einer Schrittkette) automatisch aktiviert,
  • Vor Ort (VO), d.h. ein Bediener aktiviert über einen Taster oder Schalter in der Anlage (vor Ort) das Gerät,
  • Manuell (MAN), d.h. ein Bediener aktiviert über die Bildschirmgrafik des Leitsystems die Einzelsteuerfunktion.

Um die Ansteuerung über diese drei Betriebsarten voneinander unterscheiden zu können, sind die Steuerungssignale AUT_EIN, MAN_EIN und VO_EIN, bzw. AUT_AUS, MAN_AUS und VO_AUS einzuführen.

Bei der Betriebsartenumschaltung sind alle Betriebsarten gleichberechtigt wie der Zustandsgraf in Bild 4.25 verdeutlicht. Die Umschaltung zwischen den Betriebsarten erfolgt über die Anwahlsignale SEL_AUT, SEL_MAN und SEL_LOCAL. Neben den drei Betriebsarten AUT, MAN und LOCAL (vor Ort) wird noch ein vierter Zustand FREE eingeführt. Nur in diesem Zustand FREE darf eine Betriebsart angewählt werden. Solange diese Betriebsart dann nicht wieder freigegeben wurde, kann keine andere Betriebsart angewählt werden.

Schaltende Regler können nur wenige diskrete Schaltstufen als Stellwerte ausgeben. Bei einem Zweipunktregler sind es zwei Schaltstufen (z.B. EIN/AUS oder AUF/ZU), bei einem Dreipunktregler drei Schaltstufen.

Das Reglerprogramm umfasst die Bausteine TYP_AIN zum Einlesen der Regelgröße, für den Regelalgorithmus eines Zweipunktreglers TYP_LEV2 und TYP_IDF1 zur Ansteuerung des schaltenden Stellglieds (z.B. Ein/Aus-Motor). Dadurch kann beispielsweise wie abgebildet der Füllstand in einem Behälter mit unregelmäßigem Zufluss auf einem gewünschten Niveau gehalten werden.

  • In der Betriebart MAN der Stellwert STELL_MAN vorgegeben wird, ohne dass der eigentliche Regelalgorithmus den Prozess beeinflusst.
  • In der Betriebart AUT wird der Stellwert durch den Regelalgorithmus angesteuert.

De facto heißt das, in MAN ist die Regelung ausgeschaltet, in AUT ist sie eingeschaltet. Um den Aktor ohne Regelung ansteuern zu können, muss der Regler also in die Betriebsart MAN geschaltet werden. Dies ist etwa beim Start eines Prozessablaufs notwendig, wenn alle Aktoren in eine definierte Grundstellung zu fahren sind. Deshalb sind Regler zu Beginn immer in MAN geschaltet und der manuelle Stellwert entspricht der Grundstellung.
Die Betriebsarten AUT und MAN beziehen sich also auf die Stellwerterzeugung. Darüber hinaus gibt es auch Betriebsarten für die Sollwertvorgabe:

  • In der Betriebsart INTERN wird der Sollwert durch eine lokale Variable im Regelungsprogramm vorgegeben, die vom Bediener über das Visualisierungssystem verändert werden kann.
  • Dagegen wird der Sollwert in der Betriebsart EXTERN durch eine globale Strukturvariable von einem anderen Programm, z.B. einer Schrittkette, vorgegeben. Dabei bleibt die Vorgabe im Visualisierungssystem unwirksam.

Kontinuierliche Regler erzeugen einen kontinuierlich verstellbaren Stellwert, der von einem Analogausgangskanal der SPS an den Aktor, wie z.B. an einen Umrichter oder an ein Regelventil, übertragen wird. Der Regelalgorithmus bestimmt, wie groß der Stellwert y sein muss, damit sich die Regeldifferenz e verkleinert.

In der SPS sind für den Aufbau einer solchen Regelung drei Bausteine erforderlich:

  • Das Einlesen des analogen Istwerts erfolgt durch den Funktionsbaustein TYP_AIN.
  • Die Berechnung des Stellwerts mit einem geeigneten Regelalgorithmus kann z. B. durch den Funktionsbaustein TYP_PID in Bild 4.32 ausgeführt werden.
  • Zur Ausgabe des Stellwerts muss sein Wertebereich an den Wertebereich des SPS-Ausgangskanals im Funktionsbaustein TYP_AOUT angepasst werden.

Im Allgemeinen bewriken die Parameter eines PID-Regler Folgendes:

  • Durch Vergrößerung des Proportionalbeiwerts K P wird der Sollwert zwar schneller erreicht, aber ggf. auch überschritten, was zu einem instabilen Verhalten führen kann.
  • Durch eine Vergrößerung der Vorhaltzeit T V wirken die abrupten und reflexartigen Reaktionen auf Sollwertänderungen länger.
  • urch eine Verkleinerung der Nachstellzeit T N beginnt die Feinausregelung der Regelabweichung früher, was jedoch zu Schwingungen und ggf. instabilem Verhalten führen kann.

Diese Aussagen sind sehr unpräzise, da die Einstellparameter nur bei bekanntem Prozessverhalten optimal eingestellt werden können. Zur Ermittlung des Prozessverhaltens wird häufig die sog. Sprungantwort des Prozesses analysiert. Hierfür wird

  1. der Regler in MAN geschaltet,
  2. eine sprunghafte Veränderung des Stellwerts y(t) durch Vorgabe eines neuen Werts für MV_MAN hervorgerufen und
  3. die Antwort des Prozesses, also das Zeitverhalten des Istwerts x(t), aufgezeichnet.

Viele industrielle Prozesse zeigen daraufhin ein Verzögerungsverhalten, d. h. der Istwert x(t) nähert sich mit exponentiellem Sättigungsverlauf dem Sollwert an. Aus den Schnittpunkten der Wendetangente mit der t-Achse bzw. mit der Asymptote x∞ = x(t → ∞) ergeben sich die Verzugszeit Tu und die Ausgleichszeit Tg. Mit diesen Werten sowie der Prozessverstärkung K∞ = x∞/y∞ lassen sich die Parameter für P-, PI- und PID-Regler nach der Tabelle von Chien, Hrones und Reswick in Bild 4.34 ermitteln.

Zur Ausführung der Schwingungsanalyse wird der Funktionsbaustein TYP_TUNE eingesetzt. In diesem wird auf den aktuellen Stellwert MV=y(t0) in Abhängigkeit von der Regelabweichung e der Wert +d bzw. -d hinzuaddiert.

Daraufhin werden Amplitude und Periodendauer des Zeitverlaufs der Regelabweichung e(t) bestimmt. Da es sich um eine sinusförmige Dauerschwingung handelt, kann ihre Amplitude AD als das Wurzel-2-fache des Effektivwerts (root mean square value, rms) ermittelt werden.

Die Periodendauer TP der Schwingung wird in TYP_TUNE durch die Anzahl N der EVA-Zyklen zwischen zwei Nulldurchgängen der Schwingung mit positiver Steigung berechnet. Schließlich berechnet der Baustein die PID-Reglerparameter gemäß Bild 4.42.

Zur automatischen Reglereinstellung wird der Baustein TYP_TUNE in die Logik des Funktionsbausteins TYP_PID integriert. Wenn die Variable TUNE aktiviert ist, regelt der Zweipunktregler den Prozess und ermittelt die Parameter Reglerparameter KP, TN, TV des PID-Reglers. Ansonsten regelt der PID-Regler mit den aktualisierten Parametern den Prozess.

Speicherprogrammierbare Steuerungen in der Industrie 4.0

5. Auflage erschienen im Hanser Verlag 2021