Hallo zusammen,
ich bräuchte bitte etwas Hilfe bei SCL S7-300. Das Problem habe ich soweit schon einkreisen können:
Ich verwende einen ANY-Pointer als aktuellen Eingangsparameter z.B. P#DB1.DBX0.0 BYTE 10 an einem FC.
Dieser FC sieht so aus:
Übersetzen lässt sich die SCL-Quelle problemlos.
Jedoch geht die SPS sofort in Stop, wenn die Zeile "int_var := Sicht.Anz;" abgearbeitet werden soll mit dem Hinweis,
dass ein DB nicht vorhanden ist (DB4098 ).
Kann mir jemand erklären woran das liegt?
Ich wollte ganz gern einfach nur in die Variable int_var die Anzahl der Bytes eintragen lassen für spätere Bearbeitungen.
Wie müsste ich dann vorgehen in SCL?
Vielen Dank
ich bräuchte bitte etwas Hilfe bei SCL S7-300. Das Problem habe ich soweit schon einkreisen können:
Ich verwende einen ANY-Pointer als aktuellen Eingangsparameter z.B. P#DB1.DBX0.0 BYTE 10 an einem FC.
Dieser FC sieht so aus:
Code:
FUNCTION FC001 : INT
VAR_INPUT
anyZeiger : ANY;
Sicht AT anyZeiger : STRUCT
Id : BYTE;
Typ : BYTE;
Anz : INT;
Dbn : INT;
Ptr : DWORD;
END_STRUCT;
END_VAR
VAR_TEMP
int_var : INT;
END_VAR
BEGIN
int_var := Sicht.Anz;
FC001 := 1;
END_FUNCTION
Jedoch geht die SPS sofort in Stop, wenn die Zeile "int_var := Sicht.Anz;" abgearbeitet werden soll mit dem Hinweis,
dass ein DB nicht vorhanden ist (DB4098 ).
Kann mir jemand erklären woran das liegt?
Ich wollte ganz gern einfach nur in die Variable int_var die Anzahl der Bytes eintragen lassen für spätere Bearbeitungen.
Wie müsste ich dann vorgehen in SCL?
Vielen Dank