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

Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 03 фев 2022, 15:15
i.miroshnichenko
Всем доброго времени суток!
Как можно реализовать накопление времени?
К примеру, необходимо замерять время горения форсунки за месяц, она может находиться в двух состояниях "вкл" и "выкл", используется битовая адресная метка.
Есть ли встроенные средства для накопления времени по включениям бита?
И если можно только через макрос - какой алгоритм будет оптимальным по производительности?
Триггер на включение бита и суммирование секунд через макрос - пойдет?
Или лучше макрос, тикающий каждую секунду: проверить, включен ли бит -> если включен, то прибавить прибавить счетчик секунд?
Используется панель cMT2108X.

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 03 фев 2022, 15:30
ArtemPM
i.miroshnichenko писал(а):Всем доброго времени суток!
Как можно реализовать накопление времени?
К примеру, необходимо замерять время горения форсунки за месяц, она может находиться в двух состояниях "вкл" и "выкл", используется битовая адресная метка.
Есть ли встроенные средства для накопления времени по включениям бита?
И если можно только через макрос - какой алгоритм будет оптимальным по производительности?
Триггер на включение бита и суммирование секунд через макрос - пойдет?
Или лучше макрос, тикающий каждую секунду: проверить, включен ли бит -> если включен, то прибавить прибавить счетчик секунд?
Используется панель cMT2108X.

Вы же сами знаете ответ, зачем задаете лишние вопросы? Неужели у вас такой нагруженный проект, что необходимо бороться за доли процента производительности?
Любой из этих вариантов панель прожуёт не задумываясь, поэтому просто используйте тот вариант, который вам удобен.

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 04 фев 2022, 17:47
dimensy
Как вариант
1. Через триггер определить включение горелки и запомнить время.
2. Через триггер определить выключение горелки и из текущего времени вычесть запомненное

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 07 фев 2022, 10:26
i.miroshnichenko
ArtemPM писал(а):Вы же сами знаете ответ, зачем задаете лишние вопросы? Неужели у вас такой нагруженный проект, что необходимо бороться за доли процента производительности?
Любой из этих вариантов панель прожуёт не задумываясь, поэтому просто используйте тот вариант, который вам удобен.


Нет, проект пока не сильно нагружен, и не раздут, скомпилированный весит 6.2МБ. Но он будет расти, т.к. на его основе будут последующие проекты.
Я только начинаю разбираться с панелью, поэтому ищу "бест практис" и встроенные средства, вдруг кто-то уже сталкивался.

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 07 фев 2022, 10:37
8bit
i.miroshnichenko писал(а):
Я только начинаю разбираться с панелью, поэтому ищу "бест практис" и встроенные средства, вдруг кто-то уже сталкивался.


Встроенное есть только для подсчета энергии (вкладка IIoT/Энергетика, глава 41.Energy в Руководстве пользователя EasyBuilder Pro)
Поэтому используйте любую подходящую "практис" .....

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 08 фев 2022, 10:14
i.miroshnichenko
dimensy писал(а):Как вариант
1. Через триггер определить включение горелки и запомнить время.
2. Через триггер определить выключение горелки и из текущего времени вычесть запомненное


Да, как теоретический вариант возможно. Но в моем проекте реализована возможность смены системного времени через интерфейс (требование заказчика), поэтому такой способ может привести к неопределенному поведению.
Все равно спасибо за совет!

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 08 фев 2022, 10:22
8bit
i.miroshnichenko писал(а):
dimensy писал(а):Как вариант
1. Через триггер определить включение горелки и запомнить время.
2. Через триггер определить выключение горелки и из текущего времени вычесть запомненное


Да, как теоретический вариант возможно. Но в моем проекте реализована возможность смены системного времени через интерфейс (требование заказчика), поэтому такой способ может привести к неопределенному поведению.
Все равно спасибо за совет!


Раз в минуту запускайте макрос который инкриминирует некий счетчик минут и тут же может вычислять из них часы, года.... без привязки к абсолютному времени ....

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 08 фев 2022, 21:18
dimensy
Тогда вопрос, LW-9030 - системное время отличается от местного времени (остальные регистры)?

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 09 фев 2022, 03:50
ArtemPM
dimensy писал(а):Тогда вопрос, LW-9030 - системное время отличается от местного времени (остальные регистры)?

LW9030 - это по сути UPTIME, то есть счетчик работы системы с момента последнего включения. При каждом запуске системы счет начинается с ноля.

Re: Накопление времени включения бита - как оптимальнее?

СообщениеДобавлено: 09 фев 2022, 10:41
8bit
i.miroshnichenko писал(а):Как можно реализовать накопление времени?


тут интереснее вопрос: как вы защитите этот счетчик от скрутки/обнуления ?