Страница 2 из 6

Re: Периодически запуск сценариев

Добавлено: Ср мар 11, 2020 11:04 pm
xor
bonyfacci писал(а):
Вт мар 10, 2020 11:14 am
А подскажите пожалуйста, как сделать цикличный запуск сценария раз в секунду (всегда)?
1.создаем скрипт с именем, например, every1s

Код: Выделить всё

//script every1s
do what u want
setTimeOut('run_my_script',"rs('every1s');",1);
но это теоретически, ровно через секунду не получится, зависит от того, что в скрипте, от общей загрузки железа, и т.д.(
2.делаем через свой цикл

Re: Периодически запуск сценариев

Добавлено: Пт май 29, 2020 1:12 am
Bagir
Через секунду точно не выйдет. У меня есть задача, при которой нужно снимать показания с термодатчика как можно чаще. Сейчас вызываю самого себя через setTimeOut с задержкой 2 секунды. Весьма устойчиво, но есть вероятность остановки. Поэтому каждый раз дублирую еще один setTimeOut уже с задержкой 4 сек. И в модуле onNewMinute перезапускаю если нет таймеров.
Пока что оставил такой вариант. Править штатный код не хочется. И вешать свой цикл для отдельной не часто используемой задачи тоже нет смысла.

Re: Периодически запуск сценариев

Добавлено: Пт май 29, 2020 8:54 am
ZyaK
если не секрет зачем так часто опрашивать термодатчик?

Re: Периодически запуск сценариев

Добавлено: Пт май 29, 2020 4:05 pm
xor
ZyaK писал(а):
Пт май 29, 2020 8:54 am
если не секрет зачем так часто опрашивать термодатчик?
ну, например, при автоматизации самогонного аппарата. там динамика нужна

Re: Периодически запуск сценариев

Добавлено: Пт май 29, 2020 5:30 pm
Logrus
это в каком месте там температура меняется раз в секунду?
а использовать для этого таймер, а не цикл очень не оптимально, народ просто не представляет сколько там лишних движений
п.с. и зачем путать мдм с микроконтроллером?

Re: Периодически запуск сценариев

Добавлено: Пн июн 01, 2020 8:39 am
Bagir
Logrus писал(а):
Пт май 29, 2020 5:30 pm
это в каком месте там температура меняется раз в секунду?
В спиртовой колонне. Раз в две секунды, сервер на ПК, совершенно не напрягает. Лишних действий при использовании таймеров, да, согласен полностью, очень много. Что ставит под удар надежность. Правильнее будет написать цикл, и во время процесса запускать его. А потом тормозить. Как нибудь перепишу код.

Re: Периодически запуск сценариев

Добавлено: Пн июн 01, 2020 2:04 pm
Logrus
имхо правильней под это микроконтроллер у самого аппарата

Re: Периодически запуск сценариев

Добавлено: Пн июн 01, 2020 2:23 pm
Bagir
Logrus писал(а):
Пн июн 01, 2020 2:04 pm
имхо правильней под это микроконтроллер у самого аппарата
Думал над этим. Но по полученным данным у меня сразу рисуется график в реальном времени, а также идет контроль. Уже реализованы сообщения на браслет при отклонении параметров. Теперь не сижу по 4 часа наблюдая за стрелочкой. Можно позволить себе заниматься делами не недалеко от аппарата. В будущем планирую крутить кран охлаждения дефлегматора сервоприводом. Да и может ещё что приспособлю под процесс.
Если даже сделать микроконтроллер, то всё равно придется часто забирать с него данные для графиков и контроля. Тоже самое и получится.
Вариант с таймерами конечно тут не к черту. Сейчас обдумываю идею с циклом. Надо бы тут пример запилить.
Идея такая: Сделать цикл, который стартует и останавливается по команде Алисы и перенести код чтения датчиков в него. В итоге получится вариант для запуска кода с нужной частотой. Оформить всё это в класс, назвав его каким нибудь таймером периодических процессов. Вечерком подумаю как сделать универсальный вариант, чтобы объекты этого класса можно было использовать и для других целей.
Так то сам придумать не могу, где ещё нужен такой частый опрос чего либо. Ну может кому пригодиться.
Хотя от 15 секундного штатного таймера сам бы не отказался. Только очень не хочется оригинальный код трогать. Практика показала, так делать неудобно.

Re: Периодически запуск сценариев

Добавлено: Пн июн 01, 2020 4:11 pm
Logrus
Только очень не хочется оригинальный код трогать. Практика показала, так делать неудобно.
очень напряжно - согласен, но наоборот перестал обновляться и снялись ограничения по своим правкам ...

Re: Периодически запуск сценариев

Добавлено: Вт июн 02, 2020 12:21 am
xor
Bagir писал(а):
Пн июн 01, 2020 8:39 am
Logrus писал(а):
Пт май 29, 2020 5:30 pm
это в каком месте там температура меняется раз в секунду?
В спиртовой колонне. Раз в две секунды, сервер на ПК, совершенно не напрягает. Лишних действий при использовании таймеров, да, согласен полностью, очень много. Что ставит под удар надежность. Правильнее будет написать цикл, и во время процесса запускать его. А потом тормозить. Как нибудь перепишу код.
хе, угадал)) сам уже заказал себе оснастку к своему аппарату под дс1820. две секунды, по мне, слишком часто, но у меня бак большой. так что мне и обычных таймеров хватит, чтоб алиска крикнула, если что. Жалко, что плиткой индукционной управлять не могу. поэтому только контроль температуры в двух точках, ну воду еще можно включить

пс. чтение температуры с дс18б20 около 1 с, точность там дай бог, так что динамика будет видна и на больших интервалах, так что, меня и таймеры с их +/- 1с устроят. но это мой выбор. а циклом (старт/стоп) легко управлять штатно через свойства в зискомпьютер