Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя
Показано с 11 по 20 из 21

Тема: Управление задвижкой/ клапаном

  1. #11

    По умолчанию

    литературы по ST как таковой нет ведь. Вообще по МЭК языкам мало литературы. Петрова 2 книги, Деменков, Парр и еще книга автора с Бауманки.

  2. #12
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от IT-Johny Посмотреть сообщение
    литературы по ST как таковой нет ведь. Вообще по МЭК языкам мало литературы. Петрова 2 книги, Деменков, Парр и еще книга автора с Бауманки.
    С CoDeSys идут pdf - файлы. Они содержат примерно 96% необходимой информации. Остальные авторы - популяризаторы этих файлов. Недостающего в этих файлах нет нигде, оно добывается потом и бессонными ночами.

  3. #13

    По умолчанию

    Цитата Сообщение от IT-Johny Посмотреть сообщение
    литературы по ST как таковой нет ведь. Вообще по МЭК языкам мало литературы. Петрова 2 книги, Деменков, Парр и еще книга автора с Бауманки.

    Петров И.В. Программируемые контроллеры. Практическое применение языков стандарта МЭК 61131-3.
    Вполне достаточно, наряду с заводскими PDF файлами.
    Последний раз редактировалось kolyan; 05.10.2016 в 20:13.

  4. #14

    По умолчанию

    Спасибо уважаемые друзья за советы, помощь! rwg, остался вопрос касательно фрагмента программы! Будь добр, обьясни пожалуйста!
    почему not timerON.Q и not timerOFF.Q?
    OUT_ON := (Zadvizh_ON and (not timerON.Q)); (*10 секунд открытия*)
    OUT_OFF := ((not Zadvizh_ON) and (not timerOFF.Q)); (*10 секунд закрытия*)

  5. #15
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от IT-Johny Посмотреть сообщение
    Спасибо уважаемые друзья за советы, помощь! rwg, остался вопрос касательно фрагмента программы! Будь добр, обьясни пожалуйста!
    почему not timerON.Q и not timerOFF.Q?
    OUT_ON := (Zadvizh_ON and (not timerON.Q)); (*10 секунд открытия*)
    OUT_OFF := ((not Zadvizh_ON) and (not timerOFF.Q)); (*10 секунд закрытия*)
    При поступлении команды Открыть/закрыть сразу включится соответствующий выход Открыть или закрыть и запустится соответствующий таймер. Через 10 секунд таймер включится и отключит выход.
    Последний раз редактировалось rwg; 05.10.2016 в 22:35.

  6. #16

    По умолчанию

    Это я понял, меня смутило именно (not timerON.Q))..............

  7. #17
    Пользователь
    Регистрация
    20.02.2008
    Адрес
    Тверь
    Сообщений
    501

    По умолчанию

    Цитата Сообщение от IT-Johny Посмотреть сообщение
    Это я понял, меня смутило именно (not timerON.Q))..............
    Пока таймер выключен, timerON.Q = false, а not timerON.Q = true. Это не программирование, это булева алгебра.

  8. #18

    По умолчанию

    Большое спасибо!

  9. #19

    По умолчанию Заджвика местного и дистанцинного режима

    Начал писать код для задвижки https://ibb.co/1Rbmscw выглядит для оператора. Сам код находится ниже. Код запускается без проблем, но он не работает. Почему я не знаю. Помогите пожалуйста.


    FUNCTION_BLOCK GateValve


    VAR_INPUT
    //--------------------------------------------------------------------
    bPermit :BOOL; (*Разрешение*)
    bInterlock :BOOL; (*Блокировка*)
    bProtect :BOOL; (*Защита*)
    //--------------------------------------------------------------------
    bManualControl :BOOL; (*Местное управление*)
    bRemoteControl :BOOL; (*Дистанционное управление*)
    //--------------------------------------------------------------------
    bValveOpenIN :BOOL; (*Задвижка открывается*)
    bValveCloseIN :BOOL; (*Задвижка закрывается*)
    bValveFailureIN :BOOL; (*Задвижка авария*)
    bValveOpenedIN :BOOL; (*Задвижка открыта*)
    bValveClosedIN :BOOL; (*Задвижка закрыта*)
    //--------------------------------------------------------------------
    bMonitor :BOOL; (*Активация мониторинга запуска/останова*)
    tMonTimeOpen :TIME; (*Время мониторинга запуска*)
    tMonTimeClose :TIME; (*Время мониторинга останова*)
    bFbkOpen :BOOL; (*Cтатус запуска*)
    bFbkClose :BOOL; (*Cтатус останова*)
    END_VAR

    VAR_OUTPUT
    //--------------------------------------------------------------------
    bError :BOOL; (*Неисправность общая*)
    bErrorFbkOpen :BOOL; (*Неисправность запуска*)
    bErrorFbkClose :BOOL; (*Неисправность останова*)
    //--------------------------------------------------------------------
    bValveOpenOUT :BOOL; (*Открыть задвижку*)
    bValveCloseOUT :BOOL; (*Закрыть задвижку*)
    bValveStopOUT :BOOL; (*Остановка*)
    //--------------------------------------------------------------------
    TON_MonRun_ET :TIME; (*Отсчет таймера мон-га запуска*)
    TON_MonStop_ET :TIME; (*Отсчет таймера мон-га останова*)
    END_VAR

    VAR
    //--------------------------------------------------------------------
    TON_MonitorRun :TON; (*Таймер мониторинга запуска*)
    TON_MonitorStop :TON; (*Таймер мониторинга останова*)
    END_VAR




    //---------------------------------------- Проверка безопасного состояния ------------------------------------

    IF bValveOpenIN AND bValveCloseIN THEN
    bPermit := TRUE;
    END_IF

    //----------------------------------------- Открытие задвижки (В дистанционном режиме) ---------------------------

    IF bPermit AND NOT bInterlock AND NOT bProtect AND NOT bValveOpenedIN AND NOT bValveFailureIN AND bRemoteControl THEN
    bValveOpenOUT := TRUE;
    bValveCloseOUT := FALSE;
    ELSE
    bRemoteControl := FALSE;
    bManualControl := TRUE;
    END_IF

    //------------------------------------------ Закрытие задвижки (В дистанционном режиме) --------------------------

    IF bPermit AND NOT bInterlock AND NOT bProtect AND NOT bValveClosedIN AND NOT bValveFailureIN AND bRemoteControl THEN
    bValveOpenOUT := FALSE;
    bValveCloseOUT := TRUE;
    ELSE
    bRemoteControl := FALSE;
    bManualControl := TRUE;
    END_IF


    //------------------------------------------ Таймер открытия задвижки ----------------------------------------

    TON_MonitorRun ( IN := bValveOpenIN AND bMonitor AND NOT bFbkOpen,
    PT := tMonTimeOpen,
    Q => bErrorFbkOpen,
    ET => TON_MonRun_ET);

    //------------------------------------------ Таймер закрытия задвижки ----------------------------------------

    TON_MonitorStop ( IN := bValveCloseIN AND bMonitor AND NOT bFbkClose,
    PT := tMonTimeClose,
    Q => bErrorFbkClose,
    ET => TON_MonStop_ET);

  10. #20

    По умолчанию

    Цитата Сообщение от Nafis Посмотреть сообщение
    Начал писать код для задвижки https://ibb.co/1Rbmscw выглядит для оператора. Сам код находится ниже. Код запускается без проблем, но он не работает. Почему я не знаю. Помогите пожалуйста.
    ...
    А где сигналы управления с кнопок?

    Совет - делайте на SFC, будет проще и нагляднее
    Или используйте SWITCH для организации конечного автомата состояний в ST

Страница 2 из 3 ПерваяПервая 123 ПоследняяПоследняя

Похожие темы

  1. Управление задвижкой + сигнализация
    от Flicker в разделе Эксплуатация
    Ответов: 10
    Последнее сообщение: 13.12.2012, 09:20
  2. Ответов: 2
    Последнее сообщение: 12.05.2009, 14:21
  3. Управление 3-х позиционной задвижкой с помощью ПЛК
    от Валера Храмцов в разделе ПЛК1хх
    Ответов: 1
    Последнее сообщение: 31.07.2008, 12:53
  4. управление задвижкой
    от незарегистрированный в разделе Подбор Оборудования
    Ответов: 11
    Последнее сообщение: 29.11.2007, 09:22

Ваши права

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