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

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


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

В "Модуле 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 пользователей

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




  • Сообщения

    • AlexKaz
      Это дополнительное ускорение, действующее на каждый узел (или бесконечно малую массу в МДТТ). Качественно описано в Тарг Теоретическая механика, небольшое описание есть и в моём дипломе.
    • Handrusik
      Здравствуйте. Есть необходимость смоделировать рукоятку джойстика. Нашел подходящую STL-модель, открыл и начал поверх неё рисовать слоёный набор эскизов, с целью преобразовать их в поверхности. Используя функцию "Поверхность по сечениям" обнаружил какие-то искажения на полученной поверхности. Я не понимаю откуда они берутся, и соответственно не понимаю как это исправить. Подскажите, что я делаю не так, и как следовало бы делать. Как добиться плавности переходов от эскиза к эскизу? Ссылка на архив с моделью: https://disk.yandex.ru/d/O6k9G5hWPub9Kg
    • Den4ik85
      После запуска станка возникла ошибка 700024 PLC "Отрегулируйте счетчик магазина инструментов". Подскажите решение пожалуйста
    • ДОБРЯК
      В уравнении задачи на собственные числа только две матрицы - жесткости и масс. Надеюсь мы не будем обсуждать вопрос. Зависит ли матрица масс от правой части (от нагрузки)? От нагрузки зависит только жесткость. Кстати от температуры тоже зависит нагрузка. И естественно собственные частоты. Если на поверхностном уровне, то надо учитывать гироскопические силы и силы Кориолиса. Насколько эти силы влияют на собственные частоты зависит от конструкции и частоты вращения. Для гидро турбин это вообще ни о чем. Речь идет только про расчеты по МКЭ. Может быть какие то еще силы влияют на жесткость. Нужно глубже разбираться. Но все эти силы одного порядка... Надо смотреть документацию к программе, а если документации нет, то это черный ящик.   
    • taarok
      Комрады, всех с майскими праздниками. Кто нибудь может поделиться постом для fanuc oi-mf Solidcam. Taarok.d@yandex.ru заранее благодарен, быстрых вам подач и хороших фрез))    
    • Tad
      Это предупреждение о необходимости очередного техобслуживания машины. После его выполнения надо проделать некоторые манипуляции, как описано в приложенном документе   2010 0i pc AL2004 .pdf
    • Fedor
      https://www.mathnet.ru/links/70adc00f76e7f355f5e14569f99dd8dc/tm1745.pdf#:~:text=Под полной обобщенной проблемой собственных,из собственных векторов относительно 5.   Хотите посложнее читайте классику по обобщенной проблеме ... :)
    • Jesse
      а что такое этот corioliss в Ansys? что делает эта опция?
    • Борман
      А ну вот как раз вспоминаю про гироскопический момент, как интеграл сил инерции, действующих на смещенное колесо. И вот тут как раз появляется зависимость от направления вращения. В одном случае этот момент будет выворачивать колесо наружу, а в другом пытаться вернуть колесо ближе к оси. Но это эффект следующего порядка, и prestress-модальник его не схватывает. А сиса как-то сама умеет это учитывать, отсюда будут и разные частоты. Много на эту тему почерпнул (для себя) из книги Жирицкого, на которую ссылался в теме по вашей ссылке. Эту тему я забросил в начале 2008 года и больше не касался ее.
    • rocket
      Добрый день, у нас 4 осевой станок Syntec 6MB с поворотной головой вокруг оси Y, покупали б/у и приехал еще с поворотной осью А подключенный но не видящий ось А. В итоге помогло поменять в параметрах в разделе/index 10 поменять на 2 и в index 24 где ось B поменять 4 на 0 а в index 25  поменять с 0 на 4 (чтобы он читал с 4 порта) если посмотреть как идет подключение, то от этого зависят цифры 
×
×
  • Создать...