หากคุณเคยยืนอยู่หน้าแผงควบคุมขนาดใหญ่ในโรงงาน กดหน้าจอสัมผัสเรืองแสงเพื่อปรับความเร็วของสายพานลำเลียงหรือตรวจสอบอุณหภูมิของปั๊ม แสดงว่าคุณใช้ HMI ระดับอุตสาหกรรม (อินเทอร์เฟซระหว่างมนุษย์กับเครื่องจักร) นั่นคือสิ่งที่แปลข้อมูลเครื่องจักรที่ซับซ้อนของโรงงานให้เป็นสิ่งที่มนุษย์สามารถเข้าใจและดำเนินการได้จริง ในฐานะซัพพลายเออร์ของอุปกรณ์เหล่านี้ ฉันถูกถามบ่อยๆ: “ภาษาโปรแกรมอะไรที่ทำให้ HMI เหล่านี้ใช้งานได้จริง” ไม่ใช่คำตอบเดียวสำหรับทุกคน และการเลือกภาษาที่เหมาะสมถือเป็นการตัดสินใจครั้งสำคัญว่า HMI ทำงานได้อย่างน่าเชื่อถือ ปรับขนาดตามความต้องการของโรงงาน หรือแม้แต่ช่วยให้พนักงานปลอดภัยหรือไม่ เรามาแจกแจงว่าอะไรที่ใช้จริงในสภาพแวดล้อมทางอุตสาหกรรมจริงๆ ไม่ใช่แค่ในตำราเรียนเท่านั้น
ก่อนอื่น มาทำความเข้าใจกันก่อนว่า HMI ทางอุตสาหกรรมแตกต่างจาก HMI ของสมาร์ทโฟนหรือแล็ปท็อปที่พวกเราส่วนใหญ่ใช้ทุกวันมาก โรงงานที่เราสร้างต้องทำงานตลอด 24 ชั่วโมงทุกวันในโรงงานที่เต็มไปด้วยฝุ่น ร้อน และสั่นสะเทือน โดยไม่มีการชน พวกเขาพูดคุยกับ PLC (ตัวควบคุมลอจิกแบบโปรแกรมได้) เซ็นเซอร์ มอเตอร์ และอุปกรณ์รุ่นเก่าทุกประเภทที่มีมานานหลายทศวรรษ ดังนั้นภาษาการเขียนโปรแกรมในที่นี้จึงไม่ใช่ภาษาใหม่ยอดนิยมที่คุณเห็นสำหรับการพัฒนาแอป แต่เป็นภาษาที่ผ่านการทดสอบแล้ว มีเสถียรภาพ และได้รับการปรับแต่งให้เหมาะกับความต้องการเฉพาะของระบบอัตโนมัติทางอุตสาหกรรม


มาเริ่มกันที่เรื่องที่พบบ่อยที่สุดที่คุณจะได้ยินเกี่ยวกับ: Ladder Logic บางครั้งเรียกว่า Ladder Diagram หรือ LAD อย่างไรก็ตาม นี่ไม่ใช่ภาษาแบบข้อความ แต่เป็นแบบกราฟิกที่ออกแบบมาให้ดูเหมือนช่างไฟฟ้าที่ช่างไฟฟ้าใช้มาเป็นเวลา 100 ปี หากคุณรู้วิธีอ่านแผนภาพการเดินสายไฟแบบเดิมๆ Ladder Logic ก็สมเหตุสมผลดี: มันมี "ขั้น" ที่คุณใส่หน้าสัมผัส (เช่น ทริกเกอร์เซ็นเซอร์หรือการกดปุ่ม) และคอยล์ (เช่น การเปิดหรือปิดมอเตอร์) นี่เป็นวิธีเดียวที่จะตั้งโปรแกรม HMI และ PLC ทางอุตสาหกรรมมานานหลายทศวรรษ และยังคงมีอยู่ทุกที่ในปัจจุบัน
เหตุใด Ladder Logic จึงยังคงอยู่? คนงานในโรงงานและวิศวกรที่ทำงานบนพื้นมานานกว่า 20 ปีรู้ดีทั้งภายในและภายนอก หากพนักงานในสายงานจำเป็นต้องแก้ไขปัญหาเครื่องจักรในเวลาตี 2 พวกเขาสามารถเหลือบดูมุมมอง Ladder Logic ของ HMI และมองเห็นสวิตช์สะดุดได้เร็วกว่าที่จะแยกวิเคราะห์บรรทัดของ Python ได้ นอกจากนี้ยังมีความน่าเชื่อถืออย่างยิ่ง โดยไม่จำเป็นต้องใช้คอมไพเลอร์ที่หรูหรา เนื่องจากทำงานบน PLC และ HMI ส่วนใหญ่โดยไม่มีความล่าช้าเป็นพิเศษ อย่างไรก็ตาม มันไม่เหมาะสำหรับงานที่ซับซ้อนและมีข้อมูลจำนวนมาก หากคุณกำลังพยายามสร้างแดชบอร์ดที่ติดตามจุดข้อมูล 10,000 จุดทั่วทั้งโรงงาน Ladder Logic อาจยุ่งยากและปรับขนาดได้ยาก นั่นคือสิ่งที่ภาษาอื่นเข้ามา
ถัดไป: Structured Text (ST) ซึ่งเป็นภาษาแบบข้อความที่มีลักษณะคล้ายกับ BASIC หรือ C มาก ให้คิดว่ามันเป็นการอัปเกรด Ladder Logic สำหรับความต้องการสมัยใหม่ คุณสามารถเขียนลูป คำสั่ง if/then ตัวแปร และแม้แต่ฟังก์ชันทางคณิตศาสตร์พื้นฐานใน ST ได้ ซึ่งทำให้เหมาะสำหรับงานที่ซับซ้อนเกินไปสำหรับ Ladder Logic แต่ไม่ต้องการภาษาการเขียนโปรแกรมเต็มรูปแบบ ตัวอย่างเช่น หากคุณต้องการให้ HMI อุตสาหกรรมของคุณคำนวณอุณหภูมิเฉลี่ยของเครื่องทำความร้อน 50 เครื่องในช่วงเวลา 10 นาที และส่งการแจ้งเตือนหากสูงเกินไป คุณสามารถเขียนเป็น ST เพียงไม่กี่บรรทัด แทนที่จะวาด 20 ขั้นใน Ladder Logic ซอฟต์แวร์ HMI ที่ทันสมัยส่วนใหญ่รองรับ ST ดังนั้นจึงกลายเป็นสิ่งที่ต้องทำเพื่อสร้างสมดุลระหว่างความคุ้นเคยและฟังก์ชันการทำงาน วิศวกรระบบอัตโนมัติรุ่นใหม่ๆ จำนวนมากเรียนรู้ ST ก่อนในตอนนี้ เนื่องจากง่ายต่อการเรียนรู้มากกว่า Ladder Logic หากคุณรู้การเขียนโค้ดขั้นพื้นฐาน
ถ้าอย่างนั้นก็มี C/C++ ซึ่งอาจทำให้คุณประหลาดใจ แต่จริงๆ แล้วมันเป็นเรื่องธรรมดามากสำหรับการพัฒนา HMI ทางอุตสาหกรรมแบบกำหนดเอง โดยเฉพาะอย่างยิ่งสำหรับอุปกรณ์พิเศษที่มีขนาดเล็กกว่า เดี๋ยว ทำไมไม่ใช้ Ladder หรือ ST ล่ะ? C/C++ ช่วยให้คุณควบคุมฮาร์ดแวร์ได้มากขึ้น ซึ่งเป็นกุญแจสำคัญสำหรับ HMI ที่ต้องทำสิ่งต่างๆ เช่น ประมวลผลข้อมูลเซ็นเซอร์ความเร็วสูง ทำงานกับอินเทอร์เฟซที่เน้นกราฟิกหนัก หรือสื่อสารกับโปรโตคอลอุตสาหกรรมเฉพาะกลุ่มที่ไม่รองรับภาษาทั่วไป ตัวอย่างเช่น หากคุณกำลังสร้าง HMI สำหรับกลุ่มผลิตภัณฑ์อุปกรณ์การแพทย์แบบกำหนดเองซึ่งจำเป็นต้องซิงค์กับข้อมูลของเครื่องตัดเลเซอร์เฉพาะ C/C++ จะช่วยให้คุณปรับแต่งอินเทอร์เฟซทุกส่วนให้ทำงานตามที่คุณต้องการได้อย่างแท้จริง โดยไม่ต้องใช้ภาษาระดับสูงกว่า ข้อเสีย? คุณต้องมีนักพัฒนาที่มีทักษะในการเขียนและบำรุงรักษาโค้ด C/C++ และมีแนวโน้มที่จะเกิดข้อบกพร่องหากคุณไม่ระวัง ไม่เหมาะสำหรับสายการผลิตในโรงงานที่ทำงานทุกวันตลอด 24 ชั่วโมง ซึ่งการขัดข้องอาจทำให้ต้องเสียเงินหลายพันในการหยุดทำงาน
Python เริ่มปรากฏขึ้นมากขึ้นใน HMI อุตสาหกรรม ส่วนใหญ่สำหรับโรงงานขนาดกลางที่ต้องการเพิ่มความยืดหยุ่นโดยไม่ต้องลงทุนในโครงการ C/C++ ขนาดใหญ่ ขณะนี้ซอฟต์แวร์ HMI จำนวนมากให้คุณฝังสคริปต์ Python เพื่อทำสิ่งต่างๆ เช่น ดึงข้อมูลจากเครื่องมือวิเคราะห์บนคลาวด์ ส่งการแจ้งเตือนที่กำหนดเองผ่าน Slack หรืออีเมล หรือเรียกใช้โมเดลการเรียนรู้ของเครื่องพื้นฐานเพื่อคาดการณ์ว่าชิ้นส่วนอาจล้มเหลวเมื่อใด ตัวอย่างเช่น หากคุณมีโรงงานผลิตขนาดเล็กที่มี [HMI 7 นิ้ว] ซึ่งเหมาะสำหรับพื้นที่จำกัดบนโต๊ะทำงาน คุณสามารถใช้ Python เพื่อเชื่อมต่อ HMI นั้นกับเครื่องมือวิเคราะห์ฟรีที่ติดตามความถี่ในการใช้งานเครื่องจักร เพื่อให้คุณสามารถกำหนดเวลาการบำรุงรักษาก่อนที่จะหยุดทำงาน ประเด็นสำคัญอยู่ที่ว่า Python ถูกตีความ ซึ่งหมายความว่าช้ากว่าภาษาที่คอมไพล์อย่าง C เล็กน้อย ดังนั้นจึงไม่ดีสำหรับงานแบบเรียลไทม์ที่ต้องตอบสนองในหน่วยมิลลิวินาที แต่สำหรับงานที่เน้นข้อมูลซึ่งไม่สำคัญ ถือเป็นตัวเปลี่ยนเกมที่ช่วยให้โรงงานปรับแต่ง HMI ของตนได้โดยไม่ทำลายงบประมาณ
ภาษาหนึ่งที่คุณอาจไม่ค่อยได้ยินมากนัก แต่ที่ยังคงใช้ใน HMI รุ่นเก่าๆ ก็คือภาษาพื้นฐาน HMI เก่าที่เป็นกรรมสิทธิ์จากแบรนด์ที่มีมานานกว่า 40 ปี มักใช้ BASIC สำหรับการเขียนสคริปต์แบบกำหนดเอง ปัญหาเดียวคือระบบเหล่านี้ส่วนใหญ่ล้าสมัย หาชิ้นส่วนได้ยาก และไม่เหมาะกับอุปกรณ์สมัยใหม่ ดังนั้นเราจึงแนะนำให้อัปเกรดเป็น HMI รุ่นใหม่ที่รองรับ ST, Python หรือ C เกือบทุกครั้ง ตัวอย่างเช่น หากโรงงานยังคงใช้งาน HMI เก่าที่ใช้ BASIC ก็มีแนวโน้มที่จะมีปัญหาความเข้ากันได้มากขึ้นเมื่อเพิ่มเซ็นเซอร์ใหม่ และหากเกิดขัดข้อง ก็จะมีช่างเทคนิคไม่มากนักที่รู้วิธีแก้ไข
ตอนนี้ เรามาพูดถึงวิธีที่เราเลือกภาษาที่จะใช้ในการสร้าง HMI ของเรา เช่น กลุ่มผลิตภัณฑ์ [Industrial HMI] ของเรา ขั้นแรก เราถามลูกค้าว่าพวกเขาต้องการอะไรจริงๆ: พวกเขาเป็นโรงปฏิบัติงานขนาดเล็กที่มีเครื่องจักรไม่กี่เครื่องที่ต้องการการควบคุมการเปิด/ปิดขั้นพื้นฐานและการอ่านอุณหภูมิหรือไม่? ถ้าอย่างนั้น [HMI 7 นิ้ว] ที่มี Ladder Logic หรือ ST ก็สมบูรณ์แบบ — เรียบง่าย เชื่อถือได้ และใช้งานง่ายสำหรับทีมงานในองค์กร หากพวกเขาเป็นโรงงานผลิตชิ้นส่วนรถยนต์ขนาดใหญ่ที่มีสายการผลิตทั้งหมดซึ่งจำเป็นต้องติดตามจุดข้อมูลหลายร้อยจุดและซิงค์กับการวิเคราะห์บนคลาวด์ เราอาจสร้าง HMI ที่รองรับทั้ง Ladder Logic สำหรับการควบคุมเครื่องจักรหลักและ Python สำหรับสคริปต์ข้อมูลที่กำหนดเอง สำหรับลูกค้าที่สร้างสายการผลิตใหม่ทั้งหมดด้วยอุปกรณ์ที่มีเอกลักษณ์เฉพาะตัว เราสามารถเขียนโค้ด C/C++ แบบกำหนดเองได้เพื่อให้แน่ใจว่า HMI สื่อสารได้อย่างชัดเจนว่าพวกเขาต้องการอย่างไร
ผู้ใช้ระบบอัตโนมัติรุ่นใหม่ๆ จำนวนมากอาจถามว่า: ทำไมไม่ใช้ JavaScript เพียงอย่างเดียว มันเป็นที่นิยมมากสำหรับเว็บแอปใช่ไหม? ความจริงก็คือ JavaScript ไม่ค่อยถูกใช้สำหรับ HMI อุตสาหกรรม เนื่องจากไม่ได้รับการปรับให้เหมาะสมสำหรับสภาพแวดล้อมที่รุนแรงและข้อกำหนดแบบเรียลไทม์ที่ HMI ต้องการ HMI บนเว็บกำลังเริ่มกลายเป็นเรื่องสำคัญ — โรงงานบางแห่งใช้พวกมันเพื่อให้วิศวกรตรวจสอบเครื่องจักรจากโทรศัพท์ของพวกเขา — แต่สำหรับส่วนควบคุมจริง คุณยังต้องใช้ภาษาแม่อย่าง Ladder หรือ ST Web HMI เหมาะอย่างยิ่งสำหรับการตรวจสอบระยะไกล แต่ไม่ใช่สำหรับงานหลักที่ต้องดำเนินการตลอด 24 ชั่วโมงทุกวัน
อีกสิ่งหนึ่งที่ควรทราบ: ระบบ HMI อุตสาหกรรมส่วนใหญ่ไม่ได้ใช้เพียงภาษาเดียว พวกเขารวมเข้าด้วยกันเพื่อให้ได้สิ่งที่ดีที่สุดของแต่ละคน ตัวอย่างเช่น คุณอาจให้ Ladder Logic จัดการการควบคุมมอเตอร์พื้นฐาน (ซึ่งทำได้ดีมาก), ST สำหรับการคำนวณจำนวนการผลิต และ Python สำหรับส่งข้อมูลไปยังแดชบอร์ดบนคลาวด์ แนวทางที่ “ดีที่สุดทั้งสองอย่าง” นี้คือสาเหตุที่ HMI สมัยใหม่มีความยืดหยุ่นมาก โดยสามารถทำงานร่วมกับอุปกรณ์รุ่นเก่าและเครื่องมือแบบกำหนดเองใหม่ได้ในเวลาเดียวกัน
ในฐานะซัพพลายเออร์ของ HMI ฉันได้เห็นโดยตรงแล้วว่าการเลือกภาษาที่ไม่ถูกต้องอาจทำให้เกิดปัญหาใหญ่ได้อย่างไร ไม่กี่ปีก่อน เรามีลูกค้ารายหนึ่งที่พยายามใช้แอปสมาร์ทโฟนทั่วไปเพื่อควบคุมสายการบรรจุภัณฑ์ โดยใช้ HMI บนเว็บที่สร้างจาก JavaScript ระบบจะขัดข้องทุกครั้งที่สายไม่ว่าง เนื่องจาก JavaScript ไม่สามารถจัดการการไหลของข้อมูลแบบเรียลไทม์ได้ พวกเขาต้องเปลี่ยนไปใช้ HMI แบบกำหนดเองที่มี Ladder Logic สำหรับการควบคุมหลัก และช่วยลดเวลาหยุดทำงานลงได้ 90% ลูกค้าอีกรายหนึ่งซึ่งเป็นคราฟต์เบียร์ขนาดเล็ก ต้องการติดตามอุณหภูมิในการหมักและส่งข้อความแจ้งเตือนเมื่อแบตช์เสร็จสิ้น เราใช้ [HMI 10 นิ้ว] พร้อมสคริปต์ Python เพื่อให้พวกเขาสามารถดึงข้อมูลจากเซ็นเซอร์อุณหภูมิและส่งข้อความโดยไม่ต้องจ้างนักพัฒนาแยกต่างหาก
แล้วที่นี่มีอะไรบ้าง? ไม่มีภาษาการเขียนโปรแกรมที่ "ดีที่สุด" สำหรับ HMI อุตสาหกรรม ทุกอย่างขึ้นอยู่กับขนาดโรงงาน อุปกรณ์ของคุณ งานที่ HMI ต้องทำ และความเชี่ยวชาญของทีมของคุณ หากคุณเป็นช่างเทคนิคผู้ช่ำชองและทำงานกับไดอะแกรมการเดินสายไฟมาหลายปี Ladder Logic น่าจะตอบโจทย์ของคุณ หากคุณต้องการเพิ่มคุณสมบัติข้อมูลที่กำหนดเองโดยไม่ทำให้เสียเงินมากนัก Python เป็นตัวเลือกที่ยอดเยี่ยม สำหรับโปรเจ็กต์ที่ซับซ้อนและกำหนดเอง C/C++ ช่วยให้คุณควบคุมได้ตามที่คุณต้องการ
ท้ายที่สุดแล้ว เป้าหมายของ HMI ไม่ใช่แค่การมีหน้าจอสัมผัสที่หรูหราเท่านั้น แต่ยังช่วยให้งานอุตสาหกรรมปลอดภัยขึ้น มีประสิทธิภาพมากขึ้น และง่ายขึ้นสำหรับคนบนพื้นในการใช้งาน นั่นเป็นเหตุผลที่เราสร้าง HMI ของเราเพื่อรองรับภาษาการเขียนโปรแกรมหลายภาษา ดังนั้นไม่ว่าคุณจะต้องการอะไร เราก็สามารถค้นหาโซลูชันที่เหมาะกับคุณได้
หากคุณต้องการอัปเกรด HMI ของโรงงานหรือสร้างระบบใหม่ที่เหมาะกับการปฏิบัติงานของคุณ เรายินดีที่จะแนะนำตัวเลือกต่างๆ ให้กับคุณ และช่วยคุณเลือกเครื่องมือที่เหมาะสมสำหรับทีมและสายงานของคุณ
อ้างอิง
- สมาคมอัตโนมัติระหว่างประเทศ (ISA) (2021). IEC 61131-3: ภาษาการเขียนโปรแกรมสำหรับระบบอัตโนมัติทางอุตสาหกรรม
- ร็อคเวลล์ ออโตเมชั่น (2023) คู่มือผลิตภัณฑ์ HMI อุตสาหกรรม
- Python สำหรับกรณีการใช้งานระบบอัตโนมัติทางอุตสาหกรรม (2022) นิตยสารออโตเมชั่นเวิลด์
- ลอจิกแลดเดอร์กับข้อความที่มีโครงสร้าง: การเปรียบเทียบเชิงปฏิบัติสำหรับทีมในโรงงาน (2023) วิศวกรรมควบคุม.
