В глобальных переменных объявлен байтовый массив. Объявлено несколько указателей, так же глобально. При старте программы им присваивается адреса элементов массива. Пока указателей было 3 - все работало, когда добавил еще пяток - ПЛК стал перезагружаться по ватчдогу. К моменту перезагрузки запись по указателям еще не производилась.
Че бы так?
BUF: array[0..511] of byte;
P_COUNT: pointer to dint;
......
p_count := ADR( buf[ 100] );