Цитата:
Сообщение от tvf
Боюсь что здесь Arsie прав. Если не ошибаюсь, то сам лоджик сделан по принципу транслятора <...> Включение блока в библиотеку однозначно увеличивает размер ядра. И ядро и сама программа используют одну и ту же память <...>
|
Arsie однозначно прав в том, что включение этих функций как блоков FBD однозначно займет энергонезависимую память контроллера (это порядка 120-140 байт памяти программ на FBD упаковки и чуть меньше на FBD распаковки, не считая "обвязку" интерпретатора, не зависящую от вида FBD).
Вполне естественно, что они будут "откушены" от памяти программ (сократив её на несколько FBD), что может быть весьма актуально для "малых" контроллеров типа Pixel
Другое дело, что, в случае использования - мой макрос потребует на порядок больше памяти (как памяти программ - минимум в 32 раза, так и оперативной - где-то в 8 раз) и, естетственно, времени. Но, что неоспоримо - макрос отбирает её только когда используется в программе, а не всегда...
Цитата:
Сообщение от tvf
Да и бог с ним. Главное, что более поздему событию должно соответствовать большее значение переменной. Тогда операции сравнения будут работать корректно. Для применения в устройствах типа расписание или график вполне достаточно. Про корректность выполнения арифметических операция я вроде не говорил.
|
Для меня еще актуален UpTime (наработка, т.е. время между включением и сбоем/отключением) -
так что придется крутить третий макрос, вычисляющий разницу между двумя событиями, время которых сохранено в предлагаемом формате ts1984