PDA

Просмотр полной версии : Плохо работает отладка схемы с макросами



maks.dav
20.07.2021, 18:19
Добрый день, не могу никак разобраться..
Стоит Owen Logic 1.20.272.
Добавил на схему 3 экземпляра макроса OperTimer, чтобы посчитать время наработки, в результате в эмуляторе время наработки не считает, постоянно 0 как для минут.
На входах ob_On - логическая "1". И ещё почему-то время наработки в часах и счетчик включения для каждого экземпляра макроса вообще отсутствуют, хотя на схеме они используются!
56129

P.S. Запускал отладку в окне редактора макроса, вручную перещелкивал секунды - всё отрабатывает.

capzap
20.07.2021, 18:46
56130как то так

Ревака Юрий
20.07.2021, 19:52
Добрый день, не могу никак разобраться..
Стоит Owen Logic 1.20.272.
Добавил на схему 3 экземпляра макроса OperTimer, чтобы посчитать время наработки, в результате в эмуляторе время наработки не считает, постоянно 0 как для минут.
На входах ob_On - логическая "1". И ещё почему-то время наработки в часах и счетчик включения для каждого экземпляра макроса вообще отсутствуют, хотя на схеме они используются!
56129

P.S. Запускал отладку в окне редактора макроса, вручную перещелкивал секунды - всё отрабатывает.

Добрый день. Назначьте выходы в логику или сделайте энергонезависимыми на время проверки.

maks.dav
20.07.2021, 20:48
56130как то так

Гуд программер, не понял что скрином хотел сказать, но может по вопросу чего скажешь?

maks.dav
20.07.2021, 21:07
Добрый день. Назначьте выходы в логику или сделайте энергонезависимыми на время проверки.

Спасибо, Юрий, за ответ. Переменные на выходах и так энергонезависимые. И что значит "назначить выходы в логику"?

capzap
20.07.2021, 21:28
Гуд программер, не понял что скрином хотел сказать, но может по вопросу чего скажешь?

потому что надо осмысленно подходить к делу, Вы подали на вход секунды и цикл контроллера сделали нереальным тоже секунду, видимо чтоб ускорить процесс, но и нарушить работу макроса, верните 100мс и сразу увидите что минуты считаются 56132

maks.dav
21.07.2021, 08:47
потому что надо осмысленно подходить к делу, Вы подали на вход секунды и цикл контроллера сделали нереальным тоже секунду, видимо чтоб ускорить процесс, но и нарушить работу макроса, верните 100мс и сразу увидите что минуты считаются 56132

А вот за этот дельный совет спасибо!.
Единственное не могу понять, почему инкрементный счётчик в макросе привязан ко времени, ладно, если бы это был какой-нибудь таймер, тут по любому импульсу просто добавляй единицу, импульсы то никуда не делись.

alexey001
03.08.2021, 23:02
Если нужен вариант просто с подсчетом импульсов - вот:
56354

Правда только сделал , тестил исключительно в симуляторе.

Макрос:
56355
56355