Показать сообщение отдельно
Старый 03.04.2016, 10:12   #254
M229
Новичок
 
Регистрация: Apr 2016
Сообщения: 27
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
По умолчанию Ответ: FBD чайникам

Здравствуйте! Имеется контроллер 2Gi и задача раз в сутки распознавать наступление периода регенерации фильтров. Время начала и конца процесса регенерации задается из меню. Желательно отслеживать процесс с точностью до секунды.

Я не придумал ничего лучше, чем переводить реальное время в кол-во секунд, прошедших с начала суток и сравнивать это число со временем начала и окончания процесса, переведя их в секунды тем же образом. В принципе, в таком варианте макрос работает, но меня не покидает мысль что есть решение элегантнее.

Еще переживаю по поводу того, как контроллер переварит все эти операции с long на каждом тике. Вот хочу спросить, зря я беспокоюсь или все же стоит облегчить ему задачу, например, сохраняя кол-во секунд начала и конца процесса в EEPROM и сравнивая их с реальным временем, а не вычисляя их каждые 100мс? Или можно как-то иначе производить вычисления конкретно в этом макросе хотя бы каждый 10-й тик?

Вложение 3237

Последний раз редактировалось Arsie, 25.03.2022 в 15:59
M229 вне форума   Ответить с цитированием