Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
11.10.2020
Размер:
3.04 Mб
Скачать

Taskkonfiguration...

Tabelle zum Definieren der System-Ereignis-Tasks

Jedes Ereignis wird in einer Tabellenzeile dargestellt:

Name und Beschreibung sind aus der Zielsystembeschreibung übernommen, in der Spalte aufgerufene POU kann der Projektbaustein eingetragen werden, der bei Eintreten des Ereignisses abgearbeitet werden soll.

Dazu kann über die Eingabehilfe (<F2>) oder manuell entweder der Name eines bereits existierenden Bausteins eingegeben werden (z.B. "PLC_PRG" oder "PRG.ACT1"), oder aber ein Name für einen noch nicht vorhandenen Baustein. Damit dieser neu im Projekt angelegt wird, wird die Schaltfläche Baustein erzeugen gedrückt. Daraufhin erscheint der Baustein im Object Organizer und enthält im Deklarationsteil automatisch die Definitionen der für das Ereignis eventuell nötigen Übergabeparameter.

Diese unter Umständen erforderliche Parametrierung eines Ereignisses wird unterhalb der Zuordnungsliste als Baustein auch grafisch dargestellt, sobald der entsprechende Tabelleneintrag markiert ist.

Der Aufruf eines Bausteins durch das Ereignis wird nur erfolgen, wenn der Eintrag aktiviert ist, d.h. wenn das Kontrollkästchen in der ersten Spalte mit einem Haken versehen ist (). Das

Aktivieren bzw. Deaktivieren erfolgt durch einen Mausklick auf das Kontrollkästchen.

6.7.3Taskkonfiguration im Online Modus

Im Online Modus wird der Status einer Task im Konfigurationsbaum angegeben und das zeitliche Verhalten kann über eine grafische Darstellung verfolgt werden. Voraussetzung ist, dass die Bibliotheken SysTaskInfo.lib und SysLibTime.lib im Projekt eingebunden sind. Die Bibliotheksfunktionen werden intern zur Auswertung der Tasklaufzeiten verwendet.

Statusanzeige im Konfigurationsbaum:

Für jede Task wird im Onlinebetrieb in eckigen Klammern hinter dem Taskeintrag der aktuelle Status sowie die Anzahl der bereits durchlaufenen Abarbeitungszyklen angezeigt: Der Aktualisierungszyklus für diese Anzeige entspricht dem des sonstigen Monitorings. Die möglichen Zustände:

Idle

nicht gelaufen seit dem letzten Update, gilt vor allem für Eventtasks

Running

mind. einmal gelaufen seit dem letzten Update

Stop

Gestoppt

6-50

CoDeSys V2.3

6 - Die Ressourcen

Stop on BP Gestoppt, Breakpoint in dieser Task erreicht

Stop on Error Fehler, z.B. Division durch Null, Page Fault etc.

Stop Watchdog Zykluszeitüberschreitung

Der Taskeintrag wird im Falle 'Stop on Error' und 'Stop Watchdog' rot.

Darstellung des zeitlichen Verhaltens der Tasks

Die Auslastung wird für alle Tasks in Balkendiagrammen im rechten Fensterteil angezeigt, wenn der Eintrag 'Taskkonfiguration' im Konfigurationsbaum markiert ist.

Anzeige der Taskauslastung im Online Modus

Pro Task wird ein Balken dargestellt, dessen Gesamtlänge die Zykluszeit wiedergibt. Unterhalb des Balkens sowie durch entsprechende Markierungen im Balken werden folgende Messwerte von links nach rechts dargestellt:

Min: die minimal gemessene Laufzeit in µs

Akt: die zuletzt gemessene Laufzeit in µs

Max: die maximal gemessene Laufzeit in µs

Zyklus: Gesamtlänge des Zyklus in µs

Jitter: maximal gemessener Jitter in µs

Die Schaltfläche Zurücksetzen dient dem Rücksetzen der Werte von Min., Max. und Jitter auf 0.

Der Maßstab der Darstellung (Mikrosekunden pro Pixel) kann über eine Auswahlliste bei Skalierung [µs/Pixel] eingestellt werden.

Zusätzliche Online-Funktionen im Kontextmenü bzw. im Menü 'Extras':

Welche Task wird bearbeitet?

Für die Ausführung gelten folgende Regeln:

Es wird die Task ausgeführt, deren Bedingung gilt, das heißt, wenn die bei Intervall angegebene Zeit abgelaufen ist, oder nach einer steigenden Flanke der bei Ereignis angegebenen Bedingungsvariable.

CoDeSys V2.3

6-51

Watchund Rezepturverwalter...

Haben mehrere Tasks eine gültige Bedingung, dann wird die Task mit der höchsten Priorität ausgeführt.

Haben mehrere Tasks eine gültige Bedingung und gleich hohe Priorität, dann wird die Task ausgeführt, die die längste Wartezeit hatte.

Die Abarbeitung der Programmaufrufe pro Task im Online Modus erfolgt gemäß der Reihenfolge ihrer Anordnung im Taskeditor von oben nach unten.

'Extras' 'Debug Task festlegen'

Bei Zielsystemen mit "preemptive multitasking" kann mit diesem Befehl im Online Modus in der Taskkonfiguration eine Task festgelegt werden, in der das "Debuggen" stattfinden soll. Im Konfigurationsbaum erscheint dann hinter dem Taskeintrag der Text "[DEBUG]". Die DebuggingFunktionalitäten beziehen sich dann nur auf diese Task. d.h. das Programm stoppt bei einem Breakpoint nur, wenn das Programm von der eingestellten Task durchlaufen wird.

Die Festlegung der Debug Task wird im Projekt gespeichert und bei Einloggen/Download automatisch wieder gesetzt.

'Extras' 'Task aus-/einschalten'

Mit diesem Befehl kann diejenige Task, die gerade in der Taskkonfiguration markiert ist, ausoder wieder eingeschaltet werden. Eine ausgeschaltete Task wird in der Abarbeitung des Programms nicht berücksichtigt. Im Konfigurationsbaum wird sie in hellgrauer Schrift als inaktiv angezeigt.

'Extras' 'Aufrufhierarchie'

Wenn beim Debuggen an einem Breakpoint gestoppt wird, kann über diesen Befehl die Aufrufhierarchie des betreffenden Bausteins ermittelt werden. Dazu muss die Debug-Task im Konfigurationsbaum der Taskkonfiguration selektiert sein. Es öffnet sich das Fenster Aufrufhierarchie von Task <Taskname> mit der Anzeige des Bausteins, in dem der Breakpoint liegt (z.B. "prog_x (2)" für Zeile 2 von Baustein prog_x). Danach folgen in rücklaufender Reihenfolge die Einträge für die aufrufenden Bausteinpositionen. Wird die Schaltfläche Gehe zu betätigt, springt der Fokus zur markierten Position.

6.8 Watchund Rezepturverwalter...

6.8.1Überblick

Mit Hilfe des Watchund Rezepturverwalters können die Werte von ausgesuchten Variablen angezeigt werden. Der Watchund Rezepturverwalter ermöglicht auch die Variablen mit bestimmten Werten vorzubelegen und auf einmal an die Steuerung zu übertragen (‘Rezeptur schreiben’). Genauso können aktuelle Werte der Steuerung als Vorbelegung in den Watchund Rezepturverwalter eingelesen und abgespeichert werden (‘Rezeptur lesen’). Hilfreich sind diese Funktionen z.B. für die Einstellung und Erfassung von Regelungsparametern.

Alle erzeugten Watchlisten (‘Einfügen’ ‘Neue Watchliste’) werden in der linken Spalte des Watchund Rezepturverwalter angezeigt und können mit einem Mausklick oder den Pfeiltasten ausgewählt werden. Im rechten Bereich des Watchund Rezepturverwalters werden die jeweils zugehörigen Variablen angezeigt.

Um mit dem Watchund Rezepturverwalter zu arbeiten, öffnen Sie das Objekt Watchund Rezepturverwalter in der Registerkarte Ressourcen im Object OrganizerWatchund Rezepturverwalter im Offline Modus.

6-52

CoDeSys V2.3

6 - Die Ressourcen

6.8.2Watchund Rezepturverwalter im Offline Modus

Im Offline Modus kann man im Watchund Rezepturverwalter mehrere Watchlisten durch den Befehl

‘Einfügen’ ‘Neue Watchliste’ erzeugen.

Zum Eingeben der zu beobachtenden Variablen kann eine Liste aller Variablen mit der Eingabehilfe aufgerufen werden oder man gibt die Variablen mit der Tastatur (Intellisense-Funktion verwendbar) nach folgender Notation ein:

<Bausteinname>.<Variablenname>

Bei globalen Variablen fehlt der Bausteinname. Sie beginnen mit einem Punkt. Der Variablenname kann wiederum mehrstufig sein. Adressen können direkt eingegeben werden.

Beispiel für eine mehrstufige Variable:

PLC_PRG.Instanz1.Instanz2.Struktur.Komponentenname

Beispiel für eine globale Variable:

.global1.component1

Die Variablen der Watchliste können mit konstanten Werten vorbelegt werden, d.h. im Online Modus können diese Werte mit dem Befehl ‘Extras’ ‘Rezeptur schreiben’ in die Variablen geschrieben werden. Dazu muss der konstante Wert mit := der Variablen zugewiesen werden:

Beispiel:

PLC_PRG.TIMER:=50

Im in der Abbildung gezeigten Beispiel ist die Variable PLC_PRG.ZAEHLER mit dem Wert 6 vorbelegt.

Beachten Sie dabei für Variablen vom Typ Array, Struktur oder Funktionsblockinstanz: Sie müssen die einzelnen Elemente explizit eingeben, um sie mit Werten belegen zu können. Beispiel: Sie haben eine Struktur STRU mit den Komponenten a, b, c definiert, sowie eine Strukturvariable struvar in PLC_PRG deklariert. Um a, b, c mit Werten vorzubelegen, müssen Sie in der Watchliste folgendermassen eingegeben werden:

PLC_PRG.struvar.a:=<Wert>

PLC_PRG.struvar.b:=<Wert>

PLC_PRG.struvar.c:=<Wert>

Entsprechend muss für Elemente eines Arrays die Vorbelegung vorgenommen werden: Beispiel für eine Array-Variable arr_var vom Typ ARRAY[0...6]

PLC_PRG.arr_var[0]:=<Wert> PLC_PRG.arr_var[1]:=<Wert>

...

Wenn ein Funktionsblock fb die Variablen x,y enthält und eine Instanzvariable fb_inst vom Typ fb in PLC_PRG deklariert ist, können x und y folgendermassen vorbelegt werden:

CoDeSys V2.3

6-53

Watchund Rezepturverwalter...

PLC_PRG.fb_inst.x:=<Wert>

PLC_PRG.fb_inst.y:=<Wert>

'Einfügen' 'Neue Watchliste'

Mit diesem Befehl fügen Sie im Offline Modus in den Watchund Rezepturverwalter eine neue Watchliste ein. Geben Sie im erscheinenden Dialog den gewünschten Namen der Watchliste ein.

'Extras' 'Watchliste Umbenennen'

Mit diesem Befehl kann der Name einer Watchliste im Watchund Rezepturverwalter geändert werden.

Geben Sie im erscheinenden Dialog den neuen Namen der Watchliste ein.

'Extras' 'Watchliste speichern'

Mit diesem Befehl kann eine Watchliste abgespeichert werden. Es öffnet sich der Standarddialog zum Speichern einer Datei. Der Dateiname ist vorbelegt mit dem Namen der Watchliste und erhält den Zusatz "*.wtc".

Die gespeicherte Watchliste kann mit 'Extras' 'Watchliste laden' wieder geladen werden.

'Extras' 'Watchliste laden'

Mit diesem Befehl kann eine abgespeicherte Watchliste wieder geladen werden. Es öffnet sich der Standarddialog zum Öffnen einer Datei. Wählen Sie die gewünschte Datei mit dem Zusatz "*.wtc". Im erscheinenden Dialog können Sie der Watchliste einen neuen Namen geben. Vorbelegt ist der Dateiname ohne Zusatz.

Mit 'Extras' 'Watchliste speichern' kann eine Watchliste abgespeichert werden.

6.8.3Watchund Rezepturverwalter im Online Modus

Im Online Modus werden die Werte der eingegebenen Variablen angezeigt.

Watchund Rezepturverwalter im Online Modus

Strukturierte Werte (Arrays, Strukturen oder Instanzen von Funktionsblöcken) sind durch ein Pluszeichen vor dem Bezeichner gekennzeichnet. Mit Mausklick auf das Pluszeichen oder Drücken der <Eingabetaste>, wird die Variable aufbzw. zugeklappt.

Ist eine Funktionsblock-Variable in der Watchliste markiert, so wird das zugehörige Kontextmenü um die beiden Menüpunkte 'Zoom' und 'Instanz öffnen' erweitert.

Um neue Variablen einzugeben, kann die Anzeige durch den Befehl 'Extra' 'Monitoring aktiv' ausgeschaltet werden. Nachdem die Variablen eingegeben sind, können Sie mit demselben Befehl wieder das Anzeigen der Werte aktivieren.

Im Offline Modus können Variablen mit konstanten Werten vorbelegt werden (durch Eingabe von := <Wert> nach der Variablen). Im Online Modus können nun diese Werte mit dem Befehl 'Extras' 'Rezeptur schreiben' in die Variablen geschrieben werden.

6-54

CoDeSys V2.3

Соседние файлы в папке 759-333