Guten Tag, liebe Leser dieses Artikels. Ich schreibe dies in einem Bewertungsformat
Kleine WarnungIch möchte Sie warnen, dass ich Ihnen, wenn Sie sofort verstanden haben, worum es in der Rede in der Überschrift ging, empfehle, den ersten Artikel (eigentlich den SPS-Kern) in einen Punkt aus der Preiskategorie einen Schritt höher zu ändern.
Kein Sparen kostet subjektiv so viele Nerven.
Für diejenigen, die keine Angst vor einem kleinen grauen Haar und der Amplitude einer nervösen Zecke haben, werde ich später ausführlich beschreiben, wie dieses technologische Wunder geschaffen wurde. In diesem Artikel eine kurze Analyse des Projekts mit einem gewissen Grad an Kritik.
Herkunft. Erklärung des Problems
Eigentlich arbeite ich in einem Konstruktionsbüro und wir testen Automatisierungsgeräte für die Integration in unsere schlüsselfertigen Anlagen. Vor kurzem wurde die Widderausrüstung im Lager empfangen und es wurde beschlossen, einen Prüfstand daraus zu montieren:
- PLC110 [M02] -MS4 (MasterSCADA 4D-Ausführungsumgebung)
- Bedienfeld SP307
- Universelles Eingangsmodul für analoge Signale MV110-224.2A
- Modul zur Eingabe von Signalen von Dehnungsmessstreifen MV110-4TD
- Modul elektrisch MV110-220.3M
Die Struktur des Systems wurde mit der Abgrenzung der Netzwerke nach ihrem Zweck gewählt:
- Modbus RTU basierend auf RS-485 - Kommunikation zwischen SPS und Slaves (Module, Frequenzdiagramme, intelligente Sensoren, Bedienfeld SP307), SPS-Master-Netzwerk.
- Ethernet-basiertes Modbus TCP - Kommunikation zwischen verschiedenen SPS untereinander und mit dem OPC-Server
- Der PC-Server der OPC- und SCADA-Systeme ist gleichzeitig ein Gateway zwischen zwei verschiedenen Netzwerken (Corporate LAN des Unternehmens und Modbus TCP-Netzwerk von Controllern (zwei Netzwerkadapter mit Datenrouting unter Verwendung von Standard-Windows-Tools)).
- Das Unternehmens-LAN verfügt über einen Proxyserver über einen Internetzugang
Die Struktur des Systems im Allgemeinen ist in der folgenden Abbildung dargestellt:

Die integrierte Funktionalität
- Datenerfassung und Umleitung von der SPS zum OPC-Server
- Lokale Verwaltung und Überwachung über das HMI-Panel
- Verwaltung und Überwachung von SCADA über den OPC-Server
- Verwaltung von jedem PC aus dem Unternehmens-LAN und über das Internet mit einem SCADA-Client
- Verbindung von mobilen OPC-Monitoren über LAN und Internet
- Natürlich Berichte archivieren und generieren
Es scheint, dass sie nichts verpasst haben. Es gibt eine allgemeine Beschreibung des Systems und nun tatsächlich zum Thema (ich werde die Lösungen in den Artikeln mit der Implementierung jedes Knotens beschreiben):
Schwierigkeiten
1. SPS-DokumentationDer Beta-Test der deklarierten SPS auf dem MasterSCADA 4D-Kern wurde 2012 vom Hersteller festgelegt. Trotz dieser beeindruckenden Zeit des Bestehens des Konzepts verfügt der Entwickler 2019 lediglich über einen Programmierleitfaden auf 28 (!?) Seiten, auf denen weniger nützliche Informationen enthalten sind, sowie Screenshots im Handbuch von MasterSCADA 3D, mit denen es ziemlich lustig ist vorausgesetzt, die Schnittstelle hat sich geändert.
Ebenfalls aktiv unterstützt von drei Adepten und einem Verkaufsleiter ist ein Forenthread in 20 Themen.
2. Architektur von SPS-ModulenDies ist ein separates Diskussionsthema. Kurz gesagt: Die SPS kommuniziert mit Modulen wie mit Modbus RTU-Slave-Geräten, die zuerst vom Dienstprogramm konfiguriert werden müssen, indem sie jeweils separat über einen RS-485-Konverter an einen PC angeschlossen werden.
Intelligente Onkel wissen natürlich wahrscheinlich, wie man dies ohne einen Konverter über die SPS macht, indem sie die Module nacheinander mit dem Netzwerk verbinden und die erforderlichen Register schreiben, aber dies bringt Erfahrung und eine Menge Schmerz mit sich.
Für einen Entwickler, der eine solche Architektur zum ersten Mal gesehen hat, ist sie überhaupt nicht benutzerfreundlich.
Außerdem fallen alle analogen Module aus unbekannten Gründen aus und nehmen das gesamte RS-485-Netzwerk in Terra Incognita mit, aber ich möchte auch separat darüber sprechen, natürlich ein ganzes Epos. Das Problem ist übrigens ungefähr 10 Jahre alt, der Hersteller lacht über
"Wir müssen zugeben, dass die Vorlagen fehlgeschlagen sind" , aber dies ist die einzige Schnittstelle für die Kommunikation mit Modulen, und die Leute haben ihre Modbus RTU-Implementierungen schon lange geschrieben.
In der Zwischenzeit ging Kamillentee aus ... Die Sonne ging bei Sonnenuntergang unter3. IDE MasterSCADAWir werden nicht über Grafikwerkzeuge sprechen, ich habe nicht viel getestet, aber ich werde sofort sagen, dass es mir nicht gefallen hat.
Wir sprechen über die Implementierung des Datenaustauschs und der Sprachen der IEC-Norm:Die physischen Eingänge der Controller-Pins sind keine globalen Variablen und können von keinem Teil des Programms aus durch Schreiben eines Alias, z. B. "DI1", aufgerufen werden. In jedem Programm sollten Sie es mit Handles ziehen, dort wird eine lokale Variable gebildet, die den Wert erbt oder übergibt. Das heißt, Das Wesentliche der SPS ist meiner Ansicht nach ein wenig verloren: Das Gerät sollte die Programmierung der Logik der physischen Kanäle auf den Pegel
„Wenn der Eingang DI1 funktioniert hat - schalten Sie den Ausgang DO1 ein“ vereinfachen , und es sieht so aus:
„Eingang DI1 - Variable LI1 - Variable LO1 - Ausgang DO1“ , Auch aufgrund der Unkenntnis dieses IDE-Prinzips kann man die entzückende Warnung „Boolesche-Boolesche Transformation ist unmöglich“ abfangen (höchstwahrscheinlich ist diese ein Zeiger, aber ich präsentiere sie den Schöpfern als harmonischer).
Die Sprachbibliotheken ST, FBD, SFC sind ziemlich umfangreich und es gibt eine Auswahl für die Programmierfreundlichkeit. Diese Komponenten sind jedoch keine Funktionen, sondern Klassen, in denen Methoden genäht werden, und zweitens gibt es zum größten Teil keine Hilfe bei der Beschreibung der Funktionalität und der Datentypen. Die Persistenz führte mich zu den CodeSys-Kernbibliotheken, in denen all diese Funktionen übernommen wurden und deren Hilfe half.
4. Tauschen Sie mit dem SP307-Bedienfeld ausEine interessante Veranstaltung für diejenigen, die ein paar Tage nirgendwo verbringen können.
Standard-GUI-Tests (HMI oder SCADA) bestehen für mich aus 6 Tests:
- Diskretes Signal lesen
- Diskrete Signalaufzeichnung
- Ganzzahligen Wert lesen
- Schreiben eines ganzzahligen Werts
- Realen Wert lesen
- Aufzeichnung eines Materialwertes
Dementsprechend zeichne ich 6 primitive Komponenten auf den Bildschirm und überprüfe jede Reihenfolge
Der Austausch ist genau der gleiche wie bei den Modulen, jedoch über einen separaten RS-232/485-SPS-Port und scheint stabiler zu sein. Da das HMI ein Slave ist, habe ich ihm bezüglich der Änderung geschrieben und es mit einer Abfrage von 500 ms gelesen, um die Aktionen des Bedieners nicht zu verpassen.
Die ersten 4 Punkte waren ausgezeichnet, aber 5 und 6 verursachten Probleme.
Wir senden Daten vom Typ Single Float, auf dem Bildschirm zeigen wir sie an und stellen fest, dass die Daten nicht identisch sind, obwohl alle Ausgabeeinstellungen (Float, Dimension 1-Register usw.) korrekt sind. Es wäre falsch zu sagen, dass der Präzedenzfall nicht in der Dokumentation beschrieben ist, aber versuchen Sie herauszufinden, in welchem und wo es von der Seite lustig ist.
Nach einer hysterischen Aufzählung aller Einstellungen in Bezug auf die Daten selbst und deren Senden
schreiben wir an den technischen Support. Die Antwort lautet durchschnittlich 5-6 Kalendertage. Wir arbeiten gemäß dem Standard-Skript für den technischen Support dich selbst .
"Übrigens habe ich beschlossen, ein Häkchen an einer absolut unangemessenen Stelle mit einer absolut unzureichenden Signatur anzubringen.
Die Bildschirmfunktion
beinhaltet nicht die Eingabe eines analogen Signals im Format „Runner“ , sondern kann nur in Zahlen in das Textfeld eingegeben werden. Das ist einfach erstaunlich. Entweder schreiben wir die "±" -Tasten und das Skript selbst oder wir geben eine Zahl über die Tastatur ein. Wir vergessen die Soft-Steuerung eines Laufwerks.
Ich werde den Artikel nicht überladen, daher werde ich die Probleme mit der oberen Ebene in Teil 2 beschreiben.
Zusammenfassend möchte ich
festhalten, dass ich genug Freiheit und viel Zeit hatte, um diese Probleme zu lösen, die auf den ersten Blick lächerlich erscheinen, dem Opfer aber viel Schmerz bereiten. Unter zeitlich begrenzten Bedingungen sind solche Probleme kritisch.
PS: Alle hier vorgestellten Thesen sind subjektiv und nur ein Versuch, die Unvorbereiteten zu warnen und die Hersteller nicht zu diskriminieren. Bitte behandeln Sie diesen Artikel unter diesem Gesichtspunkt.
Der zweite Teil ist schon da: Klicken