При тестировании ПЛК 100 возникла не понятная ситуация. Тестировал MODBUS RTU. Программа простейшая, заключалась в чтении слов (переменные AD0, AD2, AD3, AD4) из устройства по адресам 0, 2, 3, 4 и запись слова прочитанного по адресу 3 в устройство по адресу 1 (AD1:=AD3). После подачи питания на ПЛК все идет «как надо». Т.е. я меняю в эмуляторе устройства (программа Modbus Slave) переменную по адресу 3, после чего соответственно меняется переменная по адресу 1. Для удобства у меня по адресу 0 находится значение 1, по адресу 2 значение 3, по адресу 3 значение 4, по адресу 4 значение 5. Соответственно по адресу 1 у меня значение 4. Через некоторое время у меня в устройство записывается значение которое находится по адресу 4, т.е. переменная AD4. Есть ли этому какое-то объяснение? Думал это происходит после подключения Online из CoDeSys V2.3, но потом выяснилось, что это происходит без CoDeSys. При просмотре данных по обмену, изменяется только 06 функция, т.к. записывает уже значение 5, а не 4. Как смещаются данные в контроллере можно посмотреть в файле. Получается следующее: AD0 не изменяется, в AD1 записывается AD4, в AD2 считывается 4, в AD3 – 5, в AD4 значение по адресу 0.