Доброго времени.
Подскажите занимался кто макросами в мач, проблема в следующем:
пишу элементарный макрос:
ActivateSignal(OUTPUT1)
Sleep(40)
DeactivateSignal(OUTPUT1)
в редакторе макросов, макрос отрабатывает как положено, включается-задержка(40)-выключается.
Добавляю макрос в g-код, и ничего не происходит(так думал), далее стал увеличивать время задержки, на 200 мс. работает, но мне нужно чтобы работало от ~10мс.
Макросы в g-коде
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Макросы в g-коде
Предполагаю, что в макросе перед задержкой нужно дожидаться окончания движения осей.
По-моему тут ситуация такая: Мач честно отрабатывает задержку перед тем как посылать новые данные в буфер движения осей, но буфер за это время не успевает опустошиться, шлет сигналы Step/Dir из накопленных ранее данных. И пока он успевает опустошиться, например, наполовину, задержка в макросе заканчивается и в буфер насыпается новая порция данных. Так что нужно дожидаться пока буффер шагов опустеет и только после этого давать задержку.
Код: Выделить всё
Whle IsMoving()
Sleep(10)
Wend
-
Itch
- Новичок
- Сообщения: 3
- Зарегистрирован: 23 янв 2017, 07:03
- Репутация: 0
- Настоящее имя: Ruslan
- Контактная информация:
Re: Макросы в g-коде
Попробую, но я писал g-код без движения осей в принципе, просто забивал 8 макросов подряд.
- AndyBig
- Мастер
- Сообщения: 3971
- Зарегистрирован: 07 мар 2014, 04:01
- Репутация: 1121
- Откуда: юг России
- Контактная информация:
Re: Макросы в g-коде
Так у Вас в G-коде одни макросы? Почему тогда G-код? Почему не сделать просто одним макросом?
-
Itch
- Новичок
- Сообщения: 3
- Зарегистрирован: 23 янв 2017, 07:03
- Репутация: 0
- Настоящее имя: Ruslan
- Контактная информация:
Re: Макросы в g-коде
Это тест, потом эти макросы будут раскиданы в коде, двигателя пока не стоят на машине, решил настроить выхода.