Sie sind auf Seite 1von 21

Festo CECC_3 Bibliothek

Inhaltsverzeichnis
1 Wichtige Hinweise .............................................................................................................................. 1
1.1 Bestimmungsgemäße Verwendung ............................................................................................. 1
1.1.1 Zielgruppe ......................................................................................................................... 1
1.1.2 Service .............................................................................................................................. 1
1.2 Sicherheitshinweise ..................................................................................................................... 1
1.3 Wichtige Benutzerhinweise .......................................................................................................... 1
1.3.1 Gefahrenkategorien .......................................................................................................... 1
1.4 Kennzeichnung spezieller Informationen ..................................................................................... 2
1.4.1 Piktogramme..................................................................................................................... 2
1.4.2 Textkennzeichnungen ....................................................................................................... 2
1.4.3 Weitere Konventionen....................................................................................................... 2

2 Übersicht ............................................................................................................................................. 3
2.1 Einbindung der Bibliothek ............................................................................................................ 3
2.2 Standard Ein-/Ausgänge der Funktionsblöcke ............................................................................. 3

3 Schneller Zähler ................................................................................................................................. 4


3.1 Funktionsblock FastCounter ........................................................................................................ 4
3.2 Funktionsblock FastCounter_DIFF .............................................................................................. 5
3.3 ICounterEventCallback ................................................................................................................ 6
3.3.1 Anlegen eines Funktionsblocks ........................................................................................ 6
3.3.2 Programmierung der Callback-Methode ........................................................................... 7
3.3.3 Instanz des Funktionsblocks übergeben ........................................................................... 7
3.4 SetCounterOutput ........................................................................................................................ 8
3.5 SetOutputDelay............................................................................................................................ 9
3.6 GetPulseDuration ....................................................................................................................... 10
3.7 Beispiele .................................................................................................................................... 11
3.7.1 Einfacher Zähler ............................................................................................................. 11
3.7.2 Schwellenwert Ereignis ................................................................................................... 11
3.7.3 Zeitmessung ................................................................................................................... 11

4 Allgemeine Funktionen .................................................................................................................... 12


4.1 SetDebounceTime ..................................................................................................................... 12

5 Netzwerkkonfiguration ..................................................................................................................... 13
5.1 GetNetworkConfiguration ........................................................................................................... 13
5.2 SetNetworkConfiguration ........................................................................................................... 13
5.3 Beispiel ...................................................................................................................................... 14

6 Diagnose ........................................................................................................................................... 15
6.1 Funktionsblock GetDiagnosis..................................................................................................... 15
6.2 DiagClassification Enumeration ................................................................................................. 15
6.3 STRUCT DiagEntry .................................................................................................................... 15
6.4 Funktionsblock GetDeviceStatus ............................................................................................... 16
6.5 Funktionsblock GetDeviceStatus_NT ......................................................................................... 16
6.6 Event CECC System Fault ......................................................................................................... 16
6.7 STRUCT EVTPARAM_CECC_system_fault .............................................................................. 17

iii
Festo CECC_3 Bibliothek

1 Wichtige Hinweise
1.1 Bestimmungsgemäße Verwendung
Die beschriebenen Funktionsblöcke (FB) dieser Bibliothek dienen zur Steuerung und Parametrierung des
zugehörigen Geräts. Mit ihrer Hilfe können Sie die vielfältigen Funktionen des jeweiligen Geräts
komfortabel in ihr Programm einbinden. Die gleichzeitige Verwendung anderer Funktionsblöcke zur
Steuerung desselben Geräts ist unzulässig.
Beachten Sie die "Sicherheitstechnischen Hinweise" sowie den bestimmungsgemäßen Gebrauch der
jeweiligen Geräte, Baugruppen und Module. Beim Anschluss handelsüblicher Zusatzkomponenten, wie
Sensoren und Aktoren, sind die angegebenen Grenzwerte für Drücke, Temperaturen, elektrische Daten,
Momente usw. einzuhalten.

1.1.1 Zielgruppe
Diese Beschreibung wendet sich ausschließlich an ausgebildete Fachleute der Steuerungs- und
Automatisierungstechnik.

1.1.2 Service
Bitte wenden Sie sich bei technischen Problemen an Ihren lokalen Service von Festo
( http://www.festo.com).

1.2 Sicherheitshinweise
Bei der Inbetriebnahme und Programmierung von Positioniersystemen sind unbedingt die in den
Beschreibungen und Bedienungsanleitungen zu den eingesetzten Komponenten gegebenen
Sicherheitsvorschriften zu beachten.
Der Anwender hat dafür Sorge zu tragen, dass sich niemand im Einflussbereich der angeschlossenen
Aktoren bzw. der Achssysteme aufhält. Der mögliche Gefahrenbereich muss durch geeignete Maßnahmen
wie Absperrungen oder Warnhinweise gesichert werden.

Warnung
Pneumatische und elektrische Achsen können mit großer Kraft und Geschwindigkeit verfahren.
Kollisionen können zu schweren Verletzungen oder zur Zerstörung von Bauteilen führen.
• Stellen Sie sicher, dass niemand in den Einflussbereich der Achsen sowie anderer
angeschlossener Aktoren greifen kann und sich keine Gegenstände im Verfahrbereich
befinden, solange das System an Energiequellen angeschlossen ist.

Warnung
Fehler bei der Parametrierung können Personen- und Sachschäden verursachen.
• Geben Sie den Regler nur dann frei, wenn das Achssystem fachgerecht installiert und
parametriert ist.

1.3 Wichtige Benutzerhinweise


1.3.1 Gefahrenkategorien
Dieses Dokument enthält Hinweise auf mögliche Gefahren, die bei unsachgemäßem Einsatz des Produkts
auftreten können. Diese Hinweise sind mit einem Signalwort (Warnung, Vorsicht, usw.) gekennzeichnet,
grau hinterlegt und zusätzlich durch ein Piktogramm gekennzeichnet. Folgende Gefahrenhinweise werden
unterschieden:

Warnung
... bedeutet, dass bei Missachten schwerer Personen- oder Sachschaden entstehen kann.

Vorsicht
... bedeutet, dass bei Missachten Personen- oder Sachschaden entstehen kann.

Hinweis
... bedeutet, dass bei Missachten Sachschaden entstehen kann.

1
Festo CECC_3 Bibliothek

1.4 Kennzeichnung spezieller Informationen


1.4.1 Piktogramme
Folgende Piktogramme kennzeichnen Textstellen, die spezielle Informationen enthalten.
Information: Empfehlungen, Tipps und Verweise auf andere Informationsquellen.

Zubehör: Angaben über notwendiges oder sinnvolles Zubehör zum Festo Produkt.

Umwelt: Informationen zum umweltschonenden Einsatz von Festo Produkten.

1.4.2 Textkennzeichnungen
1. Ziffern kennzeichnen Tätigkeiten, die in der angegebenen Reihenfolge durchzuführen sind.
• Der Auflistungspunkt kennzeichnet Tätigkeiten, die in beliebiger Reihenfolge durchgeführt werden
können.
– Spiegelstriche kennzeichnen allgemeine Aufzählungen.

1.4.3 Weitere Konventionen


[Projekt] [Neu] Menüeinträge sind in eckigen Klammern eingerahmt, z. B. öffnet im Menü [Projekt] der
Befehl [Neu ...] ein neues Projekt.
"OK" Namen von Fenstern, Dialogen und Schaltflächen, z. B. "Meldefenster", "Projekt
dearchivieren", "OK" sowie Bezeichnungen werden in Anführungszeichen dargestellt.
CTRL Namen von Tasten auf der PC-Tastatur werden im Text mit Großbuchstaben
dargestellt (z. B. EINGABETASTE, STRG, C, F1, usw.).
CTRL+C Für einige Funktionen müssen zwei Tasten gleichzeitig gedrückt werden. Halten Sie z.
B. die STRG-Taste gedrückt und drücken Sie zusätzlich die C-Taste. Dies wird im Text
mit STRG+C beschrieben.
Wird einfach von "Klicken" oder "Doppelklick" gesprochen, so ist immer die linke
Maustaste gemeint. Falls die rechte Maustaste benutzt werden soll, wird ausdrücklich
darauf hingewiesen.

2
Festo CECC_3 Bibliothek

2 Übersicht
Die Bibliothek Festo_CECC_3 enthält Funktionsblöcke (FB) für die Festo Steuerung CECC.

2.1 Einbindung der Bibliothek


Die Bibliothek Festo_CECC_3 finden Sie bei CoDeSys V3 pbF im Bereich "Bibliotheksverwalter".
• Verwenden Sie zur Einbindung der Bibliothek das Kommando "Bibliothek hinzufügen".
Alle Elemente aus dieser Bibliothek sind dem Namensraum "CECC" zugeordnet.

2.2 Standard Ein-/Ausgänge der Funktionsblöcke


Die Bibliothek basiert auf dem Verhaltensmodel der CAA. Darin wird ein Teil der Ein-/Ausgänge der
Funktionsblöcke beschrieben. Die folgende Liste enthält die Standard Ein-/Ausgänge, die in vielen
Funktionsblöcken vorkommen.
Ein-/Ausgang Datentyp Kommentar

xEnable BOOL – TRUE: Aktion läuft


– FALSE: Aktion gestoppt
Ausgänge 'xDone', 'xBusy', 'xError', 'iError' sind zurückgesetzt
xExecute BOOL – Steigende Flanke: Aktion läuft.
– Fallende Flanke: Setzt die Ausgänge zurück sobald die fallende
Flanke auftritt, auch wenn die Aktion noch nicht abgearbeitet
wurde.
Ansonsten arbeiten die Ausgänge normal und werden
zurückgesetzt, wenn die Aktion abgeschlossen ist oder ein
Fehler auftritt. In diesem Fall werden die entsprechenden
Fehlerausgänge ('xDone', 'xError', 'eError') für genau einen
Zyklus ausgegeben.
xBusy BOOL Funktionsblock aktiv.
xDone BOOL Aktion erfolgreich abgeschlossen.
xError BOOL TRUE: Fehler ist aufgetreten.
eError ERROR ID des Fehlers ( Fehlercode Enumeration)

Tabelle: Standard Ein-/Ausgänge der Funktionsblöcke

Funktionsblöcke, die weder 'xEnable' noch 'xExecute' implementieren, arbeiten ohne Zustand,
wann immer sie aufgerufen werden.

3
Festo CECC_3 Bibliothek

3 Schneller Zähler
3.1 Funktionsblock FastCounter
– FastCounter_CH1: Zählerprogramm für den ersten schnellen Eingang der CECC (X2.0)
– FastCounter_CH2: Zählerprogramm für den zweiten schnellen Eingang der CECC (X2.1)
Eine Flanke am Pin eines schnellen Zählers inkrementiert bzw. dekrementiert den Zählerstand, wenn der
zugehörige Zähler aktiviert ist.

Schnelle Eingänge werden mit 2 MHz abgetastet und erlauben eine maximale Eingangsfrequenz
von ~200 kHz.

Bild: Funktionsblock FastCounter_CH1

Ein-/Ausgang Datentyp Kommentar

eDirection CounterDirection – CounterDirection.UPWARD: zählt aufwärts ab 0.


– CounterDirection.DOWNWARD: zählt abwärts
beginnend beim Anfangswert PV.
xInvertInputSignal BOOL TRUE: Zählimpuls bei fallender Flanke.
FALSE: Zählimpuls bei steigender Flanke.
xReset BOOL Eine steigende Flanke setzt den Zählerwert in
Abhängigkeit der Zählrichtung (eDirection) auf 0 bzw.
auf udiPV.
udiPV UDINT Das ist der Schwellenwert bzw. Anfangswert.
CounterCallback ICounterEventCallback Funktionsblock, der die Schnittstelle
ICounterEventCallback implementiert.
xQ BOOL Der Ausgang wird auf TRUE gesetzt, sobald der
aktuelle Zählerwert (udiCV) den vorgegebenen
Schwellenwert udiPV bzw. 0 erreicht hat.
udiCV UDINT Das ist der aktuelle Zählerwert.

4
Festo CECC_3 Bibliothek

3.2 Funktionsblock FastCounter_DIFF


Eine Flanke am ersten schnellen Eingang der CECC (X2.0) inkrementiert den Zählerwert, während eine
Flanke am zweiten schnellen Eingang der CECC (X2.1) den Zählerwert dekrementiert. Beide beeinflussen
denselben Zähler.

Schnelle Eingänge werden mit 2 MHz abgetastet und erlauben eine maximale Eingangsfrequenz
von ~200 kHz.

Bild: Funktionsblock FastCounter_DIFF

Ein-/Ausgang Datentyp Kommentar

xInvertInputSignal BOOL TRUE: Zählimpuls bei fallender Flanke.


FALSE: Zählimpuls bei steigender Flanke.
xReset BOOL Eine steigende Flanke setzt den Zählerwert auf 0.
udiPV UDINT Das ist der Schwellenwert.
CounterCallback ICounterEventCallback Funktionsblock, der die Schnittstelle
ICounterEventCallback implementiert.
xQ BOOL Der Ausgang wird auf TRUE gesetzt, sobald udiCV die
vorgegebene Grenze von udiPV erreicht hat.
udiCV UDINT Das ist der aktuelle Zählerwert.

5
Festo CECC_3 Bibliothek

3.3 ICounterEventCallback
Schnittstelle für selbst erstellte Callback-Funktionsblöcke.
Die Methode CounterEventHandler wird aufgerufen, wenn ein Zähler abgelaufen ist. Zur Verwendung
dieser Methode benötigen Sie einen Funktionsblock, der die Schnittstelle ICounterEventCallback
implementiert.

3.3.1 Anlegen eines Funktionsblocks


1. Markieren Sie im Gerätefenster den Zweig "Application" um einen neuen Funktionsblock einzufügen.
2. Öffnen Sie das Dialogfenster "POU hinzufügen"
– Menübefehl [Projekt] [Objekt hinzufügen] [POU] oder
– Kontextmenü [Objekt hinzufügen] [POU].

Bild: Dialogfenster "POU hinzufügen"


3. Geben Sie im Dialogfenster einen passenden Namen für den neuen Funktionsblock ein.
4. Aktivieren Sie die Option "Implementiert".
5. Klicken Sie auf die zugehörige Schaltfläche "..." zur Auswahl der passenden Schnittstelle.
Wenn die Festo CECC_3 Bibliothek eingebunden ist, finden Sie im Dialogfenster "Eingabehilfe" das
Element "ICounterEventCallback". Bestätigen Sie diese Auswahl mit Hilfe der Schaltfläche "OK".
6. Erzeugen Sie den neuen Funktionsblock mit Hilfe der Schaltfläche "Öffnen".
Im Gerätefenster finden Sie den neuen Funktionsblock mit zugehöriger Methode "CounterEventHandler".

Bild: Gerätefenster – CECC-LK mit implementierter Schnittstelle ICounterEventCallback

6
Festo CECC_3 Bibliothek

3.3.2 Programmierung der Callback-Methode


1. Markieren Sie im Gerätefenster die Methode "CounterEventHandler" und führen Sie einen Doppelklick
aus.
2. Geben Sie im neu geöffneten Editierfenster den Programmcode ein, der bei dieser Methode
ausgeführt werden soll.

Bild: Editierfenster – Programmcode für Callback-Methode

3.3.3 Instanz des Funktionsblocks übergeben


1. Legen Sie im Programmcode eine Instanz des Funktionsblocks an.
2. Übergeben Sie diese Instanz an das gewünschte Zählerprogramm.

Bild: Editierfenster – Übergabe der Instanz des Funktionsblocks (Beispiel: Strukturierter Text)

7
Festo CECC_3 Bibliothek

3.4 SetCounterOutput
Mit diesem Funktionsblock kann die Kontrolle der physikalischen Ausgänge konfiguriert werden. Bei
Übergabe der Kontrolle an einen Zähler erhalten Sie schnelle Ausgangsreaktionen in Abhängigkeit des
Zählerstands.
Standardmäßig werden alle Ausgänge durch das SPS-Programm gesteuert.

Bild: Funktionsblock SetCounterOutput

Eingang Datentyp Kommentar

wMask WORD Mit dieser Maske wird bitweise festgelegt, welche


Ausgänge X4.0 ... X4.7 jeweils durch das SPS-Programm
oder durch einen Zähler gesteuert werden.
Bit = 0: Der jeweilige Ausgang wird durch das SPS-
Programm gesteuert.
Bit = 1: Der jeweilige Ausgang wird durch einen Zähler
gesteuert.
Hinweis: Ein Ausgang darf nicht durch zwei Zähler
kontrolliert werden.
wEventValue WORD Bei Erreichen des Schwellenwerts werden die für den
Zähler freigegebenen Ausgänge mit diesem Wert
(wEventValue) gesetzt. Andernfalls sind die Ausgänge mit
dem invertierten Wert gesetzt.
iCounterIndex INT Zählerindex zur Bestimmung des betroffenen Zählers.
0: Zähler am ersten schnellen Eingang
1: Zähler am zweiten schnellen Eingang
2: Differenzzähler

Standardeinstellung: wMask = 0 = 2#00000000


Alle Ausgänge werden durch das SPS-Programm gesteuert.

8
Festo CECC_3 Bibliothek

3.5 SetOutputDelay
Mit Hilfe der Konfiguration durch den Funktionsblock SetCounterOutput wird das Ausgangssignal nach
einem Timer-Ereignis bestimmt. Die Ausgangsverzögerung ist die Zeit zwischen dem Timer-Ereignis und
der Änderung der physikalischen Ausgänge.

Physikalisches
Eingangssignal

xQ

Physikalisches
Ausgangssignal

Ausgangsverzögerung
Bild: Ausgangsverzögerung

Bild: Funktionsblock SetOutputDelay

Eingang Datentyp Kommentar

udiOutputDelay UDINT Ausgangsverzögerung in Mikrosekunden (µs), max.


8.073.246 µs.
iCounterIndex INT Zählerindex zur Bestimmung des betroffenen Zählers.
0: Zähler am ersten schnellen Eingang
1: Zähler am zweiten schnellen Eingang
2: Differenzzähler

9
Festo CECC_3 Bibliothek

3.6 GetPulseDuration
Die Pulsdauer an den schnellen Eingängen wird ständig ermittelt. Mit Hilfe des Funktionsblocks
GetPulseDuration können diese Werte ausgelesen werden.

Physikalisches
Eingangssignal

Dauer HighPulse

Dauer LowPulse

Periodendauer
Bild: Pulsdauer und Periodendauer

Die Periodendauer ist die Zeit zwischen den letzten beiden Eingangsimpulsen mit steigender Flanke an
einem schnellen Eingang.

Bild: Funktionsblock GetPulseDuration

Ein-/Ausgang Datentyp Kommentar

iCounterIndex INT Zählerindex zur Bestimmung des betroffenen


Zählers.
0: Zähler am ersten schnellen Eingang.
1: Zähler am zweiten schnellen Eingang.
udiHighPulseDuration UDINT Dauer zwischen der letzten steigenden und
danach fallenden Flanke in Mikrosekunden (µs).
xHighPulseDurationOverflow BOOL TRUE bei Überschreitung des Timer-Grenzwertes.
Dieser Grenzwert ist 8.073.246 µs.
udiLowPulseDuration UDINT Dauer zwischen der letzten fallenden und danach
steigenden Flanke in Mikrosekunden (µs).
xLowPulseDurationOverflow BOOL TRUE bei Überschreitung des Timer-Grenzwertes.
Dieser Grenzwert ist 8.073.246 µs.
udiCycleDuration UDINT Periodendauer in Mikrosekunden (µs).
Das ist die Zeit zwischen den letzten beiden
steigenden Flanken.

10
Festo CECC_3 Bibliothek

3.7 Beispiele
3.7.1 Einfacher Zähler
Programmierung des ersten schnellen Zählers mit Erkennung der steigenden Flanken am Eingangspin
X2.0.
Programmcode
actualValue: UDINT;
(*-----------------------------------------------------*)
CECC.FastCounter_CH1(xEnable:=TRUE);
actualValue:=CECC.FastCounter_CH1.udiCV;

3.7.2 Schwellenwert Ereignis


Programmierung eines Schwellenwert Ereignisses mit folgenden Bedingungen:
• Schwellenwert des zweiten schnellen Zählers = 500.
• Setzen des Ausgangs X4.5 genau 1.28 ms nach Erreichen des Schwellenwerts.
Programmcode
setCounterOutput: CECC.SetCounterOutput;
setOutputDelay: CECC.SetOutputDelay;
(*-----------------------------------------------------*)
IF NOT init THEN
init:=true;
setCounterOutput(wMask:=2#00100000, wEventValue:=2#00100000,
iCounterIndex:=1);
setCounterOutput(xExecute:=TRUE);
setOutputDelay(iCounterIndex:=1, udiOutputDelay:=1280);
setOutputDelay(xExecute:=TRUE);
END_IF

CECC.FastCounter_CH2(xEnable:=TRUE, udiPV:=500);
// Reset counter after event
IF FastCounter_CH2.xQ THEN
CECC.FastCounter_CH2(xReset:=TRUE);
CECC.FastCounter_CH2(xReset:=FALSE);
END_IF

Die Binärwerte von Ausgabe-Maske wMask und Ausgabewert wEventValue entsprechen der
Pinbezeichnung der Ausgänge.
– Bit 0 = Ausgang X4.0
– ...
– Bit 7 = Ausgang X4.7

3.7.3 Zeitmessung
Programm zur Erfassung der Zeit zwischen den letzten beiden steigenden Flanken am Pin X2.0.
Programmcode
getCycleDuration: CECC.GetCycleDuration;
(*-----------------------------------------------------*)
getCycleDuration(xExecute:=TRUE, iCounterIndex:=0);
deltaTime:= getCycleDuration.udiCycleDuration;

11
Festo CECC_3 Bibliothek

4 Allgemeine Funktionen
4.1 SetDebounceTime
Dieser Funktionsblock setzt die Entprellzeit getrennt für die schnellen und langsamen Eingänge.
Standardeinstellungen:
– Schneller Eingang: 1 µs
– Langsamer Eingang: 15 µs

Bild: Funktionsblock SetDebounceTime

Eingang Datentyp Kommentar

rDebounceTimeFastIn REAL Entprellzeit für schnelle Eingänge (Einheit: µs).


• Wählen Sie die Entprellzeit in Schritten von 0,5 µs
(Beispiele 1,5 µs; 4 µs).
rDebounceTimeSlowIn REAL Entprellzeit für langsame Eingänge (Einheit: µs).
• Wählen Sie die Entprellzeit in Schritten von 15 µs
(Beispiele 15 µs; 45 µs).

12
Festo CECC_3 Bibliothek

5 Netzwerkkonfiguration
5.1 GetNetworkConfiguration
Liest die aktuelle Netzwerkkonfiguration aus.

Bild: Funktionsblock GetNetworkConfiguration

Ein-/Ausgang Datentyp Kommentar

GetNetworkConfiguration SysTypes.RTS_IEC_RESULT Gibt den Laufzeitfehler zurück (runtime


system error code  CmpErrors.library)
pConfiguration POINTER TO Zeiger auf eine Struktur des Typs
NetworkConfiguration NetworkConfiguration, das die
Konfigurationsdaten enthält.

Die Netzwerkkonfiguration enthält die zuletzt fest vergebene IP-Adresse, auch bei Aktivierung
von DHCP.

5.2 SetNetworkConfiguration
Stellt die Netzwerkkonfiguration ein.

Bild: Funktionsblock SetNetworkConfiguration

Ein-/Ausgang Datentyp Kommentar

SetNetworkConfiguration SysTypes.RTS_IEC_RESULT Gibt den Laufzeitfehler zurück (runtime


system error code  CmpErrors.library)
pConfiguration POINTER TO Zeiger auf eine Struktur des Typs
NetworkConfiguration NetworkConfiguration, in das die
Konfigurationsdaten geschrieben werden.

Die Umstellung der IP wird erst wirksam, wenn der CECC neu eingeschaltet wurde.

13
Festo CECC_3 Bibliothek

5.3 Beispiel
In diesem Beispiel werden die Netzwerkeinstellungen geändert. Dazu werden als erstes die
Originaleinstellungen ausgelesen. Diese werden verändert, und anschließend geschrieben.
//read actual configuration
retVal:=CECC.GetNetworkConfiguration(ADR(config));

//set new configuration


config := actualConfig;
config.dhcp_enabled := TRUE;
config.dnsserver := 16#44441122;
config.domain := 'TestDomainName';
config.gateway := 16#11111122;
config.hostname := 'TestHostName';
config.ipAddress := 16#12341122;
config.subnetmask := 16#0000FFFF;

//write new configuration


retVal:=CECC.SetNetworkConfiguration(ADR(config));

Parameter Einstellung Kommentar

dhcp_enabled True Automatische Adressvergabe (DHCP) aktiv.


Falls keine Adresse vergeben werden kann, kommt die
statische Konfiguration zur Anwendung.
Statische Konfiguration:
Dnsserver 16#44441122 Adresse DNS Server:
0x22.0x11.0x44.0x44 (034.017.068.068)
Domain TestDomainName Name der Domäne
Gateway 16#11111122 Adresse Gateway:
0x22. 0x11. 0x11. 0x11 (034.017.017.017)
Hostname TestHostName Name des Geräts
ipAddress 16#12341122 Adresse des Geräts:
0x22.0x11.0x34.0x12 (034.017.054.018)
Subnetmask 16#0000FFFF Subnetz-Maske:
0xFF.0xFF.0x00.0x00 (255.255.000.000)

14
Festo CECC_3 Bibliothek

6 Diagnose
6.1 Funktionsblock GetDiagnosis
Mit diesem Funktionsblock werden alle Diagnosemeldungen des CECC ausgelesen.

Bild: Funktionsblock GetDiagnosis

Ausgang Datentyp Kommentar

eGlobalClass DiagClassifiction Global kritischste Fehlerklasse


( Enumeration DiagClassification).
dwGlobalBits DWORD Bit 0 ... 30: reserviert
Bit 31 = 1: CoDeSys Runtime läuft.
wEntryCount WORD Anzahl der Einträge in der Liste mit Diagnosemeldungen.
pEntries POINTER TO Zeiger auf eine Struktur des Typs DiagEntry, das eine Liste
DiagEntry mit Diagnosemeldungen enthält.
eError ERROR eError = 0: Auslesen der Fehlerliste erfolgreich.
eError = 605: Auslesen der Fehlerliste NICHT erfolgreich.
GETDIAGNOSIS_FAILED

6.2 DiagClassification Enumeration


Liste der Fehlerklassen, die im System auftreten können.
Name Wert Kommentar

DC_NO_ERROR 0 Kein Fehler.


DC_INFO 1 Information tritt auf.
DC_WARNING 2 Warnung tritt auf.
DC_ERROR 4 Fehler tritt auf.
DC_INFO_INACTIVE 8 Information zurückgesetzt.
DC_WARNING_INACTIVE 16 Warnung zurückgesetzt.
DC_ERROR_INACTIVE 32 Fehler zurückgesetzt.

6.3 STRUCT DiagEntry


Struktur eines Eintrags in der Liste mit Diagnosemeldungen.
Name Typ Kommentar

eClass DiagClassification Fehlerklasse ( DiagClassification Enumeration).


wErrorNumber WORD Fehlernummer ( Online-Hilfe des CECC).
sApplication STRING(32) Name der Applikation, welche den Fehler meldet.
sMessage STRING(64) Beschreibung des Fehlers.

15
Festo CECC_3 Bibliothek

6.4 Funktionsblock GetDeviceStatus


Mit diesem Funktionsblock kann der aktuelle globale Status des CECC ausgelesen werden.

Bild: Funktionsblock GetDeviceStatus

Ausgang Datentyp Kommentar

wErrorNumber WORD Fehlernummer des global kritischsten Fehlers.


eClass DiagClassifiction Global kritischste Fehlerklasse in der Liste mit
Diagnosemeldungen ( Enumeration DiagClassification).

6.5 Funktionsblock GetDeviceStatus_NT


Mit diesem Funktionsblock kann der aktuelle globale Status des CECC ausgelesen werden. Im Vergleich
mit GetDeviceStatus besitzt dieser Funktionsblock keinen Triggereingang.

Bild: Funktionsblock GetDeviceStatus_NT

Ausgang Datentyp Kommentar

wErrorNumber WORD Fehlernummer des global kritischsten Fehlers.


eClass DiagClassifiction Global kritischste Fehlerklasse in der Liste mit
Diagnosemeldungen ( Enumeration DiagClassification).

6.6 Event CECC System Fault


Dieses Ereignis wird aufgerufen, sobald ein Fehler oder eine Warnung im Gerät auftritt.
1. Registrieren Sie das Ereignis in einem IEC-Projekt.
2. Legen Sie eine Callback-Funktion an:
FUNCTION SystemFaultCallback : INT
VAR_INPUT
evtparam : POINTER TO CECC.EventParam;
END_VAR
VAR
systemfault : POINTER TO CECC.EVTPARAM_CECC_system_fault;
END_VAR
systemfault := evtparam^.pParameter;

3. Registrieren Sie diese Funktion in der Initialisierung des SPS-Programms.


res, handle : UDINT
handle := CECC.EventOpen(CECC.EVTID_CECC_system_fault, CECC.CMPID_CECC, res);
CECC.EventRegisterCallbackFunction(handle, ADR(SystemFaultCallback));

Alle Ereignisdaten sind im STRUCT EVTPARAM_CECC_system_fault enthalten.

16
Festo CECC_3 Bibliothek

6.7 STRUCT EVTPARAM_CECC_system_fault


Struktur für ein System Fehler Ereignis.
Dieses Ereignis tritt nur bei Warnungen und Fehlern auf, Informationen werden ausgefiltert.
Name Typ Kommentar

wErrorNumber WORD Fehlernummer ( Online-Hilfe des CECC).


eClass DiagClassifiction Fehlerklasse ( DiagClassification Enumeration).

17

Das könnte Ihnen auch gefallen