3S_V3

3S_V3

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Allgemein

Der 3S_V3 Treiber verwendet für die Verbindung zu Steuerungen mit CoDeSys V3 den PLC-Handler von 3S. Der PLC-Handler ist eine Schnittstelle zu Steuerungen der Versionen V2.3 und V3. Der Treiber unterstützt aktuell nur Steuerungen der Version V3.

PLC-Handler

Unterschiedliche Versionen des PLC Handlers sind nicht kompatibel. Es muss als immer der zur jeweiligen Treiberversion passende PLC-Handler verwendet werden. PLC-Handler anderer Versionen müssen ersetzt werden.

  • Für zenon 7.00 und 7.10 ist mindestens die Version 3.5.3.60 des PLC Handlers Voraussetzung.
  • Ab zenon 7.11 wird die Version 3.5 SP4 des PLC-Handlers benötigt.
    Diese wird mit dem Installationsmedium ausgeliefert. Sie ist im folgenden Ordner abgelegt: \AdditionalSoftware\3S PLC Handler.

Verbindung

Steuerungen der Version V3 werden über die so genannte Knotenadresse angesprochen, die im erreichbaren Netzwerk eindeutig ist.

Die Verbindung zur Steuerung kann hergestellt werden:

  • per ARTI (Asynchronous RunTime Interface) über die lokale Netzwerkkarte
    oder
  • ein Gateway auf dem lokalen oder einem Remote Rechner

Der Treiber kann mehrere Steuerungen gleichzeitig ansprechen. Dabei wird für jede Verbindung eine eigene Instanz des PLC-Handlers angelegt.

Symbolische Adressierung

Der PLC-Handler spricht Variablen in der Steuerung nur über deren symbolischen Namen an. Die Adressierung über den Offset der Variablen ist nicht möglich. Allerdings kann bei komplexen Variablen (Strukturen, Arrays) der gesamte (binäre) Datenblock der Variable über den Basisnamen angesprochen werden. Das wird vom Treiber für RDA benutzt.

In zenon Versionen bis 7.00 werden Variablen über die Variablenkennung adressiert. Ab Version 7.10 kann gewählt werden, ob die Kennung oder die Option Symbolische Adresse verwendet wird.

Damit der PLC-Handler die Variablen über den symbolischen Namen in der Steuerung findet, müssen Sie die im zenon Projekt verwendeten Variablen in der CoDeSys Projektiersoftware über ein Symbolkonfigurations-Objekt auswählen und in die Steuerung übertragen. Dabei wird gleichzeitig eine Symboldatei im XML-Format erzeugt. Diese kann für den Offline-Variablenimport verwendet werden.

Hinweis: Sind keine Symbole auf der Steuerung vorhanden, wird die Verbindung abgebrochen.

Noch in diesem Kapitel

3S_V3 - Datenblatt

Treiber-Historie

Voraussetzungen

Konfiguration

Variablen anlegen

Treiberspezifische Funktionen

Treiberkommandos

Fehleranalyse


3S_V3 - Datenblatt

3S_V3 -> 3S_V3 - Datenblatt

Allgemein: |
Treiberdateiname | 3S_V3.exe
Treiberbezeichnung | 3S v3 Treiber für PLC Handler
Steuerungs-Typen | 3S CoDeSys v3 basierte Steuerungen; PAC Drive LMC von Schneider Electric
Steuerungs-Hersteller | 3S; Elau; Schneider; Bosch Rexroth;

Treiber unterstützt: |
Protokoll | 3S-Arti; 3S-Gateway;
Adressierung: Adress-basiert | -
Adressierung: Namens-basiert | x
Kommunikation spontan | -
Kommunikation pollend | x
Online Browsing | x
Offline Browsing | x
Echtzeitfähig | x
Blockwrite | -
Modemfähig | -
Serielles Logging | -
RDA numerisch | x
RDA String | -

Voraussetzungen: |
Hardware PC | -
Software PC | PLCHandler von 3S; Die Datei 'PLCHandlerDll.dll' wird auf dem installationsmedium mit ausgeliefert unter: Installationsmedium\AdditionalSoftware\3S PLC Handler\ Die Datei muss manuell in das Systemverzeichnis kopiert werden: 64 bit: C:\Windows\SysWOW64 32bit: C:\Windows\System32
Hardware Steuerung | -
Software Steuerung | -
Benötigt v-dll | -

Plattformen: |
Betriebssysteme | Windows CE 6.0, Embedded Compact 7; Windows 7, 8, 8.1 Server 2008R2, Server 2012, Server 2012R2;
CE Plattformen | x86; ARM;


Treiber-Historie

3S_V3 -> Treiber-Historie

Datum | Build Nummer | Änderung
21.06.13 | 7.11.0.7498 | Treiberdokumentation wurde neu erstellt

Treiberversionierung

Mit zenon 7.10 wurde die Versionierung der Treiber verändert. Ab dieser Version gibt es eine versionsübergreifende Build-Nummer. Das ist die Zahl an der 4. Stelle der Dateiversion.
Zum Beispiel: 7.10.0.4228 bedeutet: Der Treiber ist für Version 7.10, Service Pack 0 und hat die Build-Nummer 4228.

Erweiterungen oder Fehlerbehebungen werden zukünftig in einem Build eingebaut und sind dann ab der nächsthöheren Build-Nummer verfügbar.

Example Beispiel

Eine Treibererweiterung wurde in Build 4228 implementiert. Der Treiber, den Sie im Einsatz haben, verfügt über die Build-Nummer 8322. Da die Build-Nummer Ihres Treibers höher ist als die Build-Nummer der Erweiterung, ist die Erweiterung enthalten. Die Versionsnummer des Treiber (die ersten drei Stellen der Dateiversion) spielen dabei keine Rolle. Die Treiber sind versionsunabsabhängig


Voraussetzungen

3S_V3 -> Voraussetzungen

Dieses Kapitel enthält Informationen zu den Voraussetzungen, die für die Verwendung des Treibers erforderlich sind.

Noch in diesem Kapitel

PC

Steuerung


PC

3S_V3 -> Voraussetzungen -> PC

Zusätzliche Software

PC

Der Treiber benötigt die PLCHandlerDll.dll, die von 3S hergestellt wird und das PLCHandler-SDK enthält. Die DLL muss die Version 3.5 oder neuer besitzen. Sie muss in den Installationsordner des Treibers oder in den Standardordner von Windows kopiert werden.
Standardordner:

  • 32-Bit: C:\Windows\System32
  • 64-Bit: C:\Window\SysWOW64

Die DLL befindet sich am zenon Installationsmedium im Unterordner: AdditionalSoftware\3S PLC Handler.

CE

Für CE muss keine weitere Software installiert werden, das PLCHandler-SDK wird fest zum Treiber gelinkt.

Unter Windows CE ist es nicht möglich, mehrere Treiber vom gleichen Typ zu verwenden.


Steuerung

3S_V3 -> Voraussetzungen -> Steuerung

Steuerungen

Der Treiber 3S_V3 dient zur Anbindung an eine SPS, die 3S CoDeSys V3 als Betriebssystem verwendet, zum Beispiel 3S CoDeSys Control Win V3 oder Schneider LMC PacDrive.

Die Verbindung zur Steuerung erfolgt wahlweise über die ARTI-Schnittstelle (Asynchronous RunTime Interface) oder ein lokales oder remote Gatway.


Konfiguration

3S_V3 -> Konfiguration

In diesem Kapitel lesen Sie, wie Sie den Treiber im Projekt anlegen und welche Einstellungen beim Treiber möglich sind.

info Info

Weitere Einstellungen, die Sie für Variablen in zenon vornehmen können, finden Sie im Kapitel Variablen der Online-Hilfe.

Noch in diesem Kapitel

Anlegen eines Treibers

Einstellungen im Treiberdialog


Anlegen eines Treibers

3S_V3 -> Konfiguration -> Anlegen eines Treibers

Um einen neuen Treiber anzulegen:

  1. Klicken Sie mit der rechten Maustaste im Projektmanager auf Treiber und selektieren Sie im Kontextmenü Treiber neu.
  2. In der folgenden Dialogbox bietet Ihnen das Programm eine Auflistung aller verfügbaren Treiber an.

  3. Selektieren Sie den gewünschten Treiber und vergeben Sie eine Bezeichnung für diesen:
    • Die Treiberbezeichnung muss eindeutig sein, d.h. wird ein und derselbe Treiber mehrmals im Projekt verwendet, so muss jeweils eine neue Bezeichnung vergeben werden.
    • Die Treiberbezeichnung ist Bestandteil des Dateinamens. Daher darf Sie nur Zeichen enthalten, die vom Betriebssystem unterstützt werden. Nicht gültige Zeichen werden durch einen Unterstrich (_) ersetzt.
    • Achtung: Die Bezeichnung kann später nicht mehr geändert werden.
  4. Bestätigen Sie den Dialog mit OK. Im folgenden Dialog werden die einzelnen Konfigurationen der jeweiligen Treiber eingestellt.

Für ein Projekt müssen nur die jeweils notwendigen Treiber eingebunden werden. Späteres Einbinden eines weiteren Treibers ist problemlos möglich.

info Info

Bei neu angelegten Projekten oder bei bestehenden Projekten, die in eine Version ab 6.21 konvertiert werden, werden die folgenden Treiber automatisch angelegt:

  • Intern
  • MathDr32
  • SysDrv.


Einstellungen im Treiberdialog

3S_V3 -> Konfiguration -> Einstellungen im Treiberdialog

Folgende Einstellungen können Sie beim Treiber vornehmen:

Noch in diesem Kapitel

Allgemein

Einstellungen

Information


Allgemein

3S_V3 -> Konfiguration -> Einstellungen im Treiberdialog -> Allgemein

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Beim Anlegen eines Treibers wird der Konfigurationsdialog geöffnet. Um den Dialog später zum Bearbeiten zu öffnen, führen Sie einen Doppelklick auf den Treiber in der Liste aus oder klicken Sie auf die Eigenschaft Konfiguration.

Parameter

Beschreibung

Modus

Ermöglicht ein Umschalten zwischen Hardware und Simulationsmodus

  • Hardware:

    Die Verbindung zur Steuerung wird hergestellt.

  • Simulation - statisch

    Es wird keine Kommunikation zur Steuerung aufgebaut, die Werte werden vom Treiber simuliert. In diesem Modus bleiben die Werte konstant bzw. die Variablen behalten die über zenon Logic gesetzen Werte. Jede Variable hat seinen eigenen Speicherbereich. Zum Beispiel zwei Variablen vom Typ Merker mit Offset 79, können zur Runtime unterschiedliche Werte haben und beeinflussen sich gegenseitig nicht. Ausnahme: Der Simulatortreiber.

  • Simulation - zählend

    Es wird keine Kommunikation zur Steuerung aufgebaut, die Werte werden vom Treiber simuliert. In diesem Modus zählt der Treiber die Werte innerhalb ihres Wertebereichs automatisch hoch.

  • Simulation - programmiert

    Es wird keine Kommunikation zur Steuerung aufgebaut, die Werte werden von einem frei programmierbaren Simulationsprojekt berechnet. Das Simulationsprojekt wird mit der zenon Logic Workbench erstellt und läuft in einer in den Treiber integrierten zenon Logic Runtime ab. Details siehe Kapitel Treibersimulation.

Update-Liste im Speicher Halten

Einmal angeforderte Variablen werden weiterhin von der Steuerung angefordert, auch wenn diese aktuell nicht mehr benötigt werden.
Dies hat den Vorteil, dass z B. mehrmalige Bildumschaltungen nach dem erstmaligen Aufschalten beschleunigt werden, da die Variablen nicht neu angefordert werden müssen. Der Nachteil ist eine erhöhte Belastung der Kommunikation zur Steuerung.

Ausgänge schreibbar

Aktiv: Ausgänge können beschrieben werden.

Inaktiv: Das Beschreiben der Ausgänge wird unterbunden.

Hinweis: Steht nicht für jeden Treiber zur Verfügungen.

Variablenabbild remanent

Diese Option speichert und restauriert den aktuellen Wert, den Zeitstempel und die Status eines Datenpunkts.

Grundvoraussetzung: Die Variable muss einen gültigen Wert und Zeitstempel besitzen.

Das Variablenabbild wird im Modus Hardware gespeichert wenn:

  • einer der Status S_MERKER_1(0) bis S_MERKER8(7), REVISION(9), AUS(20) oder ERSATZWERT(27) aktiv ist

Das Variablenabbild wird immer gespeichert wenn:

  • die Variable vom Objekttyp Treibervariable ist
  • der Treiber im Simulationsmodus läuft. (nicht programmierte Simulation)

Folgende Status werden beim Start der Runtime nicht restauriert:

  • SELECT(8)
  • WR-ACK(40)
  • WR-SUC(41)

Der Modus Simulation - programmiert beim Treiberstart ist kein Kriterium, um das remanente Variablenabbild zu restaurieren.

Am Standby Server stoppen

Einstellung für Redundanz bei Treibern, die nur eine Kommunikationsverbindung erlauben. Dazu wird der Treiber am Standby Server gestoppt und erst beim Hochstufen wieder gestartet.

Achtung: Ist diese Option aktiv, ist die lückenlose Archivierung nicht mehr gewährleistet.

Aktiv: Versetzt den Treiber am nicht-prozessführenden Server automatisch in einen Stopp-ähnlichen Zustand. Im Unterschied zum Stoppen über Treiberkommando erhält die Variable nicht den Status abgeschaltet, sondern einen leeren Wert. Damit wird verhindert, dass beim Hochstufen zum Server nicht relevante Werte in AML , CEL und Archiv erzeugt werden.

Hinweis: Nicht verfügbar, wenn CE Terminal als Datenserver dient. Weitere Informationen dazu erhalten Sie im Handbuch zenon Operator im Kapitel CE Terminal als Datenserver.

Update Zeit Global

Aktiv: Die eingestellte Globale Update Zeit in ms wird für alle Variablen im Projekt verwendet. Die bei den Variablen eingestellte Priorität wird nicht verwendet.
Inaktiv: Die eingestellten Prioritäten werden für die einzelnen Variablen verwendet.

Priorität

Hier werden die Pollingzeiten der einzelnen Prioritätsklassen eingestellt. Alle Variablen mit der entsprechenden Priorität werden in der eingestellten Zeit gepollt.

Die Zuordnung zu den Variablen erfolgt separat bei jeder Variablen über die Einstellungen in den Variableneigenschaften.
Mit den Prioritätsklassen kann die Kommunikation der einzelnen Variablen auf die Wichtigkeit bzw. benötigte Aktualität abgestuft werden. Daraus ergibt sich eine verbesserte Verteilung der Kommunikationslast.

Achtung: Prioritätsklassen werden nicht von jedem Treiber unterstützt. Zum Beispiel unterstützen spontan kommunizierende Treiber dies nicht.

Dialog beenden

Parameter | Beschreibung
OK | Übernimmt alle Änderungen in allen Registerkarten und schließt den Dialog.
Abbrechen | Verwirft alle Änderungen in allen Registerkarten und schließt den Dialog.
Hilfe | Öffnet die Online-Hilfe.

Update Zeit zyklische Treiber

Für zyklische Treiber gilt:

Beim Sollwert Setzen, Advisen von Variablen und bei Requests wird sofort ein Lesezyklus für alle Treiber ausgelöst - unabhängig von der eingestellten Update Zeit. Damit wird sicher gestellt, dass der Wert nach dem Schreiben in der Visualisierung sofort zur Verfügung steht. Update-Zeiten können damit für zyklische Treiber kürzer ausfallen als eingestellt.


Einstellungen

3S_V3 -> Konfiguration -> Einstellungen im Treiberdialog -> Einstellungen

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Auswahl der Steuerungen, die verwendet werden sollen. Für jede Steuerung kann ausgewählt werden, ob die Verbindung über ARTI oder ein Gateway erfolgen soll.

Parameter

Beschreibung

Symbolische Adressierung über

Auswahl, ob für die symbolische Adressierung der Variablen die Variablenkennung oder die Option Symbolische Adresse verwendet werden soll.

Diese Auswahl ist ab der zenon Version 7.10 möglich.

Bis einschließlich Version 7.00 wird immer die Variablenkennung verwendet. In diesem Fall werden die Optionen Variablenkennung und Symbolische Adresse nicht angezeigt.

Variablenkennung

Aktiv: Symbolische Adressierung der Variablen erfolgt über die Variablenkennung.

Symbolische Adresse

Aktiv: Symbolische Adressierung der Variablen erfolgt über die Symbolische Adresse.

Steuerungen

Liste der konfigurierten Verbindungen.

Verbindungsname entspricht der Knotenadresse.

Neu

Öffnet den Dialog zur Konfiguration einer Verbindung.

Bearbeiten

Öffnet den Dialog zur Bearbeitung der ausgewählten Verbindung.

Löschen

Löscht die ausgewählte Verbindung nach einer Sicherheitsabfrage.

OK

Übernimmt alle Änderungen in allen Registerkarten und schließt den Dialog.

Abbrechen

Verwirft alle Änderungen in allen Registerkarten und schließt den Dialog.

Hilfe

Öffnet die Online-Hilfe.

Noch in diesem Kapitel

Verbindung


Verbindung

3S_V3 -> Konfiguration -> Einstellungen im Treiberdialog -> Einstellungen -> Verbindung

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Konfiguration der Verbindung zu einer Steuerung.

Parameter

Beschreibung

Verbindungstyp

Auswahl des Verbindungstyps aus Dropdownliste:

  • ARTI: über die lokale Netzwerkkarte
  • Gateway: über ein Gateway auf dem lokalen oder einem Remote Rechner

Version

Auswahl der zu verwendenden Version aus Dropdownliste.

Nur konfigurierbar, wenn mehrere Versionen unterstützt werden.

Netzadresse

Eingabe der Netzadresse .

Diese entspricht der zenon Eigenschaft Netzadresse.

Knotenadresse

Knotenadresse oder Knotenname der Steuerung.

Eingabe von Knotenadresse oder Knotenname in das Feld oder Auswahl aus Dropdownliste. Klick auf die Schaltfläche ... öffnet den Dialog zur Auswahl einer Steuerung. Beim Öffnen wird im Netzwerk nach Steuerungen gesucht, die über die gewählte Verbindungsart erreichbar sind. Ist die Suche nach einer Steuerung nicht möglich, weil sich Projektierungsrechner und Steuerung in unterschiedlichen Netzwerken befinden, muss die Adresse manuell eingegeben werden.

Knotenadresse und Knotenname

  • Die Knotenadresse kann für unterschiedliche Verbindungsarten unterschiedlich lauten. Sie ist aber für die gewählte Verbindungsart immer eindeutig.
    Hinweis: Eventuell erhält eine Steuerung bei einem Neustart eine neue Knotenadresse, da die ursprüngliche als vergeben geführt wird.
  • Der Knotenname ist nicht eindeutig. Zum Beispiel können auf einem Gerät mehrere Steuerungen laufen. Diese können dann nur über die Knotenadresse identifiziert werden.

Gateway

Konfiguration des Gateways.

Verbindung

Auswahl der Verbindungsart vom PLC-Handler zum Gateway aus Dropdownliste:

  • TCP/IP: TCP/IP-Verbindung
  • Shared Memory: Nutzung des Shared Memory am lokalen Rechner

Adresse

IP-Adresse des Gateways.
Nur bei Kommunikation über TCP/IP nötig.

Passwort

Passwort des Gatways.
Nur bei Kommunikation über TCP/IP.

Port

Port des Gatways.
Nur bei Kommunikation über TCP/IP.

Default: 1217

OK

Übernimmt Einstellungen und schließt den Dialog.

Abbrechen

Verwirft alle Änderungen und schließt den Dialog.

Noch in diesem Kapitel

Steuerung im Netzwerk suchen


Steuerung im Netzwerk suchen

3S_V3 -> Konfiguration -> Einstellungen im Treiberdialog -> Einstellungen -> Verbindung -> Steuerung im Netzwerk suchen

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Mit Klick auf die Schaltfläche Knotenadresse wird der Dialog für die Auswahl einer Steuerung geöffnet. Beim Öffnen wird nach Steuerungen gesucht, gefundene Steuerungen werden zur Auswahl angeboten.

Parameter | Beschreibung
Liste der Steuerungen | Listet alle gefundenen Steuerungen auf.
OK | Übernimmt ausgewählte Steuerung und schließt den Dialog.
Abbrechen | Verwirft Auswahl und schließt den Dialog.
Aktualisieren | Sucht erneut nach Steuerungen.


Information

3S_V3 -> Konfiguration -> Einstellungen im Treiberdialog -> Information

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Informationen zu den Versionen von:

  • PLC-Handler
  • Treiber


Variablen anlegen

3S_V3 -> Variablen anlegen

So werden Variablen im zenon Editor angelegt:

Noch in diesem Kapitel

Variablen im Editor anlegen

Adressierung

Treiberobjekte und Datentypen

Variablen anlegen durch Import

Treibervariablen


Variablen im Editor anlegen

3S_V3 -> Variablen anlegen -> Variablen im Editor anlegen

Variablen können angelegt werden:

  • als einfache Variable
  • in Arrays
  • als Struktur-Variablen

Dialog Variable

Um eine neue Variable zu erstellen, gleich welchen Typs:

  1. wählen Sie im Knoten Variablen im Kontextmenü den Befehl Variable neu

  2. der Dialog zur Konfiguration der Variable wird geöffnet
  3. konfigurieren Sie die Variable
  4. welche Einstellungen möglich sind, hängt ab vom Typ der Variablen

Eigenschaft

Beschreibung

Name

Eindeutiger Name der Variablen. Ist eine Variable mit gleichem Namen im Projekt bereits vorhanden, kann keine weitere Variable mit diesem Namen angelegt werden.

Maximale Länge: 128 Zeichen

Achtung: Die Zeichen # und @ sind für Variablennamen nicht erlaubt. Bei Verwendung nicht zugelassener Zeichen kann die Variablenerstellung nicht abgeschlossen werden, die Schaltfläche Fertigstellen bleibt inaktiv.
Hinweis: Manche Treiber erlauben die Adressierung auch über die Eigenschaft Symbolische Adresse.

Treiber

Wählen Sie aus der Dropdownliste den gewünschten Treiber.

Hinweis: Sollte im Projekt noch kein Treiber angelegt sein, wird automatisch der Treiber für interne Variable (Intern.exe) geladen.

Treiber-Objekttyp

Wählen Sie aus der Dropdownliste den passenden Treiber-Objekttyp aus.

Datentyp

Wählen Sie den gewünschten Datentyp. Klick auf die Schaltfläche ... öffnet den Auswahl-Dialog.

Array-Einstellungen

Erweiterte Einstellungen für Array-Variablen. Details dazu lesen Sie im Abschnitt Arrays.

Adressierungsoptionen

Erweiterte Einstellungen für Arrays und Struktur-Variablen. Details dazu lesen Sie im jeweiligen Abschnitt.

Automatische Elementeaktivierung

Erweiterte Einstellungen für Arrays und Struktur-Variablen. Details dazu lesen Sie im jeweiligen Abschnitt.

Ableitung vom Datentyp

Messbereich, Signalbereich und Sollwert Setzen werden immer:

  • vom Datentyp abgeleitet
  • beim Ändern des Datentyps automatisch angepasst

Hinweis Signalbereich: Bei einem Wechsel auf einen Datentyp, der den eingestellten Signalbereich nicht unterstützt, wird der Signalbereich automatisch angepasst. Zum Beispiel wird bei einem Wechsel von INT auf SINT der Signalbereich auf 127 geändert. Die Anpassung erfolgt auch dann, wenn der Signalbereich nicht vom Datentyp abgeleitet wurde. In diesem Fall muss der Messbereich manuell angepasst werden.


Adressierung

3S_V3 -> Variablen anlegen -> Adressierung

Gruppe/Eigenschaft

Beschreibung

Allgemein

Allgemeine Konfiguration.

Name

Frei vergebbarer Name.

Achtung: Je zenon Projekt muss der Name eindeutig sein.

Kennung
  • Bis zenon Version 7.00: Symbolische Adresse
  • Ab Version 7.10: Wahlweise Symbolische Adresse oder frei vergebbare Kennung, z. B. für Betriebsmittelkennung, Kommentar...

Adressierung

Konfiguration der Adressierung.

Netzadresse

Busadresse oder Netzadresse der Variablen.

Diese Adresse bezieht sich auf die Busadresse der Verbindungsprojektierung im Treiber. Damit wird ausgewählt auf welcher Steuerung sich die Variable befindet.

Datenbaustein

nicht verwendet

Offset

nicht verwendet

Ausrichtung

nicht verwendet

Bitnummer

nicht verwendet

Stringlänge

Nur verfügbar bei String-Variablen: Maximale Anzahl von Zeichen, die die Variable aufnehmen kann.

Symbolische Adresse

Ab Version 7.10: Wahlweise Symbolische Adresse.

Treiber Anbindung/Treiber-Objekttyp

Objekttyp der Variablen. Wird abhängig vom verwendeten Treiber beim Erstellen der Variablen ausgewählt und kann hier geändert werden.

Treiber Anbindung/Datentyp

Datentyp der Variablen. Wird beim Erstellen der Variablen ausgewählt und kann hier geändert werden.

ACHTUNG: Wenn der Datentyp nachträglich geändert wird, müssen alle anderen Eigenschaften der Variablen überprüft bzw. angepasst werden.


Treiberobjekte und Datentypen

3S_V3 -> Variablen anlegen -> Treiberobjekte und Datentypen

Treiberobjekte sind in der Steuerung verfügbare Bereiche wie z. B. Merker, Datenbausteine usw. Hier lesen Sie, welche Treiberobjekte vom Treiber zur Verfügung gestellt werden und welche IEC-Datentypen dem jeweiligen Treiberobjekt zugeordnet werden können.

Noch in diesem Kapitel

Treiberobjekte

Zuordnung der Datentypen


Treiberobjekte

3S_V3 -> Variablen anlegen -> Treiberobjekte und Datentypen -> Treiberobjekte

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Folgende Objekttypen stehen in diesem Treiber zur Verfügung:

Treiberobjekttyp | Kanaltyp | Lesen / Schreiben | Unterstützte Datentypen | Beschreibung
Merker | 8 | L/S | BOOL, USINT, SINT, BYTE, UINT, WORD, INT, UDINT, DWORD, DINT, ULINT, LINT, LWORD, REAL, LREAL, STRING, WSTRING, DT, TOD, DATE, TIME |
Treibervariable | 35 | L/S | BOOL, SINT, USINT, INT, UINT, DINT, UDINT, REAL, STRING | Variable für die statische Analyse der Kommunikation. Wird zwischen Treiber und Runtime übertragen (nicht zur SPS). Hinweis: Die Adressierung und das Verhalten ist bei den meisten zenon Treibern gleich Weitere Infos finden Sie bei den Treibervariablen


Zuordnung der Datentypen

3S_V3 -> Variablen anlegen -> Treiberobjekte und Datentypen -> Zuordnung der Datentypen

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Alle Variablen in zenon werden von IEC-Datentypen abgeleitet. In folgender Tabelle werden zur besseren Übersicht die IEC-Datentypen den Datentypen der Steuerung gegenübergestellt.

Steuerung | zenon | Datenart
BIT, BOOL | BOOL | 8
USINT | USINT | 9
BYTE | BYTE | 22
SINT | SINT | 10
WORD | WORD | 23
UINT, UINT16 | UINT | 2
INT, INT16, ENUM | INT | 1
UDINT | UDINT | 4
DINT | DINT | 3
ULINT | ULINT | 27
DWORD | DWORD | 24
LINT | LINT | 26
REAL | REAL | 5
LREAL | LREAL | 6
STRING | STRING | 12
WSTRING | WSTRING | 21
DATE | DATE | 18
TIME | TIME | 17
DT, DATE_AND_TIME | DT | 20
TOD, TIME_OF_DAY | TOD (Time of Day) | 19

Datenart: Die Eigenschaft Datenart ist die interne numerische Bezeichnung des Datentyps. Diese wird auch für den erweiterten DBF Import/Export der Variablen verwendet.


Variablen anlegen durch Import

3S_V3 -> Variablen anlegen -> Variablen anlegen durch Import

Variablen können auch mittels Variablenimport angelegt werden. Für jeden Treiber stehen XML- und DBF-Import zur Verfügung.

info Info

Details zu Import und Export von Variablen finden Sie im Handbuch Import-Export im Abschnitt Variablen.

Noch in diesem Kapitel

XML Import

DBF Import/Export

Online- und Offline-Import


XML Import

3S_V3 -> Variablen anlegen -> Variablen anlegen durch Import -> XML Import

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Für den Import/Export von Variablen gilt:

  • Der Import/Export darf nicht aus dem Globalprojekt gestartet werden.
  • Der Start erfolgt über:
    • Kontextmenü zu Variablen bzw. Datentyp im Projektbaum
    • oder Kontextmenü einer Variablen bzw. eines Datentyps
    • oder Symbol in der Symbolleiste Variablen

attention Achtung

Beim Import/Überschreiben von existierenden Datentypen werden alle Variablen geändert, die auf diesem existierenden Datentyp basieren.

Beispiel:

Es existiert ein Datentyp XYZ abgeleitet vom Typ INT mit Variablen, die auf diesem Datentyp basieren. Ihre zu importierende XML-Datei enthält ebenfalls einen Datentyp mit Namen XYZ, allerdings abgeleitet vom Typ STRING. Wird dieser Datentyp importiert, so wird der existierende Datentyp überschrieben und bei allen auf ihm basierenden Variablen der Typ angepasst. D.h. die Variablen sind jetzt STRING- und keine INT-Variablen mehr.


DBF Import/Export

3S_V3 -> Variablen anlegen -> Variablen anlegen durch Import -> DBF Import/Export

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Daten können nach dBase exportiert und aus dBase importiert werden.

info Info

Import und Export über CSV oder dBase unterstützt keine treiberspezifischen Variableneinstellungen wie z. B. Formeln. Nutzen Sie dafür den Export/Import über XML.

Import DBF-Datei

Um den Import zu starten:

  1. führen Sie einen Rechtsklick auf die Variablenliste aus
  2. wählen Sie in der Dropdownliste von Erweiterter Export/Import ... den Befehl dBase importieren
  3. folgen Sie dem Importassistenten

Das Format der Datei ist im Kapitel Dateiaufbau beschrieben.

info Info

Beachten Sie:

  • Treiberobjekttyp und Datentyp müssen in der DBF-Datei an den Zieltreiber angepasst werden, damit Variablen importiert werden.
  • dBase unterstützt beim Import keine Strukturen oder Arrays (komplexe Variablen).

Export DBF-Datei

Um den Export zu starten:

  1. führen Sie einen Rechtsklick auf die Variablenliste aus
  2. wählen Sie im Dropdownliste von Erweiterter Export/Import ... den Befehl dBase exportieren...
  3. folgen Sie dem Exportassistenten

attention Achtung

DBF-Dateien:

  • müssen in der Benennung dem 8.3 DOS Format für Dateinamen entsprechen (8 alphanumerische Zeichen für Name, 3 Zeichen Erweiterung, keine Leerzeichen)
  • dürfen im Pfadnamen keinen Punkt (.) enthalten.
    Z. B. ist der Pfad C:\users\Max.Mustermann\test.dbf ungültig.
    Gültig wäre: C:\users\MaxMustermann\test.dbf
  • müssen nahe am Stammverzeichnis (Root) abgelegt werden, um die eventuelle Beschränkungen für Dateinamenlänge inklusive Pfad zu erfüllen: maximal 255 Zeichen

Das Format der Datei ist im Kapitel Dateiaufbau beschrieben.

info Info

dBase unterstützt beim Export keine Strukturen oder Arrays (komplexe Variablen).

Dateiaufbau der dBase Exportdatei

Für den Variablenimport und -export muss die dBaseIV-Datei folgende Struktur und Inhalte besitzen.

attention Achtung

dBase unterstützt keine Strukturen oder Arrays (komplexe Variablen).

DBF-Dateien müssen:

  • in der Benennung dem 8.3 DOS Format für Dateinamen entsprechen (8 alphanumerische Zeichen für Name, 3 Zeichen Erweiterung, keine Leerzeichen)
  • nahe am Stammverzeichnis (Root) abgelegt werden

Struktur

Bezeichnung | Typ | Feldgröße | Bemerkung
KANALNAME | Char | 128 | Variablenname. Länge kann über den Eintrag MAX_LAENGE in der project.ini eingeschränkt werden.
KANAL_R | C | 128 | Ursprünglicher Name einer Variablen, der durch den Eintrag unter VARIABLENNAME ersetzt werden soll (Feld/Spalte muss manuell angelegt werden). Länge kann über den Eintrag MAX_LAENGE in der project.ini eingeschränkt werden.
KANAL_D | Log | 1 | Variable wird bei Eintrag 1 gelöscht (Feld/Spalte muss manuell angelegt werden).
TAGNR | C | 128 | Kennung. Länge kann über den Eintrag MAX_LAENGE in der project.ini eingeschränkt werden.
EINHEIT | C | 11 | Technische Maßeinheit
DATENART | C | 3 | Datentyp (z. B. Bit, Byte, Wort, ...) entspricht dem Datentyp.
KANALTYP | C | 3 | Speicherbereich in der SPS (z. B. Merkerbereich, Datenbereich, ...) entspricht Treiber-Objekttyp.
HWKANAL | Num | 3 | Bus-Adresse
BAUSTEIN | N | 3 | Datenbaustein-Adresse (nur bei Variablen aus den Datenbereich der SPS)
ADRESSE | N | 5 | Offset
BITADR | N | 2 | Für Bit-Variablen: Bitadresse Für Byte-Variablen: 0=niederwertig, 8=höherwertig Für String-Variablen: Stringlänge (max. 63 Zeichen)
ARRAYSIZE | N | 16 | Anzahl der Variablen im Array für Index-Variablen ACHTUNG: Nur die erste Variable steht voll zur Verfügung. Alle folgenden sind nur über VBA oder den Rezeptgruppen Manager zugänglich
LES_SCHR | L | 1 | Lese-Schreib-Berechtigung 0: Sollwert setzen ist nicht erlaubt 1: Sollwert setzen ist erlaubt
MIT_ZEIT | L | 1 | Zeitstempelung in zenon (nur wenn vom Treiber unterstützt)
OBJEKT | N | 2 | Treiberspezifische ID-Nummer des Primitivobjekts setzt sich zusammen aus TREIBER-OBJEKTTYP und DATENTYP
SIGMIN | Float | 16 | Rohwertsignal minimal (Signalauflösung)
SIGMAX | F | 16 | Rohwertsignal maximal (Signalauflösung)
ANZMIN | F | 16 | technischer Wert minimal (Messbereich)
ANZMAX | F | 16 | technischer Wert maximal (Messbereich)
ANZKOMMA | N | 1 | Anzahl der Nachkommastellen für die Darstellung der Werte (Messbereich)
UPDATERATE | F | 19 | Updaterate für Mathematikvariablen (in sec, eine Dezimalstelle möglich) bei allen anderen Variablen nicht verwendet
MEMTIEFE | N | 7 | Nur aus Kompatibilitätsgründen vorhanden
HDRATE | F | 19 | HD-Updaterate für hist. Werte (in sec, eine Dezimalstelle möglich)
HDTIEFE | N | 7 | HD-Eintragtiefe für hist. Werte (Anzahl)
NACHSORT | L | 1 | HD-Werte als nachsortierte Werte
DRRATE | F | 19 | Aktualisierung an die Ausgabe (für zenon DDE-Server, in sec, eine Kommastelle möglich)
HYST_PLUS | F | 16 | Positive Hysterese; ausgehend vom Messbereich
HYST_MINUS | F | 16 | Negative Hyterese; ausgehend vom Messbereich
PRIOR | N | 16 | Priorität der Variable
REAMATRIZE | C | 32 | Name der zugeordnete Reaktionsmatrix
ERSATZWERT | F | 16 | Ersatzwert; ausgehend vom Messbereich
SOLLMIN | F | 16 | Sollwertgrenze Minimum; ausgehend vom Messbereich
SOLLMAX | F | 16 | Sollwertgrenze Maximum; ausgehend vom Messbereich
VOMSTANDBY | L | 1 | Variable vom Standby Server anfordern; der Wert der Variable wird im redundanten Netzwerkbetrieb nicht vom Server sondern vom Standby Server angefordert
RESOURCE | C | 128 | Betriebsmittelkennung. Freier String für Export und Anzeige in Listen. Länge kann über den Eintrag MAX_LAENGE in der project.ini eingeschränkt werden.
ADJWVBA | L | 1 | Nichtlineare Wertanpassung: 0: Nichtlineare Wertanpassung wird verwendet 1: Nichtlineare Wertanpassung wird nicht verwendet
ADJZENON | C | 128 | Verknüpftes VBA-Makro zum Lesen der Variablenwerte für die nichtlineare Wertanpassung.
ADJWVBA | C | 128 | Verknüpftes VBA-Makro zum Schreiben der Variablenwerte für die nichtlineare Wertanpassung.
ZWREMA | N | 16 | Verknüpfte Zählwert-Rema.
MAXGRAD | N | 16 | Maximaler Gradient für die Zählwert-Rema.

attention Achtung

Beim Import müssen Treiberobjekttyp und Datentyp in der DBF-Datei an den Zieltreiber angepasst werden, damit Variablen importiert werden.

Grenzwertdefinition

Grenzwertdefinition für Grenzwert 1 bis 4, bzw. Zustand 1 bis 4:

Bezeichnung | Typ | Feldgröße | Bemerkung
AKTIV1 | L | 1 | Grenzwert aktiv (pro Grenzwert vorhanden)
GRENZWERT1 | F | 20 | technischer Wert oder ID-Nummer der verknüpften Variable für einen dynamischen Grenzwert (siehe VARIABLEx) (wenn unter VARIABLEx 1 steht und hier -1, wird die bestehende Variablenzuordnung nicht überschrieben)
SCHWWERT1 | F | 16 | Schwellwert für den Grenzwert
HYSTERESE1 | F | 14 | wird nicht verwendet
BLINKEN1 | L | 1 | Blinkattribut setzen
BTB1 | L | 1 | Protokollierung in CEL
ALARM1 | L | 1 | Alarm
DRUCKEN1 | L | 1 | Druckerausgabe (bei CEL oder Alarm)
QUITTIER1 | L | 1 | quittierpflichtig
LOESCHE1 | L | 1 | löschpflichtig
VARIABLE1 | L | 1 | dyn. Grenzwertverknüpfung der Grenzwert wird nicht durch einen absoluten Wert (siehe Feld GRENZWERTx) festgelegt.
FUNC1 | L | 1 | Funktionsverknüpfung
ASK_FUNC1 | L | 1 | Ausführung über die Alarmmeldeliste
FUNC_NR1 | N | 10 | ID-Nummer der verknüpften Funktion (steht hier -1, so wird die bestehende Funktion beim Import nicht überschrieben)
A_GRUPPE1 | N | 10 | Alarm/Ereignis-Gruppe
A_KLASSE1 | N | 10 | Alarm/Ereignis-Klasse
MIN_MAX1 | C | 3 | Minimum, Maximum
FARBE1 | N | 10 | Farbe als Windowskodierung
GRENZTXT1 | C | 66 | Grenzwerttext
A_DELAY1 | N | 10 | Zeitverzögerung
INVISIBLE1 | L | 1 | Unsichtbar

Bezeichnungen in der Spalte Bemerkung beziehen sich auf die in den Dialogboxen zur Definition von Variablen verwendeten Begriffe. Bei Unklarheiten, siehe Kapitel Variablendefinition.


Online- und Offline-Import

3S_V3 -> Variablen anlegen -> Variablen anlegen durch Import -> Online- und Offline-Import

Vorheriges Kapitel Nächstes Kapitel Alle anzeigen Alle anzeigen Alle verbergen Alle verbergen
© Ing. Punzenberger COPA-DATA GmbH. E-Mail: documentation@copadata.com

Der Import von Variablen aus symbolischen Variablennamen kann wahlweise Online aus der Steuerung oder offline über eine Symboldatei erfolgen.

Voraussetzungen für den Import

Damit der Variablenimport funktioniert, müssen die im zenon Projekt verwendeten Variablen in der CoDeSys Projektiersoftware über ein Symbolkonfigurations-Objekt ausgewählt, und in die Steuerung übertragen werden. Bei diesem Vorgang wird gleichzeitig eine Symboldatei im XML-Format erzeugt, die für den Offline-Variablenimport verwendet werden kann.

Je nach den Einstellungen, ob die Variablenkennung oder die Symbolische Adresse für die Adressierung verwendet werden soll, wird der Symbolische Name in der entsprechenden Eigenschaft eingetragen.

Als Variablenname wird der importierte Symbolische Name mit vorangestellter Knotenadresse eingetragen, um bei eventuell gleichlautenden Symbolnamen in verschiedenen Steuerungen eindeutig zu bleiben. Der Variablenname kann daher nicht für die symbolische Adressierung verwendet werden.

Beim Variablenimport können die zu importierenden Variablen gefiltert werden. Es werden entweder alle vorhandenen oder nur neue Variablen zur Auswahl angeboten.

Zusätzlich könne verwaisten Variablen gesucht und gelöscht werden. In der Auswahlliste werden dann alle Variablen, deren Symbolnamen nicht oder nicht mehr in der Steuerung existieren, zum Löschen angeboten.

Variablenimport mit Wizard

Um Variablen zu importieren:

  1. Wählen Sie im Kontextmenü des Treibers Variablen vom Treiber importieren.
  2. Die Wizard wir geöffnet.
  3. Wählen Sie im Startfenster, ob die Variablen von der Steuerung oder aus einer XML-Datei importiert werden sollen.
  4. Klicken Sie auf Weiter.
  5. Wählen Sie die Steuerung und bei Offline-Import auch die XML-Datei aus.
  6. Klicken Sie auf Weiter.
  7. Konfigurieren Sie die Filtereinstellungen.
  8. Klicken Sie auf Fertig.
  9. Die Auswahlliste wird angezeigt.
  10. Wählen Sie die zu importierenden Variablen aus.
  11. Klicken Sie auf OK.

Die Variablen werden importiert. Sollte ein Fehler auftreten, wird eine entsprechende Meldung ausgegeben.

Auswahl der Importquelle

Parameter | Beschreibung
Variablen importieren aus | Auswahl der Importquelle.
Steuerung | Aktiv: Variablen werden aus einer Steuerung importiert.
XML-Symboldatei | Aktiv: Variablen werden aus einer mit der CoDeSys-Software erstellten XML-Datei importiert.
Weiter | Übernimmt Einstellung und wechselt zum nächsten Fenster.
Abbrechen | Bricht den Import ab.
Hilfe | Öffnet die Online-Hilfe.

Quelle XML-Datei: Auswahl der XML-Datei und der Steuerung

Parameter | Beschreibung
Symbol-Datei | Auswahl der Symboldatei. Nur vorhanden, wenn im Startfenster eine XML-Datei als Quelle gewählt wurde.
Steuerung | Auswahl der Steuerung, deren Variablen importiert werden, aus Liste.
Zurück | Wechselt zum vorangegangenen Fenster.
Weiter | Übernimmt Einstellung und wechselt zum nächsten Fenster.
Abbrechen | Bricht den Import ab.
Hilfe | Öffnet die Online-Hilfe.

Quelle Steuerung: Auswahl der Steuerung

Parameter | Beschreibung
Steuerung | Auswahl der Steuerung, aus der die Variablen importiert werden, aus Liste.
Zurück | Wechselt zum vorangegangenen Fenster.
Weiter | Übernimmt Einstellung und wechselt zum nächsten Fenster.
Abbrechen | Bricht den Import ab.
Hilfe | Öffnet die Online-Hilfe.

Konfiguration des Filters

Parameter

Beschreibung

Symbolname

Eingabe eines Symbolnamens als Filterkriterium.

Der Name kann mit folgenden Platzhaltern eingegeben werden:

  • *
  • ?

Datentyp

Eingabe eines Datentyps in Combobox oder Auswahl aus Dropdownliste.

Bei der Eingabe können folgende Platzhalter verwendet werden:

  • *
  • ?

* wählt alle Datentypen aus.

Alle übereinstimmenden Symbole importieren

Aktiv: Bietet alle mit dem Filter übereinstimmenden Symbole zum Import an.

Nur neue Symbole importieren

Aktiv: Bietet nur neue, im zenon Projekt noch nicht vorhandene, Symbole zum Import an.

Alte Symbole löschen

Aktiv: Bietet alle im zenon Projekt vorhandenen Symbole, die auf der Steuerung nicht existieren, zum Löschen an.

Zurück

Wechselt zum vorangegangenen Fenster.

Fertig

Übernimmt Einstellung, startet den Import und öffnet das Fenster mit den Variablen, die importiert bzw. gelöscht werden können.

Abbrechen

Bricht den Import ab.

Hilfe

Öffnet die Online-Hilfe.

Auswahl der Variablen

Parameter | Beschreibung
Liste Importierbare Variablen | Zeigt alle Variablen an, die entsprechend den Einstellungen im Wizard importiert oder gelöscht werden können.
Anzeige vorhandene/markierte Variablen | Zeigt die Zahl der vorhanden und der aktuell markierten Variablen an.
Liste Zu importierende Variablen | Zeigt alle Variablen an, die für den Import oder zum Löschen ausgewählt wurden.
Anzeige vorhandene/markierte Variablen | Zeigt die Zahl der zum Import oder Löschen ausgewählten und der aktuell markierten Variablen an.
Hinzufügen | Fügt die in der Liste Importierbare Variablen markierten Variablen zur Liste Zu importierende Variablen hinzu.
Entfernen | Löscht markierte Variablen aus Liste Zu importierende Variablen.
OK | Übernimmt Auswahl und importiert Variablen oder löscht Variablen.
Abbrechen | Bricht Importvorgang ab.


Treibervariablen

3S_V3 -> Variablen anlegen -> Treibervariablen

Das Treiberkit implementiert eine Reihe von Treibervariablen. Diese sind unterteilt in:

  • Information
  • Konfiguration
  • Statistik und
  • Fehlermeldungen

Die Definitionen der im Treiberkit implementierten Variablen sind in der Importdatei drvvar.dbf (auf der CD im Verzeichnis: CD_Laufwerk:/Predefined/Variables) verfügbar und können von dort importiert werden.

Hinweis: Variablennamen müssen in zenon einzigartig sein. Soll nach einem Import der Treibervariablen aus drvvar.dbf ein erneuter Import durchgeführt werden, müssen die zuvor importierten Variablen umbenannt werden.

info Info

Nicht jeder Treiber unterstützt alle Treibervariablen.

Zum Beispiel werden:

  • Variablen für Modem-Informationen nur von modemfähigen Treibern unterstützt
  • Treibervariablen für den Polling-Zyklus nur für rein pollenden Treibern
  • verbindungsbezogene Informationen wie ErrorMSG nur von Treibern, die zu einem Zeitpunkt nur eine Verbindung bearbeiten

Information

Name aus Import | Typ | Offset | Erklärung
MainVersion | UINT | 0 | Haupt-Versionsnummer des Treibers.
SubVersion | UINT | 1 | Sub-Versionsnummer des Treibers.
BuildVersion | UINT | 29 | Build-Versionsnummer des Treibers.
RTMajor | UINT | 49 | zenon Hauptversionsnummer
RTMinor | UINT | 50 | zenon Sub-Versionsnummer
RTSp | UINT | 51 | zenon Service Pack-Nummer
RTBuild | UINT | 52 | zenon Buildnummer
LineStateIdle | BOOL | 24.0 | TRUE, wenn die Modemleitung belegt ist.
LineStateOffering | BOOL | 24.1 | TRUE, wenn ein Anruf rein kommt.
LineStateAccepted | BOOL | 24.2 | Der Anruf wird angenommen.
LineStateDialtone | BOOL | 24.3 | Rufton wurde erkannt.
LineStateDialing | BOOL | 24.4 | Wahl aktiv.
LineStateRingBack | BOOL | 24.5 | Während Verbindungsaufbau.
LineStateBusy | BOOL | 24.6 | Zielstation besetzt.
LineStateSpecialInfo | BOOL | 24.7 | Spezielle Statusinformation empfangen.
LineStateConnected | BOOL | 24.8 | Verbindung hergestellt.
LineStateProceeding | BOOL | 24.9 | Wahl ausgeführt.
LineStateOnHold | BOOL | 24.10 | Verbindung in Halten.
LineStateConferenced | BOOL | 24.11 | Verbindung im Konferenzmodus.
LineStateOnHoldPendConf | BOOL | 24.12 | Verbindung in Halten für Konferenz.
LineStateOnHoldPendTransfer | BOOL | 24.13 | Verbindung in Halten für Transfer.
LineStateDisconnected | BOOL | 24.14 | Verbindung beendet.
LineStateUnknow | BOOL | 24.15 | Verbindungszustand nicht bekannt.
ModemStatus | UDINT | 24 | Aktueller Modemstatus.
TreiberStop | BOOL | 28 | Treiber gestoppt Bei Treiberstop, hat die Variable den Wert TRUE und ein OFF-Bit. Nach dem Treiberstart, hat die Variable den Wert FALSE und kein OFF-Bit.
SimulRTState | UDINT | 60 | Informiert über Status der Runtime bei Treibersimulation.

Konfiguration

Name aus Import | Typ | Offset | Erklärung
ReconnectInRead | BOOL | 27 | Wenn TRUE, dann wird beim Lesen automatisch ein Neuaufbau der Verbindung durchgeführt.
ApplyCom | BOOL | 36 | Änderungen an den Einstellungen der seriellen Schnittstelle zuweisen. Das Schreiben auf diese Variable hat unmittelbar den Aufruf der Methode SrvDrvVarApplyCom zur Folge (aktuell ohne weitere Funktion).
ApplyModem | BOOL | 37 | Änderungen an den Modemeinstellungen zuweisen. Das Schreiben auf diese Variable hat unmittelbar den Aufruf der Methode SrvDrvVarApplyModem zur Folge. Diese schließt die aktuelle Verbindung und öffnet eine neue entsprechend den Einstellungen PhoneNumberSet und ModemHwAdrSet.
PhoneNumberSet | STRING | 38 | Telefonnummer, welche verwendet werden soll.
ModemHwAdrSet | DINT | 39 | Hardwareadresse, welche zu der Telefonnummer gehört.
GlobalUpdate | UDINT | 3 | Updatezeit in Millisekunden (ms).
BGlobalUpdaten | BOOL | 4 | TRUE, wenn die Updatezeit global ist.
TreiberSimul | BOOL | 5 | TRUE, wenn der Treiber in Simulation ist.
TreiberProzab | BOOL | 6 | TRUE, wenn das Prozessabbild gehalten werden soll.
ModemActive | BOOL | 7 | TRUE, wenn das Modem bei diesem Treiber aktiv ist.
Device | STRING | 8 | Name der seriellen Schnittstelle oder Name des Modem.
ComPort | UINT | 9 | Nummer der seriellen Schnittstelle.
Baudrate | UDINT | 10 | Baudrate der seriellen Schnittstelle.
Parity | SINT | 11 | Parität der seriellen Schnittstelle.
ByteSize | USINT | 14 | Bitanzahl pro Zeichen der seriellen Schnittstelle. Wert = 0, wenn der Treiber keine serielle Kommunikation herstellen kann.
StopBit | USINT | 13 | Anzahl der Stoppbits der seriellen Schnittstelle.
Autoconnect | BOOL | 16 | TRUE, wenn die Modemverbindung automatisch beim Lesen/Schreiben aufgebaut werden soll.
PhoneNumber | STRING | 17 | Aktuelle Telefonnummer.
ModemHwAdr | DINT | 21 | Hardwareadresse zur aktuellen Telefonnummer.
RxIdleTime | UINT | 18 | Wenn länger als diese Zeit in Sekunden (s) erfolgreich kein Datenverkehr stattfindet, wird die Modemverbindung beendet.
WriteTimeout | UDINT | 19 | Maximale Schreibdauer bei einer Modemverbindung in Millisekunden (ms).
RingCountSet | UDINT | 20 | So oft läutet ein hereinkommender Anruf, bevor dieser angenommen wird.
ReCallIdleTime | UINT | 53 | Wartezeit zwischen Anrufen in Sekunden (s).
ConnectTimeout | UINT | 54 | Zeit in Sekunden (s) für Verbindungsaufbau.

Statistik

Name aus Import | Typ | Offset | Erklärung
MaxWriteTime | UDINT | 31 | Längste Zeit in Millisekunden (ms), die zum Schreiben benötigt wird.
MinWriteTime | UDINT | 32 | Kürzeste Zeit in Millisekunden (ms), die zum Schreiben benötigt wird.
MaxBlkReadTime | UDINT | 40 | Längste Zeit in Millisekunden (ms), die zum Lesen eines Datenblocks benötigt wird.
MinBlkReadTime | UDINT | 41 | Kürzeste Zeit in Millisekunden (ms), die zum Lesen eines Datenblocks benötigt wird.
WriteErrorCount | UDINT | 33 | Anzahl der Schreibfehler.
ReadSucceedCount | UDINT | 35 | Anzahl der erfolgreichen Leseversuche.
MaxCycleTime | UDINT | 22 | Längste Zeit in Millisekunden (ms), die zum Lesen aller angeforderten Daten benötigt wurde.
MinCycleTime | UDINT | 23 | Kürzeste Zeit in Millisekunden (ms), die zum Lesen aller angeforderten Daten benötigt wurde.
WriteCount | UDINT | 26 | Anzahl der Schreibversuche.
ReadErrorCount | UDINT | 34 | Anzahl der fehlerhaften Leseversuche.
MaxUpdateTimeNormal | UDINT | 56 | Zeit seit letzter Aktualisierung der Prioritätsgruppe Normal in Millisekunden (ms).
MaxUpdateTimeHigher | UDINT | 57 | Zeit seit letzter Aktualisierung der Prioritätsgruppe Höher in Millisekunden (ms).
MaxUpdateTimeHigh | UDINT | 58 | Zeit seit letzter Aktualisierung der Prioritätsgruppe Hoch in Millisekunden (ms).
MaxUpdateTimeHighest | UDINT | 59 | Zeit seit letzter Aktualisierung der Prioritätsgruppe Höchste in Millisekunden (ms).
PokeFinish | BOOL | 55 | Geht für eine Abfrage auf 1, wenn alle anstehenden Pokes ausgeführt wurden.

Fehlermeldungen

Name aus Import | Typ | Offset | Erklärung
ErrorTimeDW | UDINT | 2 | Zeit (in Sekunden seit 1.1.1970), wann der letzte Fehler auftrat.
ErrorTimeS | STRING | 2 | Zeit (in Sekunden seit 1.1.1970), wann der letzte Fehler als String auftrat.
RdErrPrimObj | UDINT | 42 | Nummer des PrimObjektes, als der letzte Lesefehler verursacht wurde.
RdErrStationsName | STRING | 43 | Name der Station, als der letzte Lesefehler verursacht wurde.
RdErrBlockCount | UINT | 44 | Anzahl der zu lesenden Blöcke, als der letzte Lesefehler verursacht wurde.
RdErrHwAdresse | DINT | 45 | Hardwareadresse, als der letzte Lesefehler verursacht wurde.
RdErrDatablockNo | UDINT | 46 | Bausteinnummer, als der letzte Lesefehler verursacht wurde.
RdErrMarkerNo | UDINT | 47 | Merkernummer, als der letzte Lesefehler verursacht wurde.
RdErrSize | UDINT | 48 | Blockgröße, als der letzte Lesefehler verursacht wurde.
DrvError | USINT | 25 | Fehlermeldung als Nummer.
DrvErrorMsg | STRING | 30 | Fehlermeldung als Klartext.
ErrorFile | STRING | 15 | Name der Fehlerprotokolldatei.


Treiberspezifische Funktionen

3S_V3 -> Treiberspezifische Funktionen

Dieser Treiber unterstützt folgende Funktionen:

Echtzeitfähigkeit

Der Treiber ist echtzeitfähig.
Dabei ist zu beachten:

  • Das Protokoll liefert nur sekundengenaue Zeitstempel.
  • Die Zeit von SCADA-System und SPS muss manuell synchronisiert werden.

RDA

Problemstellung

Eigentlich erfordert der RDA-Mechanismus von zenon einen zusammenhängenden Block in der Steuerung, der über einen Offset adressierbar ist. Daher ist RDA in der Regel bei Treibern mit symbolischer Adressierung nicht möglich.

Lösung

Der 3S_V3 Treiber nützt eine Eigenschaft des PLC-Handlers, die es erlaubt, den gesamten binären Datenblock von Variablen mit komplexen Typen (Strukturen, Arrays) als Ganzes über den Basisnamen zu lesen.

Der Treiber ermittelt den Basisnamen, indem er vom Symbolnamen der Triggervariable den Teil nach dem letzten Punkt (.) abtrennt, und den so gewonnenen Namen verwendet. Damit das funktioniert, muss die Triggervariable das erste Element einer Struktur sein. Der Aufbau der restlichen Struktur ist beliebig. Beim Lesen der Gesamtstruktur müssen nur die eingelesenen binären Daten dem Aufbau der RDA-Daten laut zenon Dokumentation entsprechen.

Beispiele

RDA-Typ 3:

TYPE RDA_DATA_3 : (* Struktur für RDA-Typ-3-Nutzdaten *)

STRUCT

Value : DINT; (* Wert

TimeStamp : ARRAY[0..7] OF BYTE; (* Zeitstempel (Jahr, Monat, Tag, Stunde, Minute, Sekunde, 1/100 Sekunde, Reserve) *)

END_STRUCT

END_TYPE

TYPE RDA_3 : (* Struktur für RDA-Typ 3 *)

STRUCT

Trigger : DINT; (* Triggervariable *)

Count : UDINT; (* Anzahl der Datensätze *)

Cycle : UDINT; (* Zykluszeit in [ms] (nur Typ für 1 und 4 relevant) *)

RDA_Type : UDINT; (* RDA-Typ, 1 - 4 *)

Oldest : UDINT; (* Index des ältesten Wertes (Platzhalter aus Kompatibilitätsgründen, nur für Typ 1 relevant) *)

Data : ARRAY[0..19] OF RDA_DATA_3; (* Nutzdaten *)

END_STRUCT

END_TYPE

RDA-Typ 4:

TYPE RDA_4 : (* Struktur für RDA-Typ 4 *)

STRUCT

Trigger : DINT; (* Triggervariable *)

Count : UDINT; (* Anzahl der Datensätze *)

Cycle : UDINT; (* Zykluszeit in [ms] (nur Typ für 1 und 4 relevant *)

RDA_Type : UDINT; (* RDA-Typ, 1 - 4 *)

Oldest : UDINT; (* Index des ältesten Wertes (Platzhalter aus Kompatibilitätsgründen, nur für Typ 1 relevant) *)

TimeStamp : ARRAY[0..7] OF BYTE; (* Zeitstempel des ersten Wertes (Jahr, Monat, Tag, Stunde, Minute, Sekunde, 1/100 Sekunde, Reserve) *)

Data : ARRAY[0..19] OF DINT; (* Nutzdaten *)

END_STRUCT

END_TYPE

Ist zum Beispiel im CoDeSys Projekt eine Variable RDA_Test vom Typ RDA_4 angelegt, dann wird in zenon eine Variable mit der symbolischen Adresse RDA_Test.Trigger angelegt, und HD aktiv und Nachgeführte Werte eingestellt. Ändert die Variable den Wert von 0 auf 1, wird vom Symbolnamen RDA_Test.Trigger der Teil .Trigger abgeschnitten, und RDA_Test als binärer Datenblock eingelesen. Auf diesem Datenblock erfolgt dann die RDA-Bearbeitung.


Treiberkommandos

3S_V3 -> Treiberkommandos

Dieses Kapitel beschreibt Standardfunktionalitäten, die für die meisten zenon Treiber gültig sind. Nicht alle hier beschriebenen Funktionalitäten stehen für jeden Treiber zur Verfügung. Zum Beispiel enthält ein Treiber, der laut Datenblatt keine Modemverbindung unterstützt, auch keine Modem-Funktionalitäten.

Treiberkommandos dienen dazu, Treiber über zenon zu beeinflussen, z. B. starten und stoppen.
Die Projektierung erfolgt über die Funktion Treiber Kommandos. Dazu:

  • legen Sie eine neue Funktion an
  • wählen Sie Variablen -> Treiberkommandos
  • der Dialog zur Konfiguration wird geöffnet

Parameter

Beschreibung

Treiber

Dropdownliste mit allen im Projekt geladenen Treibern.

Aktueller Zustand

Fixer Eintrag, in aktuellen Versionen ohne Funktion.

Treiberkommando

Dropdownliste zur Auswahl des Kommandos.
  • Treiber starten (Online-Modus)

Treiber wird neu initialisiert und gestartet.
  • Treiber stoppen (Offline-Modus)

Treiber wird angehalten, es werden keine neuen Daten angenommen.

Hinweis: Ist der Treiber im Offline-Modus, erhalten alle Variablen, die für diesem Treiber angelegt wurden, den Status Abgeschaltet (OFF; Bit 20).

  • Treiber in Simulationsmodus

Treiber wird in den Simulationsmodus gesetzt.
Die Werte aller Variablen des Treibers werden vom Treiber simuliert. Es werden keine Werte von der angeschlossenen Hardware (z. B. SPS, Bussystem, ...) angezeigt.
  • Treiber in Hardwaremodus

Treiber wird in den Hardwaremodus gesetzt.
Für die Variablen des Treibers werden die Werte von der angeschlossenen Hardware (z. B. SPS, Bussystem, ...) angezeigt.
  • Treiberspezifisches Kommando

Eingabe treiberspezifischer Kommandos. Öffnet Eingabefeld für die Eingabe eines Kommandos.
  • Treiber Sollwertsetzen aktivieren

Sollwert setzen auf Treiber ist erlaubt.
  • Treiber Sollwertsetzen deaktivieren

Sollwert setzen auf Treiber wird verhindert.
  • Verbindung mit Modem aufbauen

Verbindung aufbauen (für Modem-Treiber). Öffnet Eingabefelder für Hardware-Adresse und Eingabe der zu wählenden Nummer.
  • Verbindung mit Modem trennen

Verbindung beenden (für Modem-Treiber).

Diesen Dialog zur Runtime anbieten

Dialog wird zur Runtime für Änderungen angeboten.

Treiberkommandos im Netzwerk

Wenn sich der Rechner, auf dem die Funktion Treiberkommandos ausgeführt wird, im zenon Netzwerk befindet, werden zusätzliche Aktionen ausgeführt. Ein spezielles Netzwerkkommando wird vom Rechner zum Server des Projekts gesendet, der dann die gewünschte Aktion auf seinem Treiber durchführt. Zusätzlich sendet der Server das gleiche Treiberkommando zum Standby des Projekts. Der Standby führt die Aktion auch auf seinem Treiber aus.

Dadurch ist gewährleistet, dass Server und Standby synchronisiert sind. Dies funktioniert nur, wenn Server und Standby jeweils eine funktionierende und unabhängige Verbindung zur Hardware haben.


Fehleranalyse

3S_V3 -> Fehleranalyse

Sollte es zu Kommunikationsproblemen kommen, bietet dieses Kapitel Hilfe, um den Fehler zu finden.

Noch in diesem Kapitel

Analysetool

Fehlernummern

Checkliste


Analysetool

3S_V3 -> Fehleranalyse -> Analysetool

Alle zenon Module wie z. B. Editor, Runtime, Treiber, usw. schreiben Meldungen in eine gemeinsame Log-Datei. Um sie korrekt und übersichtlich anzuzeigen, benutzen Sie das Programm Diagnose Viewer, das mit zenon mitinstalliert wird. Sie finden es unter Start/Alle Programme/zenon/Tools 7.20 -> Diagviewer.

zenon Treiber protokollieren alle Fehler in Log-Dateien. Der Standardordner für die Log-Dateien ist der Ordner LOG unterhalb des Ordners ProgramData, zum Beispiel:

C:\ProgramData\COPA-DATA\LOG. Log-Dateien sind Textdateien mit einer speziellen Struktur.

Achtung: Mit den Standardeinstellungen zeichnet ein Treiber nur Fehlerinformationen auf. Mit dem Diagnose Viewer kann bei den meisten Treibern die Diagnose-Ebene auf „Debug" und „Deep Debug" erweitert werden. Damit protokolliert der Treiber auch alle anderen wesentlichen Aufgaben und Ereignisse.

Im Diagnose Viewer kann man auch:

  • eben erstellte Einträge live mitverfolgen
  • die Aufzeichnungseinstellungen anpassen
  • den Ordner, in dem die Log-Dateien gespeichert werden, ändern

Hinweise:

  1. Unter Windows CE werden aus Ressourcegründen auch Fehler standardmäßig nicht protokolliert.
  2. Der Diagnose Viewer zeigt alle Einträge in UTC (Koordinierter Weltzeit) an und nicht in der lokalen Zeit.
  3. Der Diagnose Viewer zeigt in seiner Standardeinstellung nicht alle Spalten einer Log-Datei an. Um mehr Spalten anzuzeigen, aktivieren Sie die Eigenschaft Add all columns with entry im Kontextmenü der Spaltentitel.
  4. Bei Verwendung von reinem Error-Logging befindet sich eine Problembeschreibung in der Spalte Error text. In anderen Diagnose-Ebenen befindet sich diese Beschreibung in der Spalte General text.
  5. Viele Treiber zeichnen bei Kommunikationsprobleme auch Fehlernummern auf, die die SPS ihnen zuweist. Diese werden in Error text und/oder Error code und/oder Driver error parameter(1 und 2) angezeigt. Hinweise zur Bedeutung der Fehlercodes erhalten Sie in der Treiberdokumentation und der Protokoll/SPS-Beschreibung.
  6. Stellen Sie am Ende Ihrer Tests den Diagnose-Level von Debug oder Deep Debug wieder zurück. Bei Debug und Deep Debug fallen beim Protokollieren sehr viele Daten an, die auf der Festplatte gespeichert werden und die Leistung Ihres Systems beeinflussen können. Diese werden auch nach dem Schließen des Diagnose Viewers weiter aufgezeichnet.

Weitere Informationen zum Diagnose Viewer finden Sie im Kapitel Diagnose Viewer.


Fehlernummern

3S_V3 -> Fehleranalyse -> Fehlernummern

Fehlertext im Log | Nr. | Bedeutung
RESULT_FAILED | -1 | Action erroneous.
RESULT_OK | 0 | Action successful
RESULT_PLC_NOT_CONNECTED | 1 | PLC not connected
RESULT_PLC_LOGIN_FAILED | 2 | Login to PLC has failed
RESULT_PLC_NO_CYCLIC_LIST_DEFINED | 3 | No cyclic list has been found
RESULT_PLCHANDLER_INACTIVE | 4 | PLCHandler instance was set inactive
RESULT_LOADING_SYMBOLS_FAILED | 5 | Loading of the symbols has failed
RESULT_ITF_NOT_SUPPORTED | 6 | The defined communication interface is not valid or not supported
RESULT_COMM_FATAL | 7 | Communication error occurred during action
RESULT_NO_CONFIGURATION | 8 | Wrong or erroneous configuration of the PLCHandler
RESULT_INVALID_PARAMETER | 9 | At least one parameter is invalid
RESULT_ITF_FAILED | 10 | Communication interface could not be initialized correctly (e. g. Gateway Dlls not available)
RESULT_NOT_SUPPORTED | 11 | Method not yet supported resp. implemented for this configuration (e. g. not supported for this interface)
RESULT_EXCEPTION | 12 | Handled exception in a low layer occurred during action
RESULT_TIMEOUT | 13 | Timeout exceeded
RESULT_STILL_CONNECTED | 14 | PLC already connected (at a further ::Connect() call)
RESULT_RECONNECTTHREAD_STILL_ACTIVE | 15 | Reconnect Thread already active (started at a further ::Connect() call)
RESULT_PLC_NOT_CONNECTED_SYMBOLS_LOADED | 16 | No connection to the PLC, but symbols available offline
RESULT_NO_UPDATE | 17 | Asynchronous operation (e. g. cyclic read of variables) has not yet finished
RESULT_OCX_CONVERSION_FAILED | 18 | Error during conversion of values inside the PLCHandler’s ActiveX interface occurred
RESULT_TARGETID_MISMATCH | 19 | PLC does not match to the passed target id etc.
RESULT_NO_OBJECT | 20 | No object found for the required action (e. g. tried to get an element beyond the end of the list)
RESULT_COMPONENTS_NOT_LOADED | 21 | PLCHandler instantiation has failed, because of missing components
RESULT_BUSY | 22 | Last action still in progress, cannot start the required one
RESULT_DISABLED | 23 | Feature is disabled by the configuration (e. g. Logging)
RESULT_PLC_FAILED | 24 | Communication to the PLC was successful, but the PLC has returned a bad result


Checkliste

3S_V3 -> Fehleranalyse -> Checkliste

Fragen und Hinweise zur Fehlereingrenzung:

Allgemeine Fehlersuche

  • Ist die Steuerung an die Stromversorgung angeschlossen?
  • Analyse mit Hilfe des Diagnose Viewers:
    -> Welche Meldungen werden angezeigt?
  • Sind die Teilnehmer im TCP/IP-Netz verfügbar?
  • Kann die Steuerung über den Befehl Ping erreicht werden?

    Ping: Kommandozeile öffnen -> ping <IP-Adresse> (z. B.: ping 192.168.0.100) -> Taste Eingabe drücken.

    Kommt eine Antwort mit Zeitangabe oder ein Timeout?

  • Kann die Steuerung auf dem entsprechenden Port über Telnet erreicht werden?

    Telnet: Kommandozeile öffnen, telnet <IP-Adresse Port-Nummer> eingeben (z. B. für Modbus: telnet 192.168.0.100 502) -> Taste Eingabe drücken .

    Wird der Bildschirm schwarz, konnte eine Verbindung aufgebaut werden.

  • Wurde die Netzadresse in den Adresseigenschaften der Variable korrekt eingestellt?
    • Stimmt die Adressierung mit der Konfiguration im Treiberdialog überein?
    • Entspricht die Netzadresse der Adresse der Zielstation?
  • Wird in der Variable der richtige Objekttyp verwendet?

    Beispiel: Treibervariablen sind reine Statistikvariablen und kommunizieren nicht mit der Steuerung. (Siehe Kapitel Treibervariablen.)

  • Stimmt die Offset-Adressierung der Variable mit der in der Steuerung überein?

Manche Variablen melden INVALID

  • INVALID Bits beziehen sich immer auf eine Netzadresse.
  • Mindestens eine Variable der Netzadresse ist gestört.

Werte werden nicht angezeigt, Zahlenwerte bleiben leer

Treiber läuft nicht. Überprüfen Sie die:

  • Installation von zenon
  • Installation des Treibers
  • Installation aller Komponenten
    -> Achten Sie auf Fehlermeldungen beim Start der Runtime.

Variablen werden mit blauem Punkt angezeigt

Die Kommunikation im Netzwerk ist gestört:

  • Bei einem Netzwerkprojekt:
    Läuft das Netzwerkprojekt auch auf dem Server?
  • Bei einem Standalone-Projekt oder Netzwerkprojekt, das auf dem Server läuft:
    Deaktivieren Sie die Eigenschaft Nur von Standby Server anfordern im Knoten Treiber Anbindung/Adressierung.

Werte werden falsch angezeigt

Überprüfen Sie die Angaben zur Berechnung im Knoten Wertberechnung der Variablen-Eigenschaften?

Treiber fällt sporadisch aus

Analyse mit Hilfe des Diagnose Viewers:
-> Welche Meldungen werden angezeigt?