Synchronfehler: Überschreitung der Schachtelungstiefe bei Synchronfehler

sps_question

Level-1
Beiträge
12
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hi,

ich habe ein S7-Programm geschrieben. Soweit so gut. Jetzt rechne ich mit Ganzzahlen und wenn ich das Ergebnis in eine Variable transferiere, gibts nach dem Programm übertragen ein Problem. Die Steuerung geht in Stopp und zeigt SF an. Im Diagnose-Puffer steht "Stop durch Überschreiten der Schachtelungstiefe bei Synchronfehlern".

Was kann ich tun, denn ich versteh nur Bahnhof?!?

Vielen Dank für eure Hilfe.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Äh, ich glaube das war noch nicht die ursächliche Fehlermeldung. Ich habe jetzt noch ein paar OB's (z.b. 121) eingefügt. Ich glaube jetzt kommt eine detailierte Fehlermeldung.
Er springt an die Stelle mit dem Transfer-Befehl. Und im Diagnose-Puffer steht folgende Meldung:

"Bereichslängenfehler beim Schreiben"

und unter Zugriffsadresse: 16 (das ist mein Wort wo ich hin transferien will)

Es hat handelt sich hier um eine WORT und die nächste Variable hat die Adresse 18. Korrekt?

Habe ich zuviele Variabeln,sodass der Bereich voll ist?
 
Dann will er auf eine Adresse zugreifen, die es nicht gibt.
Entweder ist Dein DB zu kurz oder Du versuchst mit einem falschen DB zu arbeiten.
 
Korrekt, im betreffenden DB gehts nur bis Adresse 12. Generiert er das nicht von alleine?

wenn ich den DB öffne, kommt eine Meldung: " Es sind keine Parameter- und Lokalvariablen verfügbar, da ein Zeitstempelkonflikt zwischen der Schnittstelle des Bausteins und der Beschreibung der Parameter- und Lokalvariablennamen besteht."

Klingt nicht normal. ;-)
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
das hört sich ein bißchen so an, als hättest du dir einen FB geschrieben, nachträglich die Schnittstelle (IN, IN_OUT und/oder OUT) oder den STAT-Bereich geändert, diesen Baustein dann in die CPU übertragen ohne aber gleichzeitig den zuständigen Instanz-DB neu erzeugt zu haben und diesen dann eben auch nicht zur CPU geschickt zu haben ...

Gruß
Larry
 
Nein, generiert er nicht.

Kann es sein, das der aktuelle Baustein nicht in der SPS ist? Am besten nochmal übertragen! Ggf. zuvor den DB noch erweitern!
 
Wenn es ein Instanz-DB ist, dann ist das das natürlich so wie Larry das beschreibt. Du musst dann den Bausteinaufruf Deines FB's aktualisieren und dann FB und DB neu übertragen.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Klingt alles sehr einleuchtend, dort liegt wahrscheinlich das Problem. und jetzt die newbie-frage schlecht hin, wo/wie aktualisiere ich den DB? Find in den Menü's des FB's nur "DB initialisieren",aber das scheint nicht das richtige zu sein.:confused:
 
worum geht es denn nun?

Funktionsbaustein mit InstanzDB

oder

Global DB?

Beim Funktionsbaustein müssen FB und IDB baim aufruf deselbigen aktualisiert und übertragen werden.

Beim GlobalDB musst Du den DB entsprechend der benötigten Speicherplätze erweitern und übertragen.
 
Instanz-DB, und wo aktualisiere ich? Es gibt zwar, wenn ich den DB aufmache unter Ansicht dann Aktualisieren, aber ich denke, dass das nicht das Richtige ist.

Danke für die schnelle Hilfe...
 
Zuviel Werbung?
-> Hier kostenlos registrieren
dort wo der fb aufgerufen wird.
s7 erkennt das der db nicht zum aktuellen fb passt und der baustein wird rot makiert. rechte maustaste auf den fb und aufruf aktualisieren
 
Erfolge! Danke an Alle.

Für alle anderen Newbies. Der FB Aufruf erfolgt im entsprechenden OB, standardmäßig der OB1, da seht ihr dann die rote Zeile. Den Curser ans Zeilenende stellen und mit Enter bestätigen, dann kommt die benötigte Aufforderung zum "NEU generieren". Anschließend nur noch wie beschrieben den DB und FB übertragen ;-)
 
...Der FB Aufruf erfolgt im entsprechenden OB, standardmäßig der OB1, da seht ihr dann die rote Zeile....

Ich muss Dich enttäuschen, das kommt ganz auf die Programmstruktur an! Ein FB wird nicht zwangsweise im OB aufgerufen. Du kannst auch in einem FB oder FC einen weiteren FB aufrufen! Du musst nur für die Aktualisierung in den Baustein gehen, der den FB aufruft und dort muss dieser FB über rechte Maustaste "Aufruf aktualisieren" der FB und DB erneuert werden!

P.S.
Für Danke gibt es unten den Danke-Button!
 
Zurück
Oben