เครื่องคำนวณ
ส่งและรับโปรแกรม NC ผ่าน RS-232
ส่งโปรแกรมเข้าเครื่องและรับโปรแกรมจากเครื่องผ่านสาย USB to RS-232 จากเบราว์เซอร์ รองรับ XON/XOFF และ RTS/CTS โปรแกรมส่งตรงจากเบราว์เซอร์ไปที่พอร์ต ไม่ผ่านเซิร์ฟเวอร์
เบราว์เซอร์นี้ไม่มี Web Serial API จึงใช้พอร์ตอนุกรมไม่ได้ ดูเบราว์เซอร์และรุ่นที่รองรับได้ที่ MDN หรือ caniuse
การเชื่อมต่อ
ตรวจกับคู่มือเครื่องก่อนเสมอ เครื่องยี่ห้อและรุ่นเดียวกันอาจตั้งไว้ต่างกัน อ่านค่าจริงจากพารามิเตอร์ I/O ของเครื่อง ดูตำแหน่งการตั้งค่าของแต่ละยี่ห้อ
กดเริ่มรับ แล้วสั่ง PUNCH ที่เครื่อง
สิ่งที่ต้องมี
- เบราว์เซอร์ที่มี Web Serial API ถ้าตรวจไม่พบจะแจ้งด้านบน เบราว์เซอร์และรุ่นที่รองรับเปลี่ยนไปตามเวลา ดูตารางล่าสุดที่ MDN หรือ caniuse หน้านี้ต้องเปิดผ่าน HTTPS และเบราว์เซอร์จะขึ้นหน้าต่างให้เลือกทุกครั้งว่าจะใช้พอร์ตไหนเมื่อกดเชื่อมต่อพอร์ต
- สาย USB to RS-232 ติดตั้งไดรเวอร์ของชิปในสาย (เช่น FTDI หรือ Prolific) ให้เรียบร้อย ถ้าคอมพิวเตอร์มีพอร์ต COM ในตัวก็ใช้ได้เช่นกัน
- สายสัญญาณที่ต่อขาถูกต้อง เครื่องกับคอมพิวเตอร์ต่างเป็นอุปกรณ์ปลายทาง จึงต้องสลับขาส่งกับขารับ (null modem) และถ้าใช้ RTS/CTS ต้องสลับคู่นั้นด้วย ขั้วต่อของเครื่องอาจเป็น DB25 หรือ DB9 ผังขาและการต่อสายทั้งสองแบบสำหรับพอร์ต DB25 ของ Fanuc อยู่ที่หน้าอ้างอิงการต่อสาย RS-232 เครื่องแบบอื่นให้ดูผังขาในคู่มือเครื่อง
- การตั้งค่าที่ตรงกันทั้งสองฝั่ง Baud rate, Data bits, Parity, Stop bits และ Flow control ต้องตรงกับพารามิเตอร์ I/O ของเครื่อง ค่าในรายการ ค่าที่พบบ่อย เป็นค่าตั้งต้นที่พบบ่อยเท่านั้น เครื่องบางยี่ห้อ เช่น Mazak และ Mitsubishi บางรุ่น ตั้งฝั่งเครื่องเป็น 8 บิต ขณะที่คอมพิวเตอร์ตั้ง 7 บิตกับ Even parity เพราะชุดควบคุมนับ parity bit เป็นบิตข้อมูล
ขั้นตอนบนชุดควบคุมแบบ Fanuc
ส่งโปรแกรมเข้าเครื่อง
- ที่เครื่อง เลือกโหมด EDIT กด PROG แล้วกด (OPRT) READ และ EXEC เครื่องรอรับข้อมูล บนจอแสดง LSK กะพริบ
- ที่หน้านี้ เปิดไฟล์แล้วกด ส่ง เครื่องเริ่มรับเมื่อพบ % ตัวแรก และจบเมื่อพบ % ตัวที่สอง
รับโปรแกรมจากเครื่อง
- ที่หน้านี้ กด เริ่มรับ ก่อน
- ที่เครื่อง เลือกโหมด EDIT กด PROG เลือกโปรแกรม แล้วกด (OPRT) PUNCH และ EXEC
- เมื่อได้รับครบ บันทึกไฟล์ หรือเปิดใน Backplot เพื่อดูแนวทางเดินมีด
ชื่อปุ่มและลำดับต่างกันไปตามรุ่นของชุดควบคุม ดูหัวข้อ input/output ในคู่มือการใช้งานของเครื่อง
ตั้งค่าที่เครื่องได้ที่ไหน
ตารางนี้รวบรวมจากแหล่งข้อมูลทั่วไป ไม่ใช่คู่มือของเครื่องคุณ หมายเลขพารามิเตอร์และค่าตั้งต้นต่างกันไปตามรุ่นและรุ่นซอฟต์แวร์ของชุดควบคุม ตรวจกับคู่มือเครื่องและอ่านค่าจริงจากเครื่องก่อนเลือกค่าในหน้านี้ แล้วลองส่งโปรแกรมสั้น ๆ สามสี่บรรทัดก่อนส่งโปรแกรมจริง
| ชุดควบคุม | ตำแหน่งการตั้งค่า | ข้อสังเกต |
|---|---|---|
| Fanuc 0i / 16i / 18i / 21i | พารามิเตอร์ 0020 เลือกช่อง I/O สำหรับช่อง 0: 0101 (บิต 0 คือ Stop bits) 0102 (ชนิดอุปกรณ์) 0103 (Baud rate: 10 = 4800, 11 = 9600) | XON/XOFF ตั้งที่คอมพิวเตอร์ ชุดควบคุมรุ่นอื่นใช้หมายเลขพารามิเตอร์ต่างกัน |
| Makino | เครื่องที่ใช้ชุดควบคุม Fanuc ตั้งที่พารามิเตอร์แบบ Fanuc | ชุดควบคุม Professional ของ Makino ดูคู่มือของ Makino |
| Haas | Setting 11 (Baud rate) 12 (Parity) 13 (Stop bit) 14 (Synchronization) 37 (Data bits) | ค่าตั้งต้นคือ Even, 2 Stop bits, 7 Data bits |
| Mitsubishi Meldas 60 | พารามิเตอร์ 9102 (Baud rate) 9103 (Stop bit) 9104 (Parity check) 9105 (Even parity) 9106 (Data bits) อุปกรณ์ชุดที่สองคือ 9202 ถึง 9206 | ปกติตั้ง 9106 = 2 (7 บิต) ตรงกับคอมพิวเตอร์ ถ้าส่งไม่ได้หรือ parity error ลองตั้ง 9106 = 3 (8 บิต) โดยคอมพิวเตอร์ยังตั้ง 7 บิต Even parity เพราะชุดควบคุมบางรุ่นนับ parity bit เป็นบิตข้อมูล |
| Mazak Mazatrol | หน้าพารามิเตอร์การส่งข้อมูล (TAPE) ของเครื่อง | ตั้งเครื่องเป็น 8 บิต และคอมพิวเตอร์เป็น 7 บิตกับ Even parity รุ่นเก่า (T2 T3) มักใช้ 4800 |
การควบคุมการไหล
- XON/XOFF เมื่อหน่วยความจำรับข้อมูลของเครื่องใกล้เต็ม เครื่องส่งอักขระ XOFF (DC3) มาให้หยุด และส่ง XON (DC1) เมื่อพร้อมรับต่อ โปรแกรมนี้ส่งทีละไม่กี่ไบต์ด้วยความเร็วไม่เกิน Baud rate เพื่อให้หยุดได้ทันทีที่เครื่องขอ
- RTS/CTS ใช้สายสัญญาณแยกบอกว่าพร้อมรับ ไดรเวอร์ของพอร์ตจัดการให้ สายต้องมีขาคู่นี้ต่อครบ
- ไม่มี ใช้ได้กับโปรแกรมสั้นที่เครื่องรับทันได้ ถ้าเครื่องรับไม่ทัน ใส่เวลา หน่วงหลังแต่ละบรรทัด
ปัญหาที่พบบ่อย
| อาการ | สาเหตุที่พบบ่อย |
|---|---|
| เครื่องไม่ได้รับอะไรเลย | สายไม่สลับขาส่งกับขารับ เครื่องเลือกช่อง I/O อื่น หรือใช้ RTS/CTS แต่สายไม่มีขาคู่นั้น |
| ได้รับเป็นอักขระแปลก ๆ | Baud rate, Data bits หรือ Parity ไม่ตรงกัน |
| เครื่องแจ้งเตือน parity หรือ overrun | Parity หรือ Stop bits ไม่ตรงกัน หรือ Flow control ของสองฝั่งไม่ตรงกัน |
| เครื่องรับแต่ไม่จบ | ไฟล์ไม่มี % ปิดท้ายให้แก้ไขไฟล์ หรือเปิด แก้ไฟล์ก่อนส่ง ไว้ |
| เชื่อมต่อพอร์ตไม่ได้ | โปรแกรมอื่นหรือแท็บอื่นเปิดพอร์ตนั้นอยู่ หรือยังไม่ได้ติดตั้งไดรเวอร์ของสาย |
ส่งไปพร้อมกับตัดงาน (DNC)
โปรแกรมที่ยาวเกินหน่วยความจำของเครื่อง สามารถส่งทยอยเข้าไปขณะที่เครื่องทำงานได้ เครื่องจะรันตามโปรแกรมที่ส่งเข้าไปทีละบรรทัด และจะไม่บันทึกไว้ในเครื่อง ตั้งเครื่องเป็นโหมด RMT (หรือ DNC) กด Cycle start แล้วกด ส่ง เครื่องรับและทำงานไปทีละบรรทัด ต้องใช้ Flow control สำหรับการทำงานแบบนี้
- เปิดแท็บนี้ไว้ด้านหน้าตลอดการส่ง และอย่าให้คอมพิวเตอร์เข้าโหมดพัก เบราว์เซอร์ทำงานช้าลงมากเมื่อแท็บถูกซ่อน ข้อมูลจึงส่งไม่ทันและเครื่องหยุดรอกลางโปรแกรม ระหว่างส่ง หน้าจอจะไม่ดับเอง (ถ้าเบราว์เซอร์อนุญาต) และชื่อแท็บแสดงเปอร์เซ็นต์ที่ส่งแล้ว ถ้าสลับไปแท็บอื่น เมื่อกลับมาจะมีข้อความบอกว่าแท็บถูกซ่อนไปนานเท่าใด
- การเตือนเมื่อส่งไม่ออก ถ้าไม่มีข้อมูลออกจากพอร์ตนานกว่าเวลาที่ตั้ง หน้านี้จะแสดงคำเตือนพร้อมสาเหตุที่เป็นไปได้ และเปลี่ยนชื่อแท็บเป็น “⚠ หยุดรอ” ตามด้วยเวลาที่รอ จึงเห็นได้แม้เปิดแท็บอื่นอยู่ แต่ระหว่างตัดงาน เครื่องอาจขอหยุด (XOFF) นานเป็นปกติเมื่อทำบรรทัดที่ใช้เวลานาน จึงควรตั้งเวลาให้ยาวกว่าบรรทัดที่นานที่สุดในโปรแกรม
- ปิดหรือโหลดหน้าใหม่ระหว่างส่ง เบราว์เซอร์ถามยืนยันก่อน เพราะการส่งจะหยุดทันที
- หยุดเครื่องที่แผงควบคุมก่อน (Feed hold แล้ว Reset) แล้วจึงกด หยุดส่ง เพราะเมื่อข้อมูลหยุดส่งมา เครื่องจะรออยู่ที่บรรทัดนั้นทั้งที่สปินเดิลยังหมุน
ข้อจำกัด
- รหัส ISO (ASCII) เท่านั้น ไม่รองรับรหัส EIA ของเครื่องรุ่นเก่า ตั้งเครื่องให้ส่งออกเป็นรหัส ISO
- ต้องกดส่งหรือรับที่คอมพิวเตอร์ทุกครั้ง โปรแกรม DNC บางตัวให้ผู้ปฏิบัติงานเรียกโปรแกรมจากแผงควบคุมของเครื่องได้เอง โดยเครื่องส่งคำขอพร้อมหมายเลขโปรแกรมมาที่คอมพิวเตอร์ หน้านี้ไม่รองรับแบบนั้น
- ส่งเป็นข้อความธรรมดาเท่านั้น แบบเดียวกับการอ่านเทป ไม่รองรับโปรโตคอลเฉพาะยี่ห้อที่สองฝั่งต้องตอบรับกัน เช่น LSV2 ของ Heidenhain
- ไฟล์ที่รับมาเก็บเฉพาะตัวโปรแกรม ตั้งแต่ % ตัวแรกถึง % ตัวที่สอง อักขระที่เครื่องส่งมาตามแบบเครื่องเจาะเทปถูกตัดออก ได้แก่ NUL ที่ส่งนำหน้าแทนเทปเปล่า และรหัสควบคุม DC1 ถึง DC4 ส่วน parity bit (บิตที่ 8) ไม่ถูกนำมาอ่าน
- การตั้งค่าการเชื่อมต่อจำไว้ในเครื่องนี้เท่านั้น Baud rate, Data bits, Parity, Stop bits และการควบคุมการไหลที่เลือกล่าสุด ถูกบันทึกไว้ในเบราว์เซอร์ที่ใช้อยู่ ไม่ได้ส่งไปที่ใด เมื่อเปิดจากคอมพิวเตอร์หรือเบราว์เซอร์อื่น หรือหลังล้างข้อมูลเบราว์เซอร์ ค่าจะกลับเป็นค่าตั้งต้นของ Fanuc ต้องเลือกใหม่