Betrifft welche Produkte?
ESP-DDS2-P (Global Drive PLC Developer Studio Version 1.x, 2.0, 2.1)
Wie sieht die Reaktion aus?
In der
Taskkonfiguration (Register
Resourcen) ist eine ereignisgesteuerte Task definiert, die in Abhängigkeit von einer Systemvariablen gestartet werden soll. Wird die Systemvariable TRUE, wird diese Task aber nicht abgearbeitet.
Beispiel:
Eine ereignisgesteuerte Task soll durch den digitalen Eingang E1 gestartet werden. Obwohl der digitale Eingang TRUE (eingeschaltet) ist, wird der am Task angehängte Programmbaustein nicht ausgeführt.
Wann tritt das Problem auf?
Der Systembaustein und damit die Systemvariable, die die ereignisgesteuerte Task starten soll, werden nur in dieser ereignisgesteuerten Task verwendet. Abhängig von der DDS-Version unterscheidet sich die Prozessabbilderstellung für diesen Systembaustein:
- DDS V1.x: Es wird kein Prozessabbild für den Systembaustein erstellt.
- ab DDS V2.0: Das Prozessabbild wird durch die ereignisgesteuerte Task erstellt. Eine Aktualisierung des Prozessabbilds erfolgt nur, wenn die Task aufgerufen wird. Die ereignisgesteuerte Task wird aber nur aufgerufen, wenn im Prozessabbild der Systemvariablen eine positive Flanke erkannt wird.
D.h. in beiden Fällen wird das Prozessabbild der Systemvariablen nicht aktualisiert und damit wird die ereignisgesteuerte Task nicht gestartet.
Diagnosemöglichkeiten?
Prüfen Sie im Dialog
Prozessabbild-Erstellung (Register
Resourcen>Prozeßabbild), ob ein Prozessabbild für den Systembaustein dieser Systemvariablen erstellt wird, und ob es in der Task erstellt wird, die durch diese Systemvariable gestartet werden soll.
Kurzfristige Maßnahmen/Empfehlungen?
Programmieren Sie eine Anweisung mit der Systemvariablen in einem Baustein, der durch eine zeitgesteuerte Anwender-Task bzw. der zyklischen Task aufgerufen wird. Diese Task ist dann verantwortlich für die Erstellung des Prozessabbilds dieser Systemvariablen.
Bewertung:
Diese Funktionseinschränkung wird spätestens bei der Inbetriebnahme erkannt, da aufgrund der Funktionseinschränkung eine ereignisgesteuerte Task durch die Systemvariable nicht gestartet wird. Ereignisgesteuerte Tasks werden eher selten definiert.