Да, действительно получается что перезапись происходит из-за присваивания переменной значения (пусть даже такого же что уже она имеет).
У меня оно выглядит как: в локальных переменных есть булевая - к ней привязана кнопка. Нужно по нажатию кнопки выставлять определённый бит в байте контроллера. Использую следующую строку:
Code
if ((bool)'Loc_Connection.CN1_sw_on'){'Regul.CN1_cmd_on' = 1;}else{'Regul.CN1_cmd_on' = 0;}
Поэтому получается что переменная в контроллере перезаписывается в любом случае.
Наверное придётся добавлять проверку на текущее состояние переменной и присваивать только отличающееся значение. - тоже не получится, если переменная изменится внутри контроллера, то она перезапишется из PS так как будет отличаться... надо подумать как это реализовать.