CNC Controller
Точнее попытка с эмулировать MaxStepper от KellyWare.
Почему попытка? Да потому что в интернете практически отсутствует информация по протоколу обмена командами, контроллера с программой, а Келли видимо не спешит раскрывать все секреты. Да это и понятно! Иначе он не получит огромного количества денежков, а всего лишь малую их часть. Но кое что он всё же выложил на своём сайте для затравки умов нетерпеливых желающих получить свой сладкий кусок пирога. В ходе раскопок удалось выяснить что максимальное число байт в одной команде не 32 а 36, да и команд как минимум на одну больше. Точнее определить не позволяет отсутствие самого девайса, а покупать его у Келли, это означает оставить свою затею заниматься писаниной. Кстати, наши китайские друзья в своей конференции тоже пытались решить эту задачку, но видимо им не хватило усидчивости, а может и наоборот, решили, поэтому и молчат. В любом случае им спасибо, так как они меня натолкнули на пару идей в ходе изучения этой проблемы. Ну в общем с буфером обмена данными мне удалось немного разобраться. Сейчас девайс устойчиво обменивается с программой и ошибки обмена данными не выскакивают. Хотя не понятно пока, с какого перепуга комп самостоятельно ресетится, ни с того ни с сего, при запущенных на обработку пакетных команд(G-кодов). Ну да это скорее вопрос к Келли, а не ко мне. Видимо у него буфер в проге переполняется не по детски или отсутствует обработка ошибок по COM порту. С передачей координат следующей точки тоже разобрался, хотя и остались не решёнными некоторые вопросы. А вот с частотой перемещения и скоростью резания ещё совсем не всё понятно. Так что если у кого появятся идеи по этому поводу,- милости просим, пишите мне на почту.
Запустить и посмотреть как работает прога можно в Proteus, предварительно установив VirtualSerialPortDriver и правильно настроив номер виртуального порта в COMPIM и в KCam
На медленных машинах жутко тормозит и постоянно теряет связь с виртуальным девайсом, так что лучше испытывать в пошаговом режиме или искать комп покруче. Есть ещё вариант зашить в железку(PiC18F4520), тогда можно будет обновлять прошивки с помощью MicroBoot лоадера.