TIA Problem bei Put und Get

oORichOo

Level-1
Beiträge
56
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Leute,
Ich habe zwei CPU314C-2PN/DP die miteinander über PUT und GET Kommunizieren sollen.
Beide DBs auf beiden CPUs sind vorhanden, aber trotzdem gibt er mir den Fehler aus: "Zugriff auf lokalen Anwenderspeicher nicht möglich (z.B. Zugriff auf gelöschten DB)"
Wenn ich nur ein Bit Versende bzw. Empfange, dann funktioniert es.
Kann mir da irgendjemand sagen, wo das Problem ist?

Quellcode:
"GET_DB"(REQ:=#get_req,
ID:=W#16#0001,
NDR=>#get_ndr,
ERROR=>#get_error,
STATUS=>#get_status,
ADDR_1:=P#DB8.DBX0.0 BOOL 8,
RD_1:=P#DB8.DBX2.0 BOOL 8 );


IF #get_ndr OR #get_error THEN
#get_req:= 0;

ELSIF "Taktbit_10Hz" AND NOT #put_req AND NOT #get_req THEN
#get_req := 1;
END_IF;

"PUT_DB"(REQ:=#put_req,
ID:=W#16#0001,
DONE=>#put_done,
ERROR=>#put_error,
STATUS=>#put_status,
ADDR_1:=P#DB8.DBX2.0 BOOL 6,
SD_1:=P#DB8.DBX0.0 BOOL 6);
IF #put_done OR #put_error THEN
#put_req:= 0;

ELSIF "Taktbit_10Hz" AND NOT #put_req AND NOT #get_req THEN
#put_req := 1;
END_IF;


Schon mal Danke im Voraus.
 
Es steht in der Hilfe nicht explizit für die 300-er beschrieben, aber ich würde entfach mal 2 Byte oder auch 1 Word übertragen (auf beiden Seiten)
Soviel Platz muß ja eh se, denn auch bei Boolschen Variablen wird der Db immer bis zur Wordgrenze automatisch belegt.
Der Datenbereich sollte auf jeden Fall immer an Bytegrenzen, evtl. sogar Wordgrenzen liegen. Zumindest ein Test lohnt sich.

P#DB8.DBx2.0 Byte 2
 
Zurück
Oben