Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 24 из 24

Тема: Modubs через Ethernet; Входы МДВВ

  1. #21
    Пользователь Аватар для Flomaster
    Регистрация
    03.05.2007
    Адрес
    Khabarovsk
    Сообщений
    278

    По умолчанию

    Цитата Сообщение от Василий Куц Посмотреть сообщение
    TON, TOF, TP в standart.lib
    Да, видел такие ФБ. Но что-то не понял, как ими пользоваться
    Вот, например, в теле программы мне нужно подать значение TRUE на дискретный выход 1, а через 2 секунды прочитать значение на дискретном входе 1. Как это реализовать с помощью указанных ФБ?

  2. #22

    По умолчанию

    Это просто.
    .....
    ex1:=set_ex1;
    .......
    myTON(in:=ex1,pt:=t#2s);
    if myTon.q and in1 then

    end_if
    А вообще приезжайте на курсы.

  3. #23
    Пользователь Аватар для Flomaster
    Регистрация
    03.05.2007
    Адрес
    Khabarovsk
    Сообщений
    278

    По умолчанию

    Цитата Сообщение от Малышев Олег Посмотреть сообщение
    Это просто.
    .....
    ex1:=set_ex1;
    .......
    myTON(in:=ex1,pt:=t#2s);
    if myTon.q and in1 then

    end_if
    А вообще приезжайте на курсы.
    Я бы с удовольствием, но далековато. Не оплатит никто поездку. А за свои ехать недешево получается.

    По поводу приведенного примера. До этого пытался сделать аналогично, думал, что мыслю немного не правильно. Оказалось, что мыслил в верном направлении. Беда в том, что получаю не совсем то, что мне нужно. Если в небольшой программке я подал на вход блока TON значение TRUE, то программа не заходит в кусок кода

    if myTon.q and in1 then

    end_if

    , пока не выполнит несколько циклов. Это вполне естественно. А мне интересно, чтобы выполнение программы приостановилось на эти 2 сек., т.е. на строку if myTon.q and in1 then программа перешла только по истечении 2 с, как это происходит в программе "Светофор" у блока WAIT. Может быть в этом случае мне лучше использовать пустой цикл?

    Дело всё в том, что при подаче сигнала на выход, должны замкнуться эл.цепи исполнительных механизмов. А подача сигнала на соответствующий вход говорит об успешном замыкании цепей. И поэтому мне нужно выждать 1-2 секунды, не переходя к следующей строчке кода.
    Последний раз редактировалось Flomaster; 27.11.2007 в 03:03.

  4. #24

    По умолчанию

    Цитата Сообщение от xScar2003 Посмотреть сообщение
    По поводу приведенного примера. До этого пытался сделать аналогично, думал, что мыслю немного не правильно. Оказалось, что мыслил в верном направлении. Беда в том, что получаю не совсем то, что мне нужно. Если в небольшой программке я подал на вход блока TON значение TRUE, то программа не заходит в кусок кода

    if myTon.q and in1 then

    end_if

    , пока не выполнит несколько циклов. Это вполне естественно. А мне интересно, чтобы выполнение программы приостановилось на эти 2 сек., т.е. на строку if myTon.q and in1 then программа перешла только по истечении 2 с, как это происходит в программе "Светофор" у блока WAIT. Может быть в этом случае мне лучше использовать пустой цикл?

    Дело всё в том, что при подаче сигнала на выход, должны замкнуться эл.цепи исполнительных механизмов. А подача сигнала на соответствующий вход говорит об успешном замыкании цепей. И поэтому мне нужно выждать 1-2 секунды, не переходя к следующей строчке кода.
    А может правильнее будет подпрограммку на SFC реализовать и следующие строчки кода поместить в шаг, условием к выполнению которого будет таймер (см. пример "Светофор")

Страница 3 из 3 ПерваяПервая 123

Ваши права

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