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

Q-параметры в Hh iTNC 530


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

Доброго всем вечера!

Прошу помощи
Необходимо переделать программу с R-параметрами Sinumerik 840D на Q-параметры Heidenhain iTNC530
Параметрически в Heidenhain никогда не программировал.
Заранее спасибо.

 

N5 DEF REAL xn1, xn2, zn1, zn2, testugol, dx12, dz12, naklon, ro
N10 DEF REAL tet, xcentr, zcentr, dxc0, dzc0, rvektor, naklonold
N15  DEF REAL naklonnew, xold, xnew, arazv, zold, znew, xkorr, zkorr
N20 DEF REAL AEND, ASTEP, R_INSTR
;podprogramma opredelyaet fakti4eskiy centr vrasheniya detali stolom
;i ras4itivaet koordinatu proizvolnoy to4ki posle razvorota na izvestniy ugol
;-----------------------------------------------
N25 G17 G90 G64 G94
N30 G511
N145 UST2:
;PEREUSTANOVIT DETAL
;N145 T1 D1   ;FREZA D42 R6
;N150 M6
N150 S=2000 F400 M3 CFC
N155 G0 Z100
N160 R_INSTR=25
;-----------------------------------------------------
;parametry cycla poiska osi razvorota
N165 xn1=-301.318+85 ;nalado4naya to4ka #1
N170 zn1=-289.308-60
N175 xn2=96.912+85  ;nalado4naya to4ka #2
N180 zn2=-336.898-60
N185 testugol=20   ;nalado4niy ugol protiv 4asovoy strelki
;-----------------------------------------------------
N190 zn1=-zn1
N195 zn2=-zn2
N200 dx12=xn2-xn1
N205 dz12=zn2-zn1
N210 naklon=atan2(dz12/dx12,1)
N215 ro=ABS(sqrt(dx12*dx12+dz12*dz12)/2/sin(testugol/2))
N220 tet=naklon+90-testugol/2
N225 xcentr=xn1+ro*cos(tet)
N230 zcentr=zn1+ro*sin(tet)
N235 MSG ("Xc= "<<XCENTR<<"    Zc=- "<<ZCENTR)
N240 M0
N250 G64
N255 xold=0
N260 zold=0
N265 arazv=30

N270 Ptr:
N275 zold=-zold
N280 dxc0=xold-xcentr
N285 dzc0=zcentr-zold
N290 rvektor=sqrt(dxc0*dxc0+dzc0*dzc0)
N295 naklonold=atan2(dxc0/dzc0,1)
N300 naklonnew=naklonold+arazv
N305 xnew=rvektor*SIN(naklonnew)+xcentr
N310 znew=-rvektor*COS(naklonnew)+zcentr
N315 ZNEW=-ZNEW
N320 EPTR:
N325 MSG ("Xnew= "<<xnew<<"    Znew= "<<Znew)
N330 M0
N335 G0 Y=R_INSTR-15
N340 PROHOD:
N345 ARAZV=30
N350     repeat ptr eptr
N355   G0 V400
N360   G0 B=-ARAZV X=XNEW+70+R_INSTR
N365   G0 Z=ZNEW-120 V0
N370   G1 X=XNEW F400
N375   AEND=arazv-67.5
N380   ASTEP=0.05
N385   while arazv>AEND
N390     arazv=arazv-astep
N395     if arazv<AEND
N400       arazv=AEND
N405     endif
N410     G93 ;poda4a v sekundax
N415     repeat ptr eptr
N420     MSG ("B="<<ARAZV<<"  Xnew= "<<xnew<<"    Znew= "<<Znew)
N425     G1 B=-arazv x=xnew z=znew-120 F=30000
N430   endwhile
N435   G94
N440   G1 X=XNEW-95 F1000
N445  G0 V400
N450 ENDPROHOD:
N455 G0 Y=R_INSTR-5
N460 REPEAT PROHOD ENDPROHOD

N465 G0 Y=R_INSTR-10
N470 REPEAT PROHOD ENDPROHOD
N475 G0 Y=R_INSTR-15
N480 REPEAT PROHOD ENDPROHOD
N485 G0 Y=R_INSTR-20
N490 REPEAT PROHOD ENDPROHOD
N495 G0 Y=R_INSTR-25
N500 REPEAT PROHOD ENDPROHOD
N505 G0 Y=R_INSTR-30
N510 REPEAT PROHOD ENDPROHOD
N515 G0 Y=R_INSTR-35
N520 REPEAT PROHOD ENDPROHOD
N525 G0 Y=R_INSTR-40
N530 REPEAT PROHOD ENDPROHOD
N535 M30

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


Тебе повезло - все переменные типа REAL. Делай аналогичные в Hh Q1, Q2 и т.д. Даже свое сообщение MSG сможешь вывести на экран оператору. 

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

Не так всё прсото .  Отработка, вызов повторов разные, переходы - разные. Соответственно структура прграммы изменится. Для начала надо просто посмотреть, есть ли на ХХ цикл 19.

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

Все так и делал Подставлял вместо переменных Real параметры Q1  Q2 и т.д. Но застрял на строке  N385
N385   while arazv>AEND
N390     arazv=arazv-astep
N395     if arazv<AEND
N400       arazv=AEND
N405     endif
N410     G93 ;poda4a v sekundax
N415     repeat ptr eptr
N420     MSG ("B="<<ARAZV<<"  Xnew= "<<xnew<<"    Znew= "<<Znew)
N425     G1 B=-arazv x=xnew z=znew-120 F=30000
N430   endwhile

 

Как реализовать структуру WHILE-IF-ENDIF-ENDWHILE незнаю      Ну IF остается, вместо ENDIF  -GOTO       repeat ptr eptr - CALL LBL  А вот что ставить вместо WHILE незнаю   Строка N295 naklonold=atan2(dxc0/dzc0,1)   - как будет выглядеть в HH, где выбирается первая четверть dzc0,1

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

lbl penkolikavalandu

Qar=Qar-Qast

if Qar > Qaend goto penkolikavalandu (это всё вводится по шаблонам через кнопочки)

ar=aend

......

при CALL LBL.... он будет отрабатывать до LBL0, так что вместо eptr надо поставить LBL0

Q300(naklold)=atan(Qdxc/Qdzc)   (нажать на Q, выбрать "формула", выбирать кнопочки из линеек внизу)

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

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

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

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

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

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

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

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

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

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

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

×
×
  • Создать...