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

Как писать измерительные циклы


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

Читал руководства не могу понять как правильно писать измерительные циклы.  Я так понимаю это программа для измерения внешнего диаметра, подскажите как читать и писать циклы. Заранее спасибо 

 

DEF REAL _A1, _A2, _MR, _MR1, _X0, _Y0, _Z0, _RDIAM
_MR=R1-10
_MR1=R1+10
 ROT Y=$AA_IW[B1] 

_X0=$AA_IW[X] , 
_Y0=$AA_IW[Y] 
_Z0=$AA_IW[Z] 

M120 

G1 F1000 X=_X0+_MR1 

G1 F1000 Z=_Z0-15. 

L770("X” ,$AA_IW[X],_X0-_MR,0) 

_A1=R50

G1 F1000 Z= Z0

G1 F1988 X=_X0-_MR1

G1 F1000 Z0=_Z0-15.

L770("X" ,$AA_IW[X],_X0+_MR,0)
 _A2=R50
XO=(_A1+_A2)/2
G1 F1000 Z=_Z0 
G1 F1000 X=_X0
G1 F1000 Y=_Y0+_MR1
G1 F1000 Z=_Z0-15.

L770("Y",$AA_IW[Y],_Y0-_MR,0)
_A1=R50

G1 F1000 Z=_Z0
G1 F1000 Y=_Y0-_MR1
G1 F1000 Z=_Z0-15.

L770("Y",$AA_IW[Y],_Y0+_MR,0)
_A2=R50
_Y0=(_A1+A2) /2

G1 F1000 Z=_Z0
G1 F1000 Y=_Y0

G1 F1000 X=_X0+_MR1
G1 F1000 Z=_Z0-_15.

L770("X",$AA_IW[X],_X0-_MR, 0)
_A1=R50
G1 F1000 Z=_Z0
G1 F1000 X=_X0-_MR1
G1 F1000 Z=_Z0-_15.
L770("X"), $AA_IW[X], _X0+_MR, 0)

_RDIAM=_A1-_A2
M121
ROT
R41=_X0
R42=_Y0
R43=_RDIAM
MSG("SPIGOT DIAMETER:" <<_RDIAM<<"X0=" <<"X0="Y0" <<_Y0) 
RET

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


UnPinned posts

Циклы измерительные писать или писать программы для измерения чего-либо с использованием измерительных циклов? Если программы писать с использованием циклов, то надо читать документацию со стойкой станка, какие измерительные циклы у вас доступны.

Изменено пользователем s_liam
Ссылка на сообщение
Поделиться на других сайтах
28.06.2022 в 11:53, Zelder сказал:

Читал руководства не могу понять как правильно писать измерительные циклы.  Я так понимаю это программа для измерения внешнего диаметра, подскажите как читать и писать циклы. Заранее спасибо 

 

DEF REAL _A1, _A2, _MR, _MR1, _X0, _Y0, _Z0, _RDIAM
_MR=R1-10
_MR1=R1+10
 ROT Y=$AA_IW[B1] 

_X0=$AA_IW[X] , 
_Y0=$AA_IW[Y] 
_Z0=$AA_IW[Z] 

M120 

G1 F1000 X=_X0+_MR1 

G1 F1000 Z=_Z0-15. 

L770("X” ,$AA_IW[X],_X0-_MR,0) 

_A1=R50

G1 F1000 Z= Z0

G1 F1988 X=_X0-_MR1

G1 F1000 Z0=_Z0-15.

L770("X" ,$AA_IW[X],_X0+_MR,0)
 _A2=R50
XO=(_A1+_A2)/2
G1 F1000 Z=_Z0 
G1 F1000 X=_X0
G1 F1000 Y=_Y0+_MR1
G1 F1000 Z=_Z0-15.

L770("Y",$AA_IW[Y],_Y0-_MR,0)
_A1=R50

G1 F1000 Z=_Z0
G1 F1000 Y=_Y0-_MR1
G1 F1000 Z=_Z0-15.

L770("Y",$AA_IW[Y],_Y0+_MR,0)
_A2=R50
_Y0=(_A1+A2) /2

G1 F1000 Z=_Z0
G1 F1000 Y=_Y0

G1 F1000 X=_X0+_MR1
G1 F1000 Z=_Z0-_15.

L770("X",$AA_IW[X],_X0-_MR, 0)
_A1=R50
G1 F1000 Z=_Z0
G1 F1000 X=_X0-_MR1
G1 F1000 Z=_Z0-_15.
L770("X"), $AA_IW[X], _X0+_MR, 0)

_RDIAM=_A1-_A2
M121
ROT
R41=_X0
R42=_Y0
R43=_RDIAM
MSG("SPIGOT DIAMETER:" <<_RDIAM<<"X0=" <<"X0="Y0" <<_Y0) 
RET

 

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

Если я правильно понял, это пользовательская программа используется для измерения некоторых точек в пространстве с кинематикой станка 4D. Если быть точным, данный алгоритм измерения напоминает алгоритм измерения и определения габаритных размеров геоэлемента (круг/цилиндр/сфера, цапфа/прямоугольник) и координат его середины/центра по осям X, Y. Думаю, в данном случае речь идёт о детали/геоэлементе с цилиндрической/сферической формой. 

 

А логика измерения вроде бы такая:

 

1. Выравниванием плоскость СКД относительно актуальной позиции изм.инструмента/щупа/тестера по оси Y;

 

2. Определяем положение кромок геоэлемента (кромка/плоскость/грань/ребро) на детали по оси X относительно актуальной позиции изм.инструмента/щупа/тестера в режиме двунаправленного измерения с последующими определением половинного расстояния между этими точками, то бишь середины полученного отрезка, и корректировкой актуального положения щупа относительно измеряемой оси (ось X); 

 

3. Делаем то же самое, что и в шаге  N2, но по оси Y.

 

4. Перепроверяем полученные значения измерения на этапе 2 повторным его прогоном;

 

5. Получаем некое значение некоего диаметра с координатами его центра в плоскости  X/Y.

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

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

1. Строка 6 ( счёт идёт от строки с объявлением переменных - Def): в конце кода стоит ", " (запятая), хотя в рамках логики и синтаксиса она там не нужна;

2. Строка 19: вместо "X0" используется "XO".

Кстати, а для чего нужна подпрограмма  L770? Это она отвечает за сам процесс измерения или в её теле есть обращение к стандартному циклу измерения Sinumerik?

Ссылка на сообщение
Поделиться на других сайтах
  • 6 месяцев спустя...
03.08.2022 в 21:04, ShadoWofXaoS сказал:

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

1. Строка 6 ( счёт идёт от строки с объявлением переменных - Def): в конце кода стоит ", " (запятая), хотя в рамках логики и синтаксиса она там не нужна;

2. Строка 19: вместо "X0" используется "XO".

Кстати, а для чего нужна подпрограмма  L770? Это она отвечает за сам процесс измерения или в её теле есть обращение к стандартному циклу измерения Sinumerik?

Я так понял что L770 это цикл измерения (GILDEMEISTER)

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

2. Да, нужно поставить Х0

Получается подвожу к центру цапфы, а после запускаю программу. Это кстати полпрограмма, в MDI нужно дописать нормальный запуск для этой программы

 

 

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

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

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

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

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

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

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

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

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

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

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




  • Сообщения

    • gudstartup
      вы тоже думаете что можно все компоненты чпу заменить и ничего не изменится и предупреждение о том чтобы oprminf не восстанавливали на другой машине которое фанук встроил даже в загрузчик это просто алармисткий текст и ничего не будет..... ну и ну и где написано что она mate как например здесь с чего тогда базовый чпу mate если гл.плата не mate мне непонятно из-за экрана что ли
    • статист
      Охренеть, ни за что бы не догадался. Хоть бы словом где обмолвились об этом в документации. Короче нужна команда EMODIF, E_ID, 3, N_ID где E_ID - номер элемента, который мы собираемся модифицировать. Так как используется BEAM188, то у него не два узла оказывается рассматривается, а три, где первые два принадлежат элементу, а третий узел - направляющий. И соответственно число 3 - это номер узла балки, который мы собираемся модифицировать, то есть направляющий узел. И мы этот узел соответственно заменяем на узел с номером N_ID. И тогда сечение реально вращается. Разобрался по этому видео.    
    • Александр1979
      Материнка такая в руководстве есть. На 0i-D я менял материнку, опции не слетели. 
    • gudstartup
      @Viktor2004 кстати конкретно модели автора в руководстве нет хотя оно последней редакции 18 года
    • Viktor2004
      конкретно на этой не менял. На каких менял, написал выше
    • gudstartup
      какие платы и на каких системах вот в чем ворос конкретно на этой возникут проблемы
    • Viktor2004
      ну да. А то что я менял платы это мои бредовые фантазии   Ну исправили в паспорте. И что?
    • gudstartup
      это догадки и гадание на кофейной гуще а япривожу документ где написано про то что прочитайте пункт 4.11 а там представляете вот что 4) Замена печатной платы может привести к изменению идентификационного номера ЧПУ. Проверьте это на Экран ЧПУ. Если оно отличается от описанного в техническом паспорте, исправьте его.  
    • Viktor2004
      я менял все платы. И на форуме наверное не я один их менял. И никто еще не писал что при этом у него слетел сертификат Возможно ID номера проверяются только в момент установки опции, а когда они уже установлены и мирно хранятся в OPRM INF возможно ти уже на ID наплевать
    • gudstartup
      для кого это написано CAUTION Before replacing a printed circuit board, be sure to read Section 4.11, “OPTION INFORMATION FILE” to confirm the procedure.  
×
×
  • Создать...