Границы, пределы, формулы

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

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

    Добрый день!
    Существует ли способ программно или формулами получить значение пределов(нижних, верхний, аварийных) выставленные в таблицах Scada-администратора в дорасчетный канал?

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

    Добрый день!
    Напрямую нет, а программно из серверного модуля Вы можете загрузить таблицы базы конфигурации и получить из них любую информацию:

    BaseTables baseTables = new BaseTables();
    BaseAdapter baseAdapter = new BaseAdapter();
    baseAdapter.Directory = Settings.BaseDATDir;
    
    foreach (DataTable dataTable in baseTables.AllTables)
    {
        baseAdapter.TableName = BaseTables.GetFileName(dataTable);
        baseAdapter.Fill(dataTable, false);
    }
    
    #12608
    talbutdinov
    Участник

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

    #12610
    Romiros
    Участник

    Если Вы используете табличное представление, то там раскраска цветом реализована автоматически. На схемах можно поставить в настройках динамической надписи цвет текста — status. Можно подсвечивать фон, можно границы. Также для других элементов.

    #12612
    talbutdinov
    Участник

    Видимо что-то я не так настраиваю, ничего не подсвечивается. Представление табличное. Настроил границы.
    https://yadi.sk/i/zQWHHpFgLOYkkg

    #12613
    manjey73
    Участник

    Я ковырял справочник — Типы Событий. Ну и надо формулы ставить сравнения и менять статус.
    Вы на каждый свой желательный цвет должны задать свой статус в справочнике и соответственно его задавать. Тогда цвет будет меняться.

    Насколько помню, по умолчанию реализовано только ВКЛ/ВЫКЛ и архивный не архивный.
    Остальное в вашем выборе.
    я тогда цвет менял в отображении событий.

    Вот в типах событий как раз и задается Цвет, которым надо отображать значение с нужным статусом.
    Вроде Михаил планировал дорабатывать этот механизм, так как были пожелания кроме Вкл/Выкл еще и промежуточные значение выставлять, типа Предупреждение, Авария и что-то еще… давно тема была по этому поводу.

    • Этот ответ был изменен 4 года, 9 месяцев назад от manjey73.
    • Этот ответ был изменен 4 года, 9 месяцев назад от manjey73.
    #12616
    Mikhail
    Модератор

    Если есть нижняя граница, то должна быть и верхняя, и наоборот, иначе не будет работать.

    #12621
    talbutdinov
    Участник

    У меня есть тэг, который показывает количество дней до поверки прибора учета. Мне нужно, чтобы если осталось 30 дней и менее оранжевым подсвечивалось, а если меньше 10 дней, то красным.

    Получается я в линии указываю, что нижняя граница 3650 дней, а верхняя граница за которую не желательно выходить 30 дней, а аварийная верхняя 10 дней. Но цветом не отмечается.

    Есть еще такие свойства линии, как:
    Запись событий
    Звук событий
    Событие по изменению
    События по неопределенному состоянию

    Может какое-то из них нужно включать? Что каждый из них означает?

    #12622
    manjey73
    Участник

    talbutdinov вы можете контролировать количество дней в драйвере и выставлять статус прямо в нем в формуле SetCurData, а в Справочнике Типы Событий создать свои типы с нужными цветами.
    Если правильно понимаю, типы событий со 101 как раз и реализованы через статус в драйвере Болида… И добавлены в Базу справочника, чтобы это работало.

    #12623
    talbutdinov
    Участник

    Если я все правильно понял, то я сам решаю где какому событию быть в виде цвета шрифта и задаю я его номером TagData[0].Stat = 2;

    Если так, то как мне получить настройки линии КП, у которой заданы как раз таки эти границы, чтобы мне уже было с чем сравнивать данное значение.

    #12624
    Romiros
    Участник

    Получается я в линии указываю, что нижняя граница 3650 дней, а верхняя граница за которую не желательно выходить 30 дней, а аварийная верхняя 10 дней. Но цветом не отмечается.

    Поставьте нижняя предупредительная 30, а нижняя аварийная 10. Я так понимаю у Вас идёт обратный отсчёт дней?

    #12628
    talbutdinov
    Участник

    Поставьте нижняя предупредительная 30, а нижняя аварийная 10. Я так понимаю у Вас идёт обратный отсчёт дней?

    Да идет обратный отсчет дней. Делал так и обратно, все равно либо черным как текущие, либо зеленым как архивные (

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

    Применительно к вашей задаче я бы не использовал границы, потому что термины завышение и занижение сюда не подходят.
    Создайте свои статусы в таблице Типы событий. И сделайте формулу для расчёта статуса.

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

    Если я все правильно понял, то я сам решаю где какому событию быть в виде цвета шрифта и задаю я его номером

    Устанавливать статус из драйвера не нужно. Лучше рассчитывать статус на уровне Сервера.

    #12631
    Romiros
    Участник

    Вообще по идее должно все работать, я реализовывал сигнализацию по превышению количества часов наработки стандартными границами. Правда на базе текущих данных, может с архивами что по другому.
    Хотя и с архивами тоже границы работали, по крайней мере цвета, события я не ставил. Может просто правильные формулы нужно прописать?

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