Просмотр полной версии : инкрементальный энкодер и плк100
toha-slimboy
10.09.2009, 16:14
Дело в подключении инкрементального энкодера:confused: . Подключил энкодер по схеме n-p-n с "общим коллектором" через ПДИМ8 к ПЛК100,настроил в конфигураторе подмодуль "энкодер"......залогинелся....начинаю круить ручку энкодера с целью получения импульсов....крутишь быстро-количество импульсов не меняется,крутишь ооочень медленно-вроде считает то что надо,но иногда тормозит...может кто сталкивался...подскажите как сделать чтобы считал импульсы без глюков???!!!!????!!!
Дело в подключении инкрементального энкодера:confused: . Подключил энкодер по схеме n-p-n с "общим коллектором" через ПДИМ8 к ПЛК100,настроил в конфигураторе подмодуль "энкодер"......залогинелся....начинаю круить ручку энкодера с целью получения импульсов....крутишь быстро-количество импульсов не меняется,крутишь ооочень медленно-вроде считает то что надо,но иногда тормозит...может кто сталкивался...подскажите как сделать чтобы считал импульсы без глюков???!!!!????!!!
частота какая?
при подключении энкодеров максимальная частота л\для ПЛК 100 1-1,5 кГц.
Дмитрий Артюховский
10.09.2009, 17:15
и главное не забыть снять фильтрацию со входов... хотя все равно не получиться нормального энкодера, только ручной ввод какой-либо величины.
а, еще учтите, что считать будет по каждому фронту, т.е. энкодер на 100 имп / оборот даст в этой связке 400! не удивляйтесь )))
toha-slimboy
11.09.2009, 13:23
частота какая?
при подключении энкодеров максимальная частота л\для плк 100 1-1,5 кгц.
в паспорте указана что частота для обработки энкодера 10кгц!!!!!!!!!!....а 1-1,5кгц это при программной обработке:( ...он же должен хотя бы правильно импульсы получать и считать их.....а считает с глюками, их я описал выше....мой энкодер выдает 1024имп/об
lara197a
11.09.2009, 14:04
10кгц - при скважности не менее 0,5 мс.
но т.к. энкодер обрабатывает фронты сигналов,то
реально для для работы с энкодером нужно подбирать счетчик с разрешением в 4-10 раз больше.
иначе фронты не будут обрабатываться. на 1 импульс в энкодере обрабатывается 4 фронта.
toha-slimboy
11.09.2009, 15:29
скважность не менее 0,5????....какая скважность???? скважность не может быть меньше даже 1!!!!т.к скважность=период импульса/длительности импульса,так написано.http://ru.wikipedia.org/wiki/%D0%A1%D0%BA%D0%B2%D0%B0%D0%B6%D0%BD%D0%BE%D1%81%D 1%82%D1%8C...что имелось в виду под скважностью???
Филоненко Владислав
11.09.2009, 16:00
1024 импульса на оборот, 4096 фронтов на оборот, для детектирования фронта надо 2 выборки =>8196 выборок на оборот. вот и наши 10 кгц - предел работы оптронов.
хотите больше - покупайте специализированный модуль для работы с энкодерами (си8/cи30) или другой фирмы.
ПЛК рассчитывался для работы с механическими энкодерами, ручку уставки на панель вывести, например. А оптические высокоскоростные энкодеры - это всегда отдельные приборы для работы с ними.
toha-slimboy
11.09.2009, 16:49
значит плк100 может обрабатывать только "медленные" энкодеры.....так что-ли....ведь можно как-то реализовать нормальную обработку с высокоскоростными энкодерами.....как же так....
эмм... это имхо скорее аппаратная проблема, чем програмная,(имхо) то есть, стоят на входах "медленные" оптроны... в угоду доступности. (по цене)
можете присмотреться к плк 110-32 там есть пара "быстрых входов"
(если оборудование уже не закуплено.)
или я по поводу "быстрых" ошибаюсь?
lara197a
11.09.2009, 20:45
в плк110.32 и 60 -соответственно 2 и 4 скоростных входа.
как говорили частота 50кгц, собираются поднять до 100.
сам не проверял.
инфа от тех поддержки.
Филоненко Владислав
11.09.2009, 21:04
100кгц не будет. 50 есть. 50 т.семплов в секунду. далее реализуете энкодер или пользуетесь нашим
Филоненко Владислав
11.09.2009, 21:06
значит плк100 может обрабатывать только "медленные" энкодеры.....так что-ли....ведь можно как-то реализовать нормальную обработку с высокоскоростными энкодерами.....как же так....
Можно, ПЛИСиной например, готовьте килобаксы...:D
toha-slimboy
12.09.2009, 23:09
да прогу и я напишу.....просто обязательно необходимы высокоскоростные входы походу....СИ8 считает импульсы на ура....хотя у него 8кгц входы!....ни чё не пойму:confused: .....либо приборы кривые, либо лыжи не едут....
Дмитрий Артюховский
13.09.2009, 15:07
можно, плисиной например, готовьте килобаксы...:d
... эт студентов пугайте.... ))) ну не подумали вы при проектировании про интеграцию копепечной плиски к себе в контроллер )))...
... а в жизни, если не нужно абсолютная привязка к каждому импульсу, можно делать суррогат. ставиться D-триггер для определения направления вращения, далее, для импульсов фазы а создается модуль -счетчик. направление заводиться на обычный вход. идея в том, что скорость не набирается мгновенно, значит будет хоть пара отсчетов которые можно обработать софтом и определив, что скорость вращения увеличилась, переключиться на скоростной метод работы - по одной фазе. "поезд мгновенно остановить невозможно", поэтому перед реверсом будет замедление, вплоть до остановки, которую также нужно поймать софтом.
Дмитрий Артюховский
13.09.2009, 15:13
100кгц не будет. 50 есть. 50 т.семплов в секунду. далее реализуете энкодер или пользуетесь нашим
50 кгц конечно получается, но вот обработчик уж очень лаконичный нужен )))) 30 строчек Il или 10 St забивают цикл контроллера 1 мс напрочь. при 25 кгц уже можно жить.
... сдам проект - стану почетным гражданином лаконики )))
Филоненко Владислав
13.09.2009, 18:38
добро пожаловать в клуб программистов прерываний. а вы думали булочки на деревьях растут?
и таких прерываний в плк не одно!
а по поводу плисины - сколько не видел решений - энкодеры через отдельный блок, т.к. плис не такая и дешевая (сравнима с процессором по цене), а нужна %потребителей - остальные не захотят переплачивать.
в рэ мы, к сожалению, внесли несколько некорректные данные (сразу не поймешь как интерпретировать 10кгц).
Дмитрий Артюховский
14.09.2009, 10:15
добро пожаловать в клуб программистов прерываний. а вы думали булочки на деревьях растут?
и таких прерываний в плк не одно!
....
в этом клубе я не один десяток лет ))) еще наши загрузчики программ на "ZX-spectrum" выводили сложные картинки и музон и не дергали экраном! Да и сейчас, мой контроллер выполненный на MSC-51 дает 200 очков форы реализациям задачи на ПЛК-100 и ПЛК-110. Хотя и работаю на нивелированием разницы )))
а те усилия, которые потрачены вами на "верхний пик", нижний пик" и способы их связи с ядром, вполне можно было потратить на освоение, конфигурируемой при старте,(FPGA) плиски... и получили ни с чем не сравнимую гибкость при выборе модулей. А стоимость решения не вышла бы за бюджет.
Филоненко Владислав
14.09.2009, 11:38
Да, 51-й работал с Ethernet, интересно...
И жесткая программа с ограниченным функционалом всегда выиграет у гибкой системы для программирования на языках CoDeSys.
ПЛИС рассматривали, но дорого это очень.
"те усилия, которые потрачены вами на "верхний пик", нижний пик" и способы их связи с ядром, вполне можно было потратить на освоение" - а что тут сложного? Какие усилия?
toha-slimboy
14.09.2009, 12:08
люди!!!куды вас занесло!!!....тут тема по работе энкодера и плк100.....
Дмитрий Артюховский
14.09.2009, 13:41
люди!!!куды вас занесло!!!....тут тема по работе энкодера и плк100.....
:D прошу прощения )) ток ответ дан, тема исчерпана, вот и флуд.
Если итожить:
- модуль "энкодер" ПЛК100 предназначен для работы с "ручными" энкодерами, с небольшой дискретой, например bourns-0024 и ручным приводом оного.
- если нужен высокоскоростной счет, то снимаем фильтрацию с входов (значение -1), делаем модуль "счетчик 16 бит" и считаем импульсы одной фазы, определяя направление счета в моменты начала движения.
Других возможностей ПЛК 100 не дает.
toha-slimboy
15.09.2009, 08:04
вооотттт!!!!......истина.....:d
toha-slimboy
21.09.2009, 13:11
кстати, люди подскажите....почему плк считает не импульсы а фронты?????....эт же как-то непонятно!!!!
Филоненко Владислав
21.09.2009, 14:56
есть много способов реализации, но во всех внутри считаются фронты. иначе нельзя определить направление.
мы решили не снижать точности энкодера и выдавать все фронты. а если такая точность не нужна - делите на 2 или 4.
toha-slimboy
21.09.2009, 16:37
а какая связь между фронтами,точностью энкодера и определением направления????.....непонятно!!!....вращяем вперед-придёт два передних фронта, вращаем назад-придёт два передних фронта....а и в-одинаковые,только сдвинуты.....так как определить по фронтам!!!?????!!!!
при вращении вперёд сначала приходит фронт а, потом в, при вращени назад - наоборот.
если быдет 100 это будет очень клёва
toha-slimboy
22.09.2009, 08:14
при вращении вперёд сначала приходит фронт а, потом в, при вращени назад - наоборот.
ДА это понятно!....А и B одинаковые же, близнецы, по суте это один и тот же импульс просто сдвинуты по фазе на 90.....соответственно и фронты у них одинаковы!!!....или тут просто это надо принять и точка
по времени прихода фронта определять.
toha-slimboy
22.09.2009, 10:05
ааааа......вооон оно как....
Powered by vBulletin® Version 4.2.3 Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. Перевод: zCarot