TIA PUT and GET | PUT funktioniert und GET nicht

kw_f14

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

ich habe mit PUT und GET Bausteine versucht die Kommunikation zwischen zwei S7 1500 PLC's auf zubauen.

PUT funktioniert von beiden Seiten. Bei GET werden keine Daten übertragen.

Ich erhalte keine Fehlermeldung. Alles ist grün und die Kommunikation steht. Die DB sind nicht optimiert und PUT und GET sind auf beiden Seiten freigegeben.

Für GET habe ich eine zweite Kommunikation aufgebaut.

Leider ohne Erfolg. Habt ihr evtl. einen Tipp für mich?

Schöne Grüße

Carlos
 
Moin kw_f14,

kurz zum Verständnis:
- Die PUT/GET-Bausteine hast Du nur auf einer CPU programmiert, oder?
- Der DB von der die GET-Funktion lesen soll ist vorhanden und groß genug?

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo MFreiberger,

ja, ich habe PUT und GET nur auf einer CPU programmiert. Muss man auf beiden CPU's die Bausteine Programmieren?
Ich habe in meinem DB 20 bool's und habe in dem PUT Baustein 3 Byte reserviert. Ich habe es auch mit einem Bool probiert. Leider ohne Erfolg.
 
Moin kw_f14,

Muss man auf beiden CPU's die Bausteine Programmieren?

Nein, GET und PUT müssen auf einer Seite programmiert werden. Das hast Du richtig gemacht.

Ich habe in meinem DB 20 bool's und habe in dem PUT Baustein 3 Byte reserviert. Ich habe es auch mit einem Bool probiert.

Na, 3 Byte sind doch 24 Bool. Also ist Dein DB zu klein (20 Bool)...

VG

MFreiberger
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Moin kw_f14

am PUT/GET-Baustein trägst Du ja nicht ein, was Du als Speicher reserviert hast, sondern was Du übertragen willst.
Das was Du übertragen willst muss als Speicherbereich vorhanden sein.

also: Du willst 10 Byte übertragen. Dann musst Du mind. einen 10Byte breiten, zusammenhängenden Speicherbereich haben (z.B. DB mit 10 Byte). Der Bereich kann aber auch größer sein, das wäre dann die Reserve. An die PU/GET-Funktion muss jetzt der Datenbereich angetragen werden, den Du übertragen willst (die 10 Byte).

Bei Dir hast Du 20 Bool in einem DB, willst aber 24 Bool (3 Byte) übertragen. Da greift der Zugriff dann für 4 Bool ins Leere.

VG

MFreiberger
 
Zurück
Oben