Betrifft welche Produkte?
ESP-DDS1-x (Drive PLC Developer Studio Version 1.4)
Wie sieht die Reaktion aus?
Nach dem Download des DDS-Projektes in das Zielsystem (die PLC) und dem Starten des Programms, wird der Baustein PLC_PRG nicht abgearbeitet. Dabei kann vom Zielsystem ein PEr Trip ausgelöst werden.
Wann tritt das Problem auf?
Das Problem tritt in Abhängigkeit von der Anzahl der im DDS-Projekt verwendeten Bausteine (Programm Organisations Einheiten = POE) auf, d.h. wenn die Anzahl der für die Bausteine vom DDS vergebenen Indizes 300 überschreitet.
Der Aufruf der einzelnen Bausteine erfolgt unter Verwendung von Indizes. Diese Indizes werden von DDS automatisch vergeben, wobei zwei Bausteine nicht den gleichen Index besitzen. Maximal stehen 350 Indizes zur Verfügung. Die Vergabe der Indizes erfolgt in drei Schritten:
1. Die Indizes von 350 abwärts bis 311 werden für spezielle Systemfunktionen reserviert.
2. Für alle anderen Bausteine (Ausnahme Baustein PLC_PRG) werden beginnend mit 1 die Indizes vergeben.
3. Mit einem Offset von 10 zum letzten vergebenen Index wird der Index für den Baustein PLC_PRG vergeben.
DDS prüft dabei für alle Bausteine, mit Ausnahme vom Baustein PLC_PRG, ob der zu vergebende Index noch frei ist. Ist der Index nicht frei, erfolgt eine Fehlermeldung.
Liegt der Index des Bausteins PLC_PRG in dem Bereich zwischen 311 und 350, dann tritt die oben beschriebene Reaktion auf. Dieser Fall tritt auf, wenn mindestens 301 Indizes verbraucht sind. Dabei ist folgendes zu berücksichtigen:
- für jeden Baustein vom Typ Funktionsbaustein werden zwei Indizes reserviert
- für jeden Baustein vom Typ Funktion bzw. Programm wird ein Index reserviert
- jede Struktur reserviert ebenfalls ein Index.
Diagnosemöglichkeiten?
Ergänzen Sie in dem Baustein PLC_PRG folgende Zählerfunktion: (Beispiel in AWL):
Deklaration der globalen Variablen:
g_nTest:INT;
Logik im Baustein PLC_PRG (beispielhaft in AWL):
LD g_nTest
ADD 1
ST g_nTest
Wird nach dem Starten des Programms der Wert der globalen Variablen nTest nicht erhöht, liegt die oben beschriebene Funktionseinschränkung vor.
Da nur die zyklische Task von der Funktionseinschränkung betroffen ist, kann diese Variable von einem Baustein einer Anwendungs-Task überwacht werden, und im Fehlerfall darauf reagiert werden.
Kurzfristige Maßnahmen/Empfehlungen?
Überprüfen Sie bei Verwendung des Drive PLC Developer Studio Version 1.4, ob der Baustein PLC_PRG abgearbeitet wird, z.B. durch die unter Diagnosemöglichkeiten beschriebene Maßnahme.
Mit der Software Drive PLC Developer Studio Version 2.x ist diese Funktionseinschränkung behoben. Bei Auftreten dieser Funktionseinschränkung wird empfohlen, ein Update auf die Version 2.x durchzuführen.
Bewertung:
Mit Nutzung der unter Diagnosemöglichkeiten beschriebenen Maßnahme, kann direkt nach dem Download bzw. nach dem Starten des Projektes diese Funktionseinschränkung erkannt werden. Ansonsten kann spätestens bei der Inbetriebnahme die Funktionseinschränkung erkannt werden.
Ein bestehendes DDS Projekt, bei dem diese Funktionseinschränkung nicht auftritt, wird weiterhin funktionieren, solange keine weiteren Bibliotheken, Bausteine bzw. Strukturen in das DDS-Projekt eingefügt werden.