Стартовая страница › Форумы › Понять, как работает ПО › Вопрос по МАУ
Помечено: МАУ события
- В этой теме 42 ответа, 4 участника, последнее обновление 2 года, 2 месяца назад сделано
manjey73.
-
АвторЗаписи
-
23.04.2024 в 18:27 #32439
sergyltdУчастникДействительно полезная штука. В принципе я ожидал (поначалу) что этот функционал встроен в скаду изначально. Ну модуль так модуль. Так вот не могу разобраться с событиями.
Скрин
Есть дискретный канал. Формулой настроен так, что ==1 это тревога статус 23. Сам по себе работает — появляется и в нотифаере и в событиях. А вот если я ставлю триггер на событие в этом канале, не работает. Почту не посылает. Сама почта работает. Если этот же канал поставить триггер на изменение данных, все работает.
Что же, событие рожей не вышло? Ему (МАУ) какое-то специальное нужно? Или я где не то сделал?23.04.2024 в 20:04 #32440
manjey73УчастникНу так если канал ==1 то это ведь значение канала, а не значение события.
23.04.2024 в 20:18 #32442
MikhailМодераторСработку триггера проверяйте по журналу модуля. Если не срабатывает, значит какое-то условие не выполнено. Добавляйте условия в триггер по одному, чтобы определить, какое не выполняется. Либо откройте файл события утилитой (где-то на форуме есть ссылка) и проверьте, все ли поля события такие как в условии.
Когда Сервер генерирует событие, значение канала записывается в событие. Оно и проверяется.
24.04.2024 в 00:06 #32448
sergyltdУчастникВычислил. Такое же я уже встречал вроде бы в редакторе схем. Кажется это ошибка в коде. Не уверен правда.
Суть вот в чем. Если условие =1, то не работает. Если >0 работает. Я думаю вопрос в передаче условия в код. В коде должно быть ==, а в combobox =.
Хотя если передавать по индексу…..? Не знаю вобщем.
Во всяком случае утилитой все поля события проверил, все адекватно, как и ожидалось.24.04.2024 в 16:44 #32480
MikhailМодераторХочу уточнить. Некорректно работает условие на значение канала?
29.04.2024 в 20:42 #32568
MikhailМодераторТриггер на значение канала в событии, показанный на скриншоте https://ibb.co/XbY840S , работает нормально.
Если проблема не решилась, напишите, как её воспроизвести.
Для триггера на событие есть особенность — он в том числе реагирует на событие, которое записывается при отправке команды, если в канале стоит соответствующая галочка в маске событий.02.05.2024 в 13:52 #32629
manjey73УчастникДобавлю сюда вопрос.
Как заставить МАУ срабатывать при перезагрузке устройства, если не было Нормализации?
Помнится раньше при рестарте происходила сработка по каналам, потом это отключили чтобы первый раз не происходило сработки.
Но все-таки из практики это часто необходимо. Может вернете в качестве настройки для требуемых каналов?Пример. Сработка при превышении температуры > 25C, произошла сработка. Температура никуда не делась, как была выше 25 так и осталась. Происходит перезагрузка устройства (питание выключали, делали загрузку конфигурации) и все. Первая команда пропускается, а нужна, так как исполнительные устройства обнулились в том числе.
02.05.2024 в 15:52 #32630
manjey73УчастникИ еще такой момент, МАУ должен отправлять команду в устройство, когда оно уже готово после перезагрузки.
А то даже с расчетными каналами в логах МАУ есть команды, а в Коммуникаторе они отсутствуют. Возможно устройство еще не подключилось и команды уходят в пустоту.
02.05.2024 в 16:58 #32631
manjey73УчастникConnection refused [::ffff:127.0.0.1]:10000 2024-05-02 13:55:35 [orangepizero3][root][ERR] Невозможно запустить линии связи, потому что база конфигурации не получена 2024-05-02 13:55:52 [orangepizero3][root][ACT] Источник данных ScadaServer: Приём базы конфигурации 2024-05-02 13:55:52 [orangepizero3][root][ERR] Источник данных ScadaServer: Ошибка при проверке соединения с сервером: Connection refused [::ffff:127.0.0.1]:10000 2024-05-02 13:55:52 [orangepizero3][root][ERR] Невозможно запустить линии связи, потому что база конфигурации не получена 2024-05-02 13:56:02 [orangepizero3][root][ACT] Источник данных ScadaServer: Приём базы конфигурации 2024-05-02 13:56:03 [orangepizero3][root][ERR] Источник данных ScadaServer: Ошибка при проверке соединения с сервером: Connection refused [::ffff:127.0.0.1]:10000 2024-05-02 13:56:03 [orangepizero3][root][ERR] Невозможно запустить линии связи, потому что база конфигурации не получена 2024-05-02 13:56:13 [orangepizero3][root][ACT] Источник данных ScadaServer: Приём базы конфигурации 2024-05-02 13:56:13 [orangepizero3][root][ACT] Источник данных ScadaServer: База конфигурации получена успешноСобственно пока линия связи не запустилась, с командами проблема, уходят в пустоту…
03.05.2024 в 13:03 #32632
MikhailМодераторИ еще такой момент, МАУ должен отправлять команду в устройство, когда оно уже готово после перезагрузки.
С учётом этого требования, функция отправки команд после старта модуля не решит проблему.
Нужно попробовать такой подход: завести расчётные каналы, которые будут показывать желаемое положение реле. Каналы с реальным положением уже есть. В модуле настроить два триггера, каждый на данные двух каналов, чтобы отправлять команды, которые будут приводить в соответствие желаемое и фактическое положение. Для команд задать параметр повтора.
03.05.2024 в 13:49 #32633
manjey73УчастникСтавил задержку 0с, период 10с, повтор 1 раз
Команда похоже вообще не отправилась, или надо ставить количество повторов 2?Вообще команды отправляет же не сам МАУ а Сервер или МАУ отправляет команду в обход Сервера?
Почему команда уходит в пустоту?Давно заметил что на ARM компьютерах Коммуникатор пытается запуститься раньше Сервера или параллельно, и пока Сервер не загрузится висит ошибка запуска Коммуникатора.
Это как-то решить можно?Надо чтобы при нормальной работе команды отправлялись сразу, а уже если было выключение или перезагрузка или загрузка конфигурации тогда уже с задержкой.
В идеале чтобы задержки не было вообще, а отправка команды в устройство просто была по готовности устройства.03.05.2024 в 13:55 #32634
JurasskParkУчастникВ виндус можно сделать зависимость служб, что пока одна служба не запустится, вторая не стартует. Возможно, в Linux тоже есть такое.
03.05.2024 в 13:55 #32635
manjey73Участникз.ы. посмотрел дополнительные поля на последнем МАУ — на кой они все, если толку от них ноль? Собственно для чего все эти
Объекты, Устройства, Величины? Каков их смысл? В документации МАУ пока не добавлен.
А вот банального сравнения двух и более каналов как не было так и нет. Чтобы как раз сам МАУ мог контролировать ту же температуру и доступность устройства как банальный пример сравнения 2-х каналов.
И возможность добавлять для сравнения более 2-х каналов не помешала бы с указанием логики и группировки.
Например (канал1 И канал2) ИЛИ канал3
А так же добавить функцию ЕСЛИ, то есть после перезагрузки увидел ЕСЛИ то не смотри на отсутствие Нормализации — отправь все равно.И описания в окне настроек, которые можно самому заполнить. Давно писал об этом.
03.05.2024 в 13:57 #32636
manjey73Участник@JurasskPark в Linux тоже это есть и можно. Надо разобраться в правилах udev, было там такое. Только вот МАУ принадлежит Серверу и не является вроде службой отдельной, Сервер стартанул, МАУ отработал, а то, что Коммуникатор (ScadaComm) еще не поднялся его не волнует почему-то, хотя по всей логике должно волновать.
03.05.2024 в 13:59 #32637
manjey73УчастникНу и Коммуникатор может быть на удаленном ПК и стоять отдельно, в том числе и перегружаться.
Значит МАУ схватив какой-то триггер должен убеждаться в доступности Коммуникатора и зависимости его устройства и только тогда отправлять команду из очереди.Тут я не знаю механизма, как реализовано.
-
АвторЗаписи
- Для ответа в этой теме необходимо авторизоваться.