Страница 1 из 1

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 01.02.2017{, 15:43}
VladimirBogdan
Добрый день, использую FLprog в своих проектах, очень удобная программа. 
Практики маловато, вследствие чего столкнулся с проблемой. 
Помогите советом, заранее спасибо за ответы.

Делаю обыкновенный таймер, задача - отсчитать заданное количество времени , после чего прозвучит звуковой сигнал.

Вывожу время на панель Nextion, управление кнопочное.

Начальные переменные в полях минут и секунд соответственно( 0:0 ), кнопками задаётся количество минут и секунд, которые нужно отсчитать.

При составлении алгоритма использую блоки генератора, сравнения и счётчики. 
Для сброса счётчика использую блок сравнения с переменной типа Integer = 0.
Сбрасывать счётчик необходимо по достижению нулевого значения, чтобы заново отсчитывать минуты (имитация хода времени на таймере).
Главная проблема в том что манипуляции с блоком сравнения и 
переменной Integer = 0 приводит к тому, что начальные переменные "ломают" весь построенный алгоритм.

Подскажите пожалуйста, как и с помощью каких блоков оптимально решить поставленную задачу.

Спасибо.

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 01.02.2017{, 18:47}
Олег
Для начала гляньте здесь картинку к пятому комментарию.

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 02.02.2017{, 13:12}
VladimirBogdan
Глянул, добавил промежуточные переменные. Не решило проблему.  

Ключевая проблема заключается в том, что что манипуляции с блоком сравнения и 
переменной Integer = 0 приводит к тому, что начальные переменные "ломают" весь построенный алгоритм.

Грубо говоря, нажатие кнопки сброса счётчика в 0, приводит к активизации блока сравнения и записи в табло "секунд" переменной с другим значением. Что в свою очередь ломает всю работу таймера.

Как лучше реализовать таймер?

Спасибо.

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 02.02.2017{, 16:40}
kiyota
VladimirBogdan  Дайте файл с вашим проектом попробую повозиться.

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 02.02.2017{, 17:03}
VladimirBogdan
В приложении проект, на первой плате я реализовал отображение времени от модуля DS1307 на панель Nextion.
На второй плате реализован секундомер.
Следующая отвечает за переключение между режимами (Часы/Таймер/Секундомер)
На 4 плате я хочу сделать алгоритм работы таймера, в этом и проблема(((

Спасибо за помощь!!!

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 02.02.2017{, 19:38}
kiyota
Простите,а часы реального времени , просто отображение текущего времени и в таймере они не участвуют ?
По подробнее о таймере (что от него требуется,диапазон,прямой или обратный отсчет ) и если можно файл от Nextion проекта .

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 02.02.2017{, 20:39}
VladimirBogdan
Часы реального времени в таймере не участвуют, просто отображают текущее время на первой странице панели.

Необходимо задавать на таймере Минуты, Секунды, потом нажать  кнопку (Пуск/Стоп),после чего таймер должен отсчитать заданное кол-во минут и секунд, после чего прозвенит пьезодинамик. + есть кнопка сброса.

В приложении файл для панели Nextion.

Добавлено (02.02.2017, 20:39)
---------------------------------------------
Файл

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 05.02.2017{, 19:26}
kiyota
Уважаемый VladimirBogdan . Изучив ваш таймер , обнаружил следующее:
1)Входа с подтягивающим резистором, подразумевает их замыкание на GND , поэтому 
   их нужно инвертировать .
2)У вас минимальная единица времени 1 секунда , почему бы не взять её у RTC и убрать целых 
   два генератора.
3)Управление секундомером может быть сделать из панели?иначе таймер и секундомер включаются 
  одновременно от кнопки 2.
Ну в общем высылаю вам не много переделанный ваш проект. Будут вопросы спрашивайте всегда откликнусь .

Проблемы построения алгоритма работы таймера. Нужна помощь

Добавлено: 07.03.2017{, 11:04}
VladimirBogdan
Большое спасибо за помощь))) Всё very wonderful !!!