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

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


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

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

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




  • Сообщения

    • Dimetil Gidrozin Dnepr
      ты я вижу тоже умственно отсталый как твой заднеприводный любовник. разве автор написал в заглавии это тема для дырявых которые друг с другом в десны тут лупятся и сбившись в стаю воняют на одиночку? это технический раздел. тут вопрос по производству. у чела реальная конструкция, которая имеет изьяны чел попросил предложить варианты ее доработки и улчшения чтобы она была работоспособной а не чмокать своего любовника взасос пованивая на меня за компанию с ним. короче мне влом вам дырявым что то обьяснять потому что это в интернете я лох а в реале могу челюсть тебе сломать. а ты я вижу жутко крут в интернете. скажу тебе так каким ты был ботаном в институте таким ты и остался задротом пожизни и ничего из себя не представляшь. или прекращай этот цирк и рассуждения на психологически демографические темы. или пойдем в бан оба. мне не привыкать а ты тут живешь ты суициднишься если тебе молчанку на пару часов влепят)) *** для вас флудерастов оффтоперов внизу форума целый раздел идите туда меня пообсуждайте- я поржу. а тут пишите то что просит автор темы.
    • maxx2000
      Теорема о крокодиле. 1. Крокодил более длинный, чем зеленый. Доказательство: Крокодил длинный и сверху и снизу, а зеленый только сверху. 2. Крокодил более зеленый, чем широкий. Доказательство: Крокодил зеленый и вдоль и поперек, а широкий только поперек. Отсюда следует, что крокодил более длинный, чем широкий.
    • Борман
      Когда вы лежите - ваше давление горизонтально, когда стоите - вертикально, когда пьяный - тоже горизонтально.
    • Fedor
      Не забыл. Это вы лишнее приписываете инварианту.  Вот у меня есть тонометр  так он меряет два давления верхнее и нижнее, еще пульс. А никакого направления не меряет и встроенного компаса в нем нет  :)
    • maxx2000
      @gudstartup пока мы этого незнаем. просил пульт (моховичек), я это понял именно так
    • gudstartup
      маховичок у хааса и на пульте оператора имеется как и кнопки дискретной подачи так что галетники ему не надо. а пульт многофункциональный и должен быть именно с таким экранчиком и кнопками
    • maxx2000
      @gudstartup ну если с оригинальным экранчиком то наврятли, а если аналог с просто 2 галетниками, маховик и E-Стоп то примерно так и будет, может чуть больше предложений
    • maxx2000
      Ага, нету потому что ВК её пришлось заблокировать, поэтому ты настрогал кучу запасных страниц на которых старая числится в админах  я ещё вчера отправил репорт, но наверное шаббат не даёт работать 
    • Dimetil Gidrozin Dnepr
      чмо тут было опущено, а чтобы оно не суициднулось от осознания своей дырявой сущности я был забанен. так что из нас двоих тут одно чмо и явно это не я    
    • gudstartup
      Найдите пожалуйста  из 100500 именно этот? Владельцы Haas воспользуются!
×
×
  • Создать...