Step 7 FC wird nicht bearbeitet (zu viele Interne Variable ?)

Norton-61

Level-1
Beiträge
4
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo

Ich sitze gerade in Rußland und habe ein Problem.
Ich habe einen FC mit sehr vielen internen Variablen. (>500)
Der Baustein läuft normalerweise auf einer S7-300 Steuerung.
Hier habe ich nun eine S7-400 und der Baustein wird zwar im
OB1 aufgerufen, wird aber nicht bearbeitet.

Wenn ich die internen Variablen reduziere (<200) läuft der Baustein.

Was kann ich tun ?
Liegt es an der Bearbeitungszeit des Bausteins ?
Kann man die ändern ?
Oder gibt es eine Grenze der Anzahl der internen Variablen.
Wie zB. die Hardware E/A

Ich habe momentan keine Idee mehr as ich ändern oder testen könnte.

Gruß Norton-61
 
Ja die Grösse des L-Stacks ist begrenzt. Müsste unter Strg+D - Leistungsdazen zu finden sein. Wenn diese Grenze allerdings durch einen Baustein verletzt wird dürfte er eigentlich nicht eingespielt werden können. Und die Verschatelungsebene kann im OB1 eig. Kein Problem sein. Was steht den im Diagnosepuffer ?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo
Schaue ich morgen mal nach. Heute habe ich frei.
Man bekommt an sich gar keine Meldung.
Nur wenn man online den Baustein betrachtet merkt man das er nicht bearbeitet wird.
Erst mal Danke für den Hinweis.
 
Bei der 400er CPU lassen sich die Lokaldatengrößen der einzelnen Prioritätsklassen in der HW-Konfig (unter Speicher) einstellen.
Du könntest der Prioritätsklasse die du benötigst mehr Speicher geben.
 
Hallo Thomas
Habe ich schon gefunden. In der 300 CPU gibt es die Funktion nicht.
Ich weiß aber nicht an welcher Stelle ich den Wert erhöhen soll.
Es gibt 1 bis 29 Felder. In machen steht 256 in anderen 0
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Der OB1 hat die Prioritätsklasse 1.
Wenn du noch andere OBs verwendest (z.B. OB35) und dort auch mehr Lokaldaten benötigt werden, musst du diese Werte auch noch prüfen. Für manchen OBs ist bei der 400er die Priorität ebenfalls einstellbar.
 
Die Prioritätsklassen sind in der Onlinehilfe eigentlich recht gut erklärt.
Normalerweise sollte deine CPU eigentlich in Stop gehen, aber ich tippe mal, dass da OB121 vorhanden ist.

Gruß
Blockmove
 
Möglicherweise hat die alte(?) S7-400 auch nur ein Problem mit der Statusanzeige bei so vielen Variablen. Wie kommt man zu so einem Mammut-Baustein?
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Naja, 500 Bools nehmen weniger Speicher in Anspruch als eine Stringvariable ohne Längenangabe.
Bei älteren CPUs mit Voreinstellung 256 Bytes Lokaldaten ist nach einem String im Temp schon Schluss. Das Problem hatte ich auch schon mal.
 
Über die Speichergröße habe ich mich garnicht geäußert. Aber die Anzahl der Variablen, die ist doch sicherlich auch irgendwo begrenzt?
 
Hallo

So ich habe den Speicher für die Lokaldaten in den Bereichen 1 und 28 auf 800 erhöt.
Der Baustein wird jetzt bearbeitet und es steht kein Fehler mehr an.
Der Baustein ist so groß weil ich mit UDT´s von 80 Worten arbeite.
Für 6 Bereiche wird der aufgerufen und dann noch ein paar separate Worte und Bit´s.
dann kommt man auf ungefähr 560 Interne Variablen.

An alle : Danke für die tollen Tipps !!!

Norton-61
 
Zuviel Werbung?
-> Hier kostenlos registrieren
So ich habe den Speicher für die Lokaldaten in den Bereichen 1 und 28 auf 800 erhöt.
Der Baustein wird jetzt bearbeitet und es steht kein Fehler mehr an.
Der Baustein ist so groß weil ich mit UDT´s von 80 Worten arbeite.
Für 6 Bereiche wird der aufgerufen und dann noch ein paar separate Worte und Bit´s.
dann kommt man auf ungefähr 560 Interne Variablen.

So weit aufmachen wäre wohl garnicht nötig gewesen. Du wirst die 6 UDTs ja wohl kaum gleichzeitig in den Lokaldaten offen haben.
Hier siehst du wie das grundsätzlich funktioniert.
https://support.industry.siemens.co...adressierung-bei-s7-300-s7-400?dti=0&lc=de-WW
 
Zurück
Oben