TL;DR — HAZOP คือการวิเคราะห์อันตรายเชิงระบบโดยใช้ guidewords (No, More, Less, Reverse...) คูณกับ parameter (flow, pressure, temperature...) เพื่อสร้าง deviation แล้วไล่หาสาเหตุ–ผลกระทบ–การป้องกัน LOPA คือการต่อยอดเชิงกึ่งปริมาณ: นับชั้นป้องกันอิสระ (IPL) แต่ละชั้นมี PFD (probability of failure on demand) คูณกันแล้วเทียบกับความถี่เหตุการณ์ตั้งต้น เพื่อดูว่าความเสี่ยงตกถึงเกณฑ์ยอมรับหรือไม่ — ถ้าไม่ ต้องเพิ่ม IPL หรือ SIF ที่ระดับ SIL ที่เหมาะสม


ทำไมถึงสำคัญ

โรงงานเคมีหลายแห่งที่เกิดอุบัติเหตุร้ายแรง — ตรวจสอบย้อนหลังมักพบว่า scenario นั้นเคยถูกระบุใน HAZOP แล้ว แต่ถูกปิดด้วย safeguard ที่ดูดีบนกระดาษ เช่น "operator จะสังเกตเห็นและปิดเอง" ซึ่งไม่ใช่ IPL ที่นับได้จริงตามหลัก LOPA

ความต่างระหว่างโรงที่ปลอดภัยกับโรงที่เกิดเหตุ ไม่ได้อยู่ที่ "ทำ HAZOP หรือเปล่า" แต่อยู่ที่ คุณภาพของการนับชั้นป้องกัน — HAZOP บอกว่า "อะไรพังได้บ้าง" ส่วน LOPA บอกว่า "ที่ป้องกันไว้ พอหรือยัง" สองอย่างนี้คู่กันเสมอ ขาดอย่างใดอย่างหนึ่งคือช่องโหว่


1. HAZOP — โครงสร้างพื้นฐาน

HAZOP (Hazard and Operability Study) แบ่ง process ออกเป็น nodes (ช่วงท่อ/อุปกรณ์ที่มี design intent ชัด) แล้วในแต่ละ node ใช้ matrix ของ guideword × parameter

Guidewords มาตรฐาน:

Guidewordความหมาย
No / Noneไม่มีเลย (ไม่มี flow)
Moreมากเกินไป (pressure สูง)
Lessน้อยเกินไป (temperature ต่ำ)
Reverseทิศทางกลับ (back flow)
As well asมีสิ่งอื่นปนมา (contamination)
Part ofบางส่วน (composition เพี้ยน)
Other thanสิ่งอื่นโดยสิ้นเชิง

Parameters: flow, pressure, temperature, level, composition, phase, reaction...

แต่ละคู่สร้าง deviation เช่น "No Flow", "More Pressure" จากนั้นทีมไล่ถาม: สาเหตุคืออะไร? → ผลกระทบ (consequence)? → safeguard ที่มีอยู่? → ความเสี่ยงตกค้าง → recommendation


2. จาก HAZOP สู่ LOPA

HAZOP เป็น qualitative — บอกว่ามี scenario อันตราย แต่ไม่บอกตัวเลขว่าเสี่ยงแค่ไหน LOPA (Layer of Protection Analysis) เติมมิติ semi-quantitative เข้าไป

แนวคิดหลัก: ความถี่ของเหตุการณ์อันตราย = ความถี่เหตุการณ์ตั้งต้น × ผลคูณของ PFD ของทุกชั้นป้องกัน

fevent=finitiating×∏iPFDif_{event} = f_{initiating} \times \prod_{i} \text{PFD}_i

ถ้า fevent≤ftargetf_{event} \le f_{target} (เกณฑ์ยอมรับ เช่น 10−510^{-5}/ปี สำหรับ fatality) → ป้องกันเพียงพอ ถ้าไม่ → ต้องเพิ่มชั้นป้องกัน


3. IPL และ PFD — กฎการนับชั้นป้องกัน

IPL (Independent Protection Layer) ต้องผ่านเกณฑ์ 3 ข้อ:

  1. Effective — ป้องกัน consequence ได้จริง
  2. Independent — ไม่ล้มร่วมกับเหตุตั้งต้นหรือ IPL ชั้นอื่น
  3. Auditable — ทดสอบ/ตรวจสอบความน่าเชื่อถือได้

PFD (Probability of Failure on Demand) ของ IPL ทั่วไป (อ้างอิง CCPS):

IPLPFD ทั่วไป
Relief valve (PSV)10−210^{-2}
Basic Process Control System (BPCS)10−110^{-1} (นับได้แค่ 1 ชั้น)
Operator response (มี alarm ชัด เวลาพอ)10−110^{-1}
Dike / containment10−210^{-2}
SIF SIL 110−110^{-1} ถึง 10−210^{-2}
SIF SIL 210−210^{-2} ถึง 10−310^{-3}
SIF SIL 310−310^{-3} ถึง 10−410^{-4}

ข้อควรระวัง: สิ่งที่ไม่ผ่าน 3 เกณฑ์ไม่นับเป็น IPL เช่น "operator น่าจะเห็น" ที่ไม่มี alarm/เวลาไม่พอ — นับไม่ได้


4. SIL — ระดับความสมบูรณ์เพื่อความปลอดภัย

เมื่อ IPL ที่มีไม่พอ มักเพิ่ม SIF (Safety Instrumented Function) — sensor → logic solver → final element ที่ทำงานอัตโนมัติ ระดับความน่าเชื่อถือของ SIF วัดเป็น SIL ตาม IEC 61511:

SIL→RRF=1PFDavg\text{SIL} \to \text{RRF} = \frac{1}{\text{PFD}_{avg}}
SILPFDavg\text{PFD}_{avg}Risk Reduction Factor
SIL 110−110^{-1} – 10−210^{-2}10 – 100
SIL 210−210^{-2} – 10−310^{-3}100 – 1,000
SIL 310−310^{-3} – 10−410^{-4}1,000 – 10,000
SIL 410−410^{-4} – 10−510^{-5}10,000 – 100,000 (หายาก หลีกเลี่ยง)

LOPA คือเครื่องมือมาตรฐานในการกำหนด SIL target ของ SIF แต่ละตัว


5. Worked Example — Overpressure ของถังปฏิกรณ์

Scenario (จาก HAZOP node "reactor", deviation "More Pressure"): cooling failure ทำให้ exothermic reaction runaway → overpressure → ถังแตก

  • เหตุการณ์ตั้งต้น: cooling system failure, finitiating=10−1f_{initiating} = 10^{-1}/ปี
  • เกณฑ์ยอมรับ: ftarget=10−5f_{target} = 10^{-5}/ปี (อาจมีผู้เสียชีวิต)

นับ IPL ที่มี:

  • High-pressure alarm + operator action: PFD = 10−110^{-1}
  • Relief valve (PSV): PFD = 10−210^{-2}

คำนวณความเสี่ยงตกค้าง:

fevent=10−1×10−1×10−2=10−4 /ปีf_{event} = 10^{-1} \times 10^{-1} \times 10^{-2} = 10^{-4}\ \text{/ปี}

10−4>10−510^{-4} > 10^{-5} → ยังไม่พอ ต้องลดอีก 1 order of magnitude → เพิ่ม SIF ที่ SIL 1 (RRF ≥ 10):

fevent=10−4×10−1=10−5 /ปี≤ftarget ✓f_{event} = 10^{-4} \times 10^{-1} = 10^{-5}\ \text{/ปี} \le f_{target} \ \checkmark

สรุป: scenario นี้ต้องการ SIF ระดับ SIL 1 เป็นชั้นป้องกันเพิ่ม


6. ความเข้าใจผิดที่พบบ่อย

  • ❌ "BPCS นับเป็นหลาย IPL ได้ถ้าใช้หลาย loop" → ✓ BPCS เดียวนับได้แค่ 1 ชั้น (ไม่ independent กันเอง)
  • ❌ "operator น่าจะเห็นและแก้ทัน = IPL" → ✓ ต้องมี alarm ชัด + เวลาเพียงพอ + ออดิตได้ จึงนับ
  • ❌ "PSV กับ SIF ทำงานเรื่องเดียวกันก็นับซ้ำได้" → ✓ ต้อง independent; ถ้า share sensor/element นับชั้นเดียว
  • ❌ "SIL สูง = ปลอดภัยกว่าเสมอ จึงเลือก SIL 3 ไว้ก่อน" → ✓ SIL เกินจำเป็นแพง ทดสอบบ่อย; เลือกตาม LOPA
  • ❌ "ทำ HAZOP แล้วจบ" → ✓ ต้องปิด recommendation + LOPA scenario ที่เสี่ยงสูงด้วย

7. สรุป — เส้นทาง HAZOP → LOPA → SIL

flowchart TD
    Start["<b>HAZOP</b><br/><span style='font-size:12px;opacity:0.7'>guideword × parameter → deviation</span>"]
    Sev{"consequence รุนแรง?"}
    Doc["บันทึก safeguard + recommendation"]
    Lopa["<b>LOPA</b><br/>นับ IPL × PFD"]
    Enough{"f_event ≤ target?"}
    Add["<b>เพิ่ม SIF</b><br/>กำหนด SIL target"]
    Safe["<b>ความเสี่ยงยอมรับได้</b>"]

    Start --> Sev
    Sev -->|"ต่ำ"| Doc --> Safe
    Sev -->|"สูง"| Lopa --> Enough
    Enough -->|"yes"| Safe
    Enough -->|"no"| Add --> Enough

    classDef preferred  fill:#eef3e6,stroke:#5a7d4a,stroke-width:1.75px,color:#2d4a2b
    classDef caution    fill:#f7ecdd,stroke:#a87a47,stroke-width:1.75px,color:#5b4023
    classDef defaultBox fill:#ffffff,stroke:#141413,stroke-width:1.5px,color:#141413
    classDef terminal   fill:#141413,stroke:#141413,stroke-width:1.5px,color:#fbf7f4

    class Safe preferred
    class Add caution
    class Start,Sev,Lopa,Enough,Doc defaultBox

Take-away

  • HAZOP = qualitative: guideword × parameter → deviation → cause/consequence/safeguard
  • LOPA = semi-quantitative: fevent=finitiating×∏PFDif_{event} = f_{initiating} \times \prod \text{PFD}_i
  • IPL ต้อง effective + independent + auditable; ไม่งั้นนับไม่ได้
  • BPCS นับได้แค่ 1 ชั้น; PSV PFD ≈ 10−210^{-2}
  • SIL กำหนดจาก LOPA: RRF = 1/PFD; อย่าเลือก SIL เกินจำเป็น
  • HAZOP บอก "อะไรพังได้" LOPA บอก "ป้องกันพอหรือยัง" — ต้องคู่กัน

ลองใช้เครื่องคำนวณของเรา

ไล่ deviation จาก guideword × parameter และจัดทำ HAZOP worksheet ได้ที่ HAZOP Deviation Tool — เป็นจุดเริ่มของชุดเครื่องมือ PHA ของ DekEn สำหรับวิเคราะห์อันตรายเชิงระบบก่อนต่อยอดสู่ LOPA และการกำหนด SIL


เอกสารอ้างอิง

  1. IEC 61882, Hazard and Operability Studies (HAZOP) — Application Guide
  2. CCPS, Layer of Protection Analysis: Simplified Process Risk Assessment, AIChE (2001)
  3. IEC 61511, Functional Safety — Safety Instrumented Systems for the Process Industry Sector (2016)
  4. IEC 61508, Functional Safety of E/E/PE Safety-related Systems
  5. CCPS, Guidelines for Hazard Evaluation Procedures, 3rd ed., AIChE (2008)