ดึงข้อมูลจาก Servo Drive มาที่ PLC ผ่าน Modbus RS485
อ่านค่าพารามิเตอร์กลุ่ม P13 จาก Servo Drive Samkoon S8 มาที่ PLC ผ่าน Modbus RS485 ใน 5 ขั้นตอน ต่อสาย RS485, ตั้ง COM 57600 8-N-1, สร้าง Modbus Table, ออกคำสั่ง MBUS แล้ว Monitor
ต่อสาย RS485 ที่ขา 4 (RS485+) และขา 5 (RS485-) ของ Servo Drive ตั้ง COM ของ PLC เป็น 57600 8-N-1 แบบ Modbus master แล้วสร้าง Modbus Table อ่านพารามิเตอร์ P13 โดยแปลงเลขพารามิเตอร์ 2 ตัวหลังเป็นเลขฐาน 16 เช่น P13-12 เป็น H130C จากนั้นออกคำสั่ง MBUS แล้ว Monitor
อัพเดทล่าสุด: 26 ตุลาคม 2569
โจทย์
อยากอ่านค่าพารามิเตอร์จาก Servo Drive มาที่ PLC เพื่อเอาไปแสดงบนหน้าจอ HMI ในคลิปใช้ Servo Drive Samkoon S8 (AC220V/750W) กับตัวควบคุม Samkoon หน้าจอ 4.3 นิ้ว ที่มีหน้า "Servo RS485 Params" แสดง RPM, อุณหภูมิ, ตำแหน่ง และ Run Time
ขั้นตอนที่ 1: ต่อสายสื่อสาร RS485
ต่อสาย RS485 ตามรูปขั้วต่อสื่อสาร CN3/CN4 ในคู่มือ Servo Drive
| ขา | ชื่อ | การต่อ |
|---|---|---|
| 4 | RS485+ | A ของ RS485 |
| 5 | RS485- | B ของ RS485 |
ขั้นตอนที่ 2: ตั้งค่า RS485 ตามคู่มือ
ใน SamSoar2022 ไปที่ Config → Project Setting → Communication แล้วเลือก COM ที่ใช้งาน (ในคลิปคือ COM 1(485))
| ช่อง | ค่าในคลิป |
|---|---|
| Baudrate | 57600 |
| Databits | 8 |
| Stopbits | 1 |
| Checkcode | NONE |
| Protocol | Modbus master |
ค่า Default ของ Servo Drive คือ 57600, 8-N-1 และให้ PLC เป็น Master คุยกับ Slave ID 1
ขั้นตอนที่ 3: สร้าง Modbus Table
ตำแหน่ง Slave register เชื่อมกับพารามิเตอร์ในคู่มือ Servo Drive (กลุ่ม P13 Monitoring Parameter) โดยเลข 2 ตัวหลังของพารามิเตอร์ต้องแปลงเป็น เลขฐาน 16 เช่น P13-12 → H130C (12 = 0x0C)
Address นับจาก 0 — Slave register ที่ได้จากเลขพารามิเตอร์เป็น Address จริงในเฟรม Modbus ใส่ใน Modbus Table ของ SamSoar2022 ได้ตรงๆ ไม่ต้องบวก 1
Modbus Table ชื่อ servo ในคลิป
| Handle code | Slave register | พารามิเตอร์ | Slave count | Master register |
|---|---|---|---|---|
| 0x03 (Read holding) | H1300 | P13-00 Servo operation status | 1 | D100 |
| 0x03 (Read holding) | H1302 | P13-02 motor speed (rpm) | 1 | D102 |
| 0x03 (Read holding) | H130C | P13-12 | 2 | D104 |
| 0x03 (Read holding) | H1319 | P13-25 | 2 | D108 |
| 0x03 (Read holding) | H1324 | P13-36 | 2 | D106 |
| 0x03 (Read holding) | H1350 | P13-80 | 2 | D110 |
ทุกแถวตั้ง TriggerMode เป็น ModbusMode_Loop ความหมายของแต่ละพารามิเตอร์ดูได้จากตาราง P13 ในคู่มือ Servo Drive
ขั้นตอนที่ 4: ออกคำสั่ง MBUS
ออกคำสั่ง MBUS โดยใช้ Table ที่เพิ่งสร้าง
| Operand | ในคลิป |
|---|---|
| Com | K1 |
| Table | servo |
| Code (Error Code) | D200 |
| Index (Command Index) | D202 |
ขั้นตอนที่ 5: Download แล้ว Monitor
Download โปรแกรมลง PLC แล้ว Monitor ค่าดู พอ Monitor ค่ามาได้แล้ว ที่เหลือคือนำไปแสดงผลบนหน้าจอ HMI
บทถัดไป
ใช้ PLC คุม Stepping Motor หรือ Servo ด้วยคำสั่ง EDRVI
มีคำถาม? ติดต่อทีมงาน

