PDA

Просмотр полной версии : Быстрый счетчик на ПЛК110. Не видит быстрый вход.



Валерий Бурик
15.02.2019, 00:06
Доброго времени суток!
Есть "икс" энкодер (одно канальный) с которого выходит чистый меандр 24В с частотой 5 кГц. Необходимо считать количество импульсов и останавливать двигатель работающий через частотник. Это польский дерево-отбраковочный станок. У родного ПЛК в очередной раз слетела программа. Опять отправлять на завод контроллер, чтобы его запрограммировали за 1000 у.е нет смысла. Он, станок, с завидным постоянством гробит программу.
Есть в наличии ПЛК110-32, правда с релейным выходом, что думаю не страшно. Точность там не высокая.
Контроллер 2009 г. выпуска. Замерил напряжение на аккумуляторе, 3,8В, вроде норма.
Посмотрел в примерах, нашел видео с энкодером, обрадовался. Как для меня писано. Набрал по видео.

https://www.youtube.com/watch?v=WfIRyDNOf3k

Запустил, и началось. Связь с компьютером по USB неустойчивая, но это не главное, главное не видит входа. Если не быстрый вход то кнопку подключенную к нему видит. А, на быстрых входах, вообще ничего не видит. В качестве источника использую простой стенд на ATmega8. Его МК выдает почти меандр, с требуемой частотой 5 кГц. Один из его выходов нагружен на транзистор с открытым коллектором, который в свою очередь дает полноценный сигнал в 24 Вольта.
Подскажите! Программа приведенного примера написана для ПЛК110-32 М02, будет ли она работать на старых контроллерах? Частота не большая для моего контроллера? Может чего в видео не досказано? Да, и другой пример не работает. Программу изучил почти на память, набирал вручную.
За ранее благодарю! Всем успехов!

Валерий Бурик
16.02.2019, 09:00
Доброго времени суток!
Кое-что удалось добиться! Быстрый счет начал считать, но пропускать входные импульсы.
Я, создал новый проект, настроил их на быстрый режим и подал на вход счетчика СТU, взятый с стандартной библиотеке. Все, как мне кажется, в приведенном выше примере.
Как только подал на вход счетчика пакет из 6200 импульсов с частотой 5 кГц, то счетчик отсчитал всего 570.
Вопрос! Входа быстрые, а счетчик медленный?
Спасибо!

Вольд
16.02.2019, 14:41
Сколько импульсов на оборот имеет энкодер. Может столько и не надо. Однажды модернезировали немецкое оборудование, там стоял энкодер с 1000 имп./оборот. После простых расчетов стало ясно, что достаточно 100 имп./оборот. Так и сделали.

Валерий Бурик
16.02.2019, 17:15
Спасибо Вольд за ответ! Когда станок работает с "глюкнутой" программой, он выдает всего одну координату, с импульсами в 5 кГц. С такой скоростью движется лента. Зная длину ленты, а это 7,7 м, нетрудно вычислить импульсы на метр. Оговорюсь, этим станком я занимаюсь третьим. После моих предшественников мне достался неполная программа, исходник без подсчета импульсов. В ней записано значение 6200 импульсов на метр. У меня по расчетам 5800, что одного порядка.
Теперь о программе. Как гласит закон Мерфи "Если у Вас что-то не получается, то прочтите наконец, инструкцию". Так, и с моим случаем. Пока результата не добился, но думаю что уже близко. Почитал руководство пользователя, кое что становится ясно. Как писалось на соседнем форуме, что надо знать концепцию ПЛК, т.е. принцип его работы. Думаю, многим, кто работал с микроконтроллерами пришлось менять свое мировозрение. То, что в МК получается как само собой разумеющее в ПЛК реализовано по другому. И, не надо ругаться и поддавать сомнению принцип построения работы ПЛК, т.к.ее писали отнюдь не глупые люди.
Успехов!

Вольд
16.02.2019, 17:55
Какая нужна точность позиционирования ? И все таки сколько импульсов на оборот имеет энкодер ?

Валерий Бурик
16.02.2019, 21:35
Точность позиционирования 2-3 мм, думаю можно и больше. Энкодер имеет 1024 импульса на оборот. Тип плохо читается, но 1024 видно.
Станок отбраковывает (отрезает) по линии нанесенной маркерной метке деревянную доску. Т.е человек наносит специальным мелком линию, например до и после сучка. Сучек отбраковывается (вырезается) двигающейся дисковой пилой, а остальное идет на сращивание.
Подсчитал, один импульс энкодера (шаг), это 0,16 мм. Для дерева это точность даже и большая. Я, серьезно занимался электронными линейками на ленточные пилорамы, так с практики получается самый удобный шаг это 0,25 мм. Как правило 0,25 не получается а, например, 0,2445.
Успехов!

lara197a
17.02.2019, 10:21
Вы в настройках входа счетчика время фильтрации -1 поставили?
Лучше для этой задачи купить ПЛК110М, а еще лучше простенькую Дельту или Омрон.
Будет дешевле и надежнее.
ПЛК 110 не подходит для таких задач.

Вольд
17.02.2019, 10:34
Точность позиционирования 2-3 мм, думаю можно и больше. Энкодер имеет 1024 импульса на оборот. Тип плохо читается, но 1024 видно.
Станок отбраковывает (отрезает) по линии нанесенной маркерной метке деревянную доску. Т.е человек наносит специальным мелком линию, например до и после сучка. Сучек отбраковывается (вырезается) двигающейся дисковой пилой, а остальное идет на сращивание.
Подсчитал, один импульс энкодера (шаг), это 0,16 мм. Для дерева это точность даже и большая. Я, серьезно занимался электронными линейками на ленточные пилорамы, так с практики получается самый удобный шаг это 0,25 мм. Как правило 0,25 не получается а, например, 0,2445.
Успехов!

Если точность позиционирования 2...3 мм, то использовать энкодер с 1024 имп./оборот нет никакой нужды. Если поставить энкодер с 200 имп./оборот, то цена одного импульса будет 0,82 мм, что легко обеспечит точность позиционирования. Частота следования импульсов при этом уменьшится в 5 раз.

Валерий Бурик
17.02.2019, 15:01
Спасибо за ответы! Может быть так и придется поступить. Но, скорее придется менять контроллер. А, с датчиком, идея! Можно ведь на входе контроллера поставить предделитель на четыре, или восемь. Спасибо Вольд!
В станке стоит контроллер HEXE-220c014CD01. Среда программирования Cskape 9.8. Сведений об этом контроллере мало, да и скупо описана среда Cskape. а, и сам контроллер сбоит, скорее из-за помех. Но нельзя откидывать и вариант, чтобы написать программу для HEXE-220.
Успехов!

Val64
17.02.2019, 23:11
Добрый вечер.
Валерий Бурик.
Может я не в тему, но обратите внимание вот на эти ссылки:
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=3428
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=1470
http://www.cnc-club.ru/forum/viewtopic.php?f=41&t=3737
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=9406
Тут на базе обычного компьютора в Linux можно собрать (целый програмный станок), как я понял вам нужно всего одну координату.
Я на этой базе делал трех координатнный станок(с платой 5i20).
Прекрасно работает от LPT порта , LPT порт одну координату с датчиком энкодер с 1024 имп./об. и
может еще штурвал подключить на 100 импульсов. И также будет прекрасная индикация перемещения.
Там же и всю автоматику можно сделать, я делал карусельный станок http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=13003
Как говорится дешево и сердито, но придется по трудится, если что обращайтесь чем смогу то помогу.
Это не реклама.

Валерий Бурик
17.02.2019, 23:33
Спасибо Val64! Обязательно посмотрю. Может пригодиться.

Валерий Бурик
18.04.2019, 21:29
Решил написать. Задача решена. Контроллер все входа видит. Станок работает. При том что энкодер на одном входе, а маркерный датчик на втором. Работают независимо друг от друга. ПЛК все успевает просчитать. Как работать с быстрыми входами есть в документациях. Старый контроллер имел на выходе управления транзисторные ключи. У моего ПЛК релейный выход. Станку как оказалось все равно, что транзисторный ключ, что "сухой" контакт реле. Правда пришлось повозиться с временными задержками. Казалось простая задача остановить конвейер на 0,25 секунды. Но как все знают, что в ПЛК это с наскока не возьмешь. Возился с таймерами, как то все "косо" получалось. Благо основной алгоритм работы писался на языке SFC. Ввел пустой шаг с атрибутами задержки времени, и все заработало.
Еще раз спасибо всем! Успехов и удачи!