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

Доработка постпроцессора!


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

а если FEDRAT не сразу после?

насколько я помню (это в доке расписано), для поиска конкретной команды 

лучше использовать Функцию <FindCld>

N = FindCld({<StartIndex>, }<CmdName>, <Data>)

Ну т.е в Вашем случае:

  b = FindCld("FEDRAT", V)

  if b>0 then begin

    Feed = V[1]                  ! и.е возьмет только значени, без учета единиц измерения (мм/об или мм/мин), за это V[3] отвечает.. добавить надо будет разбор если надо конечно

  end

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


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

 

 

     

aa: Array of Real                        ! объявляем массив

IndF = FindCld("FedRat", aa)    ! записываем в массив параметры будущей подачи т.е. все параметры из строки  
                                                   !CLData FEDRAT, при этом, если впереди по тексту есть вывод подачи то IndF=1 ,

                                                  !  а IndF=-1 если ниже нет вывода подачи.

if IndF>0 then Feed_=Str(aa[1])  ! Если в CLD файле операции имеется задание подачи то они присваивается

                                                    !  регистру Feed_ и выводится в текущем кадре, в следующем перемещении

                                                    ! оно не будет выведено поскольку параметр модальный.

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

У нас есть древний станочек, у которого стойка  о том, что такое лук э хед понятия не имеет. Хочу сделать в постпроцессоре автоматическое регулирование скорости в углах траектории в зависимости от величины этого самого угла.
1. Есть ли в генераторе какие то переменные где хранится значение этого угла? 
2. Имеются ли какая то переменная где хранится текущий признак условия сопряжения соседних элементов контура, типа тангенциально, перпендикулярно, под углом итд ?

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

! оно не будет выведено поскольку параметр модальный.

А если в нескольких кадрах  надо? как-то сброс модальности можно осуществить? или указать, чтобы выводилось в каждом кадре ? 

 

 

Feed = V[1]                  ! возьмет только значение, без учета единиц измерения (мм/об или мм/мин), за это V[3] отвечает..

 

Добрый вечер, подскажите, а как узнать в каких единицах эта подача (в CLData выдается 315/316 - это в чем)? и как сделать пересчет? 

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

 

Feed = V[1] ;    Feed@ = maxreal  !   Символ @ обозначает что это "старое значение"   Такая конструкция позволяет отключить модальность и выводить одинаковые параметры в каждом кадре
Feed = V[1] ;    Feed@ = Feed  !   А такая конструкция позволяет невыводить параметр даже если они отличаются

 

Добрый вечер, подскажите, а как узнать в каких единицах эта подача (в CLData выдается 315/316 - это в чем)? и как сделать пересчет? 

 MMPM(315) – мм/мин,

MMPR(316) – мм/об

Например, в токарной обработке,  если значение 315 то выводим G94, если 316 то G95

У нас есть древний станочек, у которого стойка  о том, что такое лук э хед понятия не имеет. Хочу сделать в постпроцессоре автоматическое регулирование скорости в углах траектории в зависимости от величины этого самого угла.

1. Есть ли в генераторе какие то переменные где хранится значение этого угла? 

2. Имеются ли какая то переменная где хранится текущий признак условия сопряжения соседних элементов контура, типа тангенциально, перпендикулярно, под углом итд ?

<FlagIn> возвращает:
1 – если происходит внутренний обход следующего пересечения;
0 – если внешний обход;
-1 – если тип обхода невозможно определить (например, совпадение направлений соседних кадров при линейной интерполяции).
<Cross> – возвращает значение 0, если текущий элемент сопрягается с последующим, и 1 если пересекаются. В общем случае две прямые всегда пересекаются, прямая и окружность могут сопрягаться, либо пересекаются. Эта переменная может быть использована для реализации коррекции.
 
А вот величины угла нету, поэтому этих функций, не достаточно для решения вашей задачи.
Если есть желание разобраться могу выслать постпроцессор на робот Fanuc. Там эта задача решена в общем виде (без использования этих функций) т.е для пространственных углов. Поскольку плоская траектория - частный случай пространственной, то этот код можно попытаться встроить в ваш постпроцессор.
Изменено пользователем SNick
Ссылка на сообщение
Поделиться на других сайтах

Спасибо.Отредактировал.

У меня предложение, делаем отдельную тему, например, "Поспроцессор Fanuc c нуля". Если получится,можно будет продолжить Heidenhein c нуля, потом замахнуться на наших...Sinumerik,Ocuma...

Как вам такое предложение?  

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

Спасибо.Отредактировал.

У меня предложение, делаем отдельную тему, например, "Поспроцессор Fanuc c нуля". Если получится,можно будет продолжить Heidenhein c нуля, потом замахнуться на наших...Sinumerik,Ocuma...

Как вам такое предложение?  

Хорошее предложение. Только сейчас сезон отпусков. Давайте вернемся к этой теме в октябре

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

Подскажите а как в PB отредактировать пост чтобы он вместо i j писал G2 G3?
А в токарке С и R (фаска и скругление)

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

Подскажите а как в PB отредактировать пост чтобы он вместо i j писал G2 G3?

А в токарке С и R (фаска и скругление)

Я, конечно, могу написать как это делается в генераторе построцессоров SprutCAM, но вам же нужно в NX?

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

Совершенно верно
Но если  в спруте через создание нового значения и если вдруг не сложно, то напишите, а я попробую
Спасибо

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      это неправильно разделите м коды на 2 кадра иначе будет вышеописанная ошибка а так программа нормально выполняется
    • malvi.dp
      Допилил. Поддерживает многолистовые чертежи Начинает работу при нажатии на кнопку макроса: -при нахождении измененных (установлена галочка "Измененное значение") размеров окрашивает их в красный цвет; -если с измененного размера снята галочка "Измененное значение", т.е. он стал обычным - цвет становится обычным; -по окончании работы в сообщении выводится статистика найденных измененных размеров, если они есть. Тестировался на sw2016 и sw2020.   ChangeColorForOverridedDimensions.zip   Да, что-то прошло не так... Уже поправил.
    • maxx2000
      Я скорее согласен с Надеждой Януарьевной
    • Koels
      Мотора 54 градуса, что на 6 градусов больше соседнего станка, вентеляторы в норме да. Ещё хочу сравнить нагрузку координаты с соседним станком, но пока не дают. У этих двух станков проблемы с охлаждением, на соседнем стоит автомобильный радиатор для охлаждения масла. xD
    • Bot
      Dassault Systèmes Reports Solid First Quarter Results And Reaffirms Full-Year Objectives Просмотр полной статьи
    • Ninja
    • Ninja
      В зимнее время водители устанавливают на колёса специальные цепи против скольжения. В мире разработано множество видов цепей и способов их установки. Японцы применяют "цепи Абэ". Кто этот великий инженер? Это знаменитый японский писатель Кобо Абэ. Для уединенного писательского труда Абэ купил домик в горах. А в горах зима ранняя, снежная, затяжная. Без цепей на колёсах можно и улететь с обрыва. Абэ периодически заводил машину и спускался в долину. Почту получить/отправить, в магазине продукты купить, ящик рисовой водки. (Известное дело: насухую великую книгу не напишешь). В долине приходилось цепи снимать. По правилам цепи запрещается применять при отсутствии на дороге снежного покрова. В те времена для установки/снятия цепи требовалось домкратом поднимать каждое колесо. В машине 4 колеса. Товарищу Абэ приходилось корячиться с домкратом. При этом в самых нелитературных выражениях комментируя политику правящей партии и все домкраты в мире. Купил в магазине бухлишко-закусь. Поехал домой в горы. А там снег, скользко. Цепи требуются. Опять писатель и драматург Абэ домкрат крутит. Всё это насмерть надоело Абэ. Обратился к компаниям-производителям: придумайте способ установки цепей без домкрата! Но производители ничего не придумали. Или не захотели. Тогда Абэ сам придумал способ установки цепей без необходимости поднимать колесо. Послал изобретение на конкурс. И неожиданно получил призовое место и патент. Новый способ установки цепей быстро завоевал популярность. Так и пошло у японцев - "цепи Абэ". Кобо Абэ не получил Нобелевскую премию по литературе. Уже выдвигался, уже все были уверены в том, что он её получит. Но не успели, писатель умер. А это всё дурацкие цепи виноваты. Сколько времени он потерял в установке/снятии цепей? Сколько времени, вместо того чтобы писать, он крутил домкрат? Вот и не успел. https://ru.ruwiki.ru/wiki/Абэ,_Кобо
    • gudstartup
      приемлимо. температуру мотора посмотрите. если вентилятор нормально вращается и его скорость соответствует оригинальному а также контакт в разъеме нормальный а F все равно появляется то даже не знаю что у вас может быть так как привод у вас новый
    • Koels
      Хмм, я думал раз она вылазит даже в простое, то Z координата висит на тормозе и дело не в этом. Спасибо за мысль, щас узнаю. Вообще у нас рядом стоит точно такая же макина, точь в точь и там таким проблем нет. Много заказов и отсутствие специалистов сделало свое дело. :) @gudstartup, 58% нагрузка на координату
    • mrVladimir
      Что-то я немного засомневался. Если решим брать новое ЧПУ, то искать точно такое же необходимо по номеру сзади корпуса (пластикового пластмассового) - так? А если брать только плату (материнскую или как ее лучше назвать...), на которой установлена (запаена) микросхема 1 на моих фото выше, то искать плату необходимо по номеру, который указан на самой плате - так? В моем случае : ЧПУ : A02B-0321-B520. Код на плате : A20B-8201-0081/01A. Если, допустим, мы покупаем ЧПУ A02B-0321-B520 - будет ли это гарантией того, что в нем установлена плата A20B-8201-0081/01A. И можно ли будет его считать таким же. И с отдельно приобретаемой платой тоже самое - если номер на ней полностью совпадает с нашим, значит ли это, что она полностью идентична. P.S. : извиняюсь за , возможно, навязчивые вопросы. Просто не хотелось бы попасть впросак из-за своей некомпетентности. такой файл есть, но мне говорили, что после снятия архивов, его лучше вообще никогда нигде ни использовать. А на каком этапе он нам может понадобиться?. Если, как говорил Виктор, мы зальем архив SRAM на старый модуль (ROM-SRAM), установленный в новое ЧПУ, то и файл OPRMINF не нужен. Правильно же?
×
×
  • Создать...