Через контроллер реализовать это не возможно, даже если вы возьмете 7 модулей высокоскоростных счетчиков, так как существует скан цикл контроллера, который будет вносить задержку -> влиять не лучшим образом на работу привода.
Речь то идет не о 7 счетчиках, а одном скоростном IO блоке, как я понял, это разные модули. Пускай себе он гонит скоростной сигнал с выхода на вход, внутри себя, а основной ПЛК лишь иногда будет вмешиваться в его работу и переключать выход к другому входу. Блин, где бы подробный даташит на этот блок найти.
Т.е. вначале, скажем первые 40 секунд, на выход идет сигнал с 1го энкодера, потом движок переключается и на выход идет сигнал второго энкодера и так далее.
0 0000 ORG 0000h
1 0000 F3 DI
2 0001 76 HALT
Assembly complete
0 Errors
1 Warning
0 0000 ORG 0000h
1 0000 F3 DI
2 0001 76 HALT
Assembly complete
0 Errors
1 Warning
Первоначально опубликовано DI HALT
Пускай себе он гонит скоростной сигнал с выхода на вход, внутри себя, а основной ПЛК лишь иногда будет вмешиваться в его работу и переключать выход к другому входу.
Такого быть не может - учите мат часть как работает контроллер. Между входом и выходом в ПЛК программа со своим скан циклом -> задержка о которой регулятор привода даже в страшном сне мечтать не мог & пропущенные и не до выданные импульсы -> работе привода .
ЗЫ Я еще понимаю когда таким мазохизмом занимаются (с двумя серводвижками) бедные станочники, зарабатывающие себе на корочку хлеба с икоркой. Но когда подобному учат в институте! да еще и с семью движками.
Первоначально опубликовано Pike
Такого быть не может - учите мат часть как работает контроллер. Между входом и выходом в ПЛК программа со своим скан циклом -> задержка о которой регулятор привода даже в страшном сне мечтать не мог & пропущенные и не до выданные импульсы -> работе привода .
Да я знаю это :) Но, как нам обьяснял препод, скоростной модуль DL это, своего рода, со-контроллер с очень коротким скан циклом, позволяющий производить опрос и реакцию на сигналы со скоростью 100кГц и подчиненный главному PLC, который задает режимы работы этого модуля.
Мне то, в общем, глубоко плевать как реализовать это мультиплексирование. Мне проще поставить туда твердотельных релюшек или ваще извратиться с МК, например АТ89С51, запрограммировав его на трансляцию с порта на порт, благо его 24МГц с лихвой хватит на эту задачу. Но препод нам зарядил PLC изврат. Либо аргументированно (со ссылкой на даташит) доказать, что невозможно это сделать на PLC. Он свято уверен, что можно.
З.Ы.
А мы еще МикроДАТ изучаем усиленно... вот где садомазо...
0 0000 ORG 0000h
1 0000 F3 DI
2 0001 76 HALT
Assembly complete
0 Errors
1 Warning
Посмотрел ссылку на модуль. Модуль интересный, "многостаночный".
Действительно его можно использовать.
Возможный вариант:
1. Энкодеры принимаем счетчиками. Получаем какие-то значения (всего восемь по условию задачи) в обротах в минуту(например).
2. Выход модуля H4CTRIO настраиваем как источник импульсов. Частота зависит от уровня значения оборотов текущего выбранного двигателя.
3. Выбор текущего двигателя осуществляется оператором или по условиям рабочей программы в контроллере.
Т.е. в основе принцип преобразования "частота"-"величина"-"частота", а "величина" мультиплексируется.
1) Хочу обратить Ваше внимание на то, что Вы разрываете обратную связь сервопривода, которая по задумке производителя привода должна заводиться на драйвер. Чем это грозит -> ТАУ
2) Энкодер двигателя имеет три провода фазы А, В и сигнал Z метки. У указанного Вами модуля всего 8 входов. Следовательно к модулю можно подключить только 2 энкодера (использовать 6 входов), а не 7 как Вам кажется.
3) Вас не смущает фраза приведенная в документации на модуль:
"There are limitations to this type of configuration in that the module does not internally support closed loop control."
ЗЫ Подсказка, это модуль позиционирования. Он генерирует "задающую" траекторию, отработкой которой занимается драйвер привода.
Меня данная фраза не смущает
"...There are limitations to this type of configuration in that the module does not internally support closed loop control. Providing closed loop control with the CTRIO involves additional PLC code to coordinate this control, making the application subject to the PLC CPU program scan..."
так как, во-первых, данная задачка для курсача и мы имеем код обработки в контроллере;
во-вторых, три провода нужны при использовании энкодера нужны для определения направления реверсивного привода. Про реверсивность ничего не сказано, поэтому для подсчета скорости достаточно одной последовательности, что в принципе и предложено было DI HALT в начале. При этом одним модулем мы можем обработать 4 датчика + вставим еще такой же модуль и сможем обработать еще 4. А выход одного из H4CTRIO настроим как импульсный.
в-третьих, ранее в системах (да и сейчас кое-где) использовались в обратных связях тахогенераторы, у которых задержка сигнала достигает 200 мс. Поэтому думаю, что проблемы с передачей сигналов с точки зрения ТАУ нет.
А при требовании точности регулирования такой бред предприятию предлагать не будут.
Первоначально опубликовано Александр Горский
Про реверсивность ничего не сказано, поэтому для подсчета скорости достаточно одной последовательности, что в принципе и предложено было DI HALT в начале.
Так от привода нужно просто поддерживать постоянную скорость вращения или же требуется позиционирование? В документации на драйвер сказано, что он может работать (позиционировать) только при использовании одной фазы с энкодера?
Первоначально опубликовано Александр Горский
в-третьих, ранее в системах (да и сейчас кое-где) использовались в обратных связях тахогенераторы, у которых задержка сигнала достигает 200 мс. Поэтому думаю, что проблемы с передачей сигналов с точки зрения ТАУ нет.
Эти тахогенераторы использовались вместе с Mentor II или же они работали со своими системами управления в которых эта задержка была учтена?
Первоначально опубликовано Александр Горский
А при требовании точности регулирования такой бред предприятию предлагать не будут.
К сожалению, практика показывает что предпреятию предлагают еще больший бред и многие на него соглашаются, т.к. чему научили тем и страдают.
Привод реверсивный. Высокоточный. Потому походу прийдется переключать все три вывода энкодера.
0 0000 ORG 0000h
1 0000 F3 DI
2 0001 76 HALT
Assembly complete
0 Errors
1 Warning
У меня один вопрос - Где вы задаете рабочую частоту для приводов?
Если эти сигналы приходят с этого самого контроллера, то я думаю не что надо городить с мульплексированием, а просто обрабатывать обратную связь в контроллере, а моторам выдавать только задание рабочей скорости или момент. Я так думаю если энкодер один, то скорее всего дигатели работают на общую нагрузку, при чем связи очень жесткие и инерционность большая, так что от задержки 0,1-0,5sec ничего страшного не произойдет.
А вообще проше использовать семь энкодеров не заводя их в контроллер.
Вы не можете публиковать новые темы в этом форуме Вы не можете отвечать на сообщения в этом форуме Вы не можете удалять Ваши сообщения на этом форуме Вы не можете редактировать Ваши сообщения на этом форуме Вы не можете создавать голосования на этом форуме Вы не можете выражать своё мнение в голосованиях на этом форуме