หน้าแรกคู่มือServoการใช้งาน PLC กับ Servo Drive ผ่าน Modbus RS485 | คู่มือ
SERVO
เริ่มต้น
19 นาที

การใช้งาน PLC กับ Servo Drive ผ่าน Modbus RS485 | คู่มือ

เรียนรู้การเชื่อมต่อ PLC กับ Servo Drive ผ่าน Modbus RS485 ตั้งแต่การต่อสาย การตั้งค่า Baud Rate การสร้าง Modbus Table และการแปลง Parameter เป็น Hex Address

อัพเดทล่าสุด: 7/3/2569

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

฿18,220

การใช้งาน 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

  1. Baud Rate: ค่า Default คือ 57600

    • Parameter T09.01 = 5 (สำหรับ 57600)
    • หากต้องการ 9600 ให้เปลี่ยนเป็น 2
  2. Parity Check: 8, None, 1 (ค่า Default)

  3. Slave ID: ค่า Default คือ 1

    • Parameter T09.00 = 1

การตั้งค่า PLC

PLC จะทำหน้าที่เป็น Modbus Master โดย Session Number = 0

การสร้าง Modbus Table

ขั้นตอนการเพิ่ม Modbus Table

  1. เข้าไปที่ Add Modbus Table
  2. กรอกข้อมูลตามตารางด้านล่าง

ตาราง Parameter ที่สำคัญ

ParameterHex AddressFunction Codeจุดประสงค์PLC Register
P00-21H00150x06 (Write)Servo EnableD0
P13-00H13000x03 (Read)Servo StatusD2
P13-02H13020x03 (Read)RPMD4
P13-12H130C0x03 (Read)Input Pulse CountD6
P13-19H13130x03 (Read)TemperatureD8
P13-50H13320x03 (Read)Total Run TimeD10

การแปลง 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: ไม่พร้อมใช้งาน (ไฟดับหรือมีปัญหา)

เคล็ดลับการใช้งาน

  1. การ Monitor: ใช้สาย LAN จะเสถียรกว่าสาย USB
  2. การ Enable: สามารถใช้ Modbus แทน Digital Output ได้
  3. การตรวจสอบ: ใช้ M8134 เป็น Flag ตรวจสอบการทำงานเสร็จ
  4. การ 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 มีประสิทธิภาพและความเสถียรมากขึ้น