Topic: DMD0007 MEMCOPY - Copy Memory Range |
|
The Copy Memory Range (MEMCOPY) instruction is used to copy bytes of data from one range of memory locations to another range of memory locations without regard to the format of the data in the memory locations. No data conversion will be applied during the copy operation. The source and destination ranges can overlap which allows implementation of things like value shifting and LIFO / FIFO queues or stacks. The Copy Memory Range instruction is the proper instruction to copy structures - for example Date / Time structures - making it especially useful in moving structures into and out of Guest Protocol Memory These are blocks of memory specically created for the use by the Do-more controller to handle external communication devices. For example the MI, MC, MIR and MHR memory blocks for communicating with Modbus clients, and DLX, DLY, DLC and DLV memory blocks for communicating with DirectLOGIC clients..
To move one or more memory locations with regard to the data format,
consider using the MOVE - Move Value
or MOVER - Move Range of Values
instruction.
|
|
Parameters:Note: Use the F9 key or click the 'three dot box' at the right edge of the parameter field to open the Default Element Selection Tool (the Element Picker or the Element Browser) or use the Down-Arrow key (Auto-Complete) on any parameter field to see a complete list of the memory locations that are valid for that parameter of the instruction.
Start of Source - specifies the first memory location of the data to copy. This can be any readable location (including structures).
Start of Destination - specifies the first memory location of the where the data is to be copied. This can be any writable location (including structures).
Range - specifies the number of bytes of data to copy by selecting one of the following five options:
|
|
Status Display:
The status display for the Copy Memory Range instruction will show the beginning and ending elements of the source and destinations ranges.
|
|
See Also:
MEMCOPY - Copy Memory Range
REFWRITE - Write Value Indirectly
STRCOPYR - Copy a Range of Strings
|
|
Rung Example:
|
|