EtherNet/IP
Das Protokoll EtherNet/IP ermöglicht die Kommunikation von 2WinScada mit SPS, Antrieben, dezentraler Peripherie (Remote I/O) und ähnlichen Geräten, die CIP (Common Industrial Protocol) verwenden. 2WinScada unterstützt zwei Kommunikationswege:
- Explicit Messaging: Lesen und Schreiben nach dem Anfrage-/Antwort-Modell über den TCP-Port 44818. Zugriffe auf Identität, Parameter, Diagnose und Tags erfolgen auf diesem Weg.
- Implicit / zyklisches I/O: Zusätzlich wird eine I/O-Verbindung zum Gerät geöffnet, und die Daten der Input-/Output-Assemblies werden über den UDP-Port 2222 in der festgelegten Periode (RPI) fortlaufend übertragen.
Wichtige unterstützte Funktionen:
- Generic CIP: Zugriff auf CIP-Objekte (Klasse / Instanz / Attribut) und Assembly-Daten aus der Herstellerdokumentation
- Rockwell / Allen-Bradley Logix (ControlLogix, CompactLogix): symbolisches Lesen/Schreiben von Tags, Array-Elemente, atomare Member in UDTs
- Omron NX/NJ: symbolisches Lesen/Schreiben von Netzwerkvariablen, die für den externen Zugriff freigegeben sind
- Erkennen von EtherNet/IP-Geräten im Netzwerk und Verbindungstest
- Durchsuchen von Rockwell-Logix-Controllern nach Tags und Massenimport
- Lesen und Schreiben eines einzelnen Bits in einer Ganzzahl als Bool
- Befehlsverhalten Impuls und Steigende Flanke für Bool-Tags
Sicherheit
Bevor Sie Schreibvorgänge an Produktionsanlagen testen, überprüfen Sie die Herstellerdokumentation, die Prozesssicherheit, die Benutzerberechtigung und den Betriebszustand des Geräts. Auch wenn 2WinScada den Zugriff ermöglicht, ist nicht jedes CIP-Objekt oder Tag beschreibbar. CIP Safety, CIP Motion und CIP Security werden nicht unterstützt; verwenden Sie die EtherNet/IP-Kommunikation nicht anstelle einer Sicherheitsfunktion.
Lizenz
EtherNet/IP ist in den Lizenz-Editionen Standard und Professional verfügbar, in der Edition Starter nicht. Enthält die Lizenz EtherNet/IP nicht, werden gespeicherte EtherNet/IP-Definitionen nicht gelöscht, aber das Anlegen, Aktualisieren und Duplizieren von Definitionen, der Verbindungstest und die Kommunikation zur Laufzeit werden gesperrt. Einzelheiten zur Lizenz finden Sie auf der Seite Lizenz.
Geräteprofile
Das Feld Geräteprofil in der Gerätedefinition legt fest, wie Adressen interpretiert und Daten codiert werden.
| Geräteprofil | Verwendung | Unterstützte Adressmodi |
|---|---|---|
| Generic CIP | Jedes EtherNet/IP-Gerät, dessen CIP-Objektverzeichnis in der Herstellerdokumentation angegeben ist (Antrieb, Remote I/O, Ventilinsel, Robotersteuerung, Gateway usw.) | CIP-Objekt, Assembly |
| Rockwell Logix | Controller ControlLogix und CompactLogix (1769/5069) | Symbolisch, CIP-Objekt, Assembly |
| Omron NX/NJ | NX/NJ-CPUs mit Netzwerkvariablen, die in Sysmac Studio für den externen Zugriff über EtherNet/IP freigegeben sind | Symbolisch, CIP-Objekt, Assembly |
TIP
Die Familien Rockwell Micro800, MicroLogix, SLC und PLC-5 werden mit dem Profil Rockwell Logix nicht unterstützt. Entnehmen Sie für das Profil Generic CIP die Angaben zu Dienst, Klasse, Instanz, Attribut oder Assembly sowie die Datentypen der Herstellerdokumentation des Geräts; eine einheitliche, universelle Assembly-Nummer gibt es nicht.
Kanaldefinition
Ein Kanal enthält EtherNet/IP-Geräte, die dieselben Timeout- und Parallelitätseinstellungen teilen. Auf der Registerkarte Allgemein des Fensters für einen neuen Kanal geben Sie den Kanalnamen ein und wählen unter Verbindungstyp den Eintrag EtherNetIp aus. Die Standardwerte sind ein sicherer Ausgangspunkt; ändern Sie sie anhand der gemessenen Netzwerklatenz in der Anlage.
Registerkarte Verbindungsparameter:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| Verbindungszeitüberschreitung (ms) | Wartezeit für die TCP-Verbindung und die Sitzungsregistrierung | 5000 | 100–120000 |
| Lesezeitüberschreitung (ms) | Wartezeit auf die Antwort beim Lesen | 3000 | 100–120000 |
| Schreibzeitüberschreitung (ms) | Wartezeit auf die Antwort beim Schreiben | 3000 | 100–120000 |
| Standard-Abfrageintervall (ms) | Standardleseintervall für Tags | 1000 | 50–3600000 |
Registerkarte Erweiterte Parameter:
| Feld | Beschreibung | Standard | Bereich |
|---|---|---|---|
| Wiederverbindungsverzögerung (ms) | Wartezeit vor dem ersten erneuten Verbindungsversuch nach einem Verbindungsabbruch | 1000 | 100–300000 |
| Wiederholungsanzahl | Begrenzt, in wie vielen Schritten die Wartezeit für die erneute Verbindung wachsen kann | 5 | 0–100 |
| Maximale gleichzeitige Anfragen | Anzahl der Anfragen, die der Kanal gleichzeitig senden kann | 4 | 1–32 |
TIP
Wiederholungsanzahl beendet die erneuten Verbindungsversuche nicht; sie begrenzt nur das Anwachsen der Wartezeit. Die Wartezeit wächst auf höchstens 300 Sekunden, und die Versuche laufen weiter, bis das Gerät verbunden ist.
Gerätedefinition
Ein Gerätedatensatz steht für einen physischen oder simulierten EtherNet/IP-Endpunkt. Auf der Registerkarte Allgemein werden Gerätename und Aktiv wie bei den anderen Protokollen festgelegt.
Registerkarte Parameter:
| Feld | Beschreibung | Regel |
|---|---|---|
| Host / IP-Adresse | IPv4-/IPv6-Adresse oder DNS-Name des Geräts | Pflichtfeld; höchstens 253 Zeichen |
| Port | EtherNet/IP-TCP-Port | Standard 44818; 1–65535 |
| Geräteprofil | Generic CIP, Rockwell Logix oder Omron NX/NJ | Pflichtfeld; bestimmt das Verhalten bei Adressen und Datencodierung |
| CIP-Routenpfad | Wertepaare aus Port und Verbindung für das Routing über ein Chassis oder eine Bridge | Optional; siehe Erläuterung unten |
CIP-Routenpfad besteht aus durch Kommas getrennten Wertepaaren aus Port und Verbindung. Die Werte können dezimal (1,0) oder hexadezimal mit dem Präfix 0x (0x01,0x00) geschrieben werden. Die Anzahl der Werte muss gerade sein; höchstens 32 Paare sind möglich. Bei einer direkten Verbindung zur CPU oder zu einem Generic-CIP-Gerät bleibt das Feld meist leer. In einem ControlLogix-Chassis werden über den Backplane-Port 1 für die CPU in Slot 0, 1 und 2 entsprechend 1,0, 1,1 und 1,2 verwendet. Prüfen Sie den tatsächlichen Pfad anhand der Topologie der Anlage und der Herstellerdokumentation.
Registerkarte Einstellungen:
- Implicit / Zyklisches I/O aktivieren: Öffnet die zyklische I/O-Verbindung. Wenn aktiviert, werden die Felder für zyklisches I/O angezeigt (siehe Implicit / zyklisches I/O).
- Native Logix-Bitschreibzugriffe verwenden, wenn unterstützt: Wird nur beim Profil Rockwell Logix angezeigt und ist standardmäßig aktiviert. Beim Schreiben auf Bits symbolischer Logix-Ganzzahlen wird die atomare Maskenoperation des Controllers verwendet; die anderen Bits bleiben auf der Controllerseite erhalten. Meldet der Controller, dass er diesen Dienst nicht unterstützt, liest 2WinScada den Wert erneut und wechselt zum sequenziellen Verfahren Lesen-Ändern-Schreiben. Bei einem Timeout oder einem anderen Fehler wird der Schreibvorgang nicht wiederholt. Um immer Lesen-Ändern-Schreiben zu verwenden, deaktivieren Sie die Option; dieses Verfahren schützt nicht vor gleichzeitigen Schreibzugriffen anderer Systeme auf denselben Wert.
Die Registerkarte Erweiterte Parameter enthält beim Profil Generic CIP die erwarteten Identitätsangaben. Diese Felder sind optional (0–65535):
- Erwartete Hersteller-ID
- Erwarteter Gerätetyp
- Erwarteter Produktcode
Ist zyklisches I/O aktiviert, enthält dieselbe Registerkarte auch die erweiterten Einstellungen für zyklisches I/O.
Geräteerkennung
Die Schaltfläche Geräte erkennen im Gerätefenster listet die EtherNet/IP-Geräte im Netzwerk auf:
- Wählen Sie in der Liste Netzwerkschnittstelle eine aktive IPv4-Netzwerkschnittstelle des 2WinScada-Servers aus.
- Legen Sie die Empfangsdauer fest (250–10000 ms, Standard 2000 ms) und klicken Sie auf Erkennung starten. 2WinScada sendet eine einzelne Identitätsabfrage als Broadcast in das Subnetz der gewählten Schnittstelle und listet die eingehenden Antworten auf. Mit Erkennung abbrechen kann der Vorgang beendet werden.
- Die Liste zeigt Quell-IP-Adresse, Produkt, Hersteller-ID, Produktcode, Revision, Seriennummer und Vorgeschlagenes Profil. Für Geräte mit der Hersteller-ID 1 wird Rockwell Logix vorgeschlagen, für Geräte mit 47 Omron NX/NJ, für alle anderen Generic CIP.
- Wählen Sie bei Bedarf im Feld Geräteprofil (manuelle Auswahl) ein anderes Profil und klicken Sie auf Ausgewähltes Gerät verwenden.
Adresse und Profil des gewählten Geräts werden in das Geräteformular übernommen; das Gerät wird erst beim Speichern des Formulars in die Datenbank geschrieben. Fehlerhafte Antworten werden ignoriert, ohne gültige Geräte auszublenden, und ihre Anzahl wird gemeldet.
Verbindungstest
Die Schaltfläche Verbindung testen prüft die eingegebenen Einstellungen, verbindet sich mit dem Gerät, öffnet eine EtherNet/IP-Sitzung und liest die Identitätsangaben des Geräts. Ist zyklisches I/O aktiviert, öffnet sie zusätzlich die I/O-Verbindung und schließt sie sofort wieder, um die Einstellungen für Assembly, RPI und Port zu prüfen; dieser Test sendet keine Ausgangsdaten.
- Geben Sie die Kanal- und Geräteeinstellungen ein.
- Klicken Sie auf Verbindung testen und warten Sie auf das Ergebnis.
- Vergleichen Sie die zurückgegebenen Identitätsangaben (Produkt, Hersteller-ID, Produktcode, Revision, Seriennummer) mit dem Typenschild oder dem Projekt des Geräts.
- Aktivieren Sie das Gerät erst danach und lassen Sie Schreibvorgänge zu.
Bei einem fehlgeschlagenen Test zeigt der Bildschirm nur eine allgemeine Fehlermeldung; die technischen Details stehen im Dienstprotokoll. Ein erfolgreicher Verbindungstest prüft nicht die Adresse oder den Datentyp jedes Tags.
Implicit / zyklisches I/O
Beim zyklischen I/O ist 2WinScada die Seite, die die Verbindung aufbaut (Originator); das Feldgerät hat die Rolle des Adapters. Die Input Assembly wird vom Gerät zu 2WinScada übertragen (T→O), die Output Assembly von 2WinScada zum Gerät (O→T). Die Felder werden schrittweise angezeigt: Zuerst wird Implicit / Zyklisches I/O aktivieren aktiviert; die Ausgangsfelder erscheinen nur, wenn zusätzlich Zyklische Ausgänge aktivieren (O→T) aktiviert ist.
WARNING
Zyklisches I/O kann nur verwendet werden, wenn CIP-Routenpfad leer ist, der Adapter also direkt erreichbar ist. Daten der Output Assembly können physische Anlagenteile direkt steuern. Prüfen Sie vor dem Aktivieren zyklischer Ausgänge die Assembly-Definition des Herstellers, das Verhalten im sicheren Zustand (Failsafe), die Run/Idle-Anforderung und jedes zugeordnete Ausgangsbit.
Felder auf der Registerkarte Einstellungen:
| Feld | Standard / Bereich | Beschreibung |
|---|---|---|
| Eingangs-Assembly-Instanz (T→O) | 1–4294967295 | Assembly-Nummer der vom Gerät erzeugten Eingangsdaten |
| Eingangs-Assembly-Größe (Byte) | 1–32768 | Nur die Größe der Anwendungsdaten |
| Eingangs-RPI (ms) | 100; 10–60000 | Periode, in der das Gerät die Eingangsdaten sendet |
| Eingangsverbindungstyp | Point-to-point | Point-to-point oder Multicast |
| Zyklische Ausgänge aktivieren (O→T) | Aus | Eigener Sicherheitsschalter für den Ausgangsverkehr |
| Ausgangs-Assembly-Instanz (O→T) | 1–4294967295 | Assembly-Nummer der vom Gerät verarbeiteten Ausgangsdaten |
| Ausgangs-Assembly-Größe (Byte) | 1–32768 | Nur die Größe der Anwendungsdaten |
| Ausgangs-RPI (ms) | 100; 10–60000 | Periode, in der 2WinScada die Ausgangsdaten sendet |
| Ausgangsverbindungstyp | Point-to-point | Point-to-point oder Multicast |
| Konfigurations-Assembly-Instanz (optional) | Leer | Vom Gerät erwartete Nummer der Konfigurations-Assembly |
| Konfigurationsdaten (Hex, optional) | Leer; höchstens 488 Byte | Zweistellige Hexadezimalwerte, z. B. 01 02 oder 01-02 |
Felder auf der Registerkarte Erweiterte Parameter:
| Feld | Standard / Bereich | Beschreibung |
|---|---|---|
| Eingang verwendet Run/Idle-Header | Aus | Ob den Eingangsdaten ein 4-Byte-Header vorangestellt ist |
| Ausgang verwendet Run/Idle-Header | Aus | Ob den Ausgangsdaten ein 4-Byte-Run/Idle-Header vorangestellt wird (nur sichtbar, wenn zyklische Ausgänge aktiviert sind) |
| Lokale IPv4-Schnittstelle (optional) | Leer = automatisch | Lokale IPv4-Adresse für die UDP-Kommunikation |
| Lokaler UDP-Port (0 = automatisch) | 0; 0–65535 | Muss bei Multicast zu dem vom Gerät erwarteten Port passen |
| Adapter-UDP-Port | 2222; 1–65535 | I/O-Port des Geräts |
| Verbindungs-Timeout-Multiplikator | 4 | 4, 8, 16, 32, 64, 128, 256 oder 512; der Verbindungs-Timeout wird als RPI × Multiplikator berechnet |
| Large-ForwardOpen-Modus | Auto | Auto, Standard ForwardOpen only oder LargeForwardOpen required |
| Originator-Hersteller-ID | 0; 0–65535 | Wird eingegeben, wenn eine registrierte Originator-Kennung vorhanden ist |
| Originator-Seriennummer (0 = automatisch) | 0 | Wird eingegeben, wenn eine registrierte Originator-Seriennummer vorhanden ist |
Stimmen Sie die Run/Idle-Optionen für Eingang und Ausgang getrennt mit der EDS-Datei oder dem Handbuch des Geräts ab; eine falsche Auswahl führt dazu, dass die Prüfung der Paketgröße fehlschlägt. Steht Large-ForwardOpen-Modus auf Auto und überschreitet die Verbindungsgröße 511 Byte, wird automatisch die große Verbindungsanfrage verwendet; bei Standard ForwardOpen only werden Verbindungsgrößen über 511 Byte nicht akzeptiert.
Verhalten des zyklischen I/O:
- Bleiben die Eingangsdaten aus, wird nur die Qualität der Tags Bad, die an die Eingangs-Assembly gebunden sind, und die Verbindung wird neu geöffnet. Explicit Messaging arbeitet weiter, sofern es fehlerfrei läuft.
- Zyklische Ausgänge beginnen mit Ausgangsdaten, die mit Nullen gefüllt sind; Bereiche, die keinem Tag zugeordnet sind, bleiben null.
- Die Qualität eines Befehls-Tags, das nur der Output Assembly zugeordnet ist, kann so lange unbestimmt (Uncertain) bleiben, bis eine eigene Rückmeldung vom Gerät eintrifft. Ein Schreibvorgang auf den Ausgang bestätigt nicht, dass das Gerät den Befehl ausgeführt hat; verwenden Sie zur Bestätigung ein eigenes Rückmelde-Tag, das der Input Assembly zugeordnet ist.
- Die Genauigkeit der RPI hängt vom Betriebssystem und den Netzwerkbedingungen ab; eine harte Echtzeitregelung (hard real-time) wird nicht garantiert.
Tag-Definition
Tags werden wie bei den anderen Protokollen in der Tag-Tabelle des Geräts definiert (siehe Tag-Verwaltung). Bei EtherNet/IP-Geräten öffnet die Zelle Adresse einen Editor, der die Teile der Adresse als einzelne Felder anzeigt. Der Editor setzt die zu speichernde Adresse selbst aus diesen Feldern zusammen; in der Tabelle erscheint die Adresse als einzeiliger Text, der mit eip:v1; beginnt (z. B. eip:v1;mode=symbolic;address=MotorSpeed;count=1).
Die Liste Adressmodus enthält je nach Geräteprofil diese Optionen:
- Symbolisch: Zugriff über den Tag- bzw. Variablennamen bei den Profilen Rockwell Logix und Omron NX/NJ
- CIP-Objekt: Zugriff über Klasse / Instanz / Attribut
- Assembly: Zugriff auf einen Byte- oder Bitbereich innerhalb der Assembly-Daten
Beim Profil Generic CIP kann der Adressmodus Symbolisch nicht verwendet werden.
Symbolische Adressen
| Feld | Beschreibung |
|---|---|
| Symbol-/Tag-Adresse | Name des Tags oder der Variablen im Controller; höchstens 200 druckbare ASCII-Zeichen |
| Elementanzahl | Anzahl der aus einem Array zu lesenden Elemente; 1–4096 |
| Bit-Index (optional) | Nur Rockwell Logix: Bit innerhalb eines Ganzzahl-Tags |
| Quelldatentyp | Typ der Ganzzahl, wenn ein Bit gewählt ist: SINT, INT, DINT oder LINT |
Beispiele für Rockwell Logix:
| Adresse | Beispieltyp | Bedeutung |
|---|---|---|
MotorSpeed | Real | Tag mit Controller-Bereich |
Temperatures[3] | Real | Array-Element |
Program:MainProgram.Motor01.Speed | Real | Tag mit Programmbereich / atomarer Member eines UDT |
OperatorMessage | String | Standard-Logix-STRING, höchstens 82 ASCII-Zeichen |
Für Rockwell Logix gilt:
- Unterstützt werden Controller-Tags, Programm-Tags in der Form
Program:<Programmname>.<Tag>, Array-Indizes mit bis zu 3 Dimensionen (z. B.Matrix[1,2]) und atomare Member in UDTs. - Ein UDT wird nicht als Ganzes automatisch aufgelöst; adressieren Sie den atomaren Member.
- Bei symbolischen Adressen verwendbare Datentypen: Automatisch, Bool, Sbyte, Int, DInt, Real, LInt und String.
- Prüfen Sie im Controller-Projekt, ob die Einstellung External Access des betreffenden Tags den Vorgang zulässt.
Für Omron NX/NJ gilt:
- Prüfen Sie in Sysmac Studio, ob die Variable über EtherNet/IP veröffentlicht ist (Network Publish), und prüfen Sie ihren Typ.
- Die Adresse ist ein einzelner Variablenname; Strukturmember werden nicht automatisch aufgelöst. Atomare Typen und CIP-STRING werden unterstützt.
- Anfrage- und Antwortgrößen sind auf 492/496 Byte begrenzt; große Arrays werden nicht in Teilen übertragen.
Der Datentyp Automatisch kann nur bei symbolischen Adressen von Rockwell Logix und Omron NX/NJ verwendet werden, und das Tag muss mit Nur lesen markiert sein.
CIP-Objektadressen
| Feld | Beschreibung |
|---|---|
| Klasse (Hex) | CIP-Klassennummer, z. B. 0x64 |
| Instanz | Instanznummer (1 oder größer) |
| Attribut (optional) | Attributnummer (1 oder größer) |
| Bit-Index (optional) | Bit innerhalb eines Ganzzahl-Attributs |
Ist im Adresseditor das Kontrollkästchen Technische Details aktiviert, werden auch diese Felder angezeigt:
- Dienst (Hex): Standard
0x0E(Get Attribute Single). Beim Schreiben wird0x0Eautomatisch in den Dienst0x10(Set Attribute Single) umgewandelt.0x01(Get Attributes All) ist nur lesbar und erhält keine Attributnummer. Andere Dienste im Bereich0x01–0x7Fwerden geprüft und unverändert verwendet; für sie ist die Dienstdefinition des Herstellers erforderlich. - Quelldatentyp: Typ der Ganzzahl, wenn ein Bit-Index eingegeben ist (siehe Bitzugriff).
Beispiel: Für einen Temperaturwert Klasse (Hex) 0x64, Instanz 1, Attribut 1, Datentyp Real. Bei ABB-FENA-Adaptern werden Antriebsparameter mit der Klasse 0x90 gelesen: Instanz ist die Parametergruppe, Attribut der Parameterindex (z. B. für 99.01 Instanz 99, Attribut 1). Dies ist ein expliziter Parameterzugriff; es bedeutet kein zyklisches I/O.
Assembly-Adressen
| Feld | Beschreibung | Bereich |
|---|---|---|
| Instanz | Assembly-Nummer | 1–4294967295 |
| Byte-Offset | Byte, an dem die Daten beginnen | 0 und höher |
| Bit-Offset (optional) | Bit im gewählten Byte; nur bei Bool-Tags | 0–7 |
| Byte-Länge | Zu lesender Bytebereich | 1–32768 |
Ist zyklisches I/O ausgeschaltet, werden Assembly-Adressen über Explicit Messaging gelesen. Ist zyklisches I/O eingeschaltet, gilt:
- Tags, die an die Nummer Eingangs-Assembly-Instanz gebunden sind, werden aus den eingehenden Eingangsdaten aktualisiert und müssen Nur lesen sein.
- Tags, die an die Nummer Ausgangs-Assembly-Instanz gebunden sind, bilden die Ausgangsdaten; sie müssen beschreibbar sein, und ihre Bit-/Bytebereiche dürfen sich nicht überschneiden.
- Jedes Tag muss innerhalb der definierten Assembly-Größe liegen. Andere Assembly-Nummern können weiterhin für den expliziten Zugriff verwendet werden.
Beispiel für eine Eingangszuordnung (Input Assembly mit 8 Byte):
| Position | Tag | Datentyp | Zugriff |
|---|---|---|---|
| Byte-Offset 0, Bit-Offset 0 | Running | Bool | Nur lesen |
| Byte-Offset 0, Bit-Offset 1 | Fault | Bool | Nur lesen |
| Byte-Offset 2, Byte-Länge 2 | Speed | Int | Nur lesen |
| Byte-Offset 4, Byte-Länge 4 | Counter | DInt | Nur lesen |
Bitzugriff
Ein einzelnes Bit eines Ganzzahlwerts kann als Bool-Tag gelesen und geschrieben werden. Wird ein Bit gewählt, wird der Datentyp des Tags automatisch auf Bool gesetzt.
- CIP-Objekt: Der Dienst muss
0x0Esein. Quelldatentyp kann SINT, USINT, INT, UINT, DINT, UDINT, LINT, ULINT oder LWORD sein; der gültige Bitbereich ist je nach Breite der Quelle 0–7, 0–15, 0–31 oder 0–63. Wird kein Quelltyp gewählt, wird UINT (16 Bit) angenommen. - Symbolisch (nur Rockwell Logix): Die Quelle kann SINT, INT, DINT oder LINT sein; Elementanzahl muss 1 sein.
- Assembly: Bit-Offset liegt zwischen 0 und 7.
Beim Schreiben eines Bits liest 2WinScada den aktuellen Ganzzahlwert aus dem Gerät, ändert nur das Zielbit und schreibt den Wert unter Erhalt der anderen Bits zurück. Ist bei Rockwell Logix Native Logix-Bitschreibzugriffe verwenden, wenn unterstützt aktiviert, erfolgt dieser Vorgang atomar auf der Controllerseite. In den anderen Fällen bietet das Verfahren Lesen-Ändern-Schreiben keinen vollständigen Schutz davor, dass das SPS-Programm oder ein anderes System denselben Wert gleichzeitig ändert.
Bit-Tags vom Typ CIP-Objekt, die dieselbe Ganzzahlquelle verwenden (gleicher Adressmodus, Dienst, Klasse, Instanz, Attribut und Quelltyp), werden mit einem einzigen Lesevorgang aus dem Gerät aktualisiert. Wie oft die Quelle gelesen wird, bestimmt das kürzeste Aktualisierungsintervall; langsamere Tags werden aktualisiert, wenn ihr eigenes Intervall abgelaufen ist.
Tag-Felder
| Feld | EtherNet/IP-Regel |
|---|---|
| Datentyp | Muss dem tatsächlichen CIP-Typ im Gerät entsprechen (siehe Datentypen) |
| Länge | Bei String-Tags die Zeichenkapazität (1–8192); bei den anderen Typen die Anzahl der Array-Elemente (1–4096) |
| Aktualisierungsintervall [s] | 0,05–3600 Sekunden |
| Nur lesen | Wenn aktiviert, schreibt 2WinScada nicht auf dieses Tag |
| Befehlsverhalten | Normal schreiben, Impuls (0 → 1 → 0) oder Steigende Flanke (0 → 1) |
| Impulsdauer (ms) | Nur wenn Impuls gewählt ist; 50–60000 ms, Standard 500 ms |
Die Option Nur lesen begrenzt das Schreiben nur auf der Seite von 2WinScada. Ein im Gerät schreibgeschütztes Attribut oder Tag kann auch dann nicht beschrieben werden, wenn es in 2WinScada beschreibbar bleibt. Definieren Sie die Tags bei der ersten Inbetriebnahme schreibgeschützt und geben Sie das Schreiben erst nach einer kontrollierten Prüfung frei.
Datentypen
| CIP-Typ | 2WinScada-Datentyp | Größe | Hinweis |
|---|---|---|---|
| BOOL | Bool | 1 Byte | Alle Profile |
| SINT | Sbyte | 1 Byte | Alle Profile |
| USINT | Byte | 1 Byte | Omron / Generic CIP; für Byte-Arrays Byte und Länge |
| INT | Int | 2 Byte | Alle Profile |
| UINT | Word | 2 Byte | Omron / Generic CIP |
| DINT | DInt | 4 Byte | Alle Profile |
| UDINT | DWord | 4 Byte | Omron / Generic CIP |
| LINT | LInt | 8 Byte | Alle Profile |
| ULINT | ULInt / LWord | 8 Byte | Omron / Generic CIP |
| REAL | Real | 4 Byte | Alle Profile |
| LREAL | LReal | 8 Byte | Omron / Generic CIP |
| STRING | String | Variabel | Rockwell-Standard-STRING höchstens 82 ASCII-Zeichen; Omron CIP-STRING |
| Typ wird aus dem Gerät gelesen | Automatisch | — | Nur symbolisches Lesen bei Rockwell / Omron |
TIP
Der konfigurierte Typ muss der tatsächlichen Datendarstellung im Gerät entsprechen. Bei symbolischen Adressen von Rockwell Logix erscheinen die Typen Byte, Word, DWord, ULInt, LWord und LReal nicht in der Liste.
Befehlsverhalten (Impuls / steigende Flanke)
Die Tag-Tabelle von EtherNet/IP-Geräten enthält die Spalten Befehlsverhalten und Impulsdauer (ms). Das Befehlsverhalten kann nur bei beschreibbaren, einzelnen (keinen Array-)Bool-Tags und mit Explicit Messaging verwendet werden. Tags, die an Assemblies des zyklischen I/O gebunden sind, erweiterte Tags, Arrays und CIP-Dienste außer 0x0E lassen dieses Verhalten nicht zu.
- Impuls (0 → 1 → 0): Eine True-Anforderung schreibt nacheinander false und true auf das Ziel; nach Ablauf von Impulsdauer wird false geschrieben. Die Dauer wird gemessen, nachdem das Schreiben von true bestätigt wurde. Während ein Impuls läuft, werden neue True-Anforderungen ignoriert, und die Dauer wird nicht verlängert.
- Steigende Flanke (0 → 1): Schreibt false, danach true, und lässt das Ziel aktiv. Ist ein automatisches Rücksetzen erforderlich, wählen Sie Impuls.
- Eine False-Anforderung bricht einen aktiven Impuls ab oder setzt das Ziel zurück.
Befehle Impuls und Steigende Flanke können nur Benutzer senden, die die Rolle Operate oder Editor haben und das Tag in ihrem Prozessgruppenumfang sehen (siehe Schreibumfang für Tags).
WARNING
Bei Stopp, Deaktivierung, Lizenzverlust, Neuladen und Kommunikationsfehlern versucht 2WinScada, das Ziel zurückzusetzen; bei einem Verbindungsverlust kann das Rücksetzen jedoch nicht garantiert werden. Netzwerklatenz kann die Impulsdauer verlängern. Diese Funktion ist weder eine Sicherheitsfunktion noch ein zeitgenauer SPS-Ausgang; präzise Zeitsteuerung muss im SPS-Programm erfolgen.
Rockwell-Tags durchsuchen
In der Tag-Tabelle eines gespeicherten Rockwell-Logix-Geräts listet die Schaltfläche Tags durchsuchen die Tags im Controller auf und importiert die ausgewählten gesammelt:
- Klicken Sie auf Tags durchsuchen. Geben Sie bei Bedarf Text in das Feld Adresse oder Datentyp suchen ein und wählen Sie unter Bereich den Eintrag Alle Bereiche, Controller oder Programm; klicken Sie dann auf Durchsuchen.
- Prüfen Sie in der Liste die Spalten Symbolische Adresse, Datentyp, Dimensionen, Struktur / UDT, Importierbar und Verfügbarkeitshinweis. Strukturen bzw. UDT-Wurzeln und unbekannte Typen erscheinen in der Liste, können aber nicht importiert werden.
- Wählen Sie die zu importierenden Zeilen aus und legen Sie das Verhalten bei Konflikten fest: Gesamten Import bei Konflikt abbrechen, Tags mit Konflikten überspringen oder Namenskonflikte umbenennen. Das Umbenennen löst nur Namenskonflikte; eine vorhandene Adresse wird kein zweites Mal hinzugefügt.
- Klicken Sie auf Ausgewählte Tags importieren. Die ausgewählten Tags werden geprüft und in einem Schritt gespeichert; Log- oder Alarmdefinitionen werden nicht automatisch angelegt.
Bei den Profilen Omron NX/NJ und Generic CIP gibt es kein automatisches Durchsuchen nach Tags; definieren Sie die Tags manuell nach der Herstellerdokumentation.
Lese-, Schreib- und Verbindungsverhalten
- Tag-Werte werden nur aktualisiert, wenn sich der gelesene Wert ändert.
- Bei einem Timeout, wenn das Gerät offline ist, oder bei einer Netzwerkunterbrechung wird die Qualität der betroffenen Tags Bad; die letzten Werte werden nicht gelöscht.
- 2WinScada versucht, die Verbindung wiederherzustellen, bis das Gerät verbunden ist; die Wartezeit wächst mit jedem Versuch und erreicht höchstens 300 Sekunden.
- Ein Adress- oder Konfigurationsfehler, der nur ein einzelnes Tag betrifft, unterbricht die fehlerfreie Gerätesitzung nicht.
- Wiederholt sich derselbe Fehler, wird im Dienstprotokoll der erste Fehler ausführlich geschrieben; Wiederholungen werden alle fünf Minuten zusammengefasst. Erscheint im Log kein neuer Fehler, bedeutet das nicht, dass die Versuche aufgehört haben.
Nicht im Funktionsumfang
- Automatisches Durchsuchen nach Tags bei Omron NX/NJ und Generic CIP
- Automatisches Auflösen vollständiger UDTs
- Produced/Consumed-Tags
- CIP Safety, CIP Motion und CIP Security
- Über einen CIP-Routenpfad geroutete Verbindungen für zyklisches I/O
- Automatische Konfiguration jedes EtherNet/IP-Geräts
Wiederverwendbare Tag-Vorlagen für EtherNet/IP-Geräte und das Erstellen von Profilen aus einer EDS-Datei sind auf der Seite Geräteprofile beschrieben.
Fehlerbehebung
| Symptom | Prüfungen |
|---|---|
| Verbindung kann nicht hergestellt werden | Prüfen Sie Host / IP-Adresse, den TCP-Port 44818, VLAN/Routing, die Firewall, ob EtherNet/IP im Gerät aktiviert ist, und den Wert Verbindungszeitüberschreitung (ms). |
| Generic-CIP-Tag wird nicht gelesen | Vergleichen Sie Dienst, Klasse, Instanz, Attribut und Datentyp mit dem Objekthandbuch des Herstellers; beginnen Sie mit dem Dienst 0x0E. |
| Symbolisches Rockwell-Tag wird nicht gelesen | Prüfen Sie die Schreibweise des Tag-Namens, den Controller-/Programmbereich, die Einstellung External Access, den Wert CIP-Routenpfad und den Datentyp. |
| Symbolisches Omron-Tag wird nicht gelesen | Prüfen Sie die Einstellung Network Publish der Variablen, ob der Name ein einzelner Variablenname ist, den unterstützten atomaren Typ und die Nachrichtengröße. |
| Tag-Qualität Bad | Untersuchen Sie im Dienstprotokoll Timeouts oder Netzwerkfehler; lassen Sie Zeit für die erneute Verbindung. |
| Schreiben schlägt fehl | Prüfen Sie die Einstellung Nur lesen, die Benutzerberechtigung, ob das Tag im Gerät beschreibbar ist, die Übereinstimmung von Dienst und Typ sowie den Betriebszustand des Geräts. |
| Array oder String wird abgeschnitten oder abgelehnt | Prüfen Sie Elementanzahl, Länge, die Rockwell-Grenze von 82 Zeichen und die Omron-Grenze von 492/496 Byte. |
| Durchsuchen der Rockwell-Tags bleibt stehen oder meldet einen Fehler | Prüfen Sie das Geräteprofil, den Wert CIP-Routenpfad und den Zugriff auf den Controller. |
| Verbindung für zyklisches I/O wird abgelehnt | Prüfen Sie die Nummern der Eingangs-, Ausgangs- und Konfigurations-Assembly, die Bytegrößen, den RPI-Bereich, den Verbindungstyp und die Höchstzahl gleichzeitiger Verbindungen des Geräts. |
| Assembly-Größe stimmt nicht überein | Geben Sie die vom Hersteller angegebene Datengröße ein. In 2WinScada ist die Größe nur die der Anwendungsdaten; der Run/Idle-Header wird getrennt gewählt. |
| Keine Eingangsdaten, Qualität Bad | Prüfen Sie den Firewall-/VLAN-Weg für UDP 2222, die Auswahl Lokale IPv4-Schnittstelle (optional) und den Wert Adapter-UDP-Port. |
| Zyklischer Ausgang funktioniert nicht | Prüfen Sie die Option Zyklische Ausgänge aktivieren (O→T), Nummer und Größe der Ausgangs-Assembly und ob die Ausgangs-Tags beschreibbar und überschneidungsfrei sind. |
| Multicast funktioniert nicht | Wählen Sie die richtige Netzwerkschnittstelle; prüfen Sie die IGMP- und Switch-Einstellungen. Prüfen Sie die Verbindung bei Bedarf zuerst mit Point-to-point. |
| RPI wird nicht akzeptiert | Wählen Sie einen Wert im Bereich 10–60000 ms und innerhalb der vom Gerät unterstützten Grenzen. |