Following up on derickloo's question about input mapping...
I am used to being able to declare an input at a given memory address, then using a memcpy function to map a larger input area to get all of the inputs mapped at once. For example:
An input IO Block which has 392 bytes of process data:
VAR_GLOBAL
InputDataStart AT %I*: WORD;
InputData:ARRAY[0..392] OF BYTE;
END_VAR
//Copy the block of memory with length 392 bytes starting with the InputDataStart to the InputData Array
MEMCPY(destAddr:=ADR(GVL.InputData) , srcAddr:=ADR(GVL.InputDataStart) , n:=392 );
Or is the only way to individually painstakingly map each and every byte?