آج کل، بہت سے CNC تکنیکی ماہرین میکرو پروگراموں کو نہیں سمجھتے ہیں۔ وہ سوچتے ہیں کہ خودکار پروگرامنگ سافٹ ویئر کے ساتھ، انہیں میکرو پروگرام سیکھنے کی ضرورت نہیں ہے۔ درحقیقت میکرو پروگرامز کے افعال بہت طاقتور ہوتے ہیں۔ مثال کے طور پر، کچھ بیچ اور بار بار پروگرام لکھنے کے لیے، آپ کو میکرو پروگرام استعمال کرتے وقت صرف چند ڈیٹا کو تبدیل کرنے کی ضرورت ہے۔ بار بار پروگرامنگ کی ایک بڑی تعداد کی ضرورت نہیں ہے، جو آپریشن کو بہت آسان بنا سکتی ہے اور کام کی کارکردگی کو بہت بہتر بنا سکتی ہے۔
میکرو پروگرام ریاضی کی کارروائیوں، منطق کی کارروائیوں اور افعال کے مخلوط آپریشنز کو انجام دینے کے لیے متغیرات کا استعمال کر سکتے ہیں، اور لوپ اسٹیٹمنٹس، برانچ اسٹیٹمنٹس اور سب روٹین کال اسٹیٹمنٹس بھی فراہم کرسکتے ہیں۔
عام طور پر بولیں: میکرو پروگرام ایک ہی گرافکس کے ساتھ لیکن مختلف سائز کے حصوں کی ایک سیریز کی پروگرامنگ کے لیے موزوں ہے۔ یہ ایک ہی عمل کے راستے کے ساتھ لیکن مختلف پوزیشن کے پیرامیٹرز کے ساتھ حصوں کی ایک سیریز کی پروگرامنگ کے لیے موزوں ہے۔ یہ پارابولاس، بیضوی، ہائپربولاس اور دیگر منحنی خطوط کے پروگرامنگ کے لیے بغیر انٹرپولیشن ہدایات کے موزوں ہے۔
01
متغیرات کی نمائندگی اور استعمال
1. متغیر نمائندگی
#I(I=1,2,3,…) یا #[
مثال: #5، #109، #501، #[#1 جمع #2-12]
دوسرا، متغیرات کا استعمال
1. ایڈریس کے لفظ کے بعد متغیر نمبر یا فارمولہ کی وضاحت کریں۔
فارمیٹ:
یہاں "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
میکرو پروگرام میں مقامی طور پر استعمال ہونے والا متغیر، اس کے آپریشن کا نتیجہ دوسرے پروگراموں کے ذریعے استعمال نہیں کیا جا سکتا۔
مثال: ایک میکرو پروگرام B میکرو پروگرام
...
#10=20 X#10 کا مطلب X20 نہیں ہے۔
...
یہ پاور آف ہونے کے بعد صاف ہو جائے گا، اور میکرو پروگرام کو کال کرنے پر متغیر ویلیو بھر جائے گی۔
2. عوامی متغیرات #100~#199، #500~#999
ہر صارف کے میکرو پروگرام میں مشترکہ متغیر کسی بھی پروگرام کال میں ایک ہی آپریشن کا نتیجہ رکھتا ہے۔
مثال: جب اوپر کی مثال میں #10 کو #100 میں تبدیل کیا جاتا ہے،
X#100 کا مطلب ہے X20
#100~#149 بجلی بند ہونے کے بعد خالی
#500~#531 مستقل متغیرات (پاور آف ہونے کے بعد ضائع نہیں ہوتے)
3. سسٹم متغیرات
فکسڈ پرپز متغیر جس کی قیمت سسٹم کی حالت پر منحصر ہے۔
مثال: #2001 نمبر 1 ٹول کمپنسیشن کی X-axis معاوضہ قیمت ہے۔
#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[راؤنڈ[#1] جمع راؤنڈ[#2]]؛
4) اگر راؤنڈنگ کے بعد مطلق قدر اصل قدر سے زیادہ ہے، تو اسے گول کر دیا جائے گا، بصورت دیگر اسے گول کر دیا جائے گا۔
مثال: جب #1=1.2، #2=-1.2
اگر #{{0}FUP[#1]، تو #3=2.0
اگر #{{0}} درست کریں[#1]، تو #3=1.0
اگر #{{0}}FUP[#2]، تو #3=-2.0
اگر #{{0}} درست کریں[#2]، تو #3=-1.0
5) کسی فنکشن کو کمانڈ کرتے وقت صرف پہلے دو حروف لکھے جا سکتے ہیں۔
مثال: ROUND→RO
FIX→FI
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؛
GOTO #10؛
2. مشروط منتقلی
اگر [
اگر
اگر مطمئن نہ ہو تو اگلے بلاک پر عمل کریں۔
اگر [
اگر
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[
…
…
…
ENDm
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;
جبکہ [#2LE10] DO1;
#1=#1 جمع #2؛
#2=#2 جمع #1؛
END1;
M30;




