BeckhBc32

BeckhBc32

Für welche Steuerungen

Der Treiber dient der Kommunikation mit Busklemmen / Buskopplern von Beckhoff, wie BC9000, BK9000 etc. Im Gegensatz zu den Treibern Beckh_32 und BeckhTc32 verwendet er eine einfachere Kommunikation, weil die Busklemmen die komplexere Kommunikation dieser Treiber nicht unterstützen.

Getestet mit folgender Hard- und Software:

  • Beckhoff Busklemmen BC9000 Firmware 0xB900
  • TwinCAT v2.9.0 (Build 103)
  • TwinCAT TC ADS Communication Library

Fehlerwartezeit

Nach einem Fehler beim Lesen oder Schreiben von einem Gerät wird erst nach 20 Sekunden wieder versucht, von dem betreffenden Gerät Werte zu lesen. Im Fehlerfall wird die AMS Net Timeout-Zeit abgewartet. Falls kein AMS Router installiert ist, wird die TCP/IP Timeout-Zeit verwendet. Dann kommt es ca. alle 20 Sekunden zu einem Timeout von bis zu 60 Sekunden, in dem keine Variablen angefordert werden.

Noch in diesem Kapitel

BECKHBC32 - Datenblatt

Treiber-Historie

Voraussetzungen

Konfiguration

Variablen anlegen

Treiberspezifische Funktionen

Funktion Treiberkommandos

Fehleranalyse


BECKHBC32 - Datenblatt

BeckhBc32 > BECKHBC32 - Datenblatt

Allgemein: |
Treiberdateiname | BECKHBC32.exe
Treiberbezeichnung | Beckhoff BC-BK 9000
Steuerungs-Typen | Beckhoff BC/BK 9000 Busklemmen
Steuerungs-Hersteller | Beckhoff;

Treiber unterstützt: |
Protokoll | TC-ADS;
Adressierung: Adress-basiert | X
Adressierung: Namens-basiert | --
Kommunikation spontan | --
Kommunikation pollend | X
Online Browsing | --
Offline Browsing | X
Echtzeitfähig | --
Blockwrite | --
Modemfähig | --
Serielles Logging | --
RDA numerisch | X
RDA String | --
Hysterese | --
erweiterte API | --
Unterstützung von Statusbit WR-SUC | --
alternative IP-Adresse | --

Voraussetzungen: |
Hardware PC | Standard Netzwerkkarte
Software PC | Die TC-ADS Software muss installiert sein. (TC-ADS befindet sich auf dem Installationsmedium). TwinCAT muss nicht auf dem selben Rechner installiert sein. Der Einsatz von TwinCAT CP wird empfohlen.
Hardware Steuerung | --
Software Steuerung | Firmware 0xb900 für Beckhoff BC Klemmen
Benötigt v-dll | --

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


Treiber-Historie

BeckhBc32 > Treiber-Historie

Datum | Treiberversion | Änderung
07.07.08 | 900 | 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

BeckhBc32 > Voraussetzungen

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

Noch in diesem Kapitel

PC


PC

BeckhBc32 > Voraussetzungen > PC
  • BeckhBc32.exe: Wird bei der zenon Installation mitinstalliert
  • Die TcADS Communication Library wird benötigt. Die Software befindet sich auf dem zenon Installationsmedium unter \Software\Driver_3rd_party_software\Beckhoff TC-Ads Software.
  • Der Einsatzt der Software TwinCAT CP von der TwinCAT-Installations-CD wird empfohlen, da dadurch bei einer Kommunikationsstörung einer Station nicht die Standard TCP/IP Timeout-Zeit abgewartet wird, sondern die AMS Net Timeout-Zeit aus der Treiberkonfiguration verwendet wird.


Konfiguration

BeckhBc32 > 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

BeckhBc32 > Konfiguration > Anlegen eines Treibers

Im Dialog Treiber erstellen wählen Sie aus einer Liste jenen Treiber, den Sie neu anlegen wollen.

Parameter | Beschreibung
Verfügbare Treiber | Liste aller verfügbaren Treiber. Die Darstellung erfolgt in einer Baumstruktur: [+] erweitert die Ordnerstruktur und zeigt die darin enthaltenen Treiber. [-] reduziert die Ordnerstruktur Default: keine Auswahl
Treiberbezeichnung | Eindeutige Bezeichnung des Treibers. Default: leer Das Eingabefeld wird nach Auswahl eines Treibers aus der Liste der verfügbaren Treiber mit der vordefinierten Bezeichnung vorausgefüllt.
Treiberinformationen | Weiterführende Informationen über den gewählten Treiber. Default: leer Nach Auswahl eines Treibers werden in diesem Bereich die Informationen zum gewählten Treiber angezeigt.

Dialog beenden

Option | Beschreibung
OK | Übernimmt alle Einstellungen und öffnet den Treiberkonfigurationsdialog des ausgewählten Treibers.
Abbrechen | Verwirft alle Änderungen und schließt den Dialog.
Hilfe | Öffnet die Online-Hilfe.

info Info

Die Inhalte dieses Dialogs sind in der Datei Treiber_[Sprachkürzel].xml gespeichert. Sie finden diese Datei im Ordner C:\ProgramData\COPA-DATA\zenon[Versionsnummer].

Treiber neu anlegen

Um einen neuen Treiber anzulegen:

  1. Klicken Sie mit der rechten Maustaste im Projektmanager auf Treiber und wählen Sie im Kontextmenü Treiber neu aus.
    Optional: Wählen Sie die Schaltfläche Treiber neu aus der Symbolleiste der Detailansicht der Variablen.
    Der Dialog Treiber erstellen wird geöffnet.
  2. Der Dialog bietet eine Auflistung aller verfügbaren Treiber an.

  3. Wählen Sie den gewünschten Treiber und benennen Sie diesen im Eingabefeld Treiberbezeichnung.
    Dieses Eingabefeld entspricht der Eigenschaft Bezeichnung. Per Default wird der Name des ausgewählten Treibers in diesem Eingabefeld automatisch eingefügt.
    Für die Treiberbezeichnung gilt:
    • Die Treiberbezeichnung muss eindeutig sein.
      Wird ein Treiber mehrmals im Projekt verwendet, so muss jeweils eine neue Bezeichnung vergeben werden.
      Dies wird durch Klick auf die Schaltfläche OK evaluiert. Ist die Treiber im Projekt bereits vorhanden wird dies mit einem Warndialog angezeigt.
    • 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 Klick auf die Schaltfläche OK.
    Der Konfigurationsdialog des ausgewählten Treibers wird geöffnet.

Hinweis: Treibernamen sind nicht sprachumschaltbar. Sie werden später immer in der Sprache angezeigt, in der sie angelegt wurden, unabhängig von der Sprache des Editors. Das gilt auch für Treiberobjekttypen.

Dialog Treiberbezeichnung bereits vorhanden

Ist ein Treiber bereits im Projekt vorhanden wird dies in einem Dialog angezeigt. Mit Klick auf die Schaltfläche OK wird der Warndialog geschlossen. Der Treiber kann korrekt benannt werden.

zenon Projekt

Bei neu angelegten Projekten werden die folgenden Treiber automatisch angelegt:

  • Intern
  • MathDr32
  • SysDrv

info Info

In einem zenon Projekt müssen nur die benötigten Treiber vorhanden sein. Treiber können bei Bedarf zu einem späteren Zeitpunkt hinzugefügt werden.


Einstellungen im Treiberdialog

BeckhBc32 > Konfiguration > Einstellungen im Treiberdialog

Folgende Einstellungen können Sie beim Treiber vornehmen:

Noch in diesem Kapitel

Allgemein

Treiberdialog BeckhoffBc-Einstellungen


Allgemein

BeckhBc32 > Konfiguration > Einstellungen im Treiberdialog > Allgemein

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.

Option

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 oder 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.

Default: inaktiv

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

Einstellung für globale Update-Zeiten in Millisekunden:

  • Aktiv:
    Die eingestellte Globale Update Zeit 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.

Ausnahmen: Spontane Treiber ignorieren diese Option. Sie nutzen in der Regel die kürzest mögliche Update Zeit.
Details siehe Abschnitt Update Zeit spontane Treiber.

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 der 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 oder benötigte Aktualität abgestuft werden. Daraus ergibt sich eine verbesserte Verteilung der Kommunikationslast.

Achtung: Prioritätsklassen werden nicht von jedem Treiber unterstützt, z.B. von spontan kommunizierenden zenon Treibern.

Dialog beenden

Option | 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 spontane Treiber

Bei spontanen Treibern wird beim Sollwert Setzen, Advisen von Variablen und bei Requests sofort ein Lesezyklus 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. In der Regel beträgt die Updatezeit 100 ms.

Spontane Treiber sind ArchDrv, BiffiDCM, BrTcp32, DNP3, Esser32, FipDrv32, FpcDrv32, IEC850, IEC870, IEC870_103, Otis, RTK9000, S7DCOS, SAIA_Slave, STRATON32 und Trend32.


Treiberdialog BeckhoffBc-Einstellungen

BeckhBc32 > Konfiguration > Einstellungen im Treiberdialog > Treiberdialog BeckhoffBc-Einstellungen

Auf der Seite „BeckhoffBc-Einstellungen" werden die verwendeten AMS-Netzadressen jeweils einem Hardware-Index zugeordnet. Über diesen Hardware-Index wird festgelegt, auf welchem Gerät eine Variable liegt.

Die Zuordnungen werden in einer Textdatei gespeichert. Der Name der Datei setzt sich zusammen aus der Treiberbezeichnung und dem frei definierbare Namen des Treibers und der Dateierweiterung „.CFG", z. B. „BeckhoffBc32_MeinTreiber.cfg". Die Datei besitzt folgenden Aufbau:

1. Zeile: „Version=2" ... Angabe der Dateiversion

2. – n. Zeile: „1,192.168.250.242.1.1" ... HW-Index und AMS-Netzadresse durch Komma getrennt

Mit Klick auf „Neu" bzw. „Bearbeiten" können die Einträge in der Liste angelegt und geändert werden. Das nachträgliche Ändern des Hardwareindex ist nicht möglich, damit die Eindeutigkeit gewahrt bleibt.

Über das Feld „Timeout" kann die Zeitspanne angegeben werden, während der der AMS-Router beim Lesen oder Schreiben von Variablenwerten auf eine Antwort der Geräte warten soll. Ist nach Ablauf dieser Zeitspanne keine Antwort von einem bestimmten Gerät eingetroffen, werden alle Variablen dieses Gerätes in der Visualisierung auf den Status „gestört" (IBIT) gesetzt. Ist kein AMS Router installiert, wird die Standard TCP/IP Timeout-Zeit (45 Sekunden) verwendet. Hinweis: Der AMS-Router ist Bestandteil der TwinCAT CP Installation.


Variablen anlegen

BeckhBc32 > 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

Kommunikationsdetails (Treibervariablen)


Variablen im Editor anlegen

BeckhBc32 > 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.

    Der Dialog zur Konfiguration der Variable wird geöffnet.

  2. Konfigurieren Sie die Variable.
  3. 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.

Treiberobjekttyp

Wählen Sie aus der Dropdownliste den passenden Treiberobjekttyp 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.

Symbolische Adresse

Die Eigenschaft Symbolische Adresse kann für die Adressierung alternativ zu Name oder Kennung der Variablen verwendet werden. Die Auswahl erfolgt im Treiberdialog, die Konfiguration in der Variableneigenschaft. Beim Import von Variablen unterstützter Treiber wird die Eigenschaft automatisch eingetragen.

Maximale Länge: 1024 Zeichen.

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

BeckhBc32 > Variablen anlegen > Adressierung

Gruppe/Eigenschaft | Beschreibung
Allgemein | Gruppe mit allgemeinen Eigenschaften.
Name | Frei vergebbarer Name. Achtung: Je zenon Projekt muss der Name eindeutig sein.
Kennung | Frei vergebbare Kennung. Z. B. für Betriebsmittelkennung, Kommentar usw.
Adressierung |
Netzadresse | Wird für diesen Treiber nicht verwendet.
Datenbaustein | Für Variablen vom Objekttyp Erweiterter Datenbaustein muss hier die Datenbaustein-Nummer angegeben werden. Einstellbar von 0 bis 4294967295. Den genauen maximalen Bereich für Datenbausteine entnehmen Sie dem Handbuch für die Steuerung.
Offset | Offset der Variablen. Entspricht der Speicheradresse der Variablen in der Steuerung. Einstellbar von 0 bis 4294967295.
Ausrichtung | Wird für diesen Treiber nicht verwendet.
Bitnummer | Nummer des Bits innerhalb des eingestellten Offsets. Mögliche Eingabe: 0 bis 65535.
Stringlänge | Nur verfügbar bei String-Variablen. Maximale Anzahl von Zeichen, die die Variable aufnehmen kann.
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.
Treiber Anbindung/Treiberobjekttyp | Objekttyp der Variablen. Wird abhängig vom verwendeten Treiber beim Erstellen der Variablen ausgewählt und kann hier geändert werden.
Treiber Anbindung/Priorität | Wird für diesen Treiber nicht verwendet. Der Treiber unterstützt keine zyklisch pollende Kommunikation in Prioritätsklassen.

Adressänderungen in TwinCAT

Beim Import aus der TwinCAT TPY Datei werden Adressänderungen in bereits in zenon vorhandenen Variablen übernommen (gemerged) unter der Voraussetzung, dass die Variablennamen in zenon und in TwinCAT in der Zwischenzeit nicht geändert wurden! Bei der Verwendung von den gleichen Präfixen beim Importieren, werden die Adress-Änderungen ebenfalls richtig übernommen.

Variablenadressierung

Die Variablen werden über den Byte-Offset im jeweiligen Speicherblock (Merker, Eingänge, Ausgänge) der Steuerung adressiert


Treiberobjekte und Datentypen

BeckhBc32 > 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

BeckhBc32 > Variablen anlegen > Treiberobjekte und Datentypen > Treiberobjekte

Folgende Objekttypen stehen in diesem Treiber zur Verfügung:

Treiberobjekttyp | Kanaltyp | Lesen | Schreiben | Unterstützte Datentypen | Kommentar
Ausgang | 11 | X | X | BOOL, INT, UINT, DINT, UDINT, SINT, USINT |
Eingang | 10 | X | X | BOOL, INT, UINT, DINT, UDINT, SINT, USINT |
SPS-Merker | 8 | X | X | BOOL, INT, UINT, DINT, UDINT, SINT, USINT, REAL, STRING |
Kommunikationsdetails | 35 | X | X | BOOL, SINT, USINT, INT, UINT, DINT, UDINT, REAL, STRING | Variablen 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 Informationen dazu finden Sie im Kapitel Kommunikationsdetails (Treibervariablen).

Treiber Objekttypen | Unterstützte Datentypen (Datenart) | Lesen | Schreiben
Merker |  | X | X
Eingänge |  | X | X
Ausgänge |  | X | X

Legende:

X: wird unterstützt

--: wird nicht unterstützt


Zuordnung der Datentypen

BeckhBc32 > Variablen anlegen > Treiberobjekte und Datentypen > Zuordnung der Datentypen

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.

IEC Datentypen

Liste mit allen IEC Datentypen, die vom Treiber unterstützt werden:

SPS | zenon
SINT | SINT
INT | INT
DINT | DINT
USINT | USINT
UINT | UINT
UDINT | UDINT
REAL | REAL
STRING | STRING
BOOL | BOOL

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

BeckhBc32 > 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-Import


XML Import

BeckhBc32 > Variablen anlegen > Variablen anlegen durch Import > XML Import

Beim XML- Import von Variablen oder Datentypen werden diese erst einem Treiber zugeordnet und dann analysiert. Vor dem Import entscheidet der Benutzer, ob und wie das jeweilige Element (Variable oder Datentyp) importiert werden soll:

  • Importieren:
    Das Element wird neu importiert.
  • Überschreiben:
    Das Element wird importiert und überschreibt ein bereits vorhandenes Element.
  • Nicht importieren:
    Das Element wird nicht importiert.

Hinweis: Beim Import werden die Aktionen und deren Dauer in einem Fortschrittsbalken angezeigt.

Voraussetzungen

Beim Import gelten folgende Bedingungen:

  • Abwärtskompatibilität

    Beim XML Import/Export ist keine Abwärtskompatibilität gegeben. Daten aus älteren zenon Versionen können übernommen werden. Die Übergabe von Daten aus neueren Versionen an ältere wird nicht unterstützt.

  • Konsistenz

    Die zu importierende XML-Datei muss konsistent sein. Beim Import der Datei erfolgt keine Plausibilitätsprüfung. Weisen die importierten Daten Fehler auf, kann es zu unerwünschten Effekten im Projekt kommen.

    Dies muss vor allem auch beachtet werden, wenn in einer XML-Datei nicht alle Eigenschaften vorhanden sind und diese dann durch Default-Werte ersetzt werden. Z. B.: Eine binäre Variable hat einen Grenzwert von 300.

  • Struktur-Datentypen

    Struktur-Datentypen müssen über die gleiche Anzahl von Strukturelementen verfügen.
    Beispiel: Ein Strukturdatentyp im Projekt hat 3 Strukturelemente. Ein gleichnamiger Datentyp in der XML-Datei hat 4 Strukturelemente. Dann wird keine der auf diesem Datentyp basierenden Variablen der Datei in das Projekt importiert.

Tipp Tipp

Weitere Informationen zum XML-Import finden Sie im Handbuch Import - Export, im Kapitel XML-Import.


DBF Import/Export

BeckhBc32 > Variablen anlegen > Variablen anlegen durch Import > DBF Import/Export

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 Treiberobjekttyp.
HWKANAL | Num | 3 | Netzadresse
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, oder 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-Import

BeckhBc32 > Variablen anlegen > Variablen anlegen durch Import > Online-Import

Um Variablen online zu importieren:

  1. stellen Sie sicher, dass alle AMS Netzadressen in der Treiberfonfiguration eingetragen sind
  2. führen Sie einen Rechtsklick auf den Treiber aus
  3. wählen Sie im Kontextmenü Variablen online importieren
  4. der Dialog für den Import wird geöffnet
  5. klicken Sie auf die Schaltfläche ...
  6. wählen Sie die gewünschte TPY-Datei
    • obere Liste: enthält alle in der TPY-Datei festgelegten SPS-Symbole.
      Symbole mit komplexen Datentypen (Strukturen, Arrays) werden zu einfachen Symbolen aufgelöst.
      Es werden nur Variablen mit direkter Adressierung von den Index Groups (I-Group) 4020, 4021, F030, F031, F020 und F021 unterstützt.
    • Feld AMS Net ID: Automatische Auswahl der in der Treiberkonfiguration angegebenen,, passenden AMS-Netzadresse.
      Wird die in der TPY Datei angegebene AMS Net ID nicht gefunden, wird die erste, im Treiber konfigurierte Stationsadresse verwendet!
      Daher unbedingt zuerst alle AMS Netzadressen in der Treiberfonfiguration eintragen.
    • Feld Prefix: Angabe einer beliebigen Zeichenfolge, die allen ausgewählten Variablen vorangestellt wird.
      Auf diese Weise kann die notwendige Eindeutigkeit des Variablennamen in zenon erreicht werden, auch wenn die gleichen SPS-Symbole für mehrere Geräte verwendet werden.
      Hinweis: Der Variablenname in zenon muss immer eindeutig sein. Daher müssen für unterschiedliche Geräte mit den selben symbolischen Adressen unterschiedliche Präfixe vergeben werden!
  7. klicken Sie auf die Schaltfläche Hinzufügen: die aus der TPY-Datei eingelesenen Symbole werden in die untere Auswahlliste übernommen, wobei der Präfix automatisch dem Variablennamen vorangestellt wird.
    Um zugeordnete Elemente zu entfernen, verwenden Sie die Schaltfläche Löschen.
    Die Netzadresse (HW) wird aus der ausgewählten AMS-Netzadresse ermittelt. BOOL-Symbole, die in einem X-Bereich (MX, IX, QX) angelegt sind, werden auf den betreffenden Hauptbereich umgelegt (z. B. Indexgruppe 4021 (MX) wird in Indexgruppe 4020 (M) umgerechnet), der Bit-Offset wird entsprechend auf einen Byte-Offset und eine Bitadresse (0 – 7) umgerechnet.
  8. klicken Sie auf OK

Der Dialog wird geschlossen und für alle ausgewählten Symbole werden zenon Variablen angelegt.

Variablendeklaration in TwinCAT

Da der Beckhoff Buscontroller keine Symbol-Kommunikation unterstützt, müssen Variablen in TwinCAT mit einem Offset deklariert werden.

Beispiel Variablendeklaration in TwinCAT:

VAR
BC1_REAL AT %MB0: REAL;
BC1_DINT AT %MB4: DINT;
BC1_UDINT AT %MB8:UDINT;
BC1_INT AT %MB12:INT;
BC1_UINT AT %MB14:UINT;
BC1_STRING AT %MB18:STRING(64);
BC1_SINT AT %MB16:SINT;
BC1_USINT AT %MB17:USINT;
BC1_BOOL16_0 AT %MX16.0:BOOL;

BC1_OUT AT %QX0.0:BOOL;
BC1_OUT2_0 AT %QX2.0:BOOL;

BC1_IN AT %IX0.0:BOOL;

EXAMPLE-VAR1 AT %MB128:EXAMPLE-VAR;

END_VAR

TYPE EXAMPLE-VAR :
STRUCT
EXAMPLE-VAR_COLOURS : ARRAY [1..5] OF BOOL;
EXAMPLE-VAR_VALUE : INT;
END_STRUCT
END_TYPE


Kommunikationsdetails (Treibervariablen)

BeckhBc32 > Variablen anlegen > Kommunikationsdetails (Treibervariablen)

Das Treiberkit implementiert eine Reihe von Treibervariablen, welche in dem Treiberobjekttyp Kommunikationsdetails zusammengefasst sind. Diese sind unterteilt in:

  • Information
  • Konfiguration
  • Statistik und
  • Fehlermeldungen

Die Definitionen der im Treiberkit implementierten Variablen sind in der Importdatei drvvar.dbf (auf der Installationsmedium im Ordner \Predefined\Variables) verfügbar und können von dort importiert werden.

Hinweis: Variablennamen müssen in zenon einzigartig sein. Soll nach einem Import der Variablen vom Treiberobjekttyp Kommunikationsdetails 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 des Treiberobjekttyps Kommunikationsdetails.

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.

ConnectionStates

STRING

61

Interner Verbindungsstatus des Treibers zur SPS.

Verbindungszustände:

0: Verbindung OK

1: Verbindung gestört

2: Verbindung simuliert

Formatierung:

<Netzadresse>:<Verbindungszustand>;…;…;

Eine Verbindung ist erst nach dem ersten Anmelden einer Variablen bekannt. Damit eine Verbindung im String enthalten ist, muss einmal eine Variable dieser Verbindung angemeldet worden sein.

Der Zustand einer Verbindung wird nur aktualisiert, wenn eine Variable der Verbindung angemeldet ist. Ansonsten wird nicht mit der entsprechenden Steuerung kommuniziert.

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

BeckhBc32 > Treiberspezifische Funktionen

Dieser Treiber unterstützt folgende Funktionen:

Treiber unterstützt

Parameter | Beschreibung
Fehlerdatei | Tritt beim Lesen oder Schreiben von Werten ein Fehler auf, wird ein entsprechender Eintrag in die Fehlerdatei im Verzeichnis RT\FILES\zenon\custom\log im Pfad des Projekts geschrieben. Der Name der Datei setzt sich wie folgt zusammen: <Treiberbezeichnung>_<Treibername>.txt, z. B.: „BeckhoffBc32_MeinTreiber.txt"
Redundanz | ja
RDA | ja
Browsen | Der Treiber unterstützt den Import von Variablen aus TwinCAT TPY-Dateien, die vom TwinCAT-Projekteditor (PLC-Control) erstellt werden können. Anders als beim BeckhoffTc-Treiber erfolgt der Importaufruf aber nicht über den Menüpunkt „TwinCAT-Projekt importieren" des zenOn-Editors, sondern über den Menüpunkt „Variablen online importieren" im Kontextmenü des Treibers in der Treiberliste.


Funktion Treiberkommandos

BeckhBc32 > Funktion Treiberkommandos

Die zenon Funktion Treiberkommandos dient dazu, Treiber über zenon zu beeinflussen.
Mit einem Treiberkommando können Sie einen Treiber:

  • starten
  • stoppen
  • in einen bestimmten Treibermodus versetzen
  • zu bestimmten Aktionen veranlassen

Achtung: Die zenon Funktion Treiberkommandos ist nicht ident mit Treiberkommandos, die bei Energy-Treibern zur Runtime ausgeführt werden können!

info Info

Dieses Kapitel beschreibt Standardfunktionalitäten, die für die meisten zenon Treiber gültig sind.
Aber 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.

Projektierung der Funktion

Die Projektierung erfolgt über die Funktion Treiberkommandos.
Dazu:

  1. Legen Sie im zenon Editor eine neue Funktion an.
  2. Navigieren Sie zum Knoten Variable.
  3. Wählen Sie den Eintrag Treiberkommandos.

    Der Dialog zur Konfiguration wird geöffnet.

  4. Wählen Sie den gewünschten Treiber und das benötigte Kommando aus.
  5. Schließen Sie den Dialog mit Klick auf OK und stellen Sie sicher, dass die Funktion zur Runtime ausgeführt wird.
    Beachten Sie die Hinweise im Abschnitt Funktion Treiberkommandos im Netzwerk.

Dialog Treiberkommandos

Option | Beschreibung
Treiber | Auswahl des Treibers aus der Dropdownliste. Diese enthält alle im Projekt geladenen Treibern.
Aktueller Zustand | Fixer Eintrag, in aktuellen Versionen ohne Funktion.
Treiberkommando | Dropdownliste zur Auswahl des Kommandos:
<Kein kommando> | Es wird kein Kommando gesendet. Damit kann auch ein bereits bestehendes Kommando aus einer projektierten Funktion entfernt werden.
Treiber starten (Onlinemodus) | Treiber wird neu initialisiert und gestartet.
Treiber stoppen (Offlinemodus) | 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).
Treiber in Simulationsmodus zählend | Treiber wird in den zählenden Simulationsmodus gesetzt. Alle Werte werden mit 0 initialisiert und in der eingestellten Updatezeit jeweils um 1 bis zum Maximalwert inkrementiert und beginnen dann wieder bei 0.
Treiber in Simulationsmodus statisch | Treiber wird in den zählenden Simulationsmodus gesetzt. Alle Werte werden mit 0 initialisiert.
Treiber in Simulationsmodus programmiert | Treiber wird in den zählenden Simulationsmodus gesetzt. die Werte werden von einem frei programmierbaren Simulationsprojekt berechnet. Das Simulationsprojekt wird mit der zenon Logic Workbench erstellt und läuft in der zenon Logic Runtime ab.
Diesen Dialog zur Runtime anbieten | Dialog wird zur Runtime für Änderungen angeboten.

Funktion Treiberkommandos im Netzwerk

Wenn sich der Rechner, auf dem die Funktion Treiberkommandos ausgeführt wird, im zenon Netzwerk befindet, werden zusätzlich weitere 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

BeckhBc32 > Fehleranalyse

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

Noch in diesem Kapitel

Analysetool

Fehlernummern

Checkliste


Analysetool

BeckhBc32 > 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 Diagnosis Viewer, das mit zenon mitinstalliert wird. Sie finden es unter Start/Alle Programme/zenon/Tools 8.00 -> Diagviewer.

zenon Treiber protokollieren alle Fehler in LOG-Dateien. LOG-Dateien sind Textdateien mit einer speziellen Struktur. Der Standardordner für die LOG-Dateien ist der Ordner LOG unterhalb des Ordners ProgramData, zum Beispiel:

%ProgramData%\COPA-DATA\LOG.

Achtung: Mit den Standardeinstellungen zeichnet ein Treiber nur Fehlerinformationen auf. Mit dem Diagnosis 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 Diagnosis Viewer kann man auch:

  • neu erstellte Einträge in Echtzeit mitverfolgen
  • die Aufzeichnungseinstellungen anpassen
  • den Ordner, in dem die LOG-Dateien gespeichert werden, ändern

Hinweise:

  1. Der Diagnosis Viewer zeigt alle Einträge in UTC (Koordinierter Weltzeit) an und nicht in der lokalen Zeit.
  2. Der Diagnosis 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.
  3. 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.
  4. 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.
  5. 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 Diagnosis Viewers weiter aufgezeichnet.

attention Achtung

Unter Windows CE werden aus Ressourcegründen Fehler standardmäßig nicht protokolliert.

Weitere Informationen zum Diagnosis Viewer finden Sie im Handbuch Diagnosis Viewer.


Fehlernummern

BeckhBc32 > Fehleranalyse > Fehlernummern

Die Fehlernummern in der Fehlerdatei entsprechen den Fehlercodes der AMS-Schnittstelle von Beckhoff. Zusätzlich zur Fehlernummer wird ein Klartext mit der Beschreibung des Fehlers eingetragen. Ein ausführliche Beschreibung der möglichen Fehler kann der TwinCAT-Dokumentation entnommen werden.


Checkliste

BeckhBc32 > Fehleranalyse > Checkliste

Sind die verwendeten Variablen in der SPS korrekt angelegt? Es können nur Variablen die mit direkter Adressierung angelegt sind, angesprochen werden.

Sind die Bussklemmen in der TwinCAT AMS Router mit AMS-NET ID und IP-Adresse bekannt gegeben, und wurde danach der TwinCAT System Service neu gestartet?

Wurde die „Error – Textdatei" analysiert (Welche Fehler sind aufgetreten)?