Strona 1 z 1

Post Builder

: 05 maja 2015, 12:34
autor: jarekjarek
Podczas gwintowania sztywnego post builder generuje mi następujący kod:
N0080 T16 M06
N0090 G00 G90 G55 X28.099 Y20.833 M03 S1000
N0100 G43 Z3. H16 M08
N0110 M29 S1000
N0120 G98 G84 Z-11. R3. F3200.

Wszystko jest ok, tylko chcę z linijki N0090 pozbyć się parametru S, macie jakiś pomysł?

Fanuc io-md.

: 05 maja 2015, 16:24
autor: lukaszcam
Konieczna jest edycja postprocesora

: 06 maja 2015, 09:14
autor: jarekjarek
Nie opisałem mojego problemu dokładnie.
Wiem że trzeba edytować
tak wygląda funkcja w post builder:
funkcja Rapid move i fukncja rapid traverse która mnie najbardziej interesuje
http://zapodaj.net/5592a8974cf7c.jpg.html
Obrazek

Funkcja Tap

http://zapodaj.net/60b0f9c76eb4a.jpg.html

Funkcja w pliku .def

Kod: Zaznacz cały

 BLOCK_TEMPLATE rapid_traverse 
  {
       G_motion[$mom_sys_rapid_code]
       G_mode[$mom_sys_output_code($mom_output_mode)]\opt
       G[55]
       X[$mom_pos(0)]
       Y[$mom_pos(1)]
       Z[$mom_pos(2)]
       M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt
       S[$mom_spindle_speed]\opt
  }

Dokładnie chcę żeby parametr S w tej funkcji nie był wywoływany gdy jest wywołana funkcja

Kod: Zaznacz cały

BLOCK_TEMPLATE cycle_tap 
  {
       G_return[$mom_sys_cycle_ret_code($mom_cycle_retract_mode)]
       G_motion[$mom_sys_cycle_tap_code]
       X[$mom_cycle_feed_to_pos(0)]
       Y[$mom_cycle_feed_to_pos(1)]
       Z[$mom_cycle_feed_to_pos(2)]
       R[$mom_cycle_rapid_to_pos($mom_cycle_spindle_axis)]
       F[$mom_tool_pitch*$mom_spindle_speed]
  }
myślałem żeby w funkcji rapid_travers wstawić funkcję
if [] {} (nie wiem czy struktura jest dobra)
nie wiem czy dobrze myślę, ale gdy zmienna $mom_operation_type ma wartość "Point to Point"
tylko nie wiem czy jest taka możliwośc wstawienia funkcji warunkowej, bądź stworzyć dwa BLOCK_TEMPLATE i zapomocą funkcji warunkowej wywołaś jeden bądź drugi blok.

: 06 maja 2015, 18:46
autor: lukaszcam
Oczywiście, że można używać instrukcji warunkowej if.
Można np. zapisać warunek że gdy jest to operacja gwintowania to post nie wyrzuci kodu M03 S1000. Nie ma potrzeby robić tego na blokach.

: 06 maja 2015, 20:22
autor: jarekjarek
próbowałem tak:

Kod: Zaznacz cały

BLOCK_TEMPLATE rapid_traverse 
  { 
       G_motion[$mom_sys_rapid_code] 
       G_mode[$mom_sys_output_code($mom_output_mode)]\opt 
       G[55] 
       X[$mom_pos(0)] 
       Y[$mom_pos(1)] 
       Z[$mom_pos(2)] 
       M_spindle[$mom_sys_spindle_direction_code($mom_spindle_direction)]\opt 
       if [$mom_operation_type == "Point to Point"]{S[$mom_spindle_speed]\opt }
  } 
przy takiej konstrukcji otrzymywałem błąd, niestety nie mogę teraz pokazać jaki jest błąd, ale jak to pomoże to jutro jak będę w pracy to go przedstawię, może złą konstrukcję wywołuję ktoś może coś takiego robił?