При использовании привязки переменных к памяти контроллера командой "АТ" перестаёт работать RETAIN. Записанные в регистры значения не сохраняются после перезагрузки контроллера. Привязка позволяет напрямую работать с регистрами MODBUS с разными форматами данных, без их конвертации что очень удобно. Если не использовать АТ, массив ModbusBuffer в RETAIN сохраняется.
В чем ошибка?

PROGRAM ModbusSlave
VAR
//ФБ Modbus Slave
fbTcpSlave : OCL.MB_TcpSlave;
END_VAR

VAR RETAIN
//Буфер MODBUS
ModbusBuffer AT %MW0:ARRAY [0..99] OF WORD;

//Регистр MODBUS в формате Real
Reg_REAL AT %MD1 :REAL;
END_VAR

//Программа MODBUS Slave
fbTcpSlave(xEnable:=TRUE,
pData:=ADR(ModbusBuffer),
szSize:=SIZEOF(ModbusBuffer),
);