Просмотр полной версии : Непонятная задержка по входу
alex0608
06.03.2013, 00:35
Друзья подскажите! Мои эксперименты с входами ПЛК зашли в тупик.
Не нахожу никакого разумного объяснения следующему:
Простая программа загружена в плк 110 (язык ST)
in15 - переменная на входе 15
d2 - переменная на выходе 2
mytimer:TP;
mytimer(IN:=in15,PT:=T#10s,Q=>d2);
Сразу извините, генератора - нет;)
Подаю на вход 15 (быстро касаюсь проводком с "+" питания) импульсы. При уверенном касании все работает как надо d2 дает true на 10 сек. Но если лишь чуть коснуться - таймер не срабатывает. (Хотя я вижу что на панели ПЛК коротко зажигается d15) Как так? Я чего-то не знаю об устройстве входов, они что такие медлительные??? Тогда почему засвечиваться циферка 15 успевает? Не понимаю...
Я чего-то не знаю об устройстве входов, они что такие медлительные??? Тогда почему засвечиваться циферка 15 успевает? Не понимаю...
У плк овен программная обработка входов не соответствует заявленным характеристикам, при реализации проектов это необходимо учитывать. Импульсы считать можно только на быстрых входах.
У плк овен программная обработка входов не соответствует заявленным характеристикам, при реализации проектов это необходимо учитывать. Импульсы считать можно только на быстрых входах.
Наверно нужно в конфигурации входов отключить фильтрацию (установить 0 мс) и будет соответствовать.
че гадать то, надо весь проект смотреть, слабо верится что нажатие длится меньше установленного времени цикла по умолчанию и не приняты меры по антидребезгу
Даже при отключенной фильтрации скорость сработки больше 7мс при заявленных 3,3.
По крайней мере, там где буржуйский контроллер с заявленной скоростью сработки в 7 мс справлялся, плк 110 считал импульсы через раз.
Правда последний раз сравнительный забег проводился в 2010 году, возможно с тех пор что-то изменилось.
Даже при отключенной фильтрации скорость сработки больше 7мс при заявленных 3,3.
По крайней мере, там где буржуйский контроллер с заявленной скоростью сработки в 7 мс справлялся, плк 110 считал импульсы через раз.
Правда последний раз сравнительный забег проводился в 2010 году, возможно с тех пор что-то изменилось.
А Вы верите что человеку (а не механизму) нажать, увидеть горение светодиода и отжать, понадобится меньше десяти миллисекунд?
А Вы верите что человеку (а не механизму) нажать, увидеть горение светодиода и отжать, понадобится меньше десяти миллисекунд?
При включенной фильтрации 13 (если верить букварю), или не менее 20 (если не верить). Вполне можно успеть тыкнуть.
Даже при отключенной фильтрации скорость сработки больше 7мс при заявленных 3,3.
По крайней мере, там где буржуйский контроллер с заявленной скоростью сработки в 7 мс справлялся, плк 110 считал импульсы через раз.
Правда последний раз сравнительный забег проводился в 2010 году, возможно с тех пор что-то изменилось.
Для подновляющего большинства случаев применения ПЛК для управления промышленным оборудованием однократные импульсы, что 7мс, что 3мс сильно смахивают на электромагнитные помехи от работы самого оборудования.
Люди специально с ними борются.
А индикатор физического входа ПЛК скорей всего включен последовательно со светодиодом оптрона, прямо во входной цепи.
От того он и успевает зажигаться.
Для подновляющего большинства случаев применения ПЛК для управления промышленным оборудованием однократные импульсы, что 7мс, что 3мс сильно смахивают на электромагнитные помехи от работы самого оборудования.
Люди специально с ними борются.
Если в паспорте написано 3,3 мс сработка, а реально минимум 10, то это называется не борьба с помехами, а заведомый обман покупателя.
Зачем таким заниматься мне непонятно.
Николаев Андрей
06.03.2013, 10:29
Хорош флудить, блин. Ей богу - еще пару тем, и начну чистить посты.
Необходимо действительно смотреть проект.
Если Вы замечаете срабатывание, а контроллер не реагирует на него - надо смотреть фильтры и время цикла. А лучше весь проект. Здесь речь не о миллисекундах, а о десятках.
Друзья подскажите! Мои эксперименты с входами ПЛК зашли в тупик.
Не нахожу никакого разумного объяснения следующему:
Простая программа загружена в плк 110 (язык ST)
in15 - переменная на входе 15
d2 - переменная на выходе 2
mytimer:TP;
mytimer(IN:=in15,PT:=T#10s,Q=>d2);
Сразу извините, генератора - нет;)
Подаю на вход 15 (быстро касаюсь проводком с "+" питания) импульсы. При уверенном касании все работает как надо d2 дает true на 10 сек. Но если лишь чуть коснуться - таймер не срабатывает. (Хотя я вижу что на панели ПЛК коротко зажигается d15) Как так? Я чего-то не знаю об устройстве входов, они что такие медлительные??? Тогда почему засвечиваться циферка 15 успевает? Не понимаю...
Для чего все эти опыты ?
alex0608
06.03.2013, 12:59
Наверно нужно в конфигурации входов отключить фильтрацию (установить 0 мс) и будет соответствовать.
Спасибо за идею, это вполне может объяснять. Можете подсказать где настраивается фильтрация (я пока плохо ориентируюсь)?
alex0608
06.03.2013, 13:04
че гадать то, надо весь проект смотреть, слабо верится что нажатие длится меньше установленного времени цикла по умолчанию и не приняты меры по антидребезгу
Это вся программа, для чистоты эксперимента все стер что могло мешать. Время цикла не менял - стандартное стоит, кажется 10 мс.
Мой таймер как раз по моей задумке должен решать все проблемы, с антидребезгом в том числе.
Реально там будет висеть датчик, который будет посылать короткий импульс при срабатывании (не фиксированной длины от 10 до 1000 мс) его мне и надо отловить в программе - зафиксировать переменную на конкретное время скажем 10 сек.
Сейчас же он у меня как бы не успевает отреагировать...
Кодесис - ресурсы - Конфигурация плк - PLC1XX - discrete inputs - параметры модуля
alex0608
06.03.2013, 13:24
Кодесис - ресурсы - Конфигурация плк - PLC1XX - discrete inputs - параметры модуля
Спасибо за наводку.
Поменял на 0, там стояло 10 мс. Однако это не помогло никак...:(
Это вся программа, для чистоты эксперимента все стер что могло мешать. Время цикла не менял - стандартное стоит, кажется 10 мс.
Мой таймер как раз по моей задумке должен решать все проблемы, с антидребезгом в том числе.
Реально там будет висеть датчик, который будет посылать короткий импульс при срабатывании (не фиксированной длины от 10 до 1000 мс) его мне и надо отловить в программе - зафиксировать переменную на конкретное время скажем 10 сек.
Сейчас же он у меня как бы не успевает отреагировать...
Так для устранения дребезга Вам тон надо использовать а не тп. Кроме фильтрации, возможно Ваше замыкание не было таковым и небыло достаточно напряжения чтоб сработал ключ
Если датчик будет один - перебросте его на быстрый вход, и будет вам щастье.
alex0608
06.03.2013, 13:52
Так для устранения дребезга Вам тон надо использовать а не тп. Кроме фильтрации, возможно Ваше замыкание не было таковым и небыло достаточно напряжения чтоб сработал ключ
Не соглашусь. Это смотря чего мы опасаемся от дребезга - если ложного преждевременного срабатывания, то возможно нужен TON, а если нужно мгновенно включиться при первом же фронте, но не выключаться во время микро провалов, то TP помоему в самый раз. TON-ом я как раз усугублю свою проблему. Разьве я неправ?
По поводу недостаточного напряжения - так же не могу согласиться:
Представьте себе монтажную плату для моделирования (куда элементы втыкаются и легко извлекаются) У меня такая и я вывел на нее провода от входа плк. Как там может быть недостаточно напряжения - сопротивление там явно почти нулевое как мне кажется. Так вот, я успеваю вдеть перемычку в монтажную плату и вытащить, а контроллер лишь успевает подмигнуть мне диодом на входе, таймер не срабатывет!
Не соглашусь. Это смотря чего мы опасаемся от дребезга - если ложного преждевременного срабатывания, то возможно нужен TON, а если нужно мгновенно включиться при первом же фронте, но не выключаться во время микро провалов, то TP помоему в самый раз. TON-ом я как раз усугублю свою проблему. Разьве я неправ?
По поводу недостаточного напряжения - так же не могу согласиться:
Представьте себе монтажную плату для моделирования (куда элементы втыкаются и легко извлекаются) У меня такая и я вывел на нее провода от входа плк. Как там может быть недостаточно напряжения - сопротивление там явно почти нулевое как мне кажется. Так вот, я успеваю вдеть перемычку в монтажную плату и вытащить, а контроллер лишь успевает подмигнуть мне диодом на входе, таймер не срабатывет!
А как тоф работает? Выключится не от микродребезга от постоянного нуля на входе в течении заданного времени или я опять не угадал
alex0608
06.03.2013, 14:16
А как тоф работает? Выключится не от микродребезга от постоянного нуля на входе в течении заданного времени или я опять не угадал
А ну если TOF тогда другое дело, вы TON предлагали.. Это можно попробовать, хотя в моем случае это увы вряд ли как то поможет.
Николаев Андрей
06.03.2013, 14:50
Выставьте минимальное время цикла в 1-3 мс.
Еще раз рекомендую проверить не "замкнул рукой"...
Возьмите блок blink, заведите выход на вход, и давайте импульсы на свои 10 мс.
alex0608
07.03.2013, 11:13
Всем спасибо за помощь!
К сожалению не понял что именно повлияло, но выход стал работать быстро, успевает реагировать. Скорее всего повлияла простановка 0 времени фильтрации входа, как посоветовали. Сработало это изменение почему-то не сразу только.
Инженер-Эл
12.03.2013, 10:30
У меня так было. ПЛК все работал как надо... И вдруг начал незамечать импульсы короче 20 мс (примерно). Иногда не замечать. Пропускать...
В общем так я и не понял что было, по моему и сейчас иногда пропускает...
Powered by vBulletin® Version 4.2.3 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot