Обнуление значений в каналах

Стартовая страница Форумы Взаимодействие с устройствами Modbus Обнуление значений в каналах

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Автор
    Сообщения
  • #25943
    SVS
    Участник

    Добрый день.
    При пропадании связи с устройством, опрашиваемым по Modbus TCP, значения в каналах обнуляются. Имеется ли возможность сохранять последние прочитанные значения, для отображения на представлении состояния до момента обрыва связи?

    #25944
    a80808
    Участник

    Писать копию сразу в дорасчетные каналы и читать из них. А перед записью проверять, что пришло с Модбас — 0 ничего не пишем, данные — пишем.

    #25945
    SVS
    Участник

    Проверка перед записью при помощи формулы в данном канале,можно пример?
    Возможно что 0 это нормальное показание, как быть в этом случае. Как вариант статус канала телесигнал, но тут неопределенность что произойдет раньше — формирование статуса канала телеизмерение или расчет дорасчетного.

    #25946
    SVS
    Участник

    В идеале было бы правильно коммуникатору обновлять данные только в случае их достоверности (статус 1). Если связи нет коммуникатору логично обновлять только статус.

    #25948
    manjey73
    Участник

    Было бы неплохо, если такая настройка была бы непосредственно у Опрос КП, а не целиком на весь Коммуникатор. Достаточно полезная вещь иногда, чем делать формулы.

    #25951
    a80808
    Участник

    Идеология МодБас регистров-защелок. Просто чек-бокс «держивать данные да/нет». как то так….

    #25954
    Mikhail
    Модератор

    Добрый день!
    Посмотрите здесь.

    #25956
    SVS
    Участник

    Спасибо!
    Помогло использование формулы CnlStat > 0 ? Cnl : Val(); 1 для Типа канала Телеизмерение, при это формула CnlStat > 0 ? Cnl : Val() не решает проблему.
    Поясните пожалуйста, что значит 1 после Тернарной операции.

    #25957
    manjey73
    Участник

    Это Статус канала всегда 1. После ; идет формула для статуса

    #25970
    Mikhail
    Модератор

    Тогда наиболее корректно CnlStat > 0 ? Cnl : Val(); CnlStat > 0 ? CnlStat : Stat()

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Вы должны авторизироваться для ответа в этой теме.