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

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


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

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

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



×
×
  • Создать...