Работа с объектом Timer - непонятки
Добавлено: 01 сен 2021, 15:36
Работа с объектом Timer - непонятки
Панель MT8071iP
Решил использовать для отсчёта времени длительности некого процесса объект Timer в режиме On Dalay.
На окне разместил объект и все необбходимые составвляющие Таймера:
биты IN, TI, Q, R
Задал ячейки в LW:
PT - unsigned 32
ET - unsigned 32
PT задаю достаточно большое, что бы заведомо не достичь этого значения,
т.к. интересует собственно значение ET. Запускаю таймер и периодически в макросе пересчитываю
значение ET в значения Часов Минут Секунд, отображая их в соответсвующих полях.
Всё работает замечательно: время корректно считается, отображается, биты устанавливаются, таймер сбрасывается и запускается.
Это была проба работы с объектом.
А вот далее... Размещаю таймер в окне Common Window, задаю ячейки PT, ET и LW_bit для IN, TI, Q, R в LW - памяти.
PT, ET не отображается ни в каких окнах, задаются только в макросе при старте процесса. После запуска таймера
значение ET так же в макросе, пересчитывается в значения Часов Минут Секунд и отображается в другом окне (не Common Window)
через объекты Numeric. Так вот, оказалось что в таком варианте Таймер не считает. Пытался мониторить это дело через
EasyWatch - в ячейках PT и ET отображается какая то ерунда.
В ходе экспериментов пришёл к выводу что Таймер работает только тогда, когда активировано окно в котором размещён этот Таймер и элементы
отображающие значения PT и ET. Стоит "перебраться" в другое окно, как начинаются какие то глюки. В панель проект не загружал ( ещё не "приехала" ). Все манипуляции производил в режиме симуляции
в EasyBuilder(версия v6.03.01.239 build 2019.07.26 )
Что это? Глюк симулятора Билдера или особенность работы таймера? Или что не так делаю?
Панель MT8071iP
Решил использовать для отсчёта времени длительности некого процесса объект Timer в режиме On Dalay.
На окне разместил объект и все необбходимые составвляющие Таймера:
биты IN, TI, Q, R
Задал ячейки в LW:
PT - unsigned 32
ET - unsigned 32
PT задаю достаточно большое, что бы заведомо не достичь этого значения,
т.к. интересует собственно значение ET. Запускаю таймер и периодически в макросе пересчитываю
значение ET в значения Часов Минут Секунд, отображая их в соответсвующих полях.
Всё работает замечательно: время корректно считается, отображается, биты устанавливаются, таймер сбрасывается и запускается.
Это была проба работы с объектом.
А вот далее... Размещаю таймер в окне Common Window, задаю ячейки PT, ET и LW_bit для IN, TI, Q, R в LW - памяти.
PT, ET не отображается ни в каких окнах, задаются только в макросе при старте процесса. После запуска таймера
значение ET так же в макросе, пересчитывается в значения Часов Минут Секунд и отображается в другом окне (не Common Window)
через объекты Numeric. Так вот, оказалось что в таком варианте Таймер не считает. Пытался мониторить это дело через
EasyWatch - в ячейках PT и ET отображается какая то ерунда.
В ходе экспериментов пришёл к выводу что Таймер работает только тогда, когда активировано окно в котором размещён этот Таймер и элементы
отображающие значения PT и ET. Стоит "перебраться" в другое окно, как начинаются какие то глюки. В панель проект не загружал ( ещё не "приехала" ). Все манипуляции производил в режиме симуляции
в EasyBuilder(версия v6.03.01.239 build 2019.07.26 )
Что это? Глюк симулятора Билдера или особенность работы таймера? Или что не так делаю?