Zähler-Funktionsbausteine des Systems

Ab Version 2.3.56 können beim Kompilieren alter Projekte folgende Fehlermeldungen auftreten.

Fehler: Nicht genügend selbsthaltende Zähler für den Compiler reserviert. Systemregister 5 oder 6 ändern! oder Fehler: Nicht genügend nicht selbsthaltende Zähler für den Compiler reserviert. Systemregister 5 oder 6 ändern!

Der Grund dafür ist, dass Sie ab Version 2.3.56 Funktionsbausteininstanzen in den Selbsthalte- oder Nichtselbsthaltebereich legen können. Dabei vergibt der Compiler für jede VAR_RETAIN-Instanz des Funktionsbausteins CT_FB jeweils einen Systemzähler aus dem Bereich für Zeitgeber/Zähler von der oberen Grenze bis zum Beginn des Selbsthaltebereichs (Systemregister 6). Für jede Instanz der Klasse VAR vergibt der Compiler jeweils einen Systemzähler vom Ende des Nichtselbsthaltebereiches (Wert der Systemregister 6 – 1) bis zur Anfangsnummer für den Zähler (Systemregister 5). Sind die Systemregister 5 oder 6 so eingestellt, dass der zu belegende Bereich nicht verfügbar ist, erscheint eine der oben genannten Fehlermeldungen. Es müssen die Systemregister 5 oder 6 entsprechend angepasst werden oder die Klasse der FB-Instanz geändert werden.

Beispiel

In einer früheren Version als Version 2.3.56 wurde der Zähler der Adresse 3071 zugewiesen, die im Selbsthaltebereich liegt. Ab Version 2.3.56 versucht der Compiler, den Zähler in den Nichtselbsthaltebereich zu legen. Er ist jedoch im Systemregister 5 oder 6 gesperrt.

Lösung: Systemregister 5 oder 6 ändern, um Nichtselbsthaltebereiche für den Zähler verfügbar zu machen.

oder

Die Klasse im Programmkopf ändern, um die Instanz in den Selbsthaltebereich zu legen.

Letzte Änderung am: 2021-09-27Feedback zu dieser SeitePanasonic Hotline