Page 34 - 4352
P. 34
write id1# using "G90G17G54XOYOZO"
write id1# using "%s", NL$ ' Завершення кадру - символ LF
write id1# using "N%d", n# ' Вивід номера поточного кадру
n#=n#+NSTEP# ' Збільшуємо лічильник кадрів
' Вивід номера інструменту
write id1# using "T%.3d", pass_cutter_no#
write id1# using "%s", NL$ ' Завершення кадру - символ LF
' Вивід інформації, пов'язаної з переміщенням інструмента
elseif command# = MOVE# then
write id1# using "N%d", n# ' Вивід номера поточного кадру
n# = n# + NSTEP# ' Збільшуємо лічильник кадрів
' якщо на аналізованому переміщенні змінився режим руху
' (тобто параметр primitive# аналізованої команди не
' дорівнює аналогічному параметру попередньої команди
' primitive_#) або включається режим корекції довжини,
'(тобто параметр Icomp аналізованої команди не дорівнює
' аналогічному параметру попередньої команди lcomp_#
' і поточне значення параметра lcomp не дорівнює LCOMP_OFF#)
' або аналізована команда є "підходом" до контуру
' із включенням корекції радіуса інструмента
if (primitive#<>primitive_#)
OR (lcomp<>lcomp_#) AND (lcomp<>LCOMP_OFF#) OR contour_to#
then
' Вивід відповідної G-функції лінійної або кругової
' інтерполяції :
if primitive#=LOCATE# then
write id1# using "G00"
elseif primitive#=LINE# then
write id1# using "G01"
elseif primitive# = ARC_CLW# then
write id1# using "G02"
elseif primitive# = ARC_CCLW# then
write idl# using "G03"
endif
' Для включення лівої корекції вивід G41 з коректором
' за адресою D:
if contour to 1# then
write id1# using "G41D%.2d", cutter_r_crtr#
‘
Інакше, для включення правої корекції вивід G42
' з коректором за адресою D:
elseif contour_to_r# then
write id1# using "G42D%.2d", cutter__r_crtr#
' Інакше, для включення корекції на довжину інструмента
' вивід G43 з коректором за адресою D:
elseif (lcomp<>lcomp_#) AND (lcomp<>LCOMP_OFF#) then
write id1# using "G43D%.2d", cutter_l_crtr#
endif
endif
' Для вимикання корекції на радіус інструмента (відхід)
33