หน้าแรกคู่มือPLCModbus Protocolวิธีใช้ Modbus Poll กับ PLC FAs - การเชื่อมต่อและอ่านข้อมูล

บทที่ 8 จาก 9 ใน Modbus Protocol

PLCเริ่มต้น · Beginner2 นาที

วิธีใช้ Modbus Poll กับ PLC FAs - การเชื่อมต่อและอ่านข้อมูล

ต่อโปรแกรม Modbus Poll กับ PLC Samkoon FAs ผ่าน Modbus TCP/IP (IP 192.168.1.200 Port 2000) แล้วอ่านเขียน Output Y ตามตารางตำแหน่งข้อมูล Modbus ของ Samkoon พร้อมสาเหตุที่ขึ้น Illegal Data Address

ต่อ Modbus Poll กับ Samkoon PLC FAs ผ่าน Modbus TCP/IP ที่ IP 192.168.1.200 Port 2000 (ค่า Default) แล้วอ่านตามตารางตำแหน่งข้อมูล Modbus ของ PLC เช่น Output Y เริ่มที่ 10000 (นับจาก 0 ไม่ติ๊ก PLC Addresses (Base 1) ใน Modbus Poll แล้ว Address 10005 = Y5) ถ้าขึ้น Illegal Data Address แปลว่ากำลังอ่าน Address ที่ไม่ตรงกับตาราง

อัพเดทล่าสุด: 26 ตุลาคม 2569

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

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

฿3,690

ขั้นตอนที่ 1: ตั้งค่าการเชื่อมต่อ

  1. เปิดโปรแกรม Modbus Poll
  2. ไปที่ Connection → Connect จะใช้การสื่อสารผ่าน RS485 (Serial Port) หรือ TCP/IP ก็ได้ ในคลิปเลือก Modbus TCP/IP
  3. ใส่ค่าของ PLC ที่ Remote Server
ช่องค่า Default ของ PLC
IP Address192.168.1.200
Port2000

ค่า IP และ Port นี้ไป Config เปลี่ยนเองได้

  1. กด OK แล้วเปิดหน้าต่างอ่านข้อมูลใหม่ขึ้นมา

ขั้นตอนที่ 2: เข้าใจ Illegal Data Address

หน้าต่างแรกจะขึ้น Illegal Data Address เป็นเรื่องปกติ เพราะกำลังอ่าน Address ที่ไม่ถูกต้องอยู่ ต้องอ้างอิง Address จาก ตารางตำแหน่งข้อมูล Modbus ของผู้ผลิต ซึ่งบอกว่าข้อมูลแต่ละชนิดของ PLC อยู่ที่ Address ไหน

Address นับจาก 0 — ตำแหน่งข้อมูลในตารางของ Samkoon นับจาก 0 ใส่ใน Modbus Poll ได้ตรงๆ เมื่อไม่ติ๊กช่อง PLC Addresses (Base 1) ในหน้า Read/Write Definition (แบบในคลิป) ถ้าติ๊กไว้ต้องบวก 1 ทุก Address เช่น Y0 = 10001

ตัวอย่างบางแถวจากตารางในคลิป

ข้อมูลช่วงชนิดข้อมูลฟังก์ชันอ่านฟังก์ชันเขียนตำแหน่งข้อมูล
X0~127bit0x01/0x020x050
Y0~127bit0x010x05/0x0f10000
M0~8191bit0x010x05/0x0f30000
D0~8191word0x03/0x040x06/0x1040000

ขั้นตอนที่ 3: อ่าน Output Y

ในคลิปลองอ่าน Y ซึ่งเริ่มที่ตำแหน่ง 10000

  1. ไปที่ Setup → Read/Write Definition
  2. ตั้งค่า
ช่องค่าในคลิป
Slave ID1
Function01 Read Coils (0x)
Address10000
Quantity20 (กี่ตัวก็ได้ตามต้องการ)
  1. กด OK — Coil ลำดับที่ 5 คือ Address 10005 ตรงกับ Y5 ของ PLC

ขั้นตอนที่ 4: ทดสอบอ่านเขียน

  • สั่ง Address 10005 เป็น ON จาก Modbus Poll — Y5 ที่ PLC จะ ON ตาม
  • สั่ง Y6 เป็น ON จากฝั่ง PLC — ใน Modbus Poll Address 10006 จะมีค่าเป็น 1

บทถัดไป

PLC Samkoon อ่านค่าเซนเซอร์อุณหภูมิความชื้นผ่าน Modbus RS485/RTU

2 นาทีปานกลาง · Intermediate

คำถามที่พบบ่อย

IP และ Port Default ของ PLC FAs สำหรับ Modbus TCP คืออะไร?
IP 192.168.1.200 และ Port 2000 ทั้งสองค่าเปลี่ยนเองได้ในการตั้งค่าของ PLC
ทำไมเปิด Modbus Poll แล้วขึ้น Illegal Data Address?
เพราะกำลังอ่าน Address ที่ไม่ถูกต้อง เป็นเรื่องปกติ ให้ดูตารางตำแหน่งข้อมูล Modbus ของผู้ผลิตแล้วตั้ง Address ให้ตรงกับข้อมูลที่ต้องการ เช่น Y เริ่มที่ 10000 (นับจาก 0) ถ้าติ๊ก PLC Addresses (Base 1) ไว้ Address ทุกตัวจะเลื่อนไป 1
จะทดสอบว่าอ่าน/เขียนได้จริงอย่างไร?
ตั้ง Read/Write Definition เป็น 01 Read Coils, Address 10000, Quantity 20 แล้วเปลี่ยนค่า Address 10005 เป็น ON — Y5 ที่ PLC ต้องติด กลับกันสั่ง Y6 ON จาก PLC แล้ว Address 10006 ใน Modbus Poll ต้องแสดง 1