Mach3, команда SendSerial

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
Аватара пользователя
inFamous
Мастер
Сообщения: 682
Зарегистрирован: 04 янв 2018, 15:33
Репутация: 221
Контактная информация:

Mach3, команда SendSerial

Сообщение inFamous »

Mach3 умеет из VBA скриптов работать с COM портом без обратной связи, т.е. тупо отправлять команды, меня это устраивает. Есть некий девайс, который управляется по USB через ch340 преобразователь. Команда на старт выглядит как "p150,1500", команда на стоп - "x".
Было написано два скрипта, M100 и M110
Скрипт M100

Код: Выделить всё

Call SendSerial ("p150,1500")
End
Скрипт M110

Код: Выделить всё

Call SendSerial ("x")
End
И если запускать эти команды из окна редактора скриптов, то всё работает как надо. Но если пробовать запускать через MDI или через само тело программы, то включаться то оно включается, но выключить нельзя - M110 тупо не работает. Только через редактор нужно заходить, и запускать M110 из редактора скриптов, тогда всё ок.
Проблема решилась одним скриптом - код по памяти не выложу, но он проверяет статус шпинделя, если шпиндель работает то выполняется код M100, если остановлен - то M110 (обычный If/Else), т.е. прописывание одного и того же скрипта после старта шпинделя и после команды M05 решает проблему, и оно работает :thinking:
Почему тогда оно не работает с логической точки зрения через два скрипта? В мануалах Mach3 не нашел никаких особенностей работы с COM, только описание процедуры SendSerial, т.е. это видимо особенности VBA о которых я естественно не знаю.
Аватара пользователя
FLUKE
Мастер
Сообщения: 813
Зарегистрирован: 11 мар 2013, 21:18
Репутация: 183
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Mach3, команда SendSerial

Сообщение FLUKE »

А винда какая? У меня в своё время чёт вообще не получилось победить на матче компорт.
Ответить

Вернуться в «Windows / Mach»