HMI-PLC-2-IN-1ปานกลาง · Intermediate2 นาที

วิธีย้ายค่าจาก 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

ชุดอุปกรณ์สำหรับบทความนี้

ราคาชุดอุปกรณ์

฿11,310

โจทย์

หน้าจอ 2-in-1 ดึงข้อมูลจากเซ็นเซอร์โดยตรงผ่าน Modbus RS485 ฝั่งหน้าจอ แล้วอยากย้ายค่านั้นไปที่ PLC หลักการคือใช้ Data forward ในโปรแกรม SKTool

ตัวอย่างในคลิป (หน้าจอ GT-070-23M-PTAIO)

ข้อมูลAddress ฝั่งหน้าจอ (Monitor Address)ปลายทางฝั่ง PLC
Slave ID 11:3x1 (COM1)D0 (COM2)
Slave ID 22:3x1 (COM1)D1 (COM2)

COM1 คือพอร์ต RS485 ที่หน้าจอใช้คุยกับเซ็นเซอร์ ส่วน COM2 คือฝั่ง PLC ของตัว 2-in-1

ขั้นตอน

  1. ในแผง Project ของ SKTool เลื่อนลงมาหาหมวดหมู่ Data forward
  2. ถ้าจะ Forward ค่าแบบ 16-bit หรือ 32-bit ให้ดับเบิลคลิก Word address
  3. กด New แล้วเลือก Source address คือแหล่งข้อมูล ถ้าใช้ RS485 โดยตรงจากตัว 2-in-1 HMI ให้เลือก COM1 (Modbus RTU Master) เลือก Slave ID และชนิดข้อมูล ในคลิปคือ 3x Address 1 ได้เป็น 1:3x1
  4. ระบุ Mapped address คือตำแหน่งปลายทางที่จะส่งค่าไป ในคลิปเลือก COM2 (Internal controller) ที่ Address D0
  5. ถ้ามีข้อมูลที่อยากแมปเพิ่ม กด New ได้เรื่อยๆ ในคลิปเพิ่ม Slave ID 2 (2:3x1) ไปที่ COM2 D1
  6. กด OK แล้วดาวน์โหลดลงหน้าจอ

ค่าในหน้าต่าง Word address attribute settings ที่เห็นในคลิป

ช่องค่า
Data type16-Bit Unsigned Int
Source address1:3x1
Mapped addressD0 ของ COM2
Address interval1
Number1

ผลลัพธ์

หลังดาวน์โหลด ค่าที่อ่านจาก 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