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

Текст управляющей программы


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

В "Модуле GPP" нужно зайти в "Постпроцессор" -> "Параметры..." вкладка "Паспорт" пункт "Параметры управляющей программы" изменить "Код формирования ленты" с той, которая у тебя, на ASCII.

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


Как в GPP бастро перевести градусы в радианы и обратно? Искал в справочной литературе, ничего не нашел.

Где можно посмотреть пример постпроцессора на 4х координатную обработку фрезерную?

Шпиндель вертикальный, 4я координата горизонтальная (по оси х).

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

радианы (в которых ведутся все расчёты!) переводятся в градусы и обратно по правилам школьного курса геометрии, тут ничего нового не выдумано: град.=180:__CHP , где __CHP - это число Пи, для обьлшей точности непринимаемое просто 3,14, а считаемое как __CHP=ACOS(-1)

Если не очень понятно написал, скаж - подробнее распишу.

Примеры постпроцессоров на 4х должны быть в стандартной поставке системы. Либо 5х можно взять и лиишнее просто выкинуть.

А вообще - я бы рекомендовал всё-таки пройти обучение ADEM GPP и тогда можно будет с чистой совестью обращаться к диллерам/разработчикам с просьбой дать пример поста.

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

And86, спасибо, разобрался. Еще такой вопрос, с какой точностью (число знаков после запятой) сохраняются пользовательские переменные в GPP, можно ли её изменить ? С какой точностью идет определение косинусов, синусов и числа Пи.

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

насколько помню - по умолчанию все расчёты ведутся с точностью до трёх знаков после запятой. Если в алгоритмах расчётов углов и т.п. требуется повысить точность (а это обычно требуется), то в ход идёт сравнение величин умноженых на 10 в 6 или большей степени. Т.е. сравниваются не просто (Угол1) и (Угол2), а (Угол1)*10**6 и (Угол2)*10**6. Таким образом вытаскиваются ещё 6 значащих цифр после запятой.

А с какой точностью вообще ведутся расчёты (внутри алгоритмов), не вспомню. Могу уточниться, если для вас это критично...

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

Как не бился координаты пляшут при повороте на величину +-1 микрон. Возведение в степень не помогло. :wallbash:

Добавил округление на +-1,5 микрона, стало приличнее.

Текст нубского алгоритма прилагаю, там же и возведение в степень не стал убирать.

DATAORT VSP/X VSP/Y VSP/Z;

_XT=XT*10**6;

_YT=YT*10**6;

_ZT=ZT*10**6;

RPOINT _XT _YT _ZT A PARV(9);

_XT2=_XT;

_YT2=_YT;

_ZT2=_ZT;



IF ABS(_XT2-_XT1)>3000 X->_XT2*10**(-6);

IF ABS(_YT2-_YT1)>3000 Y->_YT2*10**(-6);

IF ABS(_ZT2-_ZT1)>3000 Z->_ZT2*10**(-6);



_XT1=_XT2;

_YT1=_YT2;

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

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

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

Если не секрет, как это провернуть?

RPOINT _XT _YT _ZT A PARV(9);

в эту строчку вроде некуда вставлять, все расчеты проводятся тут.

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

например при выводе углов сделай так:

IF DEV(_EXP*DA)!=0 DO;

	IF _AROTE=0 _A1->0;

	ELSE _A->_AROTE;

	ENDDO;

где _EXP=10**6

_AROTE - рассчитанный угол

остальное думаю ясно.

Смысел в том, что обычно выводятся числа с 3 значащими цифрами после запятой, а если изменение было где-то дальше после запятой, то это уже отбрасывается. А если вставить таоке условие, то будет идти сравнение уже до 6 знаков после запятой.

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

Добрый день, уважаемые! 
Подскажите пожалуйста как можно выловить значение переменной, отвечающей за номер операции?

 

post-32197-0-46778300-1381986239.jpg

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

Добрый день, уважаемые! 

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

В 1 алгоритме определяешь номер операции _NOPER=STRTONUM(FR[8]).

 

Из Help:

Структура команды «Учетные данные программы» (код 1)

FR[0]    длина внутренней структуры фразы

FR[1]    код фразы=1

FR[2]    порядковый номер объекта в маршруте обработки

FR[3]    имя программы

FR[4]    Ф.И.О. разработчика

FR[5]    дата

FR[6]    цех

FR[7]    участок

FR[8]    номер операции

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

Добрый день, уважаемые! 

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

В 1 алгоритме определяешь номер операции _NOPER=STRTONUM(FR[8])

 

Спасибо за ответ! Сделал как Вы написали, выводимый результат "0", при введенном значении "070".

Подскажите пожалуйста в чем может быть ошибка?

 

Постпроцессор:

1 ;

GNBL/OFF;
_CORRM=0;
_NAME=4;
_TXT=5;
_G=6;
_G1=7;
_G2=8;
_G3=9;
_G4=10;
_G5=11;
_G6=12;
_G7=13;
_X=14;
_Y=15;
_Z=16;
_U=17;
_V=18;
_W=19;
_A=20;
_B=21;
_C=22;
_I=23;
_J=24;
_K=25;
_R=26;
_H=27;
_F=28;
_S=29;
_T=30;
_P=31;
_Q=32;
_PP=33;
_PP1=34;
_PP2=35;
_M=36;
_M1=37;
INT/ON;
AUTOTIME=OFF;
_NPROG=FR[3];
_TXT->'@[_NPROG]';
_NOP=STRTONUM(FR[8]); 
END ;
 
2 ;
_TXT1->'(@[N/PART]-@[_NOP])';
BLOCK;
END ;
 
Выводимый результат:
O0777 (ХХХ.ХХ.ХХ.056-0
(Leadwell T-6M) 
(21.10.2013 11:12:00)
 
Подскажите пожалуйста, за что отвечает команда STRTONUM? Без неё результат тот же, при этом номер программы и индекс детали выводит без вопросов...
Ссылка на сообщение
Поделиться на других сайтах

Сделал как Вы написали, выводимый результат "0", при введенном значении "070".

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

 

STRTONUM - это функция перевода строки, содержащей число, в число. Число преобразовывается до тех пор, пока содержит символы числа. Если в строке нет символов числа, возвращается 0.

 

Неуспех может заключаться в содержимом массива FR[]. Не мог бы ты скопировать его содержимое в алгоритме 1 сюда или сказать номер версии АДЕМа?

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

 

Сделал как Вы написали, выводимый результат "0", при введенном значении "070".

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

 

STRTONUM - это функция перевода строки, содержащей число, в число. Число преобразовывается до тех пор, пока содержит символы числа. Если в строке нет символов числа, возвращается 0.

 

Неуспех может заключаться в содержимом массива FR[]. Не мог бы ты скопировать его содержимое в алгоритме 1 сюда или сказать номер версии АДЕМа?

 

ADEM 9.0 Mar 27 2012

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

 

Можно ли скопировать содержимое FR[] в алгоритме 1? Похоже, что в этом массиве нет номера операции, т.к. эти изменения прошли 17 апреля 2012 года. Но вдруг!..

Ссылка на сообщение
Поделиться на других сайтах
Можно ли скопировать содержимое FR[] в алгоритме 1? Похоже, что в этом массиве нет номера операции, т.к. эти изменения прошли 17 апреля 2012 года. Но вдруг!..

 

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

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

В отладчике (кнопка "Отладка" в модуле AdemGPP) в окне "Values" нажать клавишу Insert и ввести имя интересующей переменной (пример _NPROG или N/PART), имя интересующего массива с квадратными скобками (пример, _ARR[] или FR[]) или даже сложное выражение.

 

PS

Есть текст справки в АДЕМе: ADEM GPP -> Этапы создания постпроцессора -> Отладка постпроцессора

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

Спасибо за консультацию.

Содержимое массива прилагаю...

 

Как я понимаю, используемая версия, не позволяет выловить номер операции?!

post-32197-0-92079500-1382502833.jpg

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

Спасибо за консультацию.

Содержимое массива прилагаю...

 

Как я понимаю, используемая версия, не позволяет выловить номер операции?!

 

Да, твоя версия не позволяет напрямую получить номер операции. Придётся сделать действия:

  1. Обновить версию;
  2. Как-то искуственным образом передать этот номер через другие механизмы: комментарий, юзерфункцию или другим "силовым" способом***;
  3. Вызвать внешнюю программу, которая вернёт этот номер операции (не получается сделать просто, но если интересует, то можно выслать текст обработки алгоритма 1, реализующий эту методу);
  4. Отказаться от определения номера операции.

*** Предлагается почитать "Adem GPP -> Пользовательские команды и циклы обработки", чтобы сделать это красиво. Можно задействовать стандартную команду пользователя, в которой задать номер операции, и получить его при обработке алгоритма 459.

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

 

Спасибо за консультацию.

Содержимое массива прилагаю...

 

Как я понимаю, используемая версия, не позволяет выловить номер операции?!

 

Да, твоя версия не позволяет напрямую получить номер операции. Придётся сделать действия:

  1. Обновить версию;
  2. Как-то искуственным образом передать этот номер через другие механизмы: комментарий, юзерфункцию или другим "силовым" способом***;
  3. Вызвать внешнюю программу, которая вернёт этот номер операции (не получается сделать просто, но если интересует, то можно выслать текст обработки алгоритма 1, реализующий эту методу);
  4. Отказаться от определения номера операции.

*** Предлагается почитать "Adem GPP -> Пользовательские команды и циклы обработки", чтобы сделать это красиво. Можно задействовать стандартную команду пользователя, в которой задать номер операции, и получить его при обработке алгоритма 459.

 

Спасибо за консультацию!

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Fedor
      "ГОСТ Р 57700.10-2018"  Удивительный пункт 5.3.1.   А если элементы квадратичные или более того кубичные или с более сложной структурой ?    Методы основаны на математике, а на математику тоже госты собираются написать ?   :) Валидация это вам не верификация   https://ru.wikipedia.org/wiki/Валидация    :):):) 
    • Alexey8107
      Вобщем результаты. В обед перед окном еще раз прошелся по своей памяти, сравнил две старые платы(одна от взорванного PSM, вторая от ремонта с рекуперацией. Я точно помню что лет 5 назад ремонтировали SPM), оставшиеся от ремонта. Начал подозревать что они обе слишком подозрительно похожи друг на друга, по сути отличаются только номиналами трансформаторов тока и совсем мелкими деталями... И понимаю что память мне сильно изменяет! Обе платы от PSM, но разной мощности. И действительно в SPM стоит плата хоть и похожа, но отличия значительные. Так что решил сразу замахнуть PSM. Станок сразу запустился. Осталось только загадкой, почему неисправный PSM в соло вчера показывал "-". Сегодня запустил на операционном столе и вижу "1", точно так же в соло. Вобщем пока свяжусь с фануком, пока уладим административные дела, пока проплатим, попробую в нем аккуратно поковыряться.
    • aalex_b
      Добрый день. ЧПУ TNC426. Станок с поворотной головой: есть вертикальное положение и есть горизонтальное. Так же поворотный стол, ось С Вышел из строя HDD. Восстановил данные через акроникс, сделав образ с соседнего аналогичного станка. Станок поехал, все зашевелилось Но теперь не знаю, как настроить ему точки смены инструмента, трансформацию и поворот оси C. Где подсмотреть инструкцию, что измерять и как измерять, куда вносить данные, в какие параметры. Прошу совета и помощи. Никогда это не делал.
    • Jesse
      За прошедшее десятилетие (ухх, как же время летит!) уже были вопросы про локальные пластические деформации в статическом расчете и про локальные формы потери устойчивости. В обоих случаях на все эти "локальности" можно подзабить. В первом случае у меня даже шаблонная фразочка есть, которую я в отчёты вставляю, ссылаясь на ГОСТ Р 57700.10-2018. Это всё хорошо. Но что у нас с цикликой? К примеру, есть вал насоса, который в процессе работы изгибается. В валу есть шпоночные отверствия, всякие переходы вплоть до радиуса R=0.25 мм и прочая мелкая ересь, где развиваются большие напряжения, превышающие предел выносливости материала.. В то время как в основной толще материала напряжения на порядок меньше предела выносливости и там всё ок. Как быть в этой ситуации? Ведь разрушение в процессе многоцикловой усталости происходит в результате зарождения и роста микротрещин. То есть по идее в этом радиусе R=0.25 мм трещинка пойдёт и разрушит весь весь вал за условные 10^12 циклов? Или не разрушит? Если не разрушит, то как обосновать, что не разрушит? С точки зрения физики/МДТТ мы знаем, что в статике у пластичного материала в малой области превысится предел текучести, появится небольшая область течения, и на этом всё. "Пластика" дальше не пойдёт. МОжно даже просчитать и проверить для успокоения души, что пластических шарниров не будет. Но в многоцикловой усталости мы ничего расчетом проверить не можем как все эти "неприятные локальности" себя поведут за 10^12 циклов. Только кривые Веллера и т.п. Ну и результаты упругого расчета..   Какой эмпирико-нормативный опыт есть у человечества, чтоб показать, что разрушения и катастрофического роста трещины НЕ произойдёт за большое кол-во циклов, если в небольшом объеме материала по результатам упругого расчета напряжения превышают предел выносливости?
    • malvi.dp
    • Srgwell
      Библиотеки не все подключены. Там другие какие то были включены. При чем сбиваются иногда
    • Snake 60
      @clavr  Попробовал в 2024-м так и есть, не хочет перепривязывать размеры, настройки не нашел :(
    • Snake 60
    • gudstartup
      @Alexey8107 учитывая то что иногда станок все же включается то похоже на плохой контакт или высохшую емкость у нас на старом svm альфа были случайные ошибки 8 9 именно из за емкости. фанук их умудрился так замаскировать между  двумя  разъемами еле нашли,,,
    • vad0000
      DELEM предлагает такой метод Приходит партия металла, Вы в ЧПУ вводите уголок 100*100., и получаете развёртку. Изготавливаете ее, и далее гнете. Одна сторона у Вас получится 100, если конечно правильно настроен упор, а другая никогда не получится 100, либо больше, либо меньше. Cybelec для каждого материала предлагает 10 различных поправок. Т.е. согнул один раз уголок, и получил поправку на всю партию металла. Пришла новая партия, согнули ещё один уголок. Все понятно?
×
×
  • Создать...