เซอร์โว Jog — เคลื่อนที่ทางบวก/ลบด้วยปุ่มกด พร้อมเลือกความเร็ว
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 / DRVA | PLSF | |
|---|---|---|
| ระยะทาง | ระบุ 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
I/O Assignment
| Address | Role | Note |
|---|---|---|
| X0 | ปุ่ม JOG+ (NO) | กดค้างเพื่อเดินทางบวก |
| X1 | ปุ่ม JOG− (NO) | กดค้างเพื่อเดินทางลบ |
| X2 | E-stop / safety (NC) | |
| Y0 | Pulse output ไป servo drive | |
| Y4 | Direction (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
- ดาวน์โหลดไฟล์
servo-jog-control.csvจากแท็บ CSV ด้านบน - เปิด SamSoar2022 → สร้างโปรเจกต์ใหม่ (หรือเปิดโปรเจกต์ที่มีอยู่)
- เมนู File → Import → เลือกไฟล์
.csvที่เพิ่งดาวน์โหลด - กด F4 เพื่อ Compile — ตรวจสอบว่าไม่มี error
- ตรวจการต่อสายตามตาราง I/O ด้านบน แล้ว Download โปรแกรมเข้า PLC

