-> Hier kostenlos registrieren
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
	Ü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