Страница 45 из 1044 ПерваяПервая ... 3543444546475595145545 ... ПоследняяПоследняя
Показано с 441 по 450 из 10436

Тема: ВОПРОС-ОТВЕТ (отвечаем на простые вопросы от новичков)

  1. #441

    По умолчанию

    skodafelicia молодец! теория, подкрепленная экспериментом уже правило.
    Цитата Сообщение от Валенок Посмотреть сообщение
    Swerder - 1 место !!!
    Ура!

  2. #442

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    И любопытно - какой minlengthcycle, и что показывает про длительность цикла statistic при обмене по 485 ?
    Кстати, забыл уточнить - опрос ДТ по 485 раз в 0,5 сек )) Длительность цикла прыгала 10-12...

  3. #443

    По умолчанию

    Всем доброго вечера!
    Подскажите, пожалуйста, библиотека PID_reg2 применима только для контроллеров ПЛК 63, 73, 410? У меня в наличии ПЛК160..., получается, что эта библиотека не подходит?

  4. #444

    По умолчанию

    Подходит для всех ПЛК

  5. #445

    По умолчанию

    Цитата Сообщение от RV9WFJ Посмотреть сообщение
    Подходит для всех ПЛК
    Данная библиотека работает только на ПЛК63 и ПЛК73. Что в явном виде отображено в документах, описывающих работу с данной библиотекой.

  6. #446

    По умолчанию

    доброго вечера.

    в поиск ходил, не нашел. контроллер ПЛК-110-60, пишу под него программу, столкнулся с такой штукой. пишем вот так:

    PROGRAM PLC_PRG
    VAR
    tp1:TP;
    tp2:TP;
    END_VAR

    tp1(in:=start, pt:=t#4s);
    ek1:=tp1.Q;

    tp2(in:=stop, pt:=t#4s);
    ek1:=tp2.Q;


    start и stop - два аппаратных входа DI1 и DI2, ek1 - аппаратный выход, скажем, DO5. в конфгурации ПЛК определены.

    как я себе представляю логику работы:
    подаю на один из входов единицу, запускается таймер TP, перещелкивает аппаратный выход в 1 на заданное время, потом возвращает выход обратно в 0.
    соответственно, от второго входа реакция должна быть та же самая, только вход другой.

    что происходит:
    железом отрабатывается только вторая часть программы. выход щелкает только при появлении 1 на входе stop. после того, как таймер свое отработал, я подаю 1 на вход start, это приводит к срабатыванию таймера. кодесис в режиме онлайн показывает мне, как выход первого таймера сработал, но при этом аппаратный выход не срабатывает. попытка вручную включить выход в конфигурации ПЛК приводит к тому, что что-то упорно держит его в нуле и не хочет отпускать.

    вопрос: что держит выход в нуле, что я делаю не так, и как избежать подобного рода вещей в будущем ?

  7. #447

    По умолчанию

    Цитата Сообщение от anatolys Посмотреть сообщение
    доброго вечера.


    вопрос: что держит выход в нуле, что я делаю не так, и как избежать подобного рода вещей в будущем ?
    Ошибка Ваша в том, что в конце программы у Вас опять повторяется строка с присвоением:
    ek1:=tp2.Q;
    И, когда Вы пытаетесь первым TP присвоить значение на выход, ПЛК доходит до последней строки, но там TP2 ещё не срабатывал и присваивает на выход FALSE.

    Программа примерно должна выглядеть так:

    tp1(IN:=start , PT:= t#4s, );

    tp2(in:=stop, pt:=t#4s);

    ek1:=tp1.Q OR tp2.Q;

    В этом случае, выходу присвоится значение TRUE при срабатывании ТР1 ИЛИ ТР2.

  8. #448

    По умолчанию

    Цитата Сообщение от kolyan Посмотреть сообщение
    Ошибка Ваша в том, что в конце программы у Вас опять повторяется строка с присвоением:
    ek1:=tp2.Q;
    И, когда Вы пытаетесь первым TP присвоить значение на выход, ПЛК доходит до последней строки, но там TP2 ещё не срабатывал и присваивает на выход FALSE.
    спасибо большое, пример сработал.
    возвращаясь к реальной жизни: выходов таких более десятка, включаются они одним и тем же образом. для их включения, чтобы не писать лишнего, я вынес конструкцию с TP в отдельный функциональный блок и вызываю его по мере необходимости. получается, что, если вызов этого блока определен в программе не один раз, то выходы все равно зависают в нуле. наверняка есть какое-то более изящное решение, чем переписывать всю программу, выкинув из нее этот функциональный блок и описав включение каждого выхода через TP с помощью кучи OR ?

  9. #449

    По умолчанию

    вот они, куски кода. блок на ST. то, откуда он множественно вызывается, на CFC, и в остальной части программы таких вызовов блока много. как, кстати, правильно сбрасывать TP, и правильно ли я понимаю, что, написав необходимое количество блоков с вызовами TP, я в конце каждого блока этот таймер сбрасываю, и тогда оно начинаетработать, как надо ?

  10. #450

    По умолчанию

    я только начинаю, по большому счету, осваивать ПЛК, не всегда еще понимаю логику его работы. мне почему-то подумалось, что, если я смогу привести вырожденный пример, то это не будет сильно отличаться от того, что есть на самом деле. я о том, что я получил одинаковый эффект от двух несколько разны, получается, действий и, исходя из этого, неверно сформулировал вопрос. тогда переформулирую: как один и тот же блок с TP использовать несколько раз так, чтобы работа одного экземпляра не оказывала влияния на другой ?

    скрин получился поганый, ограничения на размер картинки. переделал.

Страница 45 из 1044 ПерваяПервая ... 3543444546475595145545 ... ПоследняяПоследняя

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

Ваши права

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