วิธีเชื่อมต่อ HMI สองเครื่องผ่าน Modbus TCP/IP แบบ Step by Step
ให้ HMI Samkoon สองเครื่องคุยกันผ่านสาย LAN ด้วย Modbus TCP/IP ตั้งเครื่องแรกเป็น Modbus Master TCP/IP ที่ Port 8000 เครื่องที่สองเป็น Modbus Slave TCP/IP แล้วจับคู่ 0x กับ LB และ 4x กับ LW
ตั้ง HMI เครื่องแรกเป็น Modbus Master TCP/IP (Client) ที่ชี้ไปยัง IP ของเครื่องที่สองและใช้ Port 8000 ส่วนเครื่องที่สองตั้งเป็น Modbus Slave TCP/IP (Server) จากนั้น 0x ของฝั่ง Master จะตรงกับ LB และ 4x ตรงกับ LW ของฝั่ง Slave ข้อมูลสองหน้าจอจึงซิงค์กัน
อัพเดทล่าสุด: 26 ตุลาคม 2569
ภาพรวม
คลิปนี้สาธิต HMI Samkoon สองเครื่องที่ต่อกันด้วยสาย LAN เครื่องซ้ายคือ HMI Master และเครื่องขวาคือ HMI Slave (Modbus TCP/IP Server) กดปุ่มบนเครื่องหนึ่ง หลอดบนอีกเครื่องติดตาม และใส่ตัวเลขบนเครื่องหนึ่ง ตัวเลขบนอีกเครื่องก็เปลี่ยนตาม
วิธีนี้ใช้หน้าจอเป็นตัวกลางให้สองระบบคุยกันได้ โดยกำหนดบทบาทดังนี้
- HMI ตัวแรก — Modbus TCP/IP Client (หรือเรียกว่า Master)
- HMI ตัวที่สอง — Modbus TCP/IP Server (หรือเรียกว่า Slave)
ขั้นที่ 1 — ตั้งค่า HMI ฝั่ง Master
ใน SKTool สร้าง Link ที่ Ethernet แล้วเปิดหน้า Communication Port Properties
แท็บ General
| ช่อง | ค่าในคลิป |
|---|---|
| Link Name | Modbus Master TCP/IP |
| Connection Services | Modbus → Modbus Master TCP/IP |
| HMI IP | ติ๊กไว้ แล้วกำหนด IP ของหน้าจอตัวที่ 1 = 192.168.1.100 (ค่า Default) |
| Subnet mask / Gateway | 255.255.255.0 / 192.168.1.1 |
Connection Services ให้เลือก Modbus ไม่ต้องเลือกยี่ห้ออุปกรณ์ใดๆ
แท็บ Parameter — บอกว่าหน้าจอนี้จะไปคุยกับหน้าจอตัวไหน
| ช่อง | ค่าในคลิป |
|---|---|
| Connected equipment ip — IP Address | 192.168.1.101 (IP ของหน้าจอตัวที่ 2) |
| Port number | 8000 |
Port ต้องเป็น 8000 — พอสร้าง Link นี้ Port เริ่มต้นจะเป็น 502 แต่ถ้าจะใช้สื่อสารระหว่างหน้าจอกับหน้าจอ ต้องเปลี่ยนเป็น 8000
เท่านี้ Config ฝั่ง Master ก็เสร็จ
ขั้นที่ 2 — ตั้งค่า HMI ฝั่ง Slave
สร้าง Link ที่ Ethernet เหมือนกัน แท็บ General
| ช่อง | ค่าในคลิป |
|---|---|
| Link Name | Modbus Slave TCP/IP |
| Connection Services | Modbus → Modbus Slave TCP/IP |
| HMI IP | 192.168.1.101 |
IP ของสองหน้าจอห้ามซ้ำกัน ส่วนแท็บ Parameter ของฝั่ง Slave ไม่ต้องแก้อะไร ปล่อยตามค่าเดิม (ในคลิป Port number แสดงเป็น 8000) เพราะ Slave แค่รอส่งข้อมูลกลับให้ Master
ขั้นที่ 3 — จับคู่ข้อมูลแบบ Bit (0x ↔ LB)
ฝั่ง Master — สร้าง Bit Switch แล้วในหน้า Address Entry เลือก Ethernet → Modbus Master TCP/IP → 0x ใส่ Address เช่น 0x 0
ฝั่ง Slave — ปุ่มแบบเดียวกัน แต่อย่าเลือก Ethernet ให้เลือก Internal storage area (ข้อมูลภายในของหน้าจอ) แล้วใช้ LB (Local Bit) 0
| ฝั่ง Master | ฝั่ง Slave |
|---|---|
0x 0 | LB0 |
0x 15 | LB15 |
พอจับคู่แบบนี้ กดปุ่มที่เครื่องใดเครื่องหนึ่ง ข้อมูลก็ซิงค์กัน เพราะ 0x ของ Master แมปอยู่กับ LB ของ Slave
ขั้นที่ 4 — จับคู่ข้อมูลแบบตัวเลข (4x ↔ LW)
ฝั่ง Master — สร้าง Numeric Input แล้วเลือก Ethernet → Modbus Master TCP/IP → 4x (Holding Register) เช่น 4x 0, 4x 1, 4x 2
ฝั่ง Slave — Numeric Input เลือก Internal storage area → LW
| ฝั่ง Master | ฝั่ง Slave |
|---|---|
4x 0 | LW0 |
4x 10 | LW10 |
เปลี่ยนค่า 4x 0 ที่ Master ค่า LW0 ที่ Slave ก็เปลี่ยนตาม และถ้าเปลี่ยน LW0 ที่ Slave ค่า 4x 0 ที่ Master ก็เปลี่ยนตามเช่นกัน
หมายเหตุเรื่องการเขียน Address
ส่วนนี้ไม่ได้พูดในคลิป แต่เป็นแนวทางทั่วไปของ SKTool
0x / 4x คือประเภทข้อมูล ไม่ใช่เลขฐาน 16 — ตัวเลขที่ตามหลังเป็นเลขฐาน 10 นับจาก 0 เช่น 0x10 คือ Coil ที่ Address 10 (= LB10) และ 4x0 คือ Holding Register ตัวแรก (= LW0)
สรุป
HMI Samkoon ที่มีพอร์ต LAN คุยกันเองได้ด้วย Modbus TCP/IP ตั้งเครื่องหนึ่งเป็น Modbus Master TCP/IP ชี้ไปที่ IP ของอีกเครื่องด้วย Port 8000 ตั้งอีกเครื่องเป็น Modbus Slave TCP/IP แล้วใช้ 0x ↔ LB สำหรับ Bit และ 4x ↔ LW สำหรับตัวเลข
บทถัดไป
HMI คุยกับ HMI ผ่าน RS485
มีคำถาม? ติดต่อทีมงาน