Просмотр полной версии : быстрый счет по входам плк-150-220
maksimov
05.01.2010, 09:45
Уважаемые коллеги. Нужно с максимально возможной частотой считать импульсы по 4 дискретным входам ПЛК-150-220. Среда - CoDeSys. Точное значение частоты пока указать не могу. Оно зависит от того, насколько механики "разгонят" производственную линию.
Вопросы:
- на каком языке написать счетчик, чтобы "выжать" максимальную скорость? (если есть разница)
- в каком POU поместить счетчики, учитывая то, что остальные процессы в ПЛК медленные ?(единицы секунд).
Спасибо.
lara197a
05.01.2010, 13:58
у плк150 нет скоростных входов. есть у плк110-4шт.
используйте штатный счетчик 16 бит.
не забудьте поставить фильтр входа на минус 1.
согласно рэ на плк150 - "любой дискретный вход плк150 может
работать в режиме аппаратного счетчика или
триггера (частота до 10 кгц при скважности 50%), к
двум дискретным входам можно подключить энкодер
(частота импульсов до 10 кгц). частота обработки
аппаратных счетчиков и обработчиков энкодера не
зависит от времени выполнения цикла плк."
lara197a
05.01.2010, 17:55
практически энкодер максимум 1000-1500гц,
почему раскрывать не буду эти темы много обсуждались на форуме.
при желании найдете.
импульс со скважностью 0.5-до 10000кгц при использовании быстрых счетчиков.
обычно для подсчета быстрых сигналов
используют специализированные счетные модули
maksimov
21.01.2010, 22:03
у плк150 нет скоростных входов. есть у плк110-4шт.
используйте штатный счетчик 16 бит.
не забудьте поставить фильтр входа на минус 1.
Контроллер ПЛК-150. На вход D1 подан меандр от генератора сигналов.POU - один CTU. Фильтр отключен. Цикл - 1 мс. Повышаю частоту. 10 гц - вроде правильно, 20 гц - тоже, а выше - начинаются пропуски и счет идет явно медленно, т.е. совсем медленно. Понимаю - что-то неправильно делаю. Помогите пожалуйста. Мне очень надо считать 500 имп,сек
Филоненко Владислав
22.01.2010, 07:26
Фильтрацию настроить или совсем отключить.
maksimov
22.01.2010, 15:44
Я отключал фильтрацию (-1). Никакого результата. Настраивать фильтрацию не пробовал, но граничные значения ставил - не помогло.
В task configuration я видел 16 штук interrupt(ов). А может быть использовать прерывание по входному импульсу. Только вот как это сделать?
Филоненко Владислав
22.01.2010, 16:55
Поставьте 0.
maksimov
23.01.2010, 21:57
Спасибо. В понедельник попробую.
maksimov
25.01.2010, 21:57
Ставил и 0 и -1. Менял цикл ПЛК. Все равно - похожий на правду счет примерно до сотни герц. Далее - скорость счета при прибавлении частоты не увеличивается. Кстати, подключал к входу библиотечный частотомер (из util lib). При подаче 20 гц переменная out пляшет в пределах 18-22, а при подаче 100 гц от 60 де 120. Хотя генератор работает стабильно и качество сигнала, подаваемого на вход - великолепное.
Наверное надо съездить в техподдержку ОВЕНа. Видимо что-то не понимаю, или как-то некорректно задаю вопрос. Спасибо!
Филоненко Владислав
25.01.2010, 23:32
Следует понимать, что измерение частоты нельзя опирать на цикл ПЛК. Необходимо подсчитать число импульсов за промежуток времени, и чем он длиннее, тем больше точность и меньше погрешность от квантования времени.
Используя только средства CoDeSys невозможно измерить частоту свыше 500 Гц (в идеальном случае).
Используя модуль высокоскоростного счетчика и правильно его настроив, в идеале можно измерить частоту до 5-10 кГц.
Генератор базируется на аппаратных возможностях самого процессора, и обеспечивает очень высокую точность сигнала. Для входов такой аппаратной поддержки нет и точность будет ниже.
maksimov
26.01.2010, 13:06
Я зашел в task_configuration и обнаружил там управление задачей через прерывания (interrupt0-interrupt15). Можно ли пользоваться этими функциями и можно ли в качестве источника прерывания использовать фронт входного сигнала? Скрин во вложении.
Филоненко Владислав
26.01.2010, 15:22
Используйте более свежие таргеты. Эти прерывания не поддерживаются.
maksimov
01.02.2010, 19:20
Используйте более свежие таргеты. Эти прерывания не поддерживаются.
Спасибо! Я использовал таргет с диска из комплекта поставки. Обязательно скачаю свежие.
Из ОВЕНа мне прислали новую прошивку. Только вот попробовать не успел. Надеюсь будет считать.
maksimov
04.02.2010, 20:01
Спасибо всем за помощь. После установки прошивки 2.10.9 все получилось. Не могу сказать до какой частоты контроллер стал считать (сломался генератор импульсов), но до 1000 гц точно.
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot