Translate

Danish Dutch English French German

Search

ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

 

ОСНОВНЫЕ ПОЛОЖЕНИЯ

ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ (М - КОДЫ)

ПОРЯДОК ПРОГРАММИРОВАНИЯ

ВЫБОР РАЗНОВИДНОСТИ ДВИЖЕНИЯ

СИСТЕМЫ КООРДИНАТ И РЕФЕРЕНТНАЯ ТОЧКА

КОРРЕКЦИЯ НА РАДИУС ИНСТРУМЕНТА

ОТМЕНА КОРРЕКЦИИ

КОРРЕКЦИЯ НА ПОЛОЖЕНИЕ ИНСТРУМЕНТА

ПОСТОЯННЫЕ ЦИКЛЫ СВЕРЛЕНИЯ И РАСТОЧКИ.

МНОГООПЕРАЦИОННЫЕ ЦИКЛЫ

ПРИЛОЖЕНИЕ 1 - ПРИМЕР ПРИМЕНЕНИЯ ПАРАМЕТРИЧЕСКОЙ ПОДПРОГРАММЫ

10.1 Назначение

 

Параметрическое программирование предназначено для расширения возможностей программирования УП для СЧПУ. Применение параметрического программирования повышает производительность и гибкость создания УП Параметрическое программирование дает технологу-программисту следующие возможности:

? использовать в программах переменные;

? вычислять сложные выражения, использовать тригонометрические, алгебраические и логические функции;

? выполнять условные и безусловные переходы внутри программы;

? создавать подпрограммы с параметрами, и вызывать их;

? создавать библиотеки программ и подпрограмм для технологических и измерительных циклов.

10.2 Вызовы подпрограмм

 

10.2.1 Вызов подпрограмм с параметрами

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

Синтаксис вызова параметрической подпрограммы:

LP<число> [A_] [B_] [C_] ….[Z_ ]

где:

LP<число> – команда вызова подпрограммы с параметрами.

P<число> – представляет собой имя файла с расширением .NC, в котором хранятся кадры подпрограммы.

<число> – может иметь значение в диапазоне от 1 до 99999.

Примечание:

Задание незначащих нулей в имени файла подпрограммы в поле <число> не разрешается.

Например: Для подпрограммы P0123.nс вызов по команде LP0123 приведет к ошибке. Подпрограмма не будет найдена.

 

Параметры передаются при помощи буквенных кодов (адресов), следующих за текстом LP<число>.

Для передачи параметров разрешается использовать все буквы латинского алфавита от A до Z, за исключением букв Строчные и прописные буквы не различаются.

Пример:

N10 LP352 A1.5 D3.4 K33.2

В этом кадре вызывается подпрограмма P352 (файл с именем P352.NC), в которую передаются параметры A,D, K с указанными значениями.

 

При вызове подпрограммы с параметрами по команде LP<число>, программа MSHAK-CNC ищет файл-подпрограмму P<число>.NC в текущем каталоге (там, где находится основная программа). Если ее нет в текущем каталоге, то поиск производится в каталоге, определяемый системным параметром SubProgLib в файле Profile.CNC.

Если файл подпрограммы отсутствует в обоих каталогах, то MSHAK-CNC выдает ошибку.

Возврат из подпрограммы задается вспомогательной функцией М17.

 

Вызов одной подпрограммы из другой называется вложенным вызовом. Главная программа имеет уровень вложенности 0.

При вызове подпрограммы по команде LP (вызов внешней подпрограммы) создается набор локальных переменных от #1 до #99 для данной подпрограммы (см. Раздел 10.5.). Они инициируются значением “не определено“.

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

На рис 51 показано, как происходит вложенный вызов подпрограмм, и как создаются и удаляются локальные переменные.

 

 

 

Рис. 52 Вложенный вызов подпрограмм и локальные переменные

 

10.2.2 Простой вызов подпрограмм

 

Простой вызов подпрограммы программируется с помощью адресного слова Подпрограмма в этом случае должна находиться в том же файле, что и основная программа.

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

Формат:

L<число>

<кадры> N<число>

<кадры> M17

 

Где:

L<число> означает вызов подпрограммы с номером кадра N<число>

 

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

Конец подпрограммы программируется вспомогательной функцией М17, после которой происходит возврат из подпрограммы, и затем выполняется тот кадр, который следует за кадром, содержащим вызов подпрограммы L<число>.

Примечание:

В кадре, где запрограммирован вызов подпрограммы, не должны быть указаны следующие величины:

начало повторяющего отрезка (Н), конец повторяющего отрезка (М20), программный переход (Е),

возврат из подпрограммы (М17) и конец программы (М02).

В кадре, где запрограммирован возврат из подпрограммы, не должны быть указаны следующие величины:

начало повторяющего отрезка (Н),

конец повторяющего отрезка (М20),

программный переход (Е) и конец программы (М02),

вызов подпрограммы (L).

 

Примеры:

; Основная программа

X5Z5

L10 ;Вызов подпрограммы, начинающейся с кадра N10 X2Z8

L20 ;Вызов подпрограммы, начинающейся с кадра N20 X0Z0

M2

N10Z2 ;Подпрограмма с меткой кадра N10 X10

 

M17 ;Конец подпрограммы и возврат в основную программу

N20Z15 ;Подпрограмма с меткой кадра N20 X20

L10 ;Вложенный вызов подпрограммы N10 из подпрограммы L20 M17 ;Конец подпрограммы и возврат в основную программу

10.2.3 Программирование повторяющегося отрезка программы (Н)

Повторяющийся отрезок управляющей программы задается с помощью адресного слова H и вспомогательной функцией М20.

Формат:

Н<число>

<кадры> ; повторяющийся отрезок программы

M20

 

Где:

Н<число> - показывает количество повторов отрезка УП.

<число> - принимает значение в диапазоне 0…99999.

Конец отрезка задается вспомогательной функцией М20.

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

Разрешается программировать вложение повторяющегося отрезка программы. Количество вложенных повторов - до 100.

В этом случае первый кадр, который содержит М20, считается концом последнего повторяющегося отрезка. Следующий кадр, который содержит М20, считается концом предпоследнего повторяющегося кадра и так далее до первого отрезка, который содержит все повторяющиеся отрезки.

Если в УП запрограммировано начало повторяющегося отрезка (H), но отсутствует конец отрезка (М20), то повтор отрезка игнорируется.

Примечание:

В кадре, где задан H_, не должны быть указаны следующие величины: конец повторяющегося отрезка (М20),

вызов подпрограммы (L_),

программный переход (Е),

возврат из подпрограммы (М17) и конец программы (М02).

В кадре, где задан конец повторяющегося отрезка (M20), не должны быть указаны следующие величины:

начало выполняющегося отрезка (Н_), вызов подпрограммы (L_), программный переход (Е),

возврат из подпрограммы (М17) и конец программы (М02).

 

Пример:

Z10X5 F1000 G1

N5 H5 ;выполнить отрезок программы N5 - N25 5 раз

G91 X5 Z10

 

N10 H2 ;выполнить отрезок программы N10 - N15

;2*5 = 10 раз

Z2X1 X1

N15 M20 ;конец отрезка программы для повтора,

;начиная с кадра N10

Z3X3 Z1

N25 M20 ;конец отрезка программы для повтора,

;начиная с кадра N5

10.3 Переменные (#)

Применение переменных позволяет расширить возможность программирования УП.

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

Примечание:

Переменные не имеют специальной размерности, но при использовании их в качестве переменных каких-то величин, значения принимают размерность этих величин.

 

Пример:

G1 X2.5 Y.3.6 ; значения заданы явно

#1= 2.5

#2= 3.6

G1 X#1 Y#2 ; значения заданы переменными

Переменные (в качестве значений адресных слов) можно применить для букв от А

до Z за исключением адресных слов D,E,G,H,M,L,N,O,P,T

Во входном языке используется 10000 переменных. Синтаксис задания переменной:

#<целое>

Где:

<целое> - номер переменной целое число в диапазоне 0…9999

 

Значениями переменных являются числа с плавающей запятой.

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

Синтаксис задания косвенной адресации:

#(<выраж>)

Где:

<выраж> - алгебраическое выражение, вычисленное значение которого выступает как номер переменной.

 

Диапазон значений алгебраического выражения <выраж> - целое число в диапазоне 0…9999

 

Примеры косвенной адресации:

#3 =15

#15=10

#17=2

#5 = #(#3) ; Присвоить переменной #5 значение переменной #15, так как выражение

; в скобках возвращает значение переменной #3 равное 15, то есть

; #5 будет равно 10

#6 = #(#3+2) ; Присвоить переменой #6 значение переменной #17, так как выражение

; в скобках возвращает значение 17, то есть

; #6 будет равно 2

В следующем примере переменная #10 принимает значение равное значению переменной #1.

#10 = #1

#10 = #(1)

#10 = #((1+2+3)/6)

#2 =1

#10 = #(#2)

#10 = #(SIN(90))

Для использования переменных в УП, необходимо заранее им присвоить значения. Значения переменным могут присваиваться как в программе обработки, так и с помощью редактора переменных программы (см. документ MSHAK-CNC Руководство оператора). Значения переменных могут изменяться в процессе выполнения программы.

Присваивания выполняются перед выполнением команд перемещений, в заданном в кадре порядке.

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

Пример:

#3= #3+2/(#6 * #5)

Различаются следующие типы переменных:

· Неопределенно - #0

· Локальные - #1- #99

· Общие - #100-#999

· Системные - #2000 - #7400

В программе MSHAK-CNC значения общих и локальных переменных можно наблюдать на экране. Переменные (см. документ MSHAK-CNC Руководство оператора)

 

Во время выполнения УП программа MSHAK-CNC показывает текущий уровень вложенного вызова подпрограммы, при помощи выделения синим цветом строки текущего уровня вызова.

Значение переменной или выражения можно задавать вместе с адресным словом следующими двумя вариантами:

10.3.1 Задание значения адреса совместно с выражением

Переменную или выражение можно задавать после числового значения слова совместно со знаком арифметического действия: "+", "-", "*", "/". При наличии этого знака, числовое значение адресного слова используется в выражении как константа при вычислении выражения. В формировании выражений, для задания приоритетности выполнения вычислений, можно использовать круглые скобки.

Пример:

#3=25 ; присвоение переменной #3 значения 25

#4=#3*2 ; присвоение переменной #4 значения 50 X5+#4 ; перемещение по X в координату 5+#4 = 55 X35-#3 ; перемещение по X в координату 35-#3 = 10

#3=10

#2=5

X4*#2+#3 ; перемещение по X в координату 4*#2+#3 = 30 X4*(#2+#3) ; перемещение по X в координату 4*(#2+#3)= 60 X4*#3*(#2+#3); перемещение по X в координату 4*#3*(#2+#3) = 600

10.3.2 Задание значения адресного слова как значения выражения

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

Пример:

#3=25 ;присвоение переменной #3 значения 25

#4=#3*2 ;присвоение переменной #4 значения 50

#5=40 ;присвоение переменной #5 значения 40 X(#3) ;перемещение по X в координату 25

Y(#3+#4) ;перемещение. по Y в координату 75: 25+50=75 Z(#3*2+#4/5) ;перемещение по Z в координату 60: 25*2+50/5=60 Y((#3+#4)/3 +#5) ;перемещение по Y в координату 65: 75/3+40=65

10.4 Переменная #0 - “неопределенно”

Неопределенные значения переменных позволяют технологу-программисту определять: был ли правилен вызов подпрограммы, - все ли параметры заданы при вызове, или правильна ли какая-то логическая цепочка вызовов.

Чтобы переменная имела значение “неопределенно”, необходимо присвоить ему значение #0 или значение другой «неопределенной» переменной.

Алгебраическое выражение преобразует значение “неопределенно” в число 0.0. Но если выражение простое присвоение, – то возвращаемое значение тоже “неопределенно”.

 

Пример:

#12 = #0 ; #12 имеет значение “неопределенно”

#3 = #12 ; #3 имеет значение “неопределенно”

#4 = -#12 ; #4 имеет значение “неопределенно”

#5 = #12 +#3; #5 имеет значение 0.0

#6 = #12*3 ; #6 имеет значение 0.0

Если переменная, используемая в адресном слове, имеет значение

“неопределенно”, то это адресное слово в текущем кадре игнорируется.

Пример:

#5 = #0

#6=35.6

G1 X#5 Y#6 ; то же, что и G1 Y35.6 X(#5+#0) ; то же, что и X0.0

Z-(#5) ; Z игнорируется

Логическое выражение преобразует значение “неопределенно” в число 0.0. В логических выражениях, параметры со значением “неопределенно” рассматриваются как число 0.0 , за исключением отношений “=” и “<>”

Условие

#1 равно #0

#1 равно 0

#1 = #0

Истина

Ложь

#1 <> 0

Истина

Ложь

#1 = 0

Ложь

Истина

#1 <= #0

Истина

Истина

#1 >= #0

Истина

Истина

#1 > 0

Ложь

Ложь

#1 < 0

Ложь

Ложь

Примечание:

Важно понимать отличия между понятиями “неопределенно” и равное нулю. Если в условии сравнения переменных необходимо проверить равенство нулю, то следует использовать 0.0. Если условие сравнения используется для определения - было ли присвоено значение переменной, то следует использовать #0.

 

 

10.5 Локальные переменные

Локальные переменные создаются и инициализируются при каждом вызове подпрограммы по LP команде. Локальные переменные определяются в диапазоне от #1 до #99. Они инициализируются значением “неопределенно”, которое эквивалентно #0.

Вызов подпрограммы по L команде, отличается от вызова по LP, так как в этом случае не создаются локальные переменные, но существующие при последнем вызове по команде LP локальные переменные остаются доступными подпрограмме. При возврате из подпрограммы LP по М17, созданные при вызове на этом уровне локальные переменные удаляются. При возврате из подпрограммы L по

М17, локальные переменные не удаляются.

 

Локальные переменные #1…#26 соответствуют адресным словам А…Z и используются для передачи значений параметров команды LP в подпрограмму. Соответствие адресного слова параметра и номера локальной переменной приведено в таблице ниже.

Адресное слово

Локальная переменная

A

#1

B

#2

C

#3

D

#7

F

#9

H

#11

I

#4

J

#5

K

#6

L

#12

M

#13

N

#14

O

#15

P

#16

Q

#17

R

#18

 

#19

T

#20

U

#21

V

#22

W

#23

X

#24

Y

#25

Z

#26

Примечание:

Адресные слова E,G не могут использоваться для передачи параметров.

 

Если в команде LP задан параметр (адресное слово), то соответствующая переменная принимает значение, равное значению адресного слова. В противном случае, данная переменная принимает значение “неопределенно”.

Пример:

При двух вариантах вызова подпрограммы:

LP100 A20 - вызов подпрограммы с передачей параметра

LP100 - вызов подпрограммы без передачи параметра Необходимо в подпрограмме выполнить проверку на передачу параметра.

IF (#1 = #0) E1 ; переход на кадр N1 , если параметр A- неопределен

X #1 ; перемещение по X на величину параметра #1 E2 ; безусловный переход на кадр N2

N1 X 100 ; перемещение по X на величину 100 N2

 

Таким образом, если условное выражение #1 = #0 определяется как ИСТИНА, это значит, что переменной #1 не было присвоено значение и, либо аргумент A при вложенном вызове подпрограммы отсутствует, либо имеет значение “неопределенно”.

В подпрограмме с параметрами локальные переменные #27…#99 можно использовать в качестве обычных переменных. Необходимо учесть, что при возврате из подпрограммы по М17 созданные на этом уровне локальные переменные удаляются.

Пример:

#31 = #3*2 ; присвоить переменной #31 удвоенное значение параметра С

G1 G91 X#24 ; перемещение в приращениях на величину параметра X

 

 

10.6 Общие переменные

Общие переменные доступны в любой части программы. Значения этих переменных сохраняются при выключении СЧПУ и восстанавливаются при включении СЧПУ.

Во входном языке MSHAK-CNC можно использовать общие переменные, которые определены в диапазоне #100…#999.

Примечание:

Значения локальных переменных основной программы (нулевой уровень) также сохраняются при выключении СЧПУ.

 

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

10.7 Системные переменные

Системные переменные предоставляют доступ к системным параметрам СЧПУ. Это необходимо для изменений станочных системных параметров из управляющей программы.

Перечень системных переменных приведен в таблице ниже:

Переменная #

Описание

#2000 - #2800

Корректоры инструментов по длине Z и радиусу D

#3000

Аварийное прерывание выполнения УП с сообщением

#3001 - #3002

Системные таймеры

#3006

Стоп выполнения УП с сообщением

#6001 - #7400

Корректоры инструментов по X,Y,U,V,W

#4001 – #4020

Модальная информация о G функциях

#4101 – #4126

Модальная информация об адресных словах

#5001 – #500n

Значение командной координаты, с учетом корректора инструмента в рабочей КС

#5021-#502n

Значения машинных координат

 

#5041-#504n

В рабочей КС - значение программных координат, без учета корректора инструмента

#5061-#506n

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

#5070

Признак события – контакт с измерительным щупом

#5071

Признак, что активен измерительный щуп в шпинделе

#5072

Признак, что активен измерительный щуп на столе

#5080

Значения корректора радиуса текущего инструмента

#5081-#508n

Значения корректоров текущего инструмента

#5090

Значения корректора износа радиуса текущего инструмента

#5091-#509n

Значения корректоров износа текущего инструмента

#5201-#520n

Смещения текущей координатной системы

#5221-#522n

Смещения координатной системы G54

#5241-#524n

Смещения координатной системы G55

#5261-#526n

Смещения координатной системы G56

#5281-#528n

Смещения координатной системы G57

#5301-#530n

Смещения координатной системы G58

#5321-#532n

Смещения координатной системы G59

10.7.1 Корректоры инструментов #2000 - #2800, #6000-#7400

Системные переменные, #2000 - #2800, #6000-#7400 предназначены для хранения значений корректоров инструментов (смещение на радиус) для 200 инструментов. При программировании используются корректоры инструментов по координатам X,Y,Z, U,V.W и корректор радиуса инструмента. Эти корректоры активизируются при задании H и D адресных слов в УП.

#2000

Всегда возвращает ноль в выражении

#2001-#2200

Корректор длины инструмента по оси Z для инструментов с 1 по 200

#2201-#2400

Корректор износа длины инструмента по оси Z для инструментов с 1 по 200

#2401-#2600

Корректор радиуса инструмента с 1 по 200

#2601-#2800

Корректор износа радиуса инструмента с 1 по 200

#6001-#6200

Корректор по оси X для инструментов с 1 по 200

#6201-#6400

Корректор износа по оси X для инструментов с 1 по

200

#6401-#6600

Корректор по оси Y для инструментов с 1 по 200

#6601-#6800

Корректор износа по оси Y для инструментов с 1 по

200

#6801-#7000

Корректор по оси U для инструментов с 1 по 200

#7001-#7200

Корректор по оси V для инструментов с 1 по 200

#7201-#7400

Корректор по оси W для инструментов с 1 по 200

Например, для инструмента 4 системные переменные #2004, #2204, #2404, #2604

 

являются соответственно корректорами:

- длины инструмента по оси Z;

- износа инструмента по оси Z;

- радиуса инструмента;

- износа радиуса инструмента.

Используя эти переменные в УП, можно изменить или прочитать значения корректоров инструментов.

Присвоение этим переменным значений в УП, является аналогичным действием, что и задание значений корректорам инструментов на экране ИНСТР (TOOLS) в программе MSHAK-CNC.

 

Примечание:

Когда выполняется операция присвоения системным переменным, СЧПУ прекращает выполнение кадров УП, пересчитывает значения координат с учетом новых значений и затем продолжает выполнение УП.

 

 

10.7.2 Аварийное прерывание выполнения УП с сообщением #3000

 

Аварийное прерывание выполнения УП с выдачей сообщения может быть выполнено из параметрической программы с помощью присвоения значения переменной #3000.

Номер сообщения будет соответствовать присвоенному значению переменной #3000, а выводимым текстовым сообщением будет строка в кадре присвоения, заданная после символа комментария “;”.

Пример:

IF (#24 <> #0 ) E5

#3000 = 1024 ; Не задан параметр X

N5 ; условие было верно, параметр X был передан

Выполнение программы будет прервано и в окне «Сообщения» выводится сообщение:

Не задан параметр X

10.7.3 Системные таймеры #3001 - #3002

В управляющей программе можно использовать таймеры: #3001 и #3002.

Дискрета этих таймеров - миллисекунда.

Таймер #3001, после загрузки ПО MSHAK-CNC, инициализируется значением ноль, и начинает счет.

Таймер #3002 работает только тогда, когда выполняется УП.

Значение таймера #3002 сохраняется при выключении СЧПУ и восстанавливается по его включению. Оба таймера можно инициализировать в УП, операцией присвоения.

Пример:

#5 = #3001

N2 IF (#3001 < (#5 + 3500)) E2 ;Организация задержки на 3.5 сек. в УП

 

10.7.4 Останов выполнения УП с сообщением #3006

Программный останов (M00) выполнения УП с выдачей сообщения может быть выполнен из параметрической программы при присвоении значения переменной #3006.

Номер сообщения будет соответствовать значению, присвоенному переменной #3006, а выводимым текстовым сообщением будет строка, заданная в кадре присвоения после символа комментария “;”.

Пример:

#3006 = 2001 ; Сообщение для оператора.

10.7.5 Модальная информация о G функциях в группе #4001 – #4020

Системные переменные #4001 - #4026 могут использоваться в УП для определения номера активной G функции для любой группы G-функций. Переменные от #4001 до #4020 хранят значения активного кода для групп от 1 до 20, соответственно.

Принадлежность G функции номеру группы приведено в таблице ниже

 

Номер группы

Наименование группы

Перечень G- функций

 

0

Действующие в одном кадре

G4,G9, G28,G29,G30,G31, G33,G53,G92, G74,G75,G76, G77,G78,G79, G171,G172, G180, G700,G701,G702

1

Выбор разновидности движения

G0,G1,G2,G3

2

Выбор плоскости

G17, G18,G19

3

Размерность задания перемещений

G20,G21

4

Масштабирование

G22,G23,G24

5

Контроль вращения шпинделя

G25,G26

6

Коррекция на радиус инструмента

G40,G41,G42

7

Коррекция на положение (длину) инструмента

G43,G44,G49

8

Локальная координатная система

G52, G152

9

Рабочая координатная система

G54,G55,G56,G57,G58,G59

10

Движение со слиянием

G61,G64

 

 

11

Задание X по диаметру или радиусу

G62,G63

12

Поворот системы координат

G68,G69

13

Многопроходные токарные циклы

G70,G170,G71,G72,G73

14

Сверлильно- расточные фрезерные циклы

G80, G81,G82,G83,G84,G86,G88,G183

15

Режим задания перемещений

G90,G91

16

Режим задания скорости подач

G93,G94,G95

17

Режим задания вращения шпинделя

G96,G97

18

Точка возврата в сверлильных циклах

G98,G99

19

Зеркальная обработка

G150,G151

20

Режим стружкодробления

G160,G161,G162

Жирным шрифтом заданы G-функции, устанавливаемые по умолчанию при включении СЧПУ или при начальном запуске УП.

Пример:

Для проверки выключена ли компенсация радиуса инструмента G40, необходимо проверить, что значение группы 6 равно 40

IF (#4006 = 40) E200 ; переход на кадр N200 , если компенсация радиуса инструмента выключена.

10.7.6 Информация об адресных словах #4101 – #4126

Системные переменные #4101 - #4126 могут использоваться в УП для определения значений адресных слов от A до Z. Они содержат значения последних выполненных в УП адресных слов.

Переменные от #4101 до #4126 соответствуют адресным словам в соответствии с таблицей приведенной ниже.

Примечание:

При вызове подпрограмм с параметрами, когда адресные слова используются для передачи параметров, значения переменных #4101-#4126 не меняются.

 

 

Адресное слово

Переменная

A

#4101

B

#4102

C

#4103

D

#4107

F

#4109

H

#4111

I

#4104

J

#4105

K

#4106

M

#4113

Q

#4117

R

#4118

 

#4119

T

#4120

U

#4121

V

#4122

W

#4123

X

#4124

Y

#4125

Z

#4126

 

Пример:

Для определения значения последнего задания по адресному слову S, необходимо проверить переменную #4119.

IF (#4119 > 1500) E200 ; переход на кадр N200, если S был больше 1500 об/мин

10.7.7 Командная координата, с учетом корректора инструмента

#5001 – #500n

Системные переменные #5001 – #500n содержат значения командных координат в последнем выполняемом кадре (координаты конечной точки перемещения), с учетом смещений рабочей координатной системы и корректоров инструмента. Фактически эти переменные содержат конечную программную координату в кадре.

Соответствие между осью и номером переменной приведено в таблице ниже.

Ось

Переменная

X

#5001

Y

#5002

Z

#5003

U

#5004

V

#5005

W

#5006

A

#5007

B

#5008

C

#5009

 

Пример:

N10 G54 G43 H1 F1000 N20 X20 Y30 Z40

N30 #51=#5001 #52=#5002 #53=#5003 M30

После выполнения кадра с номером N30, локальные переменные #51, #52, #53

будут иметь значения 20, 30, 40.

10.7.8 Текущая машинная координата #5021-#502n

Системные переменные #5021- #502n содержат значения текущих машинных координат.

Соответствие между осью и номером переменной приведено в таблице ниже.

Ось

Переменная

X

#5021

Y

#5022

Z

#5023

U

#5024

V

#5025

W

#5026

A

#5027

B

#5028

C

#5029

10.7.9 Текущая координата в рабочей координатной системе #5041-

#504n

Системные переменные #5041-#504n принимают значения текущих координат в рабочей координатной системе, без учета корректоров инструментов.

Значения этих переменных учитывают наличие операций зеркалирования, масштабирования и установки локальных координат по G52.

Рабочая координатная система определяется заданием одной из функций G54-G59

из 9-ой группы G-функций.

Значение этих переменных вычисляются по формуле:

#504n = Kмаш - Ксмещ Где:

Kмаш - машинная координата по оси

Ксмещ - заданное смещение по оси в текущей координатной системе (G54-G59)

Соответствие между осью и номером переменной приведено в таблице ниже.

Ось

Переменная

X

#5041

Y

#5042

Z

#5043

U

#5044

 

V

#5045

W

#5046

A

#5047

B

#5048

C

#5049

10.7.10 Координата контакта с измерительным щупом #5061-#506n

Системные переменные #5061-#506n принимают значения координат, в которых сработал измерительный щуп, при движении по функции GКоординаты передаются с учетом смещений рабочей координатной системы, но без учета корректоров инструментов.

Соответствие между осью и номером переменной приведено в таблице ниже

Ось

Переменная

X

#5061

Y

#5062

Z

#5063

U

#5064

V

#5065

W

#5066

A

#5067

B

#5068

C

#5069

10.7.11 Признак события - контакт с измерительным щупом #5070

Системная переменная #5070 принимает значение 1, если во время движения по функции G31 произошло событие срабатывания измерительного щупа.

10.7.12 Признак активности измерительного щупа в шпинделе #5071

Системная переменная #5071 принимает значение 1, если в УП была задана вспомогательная функция M51 (активизировать измерительный щуп в шпинделе) и измерительный щуп в рабочем состоянии. Эта переменная принимает значение 0, если была задана функция M50 (де активизировать измерительный щуп), или при потере работоспособности щупа.

10.7.13 Признак активности измерительного щупа на столе #5072

Системная переменная #5072 принимает значение 1, если в УП была задана вспомогательная функция M52 (активизировать измерительный щуп на столе) и измерительный щуп в рабочем состоянии. Эта переменная принимает значение 0, если была задана функция M50 (дезактивировать измерительный щуп) или при потере работоспособности щупа.

10.7.14 Значения корректора радиуса текущего инструмента #5080

Системная переменная #5080 принимает значение корректора радиуса текущего инструмента.

 

10.7.15 Значения корректоров текущего инструмента #5081-#508n

Системные переменные #5081- #508n принимают значения величин корректоров текущего инструмента.

Соответствие между осью и номером переменной приведено в таблице ниже.

Ось

Переменная

X

#5081

Y

#5082

Z

#5083

U

#5084

V

#5085

W

#5086

10.7.16 Значения корректора износа радиуса текущего инструмента

#5090

Системная переменная #5090 принимает значение корректора износа радиуса текущего инструмента.

10.7.17 Значения корректоров износа текущего инструмента #5091-

#509n

Системные переменные #5091- #509n принимают значения величин корректоров текущего инструмента.

Соответствие между осью и номером переменной приведено в таблице ниже.

Ось

Переменная

X

#5091

Y

#5092

Z

#5093

10.7.18 Смещения текущей координатной системы #5201-#520n

Системные переменные #5201-#520n принимают значения смещений текущей рабочей координатной системы (G54-G59).

В УП можно изменить значения рабочих координатных систем с помощью присвоения переменным #5201-#520n новых значений.

Примечание

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

 

Соответствие между осью и номером переменной приведено в таблице ниже.

Ось

Переменная

X

#5201

Y

#5202

 

Z

#5203

U

#5204

V

#5205

W

#5206

A

#5207

B

#5208

C

#5209

10.7.19 Смещения координатной системы G54 #5221-#522n

Имеют те же функции, что и в разделе 4.7.18, но для координатной системы G54.

10.7.20 Смещения координатной системы G55 #5241-#524n

Имеют те же функции, что и в разделе 4.7.18, но для координатной системы G55.

10.7.21 Смещения координатной системы G56 #5261-#526n

Имеют те же функции, что и в разделе 4.7.18, но для координатной системы G56.

10.7.22 Смещения координатной системы G57 #5281-#528n

Имеют те же функции, что и в разделе 4.7.18, но для координатной системы G57.

10.7.23 Смещения координатной системы G58 #5301-#530n

Имеют те же функции, что и в разделе 4.7.18, но для координатной системы G58.

10.7.24 Смещения координатной системы G59 #5321-#532n

Имеют те же функции, что и в разделе 4.7.18, но для координатной системы G59.

10.8 Форматированный вывод

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

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

Для форматированного вывода используются команды PRINT(), POPEN(),PCLEAR

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

Команда PRINT выполняет запись информации в файл, открытый командой POPEN.

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

Команды PRINT должны быть заданы в УП после задания команды POPEN.

 

Команда PCLEAR выполняет удаление содержимого файла (но не самого файла), открытого командой POPEN.

PСLEAR должна быть задана в УП после задания команды POPEN.

Команда POPEN:

 

Синтаксис команды:

 

Где:

 

POPEN (<имя файла>) POPEN ()

<имя файла> - маршрут и имя файла, в который будет выводиться информация.

Если файл с таким именем не существует, то в заданном каталоге создается файл с этим именем.

Если параметр <имя файла> не задан, то и в каталоге открывается файл с именем, определяемый системным параметром ProbeFileName системного файла Profile.Cnc.

POPEN должен быть задан в УП до задания команды PRINT

Если POPEN задан несколько раз с разными именами файлов, то активным остается последний заданный файл.

Пример:

; Подпрограмма печати

POPEN ()

.

.

PRINT ( )

PRINT (Какой-то текст и переменные) PRINT (Какой-то текст и переменные)

.

.

M17

Команда PCLEAR

 

Синтаксис команды: PCLEAR

Команда PCLEAR задается без круглых скобок, в отличие от команд POPEN и

PRINT.

Его применяют, если необходимо удалить содержимое, открытого командой

POPEN, файла.

Пример:

 

POPEN() PCLEAR

 

Команда PRINT

 

Синтаксис команды:

PRINT ( <текст>| <форматированная переменная> …| @DATE | @TIME)

Где:

? <текст> - текст, состоящий из любых символов кроме символа @;

? Знак “|” в синтаксисе означает, что можно задать, или <текст>, или

<форматированная переменная> ;

? Знак “” означает, что параметры <текст> и <форматированная переменная> могут повторяться много раз;

? Параметр @DATE выводит в файл текущую дату в одном из двух числовых форматов:

либо DD.MM.YY – дата, месяц, год – европейский стиль, либо MM.DD.YY – месяц, дата, год – американский стиль Тип формата вывода даты определяется системными установками Windows;

? Параметр @TIME выводит в файл текущее время в формате HH:MM:SS, где

HH:MM:SS – время в часах, минутах, секундах.

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

#<число> ( <ширина>[<точка><точность>])

Где:

? <число> - произвольный номер разрешенных локальных или глобальных переменных;

? <ширина> - общее количество символов для вывода значения переменной, включая знак минуса числа, десятичную точку и знаки после десятичной точки;

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

? <точка> - символ десятичной точки “.

? <точность> - количество символов после десятичной точки. Если параметр

<точность> пропущен или задан 0 , то десятичная точка и дробная часть числа не выводятся.

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

Примечание:

Если в команде PRINT не задан ни один параметр, то в файл записывается символ перевода строки.

Если выводимая переменная имеет значение “неопределенно”, то выводится значение “0”.

 

Примеры:

Задано:

 

#15 = 6.79

#25 = 7.9

#256 = -5.78

 

После команды:

PRINT(A=#15(4.2), X=#25(08.3) и переменная #256=#256(6.2) -- дата: @DATE)

В файл будет выведено:

A=6.79, X= 0007.900 и переменная #256= -5.78 -- дата: 21.09.01

 

Задано:

 

#9 = 50

#24 = -0.125

#25 = 1

 

После команды:

PRINT (G1 X#24(08.4) Y-#25(08.4) F#9(3))

В файл будет выведено:

G1 X-00.1250 Y-01.0000 F 50

 

Задано:

 

#500 = 100

#501 = #0

 

После команды:

PRINT (Это часть #501 из #500(3))

В файл будет выведено:

Это часть 0 из 100.

10.9 Выражения

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

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

Выражение состоит из трех элементов: операнды, операторы и круглые скобки. Операнд – это переменная или литеральное число.

Переменная – локальная, общая или системная переменная.

Литеральные числа - константы.

 

Оператор – это функция, которая использует операнды, и возвращает результирующее значение.

Операторами являются простые символы, такие как “+” и “/” или функции типа

SIN() или LOG().

Операторами могут быть условные операторы, такие как “=” или “>”.

Примечание:

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

 

Пример:

В следующем выражении,

#5 = 4+5*9

переменной #5 будет присвоено значение 49, потому что операция умножения имеет больший приоритет, чем сложение, и сначала выполняется эта операция.

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

Следующая таблица определяет приоритетность выполнения операторов в выражении. Чем больше значение “Приоритет ”, тем больше приоритет операции.

Символ

Значение

Приоритет

=

Равно (оператор условия)

1

<>

Не равно (оператор условия)

1

>

Больше (оператор условия)

1

>=

Больше или равно (оператор условия)

1

<

Меньше (оператор условия)

1

<=

Меньше или равно (оператор условия)

1

+

Сложение

2

-

Вычитание

2

|

Логическое ИЛИ

2

&

Логическое И

2

*

Умножение

3

/

Деление

3

%

Остаток от деления

3

+

Унарный плюс

6

-

Унарный минус

6

POPEN

Открытие файла вывода

7

PRINT

Вывод в файл

7

#(

Косвенная адресация

7

ABS

Абсолютное значение

7

ACOS

Арккосинус

7

ASIN

Арксинус

7

ATAN

Арктангенс

7

COS

Косинус

7

EXP

Экспонента

7

FIX

Выделение целой части числа

7

 

FUP

Округление до целого в большую сторону

7

LN

Натуральный логарифм

7

ROUND

Округление числа

7

SIN

Синус

7

SQRT

Квадратный корень

7

TAN

Тангенс

7

В тригонометрических функциях SIN, COS, TAN аргументы задаются в градусах. Для функций ATAN, ASIN, ACOS результаты возвращаются в градусах

Примеры выражений:

 

#4

Простое выражение;

3.14159

Литеральная константа;

#4/2.5

Сложное выражение;

(#1+#5)/3

Сложное выражение с измененным порядком выполнения операций;

(#6<>#8)

Логическое условие;

SIN(#5) / COS(#7)

Применение функций в выражении.

 

При обсуждении синтаксиса параметрического программирования, понятие

“выражение”, подобно приведенным выше, в тексте будет задаваться в виде -

<выраж.>.

В параметрическом программировании выражение используется в следующих четырех синтаксических формах:

· Предложение присвоения;

· Адресное слово;

· Условное выражение;

· Переход.

10.9.1 Предложение присвоения

Предложение присвоения используется для изменения значения переменной, присвоения ей нового значения. Оно может иметь следующие формы:

? #<целое> = <выраж> ; прямое присвоение;

? #(<выраж>) = <выраж> ; косвенное присвоение.

Прямое присвоение меняет значение переменной, которое явно задано.

Пример:

#5 =12.1

#3000=200

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

Пример:

#5 =12

#(#5) = 10 ; Присвоить переменной #12 значение равное 10

#(#5+1)= #0 ; Присвоить переменной #13 значение “неопределенно”

 

10.9.2 Адресное слово

 

Адресное слово с применением выражения, можно задавать в следующих формах:

? x<литерал>

? x(<выраж>)

? x–(<выраж>)

Где:

< литерал > - это литеральные числа - константы, например 1.0, 5, 3.567;

x - это адресное слово, задаваемое буквой латинского алфавита от A

до Z.

 

Примечание

Если после x задан <литерал>, x может быть любой буквой алвавита A-Z.

Переменные (в качестве значений адресных слов)

Если после x задано <выраж>, можно применить буквы от А до Z, за исключением адресных слов D,E,G,H,M,L,N,O,P,T

 

Пример:

#1=#0

#2=3.2

G0 X#1 Y#2 ; то же, что и G0 Y3.2

10.9.3 Условное выражение

Условное выражение задается при помощи следующих операторов условия:

=

Равно

<>

Не равно

>

Больше

>=

Больше или равно

<

Меньше

<=

Меньше или равно

Условное выражение имеет следующий формат: (<выраж>)

или

(<выраж> <условие> <выраж>)

Где:

<условие> - это один из операторов условия приведенных выше.

Эти операторы работают с двумя операндами, и в результате возвращают либо значение 1.0, либо 0.0.

Если выражение условия ИСТИННО, то возвращается 1.0 , если выражение условия ЛОЖНО, возвращается значение 0.0.

 

10.9.4 Переход

Параметрическое программирование позволяет управлять последовательностью выполнения кадров программы. Для управления этой последовательностью используются следующие программные конструкции:

Безусловный переход

E

Условный переход

IF

Останов или прерывание

#3006= n ; останов выполнение УП

#3000= n ; аварийное прерывание выполнения УП

При составлении УП, кадры можно отмечать с помощью адресного словаОтмеченные кадры можно использовать при выполнении переходов на них с помощью E или IF конструкций. Номера отмеченных кадров не должны повторяться.

Переходы могут быть двух типов – условные и безусловные.

10.9.4.1 Безусловный переход

Безусловный переход задается при помощи адресного слова E

При выполнении УП в кадре, где запрограммирована Exxx, выполняется переход на кадр c номером Nxxx.

 

Формат:

Exxx

 

Где:

xxx – любое положительное число указывающее номер кадра, который

должен выполняться после текущего кадра

Пример:

 

N1 G54G90

. . .

E5 ; выполняется переход вперед на кадр N5 X0Y0

. . .

N5 G1 X40 F100

. . .

E5 ; выполняется переход назад на кадр N5.

Примечание:

Если E задан не отдельным кадром, а задан после какого-то адресного слова, то следует после числа обязательно задать пробел, иначе СЧПУ воспримет E как показатель числа 10 для этого слова и использует его для умножения.

При загрузке УП в буфер отработки, если в УП не найден какой-либо кадр N для перехода E, СЧПУ выдаст аварийное сообщение.

 

Для удобства программирования УП, можно в файле макроопределений задать определение (см. Раздел 10.10 Макроопределения), и использовать его в тексте УП.

#define GOTO E

Например, учитывая вышеприведенное макроопределение, можно написать: GOTO5 ; выполняется переход вперед на кадр N5

X0Y0

. . .

N5 G1 X40 F100

. . .

GOTO5 ; выполняется переход назад на кадр N5.

10.9.4.2 Условный переход

Кадр с условием позволяет выполнять в УП, или условный переход, или кадр УП. Кадр с условием задается при помощи слова IF, и имеет следующие форматы:

IF (<выраж><условие><выраж>) <кадр УП> Exxx (<выраж><условие><выраж>)

Где:

· <выраж><условие><выраж> - условное выражение (см. Раздел 8.9.3);

· Exxx - указывет на кадр xxx, на который должен быть выполнен переход;

· <кадр УП> - кадр УП, где могут быть любые команды в кадре - например движения , присвоения, безусловного перехода - Exxx.

Если значение условного выражения ЛОЖНО, то выполняется следующий кадр УП.

Если значение условного выражения ИСТИННО то:

1 для формата задания со словом IF - выполняется предложение, заданное в этом кадре , <кадр УП>, и затем следующий кадр. Если <кадр УП> является командой безусловного перехода, то выполняется команда перехода, и следующий кадр не выполняется;

2 для формата задания с Exxx - выполняется переход на кадр Nxxx.

Пример- переход по условию:

 

IF (#24 = #0 ) E99 ; переход на кадр N99, так как не задан аргумент для X E12 (#5>3) ; переход на кадр N12, если переменная #5 больше трех

Пример - создание цикла в УП:

 

N10 #5 = 0

N20 #5 = #5+1

...

...

N100 IF (#5 < 10) E20 ; переход на кадр N20, пока переменная #5 меньше 10

 

Пример – присвоение:

 

IF (#500 <> 0) #500=0

Для удобства составления УП, можно задать определение в файле макроопределений:

#define GOTO E

и в тексте УП использовать GOTO вместо E.

 

Пример- переход по условию c использованием GOTO:

 

IF (#24 = #0 ) GOTO 99 ; переход на кадр N99, так как не задан аргумент для X.

Пример - создание цикла в УП с использованием GOTO:

 

N10 #5 = 0

N20 #5 = #5+1

...

...

N100 IF (#5 < 10) GOTO 20 ; переход на кадр N20, пока переменная #5 меньше 10.

10.10 Макроопределения

При составлении УП, в тексте программ можно использовать макроопределения, которые заданы в специальном файле определений.

Макроопределения позволяют заменить одну последовательность символов на другую, которая задана в этом файле.

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

Формат задания макроопределения:

#define <слово1> <слово2>

 

Где:

<слово1> - набор латинских букв, цифр и символов без пробелов и не больше 32;

<слово2> - любое допустимое адресное слово или переменная.

Программа MSHAK-CNC при загрузке УП, обнаружит символы <слово1>, выполнит поиск в файле макроопределений соответствующего определения, и заменит его на <cлово2>.

 

Пример- предположим, что есть программа

 

#1=5

#2=10

G1 F1000 X#1 Y#2 IF (#3 = #0) E 45

 

Если мы запишем в файл макроопределений следующие строки,

#define A_VAR #1

#define B_VAR #2

#define C_VAR #3

#define GOTO E

то ту же программу можно написать следующим образом. A_VAR=5

B_VAR=10

G1 F1000 X A_VAR Y B_VAR IF (C_VAR = #0) GOTO 45

В вышеприведенном примере, программа MSHAK-CNC, обнаружив слово A_VAR в тексте УП, выполнит его поиск в файле макроопределений, и заменит это слово на текст #1.

Точно также, для слова GOTO, обнаружив его, СЧПУ заменит его на слово E.

10.11 Организация библиотеки внешних подпрограмм (циклов).

Механизм библиотеки внешних подпрограмм использует подпрограммы с параметрами для организации режима интерактивного программирования СЧПУ, что позволяет:

? выполнять вызов внешних подпрограмм, вместо команды LP, с помощью подготовительной функции G;

? создавать библиотеку подпрограмм: выполнять группировку подпрограмм в виде иерархического списка для быстрого поиска и нахождения нужной

подпрограммы;

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

Все внешние подпрограммы должны находится в каталоге, определяемом параметром SubProgLib файла Profile.cnc.

Для обеспечения функциональности интерактивного программирования циклов в текстовом редакторе программы MSHAK-CNC, организованы два режима работы:

- просмотр списка реализованных циклов в библиотеке и выбора нужного цикла;

- ввод значений параметров для выбранного цикла.

10.11.1 Вызов внешних подпрограмм с помощью подготовительной функции G.

 

Для вызова внешней подпрограммы с помощью функции GXXX необходимо в файле Profile.CNC в секции GCode добавить запись GXXX=2,XXX, которая означает, что реализация функции GXXX происходит с помощью внешней подпрограммы.

Номеру G функции должен соответствовать файл с именем PXXX.NC, в котором в виде УП реализована данная функция.

 

10.11.2 Создание библиотеки подпрограмм

Библиотеки подпрограмм создаются путем объединения подпрограмм в функциональные группы, с целью увеличения удобств поиска и доступа к ним.

Эти группы в виде двухуровневого списка появляться на экране программы

MSHAK-CNC, в режиме интерактивного программирования.

Внешние подпрограммы поддерживаются с помощью двух системных файлов Cycles.dat и CYC_RUS.Dat (CYC_ENG.Dat), которые находятся в каталоге, определяемом параметром SubProgLib.

 

Структура файла Cycles.dat:

 

[COMMON]

SectionNumber = <количество функциональных групп>

[sec1] ; Первая функциональная группа

CyclesNumber = <Количество циклов в первой функциональной группе>

[sec1_cycle1] ; Описание первого цикла

Cycle = <Идентификатор цикла>

ParNumber = < Количество параметров в первом цикле>

par1 = <Описание 1-го параметра >

par2 = <Описание 2-го параметра >

. . . . . . .

parN = <Описание N-го параметра >

. . . . . . .

. . . . . . .

 

[sec1_cycleN] ; Описание N-ого цикла

Cycle = <Идентификатор цикла>

ParNumber = < Количество параметров в N-ом цикле>

par1 = <Описание 1-го параметра >

par2 = <Описание 2-го параметра >

….

parM = <Описание M-го параметра >

Где:

 

SectionNumber - Количество функциональных групп

Sec1, Sec2, …SecN - Функциональные группы

CyclesNumber - Количество циклов в функциональной группе

Cycle - Идентификатор цикла - имеет следующий формат:

G< номер подпрограммы >

Где:

< номер подпрограммы> - Это трехзначное целое число, которое является номером G функции при вызове внешней подпрограммы из УП, а также частью имени файла внешней подпрограммы P< номер подпрограммы>.NC, который хранится в каталоге, определяемый параметром SubProgLib файла Profile.cnc.

 

ParNumber - Количество параметров в цикле

Par1 - Описание параметра имеет следующий формат:

<Символ (Адресное слово)>, [P1], [P2], [P3], [P4], [P5], [P6]

 

Где:

 

<Символ (Адресное слово)> - идентификатор (название) параметра

[P1] – значение параметра по умолчанию. [P2] – минимальное значение параметра. [P3] – максимальное значение параметра.

[P4] – если значение =1, то ввод данного параметра обязателен, если значение =0, то ввод данного параметра необязателен.

[P5] – значение позиции названия параметра на графическом рисунке по горизонтали.

[P6] - значение позиции названия параметра на графическом рисунке по вертикали.

Примечание:

Файлы Р<номер подпрограммы>.NC должны находиться в директории, определяемом параметром SubProgLib.

 

Структура файла Cycles.dat:

 

[sec1]

SectionName = < Назначение первой функциональной группы >

[sec1_cycle1]

CycleName = < Назначение первого цикла первой функциональной группы>

Адресное слово первого параметра = Назначение первого параметра

. . . . . .

Адресное слово N - го параметра = Назначение N-ого параметра

[sec1_cycleM]

CycleName - Назначение M-го цикла первой функциональной группы

Адресное слово первого параметра = Назначение первого параметра

. . . . . .

Адресное слово N - го параметра = Назначение N-ого параметра

. . . . . .

. . . . . .

[secN]

SectionName - Назначение N-ой функциональной группы

[secN_cycle1]

CycleName - Назначение первого цикла N-ой функциональной группы

Адресное слово первого параметра = Назначение первого параметра

. . . . . .

Адресное слово N - го параметра = Назначение N-ого параметра

[secN_cycleM]

CycleName - Назначение M-го цикла N-ой функциональной группы

 

Адресное слово первого параметра = Назначение первого параметра

. . . . . .

Адресное слово N - го параметра = Назначение N-ого параметра

Фактически, файл CYC_RUS.Dat (CYC_ENG.Dat) представляет собой назначение (имена) функциональных групп, назначение отдельных циклов и назначение параметров этих циклов.

10.11.3 Визуализация цикла и интерактивный ввод параметров подпрограмм

 

В поддержку режима интерактивного программирования при разработке внешней подпрограммы создается файл графического рисунка подпрограммы. Этот файл имеет название

Р<номер подпрограммы>.jpg

 

Где: < номер подпрограммы> - Это трехзначное целое число, которое является номером G функции при вызове внешней подпрограммы из УП и определяется в файле Cycles.dat в разделе описание цикла в переменном Cycle =

<Идентификатор цикла>.

Файл Р<номер подпрограммы>. jpg должен находится в директории, определяемый параметром SubProgLib файла Profile.cnc.

На графическом рисунке, для каждого параметра цикла создаются метки. Метка представляет собой символ соответствующей названию параметра.

Местоположение метки на рисунке (координаты по горизонтали и по вертикали) задается в описании параметра в файле Cycles.dat.

Для изменения положения метки, прямо на рисунке подпрограммы необходимо: курсор мыши переместить на нужную метку, нажимая клавишу Shift”,

нажать левую кнопку мыши, и оставляя ее нажатой (“Shift” можно отпускать), переместить метку на экране в нужное положение.

 

ОСНОВНЫЕ ПОЛОЖЕНИЯ

ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ (М - КОДЫ)

ПОРЯДОК ПРОГРАММИРОВАНИЯ

ВЫБОР РАЗНОВИДНОСТИ ДВИЖЕНИЯ

СИСТЕМЫ КООРДИНАТ И РЕФЕРЕНТНАЯ ТОЧКА

КОРРЕКЦИЯ НА РАДИУС ИНСТРУМЕНТА

ОТМЕНА КОРРЕКЦИИ

КОРРЕКЦИЯ НА ПОЛОЖЕНИЕ ИНСТРУМЕНТА

ПОСТОЯННЫЕ ЦИКЛЫ СВЕРЛЕНИЯ И РАСТОЧКИ.

ПРИЛОЖЕНИЕ 1 - ПРИМЕР ПРИМЕНЕНИЯ ПАРАМЕТРИЧЕСКОЙ ПОДПРОГРАММЫ

Photoshop, ArtCAM, AutoCAD,   Corel Draw,  Mash3, PowerMill, G-code,   ArtCAM, Corel Draw, ArtCAM, G-code,   Mash3, Corel Draw, PowerMill, G-code,   KCam4Mash3, AutoCAD, Photoshop,   PowerMill,   ArtCAM, Corel Draw,     AutoCADPowerMill, Photoshop, AutoCAD,   G-code,   AutoCAD, Mash3.

Содержание курса Сorel Draw

Знакомство с программой

Урок 1.1 Обзор интерфейса

Урок 1.2 Главное меню

Урок 1.3 Панель инструментов

Урок 1.4 Панель Standart

Урок 1.5 Использование линеек

Урок 1.6 Настройка сетки

Урок 1.7 Отмена и повтор операций

Урок 1.8 Справочная система

Создание объектов

Урок 2.1 Инструмент Pen

Урок 2.2 Инструмент Freehand

Урок 2.3 Построение прямоугольников

Урок 2.4 Построение эллипсов

Урок 2.5 Автофигуры

Урок 2.6 Перемещение, копирование и удаление

Урок 2.7 Составные объекты

Урок 2.8 Группы объектов

Урок 2.9 Размещение объектов

Урок 2.10 Трансформирование объектов

Работа с цветом и заливками

Урок 3.1 Панель Color и синтез цвета

Урок 3.2 Однородная заливка

Урок 3.3 Градиентная заливка

Урок 3.4 Узорная заливка

Урок 3.5 Текстуры

Урок 3.6 Интерактивные заливки

Урок 3.7 Сетки

Урок 3.8 Использование пипетки

Урок 3.9 Редактирование заливки

Работа с текстом

Урок 4.1 Ввод текста

Урок 4.2 Текстовый блок произвольной формы

Урок 4.3 Сцепка текстовых блоков

Урок 4.4 Выделение текста

Урок 4.5 Размещение текста по контуру

Урок 4.6 Настройка текста: Characters

Урок 4.7 Настройка текста: Paragraph

Урок 4.8 Настройка колонок текста

Урок 4.9 Буквица и списки

Эффекты и модификация объектов

Урок 5.1 Цветовые фильтры

Урок 5.2 Создание тени

Урок 5.3 Прозрачность

Урок 5.4 Создание объемных объектов

Урок 5.5 Использование огибающих

Урок 5.6 Редактирование огибающих

Урок 5.7 Деформация Push and Pull

Урок 5.8 Деформация Zipper

Урок 5.9 Деформация скручивания

Растровые изображения

Урок 6.1 Импортирование изображений

Урок 6.2 Преобразование в растровый формат

Урок 6.3 Автоматическая векторизация

Урок 6.4 Настройка цвета

Урок 6.5 Точечные фильтры

Линзы

Урок 7.1 Типы линз

Урок 7.2 Режим Viewpoint

Урок 7.3 Увеличительная линза и линза прозрачности

Урок 7.4 Осветляющая линза

Урок 7.5 Контурная линза

 

Содержание курса Photoshop

Знакомство с интерфейсом Photoshop

Урок 1.1 Обзор интерфейса

Урок 1.2 Главное меню

Урок 1.3 Панель инструментов

Урок 1.4 Панель параметров

Урок 1.5 Сетка и направляющие

Урок 1.6 Дополнительные палитры

Урок 1.7 Работа с файлами

Создание и выделение объектов

Урок 2.1 Создание линий

Урок 2.2 Прямоугольники и окружности

Урок 2.3 Многоугольники и произвольные фигуры

Урок 2.4 Векторные операции

Урок 2.5 Текстовые блоки

Урок 2.6 Выделяющие рамки

Урок 2.7 Выделение инструментами Lasso

Урок 2.8 Инструменты Crop и Slice

Обработка изображений

Урок 3.1 Инструменты Clone Stamp и Pattern Stamp

Урок 3.2 Инструменты группы Eraser

Урок 3.3 Инструменты Blur и Sharpen

Урок 3.4 Инструменты Smudge и Dodge

Урок 3.5 Инструменты Burn и Sponge

Урок 3.6 Создание обводки

Урок 3.7 Трансформация объектов

Цвета и стили

Урок 4.1 Палитры Color и Styles

Урок 4.2 Режимы смешения цветов

Урок 4.3 Диалог Color Picker

Урок 4.4 Создание заливки

Урок 4.5 Создание градиента

Урок 4.6 Использование стилей

Работа со слоями

Урок 5.1 Палитра Layers

Урок 5.2 Создание нового слоя

Урок 5.3 Операции над слоями

Урок 5.4 Эффекты: Тень

Урок 5.5 Эффекты: Свечение

Урок 5.6 Эффекты: Скос с рельефом

Урок 5.7 Эффекты: Градиентное покрытие

Урок 5.8 Эффекты: Обводка

Урок 5.9 Эффекты: Атлас

Использование фильтров

Урок 6.1 Фильтр Glass

Урок 6.2 Фильтр Twirl

Урок 6.3 Фильтр Wave

Урок 6.4 Фильтр Сrystallize

Урок 6.5 Фильтр Lens Flare

Урок 6.6 Фильтр Bas Relief

Урок 6.7 Фильтр Conte Crayon

Урок 6.8 Фильтр Plaser

Урок 6.9 Фильтр Emboss

Урок 6.10 Фильтр Wind

Обработка и печать документов

Урок 7.1 Изменение параметров изображения

Урок 7.2 Поворот и отражение изображения

Урок 7.3 Наложение изображений

Урок 7.4 Автоматические операции

Урок 7.5 Регулировка положения изображения

Урок 7.6 Настройка печати

Настройка параметров программы

Урок 8.1 Общие параметры

Урок 8.2 Параметры отображения

Урок 8.3 Параметры направляющих и сетки

Урок 8.4 Параметры прозрачности и цветов

Урок 8.5 Единицы измерения и линейки

 

Содержание курса ArtCAM

Понятие о ArtCAM

Информация о ArtCAM

Использование Справочного руководства ArtCAM

Сравнение растра, вектора и рельефа ArtCAM

Что такое вектор?

Что такое растр?

Что такое Рельеф?

Интерфейс ArtCAM

Внешний вид ArtCAM

Управление 2D видом

Управление 3D видом

Использование Панели инструментов

Использование графических окон

Работа с моделями

Работа с растром

Работа с векторами

Редактирование векторов

Работа с векторным текстом

Преобразование векторов

Работа с рельефами

Использование редактора формы

Создание формы с помощью векторов

Создание форм вытягивания

Создание формы поворотом

Управление и редактирование рельефов

Создание кольца

Пример наложения текстуры

Интерактивный скульптор

Удаление отверстий с поверхности рельефа

Создание вида оттенков из рельефа

Вращение составного рельефа или триангулированной модели

Редактирование и управление рельефами

Использование 3D шаблонов

Вставка рельефа вдоль вектора

Инвертирование рельефа

Сглаживание рельефа

Масштабирование рельефа

Масштабирование объема

Зеркальное отражение рельефа

Смещение рельефа

Обнуление рельефа

Восстановление рельефа

Обработка моделей

Управление и изменение УП ArtCAM

Визуализация УП

Использование базы инструмента

Операции с УП

Обновление ArtCAM

Mach3/AutoCAD/G-code

Mach3

Экраны и команды Mach3. Введение

Установка ПО Mach3

Начальное конфигурирование

Выбор Входных и Выходных сигналов, предполагаемых к использованию

Задание единиц

Настройки двигателей

Другие конфигурации

Как сохраняется информация Профиля

AutoCAD

Инструменты AutoCAD

Доступ к традиционной строке меню

Окно командной строки

Инструментальные палитры

Центр управления

Обозреватель контента

Адаптация рабочей среды

Восстановление файлов чертежей

Панорамирование или зумирование вида

Использование инструментов просмотра

G-code

ОСНОВНЫЕ ПОЛОЖЕНИЯ

ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ (М - КОДЫ)

ПОРЯДОК ПРОГРАММИРОВАНИЯ

ВЫБОР РАЗНОВИДНОСТИ ДВИЖЕНИЯ

СИСТЕМЫ КООРДИНАТ И РЕФЕРЕНТНАЯ ТОЧКА

КОРРЕКЦИЯ НА РАДИУС ИНСТРУМЕНТА

ОТМЕНА КОРРЕКЦИИ

КОРРЕКЦИЯ НА ПОЛОЖЕНИЕ ИНСТРУМЕНТА

ПОСТОЯННЫЕ ЦИКЛЫ СВЕРЛЕНИЯ И РАСТОЧКИ.

МНОГООПЕРАЦИОННЫЕ ЦИКЛЫ

ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ПРИЛОЖЕНИЕ 1 - ПРИМЕР ПРИМЕНЕНИЯ ПАРАМЕТРИЧЕСКОЙ ПОДПРОГРАММЫ

 

РУБИКОН Группа «Мозаика», ИЕРОГЛИФ ГРУППА «ПИКНИК», В ПОЛЁТ ГРУППА «ТЯЖЕЛЫЙ ДЕНЬ», Группа «Алиса», Бенни Гудмен, Равноденствие ГРУППА «АКВАРИУМ», Элтон Джон Твоя песня, Демон Группа «Август», Deep Purple – The House Of Blue Light, «Лед Зеппелин» Led Zeppelin, «Акцепт», Doors, «Металлика», АНСАМБЛЬ „UB 40", группа «Зоопарк», рок-группа «ЗОДИАК», «Браво», «Кино», Rolling Stones «Роллинг стоунз», РОК-ГРУППА «МАШИНА ВРЕМЕНИ»,«Кокто твинз», Группа «ДИАЛОГ», Bill Evans, Джимми Лансфорд, Флетчера Хендерсона, Дюк Эллингтон, Каунт Бейси, АНСАМБЛЬ "THE MOODY BLUES", Элвис Пресли, "Юнона" и "Авось" , Дж. Верди Реквием G.Verdi Requiem Mass, Элтон Джон, Реджинальд Кеннет Дуайт, АББА, ABBA, “Deep Purple”, «ЧЕЛОВЕК С БУЛЬВАРА КАПУЦИНОВ», “Rolling Stone”, Instrumrutal rock group Zodiac,‘‘Long Tall Ernie and The Shakers”, “The Beatles”, "Tom Fcgerty and The Blue Velvets", "Creedruce Clearwater Revival","Greru River" "Bayou Country", "Willy and The Poorboys", Varnishing Day Songs on Ilya Reznik's lirics , Leo Sayer ЛЕО СЕЙЕР, Boney M,"Waiting For The Sun", Doors «ДОРЗ», "Piper At The Gates Of Dawn", Led Zeppelin ? «ЛЕД ЗЕППЕЛИН», Rolling Stones , "Юнона" и "Авось" Опера Либретто, «РОЛЛИНГ СТОУНЗ», Modern talking,"Aftermath", «ДОМ ГОЛУБОГО СВЕТА», "Out Of Our Heads", Ricchi E Poveri, PINK FLOYD «Пинк Флойд», Vladimir Kuzmin, ПОЛ МАККАРТНИ Paul McCartney, «TWruTY FLIGHT ROCK», Creedruce Clearvater revival Traveling band,«LAWDY. MISS CLAWDY», «BRING IT ON HOME TO ME», Light My Fire,«DON'T GET AROUND MUCH ANY MORE», МУЗЫКАЛЬНЫЙ ТЕЛЕТАЙП-3,«I'М GONNA BE A WHEEL SOME DAY», МОДЕРН ТОКИНГ,«AINT THAT A SHAME», «THAT'S ALL RIGHT (МАМА)», АНСАМБЛЬ UB 40, «JUST BECAUSE», МИГЕЛЬ РАМОС, «SUMMERTIME», "АНСАМБЛЬ "THE MOODY BLUES", «CRACKIN UP», ТНЕ СОММОDORES, «MIDNIGHT SPECIAL», АННА ГEРМАН, Deep Purple «ДИП ПЁРПЛ», „Deep Purple in Rock", Андрей Миронов, Олег Табаков, Михаил Боярский, Николай Караченцов, Альберт Филозов, Олег Анофриев, Игорь Кваша, Леонид Ярмольник, ИЛЬЯ РЕЗНИК , Резанов Николай Петрович, ВЛАДИМИР ВЫСОЦКИЙ, Роджер Уотерс, АЛЕКСАНДР РОЗЕНБАУМ, Ричард Райт и Ник Мэйсон, ВЛАДИМИР КУЗЬМИН, Элвис Аарон Пресли, Leo Sayer, АДРИАНО ЧЕЛЕНТАНО, Билл Эванс, Клаудия Мори....

и это еще не конец.

С уваженим Dron!

Mach3/AutoCAD/G-code

Mach3

Экраны и команды Mach3. Введение

Установка ПО Mach3

Начальное конфигурирование

Выбор Входных и Выходных сигналов, предполагаемых к использованию

Задание единиц

Настройки двигателей

Другие конфигурации

Как сохраняется информация Профиля

AutoCAD

Инструменты AutoCAD

Доступ к традиционной строке меню

Окно командной строки

Инструментальные палитры

Центр управления

Обозреватель контента

Адаптация рабочей среды

Восстановление файлов чертежей

Панорамирование или зумирование вида

Использование инструментов просмотра

G-code

ОСНОВНЫЕ ПОЛОЖЕНИЯ

ВСПОМОГАТЕЛЬНЫЕ ФУНКЦИИ (М - КОДЫ)

ПОРЯДОК ПРОГРАММИРОВАНИЯ

ВЫБОР РАЗНОВИДНОСТИ ДВИЖЕНИЯ

СИСТЕМЫ КООРДИНАТ И РЕФЕРЕНТНАЯ ТОЧКА

КОРРЕКЦИЯ НА РАДИУС ИНСТРУМЕНТА

ОТМЕНА КОРРЕКЦИИ

КОРРЕКЦИЯ НА ПОЛОЖЕНИЕ ИНСТРУМЕНТА

ПОСТОЯННЫЕ ЦИКЛЫ СВЕРЛЕНИЯ И РАСТОЧКИ.

МНОГООПЕРАЦИОННЫЕ ЦИКЛЫ

ПАРАМЕТРИЧЕСКОЕ ПРОГРАММИРОВАНИЕ

ПРИЛОЖЕНИЕ 1 - ПРИМЕР ПРИМЕНЕНИЯ ПАРАМЕТРИЧЕСКОЙ ПОДПРОГРАММЫ

 

CashBack Все честно и без обмана

CashBack Возврат денег

Яндекс.Метрика