Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Чт мар 28, 2024 18:34

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 18 сообщений ]  На страницу 1, 2  Вперёд
Автор Сообщение
 Заголовок сообщения: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Пн май 25, 2020 11:45 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
Подскажите пожалуйста, как можно решить небольшую задачу?
ПЛК CP1H-XA40DT-D непрерывно выдает импульсы для управления шаговым двигателем ( непрерывно вращается конвейерная лента ). Команды PULS и ACC (их можно заменить на другие, если это поможет). По сигналу с датчика необходимо отсчитать например 2000 импульсов и включить выход.
Казалось бы, простая операция, а возникли сложности.
Бит A276 ( для импульсного выхода 0) показывается только текущее значение счетчика импульсного выхода 0.
Команды сравнения =, >=. <= не работают на высокой частоте ( к примеру 8000Гц ).
Остается только вариант подключать импульсный выход 0 или энкодер на Высокоскоростной вход ПЛК и запускать сравнение от нуля по датчику, или есть еще какие-то варианты?


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Пн май 25, 2020 15:08 
Не в сети

Регистрация: Вт май 27, 2008 11:41
Сообщения: 559
Дык,вроде бы уже все разъяснили в вашей такой же теме ниже...


У вас нет необходимых прав для просмотра вложений в этом сообщении.


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Пн май 25, 2020 15:13 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
Там немного другой вопрос.
Тут проблема именно с подсчетом выходных импульсов.
Если запустить команду Puls, то она выдаст импульсы и остановится, счетчик покажет число, а вот как считать не с нулевого момента времени тут уже непонятно.
Импульсы выдаются непрерывно, как тогда их посчитать с высокой частотой начиная с какого-то момента времени? (более понятно в первом сообщении )


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 01:16 
Не в сети

Регистрация: Вт ноя 13, 2007 23:10
Сообщения: 73
Откуда: Canada
Какая нужна точность включения выхода и какова максимальная частота?


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 08:53 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
Устройство только в разработке, точность включения выхода желательно получить максимальную.
Что бы было понятнее как все будет работать.
Импульсный выход 0 управляет шаговым двигателем, который вращает конвейерную ленту с постоянной заданной скоростью. Количество импульсов на один оборот ШД и ленты я могу настроить (От 200 до 40000 импульсов на один оборот ШД)
Лента крутится, по ней едет изделие, когда оно доезжает до датчика, датчик срабатывает, отсчитывает нужное кол-во импульсов ( изделие проезжает например 30см ) и включается выход на пневмо клапан.

Т.е от момента когда сработает датчик изделие должно проехать кол-во импульсов которые нужно посчитать, что бы начало изделия совпало с заданной точной на конвейере.

Соответственно чем больше кол-во импульсом на один оборот, тем точнее можно по управлять лентой, но в тоже время сложнее подсчитывать импульсы.
Максимальную частоту импульсов для ШД можно принять за 8000 Гц.
Частота включения выхода мала, примерно раз в 5 секунд.
Объяснение на самое лучшее, но думаю суть будет понятна


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 13:38 
Не в сети
Аватара пользователя

Регистрация: Сб сен 30, 2006 14:07
Сообщения: 763
Откуда: Москва
Я бы поставил второй датчик, по которому будет срабатывать пневмоклапан. Или использовать энкодер (будет четко отражать движение именно ленты) для подсчета импульсов.


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 13:45 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
Поставить датчик прям в месте срабатывания клапана не могу, в этом и проблема.
Изделие сверху прижимается роликом.
Как раз по первому датчику хотел определить начало изделия, затем через определённое расстояние ролик на вневмоцилиндре будет прижимать. (наклейка двухстороннего скотча)
Вариант с энкодером тоже тоже должен подойти, на шд как раз есть энкодер, одну из его фаз дополнительно смогу завести на контроллер.


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 15:45 
Не в сети

Регистрация: Вт ноя 13, 2007 23:10
Сообщения: 73
Откуда: Canada
vas455 писал(а):
Поставить датчик прям в месте срабатывания клапана не могу, в этом и проблема.
Изделие сверху прижимается роликом.

Ну так поставьте датчик сбоку. И не обязательно близко, датчики разные бывают.

Без датчика в месте срабатывания клапана, я вижу два варианта.
1. Использовать высокочастотный счетчик, сбрасываемый датчиком.
Клапан включать инструкцией CTBL.
2. Не использовать высокочастотный счетчик. а создать прерывания и в них считывать кол-во выданных импульсов инструкциями PRV.
Датчику присвоить прерывание по входу и в нем запоминать начало объекта.
В 1мс прерывании по таймеру отслеживать движение и включить клапан. с немедленным обновлением выхода. Инструкцию =SL не использовать, только SL<= и SL>=.
Запоминать начало объекта можно и в том же прерывании по таймеру, тогда прерывание по входу не нужно.


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 15:58 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
С датчиком непосредственно у места прижама вообще нет вариантов, ни сверху ни сбоку.
Но об этом еще раз подумаю когда дойду до сборки, датчик итак уже выбрал максимально быстры и точный Волоконно-Оптический датчик диффузного отражения с диаметром луча 0.5мм и расстоянием обнаружения 10мм и скоростью 80us.
Попробую оба варианта, предложенные xyzz, но более простой наверное 1.
Большое спасибо за предложения!
О результате смогу отписаться только через несколько месяцев, как приедут детали.
Если есть еще идеи, то готов хз рассмотреть :wink:


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 20:02 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Вроде нет запрета проводом подать импульсы с выхода, на скоростной вход контроллера и использовать скоростной счётчик и CTBL.


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Вт май 26, 2020 20:04 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
На работе лежит cp1e для всяких тестов, завтра попробую подать импульсы с выхода на вход


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Чт дек 10, 2020 16:51 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
Добрый день!
Кто подскажет, есть ли вариант автоматического сброса высокоскоростного счетчика при начале сравнения с диапазоном при использовании команд CTBL, PRV ?
В настройках входа есть 4 варианта
Phase Z and software reset
Software reset
Phase Z and software reset (continue comparing)
Software reset (continue comparing)

Сейчас у меня стоит Software reset (continue comparing), но при этом вместе с запуском сравнения приходится через INI обнулять счетчик, иначе не сбрасывается.


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Чт дек 10, 2020 21:25 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
Датчик, по которому нужно обнулить счётчик, заведите на вход контроллера, который поддерживает прерывания. В прерывании обнулите счётчик через INI, и взведите какой то бит, по этому биту в основной проге выполните CTBL и сбросьте этот бит.

CTBL наверно проще настраивать не на диапазон, а на одну позицию. В прерывании от этой функции сравнение и отключить можно.
Для выхода на клапан, (в прерывании) не забудьте немедленную регенерацию указать.
------
я только Software reset использую.


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Чт дек 10, 2020 23:07 
Не в сети

Регистрация: Вс окт 08, 2017 01:28
Сообщения: 152
Откуда: Рязань
Благодарю за ответ!
Сегодня тестировал без прерываний, все вроде работает, но так наверно неправильно.
Исходя из всех обсуждений и советов, планирую переделать на след вариант:
1)датчик завожу на вход прерывания, при срабатывании датчика вызывается прерывание, оно обнуляет высокоскоростной счетчик и, регистрирует таблицу и запускает сравнение ( это одной командой CTBL ).
2)Когда счетчик достигает нужного значения, то вызывается прерывание из CTLB, которое включает выход с клапаном где стоит модификатор мгновенного обновления, в этом же прерывании останавливаю сравнение, все верно?

Просто до этого с прерываниями не работал, но примеры в мануале вроде есть
И где можно посмотреть все номера задач обработки прерываний?

В приведенном ниже примере задача обработки прерывания от
скоростного счетчика (задача номер 10)

Для входов cp1h задачи 140-147, а для ctbl я могу сам задать номер задачи?
Задачи с прерываниями писать в основном теле программы или сделать отдельные задачи?


В начало
 Профиль  
 
 Заголовок сообщения: Re: CP1H Подсчет кол-ва импульсов на выходе
СообщениеДобавлено: Пт дек 11, 2020 08:58 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3510
Откуда: Москва
2. Возможно останавливать сравнение не понадобиться, т.к. точку прерывания уже проехали. Остановка вроде через INI.

Для CTBL номер задачи прерывания выбирается произвольно, и т.к. это отдельная задача, то она ни как не может быть в теле другой задачи.

Для входов номера задач фиксированны, нужно в инструкции искать.

MSKS для настройки и включения прерываний, без неё вход не заработает.

---------------------------
А без прерываний цилиндр промахивается?


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 18 сообщений ]  На страницу 1, 2  Вперёд

Часовой пояс: UTC + 3 часа (Russia: MSK)


Кто сейчас на конференции

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 11


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

Найти:
Переход:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3