Programmatically assign COPY source & destination parameters

COPY(ADDR_OFS(REG_xxxx(File, Element), Offset), Destination, Length)
COPY(Source, ADDR_OFS(REG_xxxx(File, Element), Offset), Length)
COPY(ADDR_OFS(REG_xxxx(File, Element), Offset), ADDR_OFS(REG_xxxx(File, Element), Offset), Length)
COPY(REG_xxxx(File, Element + Offset), Destination, Length)
COPY(Source, REG_xxxx(File, Element + Offset), Length)
COPY(REG_xxxx(File, Element + Offset), REG_REAL(File, Element + Offset), Length)

How about make this a valid syntax to programmatically determine the COPY source and destination rather than a repetitive use of REG_REAL or REG_DINT or REG_DWORD (File, Element) to access registers most anywhere rather than only named variable table registers?
REG_xxxx could be REG_PNTR (new) or something to that nature rather than any of REG_REAL, REG_DINT or REG_DWORD.



Thanks for the idea! I can see how that would be a useful tool to have in User Programs. In the firmware, this concept poses some challenges as writing to register outside of the variable table such as axis parameters can be time-consuming, and we need each step to complete in one loop time.

What exactly are you trying to do? Have you looked at the image upload/download area? This allows you to upload/download a project from a PLC.



You’re welcome for the idea. Although at the time, there was no intent to write to an array of registers outside the variable table but only to read. However, to write to an array of parameters might be useful but would likely bring along with it other problems and concerns.

The upload/download area will be reviewed for whether it and its functionality will serve the purpose.