การเพิ่มคุณค่าเครื่องจักรด้วย HMI ระบบขั้นสูงและการปรับปรุงความสวยงาม
ใช้ Hardware เดิมแต่ทำหน้าจอ HMI ให้สวย ใช้ง่าย และปลอดภัยขึ้น: Font ภาษาไทย, Static Picture, ปุ่มรูปภาพ, แยกหน้า Manual/Auto ด้วย Multi-function Button, ใช้ Mouse, Alarm สายแลนหลุด, User Login 2 ระดับ, รหัสป้องกัน Upload, Multi-state Lamp, Progress Bar และ Trend Chart บน Samkoon SK-102QS
ไม่ต้องลงทุน Hardware เพิ่ม ก็ทำหน้าจอเครื่องจักรให้มีมูลค่ามากขึ้นได้ ด้วยการปรับความสวยงาม (Font, รูป, ปุ่ม) ความสะดวก (แยกหน้า Manual/Auto, ใช้ Mouse, แสดงเวลา) ความปลอดภัย (Alarm, User Login, รหัสป้องกัน Upload) และการแสดงข้อมูล (สถานะขั้นตอน, Progress Bar, Trend Chart)
อัพเดทล่าสุด: 26 ตุลาคม 2569
แนวคิด: Hardware เดิม แต่มูลค่าสูงขึ้น
สิ่งที่ผู้ใช้งานเครื่องจักร Interface ด้วยคือหน้าจอ HMI ในฐานะคนทำเครื่อง เราควรทำให้ระบบสวยงาม ใช้งานง่าย และปลอดภัย คลิปนี้เทียบตัวอย่างระบบพื้นฐานกับระบบที่ปรับแล้ว โดยใช้ Hardware เหมือนกันทุกอย่าง (PLC กับหน้าจอ Samkoon SK-102QS ที่มีอยู่แล้ว)
ระบบพื้นฐาน — มีปุ่มเลือกโหมด ปุ่มเปิด Output ตรงๆ ปุ่มเริ่ม/หยุด Auto Cycle และแสดงจำนวน Cycle ที่ทำไปแล้ว ซึ่งก็ใช้งานเครื่องได้
ระบบที่ปรับแล้ว (เครื่องทอด FT-02-C ในคลิป)
- แยกเมนู Manual กับ Auto ออกจากกัน
- แสดงเวลาปัจจุบัน สถานะการเชื่อมต่อ LAN และระดับผู้ใช้งาน
- ใช้ได้ทั้งการแตะหน้าจอและ Mouse และมี Logo
- โหมด Auto แสดงว่ากำลังอยู่ขั้นตอนไหน มี Progress Bar ของ Cycle ปัจจุบัน และจำนวน Cycle
- การ Reset จำนวน Cycle ต้อง Login ก่อน ผู้ใช้มี 2 ระดับ คือ User กด Reset Cycle ได้ แต่ตั้งค่าเครื่องและดูข้อมูล Trend ไม่ได้ ส่วน Admin ทำได้ทั้งหมด
- ถ้าสาย LAN หลุด (เช่น มีคนไปยุ่งกับตู้ไฟ) หน้าจอจะกะพริบและส่งเสียงเตือน ผู้ใช้จะได้รู้และแก้ไขก่อนเริ่มงาน
- ระหว่างเดิน Auto กลับไปหน้าแรกไม่ได้ ต้องหยุด Auto ก่อน
1. ความสวยงาม
Font ภาษาไทยที่อ่านง่าย
- เข้า fonts.google.com แล้วเลือกภาษาไทย
- เลือก Font ที่ชอบ ในคลิปแนะนำแบบมีหัว เช่น Sarabun
- กด Get font แล้ว Install ลงคอมพิวเตอร์
- ตอนสร้าง Text ใน SKTool จะเลือก Font ที่ติดตั้งไว้ได้ ถ้า Font รองรับภาษาไทย เมื่อดาวน์โหลดลงหน้าจอก็จะแสดงผลถูกต้อง
ใส่รูปด้วย Static Picture
ใส่ Logo รูปเครื่องจักร รูปขั้นตอน หรือ Work Instruction ได้ ถ่ายรูปเครื่องจริงมาใส่ก็ได้
- วาง Static Picture แล้วเลือกไฟล์รูป (เช่น JPG หรือ PNG)
- ปรับขนาดกว้างและสูงที่มุมขวาล่างให้สัดส่วนถูกต้อง
ปุ่มรูปภาพที่ดูทันสมัย
SKTool มี Library ปุ่มสวยๆ อยู่แล้ว (จะใช้รูปของเราเองก็ได้) ตัวอย่างการเปลี่ยน Bit Switch ปุ่มเดิมให้เป็นปุ่มรูปภาพ
- เปิด Bit Switch ไปที่แท็บ Appearance → Status 0 Picture
- Picture Source เลือก File → Extended picture แล้วกด Select Picture เลือกจาก Gallery หมวด System picture → Button (ในคลิปใช้รูปเบอร์ 138 เป็นสถานะปิด และ 139 เป็นสถานะเปิด) ให้ Status 0 เป็นรูปปิด
- Status 1 Picture เลือกรูปคู่กันที่เป็นรูปเปิด
- ลบข้อความใน Status 0 Text และ Status 1 Text ทิ้ง
- ถ้ายังมีขอบสีเกิน ให้ตั้ง BG Color เป็นสีเดียวกับพื้นหลังหน้าจอ (เช่น ขาว) และเปลี่ยน Pattern จาก Solid เป็น Transparent
- ระหว่างพัฒนา ลองกดสลับสถานะ 0/1 เพื่อดูหน้าตาปุ่มได้
2. ความสะดวก
แยกหน้า Manual กับ Auto
แยกหน้าไว้โดยสิ้นเชิง เพื่อไม่ให้คนเผลอกดปุ่ม Manual ระหว่างที่เครื่องทำงาน Auto หรือเผลอสั่งเดิน Auto ระหว่างที่ติดตั้งเครื่องในโหมด Manual ระบบจะอยู่ได้ทีละโหมดเท่านั้น
- ฝั่ง PLC: M0 = OFF เป็นโหมด Manual และ M0 = ON เป็นโหมด Auto
- ฝั่งหน้าจอใช้ Multi-function Button
- ปุ่ม Manual: Reset M0 แล้วกระโดดไปหน้า Manual (Screen 001)
- ปุ่ม Auto: Set M0 แล้วกระโดดไปหน้า Auto (Screen 002)
ใช้ Mouse กับหน้าจอ
ใช้ Mouse แทนการแตะช่วยลดการสัมผัสหน้าจอ ทำให้หน้าจออายุยาวขึ้นเล็กน้อย (หน้าจอในคลิปแตะผ่านถุงมือได้อยู่แล้ว การรองรับ Mouse จึงเป็นลูกเล่นเพิ่มเติมที่บอกลูกค้าได้)
- เปิด HMI Parameter Setting → แท็บ Parameter settings
- ที่ Operation Mode ตั้ง Touch method เป็น USB Mouse Action
- ไม่ต้องติ๊ก Hide the mouse cursor ไม่อย่างนั้นจะมองไม่เห็น Cursor บนหน้าจอ
ตั้งค่าอื่นใน HMI Parameter Setting
- Screen Saver Time — ค่าเริ่มต้นของโปรเจคใหม่เป็น 1 ถ้าอยากให้หน้าจอติดตลอดให้ตั้งเป็น 0 (Always light)
- แท็บ Printers/Download → Image Downloading Options — ค่าเริ่มต้นคือ Converted to JPG format ซึ่งทำให้รูปมีขอบดำ ให้เลือก Keep the original format หน้าจอจริงจะได้เหมือนที่ออกแบบไว้
แสดงเวลาปัจจุบัน
- วาง Time Display เลือก Format ที่มีวินาที (HH:MM:SS) และเลือก Font สวยๆ เช่น Sarabun
- ที่ Clock ใน SKTool ติ๊ก Download system clock to HMI เวลาของหน้าจอจะ Sync กับเวลาคอมพิวเตอร์ตอนดาวน์โหลด
3. ความปลอดภัย
Alarm เมื่อสาย LAN หลุด
Alarm จะเป็นเรื่องอะไรก็ได้ตาม Logic ที่ต้องการ ในคลิปทำ Alarm เมื่อสาย Ethernet มีปัญหา
- คลิกขวาที่ Alarm Login ใน Project Tree แล้วเลือก New Discrete Alarm (ในคลิปตั้งชื่อกลุ่มว่า
Errors) - เพิ่มรายการ: Data type bool, Address LB60165, Condition OFF, Alarm Message
Ethernet cable problem— LB60165 เป็นบิตสถานะภายในหน้าจอ เมื่อ Ethernet หลุดจะเปลี่ยนจาก 1 เป็น 0 - ไปที่ HMI Parameter Setting → Alarm setting
- Alarm sound เลือก A voice tips
- ติ๊ก Screen flick when alarm occurs และเลือกสีที่กะพริบ (ในคลิปใช้สีแดง จะใช้สีอื่นก็ได้)
- ติ๊ก Turn on backlight when alarm occurs
ทดสอบด้วยการถอดสาย LAN หน้าจอจะกะพริบและส่งเสียงเตือน
User Login
เครื่องจักรมักมีหน้าตั้งค่า เช่น เวลาหรือความเร็ว ซึ่งไม่อยากให้ Operator มาแก้ ให้เฉพาะช่างหรือ Admin ตั้งได้
- HMI Parameter Setting → แท็บ User Password กำหนด User ได้สูงสุด 8 คน แต่ละคนมี Username, Password และระดับสิทธิ์ ในคลิปตั้งไว้ 2 คน
| User | Password | ระดับ |
|---|---|---|
| admin | 1111 | 1 |
| user | 2222 | 2 |
- ติ๊ก No action logout level แล้วใส่ 30 วินาที ถ้าไม่มีการใช้งานหน้าจอครบ 30 วินาที ระบบจะ Logout ให้เอง ต้อง Login ใหม่ทุกครั้ง
- กำหนดสิทธิ์ปุ่ม: เปิดปุ่มที่ต้องการจำกัด (เช่น Screen Button ไปหน้า Setting) → แท็บ Advanced → Touch Availability ติ๊ก By User Level Control และ Display element invalid flag แล้วเลือกระดับที่กดได้ (ปุ่ม Setting เลือก 1 = Admin ส่วนปุ่ม Reset ให้ระดับ 1 หรือ 2 กดได้)
- ปุ่มที่สิทธิ์ไม่ถึงจะแสดงเครื่องหมายว่ากดไม่ได้ ถ้าอยากเปลี่ยนรูปนี้ ไปที่ Parameter settings → Invalid touch ติ๊ก Use custom labeling แล้วเลือกรูปเอง (ใช้รูป Default ก็ได้)
- แสดงชื่อผู้ใช้ที่ Login อยู่ด้วย ASCII Display ที่ Monitor Address LW60074
ป้องกันการ Upload โปรแกรม
ปกติใครก็เสียบสายแล้ว Upload โปรแกรมหน้าจอออกไปได้ (ผ่าน USB หรือสาย LAN) ถ้าไม่ต้องการ ให้ไปที่แท็บ User Password ติ๊ก Enter the password when uploading แล้วใส่ Password เวลามีคน Upload จะต้องใส่รหัส ป้องกันไม่ให้ลูกค้าเอาโปรแกรมไปแก้เอง
4. การแสดงข้อมูล (Data Visualization)
สถานะขั้นตอนด้วย MultiState Lamp
ใน PLC ใช้ D0 เก็บสถานะของ Auto Cycle แบบ State Machine (0 = เครื่องหยุด, 1–3 = ขั้นตอนที่ 1–3)
- วาง MultiState Lamp ตั้ง Total States = 4, Data Type 16-Bit Unsigned Int, Monitor Address D0, State Type = Value
- แต่ละ State ใช้ Text แทนรูปได้ (Delete Picture ออก) เช่น State 0 = เครื่องหยุด, State 1 = ขั้นตอนที่ 1
- ตั้ง Pattern เป็น Solid แล้วเลือก BG Color ของแต่ละ State จะได้แถบสถานะสีเปลี่ยนตามขั้นตอน
Progress Bar ของ Cycle
Progress Bar เทียบ Cycle Time ปัจจุบันกับ Cycle Time ล่าสุด ค่าไม่ได้ Fix ไว้ เปลี่ยนตามการทำงานจริง
โค้ด PLC (Network "Cycle Data")
| เงื่อนไข | คำสั่ง | หน้าที่ |
|---|---|---|
| M300 (Cycle กำลังทำงาน) และ M8159 (Clock 100 ms) ขอบขาขึ้น | INC D100 D100 | D100 = Cycle Time ปัจจุบัน (หน่วย 100 ms) |
| M300 ขอบขาลง (จบ Cycle) | MOV D100 D102 | D102 = Cycle Time ล่าสุด |
| M300 ขอบขาลง | MOV K0 D100 | เริ่มนับ Cycle ใหม่ |
หน้าจอใช้ Bar Graph: Direction Rightward, Data Type 16-Bit Unsigned Int, Monitor Address D100, ติ๊ก Variable range โดย Min = D999 (Register ที่ไม่ได้ใช้ จึงมีค่า 0) และ Max = D102
Trend Chart
กราฟช่วยให้ผู้ใช้เห็นแนวโน้มย้อนหลัง เช่น อุณหภูมิ ความชื้น ในคลิปใช้จำนวน Cycle เป็นตัวอย่าง
- วาง Trend Chart ตั้ง Read Trigger bit = M8151 (ติดตลอดใน PLC), Read Address = D7510 (จำนวน Cycle), Data type 32-Bit Unsigned Int
- Clear Trigger bit = LB1 สำหรับทำปุ่ม Clear Trend
- ในคลิปตั้ง Sampling time 1 วินาที และ 60 จุดข้อมูล
Trend Chart เหมาะกับดูค่าช่วงเวลาปัจจุบัน ย้อนหลังได้ไม่นาน ถ้าต้องการดูย้อนหลังเป็นวันหรือเดือนให้ใช้ Historic Trend แทน
สรุป
ทั้งหมดนี้ทำได้โดยไม่ต้องลงทุน Hardware เพิ่ม นอกจากนี้ยังเพิ่มมูลค่าได้อีกหลายทาง เช่น ให้ผู้ใช้เสียบ USB ดาวน์โหลดข้อมูลออกไป มอนิเตอร์หน้าจอจากระยะไกล หรือใช้หน้าจอเป็น Gateway ส่งข้อมูลออกไป
บทถัดไป
การเชื่อมต่อ Communication Port ใน HMI กับ PLC
มีคำถาม? ติดต่อทีมงาน
