помогите с написанием макроса для револьверной головы

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
ANDRUXA_VAP
Кандидат
Сообщения: 49
Зарегистрирован: 05 июл 2020, 14:28
Репутация: 8
Настоящее имя: Андрей
Контактная информация:

помогите с написанием макроса для револьверной головы

Сообщение ANDRUXA_VAP »

Добрый день, нужна помощь в написании макроса для mach turn для смены инструмента.

Управление головой и пневматикой для нее реализовал на Arduino и реле.

плата ардуино воспринимает количество импульсов на входе и за счет этого понимает какой инструмент ей поставить (от 1 до 6го инструмента),

после чего дает сигнал на выход, что инструмент поставлен и зажат пневматикой.

https://www.youtube.com/watch?v=7Qg83sbcphk

Нужна помощь в написании макроса по следующему алгоритму:

мачь задает смену инструмента на номер 5. на выходе из lpt порта получаем 5 сигналов (лучше по 200 микросекунд)

встает на ожидания ответа от платы ардуино

получает ответ

продолжает работу.
Вложения
IMG_20200826_161243.jpg (876 просмотров) <a class='original' href='./download/file.php?id=185381&sid=d98aa560077dac929a4361f14071e906&mode=view' target=_blank>Загрузить оригинал (3.96 МБ)</a>
ANDRUXA_VAP
Кандидат
Сообщения: 49
Зарегистрирован: 05 июл 2020, 14:28
Репутация: 8
Настоящее имя: Андрей
Контактная информация:

Re: помогите с написанием макроса для револьверной головы

Сообщение ANDRUXA_VAP »

вот такой макрос получился

Sub Main()

Tool = GetSelectedTool()

SetCurrentTool( tool )

while not isActive(input1)

if tool=1 then
activateSignal(output2)
Sleep 5000
DeActivateSignal(output2)
Sleep 15000

end if

if tool=2 then
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 5000
DeActivateSignal(output2)
Sleep 15000


end if

if tool=3 then
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 5000
DeActivateSignal(output2)
Sleep 15000
end if

if tool=4 then
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 5000
DeActivateSignal(output2)
Sleep 15000

end if

if tool=5 then
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 5000
DeActivateSignal(output2)
Sleep 15000
end if

if tool=6 then
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 380
DeActivateSignal(output2)
Sleep 380
activateSignal(output2)
Sleep 5000
DeActivateSignal(output2)
Sleep 15000
end if
wend


end Sub
main
Ответить

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