ข้อความโดย: Support (OA)
« เมื่อ: 08 กันยายน 2562, เวลา 23:17:46 น. »ขอบคุณกระทู้นี้สำหรับการตั้งค่า Zero tool
https://www.bloggang.com/m/viewdiary.php?id=paa&month=03-2010&date=17&group=3&gblog=1
https://www.bloggang.com/m/viewdiary.php?id=paa&month=03-2010&date=17&group=3&gblog=1
อ้างถึง
ส่วนนี่คือ VB script code ที่ใช้ ฝังลงไปกับ ปุ่ม "Auto Tool Zero" ครับ
*** มีการแทรกภาษาไทยลงไปเพื่อ อธิบาย ในบางส่วน เวลา Copy ไปลงก็ตัดออกก็ได้นะครับ ***อ้างถึง#################################################
' ให้เครดิตกับ -> Z เป็นศูนย์แมโครโดย Scott Worden - การสร้าง Timber Lake (และเคล็ดลับ "Probe Var" เล็กน้อยจาก Brian ;-)
'แก้ไขครั้งล่าสุดสำหรับภาษาไทยโดยธัญญาบุญศิริ (12/09/2552)
CurrentFeed = GetOemDRO(818) 'อ่านค่า Feed rate ปัจจุบันที่เครื่องใช้อยู่
PlateThickness = 16.1 'ความหนาของแผ่น PCB ที่ใช้อาจจะไม่เท่ากันทุกแผ่นฉะนั้นโปรดวัดและแก้ไขในส่วนนี้ (เอาเวอร์เนียวัดเอานะครับจะได้ชัวร์หน่อย)
ProbeFeed = 20 'ความเร็วในการเลื่อนแกน Z ลงมาแตะ Plate ค่านี้เหมาะสมดีแล้ว หรืออยากแต่งให้เร็วขึ้นก็ตามแต่ความเหมาะสมของแต่ละเครื่องครับ
Code "G90 F" &ProbeFeed
If GetOemLed (825)=0 Then 'ทำการตรวจสอบสัญญาณ Probe ว่าเป็น logic LOW อยู่หรือไม่, ถ้าไม่จะโดดลงไปทำคำสั่งถัดไป
Code "G4 P5" 'Time to get to the z-plate 'กำหนดการหน่วงเวลาไว้ 5 วินาที (คำสั่ง DWELL) ก่อนจะกระโดดไปทำคำสั่งถัดไป
Code "G31Z-5 F" &ProbeFeed 'กำหนดให้ใช้ Probe ในการเลื่อนไปเรื่อยๆในแนวแกน Z ไปยังพิกัดที่ระบุ ในที่นี้คือ -5 นั่นคือค่าระยะสูงสุด หากพ้นระยะนี้ จะถือว่าสิ้นสุดโปรแกรม
While IsMoving() 'แกน Z จะเลื่อนไปเรื่อย..จนกระทั่ง Mach3 ทำการตรวจสอบตำแหน่งของแกน Z ว่าถึง limit ที่ตั้งไว้หรือยัง หรือว่าสัญญาณที่ขา Probe มีการ Active แล้ว
Wend
Code "G4 P0.25" 'หน่วงเวลาประมาณ 0.25 วินาที
ZProbePos = GetVar(2002) ' ทำการอ่านค่าจาก Registry ของ Mach3 ซึ่งจากเอกสารระบุว่าถ้าต้องการอ่านค่าแกน Z ให้ใช้ Adress 2002 (X=2000,Y=2001,Z=2002,A=2003,B=2004,C=2005
Code "G0 Z" &ZProbePos 'สั่งให้แกน Z เลื่อนไปยังตำแหน่งที่อ่านค่าได้จาก Registry
While IsMoving () 'รอจนกระทั่งแกน Z หยุดเลื่อน นั่นคือแกน Z ไปหยุดยังตำแหน่งที่ตรวจพบใน Reigstry แล้ว
Wend
Call SetDro (2, PlateThickness) 'ตั้งตำแหน่งแกน Z โดยนำค่าความหนาของแผ่น PCB เพิ่มลงไปด้วย
Code "G4 P0.5" 'หน่วงเวลาไปอีก 0.5 วินาทีเพื่อให้ DRO set ค่าใหม่ลงไป
Code "G0 Z10.0" 'ยกแกน Z ขึ้นไปยังตำแหน่ง save แกน เพื่อทำการนำ Probe ออกมาก่อน
Code "(Z axis is now zeroed)" 'แสดงข้อความใน Mach3 เพื่อบอกว่าสิ้นสุดการตั้งแกน Z โดยสมบูรณ์
Code "F" &CurrentFeed 'กลับไปใช้ค่า Feedrate เดิมก่อนที่จะทำการตั้งค่าให้แกน Z
Else
Code "(Z-Plate is grounded, check connection and try again)" 'Z-Plate มีสายดินตรวจสอบการเชื่อมต่อแล้วลองอีกครั้ง this goes in the status bar if aplicable
Exit Sub
Exit Sub
End If
#################################################
Caution : ก่อนใช้งานปุ่ม "Auto Tool Zero" ทุกครั้ง ให้ทำการเลื่อนแกน Z เพื่อให้ดอกกัดไปอยู่ใกล้ Plate ให้ได้มากที่สุด (กะระยะเผื่อเอาไว้ซัก 2 -3 มม.) จากนั้นให้กดปุ่ม Reset แกน Z ให้เป็นค่า 0.000 ก่อนนะครับ เพื่อเป็นการบอกให้โปรแกรมรู้ว่าให้เริ่มต้นจากจุดนี้ เพราะเราได้ตั้งค่าระยะในการวัดสูงสุดเอาไว้ที่ -5 เท่านั้นหากแกน Z สูงเกินไปแล้วยังเลื่อนลงมาไม่ทันจะแตะโดนเพลท มันก็จะไม่เกิดอะไรขึ้นครับ ค่าที่ได้จะไม่ถูกต้อง
สุดท้าย ลองไปทำเล่นใช้กันดูนะครับย่นเวลาได้เยอะมากในการเปลี่ยนดอกกัดใหม่หรืเริ่มต้นการกัด......ทดสอบโปรแกรมและทำวงจรไว้ให้แล้ว...ผ่านครับ เอาไปใช้กันได้เลย
ต่อไปอาจจะมีการดัดแปลง Probe ไปใช้งานในรูปแบบอื่นเช่น.....การหาจุดกึ่งกลางวงกลมกรณีใช้การเจาะรูทำ mark จุดในการกัดชิ้นงาน 2 หน้า, การหาขอบของชิ้นงานโดยใช้ Probe ซึ่งวงจรนี้ใช้ได้หมดอย่างที่ว่ามา ...หรือเอาไปใช้ในการ Scan วัตถุเพื่อไปสร้าง Code (หรือเรียกง่ายๆคือเป้นการ Copy วัตถุ 3 มิติไปทำใหม่อีกชิ้นว่างั้น ซึ่ง PRobe อาจจะต้องเปลี่ยนรูปแบบวิธีซักหน่อยแต่ วงจรคงเดิม) แต่ไปเปลี่ยนในเรื่องของโปรแกรมครับ.....ถ้ามีเวลาจะมาลงให้ทำใช้งานกันอีกน่ะครับ