Area Scanner หลายโซน — ลดความเร็วตามระยะใกล้คน
Laser area scanner 3 โซน — โซนไกลลดความเร็ว, โซนกลางหยุด, โซนใกล้ E-stop — ปลอดภัยแต่ยังคงผลิตได้
หลักการ
Area Scanner (เช่น SICK S300, Keyence SZV) ใช้ laser หมุนวัดระยะ 360° แล้วสร้าง 'protective field' ตามรูปร่างที่กำหนด มีหลายโซนซ้อนกัน:
┌─────────────────────────────┐
│ ZONE 3 (Warning, slow) │
│ ┌───────────────────────┐ │
│ │ ZONE 2 (Stop) │ │
│ │ ┌─────────────────┐ │ │
│ │ │ ZONE 1 (E-Stop)│ │ │
│ │ │ [Machine] │ │ │
│ │ └─────────────────┘ │ │
│ └───────────────────────┘ │
└─────────────────────────────┘
ทำไมหลายโซน
ถ้าใช้ E-stop อย่างเดียว → คนเดินเข้าใกล้ → หยุด ทุกครั้ง → productivity ต่ำ ถ้าไม่หยุดเลย → อันตราย
Zones ลำดับชั้น:
- Zone 3 (Warning, far) — คนใน 3-5m → ลดความเร็ว 50% + sound buzzer
- Zone 2 (Stop, medium) — คนใน 1-3m → หยุดทุก motion + light tower red
- Zone 1 (E-stop, near) — คนใน <1m → emergency stop + fault flag
I/O Mapping
Area scanner ปกติมี 3-6 OSSD outputs (digital safety outputs):
- Y0 / X0 = Zone 1 OSSD (active = clear, OFF = trip)
- Y1 / X1 = Zone 2 OSSD
- Y2 / X2 = Zone 3 OSSD
Note: OSSD ของ scanner = NC behavior (ON = ปลอดภัย, OFF = trip)
State Machine
SAFE (X0 ON, X1 ON, X2 ON) → ความเร็ว 100%
WARNING (X0 ON, X1 ON, X2 OFF) → ความเร็ว 50%
STOPPING (X0 ON, X1 OFF) → motion หยุด, motor ยังเปิด
EMERGENCY (X0 OFF) → motion หยุด + power ดับ + fault
Logic
First scan
↓
Speed setpoint = 100% (D200 = 1000)
↓
Loop:
ถ้า X0 OFF → SET M99 (fault), Y3 LED แดง, Y0 OFF (motor)
ถ้า X1 OFF → motion stop (Y1 = 0), motor ยังเปิด
ถ้า X2 OFF → speed = 50% (D200 = 500)
ทุก zone OK → speed = 100% (D200 = 1000)
↓
ส่ง D200 ไป VFD speed setpoint ผ่าน Modbus
Reset Sequence
Like dual-channel E-stop, reset ต้อง physical:
- คนออกจาก danger zone → scanner zones ทั้ง 3 ON ทั้งคู่
- กด Reset (X10) — manual
- Fault clear ถ้าทุก zone OK + ไม่มี active hazard
- Operator ต้องกด Start อีกครั้ง
ความปลอดภัย
⚠ คำเตือน — เหมือน dual-channel E-stop ตัวอย่างนี้ใช้ standard PLC ที่ไม่ certified safety งานจริงต้องใช้ Safety PLC + scanner-rated safety inputs ตัวอย่างนี้เพื่อเรียนรู้ logic + secondary control เท่านั้น
ขยายเพิ่ม
- Hot Zones — บาง machine ต้องการ E-stop ที่ระยะใกล้กว่า (เช่น 0.3m)
- Reverse-only at warning — เครื่อง CNC ที่กำลังถอย ลด zone
- HMI display — โชว์ภาพ zone กับสถานะแต่ละโซน
- Logging — เก็บ history zone trigger เพื่อ analyze ใครเดินใกล้
- Configurable zones via HMI — เปลี่ยนรูปร่าง zone ตาม recipe (ของใหญ่ = zone ใหญ่ขึ้น)
โปรแกรม PLC
I/O Assignment
| Address | Role | Note |
|---|---|---|
| X0 | Zone 1 OSSD (NC, ใกล้สุด) | Zone ความปลอดภัยสูงสุด — emergency เมื่อ trip |
| X1 | Zone 2 OSSD (NC, กลาง) | หยุด motion เมื่อ trip แต่ motor ยังเปิดอยู่ |
| X2 | Zone 3 OSSD (NC, ไกลสุด) | ลดความเร็วเหลือ 50% เมื่อ trip |
| X10 | ปุ่ม Reset (NO) | |
| X11 | ปุ่ม Start (NO) | |
| X12 | ปุ่ม Stop (NC) | |
| Y0 | Motor / power enable | |
| Y1 | Motion enable (สั่งแกนเคลื่อนที่) | |
| Y2 | Buzzer / สัญญาณเตือน | |
| Y3 | ไฟ Light tower สีแดง (Fault) | |
| Y4 | ไฟ Light tower สีเหลือง (Zone 2 หยุด motion) | |
| Y5 | ไฟ Light tower สีเขียว (ทำงานปกติ, ทุก zone ปลอดภัย) |
Parameters ที่ปรับได้
D200default: 1000 (100%)Speed setpoint ×0.1% ส่งไป VFD หรือ servo (1000 = 100%, 500 = 50%, 0 = หยุด)
M0default: 0System enable — ตั้งผ่านปุ่ม Start, ล้างเมื่อกด Stop หรือมี fault
M11default: 0Flag Zone 2 หยุด motion (หยุดเคลื่อนที่ แต่ motor ยังเปิด)
M12default: 0Flag Zone 3 warning (โหมดช้ากำลังทำงาน)
M99default: 0Fault flag — Zone 1 trip หรือ system error
อุปกรณ์ที่แนะนำ
คำถามที่พบบ่อย
Scanner ของ Sick / Keyence ออกสัญญาณยังไง?
ปกติมี 3 OSSD pairs (6 outputs total): Zone 1 OSSD-A + OSSD-B, Zone 2 OSSD-A + B, Zone 3 OSSD-A + B แต่ละคู่ต้อง ON พร้อมกันถึงปลอดภัย (cross-monitoring ภายใน scanner) ใน standard PLC ใช้แค่ OSSD-A ของแต่ละโซน — Safety PLC ใช้ทั้ง A + B แล้วตรวจไขว้กัน
ทำไม Zone 2 ต้องเก็บ motor power ON?
ถ้าตัด power ทุกครั้งคนเดินเข้า → motor coast หยุดช้า, restart นาน, productivity ต่ำ Zone 2 = แค่หยุด motion (D200=0) แต่ servo / VFD ยัง 'enabled' จึง standstill เร็วและ resume ทันทีหลังคนออก Zone 1 = emergency จริงเท่านั้นที่ตัด power
ทำไมต้องมี Zone 3 (warning)?
เป็น 'pre-warning' ให้คนรู้ตัวก่อนเข้า Zone 2 — ลดเวลาที่เครื่องหยุดสนิท ลดความเร็ว 50% ทำให้ stop time สั้นลง (kinetic energy quad ของ speed) ถ้าคนยังเข้าต่อ → Zone 2 → หยุด เป็น 'progressive safety' = ปลอดภัยมากขึ้น แต่ productivity ลดลงน้อย
Scanner สามารถเปลี่ยนรูปร่าง zone ตาม recipe ได้ไหม?
ได้ — modern scanner (Sick S3000, Keyence SZV) รองรับ 'monitoring case' หลายแบบ เลือก case ผ่าน digital input หรือ ETHERNET/IP PLC ส่ง case selector ตาม recipe (เช่น product เล็ก = zone เล็ก, product ใหญ่ = zone ใหญ่) ใช้ Y output ของ PLC สั่ง case ที่ scanner — แต่ต้อง verify ว่า case ตรงตาม config ในเครื่อง
วิธีนำเข้าไฟล์ใน SamSoar2022
- ดาวน์โหลดไฟล์
area-scanner-zones.csvจากแท็บ CSV ด้านบน - เปิด SamSoar2022 → สร้างโปรเจกต์ใหม่ (หรือเปิดโปรเจกต์ที่มีอยู่)
- เมนู File → Import → เลือกไฟล์
.csvที่เพิ่งดาวน์โหลด - กด F4 เพื่อ Compile — ตรวจสอบว่าไม่มี error
- ตรวจการต่อสายตามตาราง I/O ด้านบน แล้ว Download โปรแกรมเข้า PLC
