ARIES PLC110[M02]-MS4, HMI, OPC und SCADA oder wie viel Kamillentee eine Person braucht. Teil 1

Guten Tag, liebe Leser dieses Artikels. Ich schreibe dies im Rezensionsformat.

Eine kleine WarnungIch möchte Sie warnen: Wenn Sie anhand des Titels sofort verstanden haben, worum es geht, empfehle ich Ihnen, den ersten Punkt (eigentlich den SPS-Kern) auf alles aus einer eine Stufe höheren Preiskategorie zu ändern.
Subjektiv ist keine Ersparnis so viel Nerven wert.

Für diejenigen, die keine Angst vor ein wenig grauem Haar und der Stärke eines nervösen Ticks haben, werde ich später ausführlich beschreiben, wie dieses technologische Wunder geschaffen wurde. Dieser Artikel bietet eine kurze Analyse des Projekts mit einer gewissen Kritik.

Herkunft. Formulierung des Problems

Eigentlich arbeite ich in einem Designbüro und wir testen Automatisierungsgeräte für die Integration in unsere schlüsselfertigen Fabriken. Kürzlich trafen OWEN-Geräte im Lager ein und es wurde beschlossen, daraus einen Prüfstand zusammenzubauen:

  • PLC110[M02]-MS4 (Führungsumgebung MasterSCADA 4D)
  • Bedienfeld SP307
  • Universelles analoges Signaleingangsmodul МВ110-224.2А
  • MV110-4TD Dehnungsmessstreifen-Signaleingangsmodul
  • Elektrisches Messmodul MV110-220.3M

Systemstruktur wurde mit der Differenzierung der Netzwerke nach Zweck gewählt:

  1. Modbus RTU basierend auf RS-485 – Kommunikation zwischen der SPS und Slave-Geräten (Module, Frequenzumrichter, intelligente Sensoren, HMI-Panel SP307), SPS-Netzwerk-Master.
  2. Modbus TCP basierend auf Ethernet – Kommunikation verschiedener SPSen untereinander und mit dem OPC-Server
  3. Der PC-Server des OPC- und SCADA-Systems 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).
  4. Das Unternehmens-LAN verfügt über einen Proxy-Server über einen Internetzugang

Die allgemeine Struktur des Systems ist in der Abbildung unten dargestellt:

ARIES PLC110[M02]-MS4, HMI, OPC und SCADA oder wie viel Kamillentee eine Person braucht. Teil 1

Integrierte Funktionalität

  • Sammlung und Weiterleitung von Daten von der SPS zum OPC-Server
  • Lokale Steuerung und Überwachung über HMI-Panel
  • Steuerung und Überwachung von SCADA über OPC-Server
  • Steuerung von jedem PC aus über das Unternehmens-LAN und über das Internet mit einem SCADA-Client
  • Anbindung mobiler OPC-Monitore über LAN und Internet
  • Natürlich auch Archivierung und Reporterstellung

Es scheint, als ob nichts verpasst wurde. Es gibt eine allgemeine Beschreibung des Systems und nun eigentlich zum Thema (ich werde Eliminierungsmethoden in Artikeln mit der Implementierung jedes Knotens beschreiben):

Es sind Schwierigkeiten aufgetreten

1. SPS-Dokumentation

Betatests der deklarierten SPS auf dem MasterSCADA 4D-Kern wurden vom Hersteller im Jahr 2012 angekündigt. Trotz einer so beeindruckenden Lebensdauer des Konzepts verfügt der Entwickler im Jahr 2019 nur über ein Programmierhandbuch von 28 (!?) Seiten, auf dem es kaum nützliche Informationen gibt, und Screenshots im Handbuch stammen von MasterSCADA 3D. Das ist ziemlich lustig, wenn man bedenkt, dass sich die Benutzeroberfläche geändert hat.

Ein Forumthread mit 20 Themen wird außerdem von drei Anhängern und einem Vertriebsleiter aktiv unterstützt.

2. Architektur von SPS-Modulen

Dies ist ein separates Diskussionsthema. Kurz gesagt: Die SPS kommuniziert mit den Modulen als Modbus-RTU-Slave-Geräte, die zunächst vom Dienstprogramm separat konfiguriert werden müssen, indem jedes Modul über einen RS-485-Konverter an einen PC angeschlossen wird.

Kluge Kerle wissen natürlich wahrscheinlich, wie man das ohne Konverter über eine SPS macht, indem man Module nacheinander mit dem Netzwerk verbindet und die notwendigen Register schreibt, aber das ist mit Erfahrung und großem Aufwand verbunden.

Für einen Entwickler, der eine solche Architektur zum ersten Mal sieht, ist sie überhaupt nicht benutzerfreundlich.
Außerdem fallen gerne alle analogen Module aus unbekannten Gründen aus und nehmen das gesamte RS-485-Netzwerk in Terra Incognita mit sich, aber darüber möchte ich auch gesondert sprechen, natürlich ein ganzes Epos. Das Problem ist übrigens 10 Jahre alt, der Hersteller lacht darüber „Wir müssen zugeben, dass die Vorlagen bei uns nicht funktioniert haben“Dies ist jedoch die einzige Schnittstelle für die Kommunikation mit Modulen, und die Leute haben, ganz im Ernst, ihre Modbus-RTU-Implementierungen schon seit langem geschrieben.

Mittlerweile ging der Kamillentee zur Neige... Die Sonne ging unter

3. IDE MasterSCADA

Wir werden nicht über grafische Tools sprechen; ich habe sie nicht ausgiebig getestet, aber ich muss gleich sagen, dass es mir nicht gefallen hat.

Wir sprechen über die Implementierung von Datenaustausch und IEC-Standardsprachen:

Physikalische Ein- und Ausgänge der Steuerung sind keine globalen Variablen und können von keinem Teil des Programms aus durch Schreiben eines Alias, z. B. „DI1“, aufgerufen werden. Diese sollte man per Handles in jedes Programm ziehen, dort wird eine lokale Variable gebildet, die den Wert erbt oder weitergibt. Diese. Das eigentliche Wesen der SPS geht meiner Meinung nach ein wenig verloren: Das Gerät sollte die Programmierung der Logik des Betriebs physischer Kanäle auf der Ebene vereinfachen „Wenn Eingang DI1 ausgelöst wird, schalten Sie Ausgang DO1 ein.“und es sieht so aus „Eingang DI1 – Variable LI1 – Variable LO1 – Ausgang DO1“Aufgrund der Unkenntnis dieses IDE-Prinzips können Sie außerdem eine erfreuliche Warnung „Boolean-Boolean-Konvertierung ist unmöglich“ abfangen (höchstwahrscheinlich ist einer davon ein Zeiger, aber ich stelle mir vor, dass er in den Editoren der Ersteller harmonischer ist). .

Die Bibliotheken der ST-, FBD- und SFC-Sprachen sind recht umfangreich und es gibt eine Auswahl zur Vereinfachung der Programmierung. Diese Komponenten sind jedoch keine Funktionen, sondern Klassen, in die Methoden eingebettet sind, und zweitens haben die meisten keine Hilfe bei der Beschreibung die Funktionalität und Datentypen. Die Beharrlichkeit führte mich zu den CodeSys-Kernel-Bibliotheken, wo alle diese Funktionen übernommen wurden, ihre Hilfe hat geholfen.

4. Austausch mit SP307-Panel

Eine recht interessante Veranstaltung für diejenigen, die ein paar Tage nirgendwo verbringen können.

Standardmäßige GUI-Tests (HMI oder SCADA) bestehen für mich aus 6 Tests:

  1. Lesen eines diskreten Signals
  2. Aufnahme eines diskreten Signals
  3. Lesen eines ganzzahligen Werts
  4. Einen ganzzahligen Wert schreiben
  5. Einen echten Wert lesen
  6. Einen echten Wert schreiben

Dementsprechend zeichne ich 6 Grundkomponenten auf dem Bildschirm und überprüfe sie der Reihe nach
Der Austausch erfolgt genau wie bei Modulen, jedoch über einen separaten RS-232/485-SPS-Port und scheint stabiler zu sein. Da es sich um einen HMI-Slave handelt, habe ich ihn per Änderung beschrieben und im 500-ms-Polling gelesen, um die Aktionen des Bedieners nicht zu verpassen.

Die ersten 4 Punkte wurden perfekt abgeschlossen, die Punkte 5 und 6 bereiteten jedoch Probleme.

Wir senden Daten vom Typ Single Float, zeigen sie auf dem Bildschirm an und stellen fest, dass die Daten nicht identisch sind, obwohl alle Ausgabeeinstellungen (Float, Dimensions-1-Register usw.) korrekt sind. Es wäre eine Lüge zu sagen, dass der Präzedenzfall nicht in der Dokumentation beschrieben wird. Versuchen Sie jedoch herauszufinden, welcher und wo, von außen betrachtet ist es lustig.

Nach einer hysterischen Suche aller Einstellungen bezüglich der Daten selbst und ihrer Übermittlung, Wir schreiben an den technischen Support, die Antwort beträgt durchschnittlich 5-6 Kalendertage, wir arbeiten nach dem Standardskript des technischen Supports „Überprüfen Sie, ob der Strom eingeschaltet ist – überprüfen Sie die Softwareversion – bitte warten Sie noch eine Woche – lassen Sie es uns selbst herausfinden.“ ”.

Die Entscheidung wurde übrigens dadurch getroffen, dass ein Häkchen an einer völlig ungeeigneten Stelle mit einer völlig ungeeigneten Signatur installiert wurde.

In Bildschirmfunktionalität Der analoge Signaleingang des „Slider“-Formats ist nicht enthalten, kann nur über 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 und vergessen die sanfte Steuerung eines Laufwerks.

Ich werde den Artikel nicht überladen, deshalb werde ich in Teil 2 Probleme mit der obersten Ebene beschreiben.

Zusammenfassend, Ich möchte anmerken, dass ich ausreichend Freiheit und viel Zeit hatte, um diese Probleme zu lösen, die auf den ersten Blick lustig erscheinen, dem Opfer aber große Schmerzen bereiten. Angesichts der begrenzten Zeit ist es von entscheidender Bedeutung, sich solchen Problemen zu stellen.

PS: Alle hier vorgestellten Thesen sind subjektiv und stellen lediglich den Versuch dar, Unvorbereitete zu warnen und Hersteller nicht zu diskriminieren. Ich bitte Sie, diesen Artikel aus dieser Sicht zu betrachten.

Der zweite Teil ist bereits da: klicken

Source: habr.com

Kommentar hinzufügen