OVEN PLC110[M02]-MS4, HMI, OPC und SCADA, oder wie viel Kamillentee man braucht. Teil 1

Guten Tag, liebe Leser dieser Artikel. Ich schreibe dies in Form einer Überblicks

Eine kleine VorwarnungIch möchte darauf hinweisen, dass, wenn Sie aus dem Titel sofort verstanden haben, worum es geht, ich empfehlen würde, den ersten Punkt (nämlich den PLC-Kern) durch etwas aus der höheren Preiskategorie zu ersetzen.
Keine Ersparnis ist den Stress wert, subjektiv gesehen.

Für diejenigen, die sich von einer kleinen grauen Haarsträhne und einem leichten Nervenzucken nicht abschrecken lassen, werde ich später detailliert beschreiben, wie dieses technische Wunder entstanden ist. In diesem Artikel jedoch eine kurze Analyse des Projekts mit einem gewissen kritischen Blick.

Die Entstehung. Das Aufgabenset

Ich arbeite in einem Ingenieurbüro, und wir testen Automatisierungsgeräte zur Integration in unsere schlüsselfertigen Fabriken. Kürzlich kam die OVEN-Ausrüstung ins Lager, und wir haben beschlossen, einen Teststand aufzubauen:

  • PLC110[M02]-MS4 (Ausführungsumgebung MasterSCADA 4D)
  • Bedienfeld СП307
  • Modul für universellen analogen Eingang MB110-224.2A
  • Modul für den Eingang von Dehnungsmesssignal MB110-4TD
  • Modul für elektrische Messungen MB110-220.3M

Systemstruktur wurde mit einer Trennung der Netzwerke nach Zweck ausgewählt:

  1. Modbus RTU basierend auf RS-485 – Kommunikation von SPS mit untergeordneten Geräten (Module, Frequenzumrichter, intelligente Sensoren, HMI-Panel SP307), Master-SPS im Netzwerk.
  2. Modbus TCP über Ethernet – Kommunikation zwischen verschiedenen SPS und dem OPC-Server.
  3. PC-der Server OPC- und SCADA-Systeme fungieren gleichzeitig als Gateway zwischen zwei verschiedenen Netzwerken (Unternehmens-LAN und Modbus TCP-Netzwerk der Steuerungen mit zwei Netzwerkkarten und Datenrouting über Standardmittel von Windows).
  4. Das Unternehmens-LAN hat einen Zugang zum Internet über einen Proxy-Server.

Der allgemeine Aufbau des Systems ist im Bild unten dargestellt:

OVEN PLC110[M02]-MS4, HMI, OPC und SCADA, oder wie viel Kamillentee man braucht. Teil 1

Integrierte Funktionalität

  • Erfassung und Weiterleitung von Daten von SPS an den OPC-Server.
  • Lokale Verwaltung und Überwachung über das HMI-Panel.
  • Verwaltung und Überwachung aus SCADA über den OPC-Server.
  • Verwaltung von jedem PC im Unternehmens-LAN und über das Internet mit einem SCADA-Client.
  • Anschluss mobiler OPC-Monitore über LAN und Internet.
  • Selbstverständlich auch Archivierung und Reportgenerierung.

Es scheint, als hätten wir nichts vergessen. Eine allgemeine Beschreibung des Systems liegt vor, und jetzt kommen wir zum Thema (Methoden zur Problemlösung werde ich in Artikeln mit der Implementierung jedes Moduls beschreiben):

Aufgekommenen Schwierigkeiten

1. Dokumentation zum PLC

Die Beta-Tests des angekündigten PLC auf dem MasterSCADA 4D Kern wurden 2012 vom Hersteller festgelegt. Trotz dieser langen Zeitspanne gibt es im Jahr 2019 von dem Entwickler nicht viel mehr als ein 28(!?)-seitiges Programmierhandbuch, das kaum nützliche Informationen enthält, und die Screenshots im Handbuch stammen aus MasterSCADA 3D, was in Anbetracht des geänderten Interfaces recht amüsant ist.

Außerdem wird der Diskussionsstrang im Forum aktiv von drei Fachleuten und einem Vertriebsmanager in 20 Themen unterstützt.

2. Architektur der PLC-Module

Dies ist ein separates Thema für eine Diskussion. Kurz gesagt: PLC kommuniziert mit den Modulen wie mit Modbus RTU Slave-Geräten, die zuvor mithilfe eines Dienstprogramms konfiguriert werden müssen, wobei jedes Modul über einen RS-485-Adapter mit dem PC verbunden wird.

Fachkundige Personen können dies sicherlich auch ohne Adapter über den PLC durchführen, indem sie die Module nacheinander ins Netzwerk einfügen und die erforderlichen Register schreiben, aber dies kommt mit Erfahrung und einer Menge Schmerz.

Für einen Entwickler, der eine solche Architektur zum ersten Mal sieht, ist das ganz und gar nicht benutzerfreundlich.
Auch alle analogen Module neigen dazu, aus unbekannten Gründen auszufallen und ziehen dabei das gesamte RS-485-Netzwerk in Terra Incognita mit sich. Darüber möchte ich auch gesondert berichten; es ist natürlich eine ganze Geschichte. Dieses Problem besteht übrigens seit etwa 10 Jahren, und der Hersteller macht Scherze darüber. „Es muss festgestellt werden, dass uns die Vorlagen nicht gelungen sind.“, jedoch ist dies die einzige Kommunikationsschnittstelle mit den Modulen, und die Leute haben ernsthaft ihre Implementierungen von Modbus RTU längst beschrieben.

In der Zwischenzeit ging der Kamillentee zur Neige… Die Sonne sank unter den Horizont.

3. IDE MasterSCADA

Über grafische Werkzeuge wollen wir nicht reden, ich habe sie nicht intensiv getestet, aber ich kann gleich sagen, dass sie mir nicht gefallen haben.

Wir sprechen über die Umsetzung des Datenaustauschs und die Standardsprache der IEC:

Die physikalischen Eingänge und Ausgänge des Controllers sind keine globalen Variablen und können nicht aus jedem Teil des Programms heraus angesprochen werden, indem man beispielsweise ein Alias wie „DI1“ schreibt. Jedes Programm muss manuell mit diesem verbunden werden; dort wird eine lokale Variable gebildet, die das Wert erbt oder weitergibt. Das bedeutet, dass das Wesen des PLC, in meiner Sicht, etwas verloren gegangen ist: Das Gerät sollte das Programmieren der Logik der physikalischen Kanäle auf ein einfaches Niveau erleichtern. «Wenn der Eingang DI1 aktiviert wird – aktivieren wir den Ausgang DO1», und so sieht das aus «Eingang DI1 – Variable LI1 – Variable LO1 – Ausgang DO1», auch wenn man dieses Prinzip nicht kennt, kann die IDE eine überraschende Warnung ausgeben: „Boolean-Boolean-Konvertierung nicht möglich“ (wahrscheinlich ist einer davon ein Zeiger, aber in der Version der Entwickler klingt das harmonischer).

Die Bibliotheken der Sprachen ST, FBD, SFC sind recht umfangreich und bieten eine Auswahl für die bequeme Programmierung, jedoch sind diese Komponenten keine Funktionen, sondern Klassen, in denen Methoden fest codiert sind, und zudem fehlt den meisten eine Hilfedokumentation mit einer Beschreibung der Funktionalitäten und Datentypen. Mein Durchhaltevermögen führte mich zu den Kernbibliotheken von CodeSys, wo all diese Funktionen herkommen, und deren Dokumentation war hilfreich.

4. Austausch mit der SP307-Konsole

Eine ziemlich interessante Veranstaltung für diejenigen, die ein paar Tage zu verbringen haben.

Standard-GUI (HMI oder SCADA) Tests für mich bestehen darin, 6 Proben zu erstellen:

  1. Lesen des digitalen Signals
  2. Schreiben des digitalen Signals
  3. Lesen eines Ganzzahlwerts
  4. Schreiben eines Ganzzahlwerts
  5. Lesen eines Fließkommawerts
  6. Schreiben eines Fließkommawerts

Dementsprechend zeichne ich 6 grundlegende Komponenten auf dem Bildschirm und überprüfe sie nacheinander.
Der Austausch erfolgt exakt wie bei den Modulen, jedoch von einem separaten RS-232/485 PLC-Port, und scheint stabiler zu sein. Da es sich um einen HMI-Slave handelt, habe ich damit gearbeitet, indem ich Änderungen in ihn geschrieben habe und alle 500 ms polling durchgeführt habe, um die Aktionen des Bedieners nicht zu verpassen.

Die ersten 4 Punkte wurden ausgezeichnet umgesetzt, jedoch gab es Probleme mit den Punkten 5 und 6.

Wir senden Daten des Typs Single Float, zeigen sie auf dem Bildschirm an und stellen fest, dass die Daten nicht korrekt sind, obwohl alle Ausgabe-Einstellungen (Float, Dimension 1 Register usw.) korrekt eingestellt sind. Es wäre eine Lüge zu sagen, dass es in der Dokumentation keinen solchen Fall gibt, jedoch versuchen Sie einmal, herauszufinden, wo und in welchem Kontext — das ist schon etwas amüsant.

Nach einer panischen Durchsicht aller Einstellungen, die die Daten und deren Übertragung betreffen, kontaktieren wir den technischen Support, die Antwortzeit beträgt durchschnittlich 5-6 Kalendertage. Wir arbeiten nach dem Standardverfahren des technischen Supports: „Überprüfen Sie, ob die Stromversorgung eingeschaltet ist - überprüfen Sie die Softwareversion - warten Sie bitte eine weitere Woche - gehen wir selbst das Problem an“.

Übrigens wurde das Problem durch das Setzen eines Häkchens an einem völlig unangemessenen Ort mit einer absolut unangemessenen Beschriftung gelöst.

In der Funktionalität des Bildschirms Der analoge Eingang im Format "Slider" ist nicht belegt., nur Zahlen können in das Textfeld eingegeben werden. Das ist einfach großartig, entweder wir verwenden die Tasten „±“ und das Skript selbst oder wir geben die Zahl über die Tastatur ein, während wir das sanfte Management eines Antriebs ignorieren.

Ich möchte den Artikel nicht überladen, daher werde ich die Probleme auf oberster Ebene in Teil 2 beschreiben.

Zusammenfassend möchte ich betonen, dass ich genügend Freiheit und Zeit hatte, um diese Probleme zu lösen, die auf den ersten Blick lächerlich erscheinen, aber viel Schmerz für den Betroffenen verursachen. In Zeiten begrenzter Fristen ist es kritisch, mit solchen Problemen konfrontiert zu werden. P.S.: Alle hier dargelegten Thesen sind subjektiv und sollen lediglich unvorbereitete Nutzer warnen, nicht aber Hersteller diskriminieren. Ich bitte, diesen Artikel aus dieser Perspektive zu betrachten.

Der zweite Teil ist bereits hier:

klicken wir klicken wir

Quelle: habr.com

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster