-> Hier kostenlos registrieren
Hallo zusammen,
folgendes Problem:
Aus einem S7-300 Projekt muss ich Bausteine für die nutzung in einer S7-1500 umwandeln.
In den alten Bausteinen wird ein UDT als INPUT Parameter an eine Funktion übergeben. Innerhalb der Funktion wird ein Any Pointer auf diese Struktur erzeugt, und der Pointer in einem DB gesichert.
Ein anderer Baustein lädt diesen Pointer und beschreibt den Speicherbereich mit gültigen Daten. Das ganze funktioniert auch schon so, wie ich mir das vorstelle.
Allerdings nicht mehr, wenn ich versuche den SCL Code für eine S7-1500 zu kompilieren.
Als beispiel hier mal folgender Baustein auf der S7-300:
	
	
	
		
und hier der leicht abgewandelte Code für die S7-1500:
	
	
	
		
Als Fehlermeldung erhalte ich hier aber:
Wo liegt bei mir jetzt der Denkfehler, bzw. wie kann ich in SCL auf einer S7-1500 einen Any Pointer auf eine Struktur erzeugen, welche als Input Parameter übergeben wird?
Vielen Dank schonmal im Vorraus
	
		
			
		
		
	
				
			folgendes Problem:
Aus einem S7-300 Projekt muss ich Bausteine für die nutzung in einer S7-1500 umwandeln.
In den alten Bausteinen wird ein UDT als INPUT Parameter an eine Funktion übergeben. Innerhalb der Funktion wird ein Any Pointer auf diese Struktur erzeugt, und der Pointer in einem DB gesichert.
Ein anderer Baustein lädt diesen Pointer und beschreibt den Speicherbereich mit gültigen Daten. Das ganze funktioniert auch schon so, wie ich mir das vorstelle.
Allerdings nicht mehr, wenn ich versuche den SCL Code für eine S7-1500 zu kompilieren.
Als beispiel hier mal folgender Baustein auf der S7-300:
		Code:
	
	FUNCTION FC100 : VOID
VAR_INPUT
    SESSION : tHSC_Session;
END_VAR
VAR_TEMP
    pSession : ANY;
END_VAR
    pSession := SESSION;
    
END_FUNCTIONund hier der leicht abgewandelte Code für die S7-1500:
		Code:
	
	FUNCTION "Test" : Void
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
   VAR_INPUT 
      SESSION : "tHSC_Session";
   END_VAR
   VAR_TEMP 
      pSession : Any;
   END_VAR
BEGIN
    #pSession := #SESSION;
END_FUNCTIONAls Fehlermeldung erhalte ich hier aber:
"Ungültige Zusweisung"
Wo liegt bei mir jetzt der Denkfehler, bzw. wie kann ich in SCL auf einer S7-1500 einen Any Pointer auf eine Struktur erzeugen, welche als Input Parameter übergeben wird?
Vielen Dank schonmal im Vorraus
 
	 
  
 
 
 
		

 
 
 
 
		 
 
		 
 
		 
 
		