Jun 12, 2023 Остави съобщение

Макро програма безполезна? Това е, защото не можете да се гримирате!

 

В днешно време много техници с ЦПУ не разбират макро програми. Те смятат, че със софтуера за автоматично програмиране не е нужно да учат макро програми. Всъщност функциите на макро програмите са много мощни. Например, за да напишете някои пакетни и повтарящи се програми, трябва да промените само няколко данни, когато използвате макро програми. Няма нужда от голям брой повтарящи се програми, което може значително да опрости операциите и значително да подобри ефективността на работа.

Макропрограмите могат да използват променливи за извършване на смесени операции от аритметични операции, логически операции и функции, както и да предоставят оператори за цикъл, оператори за разклоняване и оператори за извикване на подпрограма.

Най-общо казано: макропрограмата е подходяща за програмиране на серия от части с еднакви графики, но с различни размери; подходящ е за програмиране на серия от детайли с еднакъв път на процеса, но с различни параметри на позицията; подходящ е за програмиране на параболи, елипси, хиперболи и други криви без инструкции за интерполация.


01
Представяне и използване на променливи

1. Променливо представяне

#I(I=1,2,3,…) или #[]
Пример: #5, #109, #501, #[#1 плюс #2-12]

Второ, използването на променливи

1. Посочете номера на променливата или формулата след адресната дума
формат:

#I
Тук "I" означава променливо число
Пример: F#103, ако #103=15, тогава е F15
Z-#110, ако #110=250, това е Z-250
X[#24 плюс #18*COS[#1]]

2. Променливото число може да бъде заменено с променлива
Пример: #[#30], ако #30=3, ще бъде #3

3. Променливите не могат да използват адреси O, N, I
Пример: Разрешени са следните методи
O#1;
I#2 6.00×100.0;
N#3 Z200.0;

4. Променливата, съответстваща на номера на променливата, има определен диапазон от стойности за всеки адрес
Пример: когато #30=1100, M#30 не е разрешено

5. #0 е празна променлива, а променлива без дефинирана стойност на променлива също е празна променлива

6. Дефиниция на променлива стойност:
Десетичната запетая може да бъде пропусната, когато програмата е дефинирана, например: #123=149


02
тип променлива

Добавете снимки към WeChat: mvm9987 ще изпрати CNC урок

1. Локални променливи #1~#33

Променлива, използвана локално в макропрограма, резултатът от нейната операция не може да се използва от други програми.
Пример: A макро програма B макро програма
...
#10=20 X#10 не означава X20
...
Тя ще бъде изчистена след изключване на захранването и стойността на променливата ще бъде попълнена, когато се извика макро програмата

2. Публични променливи #100~#199, #500~#999

Общата променлива във всяка потребителска макропрограма има същия резултат от операцията при всяко извикване на програмата.
Пример: Когато #10 в горния пример се промени на #100,
X#100 означава X20
#100~#149 Изпразване след изключване на захранването
#500~#531 Постоянни променливи (не се губят след изключване на захранването)

3. Системни променливи

Променлива с фиксирана цел, чиято стойност зависи от състоянието на системата
Пример: #2001 е стойността на компенсация по оста X на компенсация на инструмент №1
Стойността на #5221 е стойността на отместването на началната точка на детайла за X ос G54
При въвеждане трябва да се въведе десетична запетая, а единицата е μm, когато десетичната запетая е пропусната


03
Инструкция за работа

Дясната страна на израза може да бъде константи, променливи, функции, изрази
Във формулата #j и #k също могат да бъдат константи
Дясната страна на израза е числото на променливата, изразът


4. Функция

снимка

1) Ъглите са в градуси
Пример: 90 градуса и 30 минути са 90,5 градуса

2) Двете дължини на страните след функцията ATAN трябва да бъдат разделени с "/"
Пример: #{{0}}ATAN[1]/[-1], #1 е 35,0

3) ROUND се използва за адреса в извлечението, закръглен нагоре според минималната единица за настройка на всеки адрес
Пример: Комплект #1=1.2345, #2=2.3456, единицата за настройка е 1μm
G91 X-#1; X-1.235
X-#2 F300; X-2.346
X[#1 плюс #2]; X3.580
не се връща и трябва да бъде заменен от
X[ROUND[#1] плюс ROUND[#2]];

4) Ако абсолютната стойност след закръгляване е по-голяма от първоначалната стойност, тя ще бъде закръглена нагоре, в противен случай ще бъде закръглена надолу
Пример: Когато #1=1.2, #2=-1.2
Ако #{{0}}FUP[#1], тогава #3=2.0
Ако #{{0}}FIX[#1], тогава #3=1.0
Ако #{{0}}FUP[#2], тогава #3=-2.0
Ако #{{0}}FIX[#2], тогава #3=-1.0

5) При командване на функция могат да се изписват само първите две букви
Пример: ROUND→RO
КОРЕКЦИЯ→ФИ

6) Приоритет
Функция → умножение и деление (*, 1, И) → събиране и изваждане (плюс, -, ИЛИ, XOR)
Пример: #1=#2 плюс #3*SIN[#4];

7) Скобите са квадратни скоби, до 5 пъти, и скобите се използват за коментари
Пример: #1=SIN[[[#2 плюс #3]*#4 плюс #5]*#6]; (3 тежести)


04
Инструкции за разклоняване и цикъл

1. Безусловно прехвърляне

Формат: GOTO n;

Безусловно разклоняване към блок n
n: номер на блок (1-99999)
n също може да бъде заменено с променливи или изрази
goto10;
МИНЕТЕ НА #10;

2. Условен трансфер

АКО [] GOTO n;
Акое удовлетворено, следващата операция ще прехвърли към блок с номер на блок n.
Ако не сте удовлетворени, изпълнете следващия блок.

АКО [] ТОГАВА ... ;
Акое удовлетворено, операторът на макропрограмата след THEN се изпълнява и се изпълнява само един оператор.
IF[#1EQ #2] THEN #3=0;

Условен израз:
снимка
#j и #k също могат да бъдат заменени с

Пример: IF[#1 GT 10] GOTO 100;

N100 G00 G91 X10;
Пример: Намерете сумата от 1 до 10
O9500;
#1=0
#2=1
N1 АКО [#2 GT10] МИНЕТЕ НА 2
#1=#1 плюс #2;
#2=#2 плюс 1;
МИНЕТЕ НА 1
N2 M30

3. Цикъл

Формат: WHILE[]DO m; (m=1, 2, 3)



КРАЙ м

1. Когато условията са изпълнени, изпълнете DOm до ENDm, след това от програмния сегмент на DOm
Ако не е удовлетворено, изпълнете програмния сегмент след ENDm
2. Ако пропуснете оператора WHILE и имате само DOm...ENDm, ще се формира безкраен цикъл от DOm до ENDm
3. гнездене
4. EQ NE, празен и "0" са различни
На други места null е същото като "0"

Пример: Намерете сумата от 1 до 10
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1 плюс #2;
#2=#2 плюс #1;
КРАЙ1;
M30;

 

Изпрати запитване

whatsapp

skype

Имейл

Запитване