Segnetics

Вернуться   Segnetics > База знаний > Библиотека макросов

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.11.2017, 15:47   #1
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 019
Благодарил(а): 15 раз(а)
Поблагодарили: 655 раз(а) в 599 сообщениях
По умолчанию Циклический таймер (Х сек. работаем, Y сек. не работаем)

Вопрос:

Готовый макрос циклического таймера существует?



Ответ:

"Циклические таймеры" - это не что иное, как автоматы состояний с времязадающей цепью. Проще всего их делать копипастом, это гораздо быстрее, чем искать нужный именно вас макрос.

Покажу на примере простейшего алгоритма: 300 секунд "работаем", 1 час "отдыхаем".

Для начала определимся со счётчиками. Интервал 300 сек легко посчитает обычный 16-тиразрядный счётчик, а вот час уже слишком велик для него, поэтому используем 32-хразрядный счётчик из библиотеки.

Для начала ставим два счётчика рядом. Ведь по условию, нужно отсчитать два интервала, 300 сек и 1 час. Два времени, два счётчика.




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




В принципе, всё готово. Однако в жизни эту систему нужно уметь останавливать, поэтому оформляем сигнал разрешения работы, который банально снимает сигналы сброса с обоих счётчиков.

Вложения
Тип файла: psl Циклосчёт.psl (123.7 Кбайт, 1123 просмотров)


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать свои сообщения

BB code is Вкл.
[IMG] код Вкл.
HTML код Выкл.



Часовой пояс GMT +4, время: 19:48.


Версия vBulletin: 3.8.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Segnetics 2005 - 2023