Zum Hauptinhalt springen

EtherCAT Diagnose

Diese Bibliothek kommt zum Einsatz um Diagnosemöglichkeiten für ein EtherCAT-Netzwerk in einer Baumüller-PLC zur Verfügung zu stellen.

TB_ECT_Diagnosis

TB_ECT_Diagnosis

Dieser Baustein stellt Diagnosemöglichkeiten eines EtherCAT-Bussystems für das PLC-Projekt zur Verfügung. Es werden Informationen (aktueller Zustand, Fehlerinformationen) des EtherCAT-Masters, des verwendeten EtherCAT-Kernels und jedes EtherCAT-Slave zur Verfügung gestellt. Die Zuordnung zu jedem Slave erfolgt anhand seiner Node-ID. Ebenfalls wird der Einfachheit halber ein Bit ausgegeben, welches einen funktionierenden Feldbus meldet. Beim erstmaligen Aufstarten des FB wird immer überprüft, ob der Baustein für die verwendete EtherCAT-Master Firmware, bzw. den aktuell verwendeten EtherCAT-Master Kernel geeignet ist. Optional kann zusätzlich die verwendete Datensatz-ID der aktiven EtherCAT-Konfiguration überprüft werden.

Die Klartext Fehlermeldungen sind aktuell ausschließlich auf Englisch hinterlegt. Damit dem Baustein die korrekten Daten zur Verfügung stehen, müssen globale Variablen mit den unten genannten Hardware-Adressen angelegt werden. Diese müssen dem Baustein als Ein- und Ausgangsvariable übergegen werden. Als Datentyp der Variablen müssen Strukturen (siehe unten) im PLC-Projekt angelegt werden.

Der Baustein ist kompatiblel bis zur EtherCAT-Masterfirmware 1427.0127.

Einschränkungen:
- Die Möglichkeit der EtherCAT-Diagnose steht ab EtherCAT-Masterfirmware 1427.0114 und EtherCAT Kernel Version > 100 zur Verfügung
- Die aktuelle Anzahl der Slaves ist intern auf 256 begrenzt!

Ausgänge

Bezeichnung:Datentyp:Beschreibung:
x_EctIsOK BOOL TRUE: zentrale Meldung EtherCAT ist ok
u_EctSlavesConfigured UINT Anzahl der in der EtherCAT-Konfiguration definierten EtherCAT-Slaves
u_EctSlavesFound UINT Anzahl der am Bus gefunden EtherCAT-Slaves
u_EctSlavesInOperational UINT Anzahl der sich aktuell im Zustand Operational befindlichen EtherCAT-Slaves
w_EctMasterKernelVersion WORD Version des aktuellen EtherCAT-Kernel
s_EctKernelErrorInfo STRING Klartetext Fehlemeldungen EtherCAT-Kernel
s_EctMasterErrorInfo STRING Klartetext Fehlemeldungen EtherCAT-Master
a_EctDatasetIdFound DWORD_4_BMARRAY eindeutige Kennung (Datensatz-ID) der aktuell verwendeten EtherCAT-Konfiguration des Masters, die Datensatz-ID kann beim Parametrieren mit dem Engineering Framework ProMaster eingestellt werden
x_Active BOOL TRUE: Diagnose EtherCAT ist aktiv
x_Error BOOL TRUE: Baustein hat einen Fehler
w_ErrorID WORD detaillierte Fehlerinformationen des Bausteins, die Fehlerbedeutung kann in der Detailbeschreibung nachgelesen werden

Beschreibungdereinausg.nge

Die zu verwendeten Strukturen sind in verschiedenen Bibliotheken enthalten und müssen eingebunden werden. Die Strukturen für _EctSlave, _EctMaster und _EctMasterKernel sind in der Bibliothek BM_TYPES enthalten. In der Bibliothek TECH_TYPES sind die Strukturen für _EctMasterActState und a_EctSlaveActState enthalten.
Bei der Einbindung der Strukturen _EctSlave, _EctMaster und _EctMasterKernel muss darauf geachtet werden, dass diese auf eine spezifische DPRAM-Adresse gelegt werden müssen.

Bezeichnung:Datentyp:Adresse:
_EctMasterKernel ECM_KERNEL_DIAGNOSTIC %MD3.2016648
_EctMaster ECM_MASTER_STATUS %MD3.2016672
_EctSlave ECM_SLAVE_STATES %MD3.2027648
_EctMasterActState ECT_DIAGNOSIS_ECM_STATE Adresse nicht erforderlich oder frei wählbar
a_EctSlaveActState ARRAY_ECT_DIAGNOSIS_ECS_STATE Adresse nicht erforderlich oder frei wählbar

Beschreibungdereing.nge

Eingang x_Enable

TRUE: Freigabe des Baustein
FALSE: Baustein ist nicht freigegeben, alle Ausgänge sind 0, es findet keine Diagnose statt

Eingang x_CheckDatasetId

TRUE: Beim Freigeben des FB wird die Datensatz ID der EtherCAT-Konfiguration einmalig überprüft
FALSE: Das Freigeben erfolgt ohne Überprüfung der Datensatz-ID

Eingang t_ErrorInfoToggle

Zyklus der im Fehlerfall toggelnden Meldungen, muss größer als 0 gewählt werden

Eingang a_DatasetId

Hier kann die zu überprüfende Datensatz-ID der EtherCAT-Konfiguration vorgegeben werden. Durch den Eingang x_CheckDatasetId kann die Überprüfung aktiviert werden. Die ID ist ein DWord Array mit 4 Elementen und entspricht der Konfiguration, die z.B. durch ProMaster eingestellt wird.
a_DatasetID[0] entspricht DWord 0 in ProMaster
a_DatasetID[1] entspricht DWord 1 in ProMaster
a_DatasetID[2] entspricht DWord 2 in ProMaster
a_DatasetID[3] entspricht DWord 3 in ProMaster

Grundlegende Informationen zur Datensatz-ID in ProMaster:
Mit Hilfe der ID kann der EtherCAT-Konfiguration, welche vom EtherCAT-Master verwendet wird ein eindeutige Kennung zugewiesen werden. Somit kann diese beispielsweise nach dem Maschinenstart überprüft und im Falle eines Unterschiedes ein Fehler ausgegeben werden.
Die Datensatz-ID kann mit ProEtherCAT eingesehen und vorgenommen werden.

ProMaster-Einstellungen:

Beschreibungderausg.nge

Ausgang x_EctIsOK

TRUE: zentrale Meldung EtherCAT ist in Ordnung
FALSE: zentrale Meldung EtherCAT ist nicht in Ordnung, für genauere Informationen siehe Zustände und Klartextfehlermeldungen EtherCAT-Master, EtherCAT-Kernel, EtherCAT-Slaves

Ausgang u_EctSlavesConfigured

Anzahl der in der EtherCAT-Konfiguration definierten EtherCAT-Slaves

Ausgang u_EctSlavesFound

Anzahl der am Bus gefunden EtherCAT-Slaves

Ausgang u_EctSlavesInOperational

Anzahl der sich aktuell im Zustand Operational befindlichen Slaves

Ausgang w_EctMasterKernelVersion

Version des aktuellen EtherCAT-Kernel

Ausgang s_EctKernelErrorInfo

Klartext Fehlermeldungen des EtherCAT-Kernel

Ausgang s_EctMasterErrorInfo

Klartext Fehlermeldungen des EtherCAT-Master

Ausgang a_EctDatasetIdFound

Datensatz-ID der aktuell geladenen EtherCAT-Konfiguration, für genauere Informationen zur Datensatz-ID, siehe Detailbeschreibung der Eingänge a_DatasetId

Ausgang x_Active

TRUE: Diagnose des EtherCAT-Feldbus ist aktiv
FALSE: Diagnose des EtherCAT-Feldbus ist nicht aktiv, entweder der Baustein ist nicht freigegeben, oder er hat einen Fehler

Ausgang x_Error

TRUE: es liegt ein Bausteinfehler vor
FALSE: es liegt kein Bausteinfehler vor

Ausgang w_ErrorID

Bit 0: Baustein ist für diese EtherCAT-Kernel Version nicht geeignet
Bit 1: Anzahl der konfigurierten Slaves ist größer als 256, der Baustein ist hierfür nicht geeignet
Bit 2: Überprüfung Datensatz-ID der EtherCAT-Konfiguration fehlgeschlagen: Sollzustand passt nicht zu Istzustand
Bit 3: Toggle intervall der Baustein Fehler muss kleiner 10 Sekunden sein, Eingang: t_ErrorInfoToggle

Empfohlene Task: Cyclic/Default

Verwendete Bibliotheken: BM_TYPES_40bd04 oder höher TECH_TYPES_40bd08 oder höher

Eingänge

Bezeichnung:Datentyp:Beschreibung:
x_Enable BOOL TRUE: Baustein freigeben
x_CheckDatasetId BOOL TRUE: Beim Start Datensatz ID der EtherCAT-Konfiguration überprüfen
t_ErrorInfoToggle TIME Zyklus der im Fehlerfall toggelnden Meldungen, Defaulteinstellung 1s, wenn Eingang = 0s, Maximal erlaubter Werte: 10s
a_DatasetId DWORD_4_BMARRAY Zu erwartete Datensatz-ID der EtherCAT-Konfiguration, die Datensatz-ID kann beim Parametrieren mit dem Engineering Framework ProMaster eingestellt werden

Ein-/Ausgänge

Bezeichnung:Datentyp:Beschreibung:
_EctMasterKernel ECM_KERNEL_DIAGNOSTIC DP-RAM Strukturvariable EtherCAT-Kernel, Struktur Aufbau und Hardware-Adressierung siehe Detailbeschreibung der Eingänge
_EctMaster ECM_MASTER_STATUS DP-RAM Strukturvariable EtherCAT-Master, Struktur Aufbau und Hardware-Adressierung siehe Detailbeschreibung der Eingänge
_EctSlave ECM_SLAVE_STATES DP-RAM Strukturvariable EtherCAT-Slave, Struktur Aufbau und Hardware-Adressierung siehe Detailbeschreibung der Eingänge
_EctMasterActState ECT_DIAGNOSIS_ECM_STATE aktueller Zustand des EtherCAT-Masters
a_EctSlaveActState ARRAY_ECT_DIAGNOSIS_ECS_STATE aktueller Zustand jedes EtherCAT-Slave, Zuordnung erfolgt anhand der Node-ID
Darstellung in FBD