Просмотр полной версии : На ПР200 неправильно отображается время.
Viktor D
12.02.2026, 11:22
Прошу не ругать за незнание.
Проблема у меня такая: В пр 200 есть сервисные переменные - секунды, минуты, часы, день, месяц, год.
При запуске программы в симуляторе (в которой используется переменная "сутки") значения этих переменных совпадают с тем, что показывают часы компьютера.
При прошивке в ПР там отличие на очень много. Пробовал прошивать в разные экземпляры ПР - везде по разному.
Из за этого у меня не срабатывает вовремя подсчёт времени работы мотора за сутки. (Надо, что бы в 8 утра это было, а происходит рандомно).
Возможно ли что сбиты часы реального времени в ПР?
И если да, то как их откорректировать, что бы совпадали с реальным временем?
Прошу не ругать за незнание.
Проблема у меня такая: В пр 200 есть сервисные переменные - секунды, минуты, часы, день, месяц, год.
При запуске программы в симуляторе (в которой используется переменная "сутки") значения этих переменных совпадают с тем, что показывают часы компьютера.
При прошивке в ПР там отличие на очень много. Пробовал прошивать в разные экземпляры ПР - везде по разному.
Из за этого у меня не срабатывает вовремя подсчёт времени работы мотора за сутки. (Надо, что бы в 8 утра это было, а происходит рандомно).
Возможно ли что сбиты часы реального времени в ПР?
И если да, то как их откорректировать, что бы совпадали с реальным временем?
Подключите ПР к ПК и запишите текущее время.
88058
Также через системное меню ПР можно ввести дату-время
Есть такой документ, Руководство по эксплуатации, называется. Очень полезный документ
https://docs.owen.ru/product/pr200/80/110796#topic-110805
Viktor D
12.02.2026, 13:11
Спасибо!. Всё получилось.
Viktor D
15.02.2026, 19:01
Что бы не создавать новую тему....
Собственно говоря суть программы которую я разрабатываю - проверка количества пусков насоса и общего времени наработки за несколько суток и вывод значений на экран ПР200. В общем она работает. Но с одним "но". При отключении питания накопленные значения сбрасываются в ноль.
Может кто то уделить время и посмотреть что у меня не так?
Заранее благодарен
kondor3000
15.02.2026, 19:59
Что бы не создавать новую тему....
Собственно говоря суть программы которую я разрабатываю - проверка количества пусков насоса и общего времени наработки за несколько суток и вывод значений на экран ПР200. В общем она работает. Но с одним "но". При отключении питания накопленные значения сбрасываются в ноль.
Может кто то уделить время и посмотреть что у меня не так?
Заранее благодарен
Так не будет ничего сохраняться, переменная наработки должна быть и входом и выходом.
Здесь пример Опер-таймера с кол-вом включений и сохранением наработки 2 и 3 вариант https://owen.ru/forum/showthread.php?t=38721#8
А так же ФБ получения времени.
А здесь универсальный таймер с задачей времени https://owen.ru/forum/showthread.php?t=36900&page=4&p=461025&viewfull=1#post461025
Viktor D
15.02.2026, 20:43
Получается, я должен выходную переменную сделать энергонезависимой, вернуть её на вход ФБ и внутри ФБ её суммировать с тем значением,которое возникает при включении ПР200 (т.е. с 0)? И далее старт счёта уже будет с того значения, что было сохранено во внешней переменной? Так я понимаю?
Ваши примеры я посмотрел, проверил в ПР200. Работают. Что бы разобраться как - нужно время.:)
Спасибо за ответ.
kondor3000
15.02.2026, 20:50
Получается, я должен выходную переменную сделать энергонезависимой, вернуть её на вход ФБ и внутри ФБ её суммировать с тем значением,которое возникает при включении ПР200 (т.е. с 0)? И далее старт счёта уже будет с того значения, что было сохранено во внешней переменной? Так я понимаю?
Почти так, при включении она будет присваиваться (инициализироваться) в переменную, в которой считается наработка.
Viktor D
15.02.2026, 22:01
Спасибо за ответ.
Целочисленная 32 битная переменная способна хранить время в секундах около 130 лет. Поэтому можно было обойтись и одним счетчиком
В общем, ваш макрос может выглядеть вот так
88114
Ну, и у счетчик можно сделать энергонезависимым
Viktor D
21.02.2026, 14:06
Немного отвлекли по работе. Пришлось сделать счётчик наработки на 3 канала. Пока без запоминания при отключении.
Пробовал разобраться в примерах из 6 поста. Запутался. kondor3000 Не могли бы вы сделать, для понимания, на St простой ФБ с единственным счётчиком от входа "in" и запоминанием его результата при отключении ПР200.
kondor3000
21.02.2026, 14:36
Немного отвлекли по работе. Пришлось сделать счётчик наработки на 3 канала. Пока без запоминания при отключении.
Пробовал разобраться в примерах из 6 поста. Запутался. kondor3000 Не могли бы вы сделать, для понимания, на St простой ФБ с единственным счётчиком от входа "in" и запоминанием его результата при отключении ПР200.
А это что?
Опер таймер с сохранением наработки в кол-ва включений
3 вариант https://owen.ru/forum/showthread.php?t=38721#8
Эта строка и считает время в счётчике, в секундах
CTU1 (U :=ET<>ET_, N:=T_1, R:=Res OR R_Trig.Q, Q=>T1 ); ET_:=ET;
При изменении времени, каждую секунду ET увеличивается и не равно ET_, счётчик прибавляет 1, после этого доп. переменная ET_:=ET;
При включении время наработки, со входа Т_1 присваивается на вход N счётчика, при срабатывании R_Trig.Q (вкючается 1 раз при пуске),
с выхода Q посчитанные секунды записываются на выход времени наработки T1.
Viktor D
21.02.2026, 16:39
Наверное я не точно выразил свой вопрос. Хочется понять как именно происходит присвоение запомненной внешней переменной в счётчик.
Теперь из ваших пояснений получается, что происходит это в этой строке
IF R_Trig1.Q THEN T1:=T_1; N1:=N_1; x:=FALSE; END_IF
а инициализируется это
x: bool:=true; потом x:=false.
Вроде понятно. Теперь надо самому попробовать что то написать.
kondor3000
21.02.2026, 18:01
Наверное я не точно выразил свой вопрос. Хочется понять как именно происходит присвоение запомненной внешней переменной в счётчик.
Теперь из ваших пояснений получается, что происходит это в этой строке
а инициализируется это
потом x:=false.
Вроде понятно. Теперь надо самому попробовать что то написать.
Почти правильно, только в этой строке важно именно x:=FALSE; остальное можно выкинуть, а инициализация именно в импульсе на входе R счётчика, для присвоения в счётчик со входа N.
Powered by vBulletin® Version 4.2.3 Copyright © 2026 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot