วิธีย้ายค่าจาก HMI ไปที่ PLC (2-in-1)
หน้าจอ 2-in-1 อ่านค่าเซ็นเซอร์ผ่าน Modbus RS485 ที่ COM1 แล้วใช้ Data forward ใน SKTool ย้ายค่า 3x1 ของ Slave ID 1 และ 2 ไปที่ D0 และ D1 ของ PLC ภายในทาง COM2
ถ้าหน้าจอ 2-in-1 อ่านค่าจากเซ็นเซอร์ผ่าน RS485 เองแล้วอยากให้ PLC ได้ค่านั้นด้วย ให้ใช้ Data forward > Word address ใน SKTool ตั้ง Source address เป็น Address ของเซ็นเซอร์ทาง COM1 และ Mapped address เป็น D ของ PLC ทาง COM2
อัพเดทล่าสุด: 26 ตุลาคม 2569
โจทย์
หน้าจอ 2-in-1 ดึงข้อมูลจากเซ็นเซอร์โดยตรงผ่าน Modbus RS485 ฝั่งหน้าจอ แล้วอยากย้ายค่านั้นไปที่ PLC หลักการคือใช้ Data forward ในโปรแกรม SKTool
ตัวอย่างในคลิป (หน้าจอ GT-070-23M-PTAIO)
| ข้อมูล | Address ฝั่งหน้าจอ (Monitor Address) | ปลายทางฝั่ง PLC |
|---|---|---|
| Slave ID 1 | 1:3x1 (COM1) | D0 (COM2) |
| Slave ID 2 | 2:3x1 (COM1) | D1 (COM2) |
COM1 คือพอร์ต RS485 ที่หน้าจอใช้คุยกับเซ็นเซอร์ ส่วน COM2 คือฝั่ง PLC ของตัว 2-in-1
ขั้นตอน
- ในแผง Project ของ SKTool เลื่อนลงมาหาหมวดหมู่ Data forward
- ถ้าจะ Forward ค่าแบบ 16-bit หรือ 32-bit ให้ดับเบิลคลิก Word address
- กด New แล้วเลือก Source address คือแหล่งข้อมูล ถ้าใช้ RS485 โดยตรงจากตัว 2-in-1 HMI ให้เลือก COM1 (Modbus RTU Master) เลือก Slave ID และชนิดข้อมูล ในคลิปคือ
3xAddress 1 ได้เป็น1:3x1 - ระบุ Mapped address คือตำแหน่งปลายทางที่จะส่งค่าไป ในคลิปเลือก COM2 (Internal controller) ที่ Address
D0 - ถ้ามีข้อมูลที่อยากแมปเพิ่ม กด New ได้เรื่อยๆ ในคลิปเพิ่ม Slave ID 2 (
2:3x1) ไปที่ COM2D1 - กด OK แล้วดาวน์โหลดลงหน้าจอ
ค่าในหน้าต่าง Word address attribute settings ที่เห็นในคลิป
| ช่อง | ค่า |
|---|---|
| Data type | 16-Bit Unsigned Int |
| Source address | 1:3x1 |
| Mapped address | D0 ของ COM2 |
| Address interval | 1 |
| Number | 1 |
ผลลัพธ์
หลังดาวน์โหลด ค่าที่อ่านจาก 3x1 โดยตรงกับค่าใน D0 / D1 จะเท่ากัน เพราะหน้าจอส่งค่าไปให้ PLC เรื่อยๆ ในคลิปหน้าจอแสดง 327 และ 307 ทั้งฝั่ง HMI และฝั่ง PLC และเมื่อเปิด Monitor ฝั่ง PLC ก็เห็น D0 = 327, D1 = 307 ตรงกับค่าบนหน้าจอ
Address 3x ใน SKTool นับจาก 0
ส่วนนี้ไม่ได้อยู่ในคลิป แต่ใช้ได้กับการตั้ง Address Modbus ทั่วไป
Address นับจาก 0 — Address
3xใน SKTool คือ Address ในเฟรม Modbus ซึ่งนับจาก 0 ใส่ตามตาราง Register ในคู่มือเซ็นเซอร์ที่เขียนเป็นเลข Address (ฐาน 10 หรือฐาน 16) ได้ตรงๆ เช่น3x1คือ Input Register ที่ Address 1 ถ้าคู่มือเขียนแบบ3xxxx(นับจาก 1) ให้ลบ 30001 เช่น 30002 =3x1
มีคำถาม? ติดต่อทีมงาน

