-> 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_FUNCTION
und 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_FUNCTION
Als 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