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

Тема: Язык ST. Временная задержка.

  1. #1

    По умолчанию Язык ST. Временная задержка.

    Здравствуйте! Срочно нужна Ваша помощь...

    Подскажите пожалуйста как сделать временную задержку на языке ST.

    Условие:если вход 1 труе, то выход 3 труе и через 3 сек выход 5 тоже становится труе.

    IF iblnInPut1 THEN
    qblnOutPut3:=TRUE;
    TP1(IN:=TRUE, PT:=t#3s);
    qblnOutPut5:=TRUE;
    ELSE
    qblnOutPut3:=FALSE;
    qblnOutPut5:=FALSE;
    END_IF

  2. #2

    По умолчанию

    VAR
    TP1:TON;
    end_var

    qblnOutPut3:= iblnInPut1;
    TP1(IN:=iblnInPut1, PT:=t#3s);
    qblnOutPut5:=TP1.Q;

    Что-то типа этого...

  3. #3

    По умолчанию

    Какой то странный код... Это точно ST?
    А если ещё через секунду выходы 7,8 подключить? Так будет выглядеть:

    qblnOutPut3:= iblnInPut1;
    TP1(IN:=iblnInPut1, PT:=t#3s);
    qblnOutPut5:=TP1.Q;
    TP2(IN:=iblnInPut1, PT:=t#1s);
    qblnOutPut5:=TP7.Q;
    qblnOutPut5:=TP8.Q;


    И ещё вопрос. Допустим мы получили условие (в данном случае вход 1 труе). В зависимости от этого условия выполняется программа: загорается 3 выход, через 3 секунды 5 выход, ещё через секунду 7 и 8 выходы. Так вот сам вопрос. Если вход 1 становиться фалзе, т.е. условие не действует, программа продолжается?

  4. #4

    По умолчанию

    Программа продолжается не зависимо от состояния переменных.
    Будет ли работать таймер - Вы это хотели узнать.
    Работа с таймерами в CoDeSys - вещь постоянная - рекомендую один раз сесть и разобраться с этим вопросом.
    Графическое отображение работы таймеров приведено в мануале и хелпе.

    НУ и если вся задача такая дискретная - гляньте на на язык LD

  5. #5

    По умолчанию

    Хорошо, тогда я расскажу применительно к своему станку. Допустим выходы отвечают за движение пневмоцилиндров. Нужна кнопка сброса (грибок) которая возвращает все цилиндры в исходное положение. Т.е. на выходах (независимо от того окончилась программа или нет) должно установится фалзе.

    P.S. форум для того и нужен что бы задавать вопросы...

  6. #6

    По умолчанию

    Так никто и не против - задавайте.
    А еще форум очень помогает находить ответы на свои вопросы
    Например тут, в одной из самых верхних тем:
    http://www.owen.ru/forum/showpost.ph...8&postcount=14

  7. #7

    По умолчанию

    Спасибо, Андрей! Посмотрю...

  8. #8

    По умолчанию

    Подскажите подскажите ещё. Вот пример из архива:

    (*задержка включения: если вход 3 true, то через 5 секунд выход 3 true*)

    tim1(IN := in3, PT := T#5s);
    out3:=tim1.Q;


    А если нужно условие от нескольких входов? Как будет?

    (*задержка включения: если вход 3 true и вход 4 true , то через 5 секунд выход 3 true и через 7 секунд выход 4 true*)

    Заранее спасибо!

  9. #9

    По умолчанию

    tim1(in:=in3 and in4, pt:=t#5s);
    out3:=tim1.q;
    tim2(in:=in3 and in4, pt:=t#7s);
    out4:=tim2.q;

  10. #10

    По умолчанию

    Благодарю!

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

Ваши права

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