Step 7 Problem SFC68/SFC67

zwerg77

Level-2
Beiträge
102
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Jedesmal wenn ich beim Parameter "SD" oder "Var_ADDR" die Pointer Addresse zb. P#DB118.dbx0.0 Byte 4 eingebe, übernimmt mir Step 7 (V5.4) Automatisch die Symbolische Addresse des DB118.DBD0! Was ja auch in Ordnung ist! Wenn ich aber den SFC über den Parameter "REQ" aktiviere, bekomme ich immer die Fehlermeldung 80B1 (Fehler Any Pointer - Länge des Datenbereichs ist Falsch) Wenn ich aber beide Werte sprich Ziel und Sender in den Merkerbereich kopiere, also zb. statt P#DB118.dbx0.0 Byte 4 -- P#M110.0 Byte 4 funktioniert alles einwandfrei! Welches "Häckchen" in Step 7 hab ich da übersehen?
 
Das B in der Fehlermeldung bedeutet ja, "Fehler biem Kommunikationspartner". Ist dort der DB angelegt und der richtige Typ am adressierten DBD?

VAR_ADDR - Referenz auf den Bereich in der Partner-CPU, der gelesen werden soll. Sie müssen einen Datentyp wählen, der vom Kommunikationspartner unterstützt wird.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, das passt alles - habe einen DB wo er alle Daten von der Maschine ablegt - und die Partner CPU holt diese dann auf Befehl ab! Wie gesagt komisch ist nur im Merkerbereich geht alles ganz normal!
 
Wenn elementare Datentypen wie ein DINT als ANY übergeben werden, wird der Datentyp als solcher verwendet. In diesem Fall 16#07 für DINT. Packe in deinem DB das DINT in ein STRUCT und übergebe dieses als ANY. Der Compiler verwendet bei STRUCT, ARRAY oder UDT immer den Datentyp Byte (16#02).
 
Zurück
Oben