В проекте
CoDeSys надо подключить библиотеку
SysLibMem.lib в ней есть функции работы с памятью:
SysMemCpy() - копирование из одной области памяти в другую
SysMemMove() - тоже, но позволяет копировать с перекрытием
SysMemSet() - заполняет область памяти заданным значением
SysMemSwap() - переставляет байты местами
SysMemCmp() - сравнивает блоки памяти
SysMemFree() - освобождение занятой области
Обычно нужна
SysMemCpy, иногда
SysMemSet чтобы сразу очистить блок памяти
Во первых приемный буфер надо сделать байтовым чтобы легко работать с любыми данными:
rBuf: ARRAY[0..199]OF BYTE,
и пусть будет переменная
rVar: REALЧтобы скопировать из буфера в переменную 4 байта начиная например с 5-го (считая с 0) элемента массива:
SysMemCpy(ADR(rVar), ADR(rBuf[5]), 4);Обычно функции работы с памятью есть для всех целевых платформ, для всех типпов процессоров
С уважением, SAN