May 15, 2023 Остави съобщение

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

 

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

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

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


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 също могат да бъдат константи
Дясната страна на израза е числото на променливата, изразът

1. Определение

#I=#j

2. Аритметични действия

#I=#j плюс #k
#I=#j-#k
#I=#j*#k
#I=#j/#k

3. Логически операции

#I=#JOK#k
#I=#JXOK#k
#I=#JAND#k

4. Функция

снимка

#I=SIN[#j] синус
#I=COS[#j] косинус
#I=TAN[#j] допирателна
#I=ATAN[#j] дъгова допирателна
#I=SQRT[#j] корен квадратен
#I=ABS[#j] абсолютна стойност
#I=ROUND[#j] Закръгляване
#I=FIX[#j] закръглете
#I=FUP[#j] Закръглете надолу
#I=BIN[#j] BCD→BIN (двоичен)
#I=BCN[#j] BIN→BCD

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

Имейл

Запитване