Заглушка.ру

Кое-что о GPP

Назад

Содержание

Предисловие

Этот материал является вольным переводом английской справки по созданию постпроцессоров – система GPP Cimatron. Когда-то, еще в эпоху Cimatron IT я на скорую руку перевел данное руководство для собственных нужд. С тех пор прошло достаточно много времени, про Cimatron IT уже почти забыли, теперь царствует CimatronE и GPP2. Но постпроцессоры GPP еще используются. И вот разбирая старые записи был обнаружен этот документ. Я его чуть доработал и выкладываю здесь, может кому пригодиться.

Общее

Для того чтобы у вас в программе отображался необходимый постпроцессор, в вашей системе должны быть созданы три файла с одинаковым именем, но с разными расширениями: def, dex и exf. Имя файла будет отображаться в программе как название постпроцессора. Например: 2m43.def; 2m43.dex и 2m43.exf.

Файлы располагаются в папке [C:\Cimatron\CimatronE_100]\Program\IT\var\post. При назначении имен файлов лучше придерживаться формата: максимум 6 символов в латинской кодировке.

Доступные постпроцессоры

1.Файл с расширением def отвечает за описание форматов типов данных, основных параметров и ограничений станка, такие как символ разделителя дробной части, количество цифр целой/дробной части, коды для различных манипуляций и перемещений и пр.

2. Файл с расширением exf представляет из себя текстовый файл в котором программируется специальными командами вид выходного файла с кодами ЧПУ непосредственно для вашего станка.

3. Файл с расширением dex получается после компилирования файла exf.

Ниже рассмотрим более подробно работу с данными файлами.

1. DFPOST – Определение параметров постпроцессора.

(это мы будем работать с файлом с расширением def)

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

С Панели Управления из вкладки NC запустите утилиту Post Definition. В открывшемся окне отображаются имеющиеся у вас постпроцессоры (утилита может отобразить до 70 постпроцессоров). Подведите курсор (мышкой не получиться) к нужному вам постпроцессору и нажмите клавишу Enter. Нажатие клавиши Esc приведет к выходу из программы.

Выбор файла def

Далее вам необходимо пройтись по всем пунктам меню и установить необходимые параметры.

Примечание: Все переменные, которые имеют линейные единицы измерения, указываются в миллиметрах. Для преобразования в другие единицы измерения зайдите в раздел 2. PROGRAMMING MODE AND UNIT (Режим программирования и Ед.измерения) и в пункте 5 введите масштабный коэффициент для линейных единиц измерения.

Итак, ответы на вопросы…

Общие замечания: Величины в угловых скобках < > - это значения по умолчанию. Если имеется множественный выбор, то значения разделены запятыми, первое значение – значение по умолчанию. Если в угловых скобках нет значения, то значение не обязательно. Используя клавиши управления курсором вы можете перейти на другой вопрос не изменяя значения текущего. Клавиша TAB позволяет менять значение. В символьных пунктах могут использоваться кавычки " " для включения пробелов в код. У вас на экране отображаются текущие установленные значения.

1. TAPE INFORMATION (Информация о ленте)

Примечание: раньше программы выводились на так называемые перфоленты – это такая бумажная лента на которой каждый символ представлен комбинацией дырочек. В данном случае этот пункт можно трактовать с небольшой натяжкой как ограничение на длину программы.

Когда будет достигнуто максимальное количество блоков или достигнута максимальная длина ленты во время выполнения лента будет автоматически разрезана и появиться соответствующее сообщение. Лента не режется внутри строки.

1. Maximum no. of blocks in tape
Максимальное количество блоков на ленте

< >

2. Maximum tape length (in meters)
Максимальная длина ленты ( в метрах)

<60.0>

3. Subroutines in separate files
Подпрограммы в отдельные файлы

<YES,NO>

Вот пример деления длинной программы на файлы и соответствующего сообщения:

Длеление файлов

2. PROGRAMMING MODE AND UNIT (Режим программирования и Ед.измерения)

Пункты 1 – 4 только для справки, реально значения не имеют. Каждое линейное значение (X, Y, Z, I, J, K) умножается на масштабный коэффициент из пункта 5.

1. Programming mode
Режим программирования
При выборе BOTH появятся пункты 2 и 3

<ABSOLUTE,INCREMENTAL,BOTH>
<Абсолютный, приращение, оба>

2. Code for absolute coordinates
Код для абсолютных координат

<G90>

3. Code for incremental coordinates
Код для координат в приращениях

<G91>

4. Length unit of measurement
Единицы измерения длины

<METRIC,INCHES,BOTH>
<метрические,дюймы,оба>

5. Factor for length units
Масштабный коэффициент линейных значений

<1.0>

6. Tool Start Point
Начальная точка инструмента

<TP HOME, 1ST PROC HOME>
<Ноль траектории, ноль 1-й процедуры>

7. Coordinate orientation
Ориентация координат

<MACSYS, 1st PROC, CUR PROC>
<Основная, По 1-ой процедура, текущая процедура>

Примечание:
6. Начальная точка инструмента: если выбрано TP HOME, то в качестве начальной точки инструмента будет выбраны X_HOME, Y_HOME и Z_HOME. Если выбрано значение 1ST PROC HOME то координаты примут значения начальной точки процедуры.
7. Ориентация координат: если заданно 1st PROC то ориентация координат будет соответствовать ориентации координат в самой первой процедуре. Если заданно CUR PROC то ориентация координат будет такой же как TP LIST.

Пример ниже иллюстрирует ввод масштабного коэффициента равного 0,1. Оригинальный способ масштабирования траектории…

Масштабный коэффициент

3. FORMATS (Форматы типов переменных)

Имеется 18 типов переменных. Каждый тип имеет формат включающий 12 параметров по умолчанию. Если значение параметра подразумевает ответ YES (ДА) или NO (НЕТ), то 0- это NO (НЕТ), а 1 – это YES (ДА). Тильда (~) представляет собой любой символ кроме пробела. Пробел (пустое значение) указывает на то, что никакой символ или значение не будет вставляться в заданную позицию.

Примечание: По техническим причинам (чей косяк теперь никто не узнает) перепутаны значения форматов 11 и 12, то есть 11-я позиция соответствует формату 12, а 12-ая позиция – формату 11.

Существует также Символьный тип переменных. Он может назначаться вместо указанных здесь типов. Он не определяется в DFPOST, т.к. он имеет модальный статус по умолчанию (проще говоря, он не нуждается в специальном определении). Переменная символьного типа может содержать до 20 символов.

User_1 и User_10 – определяемый пользователем формат типа.

1. Coordinates

<430000~-.101>

2. Angles

<430000~-.101>

3. Feed

<5 1001~~ 101>

4. Spindle_speed

<5 1001~~.101>

5. Dwell

<430000~~.101>

6. Sequencing

<5 1001~~ 101>

7. Tool

<4 0000~~.001>

8. User_1

<430000~-.001>

9. User_2

<430000~-.101>

10. User_3

<430000~-.101>

11. User_4

<430000~-.101>

12. User_5

<430000~-.101>

13. User_6

<430000~-.101>

14. User_7

<430000~-.101>

15. User_8

<430000~-.101>

16. User_9

<430000~-.101>

17. User_10

<430000~-.101>

18. Real

<355511~-.100>

Позже при программировании в файле EXF вы можете создавать переменные с определенным здесь типом.

3.1 Format Options (Параметры формата)

1. Max. digits for integer part
Макс. число цифр для целой части

<4>

2. Max. digits for fractional part
Макс. число цифр для дробной части

<3>

3. Min. digits for integer part
Миним. число цифр для целой части

<0>

4. Min. digits for fractional part
Миним. число цифр для дробной части

<0>

5. Leading zeroes
Ведущие нули

<NO,YES>

6. Trailing zeroes
Конечные нули

<NO,YES>

7. Character for the + sign
Символ для знака +

< >

8. Character for the - sign
Символ для знака -

<->

9. Character for decimal point
Символ для знака десятичной дроби

<.>

10. Use decimal pt. for whole numbers?
Использовать десятичный знак для целого числа

<YES,NO>

11. Representation of value 0
Представлять 0 как

<0>

12. Modal value ?
Модальное значение?

<YES,NO>

Примечание:

Максимальное число цифр для целой и для дробной части должно быть меньше или равно 9. Для формата типа Real (18 тип) максимальное количество цифр для целой и дробной части равно 14 и минимальное количество цифр целой и дробной части равно 1 и эти настройки неизменны, т.е. данные параметры установленные здесь для типа Real значения не имеют. Но все другие параметры имеют значения и для типа Real.
Рекомендуется определить формат типа REAL так: ….,YES,YES,_,.,YES,0.0,NO

Максимальное количество цифр:
целая часть – при превышении максимума число не создается и выдаст сообщение об ошибке;
дробная часть – число цифр после десятичной точки.

Минимальное количество цифр:
Все места в которых нет цифр ( не '0') заполняются пробелами.

Ведущие/конечные нули:
Если параметр установлен на YES то взамен упомянутых выше пробелов будут записаны нули;

Формат типа

Хотя возможно определить переменную с 18 цифрами, только первые 14 ненулевые цифры значимы. Пример: Число 012345678.123456789 будет представлено как 12345678.123457.

Числа INTEGER должны быть определены с установкой YES для конечных нулей.

Что значит переменная Модальная/Немодальная объясняется здесь.

Ниже приведен пример определения переменных в файле EXF с предопределенными типами:

Определение переменных

4. POSITIONING CODES (Код позиционирования)

1. Code for A axis

<A>

2. Code for B axis

<B>

3. Code for C axis

<C>

Пункт не используется в текущих версия. Поэтому не рассматриваем его.

5. MESSAGES AND INSERTS (Сообщения)

1. Max no. of messages
Максим. количество сообщений

< >

2. Max no. of characters in messages
Макс. количество символов в сообщении

<75>

6. MACHINE PARAMETERS (Параметры станка)

Тут все понятно и без пояснений.

1. Code for clockwise spin
Код вращения шпинделя по часовой стрелке

<M3>

2. Code for counterclockwise spin
Код вращения шпинделя против часовой стрелке

<M4>

3. Code for spin stop
Код останова шпинделя

<M5>

4. Code for flood on
Код для включения СОЖ

<M7>

5. Code for mist on
Код для включения тумана

<M8>

6. Code for air on
Код для включения воздуха

<M10>

7. Code for through on
Код включение СОЖ через шпиндель

<M11>

8. Code for coolant off
Код выключения СОЖ

<M9>

9. Cutter compensation off
Компенсация инструмента выключена

<G40>

10. Cutter compensation left
Компенсация инструмента слева

<G41>

11. Cutter compensation right
Компенсация инструмента справа

<G42>

7. LINEAR MOTION (Линейные перемещения)

При достижении максимальных значений заданных в пунктах 3-6 будет выдано предупреждение, но обработка не будет прервана. Пункты 7-10 используются для расчета предполагаемого времени обработки в минутах в файлах отчета.

1. Code for rapid motion (FAST)
Код для ускоренного перемещения

<G0>

2. Code for cutting/feed motion
Код для движения резания/подачи

<G1>

3. Maximum length of movement
Максимальная длина перемещения

< >

4. Maximum X dimension for part
Максимальный размер детали по Х

<10000.0>

5. Maximum Y dimension for part
Максимальный размер детали по Y

<500.0>

6. Maximum Z dimension for part
Максимальный размер детали по Z

<500.0>

7. Machine speed for rapid motion in X (mm/m)
Скорость для ускоренного перемещения по X

<8000.0>

8. Machine speed for rapid motion in Y (mm/m)
Скорость для ускоренного перемещения по Y

<8000.0>

9. Machine speed for rapid motion in Z (mm/m)
Скорость для ускоренного перемещения по Z

<5000.0>

10. Machine speed for table positioning (rpm)
Скорость для табличного позиционирования

<11.0>

11. User speed for rapid motion (MAX FEED)
Задать скорость ускоренных перемещений

<YES,NO>

12. User speed for rapid motion (MAX FEED)
Значение скорости ускоренных перемещений

<15000.0>

Примечание: Если в 11 пункте установлено значение YES, то:
1. в постпроцессоре преобразуются все ускоренные перемещения (G0) в перемещения с подачей (G1);
2. в появившемся пункте 12 вы можете задать значение скорости ускоренных перемещений (MAX FEED) устраивающей именно вас.

8. CIRCULAR MOTION (Круговые перемещения)

Если в пункте 3 установлено значение YES (ДА), то дуга делится на меньшие дуги, которые не пересекают границы квадранта (например, окружность разобьется на 4 дуги).

1. Code for clockwise motion is
Код для движения по часовой стрелке

<G02>

2. Code for counterclockwise is
Код для движения против часовой стрелке

<G03>

3. Angles limited to quadrant?
Ограничивать углы квадрантом

<YES,NO>

4. Tolerance for linear approximation is
Допуск для линейной аппроксимации

<0.1>

5. Min. segments for linear approximation is
Миним. сегментов для линейной аппроксимации

<4>

9. NURBS MOTION (Перемещения NURBS)

1. Code for nurbs motion
Код для перемещения nurbs

<G6.2>

2. Knot normal factor
Коэф.нормали узла

<YES,NO>

3. Knot normal factor is
Значение коэф.нормали узла

<10000>

4. Linear approximation
Линейная аппроксимация

<YES,NO>

5. Tolerance for linear approximation
Допуск для линейной аппроксимации

<0.01>

Примечание: если желаемый диапазон узлов лежит между 0 и 8, Коэф.нормали узлов: YES, значение коэф.:8000.

Если вы желаете получить вывод программы в линейных перемещениях, то установите Линейную аппроксимацию на YES и задайте допуск аппроксимации.

10. CANNED CYCLES (Предопределенные циклы)

В данном разделе вы можете задать код для специальных циклов предопределенных в вашей стойке ЧПУ на станке.

1. Code for high speed peck

<G73>

2. Code for left hand tapping

<G74>

3. Code for fine boring

<G76>

4. Code for spot drill

<G81>

5. Code for counter boring

<G82>

6. Code for deep hole peck

<G83>

7. Code for tapping

<G84>

8. Code for boring

<G85>

9. Code for boring + spindle stop

<G86>

10. Code for back boring

<G87>

11. Code for boring + dwell + manual out

<G88>>

12. Code for boring + dwell + feed

<G89>

13. Code for retract to initial point

<G98>>

14. Code for retract to clearance

<G99>

11. OUTPUT FILES (Выводимые файлы)

Здесь вы можете задать, какие еще дополнительные файлы кроме файла с кодами ЧПУ будут создаваться системой.

1. Tools file
Файл инструментов

<YES,NO>

2. Origins file
Файл начальных точек

<YES,NO>

3. Messages file
Файл сообщений

<YES,NO>

4. Cycles file
Файл циклов

<YES,NO>

5. PRINT1 file extension
Расширение файла PRINT1

<pr1>

6. PRINT2 file extension

<pr2>

7. PRINT3 file extension

<pr3>

8. PRINT4 file extension

<pr4>

9. PRINT5 file extension

<pr5>

10. PRINT6 file extension

<pr6>

11. PRINT7 file extension

<pr7>

12. PRINT8 file extension

<pr8>

13. PRINT9 file extension

<pr9>>

14. PRINT10 file extension

<pr10>

15. Run script file after Post?
Запускать скрипт после выполнения постпроцессора

<NO/YES>

Примечание: Если параметр ‘Messages file’ установлен на NO, то команда "PRINT” в файле EXF будет выдавать сообщения на экран, и файл сообщений создан не будет.Если в качестве расширения файлов PRINT1…10 вместо pr1…10 заданны пробелы то доп. файлы создаваться не будут даже при использовании команды PRINT1…10 в файле EXF.

12. POSTPR/EXTPST INTERFACE (Интерфейс POSTPR/EXTPST)

1. Ask for machine zero?
Запрос Машиного нуля

<NO/MACSYS/1st ORIGIN>

2. Ask for UCS order?
Список СКП выводить?

<NO/YES>

3. Ask to save a session?
Запрос на сохранение сессии

<NO/YES>

4. Ask to send files to screen?
Выводить файлы на экран?

<NO/YES>

Пункты 3 и 4 в CimatronE значения не имеют.

Это вид окна при ‘Ask for machine zero?’ заданное как ‘NO’:

Без параметров

Это вид окна при ‘Ask for machine zero?’ заданное как ‘MACSYS’:

Дополнительные параметры

Это вид окна при ‘Ask for machine zero?’ заданное как ‘1st ORIGIN’

Дополнительные параметры

Это вид окна при ‘Ask for machine zero?’ заданное как ‘MACSYS’ и ' Ask for UCS order?’ установленным на YES.

Список СКП

После установки всех параметров нажмите ESC, на открывшейся странице установите параметр ‘Replace it?’ на значение YES и нажмите сочетание клавиш Ctrl+z для сохранения изменений и затем нажмите клавишу Enter для закрытия утилиты.

Сохранение изменений

2. POST - Программный файл постпроцессора

(теперь мы будем работать с файлом с расширением exf)

В данном файле программируется с помощью спец.языка, тот вид файла с кодами ЧПУ который нам необходим. Кроме того, вы можете вызвать до 50 внешних программ. Данный файл представляет собой текстовый файл с расширением exf. Вы можете создать файл с нуля или скопировать и переименовать имеющийся. Имя файла должно состоять не больше чем из шести латинских символов или цифр. Имя файла должно совпадать с именем файла с расширением def. Редактирование файла производиться простым текстовым редактором (не надо использовать редакторы типа Microsoft Word и ему подобные, используйте Блокнот).

После редактирования POST файла его надо откомпилировать (при корректном файле с расширением def). Для этого вызовите утилиту GPP и на запрос введите имя файла без расширения. Если компиляция пройдет нормально окошко примет вид:

Компиляция

Если в тексте файла обнаружатся ошибки, то выдастся соответствующее сообщение:

Компиляция

Надо будет исправить ошибки и повторить процедуру.

По корректному завершению в директории постпроцессоров должен появиться третий файл с нашим именем, но с расширением dex. Теперь все готово к созданию программ для станков ЧПУ.

Теперь более подробно рассмотрим структуру POST файла…

Первый раздел файла содержит определение различных переменных и их типов. Помните, мы определяли форматы типов на этапе создания DFPOST файла (файл с расширением def). В общем, надо определить все используемые переменные в самом начале файла, до его основной части.

Основная часть (тело) файла состоит из блоков, содержащих выполняемые утверждения (команды). Эти блоки отвечают за формирование строк траектории инструмента в конечном файле. Вы можете самостоятельно задать выполняемые утверждения (команды) в любом блоке и тем самым получать файл с кодами в том виде, который вас устроит. Это позволяет использовать постпроцессирование не только для создания кодов ЧПУ, но и для других специфичных целей.

Вы можете использовать строки с комментариями в POST файле, для облегчения понимания своих действий в будущем. Строки комментария отделяется символом * (звездочка) и они игнорируются при компиляции.

Пример типичной структуры файла приведен ниже:

Структура файла

Имена, порядок появления в файле и основная структура блоков установлена в системе Cimaton NC. Приведем список системных блоков (по алфавиту):

Блок Описание

AXIS CHANGE:

Команды выполняться если изменилось количество осей обработки.

Пример: Первая процедура Ruled_5X, а вторая PROFILE_2D.

BEGINNING OF PROC:

Команды выполняться в начале каждой процедуры.

BEGINNING OF SUB:

Команды выполняться в начале каждой подпрограммы.
(только для фрезерования)

BEGINNING OF TAPE:

Команды выполняться в начале каждой ленты или файла с кодами ЧПУ.
Например: имя программы, дата и пр.

BEGINNING OF TLPATH:

Команды выполняться в начале каждой траектории инструмента

CIRCULAR MOTION:

Команды будут выполняться во время движения инструмента по радиусу.

CONSTANT SPEED:

Команды будут выполняться во время движения инструмента по радиусу, только для токарного станка.

COOLANT:

Команды будут выполняться, если изменились параметры охлаждения.

CUTTER COMPENSATION:

Команды выполняться при изменении компенсации инструмента.

CYCLE:

Команды будут выполняться если встретились циклы сверления.
(только для фрезерования)

Примечание: Переменные цикла Сверления, которые не были определены используя опцию DRILL CYCLES в процедуре DRILL (Сверление) в CimatronE NC, не будут установлены (определены).

DWELL:

Команды выполняться при изменении задержки.
Что за задержка, какая такая задержка… Я не знаю.))

END OF FILE:

Команды выполняться в конце файла с программой.

END OF PROC:

Команды выполняться в конце каждой процедуры.

END OF SUB:

Команды выполняться в конце каждой подпрограммы
(только для фрезерования)

END OF TAPE:

Команды выполняться в конце ленты.

END OF TOOL PATH:

Команды выполняться в конце каждой траектории инструмента.

FEED:

Команды выполняться при изменении подачи.

GROOVE CYCLE:

Команды выполняться при цикле канавки
(только токарная обработка).

INSERT WITH(SEQUENCING):
INSERT WITHOUT(SEQUENCING):

Как ни пытался понять, что это значит, но так и не понял.
Statements to OUTPUT or KEEP strings which were inserted in the toolpath and other actions to perform when they are encountered.

LINEAR MOTION:

Команды будут выполняться во время линейного движения инструмента.

MESSAGE:

Команды будут выполняться при встрече сообщения в траектории.

NIBBLE:

Команды будут выполняться при встрече сообщения в траектории, но если это сообщение не о смене инструмента.
Только для пробивного пресса.

NURBS MOTION:

Команды будут выполняться во время nurbs (сплайнового) движения инструмента.

ORIGIN CHANGE:

Команды будут выполняться при смене начала.

SPIN:

Команды будут выполняться при изменении скорости или направления вращения шпинделя.

START STRING:*

Команды будут выполняться перед началом строки с линейным перемещением.

START THREAD:

Команды будут выполняться перед началом нарезания резьбы.
Только для токарной обработки.

STOP POINTS:

Команды будут выполняться в STOP POINT (Точке останова).
Только для проволочной электроэрозии.

SUBROUTINE CALL:

Команды будут выполняться при вызове подпрограммы
(только для фрезерной обработки).

SUBROUTINE RETURN:

Команды будут выполняться при возврате в основную программы из подпрограммы.

THREAD CANNED CYCLE:

Команды будут выполняться во время цикла нарезки резьбы
(только для токарной обработки).

THREAD CYCLE:

Команды будут выполняться во время простого цикла нарезки резьбы
(только для токарной обработки).

THREAD STEP:

Также как выше, только для токарного станка.

TOOL CHANGE:

Команды будут выполняться при смене инструмента.

TOOL CHANGE MESSAGE:

При смене инструмента система сгенерирует сообщение о смене инструмента и/или определенное пользователем сообщение, и оно будет выведено командой OUTPUT.

TRANSFORMATION:

Перемещения из данного блока будут вызваны при новых трансформациях.

WIRE:

Команды будут выполняться в проволочной резке, когда заправлена проволока.
Только проволочная электроэрозия.

Z SURFACE:

Команды будут выполняться при изменении уровня сверления
(только для фрезерования/сверления).

Кроме указанных блоков вы можете определить собственные блоки, так называемые ‘Блоки определенные пользователем’. Они описываются ниже.

По мере чтения строк из Траектории инструмента становиться доступным соответствующий блок. Команды в этом блоке выполняются используя данные траектории инструмента, для получения значений системных переменных и переменных определенных пользователем.

Логику процесса можно попробовать понять распечатав программный файл постпроцессора exf и файл траектории инструмента (TP_LIST) и сопоставив их.

Файл TP_LIST создается командой Утилиты ЧПУ -> Список Тр. Созданный файл распологается по умолчанию в папке [C:\Cimatron\CimatronE_100]\Data\NcLogFiles

Спиок Траекторий
Спиок Траекторий

В примере, приведенном ниже, TOOL CHANGE является именем блока. Следующие две строки – это тело блока, которое может быть изменено вами. Команды OUTPUT и SET_ON будут объяснены позже.

Пример: TOOL CHANGE:

OUTPUT ! "T" CURR_TOOL "M66";

SET_ON ALL_VAR;

Полный список системных блоков и переменных, связанных с каждым блоком можно посмотреть здесь.

2.1 Синтаксические правила Блока.

Имена блоков служат разделителями между различными командами. В строке записывается только имя блока, при условии что не используются классификаторы и сразу за именем должен следовать символ : (двоеточие). Программа не чувствительна к регистру написания имен. Хотя позиция строк следующих за именем блока не влияет на выполнение программы, рекомендуется делать отступы для удобочитаемости текста

2.2 Классификаторы

Классификаторы позволяют уточнить критерий выполнения команд в блоке. Например в приведенном ниже примере команда ‘Keep Cutcom_off;’ в блоке ‘Cutter Compensation:’ будет выполнена только если компенсация Выкл.(Off) на момент выполнения блока.

Пример: Cutter Compensation: Coff:

Keep Cutcom_off;

Одноименные блоки с различными классификаторами могут использоваться в программе свободно. Классификатор должен стоять в той же строке что и имя блока, после имени блока и заканчиваться двоеточием.

Доступные классификаторы приведены ниже:

Блок Классификатор Условие выполнения

BEGINNING OF TAPE:

aftercut:

Лента была слишком длинная и была разрезана. Срабатывает перед началом нового сегмента ленты, но не перед началом первого сегмента.

CIRCULAR MOTION:

tangretr:

Касательный отход при круговом движении

ctangappr:

Касательный подход при круговом движении

CUTTER COMPENSATION:

coff:

Компенсация инструмента выключена

CYCLE:

off:

Цикл сверления выключен

on:

Цикл сверления включен с отходом в пл.безопасности

toinit:

Цикл сверления включен с отходом в начальную плоск.

END OF TAPE:

beforecut:

Лента была слишком длинная и была разрезана. Срабатывает после конца сегмента ленты, но не в последнем сегменте.

LINEAR MOTION:

3d:

Линейное перемещение параллельно оси Z

fast3d:

Линейное перемещение параллельно оси Z на максимальной скорости

fast:

Линейное перемещение на максимальной скорости

fastfull3d:

Линейное перемещение на максимальной скорости, которое затрагивает координаты X, Y и Z.

full3d:

Линейное перемещение, которое затрагивает координаты X, Y и Z.

nibbling:

Линейное перемещение при NIBBLING установленном на 'on' (это для Вырубки)

normappr:

Линейное движение - Подход к контуру по нормали

normretr:

Линейное движение - Отход от контура по нормали

tangappr:

Линейное движение - движение перед касательным подходом к контуру.

ltangretr:

Линейное движение - движение после касательного подхода к контуру.

NURBS MOTION:

3d:

Линейное перемещение параллельно оси Z

fast3d:

Линейное перемещение параллельно оси Z на максимальной скорости

THREAD CANNED CYCLE:

finish:

Выполняются финишная обработка

spring:

Выполняются спиральные движения инструмента

TOOL CHANGE:

first:

Первая смена инструмента

last:

Последняя смена инструмента

WIRE:

no:

Перемещения при отрезанной проволоки (Только для проволочной электроэрозии)

Z SURFACE:

lower:

Изменение в Z к более низкому уровню (только для перемещений сверления)

Команды в блоке с классификатором будут выполнены, если будет выполнено условие, накладываемое данным классификатором. Чтобы гарантировать выполнение команд блока, даже в случае если ни одно из условий классификатора не встречено, рекомендуем включать в программу тот же блок, но без классификатора, как в примере приведенном ниже. Команда KEEP объясняется здесь.

Пример: CUTTER COMPENSATION: Coff:

KEEP Cutcom_off;
CUTTER COMPENSATION:

KEEP Cutcom_on;

2.3 Блоки определяемые пользователем

Вы можете создать собственные блоки. Имя блока должно присваиваться используя правила синтаксиса системных блоков (имя должно располагаться на отдельной строке и заканчиваться двоеточием). Затем при выполнении постпроцессора, если в траектории встретиться имя данного блока, то выполняться команды заданные в блоке. Имя блока можно вставить в траекторию посредствам вставки сообщения.

Пример: MyBlock:

OUTPUT "Example of output" ;

Признаться у меня не получилось заставить заработать блоки, определенные пользователем.

Часть 2

Часть 3

 

Назад

  FDB © Великий Новгород 2010. Все права защищены. fdbir@yandex.ru



Hosted by uCoz