ปัจจุบัน ช่างเทคนิค CNC จำนวนมากไม่เข้าใจโปรแกรมมาโคร พวกเขาคิดว่าด้วยซอฟต์แวร์เขียนโปรแกรมอัตโนมัติ พวกเขาไม่จำเป็นต้องเรียนรู้โปรแกรมมาโคร อันที่จริงแล้วการทำงานของโปรแกรมมาโครนั้นมีประสิทธิภาพมาก ตัวอย่างเช่น ในการเขียนโปรแกรมแบบแบตช์และโปรแกรมซ้ำๆ คุณจะต้องเปลี่ยนข้อมูลเพียงเล็กน้อยเมื่อใช้โปรแกรมมาโคร ไม่จำเป็นต้องตั้งโปรแกรมซ้ำจำนวนมาก ซึ่งช่วยลดความยุ่งยากในการทำงานและปรับปรุงประสิทธิภาพการทำงานได้อย่างมาก
โปรแกรมแมโครสามารถใช้ตัวแปรเพื่อดำเนินการผสมของการดำเนินการทางคณิตศาสตร์ การดำเนินการทางตรรกะและฟังก์ชัน และยังจัดเตรียมคำสั่งวนซ้ำ คำสั่งสาขา และคำสั่งเรียกรูทีนย่อย
โดยทั่วไป: โปรแกรมมาโครเหมาะสำหรับการเขียนโปรแกรมชุดของชิ้นส่วนที่มีกราฟิกเดียวกันแต่มีขนาดต่างกัน เหมาะสำหรับการเขียนโปรแกรมชุดชิ้นส่วนที่มีเส้นทางกระบวนการเดียวกันแต่มีพารามิเตอร์ตำแหน่งต่างกัน เหมาะสำหรับการเขียนโปรแกรมพาราโบลา วงรี ไฮเปอร์โบลา และเส้นโค้งอื่นๆ โดยไม่ต้องมีคำแนะนำในการประมาณค่า
01
การเป็นตัวแทนและการใช้ตัวแปร
1. การแสดงตัวแปร
#I(I=1,2,3,…) หรือ #[
ตัวอย่าง: #5, #109, #501, #[#1 บวก #2-12]
ประการที่สอง การใช้ตัวแปร
1. ระบุหมายเลขตัวแปรหรือสูตรหลังคำที่อยู่
รูปแบบ:
ที่นี่ "ฉัน" หมายถึงจำนวนตัวแปร
ตัวอย่าง: 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 คือค่าชดเชยแกน X ของการชดเชยเครื่องมือหมายเลข 1
ค่า #5221 คือค่าออฟเซ็ตจุดกำเนิดของชิ้นงาน G54 แกน X
ต้องป้อนจุดทศนิยมเมื่อป้อน และหน่วยเป็น μ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}}FIX[#1] ดังนั้น #3=1.0
ถ้า #{{0}}FUP[#2] ดังนั้น #3=-2.0
ถ้า #{{0}}FIX[#2] ดังนั้น #3=-1.0
5) เมื่อสั่งการฟังก์ชัน จะเขียนได้เฉพาะตัวอักษรสองตัวแรกเท่านั้น
ตัวอย่าง: ROUND→RO
แก้ไข→FI
6) ลำดับความสำคัญ
ฟังก์ชัน → การคูณและการหาร (*, 1, และ) → การบวกและการลบ ( บวก , -, OR, 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 ยังสามารถแทนที่ด้วยตัวแปรหรือนิพจน์
ไปที่ 10;
ไป #10;
2. การถ่ายโอนแบบมีเงื่อนไข
ถ้า [
ถ้า
หากไม่พอใจให้ดำเนินการบล็อกถัดไป
ถ้า [
ถ้า
ถ้า[#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. วงจร
รูปแบบ: ในขณะที่[
…
…
…
ENDม
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;




