Взламывем MACH3. Что внутри? Лечим паузу.

Поділитися
Вставка
  • Опубліковано 6 жов 2024
  • Кому лень делать самому, можна скачать готовый скринсет с вылеченой паузой (там же и текст скрипта):
    drive.google.c...
    ====================================
    Скачать редактор шкурок тут: kd-dietz.com/
  • Наука та технологія

КОМЕНТАРІ • 54

  • @РукМастер-ы9ъ
    @РукМастер-ы9ъ 2 роки тому +11

    Идея хорошая, но есть некоторые минусы.
    Во первых если включить и отключить паузу даже не во время выполнения УП включится шпиндель.
    Это не хорошо.
    Во вторых коррекция скорости в любом случае возвращается на 100%. Это тоже не всегда удобно.
    Вдруг там было 50% или 150%.
    В третьих (но это я еще не проверял) скорость резко падает до нуля, а успеет ли портал остановиться без пропуска шагов из за инерции?
    В четвертых нет визуального контроля нажата пауза или нет.
    В общем ниже привожу рабочий скрипт где все эти недочеты устранены.
    Шпиндель если был включен во время нажатия на паузу, то он включится после отжатия паузы.
    Если он не был включен, то но и не включится, а пауза будет работать в штатном режиме.
    Коррекция скорости. Сколько процентов стояло до нажатия на паузу, столько вернется после отжатия.
    Замедление скорости остановки портала можно регулировать. В скрипте до полной остановки 1 секунда.
    Для работы скрипта необходимо создать 2 светодида Разместить их около кнопки пауза. Один будет
    показывать нажата ли кнопка, второй будет показывать запустится ли шпиндель после отжатия паузы.
    Создать ЦИ (DRO) и поместить где нибудь в рамке коррекции скорости.
    ' Создать:
    пауза включена - GetUserLED (1022)
    Шпиндель был включен при нажатии паузы - GetUserLED (1024)
    Промежуточное ДРО - GetOEMDRO(1022) '
    Как и что регулировать думаю понятно из комментариев в скрипте.
    If GetUserLED (1024) Then 'Если шпиндель был включен '
    a=1
    Else
    End If
    If GetUserLED (1022) Then 'Если пауза нажата '
    b=10
    Else
    End If
    If a+b=11 Then ' '
    DoSpinCW() 'Включить шпиндель'
    Sleep 4000 'время задержки после включения шпинделя 4 секунды'
    Call SetOEMDRO(223, Abs(GetOEMDRO(1022))) 'Вставить данные коррекции из промежуточного DRO'
    Call SetUserLED (1022, 0)
    Call SetUserLED (1024, 0)
    Else
    End If
    If a+b=1 Then ' '
    Call SetOEMDRO(1022, Abs(GetOEMDRO(223))) 'Сохранить данные коррекции в промежуточное DRO'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 300 'время между убавлением скорости 1'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 200 'время между убавлением скорости 2'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 200 'время между убавлением скорости 3'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 200 'время между убавлением скорости 4'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 100 'время между убавлением скорости 5'
    Call SetOEMDRO(223,0) 'Коррекция скорости ноль'

    If GetOEMLED (11) Then 'если шпиндель включен '
    Call SetUserLED (1024, 1)
    Else
    Call SetUserLED (1024, 0)
    End If
    Sleep 1000 'Задержка перед выключением шпинделя 1 сек'
    DoSpinStop() 'Выключить шпиндель'
    Call SetUserLED (1022, 1)
    Else
    End If
    If a+b=10 Then ' '
    Call SetOEMDRO(223, Abs(GetOEMDRO(1022)))
    Call SetUserLED (1022, 0)
    Else
    End If
    If a+b=0 Then ' '
    Call SetOEMDRO(1022, Abs(GetOEMDRO(223)))
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 300 'время между убавлением скорости 1'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 200 'время между убавлением скорости 2'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 200 'время между убавлением скорости 3'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 200 'время между убавлением скорости 4'
    Call SetOEMDRO(223, Abs(GetOEMDRO(223)/2)) 'Коррекция скорости разделить на 2'
    Sleep 100 'время между убавлением скорости 5'
    Call SetOEMDRO(223,0) 'Коррекция скорости ноль'
    If GetOEMLED (11) Then 'светодиод шпинделя '
    Call SetUserLED (1024, 1)
    Else
    Call SetUserLED (1024, 0)
    End If
    Sleep 1000 'Задержка перед выключением шпинделя 1 сек'
    DoSpinStop() 'Выключить шпиндель'
    Call SetUserLED (1022, 1)
    Else
    End If

    • @nsk5288
      @nsk5288 Рік тому +1

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

  • @volidol
    @volidol Рік тому +2

    Чет не замечал такого. Обычно при нажатии на паузу, оно всегда продолжало с того места откуда остановилось.
    Минусы скрипта.
    Паузу обычно я нажимаю, что-бы на "лету" что-то подправить. Например ту же высоту инструмента, или ещё чего-то для чего мне надо уехать будет от точки останова. При родной паузе, оно приезжает обратно в координаты точки останова. Причем Z уезжает в хому, дабы не поломать заготовку.

  • @ivantut9210
    @ivantut9210 3 місяці тому

    Спасибо, благодаря вам вспомнил, то что делал еще в 2017 году))) Правда несколько по-другому....

  • @sergatmel8242
    @sergatmel8242 2 роки тому

    Спасибо.
    Паузой не пользовался ранее из-за глюков. Теперь испробую.

  • @ros2ras
    @ros2ras 2 роки тому

    респект, аж захотілось собі налаштувати

  • @ПавелНиколаевич-ш3ь

    Спасибо, а можно сделать так чтоб пауза работала как на нс студио , когда нажимаешь на паузу или на стоп ось Z подымается на 10мм , очень удобно.

    • @CNC_machines
      @CNC_machines  2 роки тому +1

      В принципе можно, я так и хотел. Но до конца не разобрался. Фактически тут не пауза, а скорость движения = 0. А при движении станка оси нельзя двигать ни вручну, ни скриптами. Но все же как-то можно это обойти.

  • @rafaelsuleymanov7956
    @rafaelsuleymanov7956 2 роки тому

    класс ! спасибо за видео

  • @AndreyS1977
    @AndreyS1977 2 роки тому

    Спасибо !!!

  • @81DGEKA
    @81DGEKA 2 роки тому

    Спасибо за информацию

  • @neapolitanskiy125
    @neapolitanskiy125 2 роки тому

    добрый день, можно пожалуйста поделиться дистрибутивом, тк в прошлом видео не было возможности оставить запрос)Благодарю вас за ваши знания и время

  • @Nicolai-z9w
    @Nicolai-z9w 2 роки тому

    Дякую за відео

  • @sanyatsibulskyy6718
    @sanyatsibulskyy6718 2 роки тому

    спасибо за исправление. сделал как по инструкции. но заметил такую штуку: после того как нажмеш паузу - станок останавливается(как положено) , но естли нажать "RESET" в колонке "Feed Rate" станок ТУТЖЕ!!!!! начинает продолжение роботы (правда с тойже точки что остановился, как положено)

    • @CNC_machines
      @CNC_machines  2 роки тому

      Ну да, фактически это не пауза, а замедление работы до нуля. Кнопкой ресет это замедление убираем.

  • @TheHobro42
    @TheHobro42 6 місяців тому

    Спасибо

  • @РукМастер-ы9ъ
    @РукМастер-ы9ъ 2 роки тому

    Еще желательно Led добавить на кнопку пауза, что бы точно знать что она нажата.

  • @Nikki_Vik
    @Nikki_Vik 2 роки тому

    Здравствуйте! Крутой update. С вами возможно, связаться для консультации в ином вопросу по ЧПУ?

  • @серыйкуб-ш4н
    @серыйкуб-ш4н 5 місяців тому

    ПРИВЕТ ПОДСКАЖИ еще если код больше 150000 то если тебе надо на строку 884400 то мач прекидует на начало 222222 как быть7 ГДЕ БАК В МАЧЕ КАК ИСПРАВИТЬ ТЧТОБЫ ДРУГИЕ ДЕЙСВТИЯ НЕДЕЛАТЬ

  • @81DGEKA
    @81DGEKA Рік тому

    Доброго дня , питания не по темі відео, як може бути так що коли запускаєш програми фрезерувати коло потім квадрат потім знову коло станок не потрапляє на свої координати поХ тобто фрезерує зі зміщенням поХ десь 0.5 мм?

  • @artberesta
    @artberesta 2 роки тому

    Спасибо за идею. А когда у шпинделя падает скорость до 0,и он секунду еще получается работает, ничего не будет шпинделю за эту секунду?

    • @CNC_machines
      @CNC_machines  2 роки тому +1

      Ничего не будет ни фрезе ни шпинделю -- движение станка в этот момент уже прекратилось.

  • @АлексейЩукин-к1м
    @АлексейЩукин-к1м 2 роки тому

    приветствую скачал программу масн у вас по ссылке на канале а таблетка пустая в чем подвох.

  • @ziedoniszimecs6383
    @ziedoniszimecs6383 2 роки тому

    Добрый день .Неподскажите пожалуйста как масh3 установить 5ю.осс штоби она была видно на экране?

  • @НиколайКравченко-ф6б

    С праздником! Скажите, если я установлю вашу мач3 с русским скином, настройки нужно заново вводить? Или есть шанс, что моя версия просто обновиться, а настройки станка остануться.

  • @baurjan.traider
    @baurjan.traider 2 роки тому

    Как установить на клаву высоту и глубину ? Оно стоит просто на другом пульте физический. Хочу на клаву

    • @volidol
      @volidol Рік тому

      Там где-то в настройках биндятся кнопки клавиатуры.

  • @Wisky00
    @Wisky00 2 роки тому

    Почему то скрипт с гуглдиска не скачивается. Пишет, что нет доступа. Расшарьте файл.

  • @artberesta
    @artberesta 2 роки тому

    Подскажите у вса сейчас данный mash3 подключон к станку или просто установлен на компе?

    • @CNC_machines
      @CNC_machines  2 роки тому +1

      Просто установлен на компе.

    • @sanyatsibulskyy6718
      @sanyatsibulskyy6718 2 роки тому

      @@CNC_machines а как он без платы работает? у меня нехочет. розкажите что к чему. плиз

    • @CNC_machines
      @CNC_machines  2 роки тому +1

      @@sanyatsibulskyy6718
      У меня управление по LPT порту; наличие платы не обязательно.

    • @avexoidavex3577
      @avexoidavex3577 Рік тому

      @@CNC_machines Правильно ли я понял - если есть подключение по ЛПТ, то не нужна плата вообще? Стабильно ли работает МАЧ3 в этом случае? Бывают ли какие-то сбои не по вине пользователя, компьютера и станка? И еще вопрос - как тогда подключаются драйвера?

  • @Unikus777
    @Unikus777 2 роки тому

    Видим FRO , а говорим DRO ...🤔

  • @SupersonicHeart
    @SupersonicHeart Рік тому

    Есть решение проще, поставить версию Mach3Version3.043_2018 там все нормально работает

    • @volidol
      @volidol Рік тому

      А, так вот почему у меня нормально работает)

    • @SupersonicHeart
      @SupersonicHeart Місяць тому

      @@volidol Перешел на 62 версию от 2019 года полет тоже нормальный. На данный момент это последняя версия стабильно работающая с контроллером ESS.
      А так самая последняя версия 66

  • @НурНур-й1н
    @НурНур-й1н 2 роки тому +1

    Доброго времени суток подскажите можно змломать мач 3 что бы работал без лицензии?

    • @CNC_machines
      @CNC_machines  2 роки тому

      Добый день.
      Без лицензии он и так работает. Только ограничение по управляющей программе 300 строк.

    • @НурНур-й1н
      @НурНур-й1н 2 роки тому +1

      @@CNC_machines да но он работал полноценно ?

    • @CNC_machines
      @CNC_machines  2 роки тому

      @@НурНур-й1н
      зайдите на rutracket.org и скачайте МАСН3 с лицензией.

  • @SinedWOLF
    @SinedWOLF Рік тому

    Мне одному тихо???)

  • @ВячеславСмирнов-й4н

    У меня таких пропусков не бывает

    • @CNC_machines
      @CNC_machines  2 роки тому

      А как у вас пауза работает на прямых линиях, к примеру:
      Х0
      Х1000
      ?
      Все корректно продолжает работать?

  • @Londannak
    @Londannak 2 роки тому

    что это?

    • @CNC_machines
      @CNC_machines  2 роки тому

      Наверное вы сюда случайно попали.

    • @Londannak
      @Londannak 2 роки тому

      @@CNC_machinesчерез рекомендацию от ютуб...

  • @ВячеславСмирнов-й4н
    @ВячеславСмирнов-й4н 11 місяців тому

    Легче лицензию купить и не мучатся!

    • @CNC_machines
      @CNC_machines  11 місяців тому

      Купив файл *.lic за 200$ с паузой все как біьло так и останется.