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

Небольшие вопросы по fanuc и не только


selfmademan

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

Вопросы по программированию управляющих программ.
Возможно в программе изменить значение Keep relay, или оно изменяется только через электроавтоматику? Через какие области можно взаимодействовать управляющей программой с программой электроавтоматики?
Как то возможно вывести оператору сообщение, сообщение с подтверждением в управляющей программе?
В каких параметрах станка можно задать M код, что бы он ссылался на определённую подпрограмму?


Нужно написать программку для ручной смены приспособлений, что бы доработать до техобслуживания.

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


1 час назад, ID_Hacker сказал:

Через какие области можно взаимодействовать управляющей программой с программой электроавтоматики?

#1000 - #1031 G54.0 - G55.7

#1100 - #1131 F54.0 - F55.7

Ссылка на сообщение
Поделиться на других сайтах
19.09.2023 в 09:43, A_1 сказал:

Естественнее будет выделить диапазон переменных для ячеек магазина, например #601 - #630 (для магазина на 30 ячеек).

В них записываем номера инструментов от 1 до 90 или более, по количеству корректоров:

Извините что возвращаюсь к теме, но хотел сказать спасибо товарищу @A_1, пока будем пробовать вариант предложенный им, может в процессе найдём свой, более интересный. Ну или у кого есть свои интересные мысли на этот счёт, рад буду прочесть. 

Ссылка на сообщение
Поделиться на других сайтах
19.09.2023 в 09:43, A_1 сказал:

Естественнее будет выделить диапазон переменных для ячеек магазина, например #601 - #630 (для магазина на 30 ячеек).

В них записываем номера инструментов от 1 до 90 или более, по количеству корректоров:


#601=80
#602=15
#603=0 (0=ячейка свободна)
...
#630=55

@A_1 единственное что я пока не особо понял, как будет выглядеть таблица допустим на те же 90 инструментов при 30 ячейках в барабане? Нам придётся создать группы в которых каждой ячейке будет присвоено несколько инструментов? 

Что то типа такого? 

#601=1

#601=31

#601=61

#602=2

#602=32

#602=62

....

#630=30

#630=60

#630=90

Что означает что к  каждой ячейке мы привязали по три инструмента, к первой ячейке привязаны инструменты с номерами 1, 31 и 61 соответственно. 

Или я не так понял? 

ну или так будет выглядеть? 

 

#601 EQ 1 OR 31 OR 61

#602= EQ 2 OR 32 OR 62

....

#630 EQ 30 OR 60 OR 90

Я только знакомлюсь с параметрическим программированием, всё напутал @Viktor2004 писал про таблицы, а вы предлагаете переменным присвоить номера, но всё равно не понимаю как записать номера инструментов от 1 до 90 или более, по количеству корректоров, имея всего 30 переменных, их что придётся постоянно вручную менять, тогда намного проще заходить в (PMCPRM) и менять там, как я уже пробовал.  

Прошу прощения за мой скудный ум и разъяснить для особо одарённых)

 

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

я всё еще раз перечитал и кажется понял ваше предложение, вы предлагаете с помощью программы

O9024
(PAR6084=600)
(PRIMER: M600 A55 Z30)
#[600+#26]=#1

M99

каждый раз задавать переменную, тогда, когда оператор устанавливает новый инструмент в станок?

 но для этого ему нужно будет знать из какой ячейки он вызывает инструмент для смены, это первый минус. 

второй не каждого оператора заставишь это делать

Хотелось бы найти способ без этих манипуляций, один раз прописать весь инструмент в станок и спокойно работать. 

Как я уже писал можно сделать группы, где каждой ячейке будет присвоено допустим по три инструмента, единственное придётся затратить время на создание библиотеки так, чтобы инструменты из одной группы не пересекались в никаких программах. Допустим Т1 и Т11 присвоены к одной ячейке, то мы не можем их использовать в одной программе, если только перед вызовом будет останов и оператор будет менять инструмент. То есть производить наладку не только перед началом работы, но и перед  операцией, если это требуется, что конечно нужно просчитать и свести к минимуму. 

8 минут назад, palmerson сказал:

То есть производить наладку не только перед началом работы, но и перед  операцией, если это требуется, что конечно нужно просчитать и свести к минимуму.

хотя это всё похоже на то, что и создать группу скажем из тех же трёх инструментов, с одинаковым Т, только с разными корректорами

Что приводит нас туда, куда нам не нужно( 

В общем рад буду прочесть ваши соображения, по всей этой ереси что я написал:biggrin:

Ссылка на сообщение
Поделиться на других сайтах
1 час назад, palmerson сказал:

вы предлагаете переменным присвоить номера, но всё равно не понимаю как записать номера инструментов от 1 до 90 или более, по количеству корректоров, имея всего 30 переменных

У Вас есть 90 инструментов. Пронумеруем их от 1 до 90. Заходим в таблицу корректоров. В ней достаточно строк? Вводим 1 раз в неё геометрические данные, ну и далее дополняем её при появлении нового инструмента и делаем по необходимости корректировку. В CAM создаём инструменты с соответствующими таблице станка номерами. И CAM выдаёт управляющие программы с этими номерами инструментов.

В переменные #601 - #630 вообще не заглядываем. Но убедитесь, что они свободны.

Первая наладка. Магазин пустой и мы поочерёдно заполняем его нужными инструментами. Вызываем T1 M6 стандартным вызовом и устанавливаем нужный инструмент, например T71. Далее в T2 - T72, и так далее. Выполняем код (его можно прикрепить к управляющей программе)

M600 Z1 A71
M600 Z2 A72

Работаем.

Переналадка. Требуется снять ненужные инструменты T71 и T72 и поставить, например, T81 и T82. Вызываем T71 и T72 специальным способом A71;M6, A72;M6. Подсматриваем на экране какой инструмент установился в шпиндель (не заходя в специальные таблицы) это те же T1 и T2. Эта информация нам нужна для выполнения "перепривязки магазина" тем же способом

M600 Z1 A81
M600 Z2 A82

Работаем.

 

Изменено пользователем A_1
Ссылка на сообщение
Поделиться на других сайтах

 

18.09.2023 в 20:47, Viktor2004 сказал:

Я  думаю можно сделать так

параметр 6001#5  TCS поставить 1

Теперь команда Tn будет вызывать программу O9000 и указанный номер n будет записан в #149

В программе O9000 надо прописать таблицу типа

IF [#149 EQ 53] n=23;

IF [#149 EQ 54] n=24;

..........................

IF [#149 EQ 65] n=15;

Tn ;

M99 ;

@Viktor2004 мне кажется, что предложенный вами вариант наиболее оптимальный, если я всё понял, то тут мы можем и объединить инструменты в группы по ячейкам в каждую по три, где таблица будет выглядеть так:

IF [#149 EQ 1] n=1;

IF [#149 EQ 31] n=1;

IF [#149 EQ 61] n=1;

IF [#149 EQ 2] n=2;

IF [#149 EQ 32] n=2;

IF [#149 EQ 62] n=2;

..........................

IF [#149 EQ 30] n=30;

IF [#149 EQ 60] n=30;

IF [#149 EQ 90] n=30;

Tn ;

M99 ;

ну или через OR сгруппировать 

Да мы потеряем возможность пользоваться "старыми" программами, но зато каждый раз не надо прописывать инструмент и опять же нужно заморочиться с библиотекой, ну это уже мой геморрой, сгруппировать инструмент так, чтобы он не пересекался в программах из одной группы.

А то вызов произойдёт из ячейки скажем 1, а до этого  там работал Т1, а нам нужен Т31 и привет новый станок) 

Снова скатился к тому же что и одинаковые Т, с разными H и D. 

Извиняюсь, что спамлю, но я просто рассуждаю в попытке найти путь и похоже что всё таки @A_1 прав.

и придётся заставлять операторов работать по новому, как я понял, они должны будут каждый раз заглядывать в (PMCPRM) что бы знать ячейку, а потом с помощь программы присваивать ячейке новый Т. Поясню почему операторам придётся смотреть в таблиц, потому что на станках сейчас нет четкой фиксации по номеру (это для быстрой смены). В общем не буду ломать больше голову, в принципе такого и хотел начальник, завтра благодаря вам, расскажу ему как это реализовать. 

Предчувствую восторг операторов) 

 

2 минуты назад, A_1 сказал:

В ней достаточно строк?

да строк до 8-знаков

4 минуты назад, A_1 сказал:

Эта информация нам нужна для выполнения "перепривязки инструмента" тем же способом


M600 Z1 A81
M600 Z2 A82

Работаем.

понял вас, но лучше нам для этого сделать фиксацию ячеек, иначе путаница будет, операторам каждый раз смотреть в таблицу придётся, а при фиксации можно добиться того что вне зависимости от того какой станок, таблица одна и таже, которую можно распечатать и повесить на станок, что упрости жизнь операторам 

9 минут назад, A_1 сказал:

Выполняем код (его можно прикрепить к управляющей программе)


M600 Z1 A71
M600 Z2 A72

Код выполняем так? Да? 

O9024
(PAR6084=600)
(PRIMER: M600 A55 Z30)
#[600+#26]=#1
M99
Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, palmerson сказал:

да строк до 8-знаков

? Сколько всего этих строк?

image.png

22 минуты назад, palmerson сказал:

но лучше нам для этого сделать фиксацию ячеек, иначе путаница будет

Да с фиксацией будет проще привыкнуть, но система должна работать и с переменными ячейками

22 минуты назад, palmerson сказал:

Код выполняем так? Да? 


O9024
(PAR6084=600)
(PRIMER: M600 A55 Z30)
#[600+#26]=#1
M99

Этот код будет уже в станке, его набирать снова не надо.

Изменено пользователем A_1
Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, A_1 сказал:

? Сколько всего этих строк?

прошу прощения не больше 8-знаков значит строк 9 999 999 

А вы случайно не подскажете как сделать фиксацию ячеек? 

Ссылка на сообщение
Поделиться на других сайтах
2 минуты назад, palmerson сказал:

значит строк 9 999 999 

Ого. Тогда можно называть инструмент 7-значным числом.

3 минуты назад, palmerson сказал:

А вы случайно не подскажете как сделать фиксацию ячеек? 

Нет, не знаю.

Ссылка на сообщение
Поделиться на других сайтах
15 минут назад, A_1 сказал:

Этот код будет уже в станке, его набирать снова не надо.

А как тогда будет происходить привязка инструмента? по этому коду что мы укажем в конце уп? 

39 минут назад, A_1 сказал:

Выполняем код (его можно прикрепить к управляющей программе)


M600 Z1 A71
M600 Z2 A72

 

Ссылка на сообщение
Поделиться на других сайтах
1 минуту назад, palmerson сказал:

А как тогда будет происходить привязка инструмента? по этому коду что мы укажем в конце уп?

Да, или в конце, после M30, или для надёжности - в начале, пусть каждый раз исполняется, обработку он не задержит.

Ссылка на сообщение
Поделиться на других сайтах
5 минут назад, A_1 сказал:

Ого. Тогда можно называть инструмент 7-значным числом.

ну да, ну это фанук позволяет, но есть нюанс что производители станков закладываю распознавание Т до определённого числа и если я правильно понял руководство, то наши только до Т99, если номенклатура будет больше 100 инструментов, то это всё пойдёт коту по хвост) 

 

8 минут назад, A_1 сказал:

Нет, не знаю.

Жаль, но наделе должны привезти новый станок, спрошу у пуско-наладчиков, они по идее должны знать. 

Ссылка на сообщение
Поделиться на других сайтах
3 минуты назад, palmerson сказал:

производители станков закладываю распознавание Т до определённого числа

В предложенной системе не будет этого ограничения, эти большие номера просто будут храниться в переменных, например, #601: 900000

 

Ссылка на сообщение
Поделиться на других сайтах
22 минуты назад, palmerson сказал:

прошу прощения не больше 8-знаков значит строк 9 999 999 

Быть этого  может!

Ссылка на сообщение
Поделиться на других сайтах
6 минут назад, palmerson сказал:

Жаль, но наделе должны привезти новый станок, спрошу у пуско-наладчиков, они по идее должны знать. 

для фиксации ячеек нужна специальная конструкция магазина.

У вас рука манипулятор одним движением берет из ячейки и из шпинделя. И одним движением меняет их местами. Естественно что там где лежал один инструмент, туда тут же вставляется другой

А там где ячейки фиксированы присутствует промежуточный грипфер. Вначале вызываемый инструмент помещается в грипфер, потом передает его на смену. И вынутый из магазина инструмент идет не сразу в магазин, а в грипфер, в котором ждет когда магазин подаст нужный стакан именно для этого инструмента

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

@palmerson Почитайте вот про эту функцию и если она вас не удовлетворит тогда пишите свой менеджер на C-EXE или MACRO-EXE

image.png

Ссылка на сообщение
Поделиться на других сайтах
11 минут назад, gudstartup сказал:

Быть этого  может!

По крайней мере в руководстве на нашу серию написано так, поддержка вплоть до 8 знаков

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

image.png

 

image.png

 

И число параметров можно расширять

 

@palmerson Посмотрите на реальную систему а не на руководство до 8 знаков это значения корректора а не число корректоров

image.png

Ссылка на сообщение
Поделиться на других сайтах
10 минут назад, Viktor2004 сказал:

для фиксации ячеек нужна специальная конструкция магазина.

конструкция позволяет, почему нет, если вы полностью разрядите барабан, установите  Т1 в первую ячейку, и примените команду Т0 М6, то увидите, что инструмент встаёт в туже ячейку что и был, но на самом деле он просто ставит его в свободную. Если провернуть барабан и выполнить Т0 то он уже поставит в другую. 

Я хочу сказать что физически нет никаких ограничений, всё упирается в программу

7 минут назад, gudstartup сказал:

Посмотрите на реальную систему а не на руководство до 8 знаков это значения корректора а не число корректоров

Честно, особо не хочу вникать в этот вопрос. Так как номенклатура всё равно не будет превышать 70-90 инструментов, возможно да, чуть не так понял руководство, так как искал другую информацию. 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Guhl
      Они дураки, не знают про коррекции просто (сарказм) :) Когда @gudstartup произносит что-то типа "вы не понимаете" или "вы же понимаете" мне почему-то сразу вспоминается этот фрагмент   
    • Killerchik
      Господа, Вы все по-своему правы, как мне кажется. Виктор прав в том, что при описанном им отклонении будет невозможно сделать ось шпинделя перпендикулярной к поверхности детали, прижатой к столу, хоть убейся. Если это 3д фрезеровака - по барабану, а вот если надо расточить отверстие или обработать точную поверхность торцом фрезы (или шлифовального круга, шлифование на фрезерных ОЦ давно не что-то невероятное) - мы получаем неисправимое искажение.   Конечно, на хороших станках и физическую геометрию станины стараются делать хорошо. Но хорошо - это не отлично, а ещё её ведёт со временем, а ещё есть удары и т.п. Тут-то и приходит на помощь коррекция всех мастей. пиэс - работники Блом'а как выяснилось вручную подшлифовывают плоскости под рельсами брусками с наждачкой по результатам замеров))))) В видосе от Титанов это было.
    • gudstartup
      я вам все написал . вы же b компенсируете вот и вводите относительно наклона в заданной точке значения отклонений хоть по x и хоть по  y и ваша точка на оси сместится в пространстве. таблица компенсаций это позволяет. точки для оси b задаются от +90 0 -90 или как сами хотите 
    • Viktor2004
      Вот в моем примере надо задать смещение оси X в зависимости от Y. Но при B-90 это смещение должно быть в одну сторону, а при B+90 в другую сторону. А в промежутке между B-90---------B+90 значения смещения Х между этими крайними Значит компенсация X в зависимости от Y должна зависеть еще и от наклона оси В Ну и как будем компенсировать?
    • gudstartup
      вы понимаете что такое объемная компенсация? можно задать смещение точки вашего стола во всех плоскостях и станок это отработает переместив  на заданную величину оси х у или z  перемещая стол вы вообще не увидите больших отклонений. естественно все зависит от качества измерения и правильности ввода. лучше когда это делает специальная программа
    • Viktor2004
      хорошо. Представьте ситуацию 1. Ось В=0. двигаем индикатором по Х и Y все идеально ровно 2. Ось B=-90 ведем индикатором по Y вдоль стола. Отклонение в + (существенное) в сторону +X 3. Ось B=+90 ведем индикатором по Y вдоль стола. Отклонение в - (существенное) в сторону -X делаем вывод. стол не параллелен оси наклона Как будем компенсировать?
    • gudstartup
      если есть нормальный цикл для щупа и геометрия выравнена и соответствует кинематике то настройка = времени исполнения этого цикла. буржуи вообще этот цикл гоняют перед каждой высокоточной деталью и имеют прекрасную повторяемость точности. так надо уметь проводить измерения и иметь для этого соответствующие приборы.  вычисляется смещение оси в заданной точке и смещение осей влияющие на ее взаимную перпендикулярность. не видел там никаких формул. только недавно компенсировали ось А на пятиосевом хайдене и без формул обошлись.  согласен с тем что измерения пятиосевого продлятся дольше 
    • Viktor2004
      Я не смог. На Хенденхайне, где все компенсации очень наглядны и открыты. Трехосевой скомпенсировать можно, пятиосевой у меня не получилось. Потому что в значения компенсаций надо писать формулы, а оно позволяет писать туда только константы. А формулы оно туда писать не умеет
    • gudstartup
      тяжесть это отсутствие высокоскоростной обработки и трудоемкость. особенно если делать это с помощью индикатора и линейки станкостроители именно так и работают!
    • Guhl
      Там и прямой станок настроить непросто, а уж кривой, так хоть стреляйся 
×
×
  • Создать...