Pusle Control by Mitsubishi PLC
คู่มือคำสั่ง Ladder PLC FX5U - Servo Control (2026)
คู่มือคำสั่ง Ladder PLC FX5U - Servo Control (2026)
อ้างอิงจาก Manual: MELSEC iQ-F FX5 User's Manual (Positioning Control)
- FX5 Mode (Native): ใช้ Device ใหม่ (SM5xxx) และคำสั่งรูปแบบใหม่ (แนะนำ)
- FX3 Compatible Mode: ใช้ Device เดิม (SM8xxx) และคำสั่งรูปแบบเดิม (เพื่อความเข้ากันได้กับรุ่นเก่า)
1. ตาราง Special Relay (SM) และ Special Register (SD)
ตารางนี้เปรียบเทียบ Device ระหว่างโหมด FX5 (Native) และ FX3 Compatible
1.1 Special Relay (ตรวจสอบสถานะและสั่งการ)
| ความหมาย | Axis 1 (Y0) | Axis 2 (Y1) | รายละเอียด | ||
|---|---|---|---|---|---|
| FX5 (ใหม่) | FX3 (เก่า) | FX5 (ใหม่) | FX3 (เก่า) | ||
| Pulse Output Monitor (Busy) | SM5516 | SM8340 | SM5517 | SM8350 | ON: กำลังจ่ายพัลส์ OFF: หยุดจ่าย (ใช้ Interlock) |
| Positioning Error | SM5532 | - | SM5533 | - | ON เมื่อเกิด Error (ดู Code ที่ SD) |
| Stop Command (หยุดทันที) | SM5628 | - | SM5629 | - | สั่ง ON เพื่อหยุดพัลส์ทันที (Immediate Stop) |
| Decel Stop Command (หยุดนุ่มนวล) | SM5644 | - | SM5645 | - | สั่ง ON เพื่อลดความเร็วแล้วหยุด |
| Instruction Complete Flag | - | SM8029 | - | SM8029 | บิตจบคำสั่ง (ใช้ต่อท้ายบรรทัดคำสั่ง) |
1.2 Special Register (ค่าตำแหน่งและความเร็ว)
| ความหมาย (32-bit) | Axis 1 (Y0) | Axis 2 (Y1) | รายละเอียด | ||
|---|---|---|---|---|---|
| FX5 (ใหม่) | FX3 (เก่า) | FX5 (ใหม่) | FX3 (เก่า) | ||
| Current Address (Pulse Unit) ค่าตำแหน่งปัจจุบัน |
SD5502 (SD5503) |
SD8340 (SD8341) |
SD5542 (SD5543) |
SD8350 (SD8351) |
แสดงค่าพัลส์ปัจจุบัน *(FX5 อ่านได้อย่างเดียว ต้องใช้คำสั่ง Preset ถ้าจะแก้ค่า) |
| Current Speed ความเร็วปัจจุบัน |
SD5504 (SD5505) |
- | SD5544 (SD5545) |
- | แสดงความเร็วที่กำลังวิ่งอยู่ |
| Error Code | SD5510 | - | SD5550 | - | รหัส Error เมื่อเกิดปัญหา |
2. เจาะลึกคำสั่ง Dog Search Zero Return (DSZR)
คำสั่งนี้ใช้สำหรับทำ Homing (วิ่งหาจุด Home) โดยใช้เซนเซอร์ (Dog Switch) และสัญญาณ Zero (Z-phase) จาก Servo
แบบที่ 1: แนะนำสำหรับ FX5U
รูปแบบนี้จะไม่ต้องระบุขา Input (Dog/Zero) ในตัวคำสั่ง Ladder
แต่ต้องไปตั้งค่าใน Module Parameter -> High Speed I/O แทน ทำให้โค้ดสะอาดและจัดการง่าย
รูปแบบคำสั่ง: [ DSZR(หรือ DDSZR) S1 S2 D1 D2 ]
- S1 (OPR Speed): ความเร็ววิ่งหา Dog (High Speed) เช่น 10000 Hz
- S2 (Creep Speed): ความเร็วคลานเมื่อเจอ Dog แล้ว (Low Speed) เช่น 1000 Hz
- D1 (Axis No.): ระบุแกนเป็นค่า K เช่น
K1(Axis 1),K2(Axis 2) - D2 (Complete Bit): บิตที่จะให้ ON เมื่อทำ Home เสร็จ (เช่น M0)
ตัวอย่าง Ladder (FX5 Style):
M0 (Start Homing)
|------[ ]--------------------[ DDSZR K10000 K1000 K1 M100 ]----|
(Speed) (Creep)(Ax1)(Done)
*หมายเหตุ: ต้องไปตั้งค่า Pin DOG (เช่น X0) และ Zero Signal (เช่น X1) ใน Parameter ของโปรแกรม GX Works3 ก่อน
แบบที่ 2: FX3 Compatible Operand (แบบเดิม)
รูปแบบนี้เหมือนรุ่น FX3U คือระบุขา Input ลงไปในคำสั่งเลย (เหมาะสำหรับคนเคยชินหรือแปลงโปรแกรมเก่ามา)
รูปแบบคำสั่ง: [ DSZR S1 S2 D1 D2 ]
- S1 (DOG Input): ขา Input ที่รับสัญญาณ Dog (เช่น X0)
- S2 (Zero Input): ขา Input ที่รับสัญญาณ Z-phase (เช่น X1)
- D1 (Pulse Output): ขาจ่ายพัลส์ (Y0)
- D2 (Direction Output): ขากำหนดทิศทาง (Y4)
ตัวอย่าง Ladder (FX3 Style):
M0 (Start Homing)
|------[ ]--------------------[ DSZR X0 X1 Y0 Y4 ]----|
2.3 ขั้นตอนการทำงานของ Dog Search (Operation Cycle)
เมื่อคำสั่งทำงาน เครื่องจักรจะเคลื่อนที่ตามลำดับดังนี้:
- เร่งความเร็ว (Accelerate): มอเตอร์หมุนด้วยความเร็ว
OPR Speed(ความเร็วสูง) ไปในทิศทางที่ตั้งไว้ (OPR Direction) - เจอ Dog (Dog ON): เมื่อเซนเซอร์ Dog (Near-point Dog) ถูกแตะ (ON) มอเตอร์จะลดความเร็วลงเหลือ
Creep Speed(ความเร็วคลาน) - ผ่าน Dog (Dog OFF): มอเตอร์จะวิ่งต่อไปด้วยความเร็วคลาน จนกว่าจะพ้นระยะเซนเซอร์ Dog (OFF)
- ค้นหา Zero Signal: หลังจากพ้น Dog แล้ว PLC จะรอรับสัญญาณ Zero (Z-phase) จาก Servo (หรือนับพัลส์แรก)
- หยุด (Stop): เมื่อเจอสัญญาณ Zero ครบตามจำนวนที่ตั้ง (ปกติคือ 1 ครั้ง) มอเตอร์จะหยุดทันที และรีเซ็ตค่า Current Address เป็น 0 (หรือค่าที่ตั้งไว้)
- จบการทำงาน: บิต Complete Flag (D2 ในแบบ FX5 หรือ SM8029 ในแบบ FX3) จะทำงาน
3. เจาะลึกคำสั่งเคลื่อนที่ (Positioning Instructions)
ส่วนนี้จะอธิบายคำสั่งเคลื่อนที่หลักๆ ที่ใช้บ่อย คือ แบบสัมพัทธ์ (Relative) และ แบบสัมบูรณ์ (Absolute)
3.1 DDRVI (Drive Relative) - การเคลื่อนที่แบบสัมพัทธ์
ใช้สั่งให้เคลื่อนที่ "เพิ่มขึ้นหรือลดลงจากจุดปัจจุบัน" (Incremental Movement)
DDRVI K500 ... มันจะวิ่งไปที่ 1500 (1000 + 500) ถ้าสั่ง
DDRVI K-500 ... มันจะวิ่งกลับมาที่ 500 (1000 - 500)แบบที่ 1: FX5 Operand (แนะนำ)
รูปแบบคำสั่ง: [ DDRVI(หรือ DRVI) S1 S2 D1 D2 ]
- S1 (Position): ระยะทางที่ต้องการเคลื่อนที่ (Pulse) เช่น K10000
- S2 (Speed): ความเร็วในการเคลื่อนที่ (Hz) เช่น K5000
- D1 (Axis No.): ระบุแกน (K1, K2...)
- D2 (Complete Bit): บิตที่จะให้ ON เมื่อวิ่งถึงเป้าหมาย
ตัวอย่าง Ladder (FX5 Style):
M1 (Start Move)
|------[ ]--------------------[ DDRVI K10000 K5000 K1 M101 ]----|
(Dist.) (Speed)(Ax1)(Done)
แบบที่ 2: FX3 Compatible Operand (แบบเดิม)
รูปแบบคำสั่ง: [ DDRVI S1 S2 D1 D2 ]
- S1 (Position): ระยะทาง (Pulse)
- S2 (Speed): ความเร็ว (Hz)
- D1 (Pulse Output): ขาจ่ายพัลส์ (Y0)
- D2 (Direction Output): ขากำหนดทิศทาง (Y4)
ตัวอย่าง Ladder (FX3 Style):
M1 (Start Move)
|------[ ]--------------------[ DDRVI K10000 K5000 Y0 Y4 ]----|
3.1.3 ขั้นตอนการทำงาน (Operation Cycle)
- เริ่มทำงาน (Start): เมื่อคำสั่งทำงาน มอเตอร์จะเริ่มหมุน
- เร่งความเร็ว (Accelerate): ความเร็วจะค่อยๆ เพิ่มขึ้นจนถึง
Speedตามเวลา Accel Time ที่ตั้งใน Parameter - คงที่ (Constant): วิ่งด้วยความเร็วคงที่
- ลดความเร็ว (Decelerate): เมื่อใกล้ถึงระยะทางที่กำหนด จะเริ่มลดความเร็วลง ตามเวลา Decel Time
- หยุด (Stop): มอเตอร์หยุดหมุนเมื่อครบจำนวนพัลส์
- จบการทำงาน: บิต Complete Flag (D2 หรือ SM8029) จะทำงาน
3.2 DDRVA (Drive Absolute) - การเคลื่อนที่แบบสัมบูรณ์
ใช้สั่งให้วิ่งไปที่ "ตำแหน่งเจาะจงโดยอ้างอิงจากจุด Home (0)" (Absolute Movement)
DDRVA K5000 ... มันจะวิ่งไปข้างหน้าอีก 4000 เพื่อให้ไปหยุดที่เลข 5000 ถ้าสั่ง
DDRVA K0 ... ไม่ว่าจะอยู่ที่ไหน มันจะวิ่งกลับไปที่จุด 0 เสมอแบบที่ 1: FX5 Operand (แนะนำ)
รูปแบบคำสั่ง: [ DDRVA(หรือ DRVA) S1 S2 D1 D2 ]
- S1 (Target Position): ตำแหน่งปลายทางที่ต้องการไป (Address) เช่น K5000
- S2 (Speed): ความเร็วในการเคลื่อนที่ (Hz)
- D1 (Axis No.): ระบุแกน (K1, K2...)
- D2 (Complete Bit): บิตที่จะให้ ON เมื่อวิ่งถึงเป้าหมาย
ตัวอย่าง Ladder (FX5 Style):
M2 (Go to 5000)
|------[ ]--------------------[ DDRVA K5000 K3000 K1 M102 ]----|
(Target)(Speed)(Ax1)(Done)
แบบที่ 2: FX3 Compatible Operand (แบบเดิม)
รูปแบบคำสั่ง: [ DDRVA S1 S2 D1 D2 ]
- S1 (Target Position): ตำแหน่งปลายทาง (Address)
- S2 (Speed): ความเร็ว (Hz)
- D1 (Pulse Output): ขาจ่ายพัลส์ (Y0)
- D2 (Direction Output): ขากำหนดทิศทาง (Y4)
ตัวอย่าง Ladder (FX3 Style):
M2 (Go to 5000)
|------[ ]--------------------[ DDRVA K5000 K3000 Y0 Y4 ]----|
3.2.3 ขั้นตอนการทำงาน (Operation Cycle)
- คำนวณระยะ (Calculation): PLC จะเช็คตำแหน่งปัจจุบัน (Current Address) เทียบกับ เป้าหมาย (Target S1) เพื่อดูว่าต้องวิ่งไปทิศทางไหนและไกลเท่าไหร่
- เริ่มทำงาน (Start): มอเตอร์ออกตัวไปในทิศทางที่ถูกต้อง
- เร่ง-คงที่-ลดความเร็ว: ทำงานเหมือน DDRVI
- หยุด (Stop): มอเตอร์หยุดเมื่อค่า Current Address ตรงกับค่า Target (S1) เป๊ะๆ
- จบการทำงาน: บิต Complete Flag จะทำงาน
-- สิ้นสุดเอกสารฉบับแก้ไข --
