Если сделать вот так...
Код:
VAR
	pointer: POINTER TO INT;
	integer: INT;
END_VAR

pointer := ADR(%IB1.0);
integer := pointer^;
... то ПЛК160 начинает лихорадить: он проглатывает программу, но при её запуске пару секунд думает, издаёт сигнал и останавливается. КДС при этом теряет соединение и разлогинивается. При повторных попытках КДС перед заливкой проги сообщает об отсутствии программы на контроллере. Стоит переделать тип указателя на BYTE, как всё встаёт на свои места. А странно здесь то, что Codesys не знает размер %IB1.0 и не сообщает об ошибке в программе.