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

Тема: ПЛК 160 циклическое включение выходов

  1. #1

    Exclamation ПЛК 160 циклическое включение выходов

    Уважаемые форумчане,
    Прошу помощи с реализацией следующей задачи на ПЛК 160:
    есть 3 дискретных выхода, каждый из них нужно запускать поочередно на 30 секунд в течении всего времени включения ПЛК в режиме "Работа".


    Возможно кто-то из Вас уже решал подобную задачу, поделитесь пожалуйста идеями!!!
    Всем отписавшимся заранее благодарен и поздравляю с наступающим Новым Годом!

  2. #2
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    timer_ton(PT := T#30s, IN := NOT timer.Q);
    outN := (outN + BOOL_TO_INT(timer.Q)) MOD 3;
    DO1 := outN = 0;
    DO2 := outN = 1;
    DO3 := outN = 2;
    Последний раз редактировалось Yegor; 29.12.2014 в 11:34.

  3. #3

    По умолчанию

    Очень прошу, можете расшифровку кода дать?

  4. #4
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Код:
    VAR
        timer_ton: TON;
        outN: INT;
    END_VAR
    
    timer_ton(PT := T#30s, IN := NOT timer_ton.Q); (* Таймер на самосбросе, Q таймера равно TRUE раз в тридцать секунд *)
    outN := (outN + BOOL_TO_INT(timer_ton.Q)) MOD 3; (* Инкремент outN по Q таймера, то есть +1 один раз в тридцать секунд. Рост ограничивается до 2 взятием остатка от деления на 3 *)
    DO1 := outN = 0; (* DO1 = TRUE когда outN = 0 *)
    DO2 := outN = 1;
    DO3 := outN = 2;
    Сессия шоль?
    Последний раз редактировалось Yegor; 29.12.2014 в 12:32.

  5. #5
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,265

    По умолчанию

    Две последние строки не расшифрованы. И неясно когда DO1 = FALSE

  6. #6

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Две последние строки не расшифрованы. И неясно когда DO1 = FALSE
    А смысл расшифровывать?!
    DO2 присваивается TRUE когда outN = 1,
    DO3 присваивается TRUE когда outN = 2.

    DO1=FALSE, когда DO2 или DO3=TRUE.

    Проверено, работает!
    ___________________________________________
    Yegor, порадовали красивым решением, спасибо!
    Последний раз редактировалось kolyan; 04.01.2015 в 15:10.

  7. #7
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,265

    По умолчанию

    Ну теперя DKFLBVBH точно разобрался ...

  8. #8

    По умолчанию

    Будем на это надеяться

  9. #9
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    Yegor, порадовали красивым решением, спасибо!
    Спасибо и вам, но это решение на скорую руку. От лишней переменной можно избавиться размазав её по периоду таймера, например:
    Код:
    timer(PT := T#90s, IN := NOT timer.Q);
    DO1 := timer.ET < T#30s;
    DO3 := timer.ET > T#60s;
    DO2 := DO1 XOR NOT DO3;
    Последний раз редактировалось Yegor; 04.01.2015 в 21:38.

  10. #10
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,265

    По умолчанию

    А в SFC - вообще без переменных ))
    Вложение 15995

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

Похожие темы

  1. Включение ПЛК
    от lazy в разделе ПЛК1хх
    Ответов: 8
    Последнее сообщение: 20.09.2013, 09:10
  2. ПЛК 160 и количество выходов
    от kukla100 в разделе ПЛК1хх
    Ответов: 18
    Последнее сообщение: 04.09.2013, 15:44
  3. Самопроизвольное включение выходов МДВВ
    от Владимир Верхоломов в разделе Мх110
    Ответов: 8
    Последнее сообщение: 23.03.2013, 13:40
  4. Ответов: 12
    Последнее сообщение: 20.05.2011, 09:20
  5. Спонтанное включение выходов МДВВ-Р
    от Лёша в разделе ПЛК1хх
    Ответов: 4
    Последнее сообщение: 14.07.2009, 07:16

Метки этой темы

Ваши права

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