Что такое параметрическое программирование?

Predator
5-й разряд
Сообщения: 5933
Зарегистрирован: 30 авг 2014, 19:14
Репутация: 4135
Страна: СССР
 

  »

Что такое параметрическое программирование?



Параметрическое программирование


Параметрическое программирование (оно же — макропрограммирование) в обрабатывающих системах числового программного управления (СЧПУ) технологическим оборудованием — это, подход к повышению уровня программирования, реализуемый созданием специализированных языков или расширений к существующим средствам программирования.

Исторически первый язык программирования станков с ЧПУ — G-код по своей сути является языком описания циклограмм движения обрабатывающего инструмента, включения/выключения шпинделя, подачи смазочно-охлаждающей жидкости (СОЖ) и прочих действий и не имеет средств для текущей проверки состояния процесса обработки. Например, при поломке режущего инструмента либо отсутствии подачи СОЖ в зону резания, циклограмма, описанная G-кодом, будет безполезно продолжаться или исполняться опасно для оборудования до вмешательства оператора или окончания управляющей программы. Для устранения этого существенного недостатка G-кода и были разработаны языки параметрического программирования (макропрограммирования).

Эти языки имеют много общего с обычными высокоуровневыми языками программирования, такими например, как Бейсик (Basic), Фортран (Fortran), Си (C). Основное преимущество по сравнению с G-кодом — наличие команд/операторов условного и безусловного переходов. Это расширение позволяет изменять ход обработки при изменении состояния процесса, например, останавливать обработку с подачей аварийного сигнала при срабатывании датчика износа либо поломки режущего инструмента.

Дополнительное преимущество параметрического программирования для станков с ЧПУ — это, возможность организации сложных вычислений координат инструмента и его перемещений для обработки криволинейных поверхностей в виде 3D-сплайнов или поверхностей Безье, заданных математическими формулами.

Особенности параметрического программирования


Производители систем числового программного управления используют параметрическое программирование в качестве расширения для стандартного G-кода. Его можно сравнить с компьютерными языками программирования, такими, как например, Бейсик (Basic), но он может быть доступен на уровне G-функций (кодов). В отличие от обычного ЧПУ-программирования, в параметрическом программировании расширяются возможности, сравнимые с объектно- ориентированными. Используя его в системах управления ЧПУ, становятся возможными: вариантность вычислений, применение логических операторов, работа с проходами инструмента, движениями манипуляторов, возможностью организации простых, вложенных и условных циклов, выбор по-условию, переходы и ветвления в программе, работа с подпрограммами, добавляются элементы, осуществляющие полный контроль над системой ЧПУ, — доступ к системным переменным стойки, ячейкам памяти, ячейкам программы электроавтоматики (PLC1), возможность создавать свои собственные G-коды (функции) и M-команды, которые наиболее полно реализуют управление всеми компонентами и органами станка. Возможен доступ к параметрам ЧПУ, хранящим информацию об инструменте, положении рабочих органов, манипуляторов, систем координат, коррекций инструмента, значений G-кодов управляющей программы и ошибок. С помощью параметрического программирования можно разрабатывать диалоговые управляющие программы. Подобно компьютерным языкам программирования, в параметрическом программировании их существует несколько версий: Custom Macro или Macro-B (Fanuc), R-parameters (Siemens Sinumerik), User Task (Okuma), Q Routine (Sodick), Advanced Programming Language (APL G & L). Например, такие языки макропрограммирования дают возможность организовать дополнительные информационные окна, систему слежения за параметрами, режимы контроля и протоколирования процессов обработки. Такие программы выполняются в фоновом режиме и в свободное от всех других задач время, при большой загрузке могут временно приостанавливать свою работу. Используя такие возможности, имеешь один из эффективных способов управления станком, роботом- манипулятором и системой ЧПУ.

Структура управляющей программы


Программа, написанная с использованием языка макропрограммирования, имеет аналогичную структуру G-кодов системы управления. Структурную единицу составляет кадр. Кадр является последовательностью символов языка программирования. Элементом кадра является слово, которое состоит из адреса и числового значения или локальной, глобальной или системной переменной.

Пример управляющей программы


В качестве примера макропрограммы приведём программу для системы управления Fanuc, предназначенной для вертикально- фрезерного станка с поворотной осью, используется 4-х осевое фрезерование по системе 3+1.

4-х осевая обработка добавляет вращение вокруг оси X и называется осью A. Шпиндель имеет 3 линейные оси движения (XYZ), как и при 3-х осевой обработке, плюс ось A возникает при вращении заготовки. Есть несколько различных устройств для 4-х осевых станков, но обычно они относятся к типу «вертикальной обработки», когда шпиндель вращается вокруг оси Z. Заготовка установлена ​​по оси X и может вращаться вместе с приспособлением по оси A.

Код: Выделить всё

%
O0001 (Filter)

(----------- TOOL LIST -----------)
(-R DRILL: T23 D3 Z=2)
(-R DRILL: T20 D5 Z=2)
(-R DRILL: T21 D11 Z=2)
(--------- END TOOL LIST ---------)

N010 #140=54 (WORK COORDINATE)

N020 G40 G49 G17 G94 G80 G90 G21
N030 G65 P9999 A0. 
N040 G69
N050 G0 G53 Z0.
N060 G0 G53 X-880. Y0.
N070 M01
 
(DRILLING D3x2 H=4)
N080 T23 M6 (CENTER DRILL D3 Z=2) 
N090 M11
N100 G0 A0. 
N110 M10
N120 G65 P9999 A0. 
N130 G#140 G0 G90 X15. Y0. S2300 M3
N140 G43 G0 Z100. H23
N150 M8
N160 G82 X15. Y0. Z70. R86. F50.
N170 G80
N180 G0 Z100.
N190 M11
N200 G0 A180. 
N210 M10
N220 G65 P9999 A180.
N230 X15. Y0.
N240 G82 X15. Y0. Z70. R86. 
N250 G80
N260 G0 Z100.
N270 G65 P9999 A0. 
N280 M9 
N290 M5
N300 M11
N310 G0 A0.
N320 M10
N330 G0 G53 Z0. 
N340 G0 G53 X-880. Y0.
N350 M01

(DRILLING D3x360 H=4)
N360 T23 M6 (CENTER DRILL D3 Z=2)
N370 M11
N380 G0 A0. 
N390 M10
N400 G65 P9999 A0. 
N410 G#140 G0 G90 X35. Y0. S2300 M3
N420 G43 G0 Z100. H23
N430 T20
N440 M8
N450 #101=0. (START OF AXIS A)
N460 #102=348. (END OF AXIS A) 
N470 #103=12. (STEP OF AXIS A) 

N480 WHILE [#101 LE #102]DO1
N490 M11
N500 G0 A#101 
N510 M10
N520 G65 P9999 A#101

N530 #104=35. (START OF AXIS X) 
N540 #105=145. (END OF AXIS X)
N550 #106=10. (STEP OF AXIS X)

N560 WHILE [#104 LE #105]DO2
N570 G82 X#104 Y0. Z61. R75. F50.
N580 G80
N590 G0 Z100.
N600 #104=#104+#106 
N610 END2
N620 #101=#101+#103
N630 END1

N640 G0 Z100. 
N650 G65 P9999 A0. 
N660 M9
N670 M5 
N680 G0 G53 Z0. 
N690 G0 G53 X-880. Y0. 
N700 M01
 
(DRILLING D5x360 H=28)
N710 T20 M6 (DRILL D5 Z=2)
N720 M11
N730 G0 A0. 
N740 M10
N750 G65 P9999 A0. 
N760 G#140 G0 G90 X35. Y0. S4100 M3
N770 G43 G0 Z100. H20
N780 T21
N790 M8
N800 #101=0. (START OF AXIS A)
N810 #102=348. (END OF AXIS A) 
N820 #103=12. (STEP OF AXIS A) 

N830 WHILE [#101 LE #102]DO1
N840 M11
N850 G0 A#101 
N860 M10
N870 G65 P9999 A#101

N880 #104=35. (START OF AXIS X) 
N890 #105=145. (END OF AXIS X)
N900 #106=10. (STEP OF AXIS X)

N910 WHILE [#104 LE #105]DO2
N920 G83 X#104 Y0. Z48. R75. Q1.0 F120.
N930 G80
N940 G0 Z100.
N950 #104=#104+#106 
N960 END2
N970 #101=#101+#103
N980 END1

N990 G0 Z100. 
N1000 G65 P9999 A0. 
N1010 M9
N1020 M5 
N1030 G0 G53 Z0. 
N1040 G0 G53 X-880. Y0.
N1050 M01
 
(DRILLING D11x2 H=28)
N1060 T21 M6 (DRILL D11 Z=2) 
N1070 M11
N1080 G0 A0. 
N1090 M10
N1100 G65 P9999 A0. 
N1110 G#140 G0 G90 X15. Y0. S2300 M3
N1120 G43 G0 Z100. H21
N1130 M8
N1140 T23
N1150 G83 X15. Y0. Z46. R86. Q2. F120.
N1160 G80
N1170 G0 Z100.
N1180 M11
N1190 G0 A180. 
N1200 M10
N1210 G65 P9999 A180.
N1220 X15. Y0.
N1230 G83 X15. Y0. Z46. R86. Q2. 
N1240 G80
N1250 G0 Z100.
N1260 G65 P9999 A0. 
N1270 M9 
N1280 M5
N1290 M11
N1300 G0 A0.
N1310 M10
N1320 G0 G53 Z0. 
N1330 G0 G53 X-880. Y0.
N1340 M30
%

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


1 PLC (programmable logical controller) — программируемый логический контроллер, контроллер электроавтоматики. Отдельная специализированная часть ЧПУ управляющая различными сигналами и устройствами по заданной программе.

© «Точные машины». Все права защищены.
© Точные машины. Все права защищены.

Вернуться в «Справочная»