Light Curtain พร้อม Muting — บายพาสเฉพาะตอนของส่งผ่าน
Light curtain ที่จะ bypass อัตโนมัติเมื่อ muting sensor ทั้ง 2 ตัวเห็นสินค้า — ป้องกันคนได้ แต่ยอมให้ของไหลผ่านอัตโนมัติ
หลักการ
ในเครื่องอัตโนมัติที่มี infeed/outfeed (สายพานเข้า-ออก) ผู้ใช้ต้องการ:
- ✓ Light curtain หยุดเครื่องถ้าคนยื่นมือเข้า
- ✗ Light curtain ไม่หยุดถ้าเป็นกล่องสินค้าที่กำลังไหลผ่าน
Muting = บายพาส (mute) safety output ชั่วคราวเมื่อระบบมั่นใจว่าสิ่งที่ ตัด beam คือ "ของ" ไม่ใช่ "คน"
Anatomy ของ Muting
ใช้ muting sensors 2 ตัว (M1, M2) ด้านหน้าและด้านหลัง light curtain:
┌─────────────────────┐
│ Light Curtain │
│ (X10 = OK if clear)│
└─────────────────────┘
↑ ↑
───[M1]──────[M2]─── ← muting sensors
↑ ↑
│ │
[box →] [box →] (สายพาน)
Logic ของ muting:
- กล่องเข้ามา → M1 (X11) ON
- กล่องเดินต่อ → M1 ยัง ON, M2 (X12) ON ← ทั้งคู่ ON พร้อมกัน
- ระหว่างนี้ → safety output ถูก mute (light curtain ตัด beam ก็ไม่หยุดเครื่อง)
- กล่องผ่านพ้น light curtain → M1 OFF, M2 ยัง ON
- กล่องผ่านสุด → M2 OFF → muting end
Muting Validation Rules (มาตรฐาน ISO 13849)
ป้องกันการ "หลอก mute" — แค่ M1+M2 ไม่พอ ต้อง:
- ลำดับถูก — M1 ON ก่อน M2 (สำหรับทิศ → flow)
- เวลาเริ่มต้น ≤ 4s — M1 และ M2 ต้อง ON ภายใน 4 วินาทีของกัน
- Total mute time ≤ 60s — ป้องกันคนเอากระดาษบังเซ็นเซอร์เพื่อ mute ค้าง
- Reset on light curtain trip — ถ้า light curtain ตรวจคนระหว่าง mute → fault flag, ต้อง physical reset
ตัวอย่างนี้ implement rule 1, 2, 3 (rule 4 ใน rung แยก)
Logic Flow
First scan
↓
Safety OK = TRUE (M0 = ON ตอนเริ่ม)
↓
Loop:
Light curtain X10 = ON (clear) AND ไม่อยู่ใน muting → safe
Light curtain X10 = OFF (blocked) AND muting active → safe (bypass)
Light curtain X10 = OFF AND ไม่อยู่ใน muting → STOP
Muting state machine:
Idle → Stage 1 (M1 only)
→ Stage 2 (M1 + M2 both ON) ← muting active!
→ Stage 3 (M2 only, M1 off)
→ Idle (M2 off)
ลำดับการทำงาน (Detail)
1. กล่องผ่าน M1 (X11)↑
D200 = 1 (Stage 1 begins)
T0 (4s window) เริ่มนับ
2. กล่องผ่าน M2 (X12)↑ (ภายใน 4s)
D200 = 2 (Muting active!)
M0 (Mute flag) ติด
T1 (60s max) เริ่มนับ
3. M0 ติด = bypass light curtain (X10 ไม่มีผล)
4. กล่องผ่าน M1 (X11)↓
D200 = 3 (Stage 3 — เหลือแค่ M2)
5. กล่องผ่าน M2 (X12)↓
D200 = 0 (Idle), M0 ดับ
6. กลับไป safety ปกติ
Fault Conditions
- T0 fires (4s) — M1 ON แต่ M2 ยังไม่ ON → fault, light curtain ทำงานปกติ
- T1 fires (60s) — muting ค้างเกิน 60s → fault, ต้อง reset
- X10 trips ระหว่าง muting — มีคนยื่นมือเข้ามา → fault, emergency stop
⚠ ความปลอดภัย — ตัวอย่างนี้เพื่อการศึกษา ในงานจริงต้องใช้ safety relay หรือ safety PLC (Pilz, Siemens F-PLC) ที่ certified ตาม ISO 13849-1 standard PLC ไม่เพียงพอสำหรับ functional safety ที่ระดับ Cat 3 หรือ PLd
ขยายเพิ่ม
- Bidirectional muting — รองรับ flow ทั้ง 2 ทาง (เข้าและออก)
- Multiple muting zones — มี light curtain หลายชุด, mute เฉพาะที่ต้องการ
- Override key — ผู้ดูแลใส่ key + reset button เพื่อ clear fault
- Logging — เก็บ mute event ใน D เพื่อ audit trail
โปรแกรม PLC
I/O Assignment
| Address | Role | Note |
|---|---|---|
| X10 | Light curtain OSSD output (NO) | ON = ปกติ (ปลอดภัย), OFF = ถูกบล็อก |
| X11 | Muting sensor M1 (ฝั่งต้นทาง) | |
| X12 | Muting sensor M2 (ฝั่งปลายทาง) | |
| X20 | ปุ่ม Reset (NO) | ล้าง fault ด้วยมือ (หลังตรวจสอบหน้างานแล้วเท่านั้น) |
| Y0 | Machine enable (safety output) | ส่งไป contactor หลัก / safety relay reset input |
| Y3 | ไฟ Fault (สีแดง) | |
| Y4 | ไฟ Mute active (สีเหลือง) | ตามมาตรฐาน ISO ต้องมีไฟแสดง mute ให้เห็นชัด |
Parameters ที่ปรับได้
D200default: 0Muting state: 0=Idle, 1=มีแค่ M1, 2=ทั้งคู่ (active mute), 3=มีแค่ M2
M0default: 0Bypass flag — TRUE ขณะ muting active
M99default: 0Fault flag — ติดเมื่อ timeout, light curtain ตัดระหว่าง mute, ฯลฯ
TV0 / K40default: 4sเวลาสูงสุดที่ M1+M2 ต้องติดด้วยกัน (ตาม ISO 13849)
TV1 / K600default: 60sระยะเวลา mute สูงสุด — ปรับให้พอดีกับขนาดกล่อง / ความเร็วสายพาน
อุปกรณ์ที่แนะนำ
คำถามที่พบบ่อย
ตัวอย่างนี้ใช้ในโรงงานจริงได้ไหม?
**ไม่ควร** — Standard PLC (รวม Samkoon) ไม่ certified ตาม ISO 13849-1 ระดับ Cat 3 หรือ PLd ที่จำเป็นสำหรับ light curtain muting งานจริงต้องใช้ Safety Relay (Pilz PSEN, Sick UE10) หรือ Safety PLC (Siemens F-CPU, Schneider Modicon Safety) ตัวอย่างนี้เพื่อ **เรียนรู้ logic** เท่านั้น
ทำไมต้องมี muting sensor 2 ตัว?
ป้องกัน 'spoofing' — ถ้าใช้ตัวเดียว ผู้ใช้สามารถวางสิ่งของบล็อกเซ็นเซอร์ค้างไว้เพื่อ mute ตลอดเวลา 2 ตัวต้อง ON ภายใน 4 วินาทีของกัน + ลำดับถูก = ระบบมั่นใจว่าเป็นสินค้าผ่าน ไม่ใช่คน
ทำไม Y0 ใช้ ANDI M99 ไม่ใช่ AND M99?
M99 = fault flag (active high — ON เมื่อ fault) ANDI = NC contact = OFF เมื่อ M99 ON Y0 (machine enable) ต้อง OFF เมื่อ fault → ANDI ถูกต้อง พูดง่ายๆ: 'เปิดเครื่องเมื่อ (light curtain clear OR muting) AND ไม่มี fault'
ทิศทางตรงข้าม (M2 ON ก่อน M1) จะเกิดอะไร?
ตัวอย่างนี้ไม่จัดการ — Stage 1 ไม่เริ่มเพราะ Idle → Stage 1 trigger ที่ X11↑ เท่านั้น สำหรับ bidirectional muting ต้อง mirror logic: เพิ่ม X12↑ ตอน Idle → Stage 1' (reverse), ตามด้วย X11↑ → Stage 2 ปกติ ใช้ rung เพิ่มเติมที่ symmetric กัน
วิธีนำเข้าไฟล์ใน SamSoar2022
- ดาวน์โหลดไฟล์
light-curtain-muting.csvจากแท็บ CSV ด้านบน - เปิด SamSoar2022 → สร้างโปรเจกต์ใหม่ (หรือเปิดโปรเจกต์ที่มีอยู่)
- เมนู File → Import → เลือกไฟล์
.csvที่เพิ่งดาวน์โหลด - กด F4 เพื่อ Compile — ตรวจสอบว่าไม่มี error
- ตรวจการต่อสายตามตาราง I/O ด้านบน แล้ว Download โปรแกรมเข้า PLC
