Beginner
10 rungs
7 I/O

เซอร์โว Jog — เคลื่อนที่ทางบวก/ลบด้วยปุ่มกด พร้อมเลือกความเร็ว

Servo Jog Control (Manual + / − with Speed Selector)

Jog แบบกดค้าง — ปุ่ม Forward / Reverse สั่ง PLSF ต่อเนื่อง, เลือกความเร็วจาก HMI (ช้า/กลาง/เร็ว)

หลักการ

Jog คือโหมด manual ที่ผู้ใช้กดปุ่มเพื่อเคลื่อนที่เซอร์โว — ใช้สำหรับ:

  • ตั้งตำแหน่ง home / setup งานใหม่
  • ทดสอบ direction ตอนติดตั้ง
  • ดึงชิ้นงานออกจากเครื่องเมื่อมีปัญหา

คำสั่ง PLSF

ต่างจาก DRVA / DRVI (จำกัดจำนวน pulse), PLSF (Pulse Frequency) ออก pulse ต่อเนื่องที่ความถี่ที่กำหนด จนกว่าจะถูกหยุด

PLSF D210 Y0 Y4
     │    │  │
     │    │  └─ Direction Y
     │    └──── Pulse Y
     └───────── Frequency D-register (เปลี่ยนกลางทาง = motor speed change)

ทำไมใช้ PLSF ไม่ใช่ DRVI

DRVI / DRVAPLSF
ระยะทางระบุ pulseไม่จำกัด (ออกต่อเนื่อง)
Speed change กลางทาง
หยุดด้วยอะไรpulse ครบRST instruction
ใช้กับmove ตำแหน่งเป้าหมายjog, conveyor, fan

Speed Selector

3 ระดับเลือกได้จาก HMI:

  • Slow: 1 kHz (~6 RPM ที่ 10000 PPR) — ตำแหน่งงานละเอียด
  • Medium: 5 kHz (~30 RPM)
  • Fast: 10 kHz (~60 RPM) — ลากของเร็ว

ผู้ใช้กดปุ่ม HMI ที่ส่งค่า 1, 2, 3 ไป D205 → PLC คำนวณ D210 (frequency)

ลำดับการทำงาน

First scan
  ↓
D205 = 2 (Medium) — default
  ↓
HMI เลือก speed → D205 ∈ {1, 2, 3}
  ↓
PLC คำนวณ D210:
  D205 = 1 → D210 = 1000 Hz
  D205 = 2 → D210 = 5000 Hz
  D205 = 3 → D210 = 10000 Hz
  ↓
ผู้ใช้กด JOG+ (X0) ค้างไว้
  ↓
M0 ติด, Y4 OFF (ทิศ +), PLSF ออก pulse ที่ D210
  ↓
ปล่อยปุ่ม X0 → M0 ดับ → PLSF หยุด

ผู้ใช้กด JOG- (X1) ค้างไว้
  ↓
M1 ติด, Y4 ON (ทิศ -), PLSF ออก pulse ที่ D210
  ↓
ปล่อยปุ่ม X1 → M1 ดับ → PLSF หยุด

ความปลอดภัย

  • Mutual exclusion — กด JOG+ และ JOG- พร้อมกันต้องไม่มีอะไรเกิด (ใช้ ANDI cross-interlock ตามตัวอย่าง)
  • Soft limit — ตรวจ D8140 (current position) ก่อน jog หยุดเมื่อจะเกิน +X / -X (ตัวอย่างนี้ไม่ใส่ — ขึ้นกับ machine setup)
  • E-stop — Stop button (X2 NC) ตัด M0/M1 ทันที

ขยายเพิ่ม

  • Inching (1 step jog) — กดปุ่มทีละครั้ง = วิ่ง 100 pulse แล้วหยุด (ใช้ DRVI แทน)
  • Step distance from HMI — ปุ่ม "+10mm" / "+1mm" ที่ HMI เขียน K target ใน D
  • Speed ramp — เริ่มช้าค่อยเร็วขึ้นเมื่อกดค้างนาน (ใช้ TON + MOV)

โปรแกรม PLC

เซอร์โว Jog — เคลื่อนที่ทางบวก/ลบด้วยปุ่มกด พร้อมเลือกความเร็ว — Servo Jog Control (Manual + / − with Speed Selector)
Jog แบบกดค้าง — ปุ่ม Forward / Reverse สั่ง PLSF ต่อเนื่อง, เลือกความเร็วจาก HMI (ช้า/กลาง/เร็ว)
N0เลือกความเร็ว (HMI → frequency)
First scan — ตั้งระดับความเร็วเริ่มต้น = 2 (Medium)
M8150MOVK2, D205
Slow (D205 = 1) → D210 = 1000 Hz
D205 = K1MOVK1000, D210
Medium (D205 = 2) → D210 = 5000 Hz
D205 = K2MOVK5000, D210
Fast (D205 = 3) → D210 = 10000 Hz
D205 = K3MOVK10000, D210
N1ปุ่ม Jog (กดได้ครั้งละข้าง)
JOG+ (X0) — direct contact (ปล่อยปุ่มแล้ว PLSF จะหยุดทันที)
X0X1X2M0
JOG− (X1) — direct contact, ห้ามทำงานพร้อม JOG+
X1X0X2M1
N2Direction + Output Pulse
Direction (Y4) — OFF = ทิศ + (เดินหน้า), ON = ทิศ − (ถอยหลัง)
M1Y4
PLSF active — ออก pulse ต่อเนื่องขณะ jog ทั้ง 2 ทิศ
M0M1PLSFD210, Y0, Y4
N3ไฟแสดงสถานะ
ไฟ Forward (Y3) — ติดขณะ jog เดินหน้า
M0Y3
ไฟ Reverse (Y5) — ติดขณะ jog ถอยหลัง
M1Y5
Network count: 4, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

I/O Assignment

AddressRoleNote
X0ปุ่ม JOG+ (NO)กดค้างเพื่อเดินทางบวก
X1ปุ่ม JOG− (NO)กดค้างเพื่อเดินทางลบ
X2E-stop / safety (NC)
Y0Pulse output ไป servo drive
Y4Direction (OFF=+, ON=−)
Y3ไฟ Forward
Y5ไฟ Reverse

Parameters ที่ปรับได้

D205default: 2 (Medium)

ระดับความเร็ว: 1=Slow, 2=Medium, 3=Fast — HMI เขียนค่า

D210default: คำนวณ

ความถี่ jog ปัจจุบัน (Hz) — คำนวณอัตโนมัติจาก D205

M0 / M1default: 0

สถานะภายในของ JOG+ / JOG−

อุปกรณ์ที่แนะนำ

คำถามที่พบบ่อย

ทำไมไม่ใช้ DRVI กับ pulse จำนวนมาก?

DRVI lock ค่าทุกอย่างตอน start — ถ้ากดค้าง 5 วินาที + DRVI K100000 ปล่อยปุ่มกลางทางก็ยังวิ่งต่อ (ผู้ใช้คาดหวังว่าจะหยุด) PLSF ออก pulse 'ระหว่าง' contact ติด → ปล่อยปุ่มก็หยุดทันที = jog behavior ที่ถูกต้อง

ทำไม Y4 OUT M1 ไม่ใช่ OUT M0?

Convention: Direction OFF = ทิศปกติ (+), ON = ทิศกลับ (-) M1 = JOG- → ติดเมื่อต้องไป - → Y4 ON ตามนั้น (M0 = JOG+ ไม่ต้อง set Y4)

PLSF ดับแล้ว motor หยุดทันทีไหม?

PLSF หยุดออก pulse ทันที — แต่ motor ยังมี momentum ถ้าวิ่งเร็ว Servo drive จะเบรก (electrical brake) ใน ms-level ปกติพอ จึงหยุดสั้นๆ ที่จะใกล้เคียงตำแหน่งสุดท้าย ถ้าต้องการ smooth deceleration ใช้ DRVI แทน + accel/decel ramp

ทำไม OUT M0 ใช้ Stop NC ANDI X2?

fail-safe — ถ้า E-stop ถูกกด (X2 ON ตอนกด NC = OFF) → M0 ไม่ติด ต่อให้กด X0 ก็ไม่ jog ป้องกันได้ทั้ง: (1) เครื่องไม่วิ่งระหว่าง E-stop (2) สาย X2 ขาด → safe by default

วิธีนำเข้าไฟล์ใน SamSoar2022

  1. ดาวน์โหลดไฟล์ servo-jog-control.csv จากแท็บ CSV ด้านบน
  2. เปิด SamSoar2022 → สร้างโปรเจกต์ใหม่ (หรือเปิดโปรเจกต์ที่มีอยู่)
  3. เมนู File → Import → เลือกไฟล์ .csv ที่เพิ่งดาวน์โหลด
  4. กด F4 เพื่อ Compile — ตรวจสอบว่าไม่มี error
  5. ตรวจการต่อสายตามตาราง I/O ด้านบน แล้ว Download โปรแกรมเข้า PLC