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

FeatureCAM


Дядя

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

Нет к сожалению не она.

Я брал почти каждую переменную и пробывал получить нужный результат, но результата не было. Такое ощущение что тут не одна переменная а две или еще что то нужно.

Ради интереса попробовал.

Пробовал в 2009 (поскольку пока 2010 будет глючный - я на него не перейду).

Переменная <SPDL-SYNCRN> выдаёт значения TurnSpeed или TurnPhase или TurnOff в зависимости от того, какой из этих типов выбран в обработке синхронизации шпинделей в самом фьючике.

Вроде всё нормально и правильно выдаёт.

Последние два параметра у меня в 2009 отсутствуют.

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


Ради интереса попробовал.

Пробовал в 2009 (поскольку пока 2010 будет глючный - я на него не перейду).

Переменная <SPDL-SYNCRN> выдаёт значения TurnSpeed или TurnPhase или TurnOff в зависимости от того, какой из этих типов выбран в обработке синхронизации шпинделей в самом фьючике.

Вроде всё нормально и правильно выдаёт.

Последние два параметра у меня в 2009 отсутствуют.

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

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

Взял первый попавшийся пост.

Держи:1.zip

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

Взял первый попавшийся пост.

Держи:1.zip

Спасибо, до меня дошло.

Я пытался сделать это не в том месте, где это положено )))

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

Подскажите переменная которая создана пользователем, может быть не модальна, тоесть при повторение не прописываться в программе ???

Я пробывал создавать свою переменную но при установке этих скобок {} переменная перестает работать.

Смысл затеи в том что я некоторые команды в посте пищу на прямую, а они эти команды иногда повторяются, ток вот чтобы они не повторялись я бы хотел их обозначить как переменная и поставить на них условие что они не модальны.

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

Подскажите переменная которая создана пользователем, может быть не модальна, тоесть при повторение не прописываться в программе ???

Я пробывал создавать свою переменную но при установке этих скобок {} переменная перестает работать.

Смысл затеи в том что я некоторые команды в посте пищу на прямую, а они эти команды иногда повторяются, ток вот чтобы они не повторялись я бы хотел их обозначить как переменная и поставить на них условие что они не модальны.

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

Один нюанс - если сначала в какой-нибудь обработке пропишешь значение переменной, а затем в другой обработке пропишешь то-же самое значение этой переменной - это будет считаться как изменение значения (и, соответственно, пропишется в программе как новое значение).

2.zip

Если хочешь по-другому - можно просто в посте в программу писать значение той или иной переменной по условию.

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

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

Один нюанс - если сначала в какой-нибудь обработке пропишешь значение переменной, а затем в другой обработке пропишешь то-же самое значение этой переменной - это будет считаться как изменение значения (и, соответственно, пропишется в программе как новое значение).

2.zip

Если хочешь по-другому - можно просто в посте в программу писать значение той или иной переменной по условию.

Смысл затей немножко другой, а именно взять создать условие, например mill_off=M18 и далее в посте прописать { <mill_off> } тоесть заменить буквенное значение М18 на переменную и применить кней не модальность. Такое возможно ???
Ссылка на сообщение
Поделиться на других сайтах

Смысл затей немножко другой, а именно взять создать условие, например mill_off=M18 и далее в посте прописать { <mill_off> } тоесть заменить буквенное значение М18 на переменную и применить кней не модальность. Такое возможно ???

Возможно практически всё...

Подобное лучше всего через пользовательские процедуры, в которых это делать через условия.

Только не совсем понял про модальность - у тебя меременная mill_off будет меняться в программе? Если она всегда будет равна "M18", то прописываться ей надо будет только один раз.

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

Возможно практически всё...

Подобное лучше всего через пользовательские процедуры, в которых это делать через условия.

Только не совсем понял про модальность - у тебя меременная mill_off будет меняться в программе? Если она всегда будет равна "M18", то прописываться ей надо будет только один раз.

Пмеременная mill_off это отключить фрезерный режим на токарно-фрезерном станке, сейчас я ее прописал как М18 и она прописывается в начале каждого фрезеного инструмента. Тоже самое происходит и с токарным режимом М19.

Конечно она будет менятся есть М18 М19 тоесть mill_off и mill_on

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

Пмеременная mill_off это отключить фрезерный режим на токарно-фрезерном станке, сейчас я ее прописал как М18 и она прописывается в начале каждого фрезеного инструмента. Тоже самое происходит и с токарным режимом М19.

Конечно она будет менятся есть М18 М19 тоесть mill_off и mill_on

Тут совсем другая постановка задачи. Всё это можно конечно осуществить через какие-то условия по переменным mill_off и mill_on, но, мягко говоря, это уводит совсем в другую ненужную сторону.

Такая задача осуществляется через условия - токарка или фрезеровка используется. Проставлять данные значение (соответственно ставить условия) можно только в трёх местах - програм_старт, тул_чендж, сегмент_старт.

я делал подобный пост для токарно-фрезерного станка. Только там использовалось переключение на фрезеровку с виртуальной остью Y через режим M12.1 и отключение M13.1. Полагаю - это примерно то-же самое. Заморочки с автоматической простановкой переменной - это лишний гемморой.

Изменено пользователем Kel_Nerk
Ссылка на сообщение
Поделиться на других сайтах

Тут совсем другая постановка задачи. Всё это можно конечно осуществить через какие-то условия по переменным mill_off и mill_on, но, мягко говоря, это уводит совсем в другую ненужную сторону.

Такая задача осуществляется через условия - токарка или фрезеровка используется. Проставлять данные значение (соответственно ставить условия) можно только в трёх местах - програм_старт, тул_чендж, сегмент_старт.

я делал подобный пост для токарно-фрезерного станка. Только там использовалось переключение на фрезеровку с виртуальной остью Y через режим M12.1 и отключение M13.1. Полагаю - это примерно то-же самое. Заморочки с автоматической простановкой переменной - это лишний гемморой.

Спасибо за совет, но все же я пока с этим разбираюсь )))

Появился еще вопросик, при фрезеровке по диаметру в четвертой оси фрезерного станка, наблюдал такую штуку, подачи которые линейные (тоесть которые выполняются без участия оси A) выполняются хорошо, но когда подключается ось А движение заметно падает. Это видно на глаз на, мониторе подача остается прежней. Так вот я нашел во Фючике переменную <ANG-DPM> которая отвечает за подачу град/мин тоесть в каждом кадре когда используется ось А приписывается своя подача, отсюда вопрос, разброс этих подач просто огромен на диаметре 20 он может быть от F2. до F500. Можно ли как то их отрегулировать, и вобще как их проверить :confused_1:

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

Спасибо за совет, но все же я пока с этим разбираюсь )))

Если всё-таки хочешь этим заморочиться, то вот вариант.

В начале секции Програм_Старт инициализируешь переменные следующим образом:

[:mill_var_old=""]

[:mill_var=M18]

Далее создаёшь пользовательскую функцию "MillWrite".

В ней пишешь следующее:

<IF>[neq(mill_var,mill_var_old)]<THEN>

[mill_var_old=mill_var]

<ENDIF>

Дальше когда надо (по какому-либо условию в постпроцессоре) меняешь значение переменной mill_var, например:

[:mill_var=M18]

А простановку значения этой переменной делаешь таким образом:

<INCLUDE:MillWrite>

В результате значение переменной mill_var будет проставляться только один раз после изменения.

Не уверен, что именно это тебе нужно (уж больно туманно было объяснение), но тем не менее.

Появился еще вопросик, при фрезеровке по диаметру в четвертой оси фрезерного станка, наблюдал такую штуку, подачи которые линейные (тоесть которые выполняются без участия оси A) выполняются хорошо, но когда подключается ось А движение заметно падает. Это видно на глаз на, мониторе подача остается прежней. Так вот я нашел во Фючике переменную <ANG-DPM> которая отвечает за подачу град/мин тоесть в каждом кадре когда используется ось А приписывается своя подача, отсюда вопрос, разброс этих подач просто огромен на диаметре 20 он может быть от F2. до F500. Можно ли как то их отрегулировать, и вобще как их проверить :confused_1:

Мне кажется лучшим выходом будет создание пользовательской функции, которую будешь вызывать вместо простановки подачи.

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

Именно так я и делал...

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

Мне кажется лучшим выходом будет создание пользовательской функции, которую будешь вызывать вместо простановки подачи.

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

Именно так я и делал...

Провел я небольшой тест и вот что получились, я попробовал использовать переменные которые на фотке, из них более приемлемо работает переменная <ANG-DPM-NOFR> подачи прописываются более предсказуемо в отличие от переменной <ANG-DPM> .

Если знаете перевод этих переменных, то пожалуйста пищите какой принцип их работы !!!

Прилагаю файлик с гравировкой для теста, если интересно.

Но опять же если взять непрерывную четырех осевую обработку то получается полная ахинея !!!

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

Мне кажется лучшим выходом будет создание пользовательской функции, которую будешь вызывать вместо простановки подачи.

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

Если можно то по подробней, идея заманчива. С пользовательской функцией все понятно а вот с расчетом подачи по диаметру не очень понятно.
Ссылка на сообщение
Поделиться на других сайтах

Есть проблема,подскажите пожалуйста,FeatureCAM не выполняет коррекцию,галочки о ее выполнении поставил.В постпроцессоре(к примеру дляTNC145)строка выглядит вот так:

<IF><COMP-ON><THEN>

<SEQ> L X<X-COORD> Y<Y-COORD> F<FEED> R<COMP-STAT> M <EOB>

но в программе выдает R0,к примеру:

30 L X+147,737 Y+53,676 F21 R0 M

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

Есть проблема,подскажите пожалуйста,FeatureCAM не выполняет коррекцию,галочки о ее выполнении поставил.В постпроцессоре(к примеру дляTNC145)строка выглядит вот так:

<IF><COMP-ON><THEN>

<SEQ> L X<X-COORD> Y<Y-COORD> F<FEED> R<COMP-STAT> M <EOB>

но в программе выдает R0,к примеру:

30 L X+147,737 Y+53,676 F21 R0 M

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

Провел я небольшой тест и вот что получились, я попробовал использовать переменные которые на фотке, из них более приемлемо работает переменная <ANG-DPM-NOFR> подачи прописываются более предсказуемо в отличие от переменной <ANG-DPM> .

Если знаете перевод этих переменных, то пожалуйста пищите какой принцип их работы !!!

Прилагаю файлик с гравировкой для теста, если интересно.

Но опять же если взять непрерывную четырех осевую обработку то получается полная ахинея !!!

В принципе будет оптимальным использование <ANG-DPM-NOFR>. Можно использовать и <ANG-DPM> - она от предыдущей отличается вроде тем, про производится некое торможение на углах.

Тут ещё хорошоб узнать в каких единицах обрабатывается подача для поворотной оси. Вообще должно быть в градусах/минуту. Для этого как раз предназначены переменные <ANG-DPM-NOFR> и <ANG-DPM>.

Есть проблема,подскажите пожалуйста,FeatureCAM не выполняет коррекцию,галочки о ее выполнении поставил.В постпроцессоре(к примеру дляTNC145)строка выглядит вот так:

<IF><COMP-ON><THEN>

<SEQ> L X<X-COORD> Y<Y-COORD> F<FEED> R<COMP-STAT> M <EOB>

но в программе выдает R0,к примеру:

30 L X+147,737 Y+53,676 F21 R0 M

На других постах программу пробовал? На них выдаёт коррекцию? А то может в программе коррекция отключена.

Если на других постах коррекция выдаётся, то надо пост смотреть...

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

Ребят, есть вопросик небольшой. Вот столкнулся с проблемкой по нарезанию резьбы. трапециидальной. когда сделал ее, у меня получается 85 проходов обфчным резьбовым резцом.

Так вот в чем дело.... Когда я выбираю инструмент, то там немогу найти резца по профилю трапеции. что только не делал. Вопрос такой. где мошно взять библиотеку таких резцов, или может быть как нить можно смоделировать? Я понимаю что это детская прокрамма, которая пишется в ручную с легкостью, но для практики, хочу попробывать если есть возможность.

ЗАРАНЕЕ СПАСИБО!!!

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

В принципе будет оптимальным использование <ANG-DPM-NOFR>. Можно использовать и <ANG-DPM> - она от предыдущей отличается вроде тем, про производится некое торможение на углах.

Тут ещё хорошоб узнать в каких единицах обрабатывается подача для поворотной оси. Вообще должно быть в градусах/минуту. Для этого как раз предназначены переменные <ANG-DPM-NOFR> и <ANG-DPM>.

А как на счет переменной <ANG-CFEED> она тоже выдает нечто более приемлемое.

Вот ее описание - Outputs the feed value required for an Okuma

or Fanuc control to maintain the programmed

feed rate. This is a Cartesian feed rate value.

Ребят, есть вопросик небольшой. Вот столкнулся с проблемкой по нарезанию резьбы. трапециидальной. когда сделал ее, у меня получается 85 проходов обфчным резьбовым резцом.

Так вот в чем дело.... Когда я выбираю инструмент, то там немогу найти резца по профилю трапеции. что только не делал. Вопрос такой. где мошно взять библиотеку таких резцов, или может быть как нить можно смоделировать? Я понимаю что это детская прокрамма, которая пишется в ручную с легкостью, но для практики, хочу попробывать если есть возможность.

ЗАРАНЕЕ СПАСИБО!!!

Модель детали скинте.

Вобще резцы можно и смоделировать.

Читайте с этого места <noindex>http://fsapr2000.ru/index.php?s=&showt...st&p=299982</noindex>

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

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

Начало программы

<SEQ> TOOL DEF <TOOL> L+0 R<COMP-NUM><EOB>

<SEQ> TOOL CALL 0 Z S40,000<EOB>

<SEQ> L Z<Z-COORD> R0 F<MOTION> M05<EOB>

<SEQ> L X<X-CHANGE> Y<Y-CHANGE> R0 F<MOTION> M<EOB>

<SEQ> STOP M25<EOB>

<SEQ> TOOL CALL <TOOL> Z S<SPEED><EOB>

<SEQ> L X<X-COORD> Y<Y-COORD> R0 F<MOTION> M<SPINDLE><EOB>

Линейные перемещения

<IFNOT><COMP-ON><THEN>

<SEQ> L X<X-COORD> Y<Y-COORD> F<FEED> R0 M <EOB>

<SEQ> Z<Z-COORD> F<FEED> R0 M <EOB>

<ENDIF>

<IF><COMP-ON><THEN>

<SEQ> L{ X<X-COORD>}{ Y<Y-COORD>}{ Z<Z-COORD>} R<COMP-STAT> F<FEED> M<EOB>

<ENDIF>

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • Harley
      @Vomkin А вообще... я сижу на работе, и мне скучно (настолько, что позволил себе пару банок пива), так что держите :) Строки, которые я изменил или добавил - выделены жирным, если важно, и курсивом, если неважно (Вы же эти цифры тоже от балды взяли). Привожу упрощённый вариант.   O0253(PROG-NERG)#501=0(NACHALO-X) #2=0(NACHALO-Y)#3=-500(SHIRINA-LISTA)#4=-250(DLINA-LISTA)#5=100500(TOLSHINA-ZAGOTOVKI)#6=0,001(TOLSHINA-FIKSATORA)#7=50(DIAMETR-FREZI)#8=#7/4(SMESHENIE-OT-NOLYA-PO-X)#9=#4-[#7/2](PEREBEG-PO-Y)#10=#7/2.2(PEREKRITIE-OBRATNOGO-HODA-PO+X)#11=#2+[#7/2](PEREBEG-PO+Y)#12=0.7*#7(PEREKRITIE-70)#16= 0,971 (тот шаг, который Вы сами посчитаете нужным задать, ЗАВИСИТ ЖЕ от толщины детали, от её габаритов (или у вас подсосиновик? я так вакуумный зажим называю) от фрезы, от материала, от станка...) #17=FUP[[#5-#6]/#16]  (считаем количество шагов по Z, которое нужно сделать, чтобы доехать с #5 до #6, в стиле "лучше перебдеть, чем недобдеть", иначе было бы FIX) #501=#16*#17 (считаем новую стартовую точку, опять же в том же стиле)#13=#7/2N1T3M6G0G90G55X#1Y#13 G43Z50H3S500M13WHILE[#5GT#6]DO1 #1=#501#5=#5-#16IF[#5LT#6]THEN#5=#6 (в эти две строки не вмешиваюсь, но скрипя душу)G1Z#5F1000WHILE[#1GT#3]DO2(без обид, пожалуйста, но тут у Вас такая чушь...  работает - и ладно, не моё дело)END2END1G0Z50M15 G0G53G49Z-100G0G53Y-50M30     Если стойка младше MF - обязательно прогнать в тестовом режиме. Не из-за того, что я кракозябры написал, а из-за того, что Fanuc'овская математика непредсказуема. Если есть графика - прогоните в ней, в покадровом режиме убедитесь, что работает нормально и в итоге и по X и по Z приезжает куда надо.  
    • Ветерок
      Я поинтересовался И выяснилось, что да, работает не так. Но, тем не менее, в самом эскизе и без всяких измерений и уравнений.
    • ART
      @Ветерок @maxx2000 Два знатока NX.    Не выходя из эскиза ->menu->edit->divide curve->выбрать вашу линию->нужный вам метод деления. Соответственно все параметры будут в таблице переменных там сможете их менять. 
    • malvi.dp
      Удалось таки воспроизвести этот диалог если в параметрах тела сетки установить одну или обе галочки Если же галочки снять, то макрос отрабатывает без диалога, а вот если вручную открыть файл, то выскакивает такое окно: В этом случае нужно просто установить отметку "Больше не отображать сообщение" и оно больше не будет донимать.
    • kinovari
      Приветствую благородных господ данного форума.   Возникла непреодолимая проблема в работе связки манупулятора и станка на sinumerik one.  Срочно требуется добыть SINUMERIK STEP 7 TOOLBOX V18.1 для tia portal. Может кто поделиться? Заранее благодарю! Заодно хотелось бы узнать, можно ли как либо из NC обратиться в программе ко входу PLC? например вход I014.4, написать скрипт проверки готовности данного входа. Спасибо!
    • Александр1979
      Вам вручную нужно создать текстовый файл optiondata.txt такого формата:  
    • Александр1979
      Сигнал пропуска, обычно подключается ко входу PMC X4.7, но можно настроить и на другой вход. Используется для подключения сигнала с датчиков привязки заготовки, инструмента. 
    • maxx2000
      чего тебе тут непонятно?
    • maxx2000
      а какие ещё варианты отрезков бывают, разве что в форме котика  можно образмерить все участки и наложить на них ограничение равенства, если частей больше чем две то задать через формулу "размер= общая длина/число частей"
    • mamomot
      Совершенно верно! Наработки "Гербария" легли в часть разработок RGK.
×
×
  • Создать...