Показать сообщение отдельно
Старый 19.08.2014, 17:02   #10
ailcat
Senior Member
 
Аватара для ailcat
 
Регистрация: Oct 2010
Адрес: Москва
Сообщения: 403
Благодарил(а): 29 раз(а)
Поблагодарили: 2 раз(а) в 2 сообщениях
По умолчанию Ответ: timstamp (не unix_time)

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


Цитата:
Сообщение от tvf Посмотреть сообщение
Да и бог с ним. Главное, что более поздему событию должно соответствовать большее значение переменной. Тогда операции сравнения будут работать корректно. Для применения в устройствах типа расписание или график вполне достаточно. Про корректность выполнения арифметических операция я вроде не говорил.
Для меня еще актуален UpTime (наработка, т.е. время между включением и сбоем/отключением) -
так что придется крутить третий макрос, вычисляющий разницу между двумя событиями, время которых сохранено в предлагаемом формате ts1984
ailcat вне форума   Ответить с цитированием