И как минимум три направления.
CNC
Motion Controller
ну и простые штуки, вроде пошевелить парой осей
Вид для печати
А вот на малыше это возможно, функция SPED, попроще чем PLS2, но минимальный интервал вроде 8 мс.
-------------------
Вы уж определитесь, а то заладили
Ну не рулит он в Вашей задаче, Вы уже не первый день решаете то, что на другом оборудовании как два пальца об асфальт.:p
Впрос в том, как часто можно вызывать функцию PLS2.
Грубо говоря:
t0: "PLS2, поехали на 10мм".
t1: Вас понял, еду
t3: "ой, нет, я передумал, PLS2 надо было на 7мм ехать, а не на 10"
t4: Кхм. Вообще-то мы находимся на отметке 9мм, но если уж так нужно, то отмотаем назад 2мм.
Каков минимальный временной интервал t3-t0, который позволит вызывать PLS2/SPED?
С одной стороны, пишете "2 цикла управления = 8мс". Я понимаю это так, что PLS2, выполняясь в основном цикле, отдаёт команды на управление обработчику быстрого выхода раз в "основной цикл ПЛК". Если основной цикл ПЛК составляет 4мс, то ПЛК потратит примерно 8мс от осознания того, что нужно запускать ШД до фактического запуска.
С другой стороны, пишете, что есть таймеры на 20мкс. Можно в этом таймере вызывать PLS2? Т.е. можно, условно говоря, каждые 20мкс выдавать новую PLS2 инструкцию? Я, конечно, понимаю, что 20мкс это порядка 50кГц, но всё же.
Т.е. что-то в духе "выполни вот этот код как только счётчик выхода достигнет значения 42"?
Сильно сомневаюсь, что в Омроне одно и то же ядро занимается генерацией импульсов и выполнением инструкций типа PLS2.
Значит, выполнение асинхронное.
Значит, возможно временное запаздывание (ну, импульсы уже накопились, а до обработчика ещё не дошло, что нужно выполнять обрабатывающий код).
Тот же самый вопрос, но с другой стороны: отличается ли эта "обработка входа по прерыванию" от "обработки входа в 20мкс таймере"? Например, мы в нашем 20мкс таймере будем проверять счётчик быстрого выхода и вызывать разнообразные PLS2/SPED команды. Так можно? Оно будет отличаться от "обработки счётчик выхода в прерывании"?
PS. "Начинает выдачу импульсов через 72 мкс" и 20мкс таймер звучит жутковато. Если вычисления траектории занимают 72мкс, то 20мкс таймеру придёт северный лис. У меня на PRU траектория вычисляется где-то за 5мкс. Возможно, более сложные вычисления (совмещение двух движений) действительно выйдут на 36-72мкс.
Я уже давно определился. Что тут не понятно ?
Для тех кто не понял повторяю - ПЛК110[М02] + Hardella IDE рулят. Повторяйте это как мантру и до вас наконец дойдет. ;)
Быстро, как известно, только кошки родятся. ;) Муки творчества действуют на меня благотворно, без этого жизнь скучна.
Свое подключение к разговору вы начали со слов "Для справки, ни с кем спорить не собираюсь". То что вы изложили лично я принимаю к сведению, но не более того.
Владимир, что за задачи такие, менять задания по нескольку раз в течении милисек?
Обычно любой автомат работает много медленнее.
Я работал с линией по изготовлению сендвич панелей там мультиконтроллерное упр 3шт S300 и примерно 20 осевых приводов S120
плюс ок 40-60 ПЧ. Средний цикл 15-18мс
Работал на роботизированном заводе Мазахенка, весь завод управляется 4-мя S400(в сети) с коммуникациями, цикл 15-20мс
А я откуда знаю? Про задачи нужно не у меня спрашивать.
Вот тащили-тащили клещами из Вольда его задачу. Оказалось, ему нужно PLS2/SPED/ACC.
Попробую угадать, где может пригодиться быстрое управление: "поиск нуля". Т.е. мы движемся-движемся и нужно останавливать ШД при достижении отметки.
С одной стороны, под это дело можно сделать "отдельную инструкцию <<поиск нуля>>", а с другой можно отдельных не делать, а сделать что-то типа PLS2/SPED и вызывать уже их (но из 60мкс таймера).
Я хочу по-нормальному сделать.
C stepper блоком перо попробовали, теперь можно более серьёзные штуки делать. И не хотелось бы тратить время на штуки, которые по факту окажутся непригодными к реальному использованию.
Если 100мкс всех устраивает, то надо пробовать.
Я не говорил, что мне нужно PLS2/SPED/ACC. Пускай этим пользуются адепты забугорного железа. ;) Мой пост о том, что мне понравился документ, который выложил Ветер вы истолковали совершенно не верно. В этом документе я нашел интересные для себя моменты и только. Мне нужен проверенный, работающий быстрый ШИМ, а остальное я сам постараюсь сделать.
такие задачи используют прерывания и цикл не затрагивают
устроит в 99,9% задач.
а для поиска 0 привод движется оч. медленно. Тут нет расчета инерции и торможения. Остановка происходит мгновенно по прерыванию.
Вот выход в координату с заданной скоростью разгона и остановки это другое, для сложных задач делают приводов с высокоскоростной цифровой обратной связью по позиции.
Для этого используют спец моторы, которые к ПЛК не подключить.
Не надо нас за лохов держать. Никто не собирается подключать т.н. спецмоторы напрямую к ПЛК. Если вы о сервоприводах, то они то же бывают с интерфейсом STEP/DIR/EN и их без труда можно подключить к быстрым дискретным выходам ПЛК. Управлять сервоприводом с синхронным двигателем много проще чем драйвером ШД.
Приборист уже подключал сервопривод к ПЛК110[М02] и остался очень доволен.
судя по инструкции, те не совсем понятные мне "2 цикла управления = 8мс" трактовать можно по разному.
Если PLS2 не выполняется, вывод импульсов начнётся через 72 мкс после команды, если нужно изменить команду которая выполняется, то те самые 8мс.Цитата:
С одной стороны, пишете "2 цикла управления = 8мс". Я понимаю это так, что PLS2, выполняясь в основном цикле, отдаёт команды на управление обработчику быстрого выхода раз в "основной цикл ПЛК". Если основной цикл ПЛК составляет 4мс, то ПЛК потратит примерно 8мс от осознания того, что нужно запускать ШД до фактического запуска.
Вы проглядели, я писал 20 мсек, т.е. 20 мс.Цитата:
С другой стороны, пишете, что есть таймеры на 20мкс.
Да, подпрограмму прерывания, а если не торопимся, то можно и в основном цикле отследить счётчик.Цитата:
Т.е. что-то в духе "выполни вот этот код как только счётчик выхода достигнет значения 42"?
Фиг его знает, но у этого малыша один камень от Фуджицу, какой именно смотреть не полезу.Цитата:
Сильно сомневаюсь, что в Омроне одно и то же ядро занимается генерацией импульсов и выполнением инструкций типа PLS2.
Ещё как будет.Цитата:
Тот же самый вопрос, но с другой стороны: отличается ли эта "обработка входа по прерыванию" от "обработки входа в 20мкс таймере"? Например, мы в нашем 20мкс таймере будем проверять счётчик быстрого выхода и вызывать разнообразные PLS2/SPED команды. Так можно? Оно будет отличаться от "обработки счётчик выхода в прерывании"?
В Омроне есть что то похожее на скоростной таймер в ПЛК110, т.е. можно считать и проверить значение счётчика выхода. Называется "Прерывание по расписанию"
Но ещё есть прерывания по событиям: по физическому входу, по уставке счётчика. т.е. нет смысла постоянно гонять код в таймере как у ПЛК110.
-------------------
Вольд, Вы случайно не САМ на ШД пытаетесь организовать?