Banner
Banner
Banner
Banner


Easy Google Plus
SocialMedia
SocialMedia

S88-Norm in Batch- und Kontianlagen mit DeltaV Steuerung von Emerson

ANSI/S88 ist eine Norm für die chargenorientierte Fahrweise (Batch Control), die häufig als S88 oder SP88 bezeichnet wird. Sie ist eine Designphilosophie für Software, Ausrüstung und den Verfahrensablauf. Teil 1 wurde 1995 durch ISA freigegeben. ISA-88 wurde durch die IEC als IEC 61512 übernommen. Alle Steuerungssysteme, mit denen man Batch fahren kann verwenden als Grundlage die S88. Die Systemlieferanten schulen in Ihren Kursen, dass man die ganze Logik des Steuerungsablaufs innerhalb der Phasen definieren soll, was aber je nach Anwendung zum Teil erhebliche Nachteile mit sich ziehe kann. Wir machen das nicht so. Warum …? Lesen Sie weiter.

S88 und seine Zustände

Mittels der S88 Norm werden die Zustände beschrieben, welche eine Phase (Grundfunktion) haben kann. Diese können sein: Idle, Running, Complete, Stopping, Stopped, Holding, Held, Restarting, Aborting und Aborted. Um die Phasen in den Controller laden/entladen zu können müssen diese bestimmte Zustände haben. Zum Laden müssen die Phasen Idle und zum Entladen Completed, Stopped oder Aborted sein. Dies hat direkte Auswirkungen auf die Gestaltung von Rezeptabläufen vor allem im Zusammenhang mit Grundfunktionen, welche sogenannt „offene“ Fahrweisen haben, wie z. B. Rühren oder Heizen.

Bild 1

Die Darstellung der S88 innerhalb eines Phase Logic Modules

S88 Struktur kennt keine offenen Phasen (Fahrweisen)

Im Bild1 sieht man die möglichen Übergänge zwischen den einzelnen Status. Wichtig dabei zu wissen ist, dass aus den Zuständen Aborted, Stopped und Complete nicht mehr via Restarting zurück in den Running Status oder via Holding in den Held Status gewechselt werden kann. Dies gibt im Zusammenhang mit offenen Fahrweisen Probleme, wenn die Phase den Zustand Complete erreicht hat. (Beispiel offene Fahrweise: Phase Rühren, hat den gewünschten Drehzahl-Sollwert erreicht) Läuft paralell dazu eine Empfangs-Phase in einem Teilrezept, welche darauf wartet, dass eine bestimmte Menge Lösungsmittel vorgelegt wird (geschlossene Fahrweise, die nach Abschluss beendet ist) und geschieht in diesem Moment ein Ereignis, welches zu einer Sicherheitsstellung führt, so kann die Empfangs-Phase von Running in Held gebracht werden. Die bereits im Zustand Complete befindliche Phase Rühren hingegen kann durch das Batchsystem nicht mehr beeinflusst werden.




Bild2
Der im Phase Logic Module enthaltene FailureMonitor

Failure Monitor als Schnittstelle zum Programmcode. Sicherheiten in Unit und Grundfunktionen integriert.

Über den im Phase Logic Module enthaltenen Failure Monitor können Fehler aus Grundfunktionen in die Phase hoch geholt und damit eine Reaktion des Rezeptes provoziert werden. Dies allerdings immer wieder mit der oben beschriebenen Einschränkung. Sobald die Phase nämlich Complete, Stopped oder Aborted meldet, wird sie vom Batchsystem aus dem Controller entladen und ist so nicht mehr zugreifbar. Deshalb ist die ganze Sicherheit auf Stufe Unit und Grundfunktionen zu integieren, wo sie unabhängig von Phasen (im Controller geladen oder nicht geladen) immer aktiv ist. .
Bild3
Die Rezeptebene innerhalb einer Konfiguration

Einordnung der Rezeptebene

Im DeltaV System findet sich die Rezeptebene getrennt von der Control Strategie in der Systemkonfiguration und ist in Operationen, Unit Procedures (Teilrezepte) und Procedures (Rezepte) unterteilt. Als Bindeglied zwischen Batchsystem und Control Strategie befinden sich die PhaseLogicModule --> PLM (Phase Classes) in den Advanced Definitions. In den PLM werden lediglich Parameter und Fahrweisen von den BatchInput Parametern --> BIP an die Grundfunktionen übergeben und darauf gewartet, dass die über Aliasing verbundenen Grundfunktionen den von der Phase erwarteten Zustand erreicht (Fortschaltbedingung --> FSB) und die Phase somit den Zustand Complete erreicht.











Bild4
Die Zuordnung einer Operation zu einer Unit oder Unit Class

Operation als unterste Rezeptebene

Operationen können entweder einzelnen Units oder Unitklassen zugewiesen werden. In ihnen finden sich die Parameter wieder, welche man auch in den Grundfunktionen findet. Allerdings handelt es sich in der Operation um die in den PLM definierten BIP, welche nun entweder direkt in der Operation eingegeben werden oder mittels „Defer“ an die nächsthöhere Rezeptebene die UnitProcedures --> UP hochgereicht werden.








Bild5
In ein Teilrezept eigebundene Operations einer Unit

Unit Procedures (Teilrezepte)

Innerhalb eines Teilrezeptes werden dann alle für einen Teilschritt einer Produktion benötigten Operations zusammengebracht. Normalerweise sind innerhalb einer UP die meisten Parameter bekannt und können als Value direkt rezeptiert werden. Um die Wiederverwendbarkeit von UP’s zu erhöhen können aber auch einzelne Parameter an die höchste Ebene die Procedures hochgereicht werden. So können dann Rezepte kopiert und durch einfaches Anpasssen dieser einzelnen Parameter für ähliche Produkte weiter verwendet werden.







Bild6
Die Recipe Procedure in welcher die einzelnen am Batchablauf beteiligten Units (mit ihren Teilrezepten) verbunden sind

Procedures (Rezepte)

Innerhalb der Procedures werden nun die Teilrezeptes der einzelnen Teilanlagen zusammengebracht und somit die Produktion eines Produktes über mehrere Units hinweg rezeptiert.










Konti- oder Batch: S88 machts möglich

Im Gegensatz zu Batch-Anlagen bleibt eine Konti-Anlage nach einigen Vorbereitungs- uns Anfahr-Schritte irgendwann in einem Produktionsschritt stehen, bis dann der Operator entscheidet die Anlage über Anfahrschritte wieder in den Aus-Zustand zu bringen. Dabei ist es wichtig, dass innerhalb der Produktionsschritte entweder das Rezept dem Anlagenzustand nachgeführt wird oder dass innerhalb der Grundfunktionen über Parameter sichergestellt wird, dass zum Beispiel Zuläufe nur wieder zu laufen beginnen, wenn die Parameter wie Druck oder Temperatur im korrekten Bereich sind. So kann werden die Zulauf-Grundfunktionen nach dem Restart der Unit die Zuläufe erst wieder starten, wenn die Einlaufbedingungen erreicht sind.

Dies kann auch realisiert werden, in dem man den Zustand der Unit im Rezept abfragt und das Rezept in einen Standby-Schritt bringt, sollte die Unit in einen Sicherheitszustand fallen. In diesem Fall werden im Stanby-Schritt zum Beispiel die Einläufe unterbrochen. Wenn dann die Sicherheitsstellung wieder resetiert ist kann der Operator via Abfrage entscheiden ob er die Unit ganz abfahren will oder ob er wieder zurück in den Dosierschritt gehen will. Wählt er die zweite Option, so geht das Teilrezept zurück in die für das Erreichen der Einlauffreigabe vorbereitenden Schritte. (Aufheizen, Evakuieren etc.)

Grenzen im Zusammenhang mit Rezepten und Phasen

Betreffend Controllerauslastung sind den Phasen bei DeltaV die folgendenGrenzen gesetzt, auf welche ich zur Abrundung noch eingehen möchte.

Controller Capacities Fixe Grenze Maximum empfohlene Grenze

PLMs pro controller: non-redundant

Begrenzt durch den verfügbaren Speicher im Controller

MD/MDPlus controller - 300

MX controller - 600

Unit Phasen gleichzeitig laufend pro Unitmodule: redundant and non-redundant controller

10
Unit Phasen können spezifiziert werden als „Always in Memory“. Damit ist gemeint, dass diese Phasen auf jeden Fall geladen sind, auch wenn der Speicher im Controller voll wäre
10

Anzahl active Phasen pro Controller

None

MD/MDPlus controllers - 50

MX controller - 150

Restriktion für Procedures: Es können max. 15 Units mit max. 10 paralellen PLM rezeptiert sein, die auf 1 Controller laufen (MX)

Anzahl Unit Module pro Controller

None

MD/MDPlus controllers - 5

MX controller - 24