Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 30

Тема: Таймер TP что то глючит....

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию Таймер TP что то глючит....

    Какая то непонтяка, даю команду на включение таймера, а он почему то свой выход не переключает.
    Вся задумка ломается.
    во вложении скрин.
    Изображения Изображения
    • Тип файла: png CDS_F.png (195.2 Кб, Просмотров: 87)

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

    По умолчанию

    Первый уже три секунды как выключен. Второй вообще не вызывается при данном Y. Как меняется start из этого скриншота не узнать.

    И уберите эту ерунду с 13 по 16 строчки. Есть функция LIMIT.

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,587

    По умолчанию

    Может пора завязывать с программированием, не понимаете что ли что это не Ваше?
    отдельно посчитайте чему равна строчка присваиваемая PT, если Y типа INT то это будет 70ms, если реал то 170ms, что Вы там хотите увидет за такой короткий промежуток времени, счетчик хотя бы поставте на передний фронт, ну по поводу LIMIT уже сказали
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

  4. #4

    По умолчанию

    Цитата Сообщение от Yegor Посмотреть сообщение
    Первый уже три секунды как выключен. Второй вообще не вызывается при данном Y. Как меняется start из этого скриншота не узнать.

    И уберите эту ерунду с 13 по 16 строчки. Есть функция LIMIT.
    на скриншоте режим дебагера, переменная start в данном цикле перешла из 0 в 1. т.е. таймер должен сработать в этот момент, т.е. выход также должен перейти из 0 в 1, а этого почему то не происходит. PT у нас равняется 7 секундам.
    Почему у него ЕТ больше РТ и как это произошло, я не понимаю, и что из этого вытекает тоже.
    Фигня в 13 и 16 строчке... ну мне так удобнее, не вижу ничего зазорного...
    Можно конечно извернуться без этих всех таймеров написать.... но блин если они есть... то лучше с ними

  5. #5
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    709

    По умолчанию

    Я бы таймер вызывал бы вне проверки условий. Тогда он все время будет выполняться и контролировать момент включения/выключения выхода. И еще, лучше использовать таймер TON или TOF. Не знаю как в КДС3, а в КДС2 TP некорректно работает при PT=0.
    Последний раз редактировалось amn; 10.12.2014 в 00:22.

  6. #6

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Я бы таймер вызывал бы вне проверки условий......
    А в чем разница для таймера, от куда его вызвали?

  7. #7
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,243

    По умолчанию

    интересно, что подразумеваете под некорректно работает РТ=0?
    использую такой прием для сброса. и не замечал.
    ну-ку поделитесь косяком разработчиков кдс
    Последний раз редактировалось lara197a; 10.12.2014 в 00:57.

  8. #8
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    709

    По умолчанию

    Если во время работы таймера сбросить PT в 0, то все работает. А попробуйте при PT=0 передернуть вход IN. Выход таймера Q начнет дергаться.

  9. #9
    Пользователь
    Регистрация
    11.01.2009
    Адрес
    Кострома
    Сообщений
    3,243

    По умолчанию

    В смысле дергаться? если соединить с физическим выходом, то он будет включен пока на входе EN ТР будет TRUE.
    И ничего не дергается.

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

    По умолчанию

    А в чем разница для таймера, от куда его вызвали?
    Откуда — не имеет значения. Важно, вызываете ли вы его вообще. Можно сколько угодно менять входные переменные функционального блока, но пока вы его не вызовете, значения выходов не изменятся. То есть:
    Код:
    timer.IN := FALSE; (* Ничего не изменится *)
    timer(IN := FALSE); (* Таймер обработает FALSE, если было TRUE *)
    А второй таймер при данных условиях у вас не вызывается ниоткуда совсем.

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

Похожие темы

  1. таймер Tp
    от Cherns в разделе ПЛК1хх
    Ответов: 5
    Последнее сообщение: 30.07.2015, 10:44
  2. Таймер TP некорректен
    от onik в разделе ПЛК1хх
    Ответов: 64
    Последнее сообщение: 14.06.2012, 21:39
  3. Ответов: 110
    Последнее сообщение: 16.12.2009, 10:43
  4. контроллер что то умер
    от Ушаков Николай в разделе ПЛК1хх
    Ответов: 10
    Последнее сообщение: 28.04.2008, 12:52

Ваши права

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