Page 30 - 4352
P. 30
' Залежно від виду аналізованої команди тобто значення
' параметра command# описуємо дії постпроцесора по
' формуванню керуючої програми:
if command#=HEADER# then ' Вивід інформації на початку
програми,
write id1# using "%%%s”, NL$ ' Вивід заголовка знак %
n#=NSTART# ‘ Лічильник кадрів установлюється в 1
elseif command#=END# then ' Вивід інформації наприкінці
' програми.
write id1# using "N%d", n# ' Вивід номера поточного кадру
n#=n#+NSTEP# ' Збільшуємо лічильник кадрів
write id1# using "МО 2" ' Вивід функції МО 2
write id1# using "%s", NL$ ' Завершення кадру - символ LF
elseif command#=LOAD_TOOL# then ' Вивід інформації,
зв'язаної зі зміною інструмента
write id1# using "N%d", n# ' Вивід номера поточного кадру
n#=n#+NSTEP# ' Збільшуємо лічильник кадрів
' Вивід номера інструмента й M06
write id1# using "T%.3d06", cutter_no#
write idl# using "%s", NL$ ' Завершення кадру - символ LF
elseif command#=MOVE# then ' Вивід інформації пов'язаної з
' переміщенням інструмента
write id1# using "N%d", n# ' Вивід номера поточного кадру
n#=n#+NSTEP# ' Збільшуємо лічильник кадрів
' якщо на аналізованому переміщенні змінився режим руху
' (тобто параметр primitive# аналізованої команди не
' дорівнює аналогічному параметру попередньої команди
' primitive_#) :
if primitive#<>primitive_# 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 id1# using "G03"
endif
endif
' Якщо аналізована команда є "підходом" до контуру із
' включенням лівої корекції радіуса інструмента, вивести
' функцію G41 з коректором за адресою D:
if contour_to_l# then
write id1# using "G41D%.2d", cutter_r_crtr#
' Інакше, якщо аналізована команда є "підходом" до контуру
29