Ein Moment - und der Kopf ist nicht Bolid: Notfallimplementierung von MasterSCADA am Beispiel eines realen Falls

- Wir müssen etwas dagegen tun!



Diese Worte wurden von meinem Manager, dem Chefingenieur eines der Pharmaunternehmen unweit von Moskau, begrüßt. Ich wollte nicht mit ihm streiten - wir hatten wirklich ein Problem und wir mussten wirklich etwas damit anfangen. Und das schnell, effizient und mit improvisierten Mitteln; und so kam es, dass wir von diesen sehr praktischen Werkzeugen nur den technologischen Controller M3000-T hatten, der von NVP "Bolid" hergestellt wurde ...





Das Coronavirus schritt mit schwerem Gang über die Welt. Pharmazeutische Fabriken versuchten, angemessen auf die Bedrohung zu reagieren, und wuchsen nach dem Regen wie Pilze. Alle hatten es eilig und vergaßen unter den Bedingungen der im Bau befindlichen Produktion einfach die Tatsache, dass der einzige Kompressorraum für die gesamte Anlage automatisiert werden sollte. Jetzt ernten die technischen Dienste die Früchte ihrer Indiskretion. Jedes Mal, wenn ein Problem an der Kompressorausrüstung auftrat, erfuhr die Betriebsverschiebung davon nur durch einen Druckabfall in der Luftleitung. Die Hauptgefahr der Situation bestand darin, dass Luft als Energieträger für die Anforderungen der Instrumentierung und Automatisierung, einschließlich der Notfallautomatisierung, verwendet wurde. Dementsprechend war es unmöglich, den Druck unter eine bestimmte Schwelle fallen zu lassen.



Die Aufgabe sah folgendermaßen aus:



  • Stellen Sie mit dem vorhandenen Elektronikon Mk5-Gateway Druckdaten und Hauptalarme von zwei Atlas Copco-Kompressoren, zwei Trocknern und einem Luftbehälter bereit.
  • Geben Sie die angezeigten Signale an das SCADA-System aus.
  • Stellen Sie sicher, dass Nachrichten über Unfälle per E-Mail verteilt werden.


Nachdem wir am Boden des Laufs entlanggekratzt hatten, fanden wir einen technologischen Controller M3000-T mit MasterSCADA an Bord - eine relative Neuheit, die wir zuvor nicht verwendet hatten. Davor war NVP "Bolid" meines Wissens nur mit spezieller Automatisierung beschäftigt: Sicherheitssysteme und Brandschutzgeräte. Und im Jahr 2018 hatte jemand eine gute Idee, einen eigenen billigen Controller für den allgemeinen industriellen Einsatz in den vorhandenen Produktionsanlagen herzustellen und auf den Markt zu bringen.





Die Eigenschaften des Geräts haben, wie sie sagen, nicht genügend Sterne vom Himmel: Cortex A9 Core 1,0 GHz, 512 Megabyte RAM, Echtzeituhr, vierhundertfünfundachtzig Schnittstellen, zweihundertdreißig Sekunden Ethernet. Die Gesamtmenge an nichtflüchtigem Speicher beträgt 4 GB. Das Gerät hat keine digitalen oder analogen Ein- / Ausgänge. Der Controller ist mit MasterSCADA 4D über Linux vorinstalliert. Es werden Modbus, Webvisualisierung und alle wichtigen industriellen IEC-Programmiersprachen unterstützt. All dieses Zeug ist in einer dünnen Hülle aus dünnem Kunststoff verpackt, die für das Auto charakteristisch ist. Der Formfaktor ist denen bekannt, die jemals mit Brandschutzsystemen interagiert haben. Die Platzierung der Schnittstellen auf der Platine schien furchtbar unpraktisch - die Kabel müssen direkt in das Gerät gewickelt werden, es gibt keine Staubbeutel für sie,Das Wiedereinsetzen der Lünette ist schwierig. Der eingebaute Entriegelungssensor des Bedienfelds schaltet ständig ab, was unglaublich ärgerlich ist. Die Steuerung ist auf einer Standard-DIN-Schiene montiert.





Sie beschlossen, mit dem physischen Teil zu beginnen - sie fanden einen Platz im Schrank, hängten den Controller auf, erweiterten eine Kommunikationsleitung zum Kompressorraum: 100 Meter eines 4-adrigen feuerfesten Kabels, folienbeschichtet und in Metallpanzerung. Nicht, dass dies ein notwendiges Minimum gewesen wäre, nur die Installation fand unter schwierigen Bedingungen statt, und das übliche UTP müsste in einer Wellhülse durchgeführt werden, was die Arbeitszeit verlängern würde. Anschließend wurde der Controller mit dem lokalen Netzwerk verbunden - alle Vorgänge mit Ausnahme der Erstkonfiguration wurden remote ausgeführt.



Als Montage- und Verbindungstest wurde eine einfache Konfiguration geschrieben, die Informationen darüber anzeigt, ob der Kompressor Nr. 1 ein- oder ausgeschaltet wurde. Daher war zu diesem Zeitpunkt keine Programmierung erforderlich. Mit SCADA können Sie den Status eines logischen Eingangs direkt an das HMI-Element binden (in unserem Fall eine Ellipse, die beim Einschalten des Kompressors grün und beim Ausschalten rot wird).



Hier begannen die ersten Probleme. Erstens musste die SCADA-Lizenz im Voraus aktiviert werden, und zweitens gab es keine ausreichende Dokumentation mit Modbus-Adressierung auf Elektronikon Mk5. Die Lizenzaktivierung sollte theoretisch keine Schwierigkeiten verursacht haben. Wir gehen einfach in den Aktivierungsmodus, holen den Gerätecode, klicken auf "An Entwickler senden" und ... und nichts passiert. Eine Seite mit Kontakten wird nicht angezeigt, ein Formular wird nicht in Outlook erstellt, es erfolgt keine automatische Übermittlung - das System denkt einfach, dass alles in Ordnung ist, die Schaltfläche wird gedrückt, alles Gute. Wir wenden uns der Weisheit des Internets zu und stellen fest, dass der Code kopiert und an die allgemeine E-Mail des MasterSCADA-Entwicklers Insat gesendet werden muss. Nach einiger Zeit (tatsächlich innerhalb eines Tages) sendet der Vertreter des Entwicklers ein Antwortschreiben mit dem Schlüssel. Dieser Schlüssel muss gespeichert werden.und geben Sie den Pfad dazu in der SCADA-Entwicklungsumgebung an. All dies erfolgt manuell, und es ist nicht ganz klar, was zu tun ist, wenn nicht ein oder zwei Controller, sondern eineinhalbhundert vorhanden sind.



Wir bekommen den Schlüssel, speichern ihn, laden ihn - und wieder passiert nichts. Es tritt kein Fehler auf, das System gibt vor zu arbeiten, aber der Lizenzstatus ändert sich nicht. Wir schreiben an den Support, holen einen neuen Schlüssel, installieren ihn und sehen einen Downloadfehler.



Wir versuchen es noch einmal, dann noch eines - das Ergebnis bleibt das gleiche. Während der dritten Iteration stellen wir fest, dass sich der Lizenzstatus geändert hat. Das heißt, der Schlüssel ist geladen und funktioniert ordnungsgemäß, aber das System schwört immer noch, dass der Fehler erfolgreich gemacht wurde.



Die Entwicklungsumgebung lädt das Programm erfolgreich auf die Steuerung hoch, und in der Zwischenzeit fahren wir mit der Auswahl der Modbus-Adressen fort. Manuelles Ein- und Ausschalten des Geräts und Ändern des Status über die eingebauten Bedienfelder.



Durch Versuch und Irrtum wurde festgestellt, dass das Nullregister (Spule) den Status des Geräts verbirgt, das siebte - das Vorhandensein von Alarmen - und der erste Analogeingang für den Druck im Kompressorempfänger und die Taupunkttemperatur im Trockner verantwortlich ist. Wir sammeln Daten über Modbus RTU relativ nahtlos, verarbeiten sie und hier zeigt MasterSCADA seine Stärken.



Erstens ist es ein unglaublich praktisches System zum Binden von Variablen an Objekte. Wir möchten beispielsweise, dass sich die Textfarbe ändert, wenn bei einer diskreten Eingabe ein True-Wert auftritt. Dazu finden wir einfach den gewünschten Eintrag im Entwurfsbaum und ziehen ihn auf den Parameter "Textfarbe" des gewünschten Objekts. Und das war's, die Arbeit ist erledigt - für mich ist es sehr bequem, einfach und intuitiv.



Zweitens ist es ein praktisches Werkzeug zum Erstellen von Visualisierungen. Schöne Vorlagen für HMI, einschließlich animierter.



Drittens der eingebaute Funktionsblock für die Arbeit mit E-Mails, für den überhaupt keine Konfiguration erforderlich ist - ich habe die erforderlichen Adressen und Passwörter eingegeben und alles hat funktioniert.



Nicht ohne Nachteile: Der Designbereich ist unpraktisch organisiert, alles ist auf einem Haufen; Der Bildschirm, auf dem das Rendering ausgeführt wird, ist sehr klein. Im "relativen" Positionierungsmodus wird der Text nach dem Laden der Konfiguration in die Steuerung beängstigend. Dieses Problem wird jedoch durch Umschalten in den "absoluten" Modus gelöst. Es ist nicht intuitiv klar, wie man logischen Funktionsblöcken zusätzliche Eingaben hinzufügt: Die Struktur "A oder B oder C oder D" musste zuerst in "A oder B" und "C oder D" zerlegt werden, und dann wurde die endgültige Disjunktion für die Ergebnisse dieser Operationen durchgeführt ...



Nach bestimmten Tänzen mit Tamburinen gelang es uns, den folgenden Prototyp zu erhalten:





Einfach, billig, wütend - wie es tatsächlich erforderlich ist.



Das System wurde implementiert, gestartet und funktioniert heute erfolgreich. Im Verlauf der Implementierung kamen wir zu dem Schluss, dass der M3000-T + MasterSCADA 4D-Stack derzeit noch feucht ist. Die Entwicklungsumgebung erfordert eine Feinabstimmung und verfügt außerdem über eine gute Auswahl an empfindlichen Fehlern. Unter diesen Bedingungen ist es zumindest unangenehm, etwas kritisch Wichtiges am Auto zu "hängen". Gleichzeitig haben sowohl M3000-T als auch MasterSCADA 4D als eigenständiges Produkt ein klares Potenzial, ihre Nische als bequemes Mittel zur kleinen und mittleren Automatisierung in Bereichen zu besetzen, in denen keine Zuverlässigkeitsvalidierung erforderlich ist.



PS Im Zuge der Weiterentwicklung des in der Post angegebenen Systems wurde es notwendig, ein programmierbares SiemensLOGO-Relais daran anzuschließen. Leider ist nichts dabei herausgekommen - bei äußerlich korrekten Einstellungen funktioniert der Datenaustausch aus irgendeinem Grund nicht. Wenn jemand Erfahrung mit der erfolgreichen Lösung eines solchen Problems hat, werde ich es gerne in den Kommentaren diskutieren.



All Articles