Home ICONICS (SCADA)
GENESIS32 Advance : เลือกเก็บ Alarm ที่สนใจไว้รายงานย้อนหลังได้ไหม PDF Print E-mail
Thursday, 11 July 2013 18:18

ใน GENESIS32 SCADA มีโมดูลชื่อว่า AlarmWorX ทำหน้าที่เป็นระบบแจ้งเตือน/แสดงผล Alarm และมีโมดูลชื่อ AlarmWorX Logger ทำหน้าที่เก็บ Alarm ที่เกิดเอาไปไว้ในฐานข้อมูลเพื่อแสดงเป็นรายงานย้อนหลัง หากเราต้องการให้ AlarmWorX Logger เลือกเก็บเฉพาะ Alarm ที่สนใจไว้รายงานย้อนหลังจะทำอย่างไร?

 

เมื่อ AlarmWorX ทำการแสดงเตือนแล้ว AlarmWorX Logger จะทำหน้าที่เก็บการแจ้ง Alarm ทั้งหมดไว้ในฐานข้อมูลเพื่อประโยชน์ในการแสดงผลรายงานย้อนหลัง เช่นเพื่อการสืบค้น สรุปการแจ้งเตือนที่สนใจในช่วงเวลาที่ต้องการ หรือเพื่อประโยชน์ในการวัดประสิทธิภาพของระบบผลิตนั้น ๆ (เนื่องจากมีการบันทึกช่วงเวลาเริ่มต้นและสิ้นสุดของเหตุการณ์ของ Alarm นั้น ๆ ไว้ด้วย จึงสามารถคำนวนหาเวลาที่เกิดความขัดข้องหรือผิดปกติทั้งหมดเพื่อมาหาค่า Downtime ได้) เป็นต้น

 

และหากเราต้องการให้ AlarmWorX Logger เก็บเฉพาะAlarmที่เราสนใจ หรือไม่เก็บAlarmบางตัว บางพวก บางArea ก็สามารถทำได้โดยใช้ฟีเจอร์ของAlarmWorX Loggerที่ชื่อ Filterซึ่งหมายถึงการคัดกรอง(Alarmที่เข้าเงื่อนไข) เพื่อกรองเอาเฉพาะAlarmกลุ่มที่เราสนใจเท่านั้นมาเก็บในฐานข้อมูล

 

จากรูปที่ 1 เป็นบริเวณของ Filter ที่เราสามารถสร้างเงื่อนไขการกรองAlarmได้

image

รูปที่ 1 Alarm Filter ของ Alarms (อยู่ในพร็อบเพอร์ตี้ของกิ่ง Alarms)

 

คลิ้กที่ปุ่ม … เพื่อเลือก/สร้าง Filter ซึ่งมีสองแบบคือ Global และ Local (แบบ Global คือ Filter ที่สร้างไว้ใน UDM, แบบ Local คือสร้างโดยตรงใน AlarmWorX Logger นี้)

image

รูปที่ 2

 

ในที่นี้ให้เลือก Local เพื่อสร้างใน AlarmWorX Logger โดยตรง

หลังจากนั้นจะปรากฏหน้าต่าง Filter Wizard ปรากฏขึ้นมาเพื่อให้สร้างเงื่อนไขการ Filter

จากรูปที่ 3 เราสามารถเลือกเงื่อนไขเช่น เป็นข้อมูล Alarm เท่านั้น (Alarm) ที่มีระดับความรุนแรงตั้งแต่ 800 ถึง 1000 (Severity) และมาจาก Alarm ที่ชื่อ Arm Torque เท่านั้น (คลิ้กเลือกจากปุ่ม …) แล้วคลิ้ก OK

 

image

รูปที่ 3

 

image

รูปที่ 4 Alarm Filter ที่สร้างขึ้นจาก Wizard จะแสดงในช่องข้อความ

 

เมื่อต้องการแก้ไขให้คลิ้กปุ่ม … เลือก Local จะปรากฏหน้าต่าง Edit Expression ขึ้นมาให้แก้ไขดังรูปที่ 5

 

image

รูปที่ 5

 

จากเงื่อนไขในรูปที่ 5 คือ

 

(({{AlarmType}}==1))&&({{Severity}} >=800) && ({{Severity}} <=1000) && (like({{Source}},"Arm Torque",0))

 

หากเราต้องการเก็บ Alarm ต่างๆ ที่เข้าเงื่อนไข ยกเว้น Alarm ที่ชื่อ Arm Torque ก็สามารถแก้เป็น

 

(({{AlarmType}}==1))&&({{Severity}} >=800) && ({{Severity}} <=1000) && !(like({{Source}},"Arm Torque",0))

 

นั่นคือใส่เครื่องหมายNot ไว้ข้างหน้า (like({{Source}},"Arm Torque",0))

จากนั้นคลิ้ก OK แล้ว Start การทำงานของ AlarmWorX Logger

เท่านี้ก็จะเป็นการเก็บ Alarm ต่างๆ ตามเงื่อนไขของ Filter

 

Tip เพิ่มเติม

  • หากต้องการสร้าง Filter จากหน้า Filter Wizard อีกครั้งให้ลบ Filter ในช่องข้อความทิ้งแล้วคลิ้กปุ่ม … ก็จะพบหน้า Filter Wizard
  • หากต้องการใช้ Area ในการเปรียบเทียบเพื่อสร้างเงื่อนไขใน Filter เช่น ต้องการ Alarm จากบาง Alarm Area (Area ที่มีอยู่ดูใน AlarmWorX32 Configurator, Area คือกลุ่มของ Alarm ที่เราจัดเป็นหมวดหมู่ไว้) เราจะต้องกำหนด Subscription ของ AlarmWorX Logger ก่อนดังรูปที่ 6

 

image
รูปที่ 6

 

เลือก ICONICS AlarmWorX32 Server แล้วคลิ้ก Edit

จะพบหน้าต่าง Event Subscription

เลือก Event Category เช่น Alarm แบบ Limit (จะเลือกแบบ Digital ด้วยก็ได้)

ให้เลือก Attribute ที่ต้องการจากรายการซ้าย(Available) > คลิ้ก Add –> เพื่อส่งไปรายการขวา(Subscribed:) เพื่อเอาไปใช้ใน AlarmWorXLogger

แล้วจำหมายเลข Attribute ไว้เพื่อนำไปใช้ เช่นในที่นี้ AREA คือเลข 4

คลิ้ก OK

image

รูปที่ 7

 

จากนั้นเมื่อกลับมาหน้าต่างปกติของ AlarmWorX Logger เราก็สามารถใช้ Filter Wizard เพื่อกรองเอา Alarm ที่มาจาก Area ที่ชื่อ HVAC ดังรูป ซึ่ง Area ก็คือ Attribute หมายเลข 4 จากการทำ Subscribe นั่นเอง
คลิ้ก OK

 

image

รูปที่ 8

หากต้องการเพิ่ม Area อื่น ๆ ให้เข้าไปแก้ไข Expression โดยใช้การ Or (||) เข้าไปเช่น

 

like({{Attribute 4}},"HVAC",0) || like({{Attribute 4}},"Plant Area A",0)

 

ซึ่งหมายถึงกรองเอาเฉพาะAlarmจาก Area ชื่อ HVAC และ Plant Area A