Разработка скрипта на LUA для работы с PUMOTIX
1 000 руб. за проект
Разработка скрипта на LUA для работы с
PUMOTIX
Макрос для поиска центра с наружи объекта.
Пример: http://doc.pumotix.ru/download/attachments/5182627...
Ниже пример макроса для поиска центра отверстия. Запускать макрос необходимо, когда датчик находится внутри отверстия.
function m154()
local ProbeFeed = 100
PushCurrentDistanceMode()
PushCurrentMotionMode()
local CurrX = AxisGetPos(Axis.X)
local CurrY = AxisGetPos(Axis.Y)
local CurrZ = AxisGetPos(Axis.Z)
if (IsProbingPinConfigured()) then
if (PinGetState(Inputs.Probing)) then
DisplayMessage("Probe input is already active")
return
end
local ProbeLim = 1000
local ProbingMaximum = CurrX - ProbeLim
ExecuteMDI("G90 G38.2 X"..ProbingMaximum.."F"..ProbeFeed)
local X1 = AxisGetPos(Axis.X)
ExecuteMDI("G90 G0 X"..CurrX)
local ProbingMaximum = CurrX + ProbeLim
ExecuteMDI("G90 G38.2 X"..ProbingMaximum.."F"..ProbeFeed)
local X2 = AxisGetPos(Axis.X)
ExecuteMDI("G90 G0 X"..CurrX)
local XC = (X1 + X2) / 2
local ProbingMaximum = CurrY - ProbeLim
ExecuteMDI("G90 G38.2 Y"..ProbingMaximum.."F"..ProbeFeed)
local Y1 = AxisGetPos(Axis.Y)
ExecuteMDI("G90 G0 Y"..CurrY)
local ProbingMaximum = CurrY + ProbeLim
ExecuteMDI("G90 G38.2 Y"..ProbingMaximum.."F"..ProbeFeed)
local Y2 = AxisGetPos(Axis.Y)
ExecuteMDI("G90 G0 Y"..CurrY)
local YC = (Y1 + Y2) / 2
ExecuteMDI("G90 G0 X"..XC.." Y"..YC)
else
DisplayMessage("Probe input is not configured")
return
end
end
PUMOTIX
Макрос для поиска центра с наружи объекта.
Пример: http://doc.pumotix.ru/download/attachments/5182627...
Ниже пример макроса для поиска центра отверстия. Запускать макрос необходимо, когда датчик находится внутри отверстия.
function m154()
local ProbeFeed = 100
PushCurrentDistanceMode()
PushCurrentMotionMode()
local CurrX = AxisGetPos(Axis.X)
local CurrY = AxisGetPos(Axis.Y)
local CurrZ = AxisGetPos(Axis.Z)
if (IsProbingPinConfigured()) then
if (PinGetState(Inputs.Probing)) then
DisplayMessage("Probe input is already active")
return
end
local ProbeLim = 1000
local ProbingMaximum = CurrX - ProbeLim
ExecuteMDI("G90 G38.2 X"..ProbingMaximum.."F"..ProbeFeed)
local X1 = AxisGetPos(Axis.X)
ExecuteMDI("G90 G0 X"..CurrX)
local ProbingMaximum = CurrX + ProbeLim
ExecuteMDI("G90 G38.2 X"..ProbingMaximum.."F"..ProbeFeed)
local X2 = AxisGetPos(Axis.X)
ExecuteMDI("G90 G0 X"..CurrX)
local XC = (X1 + X2) / 2
local ProbingMaximum = CurrY - ProbeLim
ExecuteMDI("G90 G38.2 Y"..ProbingMaximum.."F"..ProbeFeed)
local Y1 = AxisGetPos(Axis.Y)
ExecuteMDI("G90 G0 Y"..CurrY)
local ProbingMaximum = CurrY + ProbeLim
ExecuteMDI("G90 G38.2 Y"..ProbingMaximum.."F"..ProbeFeed)
local Y2 = AxisGetPos(Axis.Y)
ExecuteMDI("G90 G0 Y"..CurrY)
local YC = (Y1 + Y2) / 2
ExecuteMDI("G90 G0 X"..XC.." Y"..YC)
else
DisplayMessage("Probe input is not configured")
return
end
end
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.