PUMOTIX – вопросы и ответы по системе ЧПУ
- 
				GNDJBS
 - Новичок
 - Сообщения: 16
 - Зарегистрирован: 08 ноя 2019, 21:01
 - Репутация: 3
 - Настоящее имя: Валерий
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
- 
				StavRos
 - Опытный
 - Сообщения: 142
 - Зарегистрирован: 20 мар 2017, 14:25
 - Репутация: 21
 - Настоящее имя: Борис
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Контроллер PLCM-E3p (Ethernet) + плата расширения PLCM-B1. Вчера станок отработал штатно, без происшествий, почти 9 часов. Сегодня по плану было продолжение работы, уже на почти 10 часов. Но станок стал останавливаться без видимых причин - срабатывает один из концевиков оси Y (на оси 2 шт. стоят). Причём, базирование перед началом работы происходит штатно, вывожу станок в рабочий ноль, запускаю работу, но уже на первых десятках строках кода станок останавливается - срабатывает концевик. Концевик чистый, рядом не находятся металлические предметы, из-за которых могло бы произойти срабатывание концевика. При остановленном станке концевик срабатывает нормально при поднесении к нему металла. Заменил концевик на аналогичный, он так же срабатывает в "ручном" режиме. И так же срабатывает фантомно при начале работы станка. В саппорт, конечно, написал, файл диагностики приложил.
С такой проблемой сталкивался, может быть, кто-то ещё, кроме меня?
			
			
									
									
						С такой проблемой сталкивался, может быть, кто-то ещё, кроме меня?
- 
				Евжений
 - Мастер
 - Сообщения: 1168
 - Зарегистрирован: 05 апр 2016, 20:18
 - Репутация: 136
 - Настоящее имя: Жэзэрэл
 - Откуда: Там, сям.
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Подтяжку на датчик вешайте. Резистор 5 кОм или что-то возле этого.
			
			
									
									ВК https://vk.com/id353124059
О Боже, дай мне .... пендель!
						О Боже, дай мне .... пендель!
- 
				StavRos
 - Опытный
 - Сообщения: 142
 - Зарегистрирован: 20 мар 2017, 14:25
 - Репутация: 21
 - Настоящее имя: Борис
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Можно поподробнее, что такое "подтяжка" и куда её вешать? В концевик 3 провода приходят - земля, плюс и сигнальный. Сигнальный, соответственно, на один из пинов платы расширения приходит. Видимо, на него предлагаете повесить резистор? Последовательно, в разрыв провода? Ну, ок, но как оно всё работало тогда уже года 2 или чуть больше без дополнений всяких, непонятно... Саппорт подозревает неисправность платы, пока посоветовал перетыкнуть в приход концевика в свободный порт платы. Сделал, даже дважды, каждый раз тестируя результат. Ничего не поменялось, как фантомно и рандомно срабатывал концевик, так и срабатывает. Стабильность
С саппортом, кстати, тоже интересно - по ПО свой, по железкам свой...
- 
				SeReGa Sh
 - Мастер
 - Сообщения: 264
 - Зарегистрирован: 31 янв 2017, 23:17
 - Репутация: 5
 - Настоящее имя: Сергей
 - Откуда: Нижний Новгород
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Приветствую присутствующих.
Прошу помощи в освоении макроса автосмены инструмента М6. Может кто то занимался и есть готовый, хотелось бы взглянуть, ну или может кто подскажет в решении конкретных загвоздок, а именно:
1. Как прописать опрос датчика на шпинделе после разжима захвата патрона и сответственно как прописать алгоритм действий при нормальном срабатывании датчика и при случае не срабатываня.
2. Как прописать алгоритм замера длины инструмента после смены ( подозреваю что нужно просто взять часть макроса из пробинга и откорректировать добавив задание перемещения к датчику, но если кто подскажет точнее, будет лучше)
Заранее спасибо откликнувшимся.
			
			
									
									
						Прошу помощи в освоении макроса автосмены инструмента М6. Может кто то занимался и есть готовый, хотелось бы взглянуть, ну или может кто подскажет в решении конкретных загвоздок, а именно:
1. Как прописать опрос датчика на шпинделе после разжима захвата патрона и сответственно как прописать алгоритм действий при нормальном срабатывании датчика и при случае не срабатываня.
2. Как прописать алгоритм замера длины инструмента после смены ( подозреваю что нужно просто взять часть макроса из пробинга и откорректировать добавив задание перемещения к датчику, но если кто подскажет точнее, будет лучше)
Заранее спасибо откликнувшимся.
- 
				rry
 - Мастер
 - Сообщения: 224
 - Зарегистрирован: 25 дек 2020, 12:01
 - Репутация: 38
 - Настоящее имя: Victor
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
вот мой для ручной смены. от оператора требуется нажатие кнопки старт.
1 фаза: сначала проверки, что всё корректно и шпиндель стоит, подъем на безопасную высоту, запоминает координаты. потом едет в координаты смены.
2 фаза: сама смена, пробинг длины, вычисление смещения координат, возврат всех настроек
писалось давно, нюансов не помню) но работает до сих пор
сигналы
UserOutput_5 обдув оправки при смене
UserOutput_4 открыть замок шпинделя
UserInput_12 замок открылся
UserInput_13 инструмент в шпинделе
			
			
									
									
						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
 - Мастер
 - Сообщения: 264
 - Зарегистрирован: 31 янв 2017, 23:17
 - Репутация: 5
 - Настоящее имя: Сергей
 - Откуда: Нижний Новгород
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Благодарю, хоть какой то рабочий образец. Буду дальше разбираться. Пурики обнаглели, отказались даже пример рабочий показать, все только за деньги, какая то хреновая тех поддержка...и это при условии уже купленного контроллера и опции автосмены...
			
			
									
									
						- 
				Argentum47
 - Мастер
 - Сообщения: 911
 - Зарегистрирован: 05 июн 2015, 10:00
 - Репутация: 110
 - Откуда: Саратов
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Они вернулись в своё привычное конченое состояние скорее, был период в несколько лет, когда они охотно сотрудничали с клиентами. Сейчас просто сто лет форума ихнего нет уже, на котором можно было оценить все масштабы их деятельности в первые годы, хотя где нибудь в вэб архиве эта бомба наверное лежит.
- 
				SeReGa Sh
 - Мастер
 - Сообщения: 264
 - Зарегистрирован: 31 янв 2017, 23:17
 - Репутация: 5
 - Настоящее имя: Сергей
 - Откуда: Нижний Новгород
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
К счастью немного помогли, хоть и не без косяков, прислали недоступную в инструкциях команду, хоть и не рабочую (хотя как они утверждают, что сами ей пользуются), но немного подкорректировав, все получилось.Argentum47 писал(а): ↑18 янв 2024, 08:03Они вернулись в своё привычное конченое состояние скорее, был период в несколько лет, когда они охотно сотрудничали с клиентами. Сейчас просто сто лет форума ихнего нет уже, на котором можно было оценить все масштабы их деятельности в первые годы, хотя где нибудь в вэб архиве эта бомба наверное лежит.
- 
				rry
 - Мастер
 - Сообщения: 224
 - Зарегистрирован: 25 дек 2020, 12:01
 - Репутация: 38
 - Настоящее имя: Victor
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
забыл добавить функции, которые я использовал, мало ли их не хватило из 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
 - Мастер
 - Сообщения: 264
 - Зарегистрирован: 31 янв 2017, 23:17
 - Репутация: 5
 - Настоящее имя: Сергей
 - Откуда: Нижний Новгород
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Благодарю.rry писал(а): ↑18 янв 2024, 13:51забыл добавить функции, которые я использовал, мало ли их не хватило из 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
 - Мастер
 - Сообщения: 911
 - Зарегистрирован: 05 июн 2015, 10:00
 - Репутация: 110
 - Откуда: Саратов
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
В один прекрасный день, видимо после какого-то обновления, софтина перестала запоминать состояние при выключении, каждый раз при запуске УП стоит на первой строке, на профильной обработке ещё ничего, но когда тонна выборок на листе - это уже расстраивает. Пробовал переустанавливать - только на настройки заново попал. У кого нибудь есть пара версий предшествующих текущей?
			
			
									
									
						- 
				Enot_1
 - Мастер
 - Сообщения: 1359
 - Зарегистрирован: 28 апр 2015, 00:12
 - Репутация: 242
 - Настоящее имя: Arkadiy
 - Откуда: Краснодар
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Пойдут? Стоит у меня с пометкой "эта"Argentum47 писал(а): ↑ У кого нибудь есть пара версий предшествующих текущей?
- 
				Argentum47
 - Мастер
 - Сообщения: 911
 - Зарегистрирован: 05 июн 2015, 10:00
 - Репутация: 110
 - Откуда: Саратов
 - Контактная информация:
 
- 
				Argentum47
 - Мастер
 - Сообщения: 911
 - Зарегистрирован: 05 июн 2015, 10:00
 - Репутация: 110
 - Откуда: Саратов
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Спасибо большое.
- 
				PlasmaKZ
 - Новичок
 - Сообщения: 28
 - Зарегистрирован: 03 окт 2015, 18:40
 - Репутация: 0
 - Настоящее имя: Василий
 - Контактная информация:
 
Re: PUMOTIX – вопросы и ответы по системе ЧПУ
Здравствуйте.
Пытался перейти с Мач3 на Пумотикс (контроллер PLCM E1b). В итоге теперь не работает ни то, ни другое.
Станок не двигается, хотя Пумотикс вроде не выдает никаких ошибок (контроллер видит, двигатели/оси настроил). При нажатии на стрелки цифры координат меняются, курсор по экрану движется - только станок молчит.
На самом контроллере мигает желтая лампочка, зеленая не горит.
Подскажите, с какой стороны к нему подходить? Что проверить в первую очередь, чтобы хотя бы появился намек - в чем загвоздка?
зы: У меня подозрение на то, что контроллер как-то криво перепрошился (при первом запуске Пумотикс произвел обновление прошивки контроллера), после чего его перестал видеть Мач3. Может быть такое?
Сетевые настройки (ай-пи) перепробовал все варианты.
Помогите! Работа встала!!!
			
			
									
									
						Пытался перейти с Мач3 на Пумотикс (контроллер PLCM E1b). В итоге теперь не работает ни то, ни другое.
Станок не двигается, хотя Пумотикс вроде не выдает никаких ошибок (контроллер видит, двигатели/оси настроил). При нажатии на стрелки цифры координат меняются, курсор по экрану движется - только станок молчит.
На самом контроллере мигает желтая лампочка, зеленая не горит.
Подскажите, с какой стороны к нему подходить? Что проверить в первую очередь, чтобы хотя бы появился намек - в чем загвоздка?
зы: У меня подозрение на то, что контроллер как-то криво перепрошился (при первом запуске Пумотикс произвел обновление прошивки контроллера), после чего его перестал видеть Мач3. Может быть такое?
Сетевые настройки (ай-пи) перепробовал все варианты.
Помогите! Работа встала!!!