Перейти к публикации

Оптимизация работы.


vasilevmoment

Рекомендованные сообщения

Здравствуйте коллеги, предлагаю в данную тему выкладывать способы оптимизации работы solidcam и не только.

  

1) Параметрическая шапка программа с указанием номеров инструмента.

    Столкнулся со следующей проблемой. Часто в УП, количество инструментов может быть далеко за 20, а времени переписывать инструмент нет, но также  меня не бывает на рабочем месте (например надо настраивать станок во вторую или третью смену когда меня нет ), а операторам довольно трудно понять  какая именно фреза должна работать в том или ином месте. Для этого в постпроцессоре в трех функциях добавил следующий код.

         

            Функция  @def_tool  (отвечает за вывод в начале программы списка инструментов и их описание) картинка 1:   

@def_tool ;шапка программы с указанием номеров инструмента

global integer sequence<<40>> ; массив из которого выбираем номер инструмента 
global integer CYCtool  ;порядковая переменная  #101, #102, #103 ,#104 #105, #106 и т.д.

CYCtool=CYCtool+1  ;прибавление +1 к #101 для вывода в следующей строке.
sequence<<CYCtool>> = tool_number ;подхват номера из solidcam.

if CYCtool ge 10 ; условие если число инструментов больше 10
   {nb, '#1'CYCtool'=', tool_number} ;#101, #102, #103 ,#104 #105, #106 и т.д.
   {' ('tool_message')'} ; вывод комментария к инструменту.
else            
   {nb, '#10'CYCtool'=', tool_number}   
   {' ('tool_message')'} ; вывод комментария к инструменту. 
endif


endp

 

 

           Функция @change_tool  (отвечает за вывод g-кода во время смены инструмента) картинка 2:

@change_tool  ;функция смены инструмента.
    
    {nb, 'M09'}
	{nb, 'M05'}
	{nb,'G49'}
    {nb,'G69'}
	{nl}
	{nl}
	{nb,'G0 G53 Z0.'}
    
	
CYCtool=1     
	 while tool_number ne sequence<<CYCtool>> ;цикл вывода #101 и т.д....
CYCtool=CYCtool+1
     endw
	     
         if CYCtool ge 10	; условие если число инструментов больше 10
		    {nb, 'T#1'CYCtool} 
		 else
		    {nb, 'T#10'CYCtool} 
		 endif
	 
	 
	
	if tool_number ne next_tool_number
    endif	
	
	{' M06'}
	
	first_touch = true
	prev_spin_rate = false
	vvod=true
	
endp

 

 

            Функция @height_comp (отвечает за вывод коррекции на длину и диаметр инструмента)  картинка 3

 

Итог: Получаем УП как на картинке 4: Следующего вида. 

#101 #102 #103 .....общие переменные станка в которые можно записывать числа а также производить с ними расчеты. Т.е.  в строке #101=34 мы записываем в переменную число 34( ячейка в которой находится нужный инструмент.) и так далее, коррекции и компенсации также подхватываются и работают.

 

 

(;DATE:28-APR-2021 TIME:18:58:54)

#101=34 (Фреза торцевая ф50)
#102=13 (фреза 20 203520 гидрозажим)
#103=10 (Фреза ф10 202760)
#104=6 (Фреза ф3 202760)
#105=35 (Сверло ф3.8)
#106=7 (Зенкер ф6)
#107=11 (раскатник м4)
#108=26 (Сверло 122380 16 в гидрозажим)
#109=16 (Сверло 16 HSS)
#110=24 (Сверло ф10 122404 короткое направляющие)
#111=12 (Сверло 10 HSS)
#112=33 (Сверло 5 в удлинитель 16)
#113=15 (Фреза 6 202760 в удлинитель 16)
#114=1 (зенкер 6 в удлинитель 16)
#115=2 (развертка 8)
#116=5 (Сверло 3 вылет 45 мм)

G00 G17 G40 G80 G49 G90 

 

            

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

 

Следующие оптимизации будут позже вот список чем дальше хотелось бы поделится.

 

1) Удобная разработка и корректировка постпроцессоров, с помощью введения отображения,  списка функций как на картинке 1,2,3  

2) Программа для расчета трехмерного поворота точки в пространстве (это когда например есть четвертая ось но нет функции динамической трансформации координат)

3) Орбитальное точение на фрезерном станке (станок должен иметь функцию позиционирование оси шпинделя) 

 

1.JPG

2.JPG

3.JPG

333.JPG

Ссылка на сообщение
Поделиться на других сайтах


UnPinned posts

@vasilevmoment Хоть и не пользуюсь SolidCam (по крайней мере, пока), но очень жду продолжения. Могу предложить только картинки под спойлер прятать - имхо, так будет легче читаться пост.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 недели спустя...
01.05.2021 в 16:47, vasilevmoment сказал:

Удобная разработка и корректировка постпроцессоров, с помощью введения отображения,  списка функций как на картинке 1,2,3  

С удовольствием почитал бы, как это сделать. 

Я сам программирую в основном токарно-фрезерную группу, посты тоже сам редактирую. Вот, например, моя шапка УП.
https://yadi.sk/i/kLXQU092ATwYPA
Хотел бы добавить еще вывод вылета инструмента и конечной точки инструмента по оси Z (для того, чтобы оператору не приходилось искать ее в УП). Но пока не представляю, как это сделать.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 года спустя...

Ребята, а подскажите как настроить автоматическую подготовку следующего применяемого инструмента, а то сейчас ручками правлю каждый раз. Немного надоедает после каждой генерации УП.

Ссылка на сообщение
Поделиться на других сайтах
  • 4 месяца спустя...
23.10.2023 в 21:53, Snake 60 сказал:

Ребята, а подскажите как настроить автоматическую подготовку следующего применяемого инструмента, а то сейчас ручками правлю каждый раз. Немного надоедает после каждой генерации УП.

ну если у тебя пост из стандартного, тогда там есть настройка в gpp-файле

Снимок экрана 2024-03-10 115654.png

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.




  • Сообщения

    • gudstartup
      так он так и позиционируется по m19 pmc выдает g70.6 а чпу отвечает f45.7 но ориентацию и смещение в 4077 он отрабатывает нормально шпиндель встает ровно и смена происходит хорошо. вопрос почему после ввода команды управления скоростью он все еще продолжает контролировать число импульсов между нуль метками хотя в принципе уже должен отменить позиционный контроль и просто считать обороты по 0 метке как он это делает без М19?
    • Александр1979
      SP9047 SSPA:47 ILLEGAL SIGNAL OF POSITION CODER "The relationship between the A/B phase and 1-rotation signal is incorrect (Pulse interval mismatch)." "Неправильное значение счетчика импульсов сигнала на энкодере ALPHAi. На фазах A и B энкодера за один оборот шпинделя насчитывается 4096 импульсов обратной связи. Программное обеспечение по управлению шпинделем проверяет количество импульсов на фазах A и B, соответствующее энкодеру, при каждой генерации сигнала одного оборота. Данный аварийный сигнал срабатывает, если регистрируется число импульсов, нарушающее заданный диапазон."
    • gudstartup
      после ввода 789 в edit mod надо перейти в режим ручное упр. нажать mod а потом помощь и откроется wzw.hlp  с возможностью выполнения команд управления atc. если не появляется содержимое wzw.hlp то возможно что у вас другой код хотя 789 'это стандарт для dmg в этом случае надо смотреть ваш plc раздел у меня пароль прописан в файле wzw_rett.mod
    • Anat2015
      SERVO TURRET AMP ALARM - переводить не пробовали, учитывая, что AMP - это и есть сервопривод? Что тут не ясного, язык не знаком?
    • Viktor2004
      я бы попробовал позиционировать шпиндель сигналом G70.6 Ответный сигнал, шпиндель сориентирован F45.7
    • gudstartup
      Здравствуйте уважаемые участники форума попрошу вас поделится мнениями. Имеется фрезерный шпиндель с позиционным кодером (зубчатое колесо и считывающая головка). Ошибку 9047 выдает после того отрабатывает M19 c последующим включением оборотов Sxxx M3 причем обороты могут быть любыми от 100-макс. Если задавать обороты без предварительной ориентации то 9047 не возникает и шпиндель нормально вращается на любой скорости при этом обороты не гуляют точность поддержания +-1 об\мин. Кабель заменен заменить сам датчик нет возможности. Мой вопрос в следующем почему шпиндель после M19 и включении управления скоростью Sxxx M3 остается в режиме позиционирования а не сразу переходит врежим управления скоростью и даже явная отмена ориентации кодом M20 ничего не меняет ведь режим позиционного управления должен быть отменен или он остается и отменяется не сразу после подачи команды M3 и кода скорости? Станок достаточно старый 2009 года плату управления шпинделем меняли на соседний ничего не изменилось. Это может быть логика PMC или скорее всего это датчик?   PMC-SB.001
    • Killerchik
      А мы-то думали, что пропорциональный гидравлический.....
    • Grig75
    • EnKlL
      Я написал полностью ошибку, серво привод
    • gudstartup
      https://www.aggsoft.com/cnc-dnc/maho-cnc-432-1000.htm
×
×
  • Создать...