การใช้งาน PLC กับ Servo Drive ผ่าน Modbus RS485 | คู่มือ
เรียนรู้การเชื่อมต่อ PLC กับ Servo Drive ผ่าน Modbus RS485 ตั้งแต่การต่อสาย การตั้งค่า Baud Rate การสร้าง Modbus Table และการแปลง Parameter เป็น Hex Address
อัพเดทล่าสุด: 7/3/2569
ราคาชุดอุปกรณ์
การใช้งาน PLC กับ Servo Drive ผ่าน Modbus RS485
การเชื่อมต่อ PLC กับ Servo Drive ผ่าน Modbus RS485 ช่วยให้เราสามารถควบคุมและตรวจสอบสถานะของ Servo ได้อย่างครอบคลุมมากกว่าการใช้ Digital I/O เพียงอย่างเดียว
อุปกรณ์ที่ใช้
- Servo Drive: 400W พร้อม Motor, สายกำลัง และสาย Encoder
- PLC: FAS-32-MT-AC-E (ราคาประมาณ 3,000 บาท)
- มี LAN Port และ RS485 Port
- รองรับ Modbus
- สามารถขยาย I/O ได้
การต่อสายและ Wiring
การต่อสาย Control Terminal
ทำการต่อสายตาม Pin ดังนี้:
Pin 35: 24V DC (บวก)
Pin 39: COM (ลบ) จาก PLC
Pin 43: Pulse ลบ → Y0 ของ PLC
Pin 42: Direction ลบ → Y4 ของ PLC
Pin 9: DI1 (Enable) → Y1 ของ PLC (ถ้าใช้ Digital Enable)
Pin 11: COM สำหรับ DI1 → 24V DC
การต่อสาย Modbus RS485
PLC RS485-A → Pin 12 ของ Servo Drive
PLC RS485-B → Pin 14 ของ Servo Drive
การตั้งค่า Modbus Communication
การตั้งค่า Servo Drive
-
Baud Rate: ค่า Default คือ 57600
- Parameter T09.01 = 5 (สำหรับ 57600)
- หากต้องการ 9600 ให้เปลี่ยนเป็น 2
-
Parity Check: 8, None, 1 (ค่า Default)
-
Slave ID: ค่า Default คือ 1
- Parameter T09.00 = 1
การตั้งค่า PLC
PLC จะทำหน้าที่เป็น Modbus Master โดย Session Number = 0
การสร้าง Modbus Table
ขั้นตอนการเพิ่ม Modbus Table
- เข้าไปที่ Add Modbus Table
- กรอกข้อมูลตามตารางด้านล่าง
ตาราง Parameter ที่สำคัญ
| Parameter | Hex Address | Function Code | จุดประสงค์ | PLC Register |
|---|---|---|---|---|
| P00-21 | H0015 | 0x06 (Write) | Servo Enable | D0 |
| P13-00 | H1300 | 0x03 (Read) | Servo Status | D2 |
| P13-02 | H1302 | 0x03 (Read) | RPM | D4 |
| P13-12 | H130C | 0x03 (Read) | Input Pulse Count | D6 |
| P13-19 | H1313 | 0x03 (Read) | Temperature | D8 |
| P13-50 | H1332 | 0x03 (Read) | Total Run Time | D10 |
การแปลง Parameter เป็น Hex Address
วิธีการแปลง:
- เอาตัวเลข 2 ตัวหลังของ Parameter มาแปลงเป็นเลขฐาน 16
- ตัวอย่าง: P00-21 → H0015 (เพราะ 21 ในเลขฐาน 10 = 15 ในเลขฐาน 16)
การเขียนโปรแกรม
การใช้คำสั่ง MBus
ladder
[N100] ── MBus K1 "Servo" D100 D101
คำอธิบาย:
- K1: COM1 ของ PLC
- "Servo": ชื่อ Modbus Table
- D100: Error Code
- D101: Index
การตั้งค่า Network Monitor
Config → Project Settings → ระบุ IP Address
Config Settings → Network → Test Connection
Tool → Monitor
คำสั่งการควบคุม Servo
คำสั่ง DRVI (Increment)
ladder
DRVI K1000 K100 K100 Y0 Y4
Parameter:
- K1000: ความเร็ว (Hz)
- K100: Acceleration (AC)
- K100: Deceleration (DC)
- Y0: Pulse Output
- Y4: Direction Output
คำสั่ง DRVA (Absolute)
ladder
DRVA K50000 K1000 K100 K100 Y0 Y4
หมายเหตุ: Default คือ 1 รอบ = 10,000 Pulse
การทำงานแบบ Sequence
ตัวอย่าง Pattern การทำงาน
ladder
; Step 1: ไปตำแหน่ง 20000
[M10][D7500=K1] ── DRVA K20000 K1000 K100 K100 Y0 Y4
── MOV K2 D7500
; Step 2: ไปตำแหน่ง 0
[M10][D7500=K2] ── DRVA K0 K1000 K100 K100 Y0 Y4
── MOV K3 D7500
; Step 3: ไปตำแหน่ง 50000
[M10][D7500=K3] ── DRVA K50000 K1000 K100 K100 Y0 Y4
── MOV K1 D7500
; ตรวจสอบการทำงานเสร็จ
[M8134↓] ── [INC D7500]
[D7500>K3] ── [MOV K1 D7500]
การตรวจสอบสถานะ Servo
สถานะบนหน้าจอ Servo Drive
- PID: Position Mode กำลังทำงาน
- PIE: Position Mode พร้อมใช้งาน (Enable แล้ว)
- PNR: ไม่พร้อมใช้งาน (ไฟดับหรือมีปัญหา)
เคล็ดลับการใช้งาน
- การ Monitor: ใช้สาย LAN จะเสถียรกว่าสาย USB
- การ Enable: สามารถใช้ Modbus แทน Digital Output ได้
- การตรวจสอบ: ใช้ M8134 เป็น Flag ตรวจสอบการทำงานเสร็จ
- การ Debug: ตรวจสอบ Index ใน Modbus Table เพื่อดูสถานะการสื่อสار
การแก้ปัญหาที่พบบ่อย
ปัญหาการสื่อสาร
- ตรวจสอบ Baud Rate ให้ตรงกันทั้ง PLC และ Servo Drive
- ตรวจสอบการต่อสาย RS485 A และ B
- ตรวจสอบ Slave ID ว่าถูกต้อง
ปัญหาการควบคุม
- ตรวจสอบการ Enable Servo ผ่าน Parameter P00-21
- ตรวจสอบ Power Supply 24V DC
- ตรวจสอบการต่อสาย Control Terminal
สรุป
การใช้ Modbus RS485 เชื่อมต่อ PLC กับ Servo Drive ให้ประโยชน์มากกว่าการใช้ Digital I/O เพียงอย่างเดียว เนื่องจากสามารถอ่านข้อมูลสถานะต่างๆ ได้ครอบคลุม เช่น RPM, อุณหภูมิ, เวลาการทำงาน และสามารถควบคุมการ Enable ผ่านโปรแกรมได้ การตั้งค่าที่ถูกต้องและการเข้าใจ Parameter ต่างๆ จะช่วยให้การพัฒนาระบบควบคุม Servo มีประสิทธิภาพและความเสถียรมากขึ้น
มีคำถาม? ติดต่อทีมงาน




