Страница 1 из 1

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

Добавлено: 27 авг 2020, 12:10
ANDRUXA_VAP
Добрый день, нужна помощь в написании макроса для mach turn для смены инструмента.

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

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

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

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

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

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

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

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

продолжает работу.

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

Добавлено: 15 сен 2020, 09:46
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