เรา คือ บริษัท Zhanjiang Weida Machinery Industrial Co., Ltd. ผลิตอุปกรณ์แปรรูปยางธรรมชาติขั้นต้น สายการผลิตหลักของโรงงานยางคือ รับยางและตกแข็ง ล้างและย่อย ตีแผ่ย่นและทำเม็ด อบแห้งด้วยลมร้อน ชั่งและบรรจุ โซนเปียกทั้งปีมีน้ำและกรด ส่วนตีย่นทำเม็ดมอเตอร์เยอะ ไอน้ำหนัก ส่วนสายอบแห้งเป็นลมร้อน ในที่แบบนี้เรามักใช้เซ็นเซอร์ RS-485 ไม่ใช่ตามกระแส แต่เพราะมันกันสัญญาณรบกวน ทนทาน — สัญญาณดิฟเฟอเรนเชียลเสถียรกว่าในสภาพแวดล้อมที่รบกวนสูง ความเร็วบอดต่ำหน่อยก็เสถียรขึ้น และเดินสายได้ไกลขึ้น เสียก็มักแค่เปลี่ยนมิเตอร์หนึ่งตัว
เปลี่ยนมิเตอร์ง่าย แต่เปลี่ยนหมายเลขยาก
มิเตอร์เสียได้ ความร้อนสูง น้ำค้างควบแน่น น้ำเข้า ต่อสายผิด ฟ้าผ่า ล้วนทำให้มิเตอร์ที่ใช้มาหลายปีหยุดทำงานได้ การเปลี่ยนมิเตอร์เป็นเรื่องธรรมดาสำหรับช่างไฟฟ้า ขันสกรูง่าย ที่ยุ่งคือหมายเลขสเลฟ
มิเตอร์ใหม่จากโรงงานเกือบทั้งหมดเป็นหมายเลข 1 ถ้าบนบัสมีหมายเลข 1 อยู่แล้ว มิเตอร์สองตัวจะแย่งตอบ เบาหน่อยตัวเลขกระโดด หนักหน่อยทั้งบัสใช้ไม่ได้ ดังนั้นต้องแก้หมายเลขก่อนแล้วค่อยกลับเข้าไปติดตั้ง ทางโปรโตคอลไม่ซับซ้อน Modbus RTU เขียนรีจิสเตอร์ก็พอ ที่ยากคือใครเป็นคนแก้และแก้ด้วยซอฟต์แวร์อะไร
ซอฟต์แวร์ในท้องตลาด ไม่ได้สร้างมาให้ช่างไฟฟ้าหน้างาน
ซอฟต์แวร์แก้หมายเลขสเลฟมีไม่น้อย พอเปิดดู หมายเลขพอร์ตอนุกรม ความเร็วบอด พาริตี้ ฟังก์ชันโค้ด รีจิสเตอร์ หน้าต่างเลขฐานสิบหก เรียงกันเป็นแถว คนเขียนซอฟต์แวร์ควบคุมระดับบนมองว่าปกติ แต่คนที่เดินสายจริงในโรงงานยางคือวิศวกรเครื่องกลกับช่างไฟฟ้า ไม่ใช่วิศวกรซอฟต์แวร์ พวกเขาต่อสาย A/B ได้ อ่านแอมป์มิเตอร์ได้ เปลี่ยนซิลิกาเจลในตู้เทอร์มินัลได้ แต่ให้เลือกพอร์ต COM ติดตั้งไดรเวอร์ CH340 หารีจิสเตอร์จากคู่มือผู้ผลิต ไม่ใช่ว่าพวกเขาไม่เก่ง แต่ซอฟต์แวร์นี้ไม่ได้สร้างมาให้พวกเขาใช้
อีกเรื่องคือภาษา สายการผลิตของเราติดตั้งในโรงงานยางพื้นที่ผลิตในกานา โกตดิวัวร์ ไทย ลาว กัมพูชา เวียดนาม มาเลเซีย บราซิล คู่มืออาจเป็นภาษาจีน ซอฟต์แวร์เป็นภาษาอังกฤษ หน้างานพูดภาษาฝรั่งเศส โปรตุเกส ไทย เวียดนาม ซอฟต์แวร์แก้หมายเลขในท้องตลาดส่วนใหญ่มีภาษาเดียว ช่างไฟฟ้ามองหน้าจอเต็มไปด้วยอักษรย่อภาษาอังกฤษ มักผลักคอมพิวเตอร์ให้ "คนที่เล่นคอมเป็น" แต่คนนั้นอาจไม่อยู่ในโรงงาน
เราจึงไม่ต้องการทำ Modbus debugger ที่ครบกว่าเดิมอีกตัว แต่ต้องการทำให้เรื่องแก้หมายเลขสเลฟเป็นเรื่องที่ช่างไฟฟ้าเข้าใจและทำเองจนจบได้
พูดกับคอมพิวเตอร์หนึ่งประโยคก็พอ
เราทำผู้ช่วยแก้หมายเลขสเลฟนี้ (SlaveAddr Agent) ต่อสาย A, B ของมิเตอร์ใหม่เข้ากับตัวแปลง 485 เป็น USB ที่มาพร้อมสินค้าตามคู่มือ เปิด exe ที่ไม่ต้องติดตั้ง เสียบ USB เข้าพอร์ตใดก็ได้ของคอมพิวเตอร์ แล้วพูดด้วยภาษาที่ตัวเองถนัด:
ช่วยเปลี่ยนมิเตอร์ใหม่ตัวนี้เป็นหมายเลข 7 ให้หน่อย Troca o endereço desse sensor para 12. Mets l'adresse de ce capteur à 5.
ถ่ายรูปหน้าที่แก้หมายเลขในคู่มือส่งไปก็พอ เหมือนคุยกับ AI บนเว็บเพจ โปรแกรมรู้จำข้อความในรูปก่อน แล้วส่งให้โมเดลวิเคราะห์: หมายเลขสเลฟอยู่ในรีจิสเตอร์ตัวไหน ความเร็วบอดที่นิยมคือเท่าไร คนไม่ต้องเปิดตารางเอง ไม่ต้องกรอกเลขฐานสิบหกเอง
โปรแกรมหาพอร์ตของตัวแปลงเอง ตรวจว่าไดรเวอร์ติดตั้งหรือยัง ถ้ายังก็พาคนติดตั้ง จากนั้นสอบถามมิเตอร์ตามความเร็วบอดที่นิยม เรียงขั้นตอนที่ต้องแก้ พอแก้เสร็จอ่านด้วยหมายเลขใหม่อีกครั้งเพื่อยืนยันว่าสำเร็จ สิ่งที่คนต้องทำยังคงเป็น ต่อสาย เสียบ USB ส่งรูปคู่มือ ดูว่าสำเร็จหรือไม่
นี่ไม่ใช่แชทห่อหุ้ม แต่เป็น Agent ที่ทำวิศวกรรมจริง
เบื้องหลังประโยคเดียว คือการห่อหุ้มห่วงโซ่ความเชี่ยวชาญทั้งสาย:
- โปรโตคอลเขียนเอง การตรวจสอบ CRC ของ Modbus RTU การอ่านรีจิสเตอร์แบบโฮลดิ้ง การเขียนรีจิสเตอร์เดี่ยว การสร้างและแยกเฟรม ล้วนเป็นผลงานที่พัฒนาขึ้นเอง ไม่พึ่งพาซอฟต์แวร์ดีบักของผู้ผลิตใด โค้ดโปรโตคอลสแต็กเปิดให้ตรวจสอบต่อสาธารณะ
- คู่มือใช้ OCR บวกการตรวจสอบด้วยกฎ รูปถ่ายคู่มือทำการรู้จำข้อความก่อน จากนั้นดึงพารามิเตอร์สำคัญอย่าง "รีจิสเตอร์หมายเลขสเลฟ ความเร็วบอด เขียนแบบบรอดคาสต์หรือไม่" ออกมาตามกฎ และใช้ข้อความที่รู้จำได้เป็นหลักฐานคุมการเขียนค่าขั้นถัดไป — รีจิสเตอร์ที่คู่มือไม่ได้ระบุ จะไม่ถูกนำมาใช้
- กลไกโปรไฟล์อุปกรณ์ มิเตอร์ต่างยี่ห้อ หมายเลขสเลฟเขียนที่รีจิสเตอร์ไหน ต้องตัดไฟรีสตาร์ทหรือไม่ ดูแลในรูปแบบโปรไฟล์ เพื่อนร่วมวงการสามารถเพิ่มเติมมิเตอร์ที่ตัวเองใช้ประจำเข้าไปได้ ยิ่งเพิ่มยิ่งใช้งานดีขึ้น
- โมเดลทำแค่จัดลำดับ การเขียนค่าอยู่ในมือโปรแกรมเสมอ โมเดลใหญ่รับผิดชอบทำความเข้าใจคำพูดและวางแผนขั้นตอน แต่การเขียนรีจิสเตอร์จริงต้องผ่านเครื่องมือไวต์ลิสต์ที่ฝังในโปรแกรม และต้องยืนยันก่อน แล้วค่อยอ่านกลับ ถ้าโมเดลพูดผิด จะเขียนไม่ออก
- ออฟไลน์ก็แก้ได้ ตอนโรงงานไม่มีเน็ต โปรแกรมสลับไปใช้ตัวช่วยออฟไลน์ในตัว กฎหลายภาษาก็ยังเข้าใจ "เปลี่ยนเป็นหมายเลข 7" ขั้นตอนเหมือนเดิม แค่แชทไม่ได้
มันทำอะไรตามอำเภอใจไม่ได้
คอมพิวเตอร์หน้างานมีข้อมูลการผลิต บางครั้งยังเชื่อมเน็ตภายในโรงงาน โปรแกรมนี้เรียกคำสั่งบางอย่างได้ ถ้าไม่จำกัดขอบเขต จะยุ่งยากกว่า "ใช้ไม่ได้" เสียอีก
มันจึงมีข้อจำกัดแข็งๆ ชุดหนึ่ง:
- ทำได้แค่เรื่องเหล่านี้: เรียกรายการพอร์ตอนุกรม ตรวจไดรเวอร์ USB สอบถามสเลฟ Modbus อ่านรูปคู่มือที่ผู้ใช้ส่งมา อ่าน/เขียนหมายเลขสเลฟ ตรวจสอบผลลัพธ์ ห้ามเปิดโปรแกรมอื่นตามอำเภอใจ ห้ามแก้ไฟล์ที่ไม่เกี่ยวข้อง ห้ามเข้าถึงเว็บไซต์ที่ไม่เกี่ยวข้อง และห้ามนำไปใช้รู้จำรูปภาพที่ไม่เกี่ยวข้อง
- ก่อนเขียนลงมิเตอร์จริง ต้องแสดงขั้นตอนให้คนดูและรอให้คนตกลงก่อน เขียนเสร็จต้องอ่านด้วยหมายเลขใหม่อีกครั้ง อ่านไม่ได้ก็หยุด ไม่เขียนต่อแบบมืดบอด
- คำสั่งบรรทัดคำสั่งไม่ได้รันตามอำเภอใจ เฉพาะการตรวจอุปกรณ์ ติดตั้งไดรเวอร์ ที่กำหนดไว้ล่วงหน้าเท่านั้นที่รันได้ และการติดตั้งไดรเวอร์ยังต้องผ่านการยืนยันสิทธิ์ของคอมพิวเตอร์เอง
- ตอนโรงงานไม่มีเน็ต ใช้ตัวช่วยออฟไลน์หลายภาษา ขั้นตอนเหมือนเดิม แค่แชทไม่ได้ ถ้าโมเดลล่ม ก็ยังต้องเปลี่ยนมิเตอร์ได้
มันคือผู้ช่วยแก้หมายเลขสเลฟ ไม่ใช่ปัญญาประดิษฐ์ทั่วไป และไม่ใช่เครื่องมือดูแลระบบระยะไกล
ทำไมถึงเปิดซอร์ส
โรงงานแปรรูปยางธรรมชาติขั้นต้นกระจายอยู่ในพื้นที่ผลิต หน้างานส่วนใหญ่เป็นคนงานแนวหน้า มิเตอร์เสียต้องเปลี่ยนทันที แต่ขั้นตอนหมายเลขสเลฟนี้ มักต้องรอคนที่เล่นคอมเป็น หรือรอฝ่ายบริการหลังการขายในประเทศเข้ามาระยะไกล สายการผลิตจอด รออยู่แค่จังหวะนี้
ถ้าเครื่องมือแบบนี้ถูกล็อกไว้ในดองเกิลของซัพพลายเออร์รายหนึ่ง โรงงานข้างๆ ก็ยังใช้ไม่ได้ โรงงานยางใช้มิเตอร์คล้ายกัน วิธีแก้หมายเลขสเลฟก็คล้ายกัน ไม่จำเป็นต้องซื้อซอฟต์แวร์ที่อ่านไม่เข้าใจอีกชุดในทุกโรงงาน เปิดซอร์สแล้ว โรงงานยางใช้ได้โดยตรง เพื่อนร่วมวงการที่ทำอุปกรณ์ก็นำไปใช้กับสายการผลิตของตัวเองได้ ช่างไฟฟ้าหน้างานตามมิเตอร์ที่ตัวเองใช้บ่อย เพิ่มคำอธิบายรีจิสเตอร์เข้าไปในโปรไฟล์ คนรุ่นหลังก็เปิดคู่มือน้อยลงหนึ่งครั้ง ยิ่งพื้นที่ผลิตอยู่ไกล สิ่งที่เก็บไว้ได้แบบนี้ยิ่งมีประโยชน์
เราไม่ได้หารายได้จากซอฟต์แวร์นี้ และไม่อยากทำเป็นแพลตฟอร์ม เหว่ยต้าทำสายการผลิต ทำบริการหลังการขาย เห็นเรื่องเดียวกันเกิดขึ้นซ้ำในทุกโรงงาน การทำให้เรื่องนี้เป็นเครื่องมือสาธารณะ ทำให้เปลี่ยนมิเตอร์หยุดสั้นลงหน่อย บริการหลังการขายวิ่งน้อยลงหนึ่งเที่ยว ดีต่อโรงงานยาง เพื่อนร่วมวงการ และตัวเราเอง
ใบอนุญาตและรายละเอียดทางเทคนิค
โปรแกรมนี้พัฒนาโดย Zhanjiang Weida Machinery Industrial Co., Ltd. ลิขสิทธิ์เป็นของบริษัทเรา เผยแพร่เป็นโอเพนซอร์สภายใต้ใบอนุญาต MIT: ระบุแหล่งที่มาแล้วสามารถใช้งาน แก้ไข แจกจ่ายต่อได้ การสื่อสารใช้โปรโตคอล Modbus RTU สาธารณะ เฟรมเป็นผลงานที่พัฒนาขึ้นเอง ส่วนอินเทอร์เฟซ พอร์ตอนุกรม OCR ใช้คอมโพเนนต์โอเพนซอร์สที่อนุญาตให้ใช้เชิงพาณิชย์และแจกจ่ายต่อได้ ใบอนุญาตเขียนไว้ในไฟล์ NOTICE ของรีโพสิทอรี ไม่ฝังไดรเวอร์ผู้ผลิตชิป ไม่ฝังคู่มือของผู้อื่น ไม่ดึงโค้ดจากซอฟต์แวร์ดีบักในตลาด คีย์โมเดลและอินเทอร์เฟซอย่างเป็นทางการอยู่ในคอนฟิกสำหรับเผยแพร่ ไม่มีอยู่ในซอร์สโค้ด ผู้ที่อยากเชื่อมต่อโมเดลเองสามารถแก้ตัวแปรสภาพแวดล้อมได้
A ต่อ A, B ต่อ B เสียบ USB เปิดโปรแกรมนี้ แล้วบอกหมายเลขใหม่ให้มันฟังด้วยคำพูดของตัวเอง ที่เหลือให้โปรแกรมจัดการ
ถ้าต้องการโค้ด กรุณาติดต่อสอบถาม