FUNCTION FC100 : VOID
VAR_INPUT
SESSION : tHSC_Session;
END_VAR
VAR_TEMP
pSession : ANY;
END_VAR
pSession := SESSION;
END_FUNCTION
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
"Ungültige Zusweisung"
Wo gibst Du denn am letzten Baustein "den Pointer" bzw. die "Session" an? Woher weiß der FC1109, wohin er den temporären UDT zurück-kopieren muß?Ich brauche den Pointer also, damit ich nicht am letzten Baustein wieder die Session angeben muss (Weniger Aufwand / Fehler / Arbeit bei Inbetriebnahme der Funktionen bzw. Änderung ;-) )
"MyTempDB".Arbeitskopie := #SESSION;
Nein, nicht mehrfach aufrufen, sondern einen Baustein als "Wrapper" um die FC-Aufrufe legen und das Kopieren von #SESSION zur Arbeitskopie und zurück zu #SESSION im selben Baustein, und dazwischen die *_Add_*-Bausteine aufrufen:Zu Vorschlag A:
Bei deinem Vorschlag müsste ich den "Session-Bearbeiten"-FC mehrfach aufrufen?
FUNCTION FCxxx : VOID
VAR_IN_OUT
SESSION : tHSC_Session;
END_VAR
"MyTempDB".Arbeitskopie := SESSION; //Session-Start
HSC_Session_Add_Any(...);
HSC_Session_Add_Bool(...);
SESSION := "MyTempDB".Arbeitskopie; //Session-End
END_FUNCTION
FUNCTION "MOVE_ANY" : Void
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.1
VAR_INPUT
IN : Any;
END_VAR
VAR_OUTPUT
OUT : Any;
END_VAR
BEGIN
NETWORK
TITLE = Move Any Pointer
L P##IN;
LAR1;
L P##OUT;
LAR2;
L W[ AR1, P#0.0];
T W[ AR2, P#0.0];
L D[ AR1, P#2.0];
T D[ AR2, P#2.0];
L D[ AR1, P#6.0];
T D[ AR2, P#6.0];
NETWORK
TITLE = Set ENO
SET;
SAVE;
END_FUNCTION
FUNCTION "HSC_Session_Add_Start" : Void
{ S7_Optimized_Access := 'FALSE' }
VERSION : 0.0
VAR_IN_OUT
SESSION : "tHSC_Session";
END_VAR
VAR_TEMP
pSession : Any;
_pSession AT pSession : Struct
ID : Word;
NBR : Int;
DBN : Int;
PTR : DWord;
END_STRUCT;
END_VAR
BEGIN
(* Save the Pointer to the Session *)
"MOVE_ANY"(IN := #SESSION, OUT => #pSession);
"DB_HSC".Temp.pSession := #_pSession;
END_FUNCTION
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?