หน้าแรกคู่มือ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

MBUS — เชื่อมต่อ Servo ผ่าน COM1
ใช้ Modbus Table ชื่อ Servo ส่งผ่าน COM1
N0
M100 ON → MBUS COM1 Table Servo
M100MBUSK1, Servo, D100, D101
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

คำอธิบาย:

  • 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)

DRVI — เคลื่อนที่แบบ Increment
ความถี่ 1000 Hz, จำนวน Pulse 20000 (2 รอบ), AC/DC 100ms, Pulse Y0, Direction Y4
N0
M20 ON → DRVI
M20DRVIK1000, K20000, K100, K100, Y0, Y4
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

Parameter:

  • K1000: ความถี่เป้าหมาย (Hz)
  • K20000: จำนวน Pulse (เช่น 20,000 = 2 รอบที่ 10,000 pulse/rev)
  • K100: Acceleration (AC)
  • K100: Deceleration (DC)
  • Y0: Pulse Output
  • Y4: Direction Output

คำสั่ง DRVA (Absolute)

DRVA — เคลื่อนที่แบบ Absolute
ไปตำแหน่งสัมบูรณ์ 50,000 pulse (Default: 1 รอบ = 10,000 Pulse)
N0
M21 ON → DRVA ไปตำแหน่ง 50,000
M21DRVAK50000, K1000, K100, K100, Y0, Y4
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

การทำงานแบบ Sequence

Servo Sequence — 3 Steps Loop
D7500 เก็บ step ปัจจุบัน (1-3). ใช้ M8134↓ (pulse complete) เพื่อข้าม step
N0
Step 1: ไปตำแหน่ง 20000
M10D7500 = K1DRVAK20000, K1000, K100, K100, Y0, Y4
Step 2: ไปตำแหน่ง 0
M10D7500 = K2DRVAK0, K1000, K100, K100, Y0, Y4
Step 3: ไปตำแหน่ง 50000
M10D7500 = K3DRVAK50000, K1000, K100, K100, Y0, Y4
M8134 Falling Edge = pulse เสร็จ → INC D7500
M8134INCD7500, D7500
ถ้า D7500 > 3 → วนกลับไป 1
D7500 > K3MOVK1, D7500
Network count: 1, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

การตรวจสอบสถานะ 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 มีประสิทธิภาพและความเสถียรมากขึ้น