Триггер на событие в ModAutoControl

Стартовая страница Форумы Понять, как работает ПО Триггер на событие в ModAutoControl

Помечено: 

Просмотр 15 сообщений - с 46 по 60 (из 78 всего)
  • Автор
    Записи
  • #37107
    Mikhail
    Модератор

    Желательно предоставить ссылки на скриншоты. По текстовому описанию можно дать неправильные советы.

    #37127
    Sem13@nxt.ru
    Участник

    Здравствуйте.
    1. Триггер на изменение данных канала, определяет данные в канале — как 0, сама скада не реагирует на это состояние канала уведомлением.
    2. Триггер на событие не работает, если канал без объекта и этот объект не указан в триггере.
    По поводу запрета на уведомления хотя бы ночью.
    Сделал канал расчётный, туда сложил все каналы с которых приходят уведомления.
    (Val(10030)+Val(170)+Val(370)+Val(5770))/Val(1060), Val(1060) управление. Когда Val(1060) = 0, то канал не определён, то есть —, когда 1, то возвращается цифра обратно. Если происходит изменение какого либо канала из формулы, то срабатывает уведомление на изменение канала встроенное в скаду, а триггер на уведомление модуля автоуправления отправляет команду на отправку СМС.
    Может скоро будет обновление модуля и я могу подождать и не корячится?
    Или это нормальная работа модуля?

    #37129
    Sem13@nxt.ru
    Участник
    #37169
    Mikhail
    Модератор

    По поводу необходимости указывать объект — проверю.
    По поводу формулы для запрета отправки: в канале, через который отправляются СМС, задать выходную формулу: Val(1060) > 0 ? CmdData : null

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

    Попробуйте, пожалуйста, обновление.
    Триггер на событие работает?

    #37230
    Sem13@nxt.ru
    Участник

    Триггер работает.
    В общем у меня почти получилось сделать что хотел.
    То есть отправка смс отправляется теперь для графика 5/2 только в рабочее время, Val(10070) > 0 ? CmdData : null. 10070 как разрешающий канал на базе симулятора, а этим каналом управляет модуль автоуправления, спасибо Михаилу за это.
    Для графика 12/2, реализовал по такому же принципу, только использовал два канала управления и отправки. Выключение отправки происходит автоматически для всех типов уведомлений, кроме экстренных конечно.
    А вот как автоматически включать канал для графика 12/2, пока не понял.
    Логика вроде простая, если канал 1=2, то канал 2=0, далее в конце дня например в 20-00, делаем на канале 1=1, так же на канале 2=0, на следующий день делаем на канале 1=0, а на канале 2=2, то есть переворачиваем, но как это автоматически делать, пока не понял. Я поэтому и спрашивал, может ли модуль автоуправления отключать свои триггеры, например во многих автоуправлялках, в основном для андроида, есть какой триггер.

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

    как автоматически включать канал для графика 12/2

    Какая там должна быть логика, если бы Вы объясняли её не инженеру?

    #37335
    Sem13@nxt.ru
    Участник

    Извините за задержку, работы привалило.
    Триггер 1 включается, работает 2 дня и выключается, триггер 2 включается, работает следующие 2 дня и выключается.

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

    В общем, с помощью выходных формул канала, нужно отменять команды, если они отправлены в ненужное время.
    Формула Val(10030)+Val(170)+Val(370)+Val(5770))/Val(1060), скорее всего, может быть упрощена.

    #37352
    Sem13@nxt.ru
    Участник

    Сделал по другому.
    При появлении уведомления, модулем автоуправления отправляется команда, «РМУ 5/2;{EvDev}, {EvCnl}.», на канал для отправки СМС 10110.
    В канале 10110 для отправки СМС, выходная формула «Val(10070) > 0 ? CmdData : null»
    В канал 10070 посылаю команду модулем автоуправления 1 или 0, утром в 8ч30мин 1, вечером в 17ч35мин 0. Для 5/2 работает прекрасно, единственное не удобство, когда отправляю проект на исполнение, то на канале 10070 «—» и он запрещает отправку СМС, приходится в ручную ставить 1, если конечно сделал это в рабочее время.

    #37353
    manjey73
    Участник

    Во входной формуле что-то есть канала 10070 ?

    #37354
    Sem13@nxt.ru
    Участник

    Ничего нет.

    #37355
    manjey73
    Участник

    GetDefaultData(1) (или 0, или число) в зависимости что вы там хотите выставить

    В таблицу формул

    // Установить значение уставки по умолчанию. 
    // Для каналов типа Расчётный/выходной
    public CnlData GetDefaultData(double val)
    {
      return Stat() > 0 ? Data() : NewData(val, 1);
    }

    формула Михаила. я ее не придумывал 🙂 При перезапуске будет это значение, если вы его измените, будет та, что выставили

    #37356
    Sem13@nxt.ru
    Участник

    Полезная формула, но не для меня. Если GetDefaultData(0), то на 1 поменять командой не выходит. Возможно это специфика устройства симулятор, других устройств которые команды принимают у меня нет.

    #37359
    manjey73
    Участник

    А, так это канал симулятора?
    Если в расчетном управлять то формула выходная SetVal(CnlNum, Cmd)
    Модулю как-то все равно, в какой канал посылать 0 или 1

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