hallo
wenn wir davon ausgehen das die strukur und das array gleich viele bytes haben (so sollte es sein !)
dann kannst du mit einen enifachen datenkopieren mittels pointer das durchführen
hier ein kleinen entwurf (nicht getestet, habe das nur so herunter getippselt !)
-----------------------------------------------------
FUNCTION data_copy : BOOL
VAR_INPUT
Source : DWORD;
Destination : DWORD;
Count : UINT;
END_VAR
VAR
pSource,pDestination : POINTER TO BYTE ;
x : UINT ;
END_VAR
pSource := Source ;
pDestination := Destination ;
FOR x := 1 TO Count DO
pDestination^ := pSource^ ;
pSource := pSource + 1 ;
pDestination := pDestination + 1 ;
END_FOR
data_copy := TRUE;
----------------------------------------------------
das ganze rufst du dann folgend auf
data_copy(ADR(Source), ADR(Destination), SIZEOF(Source));
wobei source und destination jeweils dein array und struktur bzw umgekehrt sind
viel spass, damit