PUMOTIX – вопросы и ответы по системе ЧПУ

Mach, популярные и не очень CAD, CAM. Обсуждение и разработка программ для управления станками.
vtgmfg
Мастер
Сообщения: 1438
Зарегистрирован: 23 июн 2022, 14:13
Репутация: 53
Настоящее имя: Максим
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение vtgmfg »

)))
GNDJBS
Новичок
Сообщения: 16
Зарегистрирован: 08 ноя 2019, 21:01
Репутация: 3
Настоящее имя: Валерий
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение GNDJBS »

Prav писал(а): 15 мар 2023, 18:27
GNDJBS писал(а): 15 мар 2023, 17:50
vtgmfg писал(а): 05 мар 2023, 12:57 для этого нужно 50 страниц просмотреть
если нужно, то 1000 страниц прочитаешь, так что ваше сообщение, бесполезный набор букв, как говорят в народе-лишь бы ляпнуть!
GNDJBS, точно! Давай мы его ещё ссаными тапками закидаем!!! А то понапишут тут всякого...


<сарказм>
это не поможет))) это надо будет букафки изучать, а тут 50 страниц их, а то капелярчик лопнет от напряжения где-нибудь. Шучу)))))
StavRos
Опытный
Сообщения: 142
Зарегистрирован: 20 мар 2017, 14:25
Репутация: 21
Настоящее имя: Борис
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение StavRos »

Контроллер PLCM-E3p (Ethernet) + плата расширения PLCM-B1. Вчера станок отработал штатно, без происшествий, почти 9 часов. Сегодня по плану было продолжение работы, уже на почти 10 часов. Но станок стал останавливаться без видимых причин - срабатывает один из концевиков оси Y (на оси 2 шт. стоят). Причём, базирование перед началом работы происходит штатно, вывожу станок в рабочий ноль, запускаю работу, но уже на первых десятках строках кода станок останавливается - срабатывает концевик. Концевик чистый, рядом не находятся металлические предметы, из-за которых могло бы произойти срабатывание концевика. При остановленном станке концевик срабатывает нормально при поднесении к нему металла. Заменил концевик на аналогичный, он так же срабатывает в "ручном" режиме. И так же срабатывает фантомно при начале работы станка. В саппорт, конечно, написал, файл диагностики приложил.
С такой проблемой сталкивался, может быть, кто-то ещё, кроме меня?
Евжений
Мастер
Сообщения: 1084
Зарегистрирован: 05 апр 2016, 20:18
Репутация: 121
Настоящее имя: Жэзэрэл
Откуда: Там, сям.
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение Евжений »

Подтяжку на датчик вешайте. Резистор 5 кОм или что-то возле этого.
StavRos
Опытный
Сообщения: 142
Зарегистрирован: 20 мар 2017, 14:25
Репутация: 21
Настоящее имя: Борис
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение StavRos »

Евжений писал(а): 13 ноя 2023, 09:06 Подтяжку на датчик вешайте. Резистор 5 кОм или что-то возле этого.
Можно поподробнее, что такое "подтяжка" и куда её вешать? В концевик 3 провода приходят - земля, плюс и сигнальный. Сигнальный, соответственно, на один из пинов платы расширения приходит. Видимо, на него предлагаете повесить резистор? Последовательно, в разрыв провода? Ну, ок, но как оно всё работало тогда уже года 2 или чуть больше без дополнений всяких, непонятно... Саппорт подозревает неисправность платы, пока посоветовал перетыкнуть в приход концевика в свободный порт платы. Сделал, даже дважды, каждый раз тестируя результат. Ничего не поменялось, как фантомно и рандомно срабатывал концевик, так и срабатывает. Стабильность :)
С саппортом, кстати, тоже интересно - по ПО свой, по железкам свой...
rry
Мастер
Сообщения: 212
Зарегистрирован: 25 дек 2020, 12:01
Репутация: 35
Настоящее имя: Victor
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение rry »

StavRos писал(а): Можно поподробнее, что такое "подтяжка" и куда её вешать?
если нпн датчик, то между плюсом и сигнальным, если пнп, то между минусом и сигнальным добавить резистор 2.2...10кОм
но врядли поможет эта подтяжка)
StavRos
Опытный
Сообщения: 142
Зарегистрирован: 20 мар 2017, 14:25
Репутация: 21
Настоящее имя: Борис
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение StavRos »

rry писал(а): но врядли поможет эта подтяжка)
От тож :) Повторюсь, работало же как-то без всяких добавок, нормально...
SeReGa Sh
Мастер
Сообщения: 252
Зарегистрирован: 31 янв 2017, 23:17
Репутация: 5
Настоящее имя: Сергей
Откуда: Нижний Новгород
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение SeReGa Sh »

Приветствую присутствующих.
Прошу помощи в освоении макроса автосмены инструмента М6. Может кто то занимался и есть готовый, хотелось бы взглянуть, ну или может кто подскажет в решении конкретных загвоздок, а именно:
1. Как прописать опрос датчика на шпинделе после разжима захвата патрона и сответственно как прописать алгоритм действий при нормальном срабатывании датчика и при случае не срабатываня.
2. Как прописать алгоритм замера длины инструмента после смены ( подозреваю что нужно просто взять часть макроса из пробинга и откорректировать добавив задание перемещения к датчику, но если кто подскажет точнее, будет лучше)
Заранее спасибо откликнувшимся.
rry
Мастер
Сообщения: 212
Зарегистрирован: 25 дек 2020, 12:01
Репутация: 35
Настоящее имя: Victor
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение rry »

вот мой для ручной смены. от оператора требуется нажатие кнопки старт.
1 фаза: сначала проверки, что всё корректно и шпиндель стоит, подъем на безопасную высоту, запоминает координаты. потом едет в координаты смены.
2 фаза: сама смена, пробинг длины, вычисление смещения координат, возврат всех настроек

писалось давно, нюансов не помню) но работает до сих пор

сигналы
UserOutput_5 обдув оправки при смене
UserOutput_4 открыть замок шпинделя

UserInput_12 замок открылся
UserInput_13 инструмент в шпинделе

Код: Выделить всё

require("Common")

function m6()
	if (GetToolSlot() == GetSelectedToolSlot()) then
		return
	end
	
	local stage = GetStage()
	if (stage == 0) then
		m6start()
		SetStage(1, true, true)
		Stop()
		return
	elseif (stage == 1) then
		m6end()
		SetStage(0, false, false)
		return
	end
end

function m6start()

	savedDistanceMode = GetCurrentDistanceMode()
	savedMotionMode = GetCurrentMotionMode()
	savedSpindleRPM = SpindleGetCurRPM()
	savedFeed = GetGCodeFeedrate()

	if (not IsAxesMaskReferenced(tonumber("0x7"))) then
		DisplayMessage("Do homing first!!!")
		Stop()
		return
	end
	if (not IsProbingPinConfigured()) then
		DisplayMessage("Probing not configured!!! Do it first!!!")
		Stop()
		return
	end

	local toolSlot = GetSelectedToolSlot()
	local previousToolSlot = GetToolSlot()

	if ( toolSlot == 0 and previousToolSlot == 0) then
		DisplayMessage("Nothing to put!!!")
		Stop()
		return
	end

	savedPos = {}
	for i = Axis.X, Axis.W do
		savedPos[i] = AxisGetMachinePos(i)
	end

        GotoSafeZ()
	if (not SafeSpindleStop()) then
		DisplayMessage("Spindle did not stop at "..str(10000).." sec! or stop signal not found!!!!")
	        Stop()
		return
	end

	local toolchangePos = {}
	for i = Axis.X, Axis.W do
		toolchangePos[i] = GetGeneralToolchangePosition(i)
	end
	
	ExecuteMDI("G53 G1 X"..toolchangePos[Axis.X].." Y"..toolchangePos[Axis.Y].." F5000")
	
end

function m6end()
	local toolSlot = GetSelectedToolSlot()
	--Sleep(3000)

	Sleep(5000)
        PinSetState(Outputs.UserOutput_5, true) -- blow job on
	PinSetState(Outputs.UserOutput_4, true) -- change job on
	if (not WaitForPinState(Inputs.UserInput_12, true, 500)) then
		DisplayMessage("Tool release on Spindle not working! Turn air pump On dude...")
		PinSetState(Outputs.UserOutput_4, false) -- change job off
	        PinSetState(Outputs.UserOutput_5, false) -- blow job off
		return
	end

	if (not WaitForPinState(Inputs.UserInput_13, false, 500)) then
		DisplayMessage("Tool on Spindle found! It must be 0")
		PinSetState(Outputs.UserOutput_4, false) -- change job off
	        PinSetState(Outputs.UserOutput_5, false) -- blow job off
		return
	end
	Sleep(5000)

	
	PinSetState(Outputs.UserOutput_4, false) -- change job off
	PinSetState(Outputs.UserOutput_5, false) -- blow job off

	if (not WaitForPinState(Inputs.UserInput_12, false, 500)) then
		DisplayMessage("Tool tighten on Spindle not working! Turn air pump On dude...")
		return
	end

	if (PinGetState(Inputs.Probing) or PinGetState(Inputs.Probing2)) then
		DisplayMessage("Probe input is already active")
		Stop()
		return
	end
	Sleep(1000)
	if (toolSlot ~= 0) then
		if (not WaitForPinState(Inputs.UserInput_13, true, 500)) then
			DisplayMessage("Tool on Spindle not found as signals spindle show! It must be 1")
			Stop()
			return
		end
	
		ExecuteMDI("G90 G53 G1 Z-100 F2000")
        	local ProbeLim = 190
		local ProbingMaximum = AxisGetPos(Axis.Z) - ProbeLim
		local ProbeFeedFast = GetGeneralProbeFeed()
		ProbeFeedFast = 1000
		local ProbeFeedSlow = ProbeFeedFast / 10
		ExecuteMDI("G90 G38.2 Z"..str(ProbingMaximum).." F"..ProbeFeedFast)
		local Raise = AxisGetPos(Axis.Z) + 5
		ExecuteMDI("G90 G1 Z"..str(Raise).."F"..ProbeFeedFast)
		ExecuteMDI("G90 G38.2 Z"..str(ProbingMaximum).." F"..ProbeFeedSlow)
		ExecuteMDI("G92 Z"..GetNumUserValue(10))
		GotoSafeZ()
	end

	ExecuteMDI("G53 G90 G1 X"..str(savedPos[Axis.X]).." Y"..str(savedPos[Axis.Y]).." F5000")

	SetToolSlot(toolSlot)

	if (savedSpindleRPM > 0) then
		SpindleStartCW()
	end
	
	ExecuteMDI("F"..savedFeed)
	
	if (savedDistanceMode ~= GetCurrentDistanceMode()) then
		if (savedDistanceMode == DistanceMode.Abs) then
			ExecuteMDI("G90")
		else
			ExecuteMDI("G91")
		end
	end
	
	if (savedMotionMode ~= GetCurrentMotionMode()) then
		SetCurrentMotionMode(savedMotionMode)
	end
end
SeReGa Sh
Мастер
Сообщения: 252
Зарегистрирован: 31 янв 2017, 23:17
Репутация: 5
Настоящее имя: Сергей
Откуда: Нижний Новгород
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение SeReGa Sh »

Благодарю, хоть какой то рабочий образец. Буду дальше разбираться. Пурики обнаглели, отказались даже пример рабочий показать, все только за деньги, какая то хреновая тех поддержка...и это при условии уже купленного контроллера и опции автосмены...
Argentum47
Мастер
Сообщения: 856
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение Argentum47 »

SeReGa Sh писал(а): Пурики обнаглели, отказались даже пример рабочий показать, все только за деньги, какая то хреновая тех поддержка...и это при условии уже купленного контроллера и опции автосмены...
Они вернулись в своё привычное конченое состояние скорее, был период в несколько лет, когда они охотно сотрудничали с клиентами. Сейчас просто сто лет форума ихнего нет уже, на котором можно было оценить все масштабы их деятельности в первые годы, хотя где нибудь в вэб архиве эта бомба наверное лежит.
SeReGa Sh
Мастер
Сообщения: 252
Зарегистрирован: 31 янв 2017, 23:17
Репутация: 5
Настоящее имя: Сергей
Откуда: Нижний Новгород
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение SeReGa Sh »

Argentum47 писал(а): 18 янв 2024, 08:03
SeReGa Sh писал(а): Пурики обнаглели, отказались даже пример рабочий показать, все только за деньги, какая то хреновая тех поддержка...и это при условии уже купленного контроллера и опции автосмены...
Они вернулись в своё привычное конченое состояние скорее, был период в несколько лет, когда они охотно сотрудничали с клиентами. Сейчас просто сто лет форума ихнего нет уже, на котором можно было оценить все масштабы их деятельности в первые годы, хотя где нибудь в вэб архиве эта бомба наверное лежит.
К счастью немного помогли, хоть и не без косяков, прислали недоступную в инструкциях команду, хоть и не рабочую (хотя как они утверждают, что сами ей пользуются), но немного подкорректировав, все получилось.
rry
Мастер
Сообщения: 212
Зарегистрирован: 25 дек 2020, 12:01
Репутация: 35
Настоящее имя: Victor
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение rry »

SeReGa Sh писал(а): Благодарю, хоть какой то рабочий образец. Буду дальше разбираться. Пурики обнаглели, отказались даже пример рабочий показать, все только за деньги, какая то хреновая тех поддержка...и это при условии уже купленного контроллера и опции автосмены...
забыл добавить функции, которые я использовал, мало ли их не хватило из Common.pm

Код: Выделить всё

function GotoSafeZ()
	PushCurrentDistanceMode()
	PushCurrentMotionMode()

	local SafeZ = GetGeneralSafeZ()
	local SafeZMode = GetSafeZMode()
	if (SafeZMode == SafeZModes.Machine) then
		if (AxisGetMachinePos(Axis.Z) < SafeZ) then
			ExecuteMDI("G90 G53 G01 Z"..SafeZ.." F1000")
		end
	end
end

-- Ожидание сигнала на указанном входе с заданным состоянием в течение заданного тайм-аута
function WaitForPinState(input, desired_state, time_ms)
	local finish_time = GetSystemTickCount() + time_ms
	while (GetSystemTickCount() < finish_time and PinGetState(input) ~= desired_state) do
		Sleep(50)
	end
	return (PinGetState(input) == desired_state)
end

function SafeSpindleStop()
	local sleepingTime = 0
	if (not PinGetState( Inputs.UserInput_7 )) then
		SpindleStop()
		if (not WaitForPinState(Inputs.UserInput_7, true, 10000)) then
			DisplayMessage("Spindle can't stoped safetly!")
			return false
		end
	end
	return true
end

SeReGa Sh
Мастер
Сообщения: 252
Зарегистрирован: 31 янв 2017, 23:17
Репутация: 5
Настоящее имя: Сергей
Откуда: Нижний Новгород
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение SeReGa Sh »

rry писал(а): 18 янв 2024, 13:51
SeReGa Sh писал(а): Благодарю, хоть какой то рабочий образец. Буду дальше разбираться. Пурики обнаглели, отказались даже пример рабочий показать, все только за деньги, какая то хреновая тех поддержка...и это при условии уже купленного контроллера и опции автосмены...
забыл добавить функции, которые я использовал, мало ли их не хватило из Common.pm

Код: Выделить всё

function GotoSafeZ()
	PushCurrentDistanceMode()
	PushCurrentMotionMode()

	local SafeZ = GetGeneralSafeZ()
	local SafeZMode = GetSafeZMode()
	if (SafeZMode == SafeZModes.Machine) then
		if (AxisGetMachinePos(Axis.Z) < SafeZ) then
			ExecuteMDI("G90 G53 G01 Z"..SafeZ.." F1000")
		end
	end
end

-- Ожидание сигнала на указанном входе с заданным состоянием в течение заданного тайм-аута
function WaitForPinState(input, desired_state, time_ms)
	local finish_time = GetSystemTickCount() + time_ms
	while (GetSystemTickCount() < finish_time and PinGetState(input) ~= desired_state) do
		Sleep(50)
	end
	return (PinGetState(input) == desired_state)
end

function SafeSpindleStop()
	local sleepingTime = 0
	if (not PinGetState( Inputs.UserInput_7 )) then
		SpindleStop()
		if (not WaitForPinState(Inputs.UserInput_7, true, 10000)) then
			DisplayMessage("Spindle can't stoped safetly!")
			return false
		end
	end
	return true
end

Благодарю.
Сегодня совместными усилиями с коллегой победили макрос, немного иными командами, но все работает так как и планировали, даже тех поддержка частично помогла, хоть и по своему)))
Argentum47
Мастер
Сообщения: 856
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение Argentum47 »

В один прекрасный день, видимо после какого-то обновления, софтина перестала запоминать состояние при выключении, каждый раз при запуске УП стоит на первой строке, на профильной обработке ещё ничего, но когда тонна выборок на листе - это уже расстраивает. Пробовал переустанавливать - только на настройки заново попал. У кого нибудь есть пара версий предшествующих текущей?
Enot_1
Мастер
Сообщения: 1353
Зарегистрирован: 28 апр 2015, 00:12
Репутация: 240
Настоящее имя: Arkadiy
Откуда: Краснодар
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение Enot_1 »

Argentum47 писал(а): У кого нибудь есть пара версий предшествующих текущей?
Пойдут? Стоит у меня с пометкой "эта"
Screenshot_20240215_105833.jpg (253 просмотра) <a class='original' href='./download/file.php?id=210919&sid=8c3bbb210159c8549aa3bab7903b5421&mode=view' target=_blank>Загрузить оригинал (129.86 КБ)</a>
Argentum47
Мастер
Сообщения: 856
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение Argentum47 »

Enot_1 писал(а): Пойдут?
да, вполне
Enot_1
Мастер
Сообщения: 1353
Зарегистрирован: 28 апр 2015, 00:12
Репутация: 240
Настоящее имя: Arkadiy
Откуда: Краснодар
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение Enot_1 »

Argentum47 писал(а): 15 фев 2024, 11:41
Enot_1 писал(а): Пойдут?
да, вполне
https://cloud.mail.ru/public/SMtD/d6oRVMRmX
Argentum47
Мастер
Сообщения: 856
Зарегистрирован: 05 июн 2015, 10:00
Репутация: 97
Откуда: Саратов
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение Argentum47 »

Спасибо большое.
PlasmaKZ
Новичок
Сообщения: 28
Зарегистрирован: 03 окт 2015, 18:40
Репутация: 0
Настоящее имя: Василий
Контактная информация:

Re: PUMOTIX – вопросы и ответы по системе ЧПУ

Сообщение PlasmaKZ »

Здравствуйте.
Пытался перейти с Мач3 на Пумотикс (контроллер PLCM E1b). В итоге теперь не работает ни то, ни другое.
Станок не двигается, хотя Пумотикс вроде не выдает никаких ошибок (контроллер видит, двигатели/оси настроил). При нажатии на стрелки цифры координат меняются, курсор по экрану движется - только станок молчит.
На самом контроллере мигает желтая лампочка, зеленая не горит.
Подскажите, с какой стороны к нему подходить? Что проверить в первую очередь, чтобы хотя бы появился намек - в чем загвоздка?

зы: У меня подозрение на то, что контроллер как-то криво перепрошился (при первом запуске Пумотикс произвел обновление прошивки контроллера), после чего его перестал видеть Мач3. Может быть такое?
Сетевые настройки (ай-пи) перепробовал все варианты.
Помогите! Работа встала!!!
Ответить

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