Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: AB-счетчик и ПЛК Mitsubishi Electric FX3U
Mitsubishi Electric. Контроллеры, преобразователи частоты, HMI > Контроллеры Melsec FX > Программирование
Dexx
Здравствуйте!
Возникли сложности со счетом импульсов от двух энкодеров.
Дано: FX3U и 2 энкодера SICK DFS-60B(на 10000импульсов/оборот для определения угла поворота).
Подключены энкодеры на входы X0-X5.
1й: фаза A-X0, фаза B-X1, Z-X2.
2й: соответственно на X3,X4,X5.
Используются счетчики C251 и C253.
Замечу, что про канал Z в инструкциях к контроллеру ничего не написано и, когда я подключил только 2 фазы, счетчик не считал должным образом, а фиксировал импульсы только при очень медленном перемещении, да и то в одну сторону. Когда же был подключен Z на вход X2, то все стало работать как надо. Далее так же был подключен и второй энкодер. Однако, он постоянно сбрасывался, воспринимал сигнал по каналу Z как сигнал сброса. Порывшись в инструкциях, но до конца не поняв сути, нашел такую инструкцию |M8388|-(M8392). Ввел ее в программу и второй счетчик начал правильно считать.
Но обнаружилась одна странная особенность: при останвке одного из энкодеров в некоторых положениях, второй счетчик перестает считать. По индикаторам на лицевой панели контроллера можно сделать вывод, что один из счетчико перестает считать в моменты, когда другой остановился при включении сразу двух фаз A,B, либо Z.
т.е. 1й не считает, если горят индикаторы X3+X4(фазы AB второго). при попытке крутить второй энкодер горят все индикаторы X0-X5, при остановке опять загораются X3+X4(фазы AB второго) либо X2+X5(обе фазы Z).
Соответственно, 2й перестает считать когда 1й остновился в момент X0+X1 и при попытке прокручивания только второго, опять горят все индикаторы, а при остановках либо X0+X1(фазы AB парвого), либо X2+X5(обе фазы Z).
Не знаю, на сколько ясно смог выразить суть вопроса. Надеюсь на помощь. Спасибо.
Sergei Troizky
Цитата(Dexx @ 14.08.2009 - 17:28) *
Здравствуйте!
Возникли сложности со счетом импульсов от двух энкодеров.
Дано: FX3U и 2 энкодера SICK DFS-60B(на 10000импульсов/оборот для определения угла поворота).
Подключены энкодеры на входы X0-X5.
1й: фаза A-X0, фаза B-X1, Z-X2.
2й: соответственно на X3,X4,X5.
Используются счетчики C251 и C253.

Такому подключению соответствуют счетчики С252, С253.
Оба должны быть постоянно активированы, например, битом М8000.
Никаких дополнительных битов включать не нужно.
Канал сброса Z в инструкции обозначен R.

Если все сделано так, и по-прежнему энкодеры влияют друг на друга, возможно, они подключены неверно аппаратно.
По-видимому, речь идет об энкодере SICK DFS60B-T4AA10000 с TTL интерфейсом.
Каким образом он подключен к входам PLC?
Dexx
Цитата(Sergei Troizky @ 15.08.2009 - 07:24) *
Такому подключению соответствуют счетчики С252, С253.
Оба должны быть постоянно активированы, например, битом М8000.
Никаких дополнительных битов включать не нужно.
Канал сброса Z в инструкции обозначен R.

Если все сделано так, и по-прежнему энкодеры влияют друг на друга, возможно, они подключены неверно аппаратно.
По-видимому, речь идет об энкодере SICK DFS60B-T4AA10000 с TTL интерфейсом.
Каким образом он подключен к входам PLC?

Спасибо за ответ, но:
при испльзовании C252 счетчик постоянно сбрасывается, видимо сигналом Z.
оба счетчика постоянно активированы.
если убрать инструкцию |M8388|-(M8392), то перестает считать C253.
вот именно, есть канал сброса R, а канал Z, на с колько я понял, используется как вспомогательный - помогает определить направление счета.

возможно, это влияние счетчиков друг на друга, а возможно это влияние на контроллер, который не корректно отрабатывает остановку энкодера в положении одновременно включенных фаз A и B
энкодеры DFS60B-S4PK10000. питание 5-32VDC. подключены как я и писал на X0(A),X1(B),X2(Z),X3(A),X4(B),X5(Z). питание беру с контроллера.
Sergei Troizky
По поводу постоянно сбрасываемого С252- попробуйте поменять активный уровень сигнала сброса (LD M8388 OUT M8389). Возможно, данный энкодер имеет инвертированный сигнал сброса.
Либо наоборот, попробуйте убрать эту строку, если она есть в программе.
Что касается LD M8388 OUT M8392, это превращает С253 в счетчик без сброса.
Возможно, потому он и начинает считать, что вышеуказанный фактор перестает влиять.
Z и R- это одно и то же по терминологии различных компаний, и означает сигнал нулевого (Z) положения энкодера, он же сброса ® счетчика.
Направление счета определяется исключительно фазными сигналами А и В.

Остается в силе вопрос о подключении.
Указанный энкодер програмно конфигурируется на TTL или HTL формат выходов. Что у Вас?
TTL однозначно не подходит, и ни один из них не является выходом с открытым коллектором, требующимся в данном случае. Могут понадобиться дополнительные компоненты.
Желательно увидеть схему подключения.
Dexx
C (LD M8388 OUT M8389) ничего не выходит. счетчик вообще не считает, а без LD M8388 OUT M8392 вообще оба перестали считать. Все правильно C253 становится счетчиком без сброса. Для чего вообще инкрементальному энкодеру нулевое положение? сигнал Z должен быть 1 на 1 оборот? В теории я понимаю, что направление определяется фазами A и B, но на практике у меня выходит, что при очень медленном вращении энкодера, я по индикации входов вижу когда какой сигнал включается. так вот, получается такая последовательность: ABZ в одну сторону, BAZ в другую сторону. сигнал Z будет в каждом цикле. только если крутить быстрее тогда мигают только AB, а Z не мигает, либо не успевает отображаться.

При заказе мы выбирали конфигурацию HTL.
Схема:
Энкодер имеет 8 контактов. 3 попарно сигналов - прямых и инверсных(я так понимаю, обозначены надчеркиванием)
1 A с чертой
2 A (X0,X3)
3 B с чертой
4 B (X1,X4)
5 Z с чертой
6 Z (X2,X5)
7 GND (0V)
8 +Us (24V)
Screen

если ни одна из конфигураций не подходит ( TTL,HTL), то почему счетчики по отдельности работают корректно, а вместе - нет?
какие могут понадобиться компоненты? может действительно проблема в подключении. потому что, я только что пробовал при одном подключенном счетчике остановить его в положении одновременно включенных фаз A и B - не вышло! как ни старался, а горел только один сигнали - либо A, либо B, либо Z.
Sergei Troizky
Цитата(Dexx @ 18.08.2009 - 09:48) *
Для чего вообще инкрементальному энкодеру нулевое положение?

?!
Именно инкрементальному оно и нужно, а абсолютному- ни к чему.

Цитата(Dexx @ 18.08.2009 - 09:48) *
сигнал Z должен быть 1 на 1 оборот? В теории я понимаю, что направление определяется фазами A и B, но на практике у меня выходит, что при очень медленном вращении энкодера, я по индикации входов вижу когда какой сигнал включается. так вот, получается такая последовательность: ABZ в одну сторону, BAZ в другую сторону. сигнал Z будет в каждом цикле. только если крутить быстрее тогда мигают только AB, а Z не мигает, либо не успевает отображаться.

Да, у непрограммируемых энкодеров- один Z на оборот.
Так что, последовательность должна быть: ABABA(B+Z)ABABAB или BABAB(A+Z)BABABA.

Цитата(Dexx @ 18.08.2009 - 09:48) *
Если ни одна из конфигураций не подходит ( TTL,HTL), то почему счетчики по отдельности работают корректно, а вместе - нет?
какие могут понадобиться компоненты? может действительно проблема в подключении. потому что, я только что пробовал при одном подключенном счетчике остановить его в положении одновременно включенных фаз A и B - не вышло! как ни старался, а горел только один сигнали - либо A, либо B, либо Z.

Я не понял из описанного, чтобы хоть один счетчик работал корректно.
Советую отключить сигналы Z, оставив номера счетчиков прежними, и убедиться, что счетчики работают.
Для удобства наблюдения индикаторов, можно временно перепрограммировать энкодер на меньшее число импульсов.
Если не работают, возможны проблемы с подключением.
Из предыдущего неясно, под какую полярность сигналов сконфигурированы входы PLC.
Только добившись правильной работы счетчиков, разбираться со сбросом.
Dexx
Спасибо за помощь, но все решилось просто. Была глупая ошибка, исправив которую все стало стабильно работать. Нужно было соединить +24В с S/S. но, все-таки, принцип сигнала Z я так до конца и не понял.
VAL_64
Добрый день.
Пробую разобраться с Энкодером.
Подключил Энкодер ЛИР 158А 10-30 вольт 2500 им\об., на Х0 и Х1 , вроде все считает и в плюс и в минус
крутил с разной скоростью импульсы не пропускает, всегда приходит в свое положение.
В блоке COUNTER32_M вход CValue на что влияет?
Побывал менять разницы вроде не вижу, и одно предупреждение при компиляции выдает, критично это или нет
И вообще я в правильном направлении иду, хочу попробовать цифровую индикацию с выводом на панель
acoustik
Цитата(VAL_64 @ 2.03.2017 - 18:14) *
Добрый день.
Пробую разобраться с Энкодером.
Подключил Энкодер ЛИР 158А 10-30 вольт 2500 им\об., на Х0 и Х1 , вроде все считает и в плюс и в минус
крутил с разной скоростью импульсы не пропускает, всегда приходит в свое положение.
В блоке COUNTER32_M вход CValue на что влияет?
Побывал менять разницы вроде не вижу, и одно предупреждение при компиляции выдает, критично это или нет

У каждого высокоскоростного счетчика есть три переменные:
CN - текущее значение. На втором вашем скриншоте это С251.
СС - катушка (вход) счетчика. В данном случае это счетчик 251, привязанный к входам х0 х1
CS - выходной контакт, включающийся, когда значение счетчика достигнет/превысит значения, указанного в CValue. Вы можете его увидеть, включив в программу булеву переменную CS251.
Касательно предупреждений, ничего страшного. Это просто компилятор ругается на то, что вы указываете прямые адреса. Определите их глобальными переменными и предупреждения исчезнут.

Цитата(VAL_64 @ 2.03.2017 - 18:14) *
И вообще я в правильном направлении иду, хочу попробовать цифровую индикацию с выводом на панель

Все зависит от того, какова идея в принципе. wink.gif
VAL_64
Цитата(acoustik @ 2.03.2017 - 19:04) *
Цитата(VAL_64 @ 2.03.2017 - 18:14) *
Добрый день.
Пробую разобраться с Энкодером.
Подключил Энкодер ЛИР 158А 10-30 вольт 2500 им\об., на Х0 и Х1 , вроде все считает и в плюс и в минус
крутил с разной скоростью импульсы не пропускает, всегда приходит в свое положение.
В блоке COUNTER32_M вход CValue на что влияет?
Побывал менять разницы вроде не вижу, и одно предупреждение при компиляции выдает, критично это или нет

У каждого высокоскоростного счетчика есть три переменные:
CN - текущее значение. На втором вашем скриншоте это С251.
СС - катушка (вход) счетчика. В данном случае это счетчик 251, привязанный к входам х0 х1
CS - выходной контакт, включающийся, когда значение счетчика достигнет/превысит значения, указанного в CValue. Вы можете его увидеть, включив в программу булеву переменную CS251.
Касательно предупреждений, ничего страшного. Это просто компилятор ругается на то, что вы указываете прямые адреса. Определите их глобальными переменными и предупреждения исчезнут.

Цитата(VAL_64 @ 2.03.2017 - 18:14) *
И вообще я в правильном направлении иду, хочу попробовать цифровую индикацию с выводом на панель

Все зависит от того, какова идея в принципе. wink.gif

C счетчиками понял, все кратко и доходчиво.
Я все про тот же станок там имеется два датчика БС 155 синусоидальный: три фазы запитки сдвинутые на 120 градусов и выход.
Каждый датчик стоит на своем редукторе(поперечная и продольная подача) с выборкой люфта, шаг редуктора 1 оборот датчика 20 мм. перемещения.
Хочу в место них приспособить ЛИР 158, выточить стакан под ЛИР, ну и переходную муфту расточить на вал датчика ,
это мы делали на других станках.
Как я выше говорил шаг редуктора 1 оборот датчика 20 мм перемещения, ставим ЛИР на 2000 им\об. и нам даже не надо будет пересчитывать
импульсы будет один к одному, один импульс-одна сотка.
Панели еще конечно не програмировал, но в программе Kinco HMIware немножко пробовал, понравилось.
Мне кажется это решаемая задача с двумя датчиками
acoustik
Цитата(VAL_64 @ 3.03.2017 - 00:48) *
C счетчиками понял, все кратко и доходчиво.
Я все про тот же станок там имеется два датчика БС 155 синусоидальный: три фазы запитки сдвинутые на 120 градусов и выход.
Каждый датчик стоит на своем редукторе(поперечная и продольная подача) с выборкой люфта, шаг редуктора 1 оборот датчика 20 мм. перемещения.
Хочу в место них приспособить ЛИР 158, выточить стакан под ЛИР, ну и переходную муфту расточить на вал датчика ,
это мы делали на других станках.
Как я выше говорил шаг редуктора 1 оборот датчика 20 мм перемещения, ставим ЛИР на 2000 им\об. и нам даже не надо будет пересчитывать
импульсы будет один к одному, один импульс-одна сотка.
Панели еще конечно не програмировал, но в программе Kinco HMIware немножко пробовал, понравилось.
Мне кажется это решаемая задача с двумя датчиками

Датчики БС155 с тремя фазами - скорее всего сельсины. ЛИР же - это энкодеры.
acoustik
Для них вам придется занять первые 6-8 входов на ПЛК, но вроде как там они уже заняты, насколько я понимаю.
И если эта тема в продолжении темы станка, то лучше бы, наверное, продолжить ее там же, чем скакать по разным темам, касающегося одного вопроса. Или заведите новую.
Русская версия IP.Board © 2001-2024 IPS, Inc.