Besonderheiten der programmierbaren Terminals mit "CANopen V4"

(Nur für bestimmte Terminals verfügbar, nicht für UPT515)

Zwischen älteren Terminals mit CANopen "V3" (z.B. UPT515), und neueren Terminals mit CANopen-Protokoll "V4" bestehen einige Unterschiede bezüglich Kommunikation und Programmierung. Dieses Dokument zeigt diese Unterschiede auf, und demonstriert die Nutzung der neuen Funktionen. Die Feature-Matrix zeigt welche CANopen-Version in Ihrem Terminal verwendet wird.
Da "CANopen" kein triviales Thema ist, wird für Einsteiger empfohlen, sich zunächst mit den Grundlagen vertraut zu machen (z.B. bei CiA = CAN in Automation).

Inhalt

  1. Unterschiede zwischen Terminals mit CANopen "V3" und CANopen "V4"
  2. Verbinden von 'Display-Variablen' mit CANopen-Objekten im eigenen OD (OD des Terminals)
  3. Verbinden von 'Display-Variablen' mit CANopen-Objekten in einem fremden OD (per SDO)
  4. Anzeige von CANopen-Variablen ohne Verwendung von Display-Variablen
  5. Kommunikationsprofil (Objekte im CANopen-OD-Bereich 0x1000 bis 0x1BFF)
  6. PDO-Kommunikationsparameter
  7. PDO-Mapping
  8. EDS-Dateien

Links zu weiteren Dokumenten für programmierbare Terminals mit CANopen :

Unterschiede zwischen Terminals mit CANopen "V3" und CANopen "V4"

Terminals mit CANopen-Protokoll "V4" weichen bezüglich der Kommunikation und der Programmierung etwas von den früher verwendeten Terminals mit "CANopen V3" (z.B. UPT515) ab.

Dies betrifft die folgenden Funktionen und Eigenschaften:

Verbinden von Display-Variablen mit 'CANopen-Variablen' im eigenen OD (des Terminals)

Dies funktioniert auch bei Geräten mit 'CANopen V4' wie früher (bei Geräten mit CANopen V3):

Auf der Registerkarte 'Variablen' wird in der Spalte 'OD-Index' der gewünschte Objekt-Index und -Subindex eingetragen.
Dabei beachten, daß der CANopen-Datentyp des Objektes 'groß genug' für den Datentyp der Display-Variablen ist.
Es empfiehlt sich daher, z.B. Variablen mit dem Datentyp 'I32' nur mit dem Objekt 0x4004, Subindizes 1 bis 10 (bzw. 40) zu verbinden, usw.

Weitere Details zum Verbinden von Display-Variablen mit den Objekten 0x4001 bis 0x4009 im Terminal finden Sie hier .

Siehe auch: CANopen-OD im Terminal; Display-Variablen (im Programmiertool) .

Tip zu den 'CANopen-Variablen' im OD (Indizes 0x4001 bis 0x4009) :
Im Installationsarchiv ist eine Testdatei namens 'Obd_Test.upt' enthalten. Mit diesem Anzeigeprogramm kann das Verhalten der 'Variablen'-Objekte im CANopen-OD getestet werden; ferner demonstriert es wie "normale" Display-Variablen (des Terminals) mit diesen Objekten verknüpft werden (siehe Variablen 'OdTstI32' alias Objekt 0x4004.01, und 'OdTstF32' alias Objekt 0x4008.01 :  Objekt-Index und -Subindex wird auf der Registerkarte 'Variablen' in der Spalte 'OD-Index' eingetragen) .
Weitere Details zum CANopen-OD der programmierbaren Terminals finden Sie hier .

Verbinden von Display-Variablen mit 'CANopen-Variablen' in einem fremden OD (per SDO)

Dies funktioniert auch bei Geräten mit 'CANopen V4' wie früher (bei Geräten mit CANopen V3).
Details daher nur im 'allgemeinen' Programmierhandbuch (Kapitel "Variablen an SDO-Kanälen") .

Anzeigen von CANopen-Variablen ohne Verwendung von Display-Variablen

Terminals mit CANopen V4 verfügen über fest im CANopen-OD eingebaute Variablen, auf die per CAN (SDO oder PDO) zugegriffen werden kann. Sie liegen im OD-Index-Bereich 0x4001 bis 0x4009 (Index = 0x4000 + <Datentyp nach CANopen> ). Der Display-Interpreter kann auf diese Objekte mit der Funktion "obd(<index.subindex>)" zugreifen, wie auch auf alle anderen Objekte im "eigenen" (lokalen) CANopen-OD des Terminals. Sie können z.B. die folgende Interpreter-Anweisung ("Formel") in der Spalte "Var/Formel" der Anzeigezeilen-Definitionstabelle eingeben, um die erste 32-Bit-Variable auf dem Display anzuzeigen :

obd(0x4004.01)

Dies funktioniert (fast) wie eine normale Display-Variable, Sie können den Wert auf dem Display sogar editieren (falls das Objekt lese- und schreibbar ist). Andere Geräte im Netzwerk können auf diese Variable per SDO zugreifen (wie auf jedes andere Objekt im OD), oder auch per PDO, weil Objekt 4004(hex) in einen PDO gemappt werden kann (wie die meisten Objekte im Bereich 0x4001 ... 0x4009).

Statt die "obd"-Anweisung selbst einzugeben, können Sie diese auch vom Programmiertool erstellen lassen. Sie können das anzuzeigende Objekt auch aus einer Liste auswählen, was manchmal einfacher ist. Doppelklicken Sie dazu in die Spalte "Var/Formel" (in der Anzeigeseiten-Definitions-Tabelle) , woduch sich das folgende Dialogfenster öffnet:

Wählen Sie das anzuzeigende CANopen-Objekt aus der CANopen-OD-Liste (rechten Seite) aus. Ein einzelner Mausklick in diese Liste kopiert den selektierten Eintrag in die Tabelle mit den Anzeigezeilen-Definitionen (linke Seite), wobei die evtl. schon exisierende Definition überschrieben wird. Weitere Informationen zum Dialogfenster zum Ersetzen von Anzeige-Variablen und -Ausdrücken finden Sie hier .

Kommunikationsprofil

Terminals mit CANopen V4 verfügen über einige neue Objekte im CANopen-Kommunikationsprofile (nach CiA DS301, Objekt-Indizes im Bereich 0x1000 – 0x1BFF). Diese Objekte dienen z.T. dazu, ein "UPT" im CANopen-Netzwerk zu erkennen. Einstellungen des Terminals werden von den folgenden Objekten zur "Identifikation" des Terminals nicht beeinflusst :
CANopen-Index Contents
0x1000 Device Type
(not applicable, only DS301 at the moment)
0x1018 Identity Object
0x1018.1 MKT’s vendor ID (0x004D4B54)
0x1018.2 Product Code (70055=UPT515, etc)
0x1018.3 Revision Number (ex: 0x00010002 = V01.02)
0x1018.4 Serial Number (expect this to be ZERO)


PDO-Kommunikationsparameter

<ToDo>

PDO-Mapping

<ToDo>

Siehe auch: Dialogfenster zum PDO-Mapping

EDS-Dateien (electronic device specifications)

Ein EDS-File benötigen Sie z.B., wenn Sie die die Kommunikationsparameter des Terminals per CANopen-Kommunikationstool einstellen wollen. Die folgenden Dateien wurden bei der Installation des Programmiertools bereits im Unterverzeichnis 'eds' entpackt :

Hinweis: Je nach Hardware-Ausstattung können einige Objekte keine Funktion haben, sie sind aber trotzdem im OD vorhanden ! Falls Sie z.B. im OD ein Objekt namens "Front Panel Lamp" finden,  Ihr Terminal aber keine Lampen (LEDs) auf dem Frontpanel hat, können Sie dieses Objekt getrost ignorieren...

Siehe auch:
CANopen - Objektverzeichnis ("OD");
Generator für EDS- und DCF-Dateien.