макрос смены инструмента M910 не работает в версии 043.062

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.

макрос смены инструмента M910 не работает в версии 043.062

Сообщение noahi » 30 июл 2018, 09:44

Здравствуйте.
Имею в наличии несколько станков фрезерных и токарных на Mach3 модернизированных мной в личных целях,и соответственно несколько компов.
Хотел разобраться с правильным подключением револьвера через Mach3.
Один из станков на сервах нарезает резьбу,но не подключен револьвер.Пишу это для того,чтоб сократить время поиска ошибки .
Был мною изготовленный револьвер токарного станка (с ладонь) для балконного мини станка и подключение револьвера хотел начать с него.
К нему был изготовлен доп-контроллер и прошит логикой.Количество миганий порта , равно данному резцу.
В данный момент на этой логике хотел остановиться,так как время нет.В дальнейшем возможна реализация по паузе..
Написан кое как макрос смены инструмента через Т. Работает. Револьвер крутится.Коррекцию учитывает в версии Mach3 042.020 .Говорят это самая стабильная для резьбы
Но столкнулся с тем ,что там не хочет работать офф лицензия.Да и хотелось версию 062.
Поставил 062.Работает лицензия но перестал работать сей макрос.Я выяснил,что возможна ошибка синтаксиса.Во время написания макроса,
находил инфу,но не могу вспомнить где.
Просьба помочь с данным макросом,потому как макросы головная боль и пока я не смог понять ,что там не так..
Всем откликнувшимся большое спасибо

'скрипт рабочий.работает и в авто M06T0100 И В РУЧНУЮ
'количество миганий равно такому же номеру инструмента
Код: Выделить всёРазвернуть
Sub Main()
NewTool = GetSelectedTool()'новый инструмент = получить вновь выбранный инструмент
OldTool = GetCurrentTool() 'старый инструмент=загрузить загруженный инструмент

MaxToolNum = 6 'Максимальное число инструментов в магазине
While NewTool > MaxToolNum
   NewTool = Question("Введите правильный номер инструмента, в магазине может быть только " & MaxToolNum & " инструментов.")
Wend
If NewTool = OldTool Then  'Если в шпинделе стоит тот же инструмент то ничего менять не надо
        Exit Sub
End If


If NewTool = 1 Then
ActivateSignal(Output2)   
Sleep 250
DeActivateSignal(Output2)
End If

If NewTool = 2 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If


  If NewTool = 3 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If

If NewTool = 4 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
ActivateSignal(Output2)   
Sleep  250

DeActivateSignal(Output2)
Sleep  250
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If





If NewTool = 5 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If
If NewTool = 6 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)

End If

End

End Sub
Main
'конец скрипта
noahi
Новичок
 
Сообщения: 10
Зарегистрирован: 15 дек 2015, 09:45
Откуда: Москва
Репутация: 0
Настоящее имя: Эдуард

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение aftaev » 30 июл 2018, 11:28

noahi писал(а): End Sub
Main


Main похоже лишнее или не в той строчке.

И попробовать вообще убрать Sub Main() и End Sub Main макросы Mach3 часто без них пишутся ;)
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28296
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение noahi » 30 июл 2018, 11:52

Спасибо Вам большое за помощь.
Теперь output2 работает .Mигает согласно номеру инструмента.
Но в строке инструмента по прежнему стоит ноль и не берёт корректор.(промигивают оси x z)
Скрипт без упомянутых Вами строк.

'скрипт рабочий.работает и в авто M06T0100 И В РУЧНУЮ
'количество миганий равно такому же номеру инструмента

Код: Выделить всёРазвернуть
NewTool = GetSelectedTool()'новый инструмент = получить вновь выбранный инструмент
OldTool = GetCurrentTool() 'старый инструмент=загрузить загруженный инструмент

MaxToolNum = 6 'Максимальное число инструментов в магазине
While NewTool > MaxToolNum
   NewTool = Question("Введите правильный номер инструмента, в магазине может быть только " & MaxToolNum & " инструментов.")
Wend
If NewTool = OldTool Then  'Если в шпинделе стоит тот же инструмент то ничего менять не надо
       
End If


If NewTool = 1 Then
ActivateSignal(Output2)   
Sleep 250
DeActivateSignal(Output2)
End If

If NewTool = 2 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If


  If NewTool = 3 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If





If NewTool = 4 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
ActivateSignal(Output2)   
Sleep  250

DeActivateSignal(Output2)
Sleep  250
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If





If NewTool = 5 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
End If





If NewTool = 6 Then
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)





End If





End



'конец скрипта
noahi
Новичок
 
Сообщения: 10
Зарегистрирован: 15 дек 2015, 09:45
Откуда: Москва
Репутация: 0
Настоящее имя: Эдуард

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение aftaev » 30 июл 2018, 11:55

noahi писал(а): и не берёт корректор.

мож чтобы взял корректор нужно G43 ?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28296
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение noahi » 30 июл 2018, 12:04

в версии 020 когда я нажимаю в MDI T0101 или любой другой инструмент у меня в графе TOOL N появляется инструмент 1.
Сейчас там стоит ноль.Соответственно пока речь наверное не идёт о корректоре..
Просто макрос не ставит инструмент.Идёт разобщение сигналов и экрана,так как выход работает
noahi
Новичок
 
Сообщения: 10
Зарегистрирован: 15 дек 2015, 09:45
Откуда: Москва
Репутация: 0
Настоящее имя: Эдуард

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение aftaev » 30 июл 2018, 12:09

Значит нужно отлаживать. В макрос например добавлять msgbox ("NewTool ") , запускать макрос и смотреть что в каких переменных есть.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28296
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение noahi » 30 июл 2018, 12:31

Совсем не разбираюсь в макросах .
(В макрос например добавлять msgbox ("NewTool ") , запускать макрос и смотреть что в каких переменных есть)..я не могу понять эту фразу.Если есть возможность немного расширить фразу,БЫЛО БЫ ЗДОРОГО..
Я так понимаю в макрос(куда)надо вставить это и где именно смотреть переменные.
Так же не пойму..В чём разница синтаксиса 020 от 062..Ведь там нареканий нет..
noahi
Новичок
 
Сообщения: 10
Зарегистрирован: 15 дек 2015, 09:45
Откуда: Москва
Репутация: 0
Настоящее имя: Эдуард

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение aftaev » 30 июл 2018, 14:36

noahi писал(а):Совсем не разбираюсь в макросах .

тогда тяжелый случай.

noahi писал(а):msgbox ("NewTool ")

при выполнении макроса выйдет сообщение что находится в NewTool

noahi писал(а):В чём разница синтаксиса 020 от 062..Ведь там нареканий нет..

В чем разница знает писатель Mach3. Возможно что в старой версии по умолчанию одни настройки, в новой версии другие настройки вот что то работает, что то не работает. Нужно искать.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
aftaev
Зачётный участник
Зачётный участник
 
Сообщения: 28296
Зарегистрирован: 04 апр 2010, 19:22
Откуда: Казахстан. Шымкент
Репутация: 4772
Медальки:

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение NikolayUa24 » 30 июл 2018, 15:50

NikolayUa24
Мастер
 
Сообщения: 512
Зарегистрирован: 31 июл 2013, 20:05
Откуда: UA
Репутация: 96
Настоящее имя: Николай

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение noahi » 30 июл 2018, 16:35

Сравнил есчо какието макросы с просторов.
SetCurrentTool (NewTool) 'указать номер нового инструмента
На данный момент на столе заработало благодаря данной строке
Осталось как то добавить строку,при которой после процедуры поворота с револьвера придёт сигнал на пин input что голова всё же повернулась
и можно стартовать G код далее



Код: Выделить всёРазвернуть
[code]'скрипт рабочий.работает и в авто M06T0100 И В РУЧНУЮ
'количество миганий равно такому же номеру инструмента

NewTool = GetSelectedTool()'новый инструмент = получить вновь выбранный инструмент
OldTool = GetCurrentTool() 'старый инструмент=загрузить загруженный инструмент

MaxToolNum = 6 'Максимальное число инструментов в магазине
While  NewTool > MaxToolNum
   NewTool = Question("Введите правильный номер инструмента, в магазине может быть только " & MaxToolNum & " инструментов.")
Wend
If NewTool = OldTool Then  'Если в шпинделе стоит тот же инструмент то ничего менять не надо
       
End If


If NewTool = 1 Then
SetCurrentTool (NewTool)   'указать номер нового инструмента
ActivateSignal(Output2)   
Sleep 250
DeActivateSignal(Output2)
Code "G4 P8"
End If

If NewTool = 2 Then
SetCurrentTool (NewTool)   'указать номер нового инструмента
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Code "G4 P8"
End If


  If NewTool = 3 Then
SetCurrentTool (NewTool)   'указать номер нового инструмента
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Code "G4 P2"
End If





If NewTool = 4 Then
SetCurrentTool (NewTool)   'указать номер нового инструмента
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
ActivateSignal(Output2)   
Sleep  250

DeActivateSignal(Output2)
Sleep  250
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Code "G4 P8"
End If





If NewTool = 5 Then
SetCurrentTool (NewTool)   'указать номер нового инструмента
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Code "G4 P2"
End If





If NewTool = 6 Then
SetCurrentTool (NewTool)   'указать номер нового инструмента
ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Sleep  250

ActivateSignal(Output2)   
Sleep  250
DeActivateSignal(Output2)
Code "G4 P2"




End If





End



'конец скрипта[/code]
noahi
Новичок
 
Сообщения: 10
Зарегистрирован: 15 дек 2015, 09:45
Откуда: Москва
Репутация: 0
Настоящее имя: Эдуард

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение noahi » 31 июл 2018, 07:22

Проверил на станке.Всё отлично.Импульсы идут.Корректор работает.
Но если добиваться изящности кода,то нужно добавить строку ,чтоб не шли импульсы с мача при стоящем уже в слоте нужном резце.
И соответственно не тратилось холостое время на прогон поиска инструмента.
Сейчас они идут,но их блокирует допконтроллер.
noahi
Новичок
 
Сообщения: 10
Зарегистрирован: 15 дек 2015, 09:45
Откуда: Москва
Репутация: 0
Настоящее имя: Эдуард

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение FLUKE » 31 июл 2018, 08:16

У тебя потерялось "Exit Sub" в 12 строке
Когда ты храпишь, ты не слышишь своего храпа, и он мешает всем, кроме тебя.
То же самое, когда ты тупой.
Аватара пользователя
FLUKE
Мастер
 
Сообщения: 618
Зарегистрирован: 11 мар 2013, 21:18
Откуда: Москва
Репутация: 101
Настоящее имя: Сергей

Re: макрос смены инструмента M910 не работает в версии 043.

Сообщение noahi » 31 июл 2018, 09:44

Наверно это 10 строка после сравнения , если сравнение верно выходит из процедуры .
Большое Вам спасибо.
Теперь будем думать о сигнале Input для полного контроля головы в момент фиксации.
Хотя это лишний пин..
СПАСИБО ВСЕМ

'скрипт рабочий.работает и в авто M06T0100 И В РУЧНУЮ
'количество миганий равно такому же номеру инструмента

NewTool = GetSelectedTool()'новый инструмент = получить вновь выбранный инструмент
OldTool = GetCurrentTool() 'старый инструмент=загрузить загруженный инструмент

MaxToolNum = 6 'Максимальное число инструментов в магазине
While NewTool > MaxToolNum
NewTool = Question("Введите правильный номер инструмента, в магазине может быть только " & MaxToolNum & " инструментов.")
Wend
If NewTool = OldTool Then 'Если в шпинделе стоит тот же инструмент то ничего менять не надо

Exit Sub 'Выход из процедуры

End If


If NewTool = 1 Then

SetCurrentTool (NewTool) 'указать номер нового инструмента
ActivateSignal(Output2)
Sleep 250
DeActivateSignal(Output2)
Code "G4 P2"
End If
noahi
Новичок
 
Сообщения: 10
Зарегистрирован: 15 дек 2015, 09:45
Откуда: Москва
Репутация: 0
Настоящее имя: Эдуард

макрос смены инструмента M910 не работает в версии 043 062

Сообщение Sorokinoffliz » 08 авг 2018, 14:45

темболее в свойствах компутера имеется возможность смены ключа. Просьба отписаться, получилось или нет
Sorokinoffliz
Новичок
 
Сообщения: 3
Зарегистрирован: 21 июл 2018, 22:36
Откуда: Россия
Репутация: 0
Настоящее имя: Sorokinoffliz


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

Кто сейчас на конференции

Зарегистрированные пользователи: Alex lamaka, Bing [Bot], Chili, evgenkravtsov, Franklin, frezeryga, Google [Bot], hmnijp, japkavto, Majestic-12 [Bot], Maxekb77, michalych, niksooon, NKS, Power968, sima8520, sivolap36, Tillman, UAVpilot, Yandex [bot], шпиндель

Поделиться

Reputation System ©'