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. متغیر مربوط به عدد متغیر دارای محدوده مقدار مشخصی برای هر آدرس است
مثال: وقتی #{0}}، M#30 مجاز نیست

5. #0 یک متغیر خالی است و یک متغیر بدون مقدار متغیر تعریف شده نیز یک متغیر خالی است.

6. تعریف مقدار متغیر:
نقطه اعشار را می توان زمانی که برنامه تعریف می شود حذف کرد، به عنوان مثال: #123=149


02
نوع متغیر

اضافه کردن تصاویر به WeChat: mvm9987 یک آموزش CNC ارسال می کند

1. متغیرهای محلی #1~#33

متغیری که به صورت محلی در یک برنامه ماکرو استفاده می شود، نتیجه عملیات آن توسط برنامه های دیگر قابل استفاده نیست.
مثال: یک برنامه کلان 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 است
هنگام وارد کردن باید یک نقطه اعشار وارد شود و در صورت حذف نقطه اعشار، واحد میکرومتر است


03
دستورالعمل اجرایی

سمت راست عبارت می تواند ثابت، متغیر، توابع، عبارات باشد
در فرمول، #j و #k نیز می توانند ثابت باشند
سمت راست عبارت متغیر عدد، عبارت است

1. تعریف

#I=#j

2. عملیات حسابی

#I=#j به علاوه #k
#I=#j-#k
#I=#j*#k
#I=#j/#k

3. عملیات منطقی

#من=#JOK#k
#I=#JXOK#k
#من=#JAND#k

4. عملکرد

تصویر

#I=SIN[#j] sine
#I=COS[#j] کسینوس
مماس #I=TAN[#j]
#I=ATAN[#j] مماس کمانی
#I=SQRT[#j] ریشه مربع
مقدار مطلق #I=ABS[#j]
#I=ROUND[#j] در حال گرد کردن
#I=اصلاح[#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}}رفع[#2]، سپس #3=-1.0

5) هنگام فرمان دادن به یک تابع، فقط دو حرف اول را می توان نوشت
مثال: ROUND→RO
رفع → فی

6) اولویت
تابع → ضرب و تقسیم (*، 1، AND) → جمع و تفریق (به علاوه، -، OR، XOR)
مثال: #1=#2 به علاوه #3*SIN[#4];

7) پرانتزها تا 5 برابر مربع هستند و از براکت ها برای اظهار نظر استفاده می شود.
مثال: #1=SIN[[[#2 plus #3]*#4 plus #5]*#6]; (3 وزن)


04
دستورالعمل های شاخه و حلقه

1. انتقال بدون قید و شرط

فرمت: GOTO n;

انشعاب بدون قید و شرط به بلوک n
n: شماره بلوک (1-99999)
n را نیز می توان با متغیرها یا عبارات جایگزین کرد
goto10;
GOTO #10;

2. انتقال مشروط

اگر [] GOTO n;
اگرراضی است، عملیات بعدی به بلوک با شماره بلوک n منتقل می شود.
در صورت عدم رضایت، بلوک بعدی را اجرا کنید.

اگر [] سپس ... ؛
اگرراضی است، دستور برنامه ماکرو بعد از THEN اجرا می شود و تنها یک دستور اجرا می شود.
IF[#1EQ #2] سپس #3=0;

بیان شرطی:
تصویر
#j و #k را نیز می توان جایگزین کرد

مثال: IF[#1 GT 10] GOTO 100;

N100 G00 G91 X10;
مثال: مجموع 1 تا 10 را پیدا کنید
O9500;
#1=0
#2=1
N1 IF [#2 GT10] GOTO 2
#1=#1 به علاوه #2;
#2=#2 به علاوه 1;
برو 1
N2 M30

3. چرخه

قالب: WHILE[]DO m; (m=1، 2، 3)



ENDm

1. وقتی شرایط برآورده شد، DOm را به ENDm و سپس از بخش برنامه DOm اجرا کنید.
اگر ارضا نشد، بخش برنامه را بعد از ENDm اجرا کنید
2. اگر دستور WHILE را حذف کنید و فقط DOm...ENDm داشته باشید، یک حلقه بی نهایت از DOm به ENDm تشکیل می شود.
3. لانه سازی
4. EQ NE، خالی و "{1}}" متفاوت هستند
در جای دیگر، null همان "0" است

مثال: مجموع 1 تا 10 را پیدا کنید
O0001;
#1=0;
#2=1;
WHILE [#2LE10] DO1;
#1=#1 به علاوه #2;
#2=#2 به علاوه #1;
پایان 1;
M30;

 

 

ارسال درخواست

whatsapp

skype

ایمیل

پرس و جو