Добро пожаловать на Форум по станкам с ЧПУ!

SheetCam постпроцессор для газового резака

Тема в разделе "Вопросы по программному обеспечению", создана пользователем морун, 21 мар 2020.

  1. морун

    морун Member

    Регистрация:
    1 окт 2012
    Сообщения:
    103
    Симпатии:
    0
    Всем доброго времени суток. Задумался я на станок установить газовый резак. Станок управляется Mach3, УП делаю на SheetCam TNG. Какой постпроцессор необходимо использовать для газового резака? Не могу разобраться, где задержку на разогрев установить. В SheetCam задержку ставлю, а в УП задержки нет. Может быть макрос нужно для этого написать? Точнее несколько, для разных толщин. Как создать в SheetCam УП для резки (например 50 мм. листа) с задержкой на разогрев металла? Станок управляется Mach3, ось Z подвижная с пневмоцилиндром поиска металла. Посоветуйте как получить такой алгоритм работы: станок подъезжает к месту прокола, смещается ось Y+25, включается реле открывающее клапан пневмоцилиндра, выдвигается шток, ось Z двигается вниз до срабатывания датчика обнуляющего ось Z, выключается реле пневмоцилиндра, ось Z поднимается на высоту (например 10 мм.), ось Y-25, задержка на разогрев (допустим 15 сек), включается реле открывающее режущий кислород, ось Z отпускается на рабочую высоту (5мм), станок начинает движение по траектории реза. Есть макрос, любезно предоставленный Александром Черногал, помогите переделать макрос по газовый резак. Заранее благодарен!
    Sub Main()
     
    Dim PierceHeight, PierceDelay, CuttingHeight
    Dim PlungeFeed, CuttingFeed
    Dim TipHeight
    Dim CurrentAbsInc
    Dim ProbeLim
    Dim CurrentFeed
     
     
    ProbeLim = 100 '100mm probing distance
     
    PierceHeight = GetUserDRO(1328)
    PierceDelay = GetUserDRO(1329)
    CuttingHeight = GetUserDRO(1330)
    CuttingFeed = GetUserDRO(1331)
    PlungeFeed = GetUserDRO(1327)
    TipHeight = GetUserDRO(1326)
    CurrentFeed = FeedRate
     
     
    If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty
    Code "(Probe plate is grounded, check connection and try again)"
    Code "M30"
    Else
     
    'Current state of G90/G91 mode
    CurrentAbsInc = GetOEMLed(48)
     
    Code "G0 X" & GetDRO(DRO_X)-35 ' Позиционируем датчик металла над проколом X-35
     
     
    While IsMoving() ' ждем выполнения
    Sleep 100
    Wend
     
    Code "m7" 'включаем пнвмопривод
    While IsMoving ()
    Sleep 100
    Wend
     
     
    'Probe
    Code "G91 F" &PlungeFeed
    Code "G31 Z-" &ProbeLim
    While IsMoving()'wait for the move to finish
    Wend
     
    Code "m9" ' выключаем пневмопривод
    While IsMoving ()
    Sleep 100
    Wend
     
    code "G92 Z" &TipHeight
    sleep(500)
     
    'Goto pierce height
    code "G90 G0 Z" &PierceHeight
    While IsMoving() ' Wait for probe move to finish
    Wend
     
    Code "G0 X" & GetDRO(DRO_X)+35 ' возврат в точку прожига
    ' End If
    Code "F" & Feed ' возращаем скорость F
     
    While IsMoving()
    Sleep 100
    Wend
     
    DoSpinCW()
     
    if PierceDelay > 0 Then
    code "G04 P" &PierceDelay
    End If
     
    'Goto cutting height
    code "G90 G0 Z" &CuttingHeight
     
    If CurrentAbsInc Then
    Code "G90 F" & CurrentFeed
    else
    Code "G91 F" & CurrentFeed
    End If
     
    End If
    End Sub
     
  2. морун

    морун Member

    Регистрация:
    1 окт 2012
    Сообщения:
    103
    Симпатии:
    0