Advanced
16 rungs
12 I/O

Area Scanner หลายโซน — ลดความเร็วตามระยะใกล้คน

Area Scanner — Multi-Zone Speed Control

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:

  1. คนออกจาก danger zone → scanner zones ทั้ง 3 ON ทั้งคู่
  2. กด Reset (X10) — manual
  3. Fault clear ถ้าทุก zone OK + ไม่มี active hazard
  4. 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

Area Scanner หลายโซน — ลดความเร็วตามระยะใกล้คน — Area Scanner — Multi-Zone Speed Control
Laser area scanner 3 โซน — โซนไกลลดความเร็ว, โซนกลางหยุด, โซนใกล้ E-stop — ปลอดภัยแต่ยังคงผลิตได้
N0ตั้งความเร็วเริ่มต้น
First scan — ตั้งความเร็ว 100% (1000 = 100.0%)
M8150MOVK1000, D200
N1ตรวจจับ Zone Trip
Zone 1 trip (X0 OFF) — emergency stop, ตั้ง Fault flag (M99)
X0SETM99
Zone 2 trip (X1 OFF) — ตั้ง flag motion stop (M11)
X1M11
Zone 3 trip (X2 OFF) — ตั้ง flag warning (M12, โหมดช้า)
X2M12
N2เลือกความเร็วตาม Zone
ทุก zone ปกติ → ตั้งความเร็ว 100% (1000)
X0X1X2MOVK1000, D200
Zone 3 ทำงาน (X2 OFF, X1+X0 ปกติ) → ความเร็ว 50% (500)
X2X1X0MOVK500, D200
Zone 2 ทำงาน (X1 OFF, X0 ปกติ) → ความเร็ว 0 (หยุด motion, motor ยังเปิด)
X1X0MOVK0, D200
N3Motor + Motion Enable
Motor enable (Y0) — เปิดเฉพาะเมื่อ Fault หาย + Zone 1 ปกติ
X0M99M0Y0
Motion enable (Y1) — เมื่อ Motor ติด และ Zone 1+2 ปกติ
Y0X1Y1
N4Buzzer + Light Tower
Buzzer (Y2) — กระพริบเมื่ออยู่ใน warning zone
M12M8013Y2
Light tower — สีแดง (Y3) เมื่อมี Fault
M99Y3
Light tower — สีเหลือง (Y4) เมื่อ Zone 2 หยุด motion
M11M99Y4
Light tower — สีเขียว (Y5) เมื่อทำงานปกติ (ทุก zone ปลอดภัย)
X0X1X2M0Y5
N5Reset + วงจร Start/Stop
Reset (X10) — ล้าง fault ถ้าทุก zone ปกติ
X10X0RSTM99
Start (X11) — เปิดระบบหลังจาก Reset
X11X0M99SETM0
Stop (X12 NC) — ปิดระบบ
X12RSTM0
Network count: 6, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

I/O Assignment

AddressRoleNote
X0Zone 1 OSSD (NC, ใกล้สุด)Zone ความปลอดภัยสูงสุด — emergency เมื่อ trip
X1Zone 2 OSSD (NC, กลาง)หยุด motion เมื่อ trip แต่ motor ยังเปิดอยู่
X2Zone 3 OSSD (NC, ไกลสุด)ลดความเร็วเหลือ 50% เมื่อ trip
X10ปุ่ม Reset (NO)
X11ปุ่ม Start (NO)
X12ปุ่ม Stop (NC)
Y0Motor / power enable
Y1Motion enable (สั่งแกนเคลื่อนที่)
Y2Buzzer / สัญญาณเตือน
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: 0

System enable — ตั้งผ่านปุ่ม Start, ล้างเมื่อกด Stop หรือมี fault

M11default: 0

Flag Zone 2 หยุด motion (หยุดเคลื่อนที่ แต่ motor ยังเปิด)

M12default: 0

Flag Zone 3 warning (โหมดช้ากำลังทำงาน)

M99default: 0

Fault 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

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