Intermediate
9 rungs
9 I/O

วงจร E-stop + Two-hand Control

E-stop + Two-hand Control Interlock

วงจรความปลอดภัย ต้องกดปุ่ม 2 มือพร้อมกัน (ภายใน 500 ms) เพื่อสั่งเครื่อง, E-stop ตัดไฟทันที, Fault ต้องกด Reset เพื่อเคลียร์

หลักการ

วงจรความปลอดภัยสำหรับงานที่มือของผู้ปฏิบัติงานไม่ควรอยู่ใกล้กลไก (เช่น เครื่อง punch, press, shear) — บังคับให้ ทั้งสองมือกดปุ่ม ก่อนเครื่องจะทำงาน

Safety Requirements (อ้างอิง EN ISO 13851 / ISO 13849-1 Cat 3–4)

  1. Two-hand rule: ทั้งสองปุ่มต้องถูกกดภายใน 500 ms ของกันและกัน ถ้าช้าเกิน → ไม่ enable (ป้องกันการใช้มือเดียวกดทั้งสองปุ่มแบบเผลอ)
  2. Continuous hold: ทั้งสองปุ่มต้องกดค้างอยู่ตลอดที่เครื่องทำงาน ปล่อยปุ่มใดปุ่มหนึ่ง → หยุดทันที
  3. E-stop priority: E-stop (X0, NC contact) ตัดไฟเครื่องทันทีแม้ทั้งสองปุ่มกดอยู่
  4. Reset required: หลัง E-stop หรือ fault → ต้องกด Reset (X10) เพื่อเคลียร์ latch
  5. Release both before restart: หลัง reset, ต้องปล่อยปุ่มทั้งสองก่อนกดใหม่ (ป้องกันการกดค้างผ่าน reset)

Circuit Flow

  ┌──────────────┐
  │  Start       │
  └──────┬───────┘
         │
         ▼
  ┌──────────────────────┐        NO
  │ E-stop (X0) OK?      │─────────────┐
  └──────┬───────────────┘             │
         │ YES                         │
         ▼                             │
  ┌──────────────────────┐             │
  │ Fault latched (M99)? │──── YES ────┤
  └──────┬───────────────┘             │
         │ NO                          │
         ▼                             │
  ┌──────────────────────┐             │
  │ Both X1 + X2 pressed │             │
  │ within 500 ms?       │──── NO ─────┤
  └──────┬───────────────┘             │
         │ YES                         │
         ▼                             │
  ┌──────────────────────┐             │
  │ Y0 = ENABLED         │             │
  └──────────────────────┘             │
                                       │
  ┌──────────────────────┐             │
  │ Reset (X10↑) +       │             │
  │ BOTH buttons        │◄────────────┘
  │ released             │
  └──────┬───────────────┘
         │
         ▼
   Clear fault M99

Timing

เมื่อกดปุ่ม 1 แรก → เริ่ม window timer 500 ms

  • ถ้าปุ่ม 2 ถูกกดภายในเวลา → M80 (two-hand valid) ติด
  • ถ้าเกิน 500 ms ยังไม่กด → fault M99 ติด ต้อง reset
Button 1 (X1): ▁▁▁▁▁▁▁▁▔▔▔▔▔▔▔▔▔▔▔▔
Button 2 (X2): ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▔▔▔▔▔▔
                         ◄─── 500ms ───►
                         │         │
                         │ OK    │  → FAULT if > 500ms

⚠ หมายเหตุสำคัญเรื่องความปลอดภัย

โปรแกรมนี้เป็น educational example — ไม่ได้รับการ certify สำหรับงาน safety-critical จริง

ระบบ safety ในการผลิตจริง (เช่น press brake, robot cell) ต้องใช้:

  • Safety PLC หรือ Safety Relay ที่ certified Cat 3/4 (Pilz PNOZ, Siemens SIRIUS, etc.)
  • Dual-channel ทั้ง sensors (NC + NO) และ outputs
  • Cross-monitoring ตรวจว่า contactors ทั้งสองตัวทำงานตรงกัน
  • Periodic test ของ safety circuit

ใช้โปรแกรมนี้เป็น reference pattern เท่านั้น

โปรแกรม PLC

วงจร E-stop + Two-hand Control — E-stop + Two-hand Control Interlock
วงจรความปลอดภัย ต้องกดปุ่ม 2 มือพร้อมกัน (ภายใน 500 ms) เพื่อสั่งเครื่อง, E-stop ตัดไฟทันที, Fault ต้องกด Reset เพื่อเคลียร์
N0ตรวจจับ E-Stop / Fault
ตรวจ E-stop: ถ้า X0 (NC) หลุด → SET Fault flag (M99) ทันที
X0SETM99
First-scan init: ล้าง fault ถ้าไม่มี E-stop ทำงานอยู่ (เริ่มเครื่องอย่างปลอดภัย)
M8150X0RSTM99
N1ตรวจสอบการกด 2 มือ
ช่วงเวลากด 2 มือ: เริ่ม Timer 500 ms ตอนที่ปุ่มแรกถูกกด
X1X2TONTV0, K5
การกด 2 มือถูกต้อง: ปุ่มทั้ง 2 กดอยู่, E-stop ปกติ, ไม่มี fault, ภายใน 500 ms
X1X2X0M99T0M80
Fault จากการกดช้า: Timer หมดแต่ปุ่มทั้ง 2 ยังไม่ครบ → SET M99
T0M80SETM99
N2Output เปิดเครื่อง
Output เครื่อง: เปิด Y0 เฉพาะเมื่อ M80 ถูกต้อง (ต้องกดค้างตลอดเวลา)
M80Y0
N3Reset + ไฟแสดงสถานะ
Reset fault: Reset (X10↑) + E-stop ปกติ + ปล่อยปุ่มทั้ง 2
X10X0X1X2RSTM99
ไฟแสดงสถานะ: Y10 = Ready (ไม่มี fault, ไม่มี E-stop)
X0M99Y10
ไฟแสดงสถานะ: Y11 = Fault (กระพริบด้วย M8013 1 Hz clock)
M99M8013Y11
Network count: 4, gap: 12
นำเข้าไฟล์ใน SamSoar2022: File → Import → เลือกไฟล์ .csv

I/O Assignment

AddressRoleNote
X0E-stop button (NC)Normally Closed — สายขาด/ปล่อยปุ่ม = ตัดวงจรทันที
X1Two-hand button LEFT (NO)ต้องกดค้าง
X2Two-hand button RIGHT (NO)ต้องกดค้าง
X10Reset button (NO, edge)กดเพื่อเคลียร์ fault หลัง resolve
Y0Machine enable outputสั่งเครื่องทำงาน (ต่อผ่าน safety relay สำหรับงาน critical)
Y10Ready indicator (green LED)
Y11Fault indicator (red LED, blinks)
M80Two-hand valid flag (internal)
M99Fault latch (internal)Set by E-stop or late two-hand; cleared only by Reset

Parameters ที่ปรับได้

TV0 / K5default: 500 ms

Two-hand timing window. EN ISO 13851 กำหนด ≤ 500 ms. ลดเป็น K3 (300 ms) ถ้าต้องเข้มงวดกว่ามาตรฐาน

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

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

ทำไม E-stop ต้องใช้ NC ไม่ใช่ NO?

**Fail-safe design**: ถ้าสายขาด NC จะเปิดวงจร → ตัดไฟเครื่องทันที เหมือนกับกด E-stop. ถ้าใช้ NO สายขาด = ไม่มีสัญญาณ = ระบบไม่รู้ว่าเกิดอะไร → อันตราย. EN ISO 13849 กำหนด safety inputs ต้องเป็น positive-opening (NC)

ทำไม Two-hand ต้องตรวจภายใน 500 ms?

ป้องกันผู้ปฏิบัติงานใช้**มือเดียว** กดปุ่มแรก แล้วกดปุ่มสอง (เช่นใช้ข้อศอกค้างปุ่มแรก) ซึ่งจะ defeat จุดประสงค์ของ two-hand control. 500 ms สั้นพอที่จะ force ใช้สองมือจริงๆ. มาตรฐาน EN ISO 13851 กำหนดสูงสุด 500 ms

Reset (X10) ทำไมต้องปล่อยปุ่มทั้งสองก่อน?

กัน 'sneaky start': ถ้าไม่บังคับให้ปล่อย, ผู้ใช้สามารถกดปุ่มทั้งสองค้าง + กด Reset → ข้าม timing check. การบังคับปล่อยก่อนทำให้ต้องเริ่มลำดับ two-hand ใหม่

โปรแกรมนี้ใช้กับ press brake 40 ตันจริงๆ ได้ไหม?

**ไม่ได้**. โปรแกรมนี้เป็น reference pattern สำหรับการเรียนรู้ ระบบ safety จริงต้องใช้ Safety PLC (Cat 3-4) + Safety Relay + Dual-channel wiring + cross-monitoring. ดู EN ISO 13849-1 สำหรับ risk assessment ก่อนออกแบบ safety circuit งานจริง

M8013 (1 Hz clock) คืออะไร?

Special Register — สลับ ON/OFF ทุก 1 วินาที (ครึ่งรอบ 500 ms). ใช้กะพริบไฟ LED หรือ buzzer. ตระกูลเดียวกัน: M8011 (10 Hz), M8012 (1 Hz half), M8013 (1 Hz), M8014 (1 min)

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

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