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

Работа с переменными в постпроцессоре


BaZuZu

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

Доброго времени суток....

 

При отладке постпроцессора по Ф8...

Вижу в CLData нужную мне перменную CLD.K = 150.

Как мне вывести ее в строчку не нарушая нумерацию кадров? Или хотя бы как вообще ее вывести?

 

Пробовал 

OUTPUT CLD.K

 

Выводит ошибку и не пойму, что он от меня хочет...

 

А можно от этой переменной отнять или прибавить какре нибудь число и вывести ?

Ну наверное CLD.K - 100 не сработает.

 

А на каком языке вообще пишется пост ? Вот NX поддерживает TCL. А спрут, что поддерживает ?

 

И никак не могу понять как работает OUTBLOCK.

Он выводит все что есть ?

И как определяется размер этого блока ?

 

 

 

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


Добрый день,

 

Вижу в CLData нужную мне перменную CLD.K = 150.

как мне вывести ее в строчку не нарушая нумерацию кадров? Или хотя бы как вообще ее вывести?

 

 

 

Чтобы вывести какой-то параметр CLData, надо сначала  значение  этого параметра присвоить какому-то регистру.
Ну например, 
имеем строку вида 
FEDRAT     F 150, MMPM(315), K 4, где: 
  Fedrat - имя команды, отвечающей за вывод рабочей подачи,
  F150 - значение подачи,
  MMPM(315) - единицы измерения подачи: 315 - мм/мин, 316 - мм/об, 
  K - это тип подачи (подача врезания, подача перехода к  строчке, К=4 -  рабочая подача и тд
 
В постпроцессоре мы завели регистр Feed_r,который имеет свой определенный формат (4 знака, ставится точка итд)
В момент присвоения 

 

Feed_r = cld.F (или что тоже самое Feed_r = cld[1])  происходит сохранение старого значения подачи в Feed_r@.

Дальше, как только встречается команда outblock - она сравнивает старые значения регистров с текущими, и выводит все те, которые не совпадают.

 

 

Пробовал 

OUTPUT CLD.K

Выводит ошибку и не пойму, что он от меня хочет...

 

 

 

Можно принудительно вывести строку через output 

надо преобразовать число вывода в строку.

либо: output str(cld.k)

либо  Mask(CLD.K ), OutBlock

 

 

А можно от этой переменной отнять или прибавить какре нибудь число и вывести ?

Ну наверное CLD.K - 100 не сработает.

 

 

теперь то зная все секреты

можем разными  способами: output str(cld.k-100)

 

 

А на каком языке вообще пишется пост ? Вот NX поддерживает TCL. А спрут, что поддерживает ?

да говорят, что генератор постов имеет паскалеобразный язык. 

 

И никак не могу понять как работает OUTBLOCK.

Он выводит все что есть ?

аха, все что накопилось - все и выводит

 

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

Спасибо!!!! 

 

Все понятно и по полочкам !!!!!!!

Буду пробовать.

 

А эта будет наша глобальная переменная Feed_r ? Где ее назначать ?


И вот если я принудительно, что-то вывожу. Как мне сохранить нумерацию строк ?

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

И еще как мне вывести переменную в которой мы сохранили какие то значение через output?

Ругается на строку output Feed_r

 

Пытаюсь сохранить в перемененную

 

Сохраняю значение в переменной. В блоке PPFun.
А как мне вывести эту переменную в другом блоке ?
Например в том же Fedrat?
 
А то пишет ошибку "использование неопределенной переменной"
:(
Ссылка на сообщение
Поделиться на других сайтах

Все понятно и по полочкам !!!!!!!

А эта будет наша глобальная переменная Feed_r ? Где ее назначать ?

И вот если я принудительно, что-то вывожу. Как мне сохранить нумерацию строк ?

Как нам объясняли, следует различать следующие способы работы с данными.

1) есть регистры - http://www.sprut.ru/files/Inp/documentation/rus/index.html?html_theblockstructureandformatdefinition.htm

2) есть предопределенные переменные и функции http://www.sprut.ru/files/Inp/documentation/rus/index.html?html_predefinedvariables.htm

3) и есть пользовательские переменные -  

      они могут быть глобальными - т.е действовать во всем постпроцессоре - тогда они должны быть объявлены в команде Common,

      либо локальными - т.е сохранять значения только в пределах одной команды

 

 

Т.е получается, если работаешь через переменную - надо объявить ее в секции Common и тогда получится выводить ее в любой команде.

Как мне сохранить нумерацию строк ?

Не совсем понял - что имеешь ввиду? т.е можно понять двояко.

Допустим был текст 

N1 G0 X10 Y100

N2 G0 Z-10 F200

N3 G1 Z-15

и вот здесь  мы хотим  вывести свою строку "WNIMANIE FEED = 150"

Вопрос в том, чтобы к этой строке добавить номер кадра N4 ? или наоборот сделать так, чтобы он не нумеровался?

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

Добавить.

Потому что при выводе output он убирает номер кадра...

 

А вот еще вопрос... Как мне вычислить угол по значениям длины?

 

По формуле я нашел, что мне надо вычислять тангенс 0.018. Конечно посмотрев по таблице я нашел, что он равен одному градусу, как и должно быть.

Но как этот тангенс описать в посте языком его программирования ? И не будет ли он, как калькулятор вычислять тангенс. Переводить градусы в значения. А надо чтобы значения переводил в градусы.

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

Добавить.

Потому что при выводе output он убирает номер кадра...

 

Надо посмотреть какой регистр в твоем случае отвечает за нумерацию кадров (часто бывает BlockN)

и перед тем как выводить output можно дописать строку

BlockN = BlockN +1; BlockN@ = BlockN

Output Str(BlockN) + то, что выводилось

 

Мне кажется, что Вам проще завести регистр. В PPFun инициализировать начальное и старое значение.  В том месте где требуется вывод, сбросить старое значению и вызвать команду outblock - тогда нумерация сама проставится

 

 

А вот еще вопрос... Как мне вычислить угол по значениям длины?

 

По формуле я нашел, что мне надо вычислять тангенс 0.018. Конечно посмотрев по таблице я нашел, что он равен одному градусу, как и должно быть.

Но как этот тангенс описать в посте языком его программирования ? И не будет ли он, как калькулятор вычислять тангенс. Переводить градусы в значения. А надо чтобы значения переводил в градусы.

 

post-16895-0-34202200-1441188783_thumb.png

Я честно говоря тангенсы не использовал, нашел вот тригонометрические функции в хелпе.

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

Спасибо...

 

При написании поста на Робофила (эрозия) желательно вычислять угол наклона... а его негде нет.... только смещение координатверхнего зажима проволоки...

Ну вот по принципу вычисления сторон треугольника, вычислил угол. Но угол взял из таблицы брадиса.... Никак не могу даже на бумаге понять...

 

Вот уже решение, но как его получить (((

 

tgX = y

 

У меня есть значения (у)

 

tg x = 0.018

 

как мне вычислить X не прибегая ко всяким таблицам...

 

 

X это и будет искомый угол.... 

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

Спасибо...

 

При написании поста на Робофила (эрозия) желательно вычислять угол наклона... а его негде нет.... только смещение координатверхнего зажима проволоки...

Ну вот по принципу вычисления сторон треугольника, вычислил угол. Но угол взял из таблицы брадиса.... Никак не могу даже на бумаге понять...

 

Вот уже решение, но как его получить (((

 

tgX = y

 

У меня есть значения (у)

 

tg x = 0.018

 

как мне вычислить X не прибегая ко всяким таблицам...

 

 

X это и будет искомый угол.... 

Разве это не арктангенс ?

 

x = arctan(Y) или языком спрута  X=ATN (Y)

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • 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 не нужен. Правильно же?
    • Slavdos
      Доброе. делюсь 1 внедренным китайцем. купили у ЛЛС MARVEL PRO 6000-3015.HGT , 2 шт , с автоматизацией. станки неплохие, интерфейс русские, достаточно дружелюбен. за автоматизацию зря переплатили, китай похоже в этом сильно уступает европе. из неожиданностей- резка воздухом дает неудаляемый грат, по сути необходимы зачистные станки.
    • Killerchik
      Я 4 комфорки на скоростной шпиндель поставил, в этом же качестве)))))
×
×
  • Создать...