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

Fanuc 18i проблема с макросом


Angop

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

Здравствуйте. Есть у меня проблема с макросами на стойке Fanuc 18i. Суть в том что есть у нас 2 станка. Victor A110 со стойкой 0i и Topper MDV-505 со стойкой 18i. На MDV умерла память и все макросы были утерянны. Полистав желтые книжки я особой разницы между 0i и 18i  я не нашел и решил тупо скопировать макросы с 0i в 18i. Получилось то что при попытке запустить макрос вываливается ошибка 114. Сделал все вроде правильно, но работать оно не хочет. Скажу сразу что у меня опыт работы со станками минимальный, я не знаю основ написания макросов, а человек который это все делал у нас уже очень давно не работает и связаться с ним нет возможности. Вот макрос обработки по плоскости (планировка):

O0069 (PLANE MACRO);
T1 M6 (SMENA INSTRUMENTA);
H1 G43 Z200 (KORREKTOR INSTRUMENTA);
M8 (VODA);
G200 X100 Y100 T10 B5 R100 Z50 K0.05 Q0.2 S6000 F1500
(PARAMETRI OBRABOTKI);
M5;
M9;
G0 Z200;
G53 X0 Y0 (UXOD V ZERO PO STANKU);
M30 (KONEC PROGI);
%

 

Кодом G200 задана подпрограмма. Код я зарегестрировал в настройках станка.

 

А вот сама подпрограмма. На ней и вылезает ошибка 114.

O9010 (PLANE RASTER MACRO);
(INPUT CHECK);
IF[[#24 EQ #0]OR[#24 LE 0]] THEN #3000=1 (X-?);
IF[[#25 EQ #0]OR[#25 LE 0]] THEN #3000=1 (Y-?);
IF[[#20 EQ #0]OR[#20 LE 0]] THEN #3000=1 (T-?);
IF[#21 EQ #0] THEN #21=0.1*#20 (DEFAULT U=0.1T);
IF[#21 LT 0] THEN #3000=1 (U-?);
IF[#2 EQ #0] THEN #2=0.1*#20 (DEFAULT B=0.1T);
IF[#2 LT 0] THEN #3000=1 (B-?);
IF[#22 EQ #0] THEN #22=0.75*#20 (DEFAULT V=0.75T);
IF[#22 LE 0] THEN #3000=1 (V-?);
IF[#18 EQ #0] THEN #18=0 (DEFAULT R=0);
IF[#11 EQ #0] THEN #11=#18+10 (DEFAULT H=R+10);
IF[#26 EQ #0] THEN #3000=1 (Z-?);
IF[#11 LE #18] THEN #3000=1 (H&R-?);
IF[#18 LE #26] THEN #3000=1 (R&Z-?);
IF[[#17 EQ #0]OR[[#17 LE 0]] THEN #3000=1 (Q-?);
IF[#6 EQ #0] THEN #6=0 (DEFAULT K=0);
IF[#6 LT 0] THEN #3000=1 (K-?);
IF[[#19 EQ #0]OR[#19 LE 0]] THEN #3000=1 (S-?);
IF[[#9 EQ #0]OR[#9 LE 0]] THEN #3000=1 (F-?);
(WORK);
#1=FUP[[#25+#20]/#22-1] (Y STEPS);
#22=[#25+#20]/[#1+1] (NEW Y STEP);
#3=[#24+#20]/2+#21 (START X);
#4=#24/2+#2 (MAX X+);
#5=-#22*[#1/2-0.5] (START Y);
#7=FUP[[#18-#26-#6]/#17] (Z STEPS);
#17=[#18-#26-#6]/#7 (NEW Z STEP);
G0 X#3 Y#5;
S#19 M3;
Z#18;
#13=1 (Y POINTER);
#14=-1 (X POINTER);
#8=1 (Z COUNTER);
#15=#7+1 (MAX LOOP);
IF[#6 EQ 0] THEN #15=#7;
WHILE[#8 LE #15] DO 1;
#10=#26+#6+#17*[#7-#8];
IF[#8 EQ[#7+1]] THEN #10=#26 (CURRENT Z);
G1 Z#10 F#9;
#12=1 (Y COUNTER);
WHILE[#12 LE #1] DO 2;
Y[#13*[#5+#22*[#12-1]]];
X[#4*#14];
#12=#12+1;
#14=-#14;
END 2;
X-[#3*#14];
#8=#8+1;
#13=-#13;
END 1;
G0 Z#18;
M9;
Z#11;
M5;
M99;
%
 

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

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


Это ошибка формата кадра. Надеюсь, в конце кадра не стоят ; (тчк. с запятой) как в посте?

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

Здравствуйте. Есть у меня проблема с макросами на стойке Fanuc 18i. Суть в том что есть у нас 2 станка. Victor A110 со стойкой 0i и Topper MDV-505 со стойкой 18i. На MDV умерла память и все макросы были утерянны. Полистав желтые книжки я особой разницы между 0i и 18i  я не нашел и решил тупо скопировать макросы с 0i в 18i. Получилось то что при попытке запустить макрос вываливается ошибка 114. Сделал все вроде правильно, но работать оно не хочет. Скажу сразу что у меня опыт работы со станками минимальный, я не знаю основ написания макросов, а человек который это все делал у нас уже очень давно не работает и связаться с ним нет возможности. Вот макрос обработки по плоскости (планировка):

O0069 (PLANE MACRO);

T1 M6 (SMENA INSTRUMENTA);

H1 G43 Z200 (KORREKTOR INSTRUMENTA);

M8 (VODA);

G200 X100 Y100 T10 B5 R100 Z50 K0.05 Q0.2 S6000 F1500

(PARAMETRI OBRABOTKI);

M5;

M9;

G0 Z200;

G53 X0 Y0 (UXOD V ZERO PO STANKU);

M30 (KONEC PROGI);

%

 

Кодом G200 задана подпрограмма. Код я зарегестрировал в настройках станка.

 

А вот сама подпрограмма. На ней и вылезает ошибка 114.

O9010 (PLANE RASTER MACRO);

(INPUT CHECK);

IF[[#24 EQ #0]OR[#24 LE 0]] THEN #3000=1 (X-?);

IF[[#25 EQ #0]OR[#25 LE 0]] THEN #3000=1 (Y-?);

IF[[#20 EQ #0]OR[#20 LE 0]] THEN #3000=1 (T-?);

IF[#21 EQ #0] THEN #21=0.1*#20 (DEFAULT U=0.1T);

IF[#21 LT 0] THEN #3000=1 (U-?);

IF[#2 EQ #0] THEN #2=0.1*#20 (DEFAULT B=0.1T);

IF[#2 LT 0] THEN #3000=1 (B-?);

IF[#22 EQ #0] THEN #22=0.75*#20 (DEFAULT V=0.75T);

IF[#22 LE 0] THEN #3000=1 (V-?);

IF[#18 EQ #0] THEN #18=0 (DEFAULT R=0);

IF[#11 EQ #0] THEN #11=#18+10 (DEFAULT H=R+10);

IF[#26 EQ #0] THEN #3000=1 (Z-?);

IF[#11 LE #18] THEN #3000=1 (H&R-?);

IF[#18 LE #26] THEN #3000=1 (R&Z-?);

IF[[#17 EQ #0]OR[[#17 LE 0]] THEN #3000=1 (Q-?);

IF[#6 EQ #0] THEN #6=0 (DEFAULT K=0);

IF[#6 LT 0] THEN #3000=1 (K-?);

IF[[#19 EQ #0]OR[#19 LE 0]] THEN #3000=1 (S-?);

IF[[#9 EQ #0]OR[#9 LE 0]] THEN #3000=1 (F-?);

(WORK);

#1=FUP[[#25+#20]/#22-1] (Y STEPS);

#22=[#25+#20]/[#1+1] (NEW Y STEP);

#3=[#24+#20]/2+#21 (START X);

#4=#24/2+#2 (MAX X+);

#5=-#22*[#1/2-0.5] (START Y);

#7=FUP[[#18-#26-#6]/#17] (Z STEPS);

#17=[#18-#26-#6]/#7 (NEW Z STEP);

G0 X#3 Y#5;

S#19 M3;

Z#18;

#13=1 (Y POINTER);

#14=-1 (X POINTER);

#8=1 (Z COUNTER);

#15=#7+1 (MAX LOOP);

IF[#6 EQ 0] THEN #15=#7;

WHILE[#8 LE #15] DO 1;

#10=#26+#6+#17*[#7-#8];

IF[#8 EQ[#7+1]] THEN #10=#26 (CURRENT Z);

G1 Z#10 F#9;

#12=1 (Y COUNTER);

WHILE[#12 LE #1] DO 2;

Y[#13*[#5+#22*[#12-1]]];

X[#4*#14];

#12=#12+1;

#14=-#14;

END 2;

X-[#3*#14];

#8=#8+1;

#13=-#13;

END 1;

G0 Z#18;

M9;

Z#11;

M5;

M99;

%

 

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

114
FORMAT ERROR IN MACRO (ОШИБКА
ФОРМАТИРОВАНИЯ В МАКРОСЕ)
 
В форматах, отличных от формата <Formula>, имеется ошибка.
Изменить программу.
Ссылка на сообщение
Поделиться на других сайтах

; стоит в конце как и на примере написанно, так как это все полностью скопированно со стойки 0i. Что мне нужно сделать чтобы это все работало?

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

Я предположил, что вы руками набирали строчки кода, ставили в конце ; и затем как-то вводили их в стойку. В тексте программ ; не нужны. Это отображение конца кадра. А если файл скопировали и завели в другую стойку через флешку, например, то надо разбираться

А код ошибки и говорит о неправильной структуре кадра, т.е. где-то в тексте ошибка. Ну, русская Т,М, например  

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

Я в ручную и набирал так как не имею знаний как скопировать макросы. Код перепроверял. он в точности тако же как и на стойке 0i. ТОесть мне нужно убрать точку с запятой из всего кода программы?

Ссылка на сообщение
Поделиться на других сайтах
ТОесть мне нужно убрать точку с запятой из всего кода программы?

Если её сами набирали, убрать. 

P.S. Давайте уточним, ибо это настолько глупо (не имею вас в виду, проблема), что можно без конца выяснять. Когда программа набирается на стойке, то по завершению конца кадра жмется "конец блока" и на экране появляется ;.

Если вы переписываете с экрана на бумажку, а потом набираете текст на компьютере, то ; не нужна. Так что вышеуказанный совет при правильном вводе на станке не действителен:)

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

Пожалуйста, если проблема только в этом, то это совсем не беда. Я столкнулся при переносе макросов с разными системными переменными, вот там пришлось порыться в документах. Ну, в вас только #3000 применяется, а её не меняют обычно.

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

Пожалуйста, если проблема только в этом, то это совсем не беда. Я столкнулся при переносе макросов с разными системными переменными, вот там пришлось порыться в документах. Ну, в вас только #3000 применяется, а её не меняют обычно.

Спасибо.

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

Макрокоманды не на любую версию ЧПУ подходят. Список расширяется с последующими версиями. Я уже проходил через перенос макросов с нулевой на 18-ю. Пришлось переписывать.

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Guhl
      А чего вы занервничали? Я считал, что вам нравятся смайлики, вы же их используете. Или не нравятся? Я разные станки видел: и старые, и не очень и современные. Я ж не сижу на одном месте много лет
    • gudstartup
      рука останавливается не потому что ей нужно время а потому что меняет траекторию движения. при столкновении происходит ошибка цикла а также у руки есть люфт. так вот попрыгунчик на этих станках фрезы падают не чаще чем на других а миллионы циклов смены они уже отработали.  при выходном контроле станок производит непрерывно цикл смены в течении 2 суток и вообще они работают как швейцарские часы.   так вы и таких не видели 
    • Guhl
      Вы ж меня собрались сводить на современные станки, а тут выясняется, что уже им как минимум 20 лет Если рука упрется в инструмент, ничего страшного не случится. На 1/8 отворачивают, потому что руке нужно время остановится, и неважно есть там тормоз или нет. А вот если в результате супертонких настроек для экономии 200 мсек, упадет фреза, стоимостью как сэкономленное время за 100 лет, вот это будет номер 
    • gudstartup
      вы можете предполагать все что угодно но рука должна быть не в зоне шпинделя а конкретно четко давать сигнал на разжим в строго определенной позиции и при этом шпиндель должен успеть разжаться когда рука начинает движение вниз по траектории. вы много чего подозреваете а я обслуживаю эти станки в течении 20 лет и ваше   0 целых, хрен десятых это с десяток градусов. вы забываете о скорости с которой движется рука.   настраивается не мотор а кулачки по фазам движения а они стоят на редукторе и мотором вы ничего не настроете  тут про 1\8 оборота имеется ввиду когда уже найден нужный угол но можно и без этого обойтись.  
    • maxx2000
      ой да ладно, доступ он будет делать. скачал в магазине хром расширение и сделал
    • filsan
      Благодарю. Попробую выше упомянутыми инструментами. Правда с дополнительными графиками и пользовательским анализом придется повозиться. Придется-таки делать доступ на народный ресурс за справкой))
    • Guhl
      В вашей документации однозначно сказано, что если инструмент выпадает, то произведите настройку Это не противоречит моему утверждению, что цанга должна открываться тогда и только тогда, когда рука в зоне шпинделя, то есть в зоне, где исключается выпадение инструмента    И 1/8 оборота мотора, это сколько в градусах поворота руки? Подозреваю, что 0 целых, хрен десятых
    • gudstartup
      нет там тормоза он включается только в конце цикла. это целиком динамический процесс. да вы равно не поймете- это же не логично а спец оправка по вашему зачем?? это подача сигнал на разжим шпинделя регулируется и если неправильно отрегулируете то инструмент либо выпадет либо будет выдирать.  
    • Guhl
      Так это и есть условие "рука в зоне шпинделя" То есть зона, где инструмент гарантированно не выпадает А отвернуть на 1/8, потому что тормоз накладывается   
    • gudstartup
      а вам что логику ладдера в мануале описывать надо? вот специально для вас  
×
×
  • Создать...