Стартовая страница › Форумы › Понять, как работает ПО › Странное поведение модуля автоматического управления
- В этой теме 18 ответов, 3 участника, последнее обновление 6 лет, 1 месяц назад сделано Mikhail.
-
АвторСообщения
-
26.02.2018 в 14:28 #8567djbond07Участник
Добрый день! Произвожу отладку системы по trial ключу на модуль автоматического управления из под Windows. Почему-то при запуске модуля он понимает все триггеры, в логах пишет, что они срабатывают, но потом пишется сообщение:
«Отправка команд пропускается». И всё, ничего не происходит. Отправляется только одна единственная команда.
Первый раз такое, раньше всё отлично работало. Я даже не могу сказать после чего это началось, потому что принципиально ничего не делал. Доработал конфиг модуля и перезалил.
Пробовал старый конфиг ставить, то же самое. Подскажите, в чём может быть дело?
Добавка: В базе каналов управления КП есть и номера команд присвоены тоже- Эта тема была изменена 6 лет, 1 месяц назад от djbond07.
26.02.2018 в 15:14 #8569djbond07УчастникТакже только что протестировал на Raspberry Pi с лицензионным модулем, пишет то же самое: «sending commands skipped».
26.02.2018 в 17:20 #8571MikhailМодераторДобрый день!
Так задумано. Сразу после старта модуля команды пропускаются, потому что перезапуск Сервера приводил к массовой отправке команд. Чтобы команда триггера на значение канала отправилась, нужно сначала, чтобы её условие было false, а затем только true.26.02.2018 в 21:04 #8578djbond07УчастникХм…раньше как-то срабатывало. У меня в логике если уровень достиг 3м, то запускается насос. Но получается если систему не включали, и уровень больше 3м, то насос никогда не запустится, потому что триггер через 0 не пройдёт, всегда будет 1 во входном канале. Ну это грубый пример, таких триггеров может быть миллион.
Я не знаю почему у меня раньше всё работало, но в любом случае подскажите, пожалуйста, как мне быть? Может базу обнулять нужно каким-то образом при каждом перезапуске или ещё что?27.02.2018 в 10:53 #8581manjey73УчастникДля модуля было бы полезно выставлять параметр, применять команду после запуска или нет. Вроде давно об этом говорилось, потому что иногда нужно и так и эдак.
27.02.2018 в 17:21 #8582MikhailМодераторВ одной из версий логика была изменена, потому что после перезапуска Сервера отправляются массовые команды. Если это отправка емаил или СМС, получается довольно неприятно и дорого. Настройку можно было бы сделать, но на данный момент модернизация Модуля не планируется.
Сейчас надо подумать как решить эту проблему с помощью формул. Чтобы дорасчётный канал при запуске был 0, а после опроса датчика изменялся. Тогда триггер должен сработать.02.03.2018 в 14:14 #8605djbond07УчастникМожете подсказать, какую версию модуля взять и где, чтобы была старая логика?
02.03.2018 в 18:27 #8607MikhailМодераторСтарая версия, в которой была другая логика, более не поддерживается. Если данное поведение важно, то нужно его реализовать с помощью формул.
02.03.2018 в 22:08 #8608manjey73УчастникА в новой версии можно сделать отправку всех команд Модуля всего по одному каналу ?
или придется продублировать весь список.
Или например сделать однокраный импульс во втором канале не проблема. 1-й канал всегда оставляем пустым дорасчетным, во 2-ом канале делаем импульс Rtrig(NOT(Val(1))Натравливаем модуль на 2-й дорасчетный канал
А в Модуле ставим логическое И со 2-ым каналом
получится, нет ?
03.03.2018 в 09:48 #8609manjey73Участникне получится. Надо какой-то канал при запуске сделать постоянной лог 1. и тогда делать И. Причем наверное последний канал надо сделать 1, так как первый цикл вероятно пропустится.
03.03.2018 в 14:32 #8610manjey73УчастникМожно через TON сделать. TON(NOT(Val(пустой дорасчетный)),задержка с мс) и в модуле свести через И с нужными каналами.
Тогда 1 появится после задержки и если все каналы превышают произойдет сработка и в дальнейшем каналы будут отрабатывать.03.03.2018 в 17:12 #8611MikhailМодераторА в новой версии можно сделать отправку всех команд Модуля всего по одному каналу ?
Вопрос не ясен.
03.03.2018 в 17:54 #8612manjey73УчастникMikhail Вопрос был риторическим больше. Сделать один канал, по которому выполнять действия для всех введенных команд после загрузки системы.
В данном случае для отправки почты и смс этого лучше не делать.Но вот если необходимо постоянно отсылать данные на панель у примеру после перезагрузки сервера ? а значение канала который необходимо отправить не меняется.
04.03.2018 в 07:47 #8613manjey73УчастникПосмотрел вчера в Модуле, так и не появилось логических операций между каналами ?
Входные каналы — диапазон целых чисел — это что ? делать триггер сразу на несколько каналов ?
А вот в редактировании значений не мешало бы добавить Источник 1 или 2
И как раз Входные каналы на основной странице иметь возможность добавлять второй источник.Что-то типа Источник 1 — Оператор сравнения 1 — Аргумент 1 — Логическая операция
Источник 2 — Оператор сравнения 1 — Аргумент 2В будущем Источник может быть и не один. Например есть же 3И, 4И, 4ИЛИ и даже 4ИЛИ-НЕТ Для подобных вариантов логики Модуль мне кажется вполне мог бы помочь без создания формул и дополнительных дорасчетных каналов.
04.03.2018 в 08:21 #8614manjey73УчастникВ общем суть в том, что если у нас 100 каналов, которые надо заставить новым модулем отправлять после перезагрузке, нам придется создать 101 дополнительный канал и Модулем отслеживать новые 100 каналов. Вместо создания всего 1 дополнительного канала и отслеживанием Модулем все тех же старых 100 каналов.
я правильно понял, что иначе никак ?
-
АвторСообщения
- Вы должны авторизироваться для ответа в этой теме.