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 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. 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. bedeutet, dass bei Missachten schwerer Personen- oder Sachschaden entstehen kann.

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

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

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

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

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

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.Textstellen, die spezielle Informationen enthalten. Zubehör: Angaben über notwendiges oder sinnvolles Zubehör

Zubehör: Angaben über notwendiges oder sinnvolles Zubehör zum Festo Produkt.Tipps und Verweise auf andere Informationsquellen. Umwelt: Informationen zum umweltschonenden Einsatz von Festo

Umwelt: Informationen zum umweltschonenden Einsatz von Festo Produkten.notwendiges oder sinnvolles Zubehör zum Festo Produkt. 1.4.2 Textkennzeichnungen 1. Ziffern kennzeichnen

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

Tabelle: Standard Ein-/Ausgänge der Funktionsblöcke Funktionsblöcke, die weder 'xEnable' noch

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.

Zählerstand, wenn der zugehörige Zähler aktiviert ist. Schnelle Eingänge werden mit 2 MHz abgetastet und erlauben

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

und erlauben eine maximale Eingangsfrequenz von ~200 kHz. Bild: Funktionsblock FastCounter_CH1 Ein-/Ausgang

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.

dekrementiert. Beide beeinflussen denselben Zähler. Schnelle Eingänge werden mit 2 MHz abgetastet und erlauben

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

und erlauben eine maximale Eingangsfrequenz von ~200 kHz. Bild: Funktionsblock FastCounter_DIFF Ein-/Ausgang

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

[POU] oder – Kontextmenü [Objekt hinzufügen] [POU]. Bild: Dialogfenster "POU hinzufügen" 3. Geben Sie

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

mit zugehöriger Methode "CounterEventHandler". Bild: Gerätefenster – CECC-LK mit implementierter

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.

ein, der bei dieser Methode ausgeführt werden soll. Bild: Editierfenster – Programmcode für Callback-Methode

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.

Sie diese Instanz an das gewünschte Zählerprogramm. Bild: Editierfenster – Übergabe der Instanz des

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.

werden alle Ausgänge durch das SPS-Programm gesteuert. Bild: Funktionsblock SetCounterOutput Eingang Datentyp

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

1: Zähler am zweiten schnellen Eingang 2: Differenzzähler 8 Standardeinstellung: wMask = 0 = 2#00000000 Alle

8

Standardeinstellung: wMask = 0 = 2#00000000 Alle Ausgänge werden durch das SPS-Programm gesteuert.

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

Ausgangsverzögerung Bild: Ausgangsverzögerung Bild: Funktionsblock SetOutputDelay Eingang Datentyp
Ausgangsverzögerung Bild: Ausgangsverzögerung Bild: Funktionsblock SetOutputDelay Eingang Datentyp
Ausgangsverzögerung Bild: Ausgangsverzögerung Bild: Funktionsblock SetOutputDelay Eingang Datentyp
Ausgangsverzögerung Bild: Ausgangsverzögerung Bild: Funktionsblock SetOutputDelay Eingang Datentyp

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

Eingangssignal Dauer HighPulse Dauer LowPulse Periodendauer Bild: Pulsdauer und Periodendauer Die

Periodendauer

Bild: Pulsdauer und Periodendauer

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

mit steigender Flanke an einem schnellen Eingang. Bild: Funktionsblock GetPulseDuration Ein-/Ausgang

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

CECC.FastCounter_CH2(xReset:=FALSE); END_IF Die Binärwerte von Ausgabe-Maske wMask und Ausgabewert

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

– Schneller Eingang: 1 µs – Langsamer Eingang: 15 µs Bild: Funktionsblock SetDebounceTime Eingang Datentyp

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.

Liest die aktuelle Netzwerkkonfiguration aus. Bild: Funktionsblock GetNetworkConfiguration Ein-/Ausgang

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 NetworkConfiguration

Zeiger auf eine Struktur des Typs NetworkConfiguration, das die Konfigurationsdaten enthält.

Die Netzwerkkonfiguration enthält die zuletzt fest vergebene IP-Adresse, auch bei Aktivierung von DHCP.NetworkConfiguration, das die Konfigurationsdaten enthält. 5.2 SetNetworkConfiguration Stellt die Netzwerkkonfiguration

5.2 SetNetworkConfiguration

Stellt die Netzwerkkonfiguration ein.

Stellt die Netzwerkkonfiguration ein. Bild: Funktionsblock SetNetworkConfiguration Ein-/Ausgang

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 NetworkConfiguration

Zeiger auf eine Struktur des Typs NetworkConfiguration, in das die Konfigurationsdaten geschrieben werden.

Die Umstellung der IP wird erst wirksam, wenn der CECC neu eingeschaltet wurde.Zeiger auf eine Struktur des Typs NetworkConfiguration, in das die Konfigurationsdaten geschrieben werden. 13

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.

werden alle Diagnosemeldungen des CECC ausgelesen. Bild: Funktionsblock GetDiagnosis Ausgang Datentyp

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 mit Diagnosemeldungen enthält.

DiagEntry

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.

kann der aktuelle globale Status des CECC ausgelesen werden. Bild: Funktionsblock GetDeviceStatus Ausgang Datentyp

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.

besitzt dieser Funktionsblock keinen Triggereingang. Bild: Funktionsblock GetDeviceStatus_NT Ausgang Datentyp

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));

ADR(SystemFaultCallback)); 16 Alle Ereignisdaten sind im STRUCT

16

Alle Ereignisdaten sind im STRUCT EVTPARAM_CECC_system_fault enthalten.

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