Как обычно, лень двигатель прогресса. Станок расположен у меня в подвале и надоедает бегать что бы посмотреть закончилась ли обработка, пора ли менять заготовку и т.д.
Так как станок управляется при помощи Mach3, а дома есть сервер с MajorDoMo то логично было узязать их вместе.
В Mach3 существует система макросов, которые выполняются при различных условиях, в том числе настраивается реакция на появление в управляющей программе нужных команд.
В программе есть встроенный редактор макросов
Макросы пишутся на Visual Basic, а так как я совсем не программист пришлось найти документацию (раз и два) и ознакомится с богатым внутренним миром. В документации к сожалению вообще никак не отражено общение с внешним миром, пришлось искать всевозможные скрипты на VB с примерами работы с url. В результате все получилось, чувствую что криво и коряво, но работает.
Принцип простой, находим файл скрипта нужной команды, в данном случае М3
Открываем в редакторе и пишем вот такой код
Dim o
Set o = CreateObject(«MSXML2.XMLHTTP»)
o.open «GET», «http://192.168.2.200/objects/?op=set&object=Bobr&p=status&value=1», True
o.send
Set o = CreateObject(«MSXML2.XMLHTTP»)
o.open «GET», «http://192.168.2.200/objects/?op=set&Object=Bobr&p=spindleSpeed&value=»& GetRPM
o.send
В результате работы этого скрипта MajorDoMo узнает что началось выполнение программы и частоту вращения шпинделя.
По такому же принципу настраиваем реакцию на остальные команды.
Далее уже средствами MajorDoMo обрабатываем эти данные, говорим голосом, шлем в телеграмм и оформляем вывод
Комментарии