-> Hier kostenlos registrieren
Hallo Gemeinde,
ich habe eine Altanlage bekommen, die es zu erweitern gilt, allerdings herrscht aktuell Unklarheit, ob wir den korrekten Programmstand erhalten haben. Stutzig macht mich insbesondere folgendes:
Zwischen zwei S7-300-SPS gibt es mittels PUT/GET einen Datenaustausch. In beiden CPU sind die entsprechenden DBs angelegt, allerdings ist in der CPU mit der GET-Funktion der DB zu klein.
Der GET-Baustein soll 82 Byte aus der fremden Steuerung (DB241) in die eigene Steuerung (DB241) schreiben. In der fremden Steuerung ist der DB auch 82 Byte groß, in der eigenen Steuerung allerdings nur 54 Byte.
Ein Vergleich vor Ort ist aktuell nicht möglich und eine Simulation zu Hause warf mehr Fragen als Antworten auf. Im Internet habe ich leider auf Anhieb auch keine Aussage dazu gefunden, wie sich die Funktion verhält, wenn der Zielspeicherbereich zu klein für die Daten ist.
Was wäre hier das zu erwartende Verhalten, wenn dieser Code wie beschrieben in der CPU läuft? Werden die überschüssigen 28 Byte einfach ins Nirvana geschrieben und alles läuft weiter? Oder überprüft der GET-Baustein den Zielbereich und gibt einen Fehler aus? Geht evtl sogar die CPU in Stopp?
Gruß, Januar
ich habe eine Altanlage bekommen, die es zu erweitern gilt, allerdings herrscht aktuell Unklarheit, ob wir den korrekten Programmstand erhalten haben. Stutzig macht mich insbesondere folgendes:
Zwischen zwei S7-300-SPS gibt es mittels PUT/GET einen Datenaustausch. In beiden CPU sind die entsprechenden DBs angelegt, allerdings ist in der CPU mit der GET-Funktion der DB zu klein.
Der GET-Baustein soll 82 Byte aus der fremden Steuerung (DB241) in die eigene Steuerung (DB241) schreiben. In der fremden Steuerung ist der DB auch 82 Byte groß, in der eigenen Steuerung allerdings nur 54 Byte.
Ein Vergleich vor Ort ist aktuell nicht möglich und eine Simulation zu Hause warf mehr Fragen als Antworten auf. Im Internet habe ich leider auf Anhieb auch keine Aussage dazu gefunden, wie sich die Funktion verhält, wenn der Zielspeicherbereich zu klein für die Daten ist.
Was wäre hier das zu erwartende Verhalten, wenn dieser Code wie beschrieben in der CPU läuft? Werden die überschüssigen 28 Byte einfach ins Nirvana geschrieben und alles läuft weiter? Oder überprüft der GET-Baustein den Zielbereich und gibt einen Fehler aus? Geht evtl sogar die CPU in Stopp?
Gruß, Januar