Konfiguration des HART-Protokolls in Redul PLC
Dieses Tutorial enthält Informationen zum Einrichten der Datenübertragung mit dem HART-Protokoll auf die industrielle SPS-Steuerungen der Serie Redul RX00. Die Einrichtung wird mit der Software Sigma LD durchgeführt.
Erste Schritte
Installieren Sie die Sigma LD Software auf dem Computer. Eine Beschreibung der Programminstallation, sowie Hinweise zum Arbeiten mit dem Programm finden Sie im Dokument “Sigma LD Software. Benutzerhandbuch”. Das Installationsprogramm und die Dokumentation finden Sie unter https://gp-systems.com/ .
Starten Sie das Programm Sigma LD. Öffnen Sie das Projekt, in dem Sie den Controller für die HART-Kommunikation konfigurieren möchten. Wenn kein solches Projekt vorhanden ist, erstellen Sie es mit dem Assistenten für die Regul-Konfiguration (Anweisungen finden Sie im Dokument Sigma LD Software. Benutzerhandbuch).
HART-Konfigurationsschritte
Die HART-Konfiguration beginnt mit dem Hinzufügen eines HART-Masters zum Projekt, dem wiederum Hart-Outer-Slave-Endgeräte hinzugefügt werden müssen, die direkt Daten über das HART-Protokoll austauschen. Bei Verwendung von HART-fähigen I/O-Modulen im Projekt (siehe die entsprechende Modulbeschreibung im Systemhandbuch) wird ein HART-Master direkt an das I/O-Modul hinzugefügt (siehe Abschnitt “HART-Geräte zum analogen I/O-Modul hinzufügen”).
In Fällen, in denen ein Datenaustausch mit HART-Geräten über ein externes HART-Modem mit serieller Schnittstelle oder mit Geräten, die nur den digitalen Teil des HART-Protokolls verwenden, über einen seriellen Kanal erforderlich ist, sind die folgenden HART-Master-Verbindungen möglich:
- Dem Projekt wird ein Kommunikationsmodul mit der erforderlichen Anzahl von seriellen Schnittstellen (Extended Redul Serial Port) hinzugefügt, an die jeweils ein HART-Master angeschlossen werden kann (siehe Abschnitt “Hinzufügen von HART-Geräten zu Kommunikationsmodulen”).
- Der HART-Master wird direkt an die serielle Schnittstelle (Redul Serial Port) des CPU-Moduls angefügt (siehe Abschnitt “HART-Geräte direkt an das CPU-Modul anfügen”).
Als nächstes müssen Sie im Projekt Objekte vom Typ HartDevice anlegen. Dies sind Container, die HART-Kommandos für das Slave-Gerät enthalten. Der nächste Schritt besteht darin, dem Container Befehle hinzuzufügen (siehe Abschnitt “Hinzufügen benutzerdefinierter HART-Befehle”).
In einer IEC-Applikation sollte eine Befehlsvariable des entsprechenden Typs deklariert werden. Als nächstes müssen Sie den Container mit den Befehlen an das Slave-Gerät binden und die deklarierte Variable an die Befehlsparameter binden (siehe Abschnitt “Variablen deklarieren und Variablen mit Befehlen verknüpfen”).
Um das HART-Kommando in der IEC-Applikation auszuführen, wird ein Verarbeitungszyklus mit einer Analyse des Status des Kommandos organisiert. Und wenn der Befehl von der Ausführungsphase in den Status Ok übergeht, werden die empfangenen Daten verarbeitet. Der Wert Ok wird bei erfolgreichem Empfang einer Antwort vom Gerät und deren fehlerfreier Verarbeitung gesetzt (siehe Kapitel “Verarbeitung der Ausführung eines Befehls).
HART-Konfigurationsschritte
Punkt-zu-Punkt-Betrieb. Wenn ein HART-Gerät an einen Ein-/Ausgang eines Analogmoduls mit HART-Unterstützung angeschlossen wird, dann stehen sowohl der aktuelle Wert vom Sensor (sein Primärwert, PV) als auch der Datenaustausch mit dem Gerät über das HART-Protokoll zur Verfügung. Gleichzeitig wird gemäß der HART-Spezifikation empfohlen, im Gerät die Adresse 0 einzustellen und die Verwendung des Stromsignalmodus zu aktivieren (Werkseinstellungen).
Multi-Drop-Modus. Wenn mehrere* HART-Geräte an einen Ein-/Ausgang angeschlossen sind, werden ihnen eindeutige Adressen auf dem Bus zugewiesen und das Stromsignal wird auf den für die Funktion des Geräts erforderlichen Mindestwert (4 mA) umgerechnet. In diesem Fall funktioniert nur der digitale Teil des HART-Protokolls – der Austausch von Kommandos. Zusätzlich wird auf der Hart_Outer_Slave-Ebene der Zugriff auf einen Kanal des Moduls synchronisiert – nach der Erfassung und Ausführung eines Anforderungsversuchs (erfolgreich oder mit einem Fehler) wird dem Hart_Outer_Slave-Objekt die Freigabe des Kanals für eine bestimmte Zeitspanne (100 ms) garantiert.
Gemäß der HART-Spezifikation wird die Busarbitrierung in Höhe der Zusammenarbeit mit dem zweiten Master unterstützt.
* An die HART-fähigen E/A-Module der Serie Redul BX00 können bis zu 10 HART-Geräte pro Kanal angeschlossen werden.
Hinzufügen und Konfigurieren von HART-Geräten
Das Prinzip des Hinzufügens von Geräten und Objekten zur Controller-Konfiguration
So fügen Sie ein Gerät zur Controller-Konfiguration hinzu:
- Setzen Sie den Cursor im Gerätebaumfenster auf den Namen des Geräts, zu dem das neue Gerät hinzugefügt werden soll. Drücken Sie die rechte Maustaste;
- Wählen Sie im erscheinenden Kontextmenü Gerät hinzufügen … (Abbildung 1).
Abbildung 1. Kontextmenü
Es öffnet sich das Fenster Gerät hinzufügen in dem standardmäßig die Liste der Geräte angezeigt wird, die dem Benutzer aktuell zum Einfügen zur Verfügung steht, z. B. beim Hinzufügen eines Racks – eine Liste der Racks, beim Platzieren von Modulen in einem Rack – eine Liste der Module (Abbildung 2).
Abbildung 2. Fenster Gerät hinzufügen
Wählen Sie das gewünschte Gerät aus, klicken Sie auf die Schaltfläche Gerät hinzufügen oder doppelklicken Sie mit der linken Maustaste. Das ausgewählte Gerät erscheint im Projekt im Gerätebaum.
Um ein Objekt zur Controller-Konfiguration hinzuzufügen, wird ebenfalls das über die rechte Maustaste aufgerufene Kontextmenü verwendet. Wählen Sie im Menü den Punkt Objekt hinzufügen … (Abbildung 3).
Abbildung 3. Hinzufügen eines Objekts zur Controller-Konfiguration
Hinzufügen von HART-Geräten zu analogen I/O-Modulen
Fügen Sie im Gerätebaumfenster ein HART-fähiges analoges I/O-Modul zum Crate hinzu (Abbildung 4).
Abbildung 4. Modul AI 16 081 zur Controller-Konfiguration hinzugefügt
Sie können jedem analogen I/O-Modul einen oder mehrere HART-Master hinzufügen, von denen jeder ein Container für mehrere Hart-Outer-Slave-Geräte ist. Die maximale Anzahl von HART-Mastern wird durch die Anzahl der Kanäle im Modul bestimmt.
Als nächstes müssen Sie einen oder mehrere externe Slaves an das Hart Master Gerät anschließen, die vom Controller Hart-Master Hart-Outer-Slave abgefragt werden (Redul => Hart => Hart Master => Hart Outer Slave) (Abbildung 5).Die maximale Anzahl der Geräte beträgt 10.
Abbildung 5. Hinzufügen von Hart-Outer-Slave-Geräten
Doppelklicken Sie auf den Gerätenamen Hart Master Gerätenamen, um die Registerkarte Optionen zu öffnen (Abbildung 6).
Abbildung 6. Hart-Master-Geräteparameter
Wenn der HART-Master an ein mehrkanaliges I/O-Modul mit HART-Unterstützung angeschlossen ist, wird das Feld Kanalnummer im Modul im HART-Master-Editor angezeigt. Verwenden Sie die Pfeile oder stellen Sie den Wert manuell ein – die Kanalnummer im Modul, an das das Hart-Outer-Slave-Gerät angeschlossen ist und über das es abgefragt wird.
Hinweis: Bei Anschluss des HART-Masters über die serielle Schnittstelle ist die Kanalauswahl im Modul nicht erforderlich, das Feld wird im HART-Master-Editor nicht angezeigt
Durch Aktivieren des Kontrollkästchens im Feld Debug-Modus wird der Modus zum Hinzufügen der Debug-Meldungen des HART-Assistenten zum Controller-Protokoll aktiviert.
Im Feld Sekundär-Assistent ist das Kästchen standardmäßig nicht markiert und das Gerät agiert als primärer HART-Master. Um den Mastertyp als sekundären HART-Master einzustellen, aktivieren Sie das Kontrollkästchen.
Doppelklicken Sie auf den Namen des Geräts Hart Outer Slave , um die Registerkarte Optionen zu öffnen. Standardmäßig öffnet sich die erste interne Registerkarte Hart Outer Slave Settings. (Abbildung 7).
Abbildung 7. Hart Outer Slave Einstellungen
Das Setzen des Kontrollkästchens im Feld Debug-Modus aktiviert den Debug-Modus mit Tracing im Protokoll der Steuerung.
Der Benutzer kann die folgenden Parameter konfigurieren:
- Slave Adresse – Adresse des Endgerätes (0-15), die im Universal-Identifikationsbefehl (Universal Command 0) bei der Erstabfrage von Geräten am Bus verwendet wird;
- Slave timeout – maximaler Timeout für das Warten auf eine Antwort von einem HART-Gerät, ms;
- Verhalten im STOP-Modus – Verhalten im STOP-Modus Gibt an, was zu tun ist, wenn der RUN / STOP-Schalter des CPU-Moduls auf die Position STOP gestellt wird: Die Option Keine Aktivität bedeutet, dass die Abfrage gestoppt wird, die Option Normalbetrieb bedeutet, dass der normale Betrieb fortgesetzt wird;
- Präambel-Länge – Senden einer Gruppe von Bytes 0xFF vor jedem Befehl, notwendig zur Synchronisation der Empfänger auf dem Bus. Für Universal Command 0 werden immer 20 Präambelzeichen verwendet;
- Anzahl der Versuche – die Anzahl der Versuche, jeden Befehl abzuschließen.
Fügen Sie dem Crate ein Kommunikationsmodul hinzu. Fügen Sie ihm das Objekt Extended Redul Serial Port (virtuelle serielle Schnittstelle) hinzu (Abbildung 8). Sie können mehrere Erweiterungsschnittstellen hinzufügen.
Jeder Hart-Master sollte an jeden Erweiterungsport angeschlossen werden. Als nächstes müssen Sie einen oder mehrere externe Slaves an das Hart-Master-Gerät anschließen, die vom Controller abgefragt werden (Redul => Hart => Hart Master => Hart Outer Slave) (Abbildung 8). Die maximale Anzahl der Geräte beträgt 10.
Abbildung 8. Hinzufügen des Extended Redul Serial Port und der HART-Geräte zum CP-Modul
Doppelklicken Sie im Gerätebaumfenster auf den Anschlussnamen, um die Hauptregisterkarte für die Anschlusseinstellungen zu öffnen. Gehen Sie auf die interne Registerkarte Serielle Anschlusseinstellungen (Abbildung 9).
Die Portnummer wird automatisch eingestellt (sie wird erhöht, wenn ein neues Extended Redul Serial Port-Gerät hinzugefügt wird).
Für HART stellen Sie die folgenden Parameter ein:
- Geschwindigkeit – 1200;
- Anzahl der Datenbits – 8;
- Parity – auf Unregelmäßigkeit prüfen;
- Anzahl der Stoppbits – Der Standardwert ist 1.
Die Einstellungen für die Geräte Hart Master und Hart Outer Slave sind ähnlich wie bei den analogen I/O-Modulen beschrieben.
Abbildung 9. Einstellungen der seriellen Schnittstelle
Hinzufügen von HART-Geräten direkt an das CPU-Modul.
Hinzufügen von HART-Geräten direkt an das CPU-Modul.
Abbildung 10. Hinzufügen einer seriellen Schnittstelle
Sie können bis zu zwei serielle Schnittstellen hinzufügen.
Fügen Sie einen Hart Master an der seriellen Schnittstelle hinzu. Als nächstes müssen Sie einen oder mehrere externe Slaves an das Hart Master-Gerät anschließen, die von der Steuerung abgefragt werden (Redul => Hart => Hart Master => Hart Outer Slave). Die maximale Anzahl der Geräte beträgt 10.
Die Einstellungen der seriellen Schnittstelle sowie die Einstellungen für die Geräte Hart Master und Hart Outer Slave sind in den vorherigen Abschnitten beschrieben.
Hinzufügen von HART-Benutzerkommandos
Hinzufügen von HartDevice Containern
Alle Benutzerkommandos, die beim Austausch von Daten über das HART-Protokoll verwendet werden, werden in speziellen HartDevice Objekten gespeichert, die Container für Kommandos sind. Damit können Sie Befehle für bestimmte Sensoren und andere abgefragte Geräte gruppieren. Jeder Container kann viele verschiedene Befehle enthalten. An jedes Slave-Gerät kann aber nur ein HartDevice -Container gebunden werden.
So fügen Sie einen Container hinzu:
- im Fenster des Gerätebaums den Cursor auf das Objekt Anwendung setzen, mit der rechten Maustaste das Kontextmenü Add object … => HartDevice … aufrufen;
- the Add HartDevice Fenster öffnet sich. Geben Sie im Feld Name den Namen des Containers an. Das kann zum Beispiel der Name des Sensors (des abgefragten Geräts) sein (Abbildung 11). Klicken Sie auf die Schaltfläche Hinzufügen.
Abbildung 11. Hinzufügen eines Containers
Hinweis: Später kann der Container bei Bedarf umbenannt werden (im Gerätebaum).Ein Objekt vom Typ HartDevice wird in den Gerätebaum eingefügt. Der HartDevice-Editor öffnet sich automatisch (Abbildung 12).
Abbildung 12. HART-Geräte-Editor
Click the Find all hart devices button. In the Select hart device field: a list of all containers of the HartDevice type available in the current project and in all connected libraries will be displayed (Figure 13).
Abbildung 13. HART-Geräte-Editor
Ein Objekt namens DefaultHartDeviceRev6 ist ein Container mit einem Satz universeller und allgemeiner Kommandos, die in der HART Revision 6.0 Spezifikation verwendet werden. Das Präfix uni_ bedeutet, dass es sich um ein Kommando aus der HART (Universal Command Specification) Spezifikation handelt, Cmn_ ist ein Kommando aus der Common Practice Command Specification. Der Container ist Teil der PsIoDrvHartMaster-Bibliothek, die wiederum automatisch zusammen mit einem Paket installiert wird, das Einstellungen für die HART-Kommunikation enthält. Somit kann der Anwender standardmäßig auf den Container zugreifen, aus dem die notwendigen Kommandos importiert werden können, und muss diese nicht manuell erstellen.
Hinzufügen von HartDevice Containern
Um den vordefinierten Satz von Befehlen im Hartgeräte-Editor zu verwenden, wählen Sie im Feld Hartes Gerät auswählen: DefaultHartDeviceRev6. Im rechten Teil des Fensters, im Bereich Befehle auswählen: wird eine Liste aller in diesem Container verfügbaren Befehle angezeigt. Aktivieren Sie die Kontrollkästchen für die gewünschten Befehle und klicken Sie auf die Schaltfläche Ausgewählte Befehle importieren. Die Befehle werden in den Benutzer-Container kopiert (Abbildung 14).
Abbildung 14. Importieren von Befehlen
Um die Parameter eines Befehls anzuzeigen, doppelklicken Sie auf den Namen des Befehls. Der harte Befehlseditor wird geöffnet (Abbildung 15).
Abbildung 15. HART-Kommando-Editor
In diesem Fall werden die in Abbildung 1 gezeigten TypeDefinition-Knoten im Adressraum des UA-Servers vorhanden sein.
und die folgenden Variablen:und die folgenden Variablen:und die folgenden Variablen:
und die folgenden Variablen:
und die folgenden Variablen:und die folgenden Variablen:
Abbildung 1. Darstellung der Datentypen im Adressraum
Alle IEC 61131-3-Applikationsdaten befinden sich unter dem Knoten Root.Objects.IEC_DATA (Abbildung 2)
Abbildung 2. Anwendungsdaten
Übersetzung von elementaren Datentypen
Elementare Datentypen aus IEC-Anwendungen werden gemäß Tabelle 1 in UA-Protokoll-Datentypen übersetzt.
IEC | UA | Node ID | Note |
---|---|---|---|
BOOL | Boolean | 0:01 | |
BIT | Byte | 0:03 | |
BYTE | Byte | 0:03 | |
WORD | UInt16 | 0:05 | |
DWORD | UInt32 | 0:07 | |
LWORD | UInt64 | 0:09 | |
SINT | SByte | 0:02 | |
INT | Int16 | 0:04 | |
DINT | Int32 | 0:06 | |
LINT | Int64 | 0:08 | |
USINT | Byte | 0:03 | |
UINT | UInt16 | 0:05 | |
UDINT | UInt32 | 0:07 | |
ULINT | UInt64 | 0:09 | |
REAL | Float | 0:10 | |
LREAL | Double | 0:11 | |
STRING | String | 0:12 | |
WSTRING | String | 0:12 | |
TIME | UInt32 | 0:07 | number of milliseconds past 00:00 |
DATE | DateTime | 0:13 | |
DATEANDTIME | DateTime | 0:13 | |
TIMEOFDAY | DateTime | 0:13 | only time is set; date = current |
Übersetzung eines Aufzählungstyps
Wenn in einer IEC-Applikation ein Aufzählungstyp (ENUMERATED) definiert ist:
TYPE COLOR_ENUM_TYPE :
(
RED := 10,
GREEN := 20,
YELLOW := 30,
BLUE := 40,
BROWN := 50
);
END_TYPE
dann wird im UA-Server der Datentyp erzeugt, der dieser Aufzählung entspricht. Er befindet sich dann im Adressraum in Form eines Knotens: Types.DataTypes.BaseDataType.Enumeration.COLOR_ENUM_TYPE.
Mapping von Arrays von Strukturen im Adressraum des UA-Servers
Wenn in der auf der Steuerung laufenden Anwendung die composite_t super_composite_t-Strukturen aus den vorherigen Beispielen definiert sind und es auch Arrays gibt, die aus diesen Strukturen bestehen:
arr_comp : ARRAY[1..5] OF composite_t; arr_sup_comp : ARRAY[1..10] OF super_composite_t;
dann werden im UA Server die für solche Daten generierten Typdefinitionen angezeigt. Ein Beispiel für Datentypen, die für Arrays von Strukturen generiert werden, sowie ein Beispiel für Datenarrays von Strukturen sind in Abbildung 3 dargestellt.
Abbildung 3. Datentypen und Daten
Elementare Daten-Arrays werden gemäß dem UA-Standard-Datenmodell dargestellt. In der Variable, die ein Array repräsentiert, ist das Attribut ValueRank gleich 1, und das Attribut Value enthält ein Array einer bestimmten Dimension, das aus elementaren Typen besteht.
OPC UA Server konfigurieren
PLC-Verbindung
Um mit dem Konfigurator arbeiten zu können, müssen Sie eine Verbindung zum Controller über einen Netzwerkscanner herstellen (siehe “EPSILON LD SOFTWARE. Benutzerhandbuch”, Abschnitt “Anschluss des Controllers an das Netzwerk”).
OPC UA Server aktivieren
Standardmäßig ist der OPC-UA-Server deaktiviert, daher müssen Sie den Server mit den folgenden Schritten starten:
- Gehen Sie in Sigma LD auf der Hauptregisterkarte der Geräteeinstellungen zu den Dateien Klicken Sie im Bereich Ausführung auf die Schaltfläche (Aktualisieren). In einem Fenster wird der Baum der auf der Steuerung verfügbaren Dateien angezeigt. Suchen Sie den Ordner etc (Abbildung 4)
Abbildung 4. Dateiaustausch zwischen PC und Controller
- Suchen Sie im Ordner etc die Datei cfg. Verwenden Sie die Schaltfläche <<, um diese Datei von der Steuerung auf den PC zu kopieren (von Ausführung auf Host)
- Öffnen Sie die cfg-Datei auf Ihrem PC. Fügen Sie im Abschnitt [PsOpcUaServer] eine Zeile mit dem Wert Enable = 1
- Verwenden Sie in Sigma LD auf der Registerkarte Dateien die Schaltfläche >>, um die geänderte Datei vom PC auf die Steuerung zu kopieren (von Host nach Ausführung)
- Starten Sie den Controller neu (mit dem Power-On/Off-Reset oder dem Befehl Reboot auf der PLC Shell tab)
OPC-UA-Konfigurator
Der OPC UA Konfigurator, der in die Sigma LD Entwicklungsumgebung integriert ist, implementiert eine Standard-Datenzugriffsschnittstelle.
Der Konfigurator bietet die folgenden Funktionen (Abbildung 5):
- Entladen des Server-Zertifikats vom Controller (Zertifikatsspeicherpfad etc / … / eigene / certs) (Zertifikat vom Controller herunterladen …)
- Hinzufügen / Entfernen von Server- / Client-Zertifikaten:
- Verwaltung von Emittenten (Herausgebern) Zertifikaten (ISSUERS CERTS …)
- Verwaltung der Liste der gesperrten Zertifikate (CERT REVOCATION LIST …)
- Verwaltung von vertrauenswürdigen Zertifikaten (TRUSTED CERTS …)
- Verwaltung der Liste der vertrauenswürdigen gesperrten Zertifikate (TRUSTED REVOCATION LIST …)
- Konfiguration der Protokollierungsparameter für den Serverbetrieb (Trace …)
- Konfiguration der Endpunktparameter (Endpunkt …)
- Parameter der Benutzerzugriffsebene (Benutzer …)
Abbildung 5. OPC-UA-Konfigurator-Registerkarte
Zertifikat-Feld
Um eine Verbindung zwischen dem Client und dem OPC-UA-Server herzustellen, muss das Server-Zertifikat in der Liste der vertrauenswürdigen Client-Zertifikate (TRUSTED CERTS) und das Client-Zertifikat in der Liste der vertrauenswürdigen Server-Zertifikate (TRUSTED CERTS) stehen. Führen Sie dazu die folgenden Schritte aus:
das Server-Zertifikat hochladen (Speicherpfad – etc / … / server / own / certs) aus der SPS über die Schaltfläche
(unter Angabe des Speicherpfads), um es der Client-Vertrauenszertifikatsgruppe (TRUSTED CERTS) hinzuzufügen;
- Laden Sie das Client-Zertifikat (TRUSTED CERTS) und / oder die CA-Zertifikate des Herstellers (ISSUERS CERTS) in die SPS hoch.
Note: Der Speicherort der Server-Zertifikate auf der SPS ist etc / … / own / certs – public certificate * .der, etc / … / own / private – privates Zertifikat * .pem.
Einstellungen
Redul OPC UA Server führt zwei Ereignisprotokolle:
- Erstes Protokoll: UA-Stack-Trace-Meldungen. Dieses Protokoll zeigt Meldungen über den Betrieb des UA-Stacks an.
- Zweites Protokoll: Meldungen, die in Sigma LD angezeigt werden. In diesem Protokoll werden Meldungen über den Betrieb der SPS-Applikation (Start / Stopp der Applikation, Debug-Meldungen über die Initialisierung von Variablen usw.) angezeigt.
Trace
Verwenden Sie die Schaltfläche um das Fenster Trace-Einstellungen zu öffnen (Abbildung 6).
Abbildung 6. Fenster “Trace-Optionen
Um den UA-Stack-Trace zu konfigurieren, aktivieren Sie das Kästchen Aktivieren im entsprechenden Feld (der Trace ist standardmäßig ausgeschaltet), wodurch sich die Ebene der Protokollierungsdetails ändern lässt (siehe Tabelle 2). Wählen Sie im Feld Level (zum Filtern von Ereignissen) einen Wert aus der Dropdown-Liste aus, der angibt, welche Meldungen im Protokoll angezeigt werden sollen.
Level | Description |
---|---|
NONE | Messages are not displayed |
ERROR | Error messages generated during exception handling are displayed |
WARNING | Warnings about an undesirable situation; attention must be paid |
SYSTEM | Messages from system services |
INFO | General informational messages about what is happening. Normal operation. |
DEBUG | Messages used during debugging |
CONTENT | More detailed messages (full text) used during debugging |
ALL | All messages |
Um die UA Serververfolgung zu konfigurieren, aktivieren Sie das Kontrollkästchen Aktivieren im entsprechenden Feld (standardmäßig ist die Verfolgung deaktiviert). Wählen Sie im Feld Level aus der Dropdown-Liste die gewünschte Vollständigkeit der Informationen, die in Sigma LD angezeigt werden sollen (siehe Tabelle 3).
Level | Description |
---|---|
No Trace | No logging |
Errors | Error messages are displayed |
Warning | Warning on the unwanted situations |
Info | Information messages on the operation |
Geben Sie Grenzwerte für Trace-Dateien in den Feldern Maximale Anzahl von Trace-Dateien und Maximale Anzahl von Datensätzen in der Trace-Datei an.
Ereignisprotokolle werden in Dateien gespeichert, deren Name und Speicherort im Parameter angegeben sind:
/mnt/user/archive/logs/regul_ua_server.log
Das Schreiben in die aktuelle Stack-Trace-Datei endet, wenn die Anzahl der Meldungen den Wert des Parameters UaAppTraceMaxEntries (Maximale Anzahl von Datensätzen in der Trace-Datei) überschreitet. Danach wird eine neue Trace-Datei mit einem Namen angelegt, der sich durch die digitale Endung (Index) unterscheidet. Die Erstellung neuer Trace-Dateien endet, wenn sie den Wert des Parameters UaAppTraceMaxBackup (Maximale Anzahl der Trace-Dateien) überschreitet.
Zum Beispiel für die angegebenen Parameter:
100000
5
Trace-Meldungen werden sequentiell in Dateien aufgezeichnet:
regul_ua_server.log regul_ua_server_1.log regul_ua_server_2.log regul_ua_server_3.log regul_ua_server_4.log
Nachdem die Anzahl der Meldungen in der Datei regul_ua_server_4.log 100000 überschritten hat, werden die Meldungen erneut in der Datei regul_ua_server.log (in einem Ring) aufgezeichnet.
Endpunkt
Verwenden Sie die Schaltfläche , um das Fenster Verbindungspunkteinstellungen zu öffnen (Abbildung 7).
Abbildung 7. Beispiel für die Einrichtung eines Endpunktes
Aktivieren Sie das Kontrollkästchen Access Point aktivieren. Geben Sie im Feld URL anstelle von [NodeName] die IP-Adresse des Controllers ein, über den die Verbindung aufgebaut werden soll (Port zum Öffnen eingehender TCP-Verbindungen: 48010). Wenn Sie das Kontrollkästchen in der Zeile Automatisch allen Client-Zertifikaten vertrauen aktivieren, wird allen Zertifikaten dieses Controllers automatisch Vertrauen geschenkt.
Endpunkt
Sie können Objekte mit dem Benutzerprofil verknüpfen, auf die er Zugriff hat, um Parameter zu verwalten und zu überwachen. Gegenüber der Zeile Benutzer klicken Sie auf die Schaltfläche , um den Passwort-Zugriff auf Remote-Clients zu beschränken – in diesem Fall erscheint nach dem Start des Clients ein Fenster zur Eingabe des Passworts (Abbildung 8).
Abbildung 8. Konfigurieren von Berechtigungen für einen Benutzer
Von der OPC-UA-Komponente verwendete Dateien und Verzeichnisse
Alle Einstellungen der OPC-UA-Komponente, die Liste der Benutzer, Zertifikatsdateien befinden sich im Verzeichnis: etc/OpcUA.
Gehen Sie in Sigma LD in der Hauptregisterkarte der Geräteeinstellungen auf die Registerkarte Dateien. In der Ausführung Bereich, klicken Sie auf die (Refresh) Schaltfläche.In einem Fenster wird der Baum der auf der Steuerung verfügbaren Dateien angezeigt. Suchen Sie den Ordner etc -> OpcUA (Abbildung 9).
Abbildung 9. Lage der OPC-UA-Komponentenverzeichnisse auf der Steuerung
Der Pfad zur Serverkonfigurationsdatei UA /etc/OpcUA/ServerConfig.xml.
Der Pfad zum Zertifikatsspeicher und den Sperrlisten /etc/OpcUA /ua_certificates / …
Der Pfad zur Benutzerbeschreibungsdatei /etc/OpcUA/users.txt.
Die OPC-UA-Verzeichnisstruktur auf der Steuerung ist unten dargestellt (Abbildung 10).
Abbildung 10. Verzeichnisstruktur der OPC-UA-Komponente auf der Steuerung
Konfigurieren von Verbindungen mit OPC-UA-Clients
Bei der Authentifizierung, dem Aufbau einer sicheren Verbindung und dem Austausch von Nachrichten verwenden UA-Anwendungen X509-Zertifikate der Version 3, die im DER-Format (*.der) codiert sind. Der Server generiert automatisch selbstsignierte Controller-Zertifikate. Um eine erfolgreiche UA-Verbindung herzustellen, muss der Client selbstsignierte Zertifikate in die Gruppe seiner vertrauenswürdigen Zertifikate (TRUSTED) importieren.
Dies reicht aus, um das vom Server dem Client zur Verfügung gestellte Zertifikat in der Phase des Verbindungsaufbaus zu verifizieren.
Konfigurieren von Verbindungen mit OPC-UA-Clients
Um die Datenübertragung über das OPC-UA-Protokoll zu organisieren, müssen Sie die Zeichenkonfiguration im Programm Sigma LD hinzufügen. Wählen Sie dazu im Kontextmenü der Anwendung den Menüpunkt Objekt hinzufügen -> Zeichenkonfiguration … (Abbildung 11).
Abbildung 11. Kontextmenü
Es öffnet sich das Fenster Symbolische Konfiguration hinzufügen, in dem Sie das Kontrollkästchen OPC UA Feature Support aktivieren und auf die Schaltfläche Hinzufügen klicken (Abbildung 12).
Abbildung 12. Hinzufügen einer Symbolkonfiguration
Wählen Sie das Objekt Symbolkonfiguration, das im Gerätebaum erscheint, und doppelklicken Sie auf den Namen, um die Registerkarte zu öffnen. Wenn Sie beim Hinzufügen die Einstellung OPC UA Feature Support hinzugefügt haben, wählen Sie die Registerkarte Einstellungen und aktivieren Sie das entsprechende Kontrollkästchen (Abbildung 13).
Abbildung 13. Zusätzliche Bestätigung für die Unterstützung der Symbolkonfiguration
Anfänglich wird möglicherweise eine Registerkarte mit einem Zeichen angezeigt, das darauf hinweist, dass eine Kompilierung erforderlich ist, um Fehler zu erkennen (Abbildung 14).
Abbildung 14. Warnmeldung
Wenn die Kompilierung erfolgreich ist, wird ein Ordnerbaum angezeigt. Wählen Sie aus dem Ordnerbaum den gewünschten aus (PLC_PRG, GVC usw.) und öffnen Sie darin die Liste der hinzuzufügenden Variablen, die in der IEC-Anwendung definiert sind (Abbildung 15). Aktivieren Sie das Kontrollkästchen neben den Variablen, mit denen das OPC-UA-Protokoll interagieren soll.
Abbildung 15. Hinzufügen von Variablen
Auswirkungen anderer Anwendungen auf den OPC UA Server
m Controller können mehrere Anwendungen gleichzeitig arbeiten. Jede Anwendung hat dann ihr eigenes Datentypsystem und ihre eigenen Daten. Wenn z. B. zwei Anwendungen mit den Namen Anwendung und Anwendung_1 im Controller laufen, dann befinden sich die Anwendungsdaten im Adressraum unter den Verzeichnissen Root.Objects.IEC_DATA.Application bzw. Root.Objects.IEC_DATA.Application_1 (Abbildung 16).
Abbildung 16. Anwendungsdaten
Wenn Sie die Anwendung starten oder stoppen, ändert sich der Adressraum des UA-Servers. In diesem Fall erhält der UA Client ein Standardereignis (Event Notification) vom Typ GeneralModelChangeEventType, außerdem ändert sich beim Stoppen der Anwendung die Qualität der von dieser Anwendung empfangenen Daten auf BAD. Als Reaktion auf den Empfang dieses Ereignisses muss der Client die Datenabonnementverfahren erneut ausführen, da es möglich ist, dass der Client die Daten abonniert hat, deren Quelle die gestoppte Anwendung war, oder es ist möglich, dass neue Daten im Adressraum erschienen sind, an denen der Client interessiert ist. Außerdem kann der Client nach dem Empfang des Ereignisses “GeneralModelChangeEventType” Operationen zum Durchsuchen des Server-Adressraums durchführen (Browse).
Fehlersuche
Zur Analyse und Diagnose des Betriebs der Komponente wird ein Protokoll ihres Betriebs erstellt; die Details der Meldungen werden durch ihre Konfiguration bestimmt. Die Protokolldateien für den Betrieb der Komponente werden auf dem Controller im Verzeichnis “Component Operation Logs” des Controllers gespeichert. Sie können diese Dateien abrufen, indem Sie sich mit einem FTP-Client mit der Steuerung unter ftp://plclogs:service@plc/ verbinden, wobei plc die Adresse der Steuerung ist.
Client kann keine Verbindung zum Server herstellen
Anzeichen für diesen Zustand: UA-Server funktioniert, es sind keine Fehler im Protokoll vorhanden, aber der Client kann keine Verbindung herstellen.
Meistens kann der Client keine Verbindung herstellen, weil das Client-Zertifikat nicht zu den vertrauenswürdigen gehört. Sie können dies feststellen, indem Sie das Verzeichnis ua_certificates/rejected überprüfen. Es ist möglich, dass dieses Verzeichnis eine neu erschienene Client-Zertifikatsdatei enthält. Wenn dies der Fall ist, besteht die einfachste Lösung dieses Problems darin, die Client-Zertifikatsdatei aus dem abgelehnten Verzeichnis in das vertrauenswürdige Verzeichnis zu übertragen. Ebenso ist eine Situation möglich, in der das PsOpcUaServer-Zertifikat nicht unter den vom UA-Client vertrauenswürdigen Zertifikaten ist. In diesem Fall sollten Sie ebenfalls das abgelehnte Verzeichnis des Client-Zertifikatspeichers überprüfen und Schritte unternehmen, um das PsOpcUaServer-Zertifikat zur vertrauenswürdigen Liste hinzuzufügen.
Benutzervariablen werden nicht angezeigt
Anzeichen für diesen Zustand: der Client erfolgreich mit dem UA-Server verbunden hat, sind die Systemvariablen im Verzeichnis Root.Objects.Server sichtbar, aber das Verzeichnis Root.Objects.IEC_DATA ist leer.
Die mögliche Ursache ist, dass der Benutzer in der IEC-Applikation im Abschnitt Symbolkonfiguration die Variablen mit Häkchen nicht als für VarAccess verfügbar markiert hat. In diesem Fall müssen Sie die Applikation stoppen, neu kompilieren, die Variablen im Abschnitt Symbolkonfiguration als verfügbar markieren und die IEC-Applikation neu starten.