Netzwerkmanagement CANopen Master

Automatischer CANopen StartUp

Der CANopen Master sendet nach dem Starten (EL6751: Übergang nach SAFEOP) ein Reset Communication All Nodes. Danach wird je konfiguriertem CANopen-Slave eine individueller StartUp durchgeführt:

SDO

Erläuterung

Option

Upload Device Type 0x1000

Das Objekt 0x1000 des CANopen Slaves wird gelesen und mit dem konfigurierten Wert verglichen

Diese SDO ist defaultmässig aktiv, kann aber über die Konfiguration abgeschaltet werden (s. Button Advanced auf Karteireiter "BK51x0" oder "CAN Node" der Box im System-Manager). Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Upload Vendor ID 0x1018:01

Der Entry 0x1018:01 des CANopen Slaves wird gelesen und mit dem konfigurierten Wert verglichen, sofern dieser ungleich 0 ist

Diese SDO ist bei Buskopplern BK51x0 immer aktiv, bei allgemeinen CANopen Slaves nur, wenn auf dem Karteireiter "CAN Node" der Box im System-Manager eine Vendor ID ungleich 0 eingetragen ist. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Upload Product Code 0x1018:02

Der Entry 0x1018:02 des CANopen Slaves wird gelesen und mit dem konfigurierten Wert verglichen, sofern dieser ungleich 0 ist

Diese SDO ist bei Buskopplern BK51x0 immer aktiv, bei allgemeinen CANopen Slaves nur, wenn auf dem Karteireiter "CAN Node" der Box im System-Manager ein Product Code ungleich 0 eingetragen ist. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Upload Revision Number 0x1018:03

Der Entry 0x1018:03 des CANopen Slaves wird gelesen und mit dem konfigurierten Wert verglichen, sofern dieser ungleich 0 ist

Diese SDO ist bei Buskopplern BK51x0 nie aktiv, bei allgemeinen CANopen Slaves nur, wenn auf dem Karteireiter "CAN Node" der Box im System-Manager eine Revision Number ungleich 0 eingetragen ist. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Upload Serial Number 0x1018:04

Der Entry 0x1018:04 des CANopen Slaves wird gelesen und mit dem konfigurierten Wert verglichen, sofern dieser ungleich 0 ist

Diese SDO ist bei Buskopplern BK51x0 nie aktiv, bei allgemeinen CANopen Slaves nur, wenn auf dem Karteireiter "CAN Node" der Box im System-Manager eine Serial Number ungleich 0 eingetragen ist. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Download SYNC cycle Time 0x1006

Das Objekt 0x1006 des CANopen Slaves wird mit der SYNC Cycle Time beschrieben, sofern die SYNC message gesendet wird (die SYNC message wird gesendet, wenn mindestens eine synchrone PDO bei einem beliebigen Slave konfiguriert ist)

Diese SDO ist defaultmässig aktiv, wenn die SYNC message gesendet wird, kann aber über die Konfiguration abgeschaltet werden (s. Button Advanced auf Karteireiter "BK51x0" oder "CAN Node" der Box im System-Manager). Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn SDO-Abort aufgetreten ist.

Download PDO ID (0x1400+y:01 bzw. 0x1800+y:01)

Je konfigurierter PDO wird die COB-ID beschrieben

Diese SDOs sind bei allgemeinen CANopen Slaves defaultmässig aktiv, kann aber auf dem Karteireiter "CAN Node" abgeschaltet. Bei Buskopplern werden die  PDOs über das Objekt 0x5500 konfiguriert, daher sind diese SDOs bei Buskopplern BK51x0 nicht aktiv.

SDO

Erläuterung

Option

Upload PDO ID (0x1400+y:01 bzw. 0x1800+y:01)

falls es beim Download der PDO COB-ID einen SDO-Abort gegeben hat, wird versucht, den Entry auszulesen

Diese SDO ist nur aktiv, wenn der Download der entsprechenden PDO COB ID nicht geklappt hat. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Download PDO Transmission Type (0x1400+y:02 bzw. 0x1800+y:02)

Je konfigurierter PDO wird der Transmission Type beschrieben

Diese SDOs sind bei allgemeinen CANopen Slaves defaultmässig aktiv, kann aber auf dem Karteireiter "CAN Node" abgeschaltet. Bei Buskopplern wird der Transmission Type nur für digitale (PDO 1) und analoge (PDO 2) Klemmen unterschieden, wenn das Objekt 0x5500 beim StartUp beschrieben wird, daher sind diese SDOs bei Buskopplern BK51x0 nur für für die PDOs 1 und 2 aktiv.

Upload PDO Transmission Type (0x1400+y:02 bzw. 0x1800+y:02)

falls es beim Download der PDO Transmission Type einen SDO-Abort gegeben hat, wird versucht, den Entry auszulesen

Diese SDO ist nur aktiv, wenn der Download des entsprechenden PDO Transmission Types nicht geklappt hat. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Download PDO Inhibit Time (0x1400+y:03 bzw. 0x1800+y:03)

Je konfigurierter PDO wird die Inhibit Time beschrieben

Diese SDOs sind bei allgemeinen CANopen Slaves aktiv, wenn auf dem Karteireiter "PDO" der jeweiligen PDO eine Inhibit Time größer 0 konfiguriert ist. Bei Buskopplern gibt es nur eine Inhibit Time für alle PDOs, wenn die PDOs über das Objekt 0x5500 konfiguriert werden, wenn diese Inhibit Time auf dem Karteireiter "BK51x0" größer 0 ist, sind diese SDOs aktiv.

Upload PDO Inhibit Time (0x1400+y:03 bzw. 0x1800+y:03)

falls es beim Download der PDO Inhibit Time einen SDO-Abort gegeben hat, wird versucht, den Entry auszulesen

Diese SDO ist nur aktiv, wenn der Download der entsprechenden PDO Inhibit Time nicht geklappt hat. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Download PDO Event Time (0x1400+y:05 bzw. 0x1800+y:05)

Je konfigurierter PDO wird die Event Time beschrieben

Diese SDOs sind bei allgemeinen CANopen Slaves aktiv, wenn auf dem Karteireiter "PDO" der jeweiligen PDO eine Event Time größer 0 konfiguriert ist. Bei Buskopplern gibt es nur eine Event Time für alle PDOs, wenn die PDOs über das Objekt 0x5500 konfiguriert werden, wenn diese Event Time auf dem Karteireiter "BK51x0" größer 0 ist, sind diese SDOs aktiv.

Upload PDO Event Time (0x1400+y:05 bzw. 0x1800+y:05)

falls es beim Download der PDO Event Time einen SDO-Abort gegeben  hat, wird versucht, den Entry auszulesen

Diese SDO ist nur aktiv, wenn der Download der entsprechenden PDO Event Time nicht geklappt hat. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn nicht der konfigurierte Wert gelesen wird.

Download Producer Heartbeat 0x1017

Das Objekt 0x1017 des CANopen Slaves wird mit der Guard Time beschrieben

Diese SDO ist aktiv, wenn die Guard Time und der Life Time Factor auf den Karteireitern "BK51x0" bzw. "CAN Node" ungleich 0 sind. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn ein SDO-Timeout aufgetreten ist.

SDO

Erläuterung

Option

Download Consumer Heartbeat 0x1016:01

Das Objekt 0x1016:01 des CANopen Slaves wird mit der Guard Time multipliziert mit dem Life Time Factor beschrieben

Diese SDO ist aktiv, wenn die Guard Time sowie der Life Time Factor auf den Karteireitern "BK51x0" bzw. "CAN Node" ungleich 0 sind und beim Download des Producer Heartbeats kein Abort aufgetreten ist. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn ein SDO-Abort aufgetreten ist.

Download Guard Time 0x100C

Das Objekt 0x100C des CANopen Slaves wird mit der Guard Time beschrieben

Diese SDO ist aktiv, wenn die Guard Time sowie der Life Time Factor auf den Karteireitern "BK51x0" bzw. "CAN Node" ungleich 0 sind und beim Download des Producer Heartbeats ein SDO-Abort (kein SDO-Timeout) aufgetreten ist. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn ein SDO-Abort aufgetreten ist.

Download Life Time Factor 0x100D

Das Objekt 0x100D des CANopen Slaves wird mit dem Life Time Factor beschrieben

Diese SDO ist aktiv, wenn die Guard Time sowie der Life Time Factor auf den Karteireitern "BK51x0" bzw. "CAN Node" ungleich 0 sind und beim Download des Producer Heartbeats ein SDO-Abort (kein SDO-Timeout) aufgetreten ist. Wenn die SDO aktiv ist, wird der StartUp abgebrochen, wenn ein SDO-Abort aufgetreten ist.

Download weitere StartUp SDOs

weitere StartUp-SDOs werden geschrieben

Es werden alle weiteren StartUp-SDOs geschrieben, die auf dem Karteireiter "SDOs" bei Buskopplern BK51x0 oder allgemeinen CANopen Slaves aufgelistet sind

Start Node

Der CANopen Slave wird gestartet

Das Starten des CANopen Slaves ist defaultmässig aktiv, kann aber über die Konfiguration abgeschaltet werden (s. Button Advanced auf Karteireiter "BK51x0" oder "CAN Node" der Box im System-Manager). Falls das Starten des CANopen Slaves nicht aktiv ist, kann er manuell gestartet werden.

Start All Nodes

Alle CANopen Slaves werden gestartet

Nachdem alle CANopen Slaves einzeln gestartet wurden, wird noch ein Start-Kommando an alle CANopen Slaves gesendet, falls nicht bei einem CANopen Slave der automatische Start deaktiviert wurde.

Warten auf TxPDOs

 

Solange nicht alle konfigurierten TxPDOs des CANopen Slaves empfangen wurden, wird der NodeState auf 23 gesetzt. Wenn auf dem Karteireiter "SDOs" bei Buskopplern BK51x0 oder allgemeinen CANopen Slaves eingestellt ist, dass der CANopen Slave neu gestartet wird, wenn 10 s nach dem Starten noch keine konfigurierte TxPDO empfangen wurde (ist defaultmässig nicht aktiv), wird der komplette StartUp wiederholt, wenn diese Überwachung zuschlägt.

Senden der RxPDOs

 

1 s nach dem Starten des CANopen Slaves werden die konfigurierten RxPDOs an den CANopen Slave gesendet.

SDO

Erläuterung

Option

Überwachen der synchronen TxPDOs

 

Die Überwachung der synchronen TxPDOs beginnt, sobald diese das erste Mal empfangen wurden. Wenn der Tansmission Type auf 1 gestellt ist, muss diese TxPDO in dem SYNC-Zyklus empfangen werden, ansonsten geht der Node-State auf 40 bzw. 22 und der CANopen-Slave wird entsprechend der konfigurierten Fehlerreaktion behandelt. Das Zeitfenster endet nach dem Ablauf der Input Shift Time (EL6751, bei einem SYNC-Multiplier größer 1 zählt die Input Shift Time im letzten EtherCAT-Zyklus bevor der nächste SYNC Zyklus wieder beginnt) bzw. wenn alle synchronen RxPDOs gesendet wurden (FC51xx, CX1500-M510). Diese Überwachung kann entschärft werden, in dem ein Event-Time ungleich 0 bei der entsprechenden TxPDO eingestellt wird. In diesem Fall ist der CANopen Master einen SYNC-Zyklus tolerant, d.h. erst wenn die TxPDO zweimal hintereinander ausgefallen ist, wird der Node-State auf 22 gesetzt.

Bei Transmission Types größer 1 ist der CANopen Master ebenfalls einen Zyklus tolerant, bevor ein Fehler erkannt und der Node-State auf 22 gesetzt wird.

Überwachen der asynchronen TxPDOs

 

Die Überwachung der asynchronen TxPDOs ist nur aktiv, wenn deren Event-Time mit größer 0 konfiguriert ist, und beginnt, sobald diese das erste Mal empfangen wurden. Wenn die TxPDO innerhalb der zweifachen Event-Time nicht empfangen wird, wird der Node-State auf 22 gesetzt und der CANopen-Slave entsprechend der konfigurierten Fehlerreaktion behandelt.

Fehlerreaktion

 

Wenn bei der TxPDO-Überwachung oder beim Guarding/Heartbeat ein Fehler bei einem CANopen-Slave ein Fehler festgestellt wird, geht der Node-State auf einen Wert ungleich 0 und es erfolgt eine konfigurierte Fehlereaktion (entsprechend der Karteireiter "BK51x0" bzw. "CAN Node"). In der Defaulteinstellung wird der CANopen-Slave gestoppt und danach neu gestartet (mit Reset Communication).

Manuelles Netzwerkmanagement

Der CANopen Status (STOPPED, PRE-OPERATIONAL, OPERATIONAL) eines CANopen-Slaves kann per ADS Write Control verändert werden. Dabei ist die AMS-Adresse wie bei der SDO-Kommunikation einzustellen, die anderen Parameter ergeben sich anhand der folgenden Tabelle:

ADS State

Device State

CANopen state transition

ADSSTATE_RUN (5)

0

OP->PREOP

ADSSTATE_RUN (5)

1

PREOP->OP

ADSSTATE_STOP (6)

0

OP->STOP

ADSSTATE_RUN (5)

1

STOP->OP (mit Reset Communication)

ADSSTATE_RUN (5)

3

STOP->OP (ohne Reset Communication)

ADSSTATE_STOP (6)

0

PREOP->STOP

ADSSTATE_RUN (5)

2

STOP->PREOP (ohne Reset Communication)