Сделал, заработало. Спасибо capzap и Владимиру.
Вид для печати
Владимир, гляньте, пожалуйста, опытным глазом правильно ли у меня все сделано. Правильно ли оформлена программа для PRU0 ? В PRU0 посредством ШИМ управляю входами Step двух драйверов ШД.
Владимир, можете пояснить есть ли возможность управлять с одной PRU 2-мя шаговыми двигателями?(всего нужно управлять 3-мя двигателями). Направление будет определятся обычными выходами контроллера
Данная чуть изменённая программа вызывает ошибку компиляции. из-за инициализации второго объекта PRU_STEPPER
Вложение 37861
Спасибо!
Выкладываю свой Stepper, позволяющий крутить 4 шаговых двигателя на ПЛК-110 (по 2 на 1 сопроцессор)
Ограничение: Ускорение = Замедлению, Импульсы в 1 такт (у меня 10 мкс, так как у меня драйверы ЩД требуют от 5 до 7,5 мкс).
На моем рабочем проекте все работает, а у меня именно 4 шд и работают одновременно. Если хотите выложу видео.
Желаю и Вам удачи!
https://cloud.mail.ru/public/LXH8/shgj2EU4q - Программа для CoDeSys с тестированием
https://cloud.mail.ru/public/7CRH/g9pXhZ1bT - Проект в Hardella
https://cloud.mail.ru/public/5pCP/yn48UdAND - PruConfig для загрузки в CoDeSys
Ваш Stepper может выдавать максимум 50 кГц ?
Переменные в проекте для ПЛК не прокомментированы. Какая переменная сопоставлена Dir, а какая Step ШД ?
500 кГц, но нужно будет исправить время такта на 1 мкс, и в ФБ Stepper_light в 3-х местах где деление исправить с 100 000 на 1000 000.
Но тогда импульсы будут длительностью 1мкс.
Мои драйверы ШД при таких импульсах давали фризы, и так как у меня скорости не достигают и 10 кГц, то я и ввел эти ограничения.