Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 13

Тема: Вопрос по алгоритму

  1. #1

    По умолчанию Вопрос по алгоритму

    Как реализовать последовательное включение до 3-5 устройств с задержкой на пару секунд в произвольном порядке? Хотя бы приблизительный пример. Или на словах. Неделю ломаю голову - не выходит!

  2. #2

    По умолчанию

    а поподробнее , что именно требуется?
    какие устройства, как включать?
    в сеть чтоли?
    или в опрос?

  3. #3

    По умолчанию

    Если конкретнее, то сразу все двигатели (мощные) включать нельзя. А только последовательно. И в произвольном порядке, т.е. не обязательно все, а в разное время разное количество. В визуализации кнопками определяю путь движения продукта и после нажатия кнопки "старт" они должны последовательно с задержкой включаться. В пути может быть различное количество двигателей. В чём и трудность. Привязать переменную к какому-то определённому двигателю невозможно. Я, вообще стал сомневаться что это возможно.

  4. #4
    Пользователь
    Регистрация
    18.03.2007
    Адрес
    г. Краснодар
    Сообщений
    233

    По умолчанию

    Решение простое.
    1. Перед выходом упраления на каждый двг. повесить свой таймер с задержкой на включение.

    2. Макс. число двиг. - это число N от 1 до Макс.

    Выбрал путь и порядок пример из 10 двиг.

    Тогда таймеру ставишь:
    первый (10-1) =9 сек
    второй (10-2)= 8 сек
    .....
    и последний (10-10) = 0 сек. Включить сразу первым.

    И даешь команду ПУСК.

  5. #5

    По умолчанию

    Похоже на вариант. Спасибо! Обмозгую - доложу результат.

  6. #6

    По умолчанию

    Цитата Сообщение от MasterZ Посмотреть сообщение
    И в произвольном порядке, т.е. не обязательно все, а в разное время разное количество.
    выделенное немного сбивает с толку...
    у любой установки есть алгоритм работы...
    распиши для себя в какой момент времени какие двигатели должны работать :
    шаг1: двиг 1,3,7
    шаг2: А, В, С,
    ...
    шаг последний ....
    шаг1: двиг 1,3,7
    тебе самому проще станет.

  7. #7

    По умолчанию

    Именно в том и суть, что не конкретный двигатель должен в определённый момент включиться, а произвольно выбранный. Например: включаю дв.1 и 8. Первый включится через 2 секунды после старта, а второй 8х2 - через 16 сек. Это если привязать каждому двигателю задержку. Нужно так:выбрал 2 и 5. Включился (можно сразу) 2-й, через 2 сек 5-й. Выбрал 1, 3, 8 - включился 1-й, через 2 сек 3-й, через 2 сек 8-й. Есть и другие условия, например, в порядке возрастания, но это решается.

  8. #8
    Пользователь
    Регистрация
    20.07.2007
    Адрес
    Киров
    Сообщений
    152

    По умолчанию

    если не критично разное время между включениями двигателей то можно предложить такое решение на плк.
    простая программа на Sfc с количеством шагов равным количеству двигателей +1. в начале каждого шаге включаем или не включаем один двигатель, в свойствах шага задаем необходимое время.

  9. #9

    По умолчанию

    Принципиально не критично, но не хочу идти по облегчённому пути в ущерб логике. С программой в будущем будут работать наладчики, операторы и т.д. Народец достаточно придирчивый. Да и если логика безупречная, легче усваивается и более надёжная.

  10. #10
    Пользователь
    Регистрация
    20.07.2007
    Адрес
    Киров
    Сообщений
    152

    По умолчанию

    ну если совсем по сложному то в начале формируем маску для необходимых двигателей например 1,3,7-101000010,
    далее анализируя каждый бит по порядку включаем двигатель, затем если он был включен выжидаем паузу в х секунд, если не включаем то соответственно паузу не делаем. но это получается громоздкая конструкция

    пы.сы. только что дошло, по первому варианту чтобы не ждать пустые шаги, для каждого шага делается альтернативный пустой с нулевым временем исполнения. т.е. если в предидущем шаге двигатель не включался то переход на следующий шаг выполняется мгновенно
    Последний раз редактировалось Rand0m; 11.09.2008 в 15:24.

Страница 1 из 2 12 ПоследняяПоследняя

Ваши права

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