Показать сообщение отдельно
Старый 10.07.2013, 15:41   #19
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 105
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Придумываем алгоритм ротации насосов

Цитата:
Сообщение от Shogun Посмотреть сообщение
Хотелось бы по первому варианту, но увы времени к сожалению нет. У меня есть один-два дня чтоб решить эту проблему и сдать объект.
Так что давайте как быстрей, тоесть по второму варианту. (а потом по первому )
К входам m1/m2/m3/m4 подключаете этот макрос. Всего 4 штуки.

На входы t1/t2/t3/t4 задаёте значение 42.

Выходы 1/2/3/4 подключаете к входам счёта соответствующих макросов моточасов. Раз в сутки значение U уменьшаете на единицу на несколько секунд. Делать это проще всего, сравнивая показания системных часов с нужным вам числом, например с двойкой, если ротацию вы хотите осуществлять в 2 часа ночи.

Т.е. берёте блок GetTime и компаратором (CMP) сравниваете значение на выходе HH с числом. Выход равенства компаратора через блок Raise сбразывает времязадающий счётчик (время задаём секунд 5 с помощью блока TimeToTick). Счётчик (лучше всего CTD) своим выходом переполнения должен управлять мультиплексором, через который проходит U либо напрямую, либо уменьшенное на единицу с помощью блока SUB.

Всё.

PS. Напрасно вы думаете, что первый вариант более медленный.
Изображения
Тип файла: png Безымянный.PNG (14.2 Кбайт, 793 просмотров)


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

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