Стартовая страница › Форумы › Понять, как работает ПО › Триггер на событие в ModAutoControl
Помечено: ModAutoControl
- В этой теме 77 ответов, 6 участников, последнее обновление 7 месяцев назад сделано
Sem13@nxt.ru.
-
АвторЗаписи
-
07.03.2025 в 12:22 #37107
MikhailМодераторЖелательно предоставить ссылки на скриншоты. По текстовому описанию можно дать неправильные советы.
07.03.2025 в 15:11 #37127Sem13@nxt.ru
УчастникЗдравствуйте.
1. Триггер на изменение данных канала, определяет данные в канале — как 0, сама скада не реагирует на это состояние канала уведомлением.
2. Триггер на событие не работает, если канал без объекта и этот объект не указан в триггере.
По поводу запрета на уведомления хотя бы ночью.
Сделал канал расчётный, туда сложил все каналы с которых приходят уведомления.
(Val(10030)+Val(170)+Val(370)+Val(5770))/Val(1060), Val(1060) управление. Когда Val(1060) = 0, то канал не определён, то есть —, когда 1, то возвращается цифра обратно. Если происходит изменение какого либо канала из формулы, то срабатывает уведомление на изменение канала встроенное в скаду, а триггер на уведомление модуля автоуправления отправляет команду на отправку СМС.
Может скоро будет обновление модуля и я могу подождать и не корячится?
Или это нормальная работа модуля?07.03.2025 в 15:21 #37129Sem13@nxt.ru
УчастникСсылка та же https://disk.yandex.ru/d/IzlXTcGfEtX36Q
10.03.2025 в 14:35 #37169
MikhailМодераторПо поводу необходимости указывать объект — проверю.
По поводу формулы для запрета отправки: в канале, через который отправляются СМС, задать выходную формулу:Val(1060) > 0 ? CmdData : null11.03.2025 в 14:42 #37213
MikhailМодераторПопробуйте, пожалуйста, обновление.
Триггер на событие работает?13.03.2025 в 08:41 #37230Sem13@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, то есть переворачиваем, но как это автоматически делать, пока не понял. Я поэтому и спрашивал, может ли модуль автоуправления отключать свои триггеры, например во многих автоуправлялках, в основном для андроида, есть какой триггер.13.03.2025 в 15:05 #37252
MikhailМодераторкак автоматически включать канал для графика 12/2
Какая там должна быть логика, если бы Вы объясняли её не инженеру?
18.03.2025 в 15:12 #37335Sem13@nxt.ru
УчастникИзвините за задержку, работы привалило.
Триггер 1 включается, работает 2 дня и выключается, триггер 2 включается, работает следующие 2 дня и выключается.19.03.2025 в 13:06 #37343
MikhailМодераторВ общем, с помощью выходных формул канала, нужно отменять команды, если они отправлены в ненужное время.
ФормулаVal(10030)+Val(170)+Val(370)+Val(5770))/Val(1060), скорее всего, может быть упрощена.19.03.2025 в 15:01 #37352Sem13@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, если конечно сделал это в рабочее время.19.03.2025 в 15:18 #37353
manjey73УчастникВо входной формуле что-то есть канала 10070 ?
19.03.2025 в 15:39 #37354Sem13@nxt.ru
УчастникНичего нет.
19.03.2025 в 16:13 #37355
manjey73УчастникGetDefaultData(1)(или 0, или число) в зависимости что вы там хотите выставитьВ таблицу формул
// Установить значение уставки по умолчанию. // Для каналов типа Расчётный/выходной public CnlData GetDefaultData(double val) { return Stat() > 0 ? Data() : NewData(val, 1); }формула Михаила. я ее не придумывал 🙂 При перезапуске будет это значение, если вы его измените, будет та, что выставили
19.03.2025 в 16:52 #37356Sem13@nxt.ru
УчастникПолезная формула, но не для меня. Если GetDefaultData(0), то на 1 поменять командой не выходит. Возможно это специфика устройства симулятор, других устройств которые команды принимают у меня нет.
19.03.2025 в 18:50 #37359
manjey73УчастникА, так это канал симулятора?
Если в расчетном управлять то формула выходная SetVal(CnlNum, Cmd)
Модулю как-то все равно, в какой канал посылать 0 или 1 -
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.