การวัด 1.0–4.0
ผมสอนวิชา วฟ.380 การวัดและเครื่องมือวัด ที่คณะวิศวกรรมศาสตร์ ม.ธรรมศาสตร์ มานานพอสมควร ปี 2017 เลยอยากให้มีอะไรที่แปลกใหม่บ้าง เลยคิดโครงงานรูปแบบใหม่ที่ให้นักศึกษาได้เรียนรู้เทคโนโลยีการวัดตามมุมมองของอุตสาหกรรม 4.0 เริ่มจาก 1.0 ไปถึง 4.0 เป้าหมายของงานนี้ที่ตั้งชื่อว่า “การวัด 1.0–4.0” คือ ใช้กิจกรรมที่ทำให้เข้าใจปัญหาและข้อจำกัดหากยังยึดติดกับการวัดรูปแบบเดิมๆ และวิธีการกับข้อได้เปรียบในการนำคอมพิวเตอร์และอินเตอร์เน็ตมาประยุกต์ ตัวโจทย์ก็ต้องพยายามทำสมดุลระหว่างต้นทุน (งบน้อย ควักกระเป๋ากันเองทั้งครูและลูกศิษย์) และความน่าสนใจของข้อมูล/ผลสรุปที่ได้จากการวัด จึงมาตกที่หัวข้อของการวัดประสิทธิภาพของเครื่องปรับอากาศในห้องบรรยายของอาคารคณะวิศวฯ เพราะเครื่องปรับอากาศส่วนใหญ่ก็เก่าพอสมควร แต่ก็ไม่มีใครรู้ว่าประสิทธิภาพในการทำความเย็นยังพอรับได้ไหมหรือควรเปลี่ยนได้แล้ว
การวัด 1.0
หัวข้อการวัด 1.0–4.0 จะเริ่มจากยุค 1.0 โดยให้นักศึกษาไปซื้อเทอร์โมมิเตอร์จากร้าน 20 บาทมาวัดอุณหภูมิ 3 จุด ได้แก่ กลางห้อง จุดลมเข้า และจุดลมออก โดยให้วัดทุก 1 นาทีตั้งแต่ตอนเริ่มเปิดเครื่องปรับอากาศเป็นเวลา 15 นาที วัดเสร็จก็ให้กรอกข้อมูลลง Excel ทำกราฟ และวิเคราะห์ตัวเลขออกมา พอทำเสร็จนักศึกษาจะได้เข้าใจถึงความไม่สะดวกของการรวบรวมข้อมูล รวมทั้งตัวเลขที่ไม่สื่ออะไรมากนักเพราะช่วงเวลาวัดจะห่างกัน แต่ก็ร่นเวลาให้สั้นลงได้ยากเพราะตัวเทอรโมมิเตอร์จะเปลี่ยนแปลงช้า
การวัด 2.0
พอนักศึกษาเริ่มเห็นถึงปัญหาแล้ว เราก็จะแนะนำถึงการวัด 2.0 โดยเป็นการใช้เทคโนโลยีอิเล็กทรอนิกส์มาช่วย ทำให้วัดได้เร็วขึ้น แม่นยำขึ้น อ่านค่าง่ายขึ้น รูปแบบของการวัด 2.0 จะใช้เครื่องมือวัดอุณหภูมิที่ทำขึ้นเอง โดยใช้บอร์ดไมโครคอนโทรลเลอร์อ่านค่าแรงดันจากเซ็นเซอร์ LM35 แล้วส่งข้อความผ่านพอร์ต USB ไปแสดงผลบนคอมพิวเตอร์ ตัวบอร์ดที่เลือกใช้คือ STM32 Nucleo F401RE และเลือกใช้แพลตฟอร์ม mbed ในการพัฒนาซอฟต์แวร์ การเลือกที่จะพัฒนาด้วยแพลตฟอร์ม mbed นี้เป็นเพราะข้อดีหลายอย่างทั้งในแง่ความง่าย เช่น เขียนโค้ดออนไลน์ ติดตั้งโดยการลากไปวางในแฟลชไดร์ฟจำลอง และคำสั่งต่างๆในการเข้าถึงฮาร์ดแวร์ และในแง่ประสิทธิภาพที่สามารถเลือกใช้ระบบปฏิบัติการทันเวลา (real-time operating system) ได้ ตัวฮาร์ดแวร์ก็มีให้เลือกจากหลากหลายผู้ผลิต ราคาไม่แพงมาก และเป็นหน่วยประมวลผลที่ประสิทธิภาพสูง
แม้ว่าเนื้อหาส่วนนี้ยังจัดเป็นการวัด 2.0 เพราะคนยังต้องเป็นผู้อ่านค่าและจดบันทึกจากเครื่องมือวัดอิเล็กทรอนิกส์ แต่ขั้นตอนการสร้างเครื่องมือวัดขึ้นเองโดยใช้บอร์ดไมโครคอนโทรลเลอร์เป็นพื้นฐานที่สำคัญของระบบอัตโนมัติและระบบอัจฉริยะที่กำลังเป็นเทรนด์สำคัญของโลกธุรกิจและอุตสาหกรรมยุคปัจจุบัน เทคโนโลยีของการใช้หน่วยประมวลผลเพื่องานเฉพาะด้านนี้ถูกเรียกว่า “เทคโนโลยีระบบสมองกลฝังตัว” หรือ embedded system technology ซึ่งกล่าวได้ว่าเป็นสิ่งที่ขาดไม่ได้ในการผลักดันไปสู่ยุคหน้า การประยุกต์เทคโนโลยีระบบสมองกลฝังตัวสามารถทำได้เร็วในกรณีงานที่ง่าย เช่น ในคลิปตัวอย่างจะใช้เวลาไม่ถึง 10 นาทีก็ได้เครื่องมือวัดอุณหภูมิ และสามารถขยายขอบเขตไปสู่การทำงานที่ซับซ้อนได้ ซึ่งจะเป็นเนื้อหาถัดไปในส่วนการวัด 3.0 (อัตโนมัติ) และการวัด 4.0 (อินเตอร์เน็ต)
คลิปด้านล่างนี้อธิบายการสร้างเครื่องมือวัดแบบง่ายด้วย mbed เริ่มตั้งแต่การลงทะเบียนเข้าใช้ mbed ตัวอย่างโค้ด การติดตั้งไดรเวอร์ จนถึงการอ่านค่าด้วยโปรแกรม serial terminal
การวัด 3.0
เทคโนโลยีจะถูกจัดอยู่ในอุตสาหกรรม 3.0 เมื่อมีการใช้คอมพิวเตอร์มาสร้างระบบอัตโนมัติ ทำให้การทำงานที่เดิมต้องพึ่งคนมาคอยดู มาใช้ ก็สามารถอาศัยซอฟต์แวร์ในการทำงานด้วยตัวเอง ในกรณีของการวัด 3.0 ที่ต่อยอดมาจากตัวอย่างการวัด 2.0 จึงเป็นการเปลี่ยนจากคนที่อ่านค่ารายงานของบอร์ด Nucleo F401RE จากหน้าจอของโปรแกรม Terminal มาเป็นซอฟต์แวร์ที่อ่านและประมวลผลข้อมูลได้เอง การทำงานแบบระบบอัตโนมัติแบบนี้เป็นเรื่องที่จำเป็นอย่างมากในอุตสาหกรรมยุคปัจจุบัน ซึ่งแรงงานมีจำกัดและมีต้นทุนสูงมากขึ้นเรื่อยๆตามค่าแรงขั้นต่ำและสภาพสังคม
การปรับตัวอย่างการวัด 2.0 มาเป็น 3.0 สามารถใช้ฮาร์ดแวร์เดิมคือ บอร์ด STM32 Nucleo F401RE โดยจะเปลี่ยนเฉพาะส่วนที่เป็นโค้ดที่ปรับจากการรายงานผลเป็นข้อความไปเรื่อยๆ เป็นการทำงานตามการสั่งการผ่านพอร์ตอนุกรม ดังนั่้นรูปแบบของโค้ดจะต้องเข้าใจแนวคิดของโพรโทคอลสื่อสารก่อน โดยรูปแบบที่ง่ายที่สุดของโพรโทคอลสื่อสารคือ สั่งให้ทำงานแล้วรายงานผล การส่งคำสั่งจะต้องมีการกำหนดรูปแบบที่ชัดเจนเพื่อให้ซอฟต์แวร์ภายในบอร์ด Nucleo F401RE สามารถจดจำคำสั่งได้ ซึ่งในตัวอย่างนี้จะใช้การส่งเป็นข้อความที่ขึ้นด้วยตัวอักษร : (colon) คำสั่ง แล้วจบด้วยรหัส \n รูปแบบข้อความแบบนี้จะง่ายในการจำแนกโดยใช้ฟังก์ชัน scanf() ของภาษา C ในขณะเดียวกันการตอบกลับก็อยู่ในรูปแบบคล้ายกัน โดยตอบเป็นตัวอักษร T ตัวเลข แล้วจบด้วยรหัส \n การมีรูปแบบคำสั่งและลำดับที่แน่นอนเป็นเงื่อนไขเบื้องต้นในการสร้างโพรโทคอลสื่อสารระหว่างคอมพิวเตอร์และฮาร์ดแวร์ที่เป็นอุปกรณ์/เครื่องมือวัด
ซอฟต์แวร์บนฝั่งคอมพิวเตอร์จะต้องเปลี่ยนจากการใช้โปรแกรมสำเร็จรูป เช่น Terminal มาเป็นซอฟต์แวร์ที่พัฒนาตามโพรโทคอลของบอร์ด ในตัวอย่างนี้เราจะใช้ LabVIEW ในการสร้างซอฟต์แวร์มาทำหน้าที่ส่งคำสั่ง รับข้อความตอบกลับ แล้วแสดงผล การเลือก LabVIEW ในงานนี้เพราะจุดเด่นหลายด้านที่สอดคล้องกับความต้องการของงานด้านการวัดในอุตสาหกรรม เช่น การมีส่วนแสดงผลหลายแบบทั้งตัวเลขและกราฟ ฟังก์ชันในการประมวลผลข้อมูล และการบันทึกหรือส่งข้อมูลผ่านเครือข่าย นอกจากนี้การพัฒนาซอฟต์แวร์อัตโนมัติใน LabVIEW ยังง่ายกว่าการเขียนโค้ดภาษาคอมพิวเตอร์ เช่น ภาษา C ภาษา Java โดยเปลี่ยนไปใช้ graphical programming ซึ่งเป็นการลากบล็อกทำหน้าที่ต่างๆมาเชื่อมโยงหากัน โปรแกรม LabVIEW จึงได้รับความนิยมอย่างมากในอุตสาหกรรมสมัยใหม่
การจัดการข้อมูลที่อ่านจากฮาร์ดแวร์ด้วยคอมพิวเตอร์สามารถทำได้ 3 รูปแบบ ได้แก่
- การแสดงผล: LabVIEW จะมีส่วน UI หลากหลายรูปแบบให้แสดงค่าข้อมูลทั้งที่เป็นตัวเลขหรือเป็นกราฟที่แสดงการเปลี่ยนแปลงตามเวลา
- การบันทึก: LabVIEW มีบล็อกสำหรับอ่าน/เขียนไฟล์ข้อมูลหลายรูปแบบทั้งไฟล์เฉพาะที่อ่านได้ด้วย LabVIEW เช่น ไฟล์ lvm และไฟล์ที่โปรแกรมอื่นอ่านได้ เช่น xlsx (Excel) และ csv (ไฟล์ข้อความที่คั่นระหว่างข้อมูลด้วย comma)
- การอัพโหลด: LabVIEW จะสามารถเชื่อมต่อกับระบบฐานข้อมูล เช่น SQL server ผ่านทาง add-on ที่ต้องซื้อเพิ่ม หรืออาจจะใช้การเชื่อมต่อผ่าน HTTP ไปยัง web service ของเซิร์ฟเวอร์ ซึงเป็นความสามารถพื้นฐานของการเป็นการวัด 4.0
การเลือกว่าจะดำเนินการอย่างไรกับข้อมูลจะขึ้นอยู่กับความต้องการของผู้ใช้ ซึ่งนักพัฒนาจะต้องสอบถามถึงสถานการณ์ ปัญหา และความคาดหวังก่อนที่จะเริ่มทำการพัฒนาซอฟต์แวร์ของระบบอัตโนมัติเสมอ โดยในบางกรณีอาจต้องเปลี่ยนแปลงฮาร์ดแวร์หากมีข้อจำกัดบางอย่างที่ทำให้ฮาร์ดแวร์ที่เลือกไว้ตั้งแต่ช่วงต้นไม่เหมาะสมกับการใช้งานจริง
คลิปตัวอย่างด้านล่างจะสอนการเขียนโค้ด mbed และ LabVIEW สำหรับการสั่งวัด แสดงผลเป็นกราฟ และบันทึกข้อมูลในไฟล์ ซึ่งกล่าวได้ว่าเป็นความสามารถขั้นต่ำของระบบการวัดอัตโนมัติ
ตัวอย่างการเขียนโค้ด mbed รับคำสั่งอ่านแรงดันทางช่อง A0-A5
ตัวอย่างการใช้ LabVIEW สร้าง VI สำหรับอ่านและแสดงค่าจากบอร์ด mbed
ตัวอย่างการเปลี่ยนข้อมูลแบบ scalar value เป็น signal แล้วบันทึกลงไฟล์ xlsx (Excel)
การวัด 4.0 (ก้าวเล็กๆ)
ผมกำหนดระดับเทคโนโลยีของการวัดเป็น 1.0 จนถึง 4.0 โดยอ้างอิงกรอบแนวคิดของ industry 4.0 ที่ถูกผลักดันโดยประเทศเยอรมันในฐานะ Future Project for 2020 จนกลายเป็นวาระสำคัญของภาคอุตสาหกรรมในยุโรป และได้แพร่หลายไปจนทั่วโลกแล้ว การเป็นอุตสาหกรรม 4.0 จะเน้นที่การเชื่อมโยงระบบอัตโนมัติต่างๆเข้ากับบริการต่างๆบนระบบอินเตอร์เน็ต ทำให้การทำงานของฝั่งสำนักงาน เช่น ฝ่ายขาย ฝ่ายการตลาด สามารถรับรู้สถานะและสั่งการไปยังการทำงานในฝั่งโรงงาน เช่น ฝ่ายการผลิต ฝ่ายการซ่อมบำรุง และฝ่ายขนส่ง/จัดเก็บได้ การเชื่อมโยงต่างๆนี้เกิดได้จากการเพิ่มความฉลาดด้วยซอฟต์แวร์รวมทั้งการเพิ่มส่วนสื่อสารข้อมูลให้กับอุปกรณ์ในสายการผลิต
องค์ประกอบของอุตสาหกรรม 4.0 ประกอบระบบอัตโนมัติที่มีหน่วยประมวลผล+ซอฟต์แวร์ เครือข่ายสื่อสารข้อมูล และเซิร์ฟเวอร์บนระบบอินเตอร์เน็ต ซึ่งจะทำให้เกิดการเชื่อมโยงจากสถานะเครื่องจักร/การทำงานของพนักงานจากส่วนการผลิตในโรงงานเข้ากับการประมวลผลข้อมูลในส่วนบริหารจัดการ การเชื่อมต่อระหว่างสำนักงาน/โรงงานมักจะเป็นการสื่อสารแบบสองทาง เช่น อุปกรณ์ในโรงงานส่งสถานะล่าสุดของการผลิตไปเซิร์ฟเวอร์ ในขณะเดียวกันสำนักงานอาจจะส่งตัวเลขปรับแก้เป้าหมายการผลิตมาที่ไลน์การผลิต การสื่อสารระหว่างกันนี้ไม่ต้องมีคนมาเป็นผู้โอนย้ายข้อมูลเหมือนโรงงาน SME ของประเทศไทยในปัจจุบัน ซึ่งจะต้องมีการติดต่อตามลำดับชั้นไล่จากหัวหน้าไลน์ ผ่าน วิศวกร ไปเรื่อยๆจนถึงผู้บริหารในฝ่ายการผลิต การลดบทบาทของคนในการเชื่อมโยงข้อมูลทำให้เกิดข้อดีหลายอย่าง เช่น ลดเวลา เพิ่มความน่าเชื่อถือ สามารถตอบโต้ทันที ฯลฯ
องค์ประกอบสำคัญในการเชื่อมโยงข้อมูลจากส่วนต่างๆตามกรอบแนวคิด 4.0 คือ คอมพิวเตอร์ที่เป็นเซิร์ฟเวอร์ โดยการจัดเตรียมเซิร์ฟเวอร์ในปัจจุบันมักจะเป็นการขอใช้เครื่องจากผู้ให้บริการแบบ cloud computing ระบบ cloud computing เป็นการให้บริการคอมพิวเตอร์จำลอง (virtual machine) ในศูนย์ข้อมูลขนาดใหญ่ โดยนักพัฒนาจะทำการติดตั้งและปรับแต่งซอฟต์แวร์จากทางไกลไปยังคอมพิวเตอร์นั้น ซึ่งเป็นที่มาของคำว่า cloud ในเชิงที่ไม่รู้ว่าสิ่งที่ใช้อยู่ตรงไหนของกลุ่มเมฆ การใช้ cloud computing มีทั้งแบบ private cloud ที่ผู้ประกอบการจัดหาระบบคอมพิวเตอร์มาติดตั้งและให้บริการภายในองค์กรเอง หรือ public cloud ที่เราไปขอใช้ร่วมกับธุรกิจ/องค์กรอื่นๆ โดยจ่ายเฉพาะค่าบริการในส่วนที่เราใช้ทรัพยากร (ประมวลผล สื่อบันทึก เครือข่าย) ของระบบ
ระบบ cloud computing ที่ใช้เป็นตัวอย่างของการวัด 4.0 คือ Thingspeak ซึ่งเป็น public cloud ประเภท Software-as-a-Service ที่ให้บริการแบบสำเร็จรูป ไม่ต้องเขียนซอฟต์แวร์เพิ่มเติมบนฝั่งเซิร์ฟเวอร์ การเข้าใช้บริการของ Thingspeak จะแบ่งออกเป็น 2 ส่วนคือ
- ส่วน web app หมายถึง ส่วนที่ผู้ใช้จะติดต่อผ่านเว็บเบราเซอร์เพื่อลงทะเบียน สร้าง channel สำหรับเชื่อมต่อ กำหนดรายละเอียดข้อมูลในส่วน field รวมถึงการดูกราฟของข้อมูล การเข้าถึง web app จะผ่านทาง URL ของเว็บ Thingspeak คือ www.thingspeak.com ซึ่งจะส่งเนื้อหากลับมาในรูป HTML เพื่อมาจัดเป็นส่วนหน้าจอให้ผู้ใช้สามารถทำงานได้สะดวก
- ส่วน web API ที่รวบรวม web service สำหรับการทำงานต่างๆไว้ใน URL เดียวกันคือ api.thingspeak.com โดยใช้การร้องขอในรูปแบบที่เรียกว่า REST และตอบกลับเป็นข้อความในรูปแบบ JSON การรับส่งข้อมูลด้วย REST และ JSON จัดเป็นรูปแบบที่นิยมในการสื่อสารแบบ machine-to-machine หรือ M2M ที่เน้นประสิทธิภาพและโครงสร้างที่แน่นอน ทำให้การประมวลผลทำได้ง่าย
การใช้งาน web API จะขึ้นอยู่กับสิทธิที่ได้กำหนดไว้ในช่วงสร้าง channel โดยจะใช้ข้อความที่เรียกว่า API key ในการเข้าถึงข้อมูล การควบคุม API key จึงเป็นเรื่องสำคัญในการพัฒนาระบบตามกรอบแนวคิด 4.0 เพราะหาก API key ถูกผู้อื่นทราบก็อาจจะถูกเขียนหรืออ่านข้อมูลโดยไม่มีสิทธิได้ ผู้ที่จะวางระบบจึงควรไปศึกษากรอบแนวคิดของ computer security และ information security เพิ่มเติม เนื้อหาที่สาธิตในครั้งนี้แบ่งออกเป็น 3 ตอน
คลิปที่สอนการลงทะเบียนและทดลองใช้ web API ของ Thingspeak
คลิปที่สอนการเขียน LabVIEW เชื่อมต่อ Thingspeak
คลิปที่สอนการสร้าง subVI เพื่อไปต่อยอดกับ VI ที่อ่านและบันทึกค่า
終わりに (ในตอนท้าย)
โพสต์นี้เดิมเผยแพร่ใน FB Page TENSAILAB.at.TU เมื่อปี 2017 แล้วมาปรับเป็นบล็อก เพราะผมค่อนข้าง ok กับการพิมพ์ story ใน medium มากกว่า ปี 2020 นี้เราได้แยกส่วนปฏิบัติออกเป็นวิชา LE382 แล้ว ซึ่งคงจะมีเนื้อหาเวอร์ชันใหม่ที่ปรับไปใช้บอร์ด Cucumber RS ร่วมกับ LabVIEW Community Edition ออกมาอีกที