С формулой не получилось. Я понял в чём была моя ошибка и исправил её. Но как работает формула, я так и не понял. В примере скады для очистных сооружений есть описание этого скрипта :
Создадим канал «Активация регистр» с номером 300, типом Телеизмерение и сигналом 1. В коммуникаторе проверим, что сигнал 1 соответствует считываемому регистру.
Так как в панели используются биты 0-3, пропишем еще 4 канала (Активация 1 — 4, каналы 301 — 304) со следующими параметрами:
Тип: Дорасчётный ТИ
Исп. формулу: флаг установлен
Формула: GetBit(300,0) – для первой активации и по аналогии GetBit(300,1) для второй и т.д.
Таким образом, в каналах 301-304 мы получаем 0 или 1 в зависимости от того, установлен ли бит состояния Активации.
Так как в вашем шаблоне для МВ110-16Д уже существует канал 291 с сигналом 1 считывающий битовую маску с 52 регистра, его я оставил без изменения.
По аналогии с примером создаю три канала 308, 309, 310:
Тип: Дорасчётный ТИ (пробовал и Дорасчётный ТС)
Исп. формулу: флаг установлен
Формула: GetBit(291,0), GetBit(291,1), GetBit(291,2)
Хочу считать состояние первых трёх битов.
Но происходит следующее, при передаче в сервер и перезапуске мой 291 канал, в котором считывается битовая маска приобретает номер канала 310 и более не считывает битовую маску 52 регистра.