Kapitel 4: Fragen und Antworten

Wahrheitstabelle

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.

Karnaugh-Veitch-Diagramme

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.

Ein RS-Flip-Flop speichert ein binäres Zustandssignal, wobei das Rücksetzen dominiert. Es wird prinzipiell zwischen den beiden Zuständen Q1=0 und Q1=1 unterschieden. Der Übergang vom Zustand Q1=0 nach Q1=1 erfolgt, wenn der Eingang SET=1 und der andere Eingang RESET1=0 ist. Der Zustand Q1=1 bleibt aktiv, solange RESET1=0 ist. Wird RESET1=1, erfolgt der Übergang zum Zustand Q1=0. Darin verweilt der Baustein, solange RESET1=1 und SET=0 ist. Das Zustandssignal wird vom Basutein ausgegeben.

Für das Hochzählen stellt der Funktionsbaustein den Eingang CU (Count Up) bereit. Liegt an ihm eine positive Flanke, d.h. u1(k)=1 und u1(k-1)=0, so wird der Zustand z(k)=CV (Counted Value) um eins erhöht. Ist das Zählergebnis CV=PV (Preset Value, Sollwert), so ist das Aufwärtszählen beendet, was durch das Ausgangssignal QU=1 signalisiert wird.

Das Abwärtszählen erfolgt, wenn eine steigende Flanke am Eingang u2(k)=CD (Count Down) abliegt, d.h. u2(k)=1 und u2(k-1)=0. Dann wird z(k)=CV um eins vermindert. Wenn CV=0 ist, wird das Ausgangssignal QD=1 ausgegeben.

Durch den Eingang RESET wird der Zähler mit CV=0 initialisiert. Wenn der Eingang LOAD=1 ist, wird der Zähler mit CV=PV initialisiert. Um den Zählvorgang zu starten, müssen die Eingänge RESET=0 und LOAD=0 sein. Sonst wird der Zähler stets neu initialisiert.

Der Funktionsbaustein TP erzeugt einen Impuls der Länge PT (Preset Time). Wenn der Eingang IN von 0 nach 1 wechselt, wird ein Puls am Ausgang Q für die Zeitdauer PT ausgegeben. Die Zeit, die bereits verstrichen ist, wird am Ausgang ET (Elapsed Time) ausgegeben. Wenn IN ein zweites Mal 1 wird, während PT noch andauert, hat dies keine Auswirkung auf die Dauer des am Ausgang Q erzeugten Pulses.

Der Zeitgeber TON erzeugt eine Einschaltverzögerung, die bei einem anliegenden Impuls am Eingang IN einen um die Zeit PT verzögerten Impuls am Ausgang Q erzeugt, solange der Impuls am Eingang anliegt. Charakteristisch für diesen Baustein sind also das verzögerte Einschalten und das sofortige Ausschalten bei fallender Flanke am Eingang (VESA).

Dagegen ist der Baustein TOF durch ein sofortiges Ein-, aber verzögertes Ausschalten charakterisiert (SEVA).

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.  

Als Halteglieder stehen RS-Flip-Flops, Zähler und Timer zur Verfügung. Während Zähler und Timer jeweils nur einen Zustand speichern, können m RS-Flip-Flops 2m Zustände speichern. Deshalb werden im Allgemeinen RS-Flip-Flops zur Zustandskodierung eingesetzt. Die Anzahl m der erforderlichen RS-Flip-Flops ergibt sich somit aus der Anzahl N der unterschiedenen Zustände zu m > log2(N).

Die Zustände zi ergeben sich im Moore-Automaten jeweils aus einer Signalkombination der Haltegliedausgänge (Hi1, Hi2,..., Him), was in der Zustandstabelle festgelegt wird.

Die Zustandskodierung wird zweckmäßigerweise nach dem sog. Gray-Code gewählt, damit bei einem Zustandswechsel möglichst wenige Signaländerungen auftreten, was zu einer minimalen Komplexität der Schaltung führt. Der daraus entstehende Funktionsbaustein kann unabhängig von der Aufgabenstellung als 3-Bit Halteglied für beliebige Schaltwerke mit N<8 Zuständen verwendet werden.

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.

Eine Einzelsteuerfunktion ist ein Programm, das ein einzelnes Feldgerät, also einen Sensor oder einen Aktor, ansteuert. Häufig wird der Begriff Einzelsteuerfunktion auch nur für die Ansteuerprogramme von Ventilen und Motoren verwendet, weil sie in vielen Anlagen die überwiegende Mehrheit der eingesetzten Gerätetypen darstellt.

Im Zuge der strukturierten Programmierung ist für jeden Gerätetyp ein Funktionsbaustein zu entwickeln. Deshalb werden im folgenden die Einzelsteuerfunktionsbausteine (ESF) für die wesentlichen Gerätetypen in verfahrens- und fertigungstechnischen Anlagen besprochen. In industriellen Anwendungen spielen dabei neben der reinen Ansteuerungslogik vor allem auch Schutzfunktionen sowie Bedien- und Visualisierungsmöglichkeiten eine wichtige Rolle.

Motortypen:

  • Motor mit einer Drehrichtung: Dieser Motor kann nur ein oder ausgeschalten werden.
  • Motor mit zwei Drehrichtungen: Hier kann zwischen rechtslauf, linkslauf und aus gewählt werden.
  • Schrittmotor: Gilt das gleiche wie beim zwei  Drehrichtungen Motor nur das seine Ansteuerung durch getaktete Impulssignale erfolgt. Jeder Puls bewegt die Welle um einen Schritt nach rechts oder links.
  • Polumschaltbarer Einrichtermotor: Er besitzt 2 verschieden Geschwindigkeiten. Die schnelle Geschwindigkeit kann aber nur angesteuert werden, wenn die langsame Geschwindigkeit dreht.  
  • Drehzahlveränderbarer Motor: Dieser Motor wird im allgemeinen über eine Frequenzumrichterkarte angesteuert. Somit unterscheidet sich die Ansteuerlogik vom normalen Motor mit einer Drehrichtung nur darin, dass zusätzlich der Sollwert für die einzustellende Drehzahl über einen Analogausgang der SPS an die Frequenzumrichterkarte übertragen wird.

Ventiltypen:

  • Zweiwege-Magnetventil: Es öffnet oder schließt den Weg eines Mediums durch ein Rohrsystem.
  • Dreiwegeventil: Dieses Ventil wird häufig für Rohrleitungsverzweigungen mit drei Rohren genutzt.
  • Vierwegeventil: Es wird eingesetzt falls an einer Rohrleitungsverzweigung vier Rohre angeschlossen werden.
  • Regelventil: Hier kann der Öffnungsgrad kontinuirlich zwischen 0% und 100% verändert werden und kann somit als Regelung dienen.

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.

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 Verriegelung der Motoren und Ventile wird der Verriegelungseingang LOCK vorgesehen, der das Stellsignal deaktiviert und seine Aktivierung blockiert. Typische Verriegelungsmaßnahmen sind in Beispiel 3.8 aufgeführt, wie z.B. die Verriegelung der Zulaufventile eines Behälters, wenn sein Füllstand eine gewisse Obergrenze erreicht.

Die Reaktion der Steuerung umfasst folgende Maßnahmen:

  • Abschaltung des fehlerhaften Feldgeräts, d.h. Überführung der Teilanlage in den sicheren Zustand,
  • Alarmierung des Fehlers im Leitsystem, durch optische und akustische Meldung,
  • Erst wenn der Fehler nicht mehr ansteht und die Alarmmeldung vom Bediener quittiert wurde, darf das Gerät wieder in den Betriebszustand überführt werden.

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 vorzusehen. Diese lässt sich durch das sog. Ruhestromprinzip realisieren. Dabei wird ein 1-Signal gesendet, solange der kein Fehlerfall (also z.B. eine Überhitzung oder Reparatur des Motors) vorliegt. Wird also ein 0-Signal gesendet, bedeutet dies, dass entweder ein Gerätefehler oder ein Drahtbruch vorliegt. In jedem Fall ist also der Aktor abzuschalten.

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.

Der analoge Eingangskanal wandelt das Stromsignal IE in ein 16-Bit-Datenwort xW um.
Dieser digitalisierte Messwert muss nun in der SPS auf den physikalischen Messbereich
des Sensors angepasst werden, damit in der Software z. B. der Füllstand eines
Behälters in Litern verwendet werden kann.

Der Sensorwert PV (Process Value) errechnet sich nach folgender Gleichung:

PV = PV_MIN + xW · (PV_MAX-PV_MIN)/27648

Dabei ist PV_MIN die untere Messbereichsgrenze, PV MAX die obere. Außerhalb dieser
Grenzen kann die SPS keine Aussage über den gemessenen Wert machen und muss
deshalb einen Fehler melden.

Im Baustein TYP_AIN wird das Einlesen eines digitalisierten Messwerts ausgeführt.
Über die Eingangsvariablen PV_HIGH und PV_LOW kann der Anwender Ober- bzw. Untergrenzen
für den Messwert festlegen. Wird eine solche Grenze erreicht, gibt der Baustein TYP_AIN ein
binäres Schaltsignal SH oder SL aus, mit dem z. B. eine Pumpe ein- oder ausgeschaltet werden kann.

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.

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

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 hinzu addiert.

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 für die Fabrik- und Prozessautomation

4. Auflage erschienen im Hanser Verlag, 2015