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

Vericut


Alexandr

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

Знатаки Vericut есть пару вопросов, помогите пожалуста.

1. В системах cnc-88 и fanic 6m обязательно в конце координат целого числа ставить точку, например X300. Y56. Как заставить систему, что б она за этим следила

2. B CNC - 88 (FADAL) есть макрокомманды L9601 - выборка пряммоугольного кармана, как сделать чтоб система эту команду понимала?

Или может постпроцессором кто поделится.

Адресс мой alex-sas@yandex.ru

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


По первому пункту решение сразу в голову не пришло :wallbash: ,

а по второму пункту -

Есть два способа:

1) В VERICUT есть целый набор макросов, названия которых начинаются с CycleMillPocket... - они служат для описания циклов выборки кармана.

2) в VERICUTе на команду L9601 назначить вызов подпрограммы, в которой с помощью переменных самому описать движение инструмента X,Y,Z,G1,G2,G3...

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

По первому вопросу - проще всего описать формат слова как trailing or decimal 3.3, тогда при отсутствующей точке перемещение будет в микронах.

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

GARRY

Спасибо большое получилось :clap_1:

Varg

Если не трудно по подробнее, искал я такой макрос и не нашел :unsure:

Формат записи такой L9601R0+100.R1+1.R2+100.R3+100.

где соответственно R0-величина подачи

R1-Величина перекрытия(в данном случаи диаметр фрезы - 1)

R2-Величина кормана по X

R3 - по Y

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

Если не трудно по подробнее, искал я такой макрос и не нашел

Вполне возможно, если у Вас не последняя версия VERICUT.

Тогда используйте второй способ - через вызов подпрограммы:

1) L- определяете на вызов макроса CallSubName

2) O - вызов макроса SubroutineSequence

3) R - тип слова Special / VariableTag

4) Создаем текстовый файл с любым именем, н-р Pocketmacro.sub

5) В созданном файле пишем

O9601

G91

G1 X=R2 F=R0

Y=R3

X=-R2

...

т.е. описываем перемещение фрезы с заданными параметрами (можно использовать операторы If, while ...)

....

M17 (выход из подпрограммы)

6)В меню Setup>G-code>Settings / Subroutines

указываем путь к созданному файлу (Pocketmacro.sub)

Теперь при встрече строки L9601R0+100.R1+1.R2+100.R3+100. управление будет передаваться к УП из файла Pocketmacro.sub

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

3) R - тип слова Special / VariableTag

Смысл понятен, только я не понял третий пункт.

И еще, когда я савлю trailing or decimal 3.3,запись в УП

#1=10.

G1X#1

воспринимается как переход в микронахю

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

Смысл понятен, только я не понял третий пункт.

Регистр R определяете как знак переменной в меню Word Format.

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

Спасибо Varg за ответы, они мне очень помогли.

Теперь мои вопросы к Varg.

1.При выводе со станка HERMLE(H&H 430i) УП содержит символ "*"

в конце каждого кадра. V_CUT глючит при этом.

2.Оператор условного перехода в этой же стойке не

соответствует настройкам в V_CUT:

есть IF Q1 EQ Q2 GO TO LQ3 вместо D09 P1 Q1 P2 Q2 P3 Q3

_________NE___________________D10

_________GT___________________D11

_________LT___________________D12

Спасибо.

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

1.При выводе со станка HERMLE(H&H 430i) УП содержит символ "*"

в конце каждого кадра. V_CUT глючит при этом.

У меня эта проблема не проявилась (VERICUT 5.4).

post-28-1102508751_thumb.jpg

2.Оператор условного перехода в этой же стойке не

соответствует настройкам в V_CUT:

есть IF Q1 EQ Q2 GO TO LQ3 вместо D09 P1 Q1 P2 Q2 P3 Q3

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

Уважаемые господа - знатоки вериката!

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

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

Буквально проблема в следующем. При обработке детали с 4 сторон необходимо определить, что быстрее:

- обработка с минимальным количеством индексирования по 4 оси, но с большим количеством смен инструмента

или

- обработка с минимальным количеством смен инструмента, но с большим числом поворотов.

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

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

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

Самый простой способ :doh: - добавить макрос задержки DwellTime (с нужным значением в секундах) и DwellSeconds к описанию действий VERICUT при смене инструмента, например на команду M6.

Уверен, я для Вас, Константин, Америку не открыл. =)

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

Спасибо, уважаемый Игорь!

Идея мне ясна, о чем-то подобном я думал(хотя в сердцах надеялся, что все гораздо проще), но поскольку я сам в макросах не очень силен, прошу, если таковое возможно, несколько подробнее, о том как макрос подвязать к команде смены инструмента.

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

надеялся, что все гораздо проще

Всё достаточно просто:

1. Меню Setup>Control>Word/Address

2. В списке адресов ищем команду смены инструмента M6 и указываем в ней любой макрос (например ToolChange)

3. Меню Edit>Add/Modify

4. В поле MacroName пишем слово DwellTime, в поле Override Value - значение задержки при смене инструмента (например 30)

5. Кнопка Add

6. В поле MacroName пишем слово DwellSeconds

7. Кнопка Add

8. Кнопка Close

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

Спасибо, уважемый Игорь!

Вчера сделал первые пять действий:

1. Меню Setup>Control>Word/Address

2. В списке адресов ищем команду смены инструмента M6 и указываем в ней любой макрос (например ToolChange)

3. Меню Edit>Add/Modify

4. В поле MacroName пишем слово DwellTime, в поле Override Value - значение задержки при смене инструмента (например 30)

5. Кнопка Add

, но не догадался сделать еще 3:

6. В поле MacroName пишем слово DwellSeconds

7. Кнопка Add

8. Кнопка Close

поэтому и не добился эффекта.

Сейчас доделал - все нормально, меняешь DwellTime - меняется время в протоколе.

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

С уважением к Varg.

1. VERICUT 5.3 "глючит" следующим образом, например:

-в кадрах, где идет перемещение только по "Z", сбрасывается коррекция на высоту инструмента;

-если в конце кадра стоит М-функция, то она сбрасывается G90G00Z0M92* - G90G00Z0.

А, вообще, я имел ввиду, как сделать, чтобы символ "*" в конце кадров игнорировался.

2.Я не понял как.

3.Q108- системная переменная, равная корректору на радиус текущего инструмента. Я не смог.

4.В кадрах (FANUC-6MB)

M11G90G00B90.

M10G01Z0F100

М11 и М10- разжим и зажим поворотного стола с перемещением его по оси "Y" на ~3мм.

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

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

чтобы символ "*" в конце кадров игнорировался.

Cotrol>Word Format> на регистр "*" определяем как Special / End Of Block

Q108- системная переменная, равная корректору на радиус текущего инструмента.

Макрос SetDynamicVars (Override Value: CurCDC 108) назначается в меню Control > Adv.Options > Events/ Start of processing

чтобы сначала отрабатывались М11 и М10, а затем остальные функции кадра, как на станке.

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

1.Cotrol>Word Format> на регистр "*" определяем как Special / End Of Block

2.Макрос SetDynamicVars (Override Value: CurCDC 108) назначается в меню Control > Adv.Options > Events/ Start of processing

3.Для этого существует макрос ProcessMotion, который производит перемещения по заданной функции, не дожидаясь конца кадра, т.е. в командах M10, M11 после всех макросов надо поставить этот.

4.(  IF Q1 EQ Q2 GO TO LQ3 вместо D09 P1 Q1 P2 Q2 P3 Q3)

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

<{POST_SNAPBACK}>

1.Дело в том, что регистр "*" определен уже как знак мат. умножения. :g:

2.Не получилось. :wallbash:

3.Не получилось. :wallbash:

4.Я не смог. :wallbash:

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

Я особо не знаток - но помогу

1. В системах cnc-88 и fanic 6m обязательно в конце координат целого числа ставить точку, например X300. Y56. Как заставить систему, что б она за этим следила

можно написать

собственный макрос и добавить его соответственно при обработке движения осей X Y Z I J K F . Например ( у меня работает система так)

CGTech Macro Language Source

text sccs_id = " @(#)fanuc.cms 9.1 08/11/01";

#include <gendef.cmh>

#include <gentypes.cmh>

#include <cfunc.cmh>

#include <ctlvarc.cmh>

/* ******************************************************************

****************************************************************** */

macro cms_CheckPoint(word, textstr, value)

text word;

text textstr;

number value;

locals

text buffer;

number len1,len2;

text str1,str2 ;

number val1,val2;

{

buffer="";

/*для рассчитанного значения в Vericut*/

val1=floor(value); /*округляем до целого*/

str1=textof(value); /*преобразуем в строку*/

len1=length(str1); /*длина строки*/

/*для строки под словом*/

len2=length(textstr);

val2=valueof(textstr);

lookup(word)

{

"X":

{

/* то-есть значения есть целые что нас и интересует */

if (val1 eq val2)

{

/* если длина числа без точки = преобразованному Vericut */

if (len1 eq len2)

{

/* format(buffer, "word=%s|textstr=%s|val2=%n|len2=%n|==|val1=%n|len1=%n|str1=%s",

word, textstr,val2,len2,val1,len1,str1);*/

/* русские буквы система Vericut не понимает */

format(buffer, "Word %s=%s without decimal point ... must be %s%n.",

word, textstr, word, value);

cfunc_send(ERROR, buffer, 0);

}

}

}

"I":

{

/* то-есть значения есть целые что нас и интересует */

if (val1 eq val2)

{

/* если длина числа без точки = преобразованному Vericut */

if (len1 eq len2)

{

/* format(buffer, "word=%s|textstr=%s|val2=%n|len2=%n|==|val1=%n|len1=%n|str1=%s",

word, textstr,val2,len2,val1,len1,str1);*/

/* русские буквы система Vericut не понимает */

format(buffer, "Word %s=%s without decimal point ... must be %s%n.",

word, textstr, word, value);

cfunc_send(ERROR, buffer, 0);

}

}

}

/* ну и так далее

.................

*/

}

}

Адрес: evgeneche@yandex.ru

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • boomeeeer
      @anykeyto Я не оператор. Настраивал работу этой функции на токарно-фрезерном, где нужно было позиционировать шпиндель, для нарезания пазов. Что такое G07 не знаю. Вот такой пример для фрезерного станка нашёл   G108 B0; переключение на ось B для управления положением; G68.2 X10 Y10 Z20 I0 J90 K0 Положение заготовки (10,10,20) Угол Эйлера для определения характеристической системы координат; G53.2 Управление направлением инструмента   G109 B0 - отключит режим
    • anykeyto
      Ага, спасибо... А в связке с G07.1 это как работает? Есть детали ,кольца, на которых надо делать по 4 паза. Сейчас программист написал прогу под шаровую фрезу. Там рабочие движеня происходят через одновременное смещение по оси Х и Z... фреза убивается буквально на третьем кольце, да и обработка получаестя фиговой.. На сколько я понимаю надо стремиться к тому, чтобы на 5ти осном станке фреза всегда была перпендикулярна касательной ли самой поверхности. Мне посоветовал как раз цилндрческую интерполяцию, когда ось С преобразуется в плоскость. В мануале к HNC описано эт криво, но в примерах программ как раз сначала включается CTOS и потом G07.1. но дальше как запрограммировать понимания пока нет...  P.S. хочу добавить, что на 5-снике раньше работал только как оператор по готовым программам  на Хенденхайне. А сейчас на новом предприятии на новой для меня стойке нужно все делать с нуля и самостоятельно. С одной стороны интересно, с другой стороны спросить не у кого, в инете инфы по стойке нет от слова совсем, уж тем более видео....  чем это отличается от просто G0 C180? Или это уже будет шпиндель позиционироваться, а не стол?
    • AlexKaz
      Различают жёсткие и гибкие ротора. В данном случае вал жёсткий. Для него соответствуюшая формула. 4000 об/мин = 66.67 Гц, это ни о чём, эффекты для такой частоты почти не скажутся на жёстком роторе. Но проблема в том, что в лопаточных машинах (а насос на скрине наверное лопаточная?) собственные кратны числу лопаток. Я не разбирался в вопросе чтобы что-то здесь советовать. Лучше не спешить и внимательно почитать про модальный в лопаточных. Заодно проверить, а какое нагружение идёт в деталях насоса чтобы корректно выполнить престресс.
    • ДОБРЯК
      Хотите еще и матрицу масс изменить. :=) И сколько килограмм воды будете присоединять?  Опыт правильного моделирования, опыт расчета таких конструкций накапливается десятилетиями. Маловероятно, что кто-то на форуме будет вам объяснять как правильно моделировать, какие КЭ использовать, какие граничные условия задавать и т. д. Вы же всегда уклоняетесь от разговора на эти темы, даже для простых моделей.  Даже если перейдете на Ансис и не разберётесь в том, что он считает это не поможет вам написать грамотный отчет и объяснить грамотному заказчику, что вы там насчитали. Считает расчетчик, а программа это инструмент. Это только в рекламе пишут, что купите программу трехмерного моделирования, сделайте трехмерную модель, потом нажмите одну кнопку и на обычном игровом компьютере все посчитаете. Только в жизни все немножко иначе...:=)
    • Jesse
      Вот что у Биргера: Центробежные силы и индуцированный гироскопический момент зависят от квадрата частоты вращения вала   Хотя уже сама критическая частота зависит только от момента инерции колеса (альфа, бэта, гамма - это прогибы, углы поворота и прочая шелуха), т.е. частота вращения в формулу не входит, а всё определяется только моментом инерции Jm Ну у него рассматривается простая одномассовая система (фактически грузик на пружинке). Думаю поискать публикации.. мб где то раскопали аналитическую зависимость первой и высшей СЧ от частоты вращения для сложных систем. Хотя если выяснится что зависит,  всё равно обоснование придумывать придётся.  Эхх...
    • Fedor
      https://www.litres.ru/book/v-n-faddeeva/vychislitelnye-metody-lineynoy-algebry-65999878/  Ну и классику жанра :) 
    • Jesse
      4000 об/мин при наружном диаметре колеса 380 мм. Думаете, на больших оборотах вилка всё равно может разойтись и могут появиться гироскопические эффекты? Даже несмотря на вышеприведенные массово-инерционные оценки и расположение опор?   да я влияние престресс (вращение) особо не увидел... Думал обычным модальником прогнать, Ланцошом (он пошустрее).   Ещё мои раздумья направлены в сторону присоединённой массы воды, что по идее должно занижать частоты. Хотя для такого массивного вала как у меня даже на это дело можно забить, наверно...
    • Handrusik
      Maxx2000 - благодарю Павлуха - это не фриланс Утомлённый солнцем - приятно, что меня помнят
    • Борман
      Я так понимаю, что обороты не особо большие. ДК - это чисто высокооборотистая тема.   Просто мысли вслух... Если вилка будет сильно расходится, то всегда будет точка пересечения любого луча с кривой BW. Причем точка будет на меньших оборотах по сравнению с обычным престресс-модальником. Какие дальше действия ? С чем тут нужно дополнительно бороться по сравнению с тем, с чем нужно было бы бороться по результатам обычного престресс-модальника Если вилка не сильно расходится (от кривой обычного престресс-мобальника), то смысла стоить строгую ДК большого нет.    
    • boomeeeer
      На сименсе параметрами настраивается многое, что связано с менеджером иснструмента. Вызов возможен как по номерам, так и по именам инструментов. Через равно вроде как по имени вызывается (Т="имя"), а по номеру можно было, например, Т1 M6, а первый корректор подтянулся бы автоматически. И не всегда М6 на смену. Производитель мог нагородить чего угодно. Параметры надо смотреть
×
×
  • Создать...