Отображение последних корректных данных

Стартовая страница Форумы Понять, как работает ПО Отображение последних корректных данных

Просмотр 6 сообщений - с 1 по 6 (из 6 всего)
  • Автор
    Записи
  • #42850
    ivancf
    Участник

    Всем привет!
    Когда происходят ошибки в опросе или какие-либо проблемы со связью (статус канала уходит в 0), значения на мнемосхеме отображаются как — — — , возможно ли настроить средствами скады отображение последнего корректного значения?
    Нашел решение только через дублирующий канал в котором скриптом проверяю текущее состояние канала с предыдущим, но это не очень удобно.

    public double Zn(int sourceCnlNum)
    {
        if (Stat(sourceCnlNum) == 0) {
            return Val();
        } else if (Stat(sourceCnlNum) == 0 && PrevStat(sourceCnlNum) == 1) {
            return PrevVal(sourceCnlNum);
        } else {
            return Val(sourceCnlNum);
        }
    }

    Буду рад любому более удобному решению, в идеале тому, которое уже реализовано в скаде

    #42851
    manjey73
    Участник

    Если таких каналов не много, можно попробовать через словарь сделать формулу, тогда дополнительных каналов не потребуется, но не пробовал.

    #42852
    manjey73
    Участник

    Если честно, то от PrevVal я тоже ожидал по умолчанию значение, которое было со статусом больше 0 последним, независимо, сколько циклов Сервер прокрутил формулы.

    #42855
    Romiros
    Участник

    Попробуйте во входном канале написать входную формулу
    Stat()>0 ? Cnl : Val()

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

    Уточняю формулу:
    CnlStat > 0 ? CnlVal : Val()
    Она уже где-то была на форуме.

    #42866
    ivancf
    Участник

    Формула работает, всем спасибо

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