涉及大空间场所消防安全!UL 268B图像型烟雾探测器性能标准

图片

近年来,随着经济的快速发展,大空间基础设施密度增加,包括购物中心、体育馆、会展中心、机场、飞机库、隧道等民用建筑,以及发电厂、烟草行业和煤炭工厂等工业建筑。此类建筑的空间高度往往超过12米,有的甚至达到30至40米,这使得发生火灾时,烟雾、温度等物理量的向上传播变得十分困难,其中烟气分层是典型现象;而且在一些特殊的建筑物内,还存在高潮湿、高污染、高气流速度等问题。

在火灾中,初始火灾位置、烟雾大小、烟雾传播方向等重要参数,在火情分析和火灾扑灭中起着重要作用。在大空间建筑等应用场景,常规安装在建筑物顶端的传统烟雾探测器很难快速且有效探测烟雾和火情并进行报警。鉴于这些场景的复杂环境,配置可靠且有效的消防探测系统,尽早发出警报,对保障人身和财产安全非常关键。

UL 268B

图像型烟雾探测器性能标准

多年来,保险公司、监管机构及业主等利益相关方,都提出了对大空间场所的消防安全和风险管控需求。

作为全球应用安全科学专家,UL Standards & Engagement于2009年4月正式发布了全球第一版针对图像型烟雾探测器的性能标准:

UL Subject 268B-Outline of Investigation for Video Image Smoke Detector (CCN: URXG)。

区别于常规的电气安全标准UL 62368-1-Audio/Video, Information and Communication Technology Equipment - Part 1: Safety Requirements (CCN: AZOT),UL 268B专门针对消防用途的图像型烟雾探测器。

以下是两个标准的测试内容和应用场景对比:

产品:普通摄像头

认证标准:

UL62368-1-Audio/Video, Information and Communication Technology Equipment - Part 1: Safety Requirements

CCN产品类别:AZOT

测试内容:常规电气安全以及环境测试

应用场景:适用于家用或者商用的安防监控场合,不适用于消防用途

产品:消防用图像型烟雾探测器

认证标准:

UL Subject 268B-Outline of Investigation for Video Image Smoke Detector

CCN产品类别:URXG

测试内容:

UL 268B标准包括严苛的可靠性计算评估,异常环境以及特殊电气测试,火灾模型测试等,探测火灾烟雾和火焰性能、设备的耐环境、耐机械损伤、抗电磁干扰、材料安全性等,涉及60多项测试。最关键的是要求火灾探测性能达到标准要求。

应用场景:

消防用途,适用于工业及商用大空间场所早期的火灾探测

注:Category Control Number,CCN类别控制号

传统探测器需要火灾燃烧的产物经过物理传播到达探测器的位置或者吸气口。图像型探测器的工作原理则完全不同,其采用成像传感器进行场景成像,并应用图像分析芯片直接进行分析。由于无需物理传播过程,在大部分的情况下,图像型探测器在早期就可以进行响应。在同样的试验空间和试验条件下,对于不同类型、不同位置的烟雾响应速度,图像型探测器在很多试验中快于号称是早期探测的吸气式烟雾探测器。

URXG:特殊应用的烟雾探测器

图片

AZOT:常规用途的音视频电子产品

图片

CCN:URXG类别是针对特殊用途的烟雾探测器,共包括以下5个产品类型,其中最后一个产品类型为图像型烟雾探测器

图片

小贴士:如何查找已取得UL 268B认证的消防用图像型烟雾探测器品牌商?

图片

登陆UL Product iQ(UL Product iQ (ulprospector.com)),在搜索栏输入“URXG”即可检索全球取得URXG认证的企业。

图片

图片

点击进入档案,查询认证产品详情(TYPE类别为VIDEO,即为图像型烟雾探测器)。

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
首先,在MainActivity.java中实现以下代码: ```java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case R.id.subject_menu: showSubjectMenu(); return true; case R.id.hobby_menu: showHobbyMenu(); return true; default: return super.onOptionsItemSelected(item); } } // 显示科目菜单 private void showSubjectMenu() { PopupMenu popupMenu = new PopupMenu(this, findViewById(R.id.subject_menu)); popupMenu.getMenuInflater().inflate(R.menu.subject_menu, popupMenu.getMenu()); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.java_subject: Toast.makeText(MainActivity.this, "Java语言", Toast.LENGTH_SHORT).show(); return true; case R.id.python_subject: Toast.makeText(MainActivity.this, "Python语言", Toast.LENGTH_SHORT).show(); return true; case R.id.android_subject: Toast.makeText(MainActivity.this, "Android", Toast.LENGTH_SHORT).show(); return true; default: return false; } } }); popupMenu.show(); } // 显示爱好菜单 private void showHobbyMenu() { PopupMenu popupMenu = new PopupMenu(this, findViewById(R.id.hobby_menu)); popupMenu.getMenuInflater().inflate(R.menu.hobby_menu, popupMenu.getMenu()); popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()) { case R.id.sports_hobby: Toast.makeText(MainActivity.this, "运动", Toast.LENGTH_SHORT).show(); return true; case R.id.study_hobby: Toast.makeText(MainActivity.this, "学习", Toast.LENGTH_SHORT).show(); return true; case R.id.read_hobby: Toast.makeText(MainActivity.this, "看书", Toast.LENGTH_SHORT).show(); return true; case R.id.climb_hobby: Toast.makeText(MainActivity.this, "爬山", Toast.LENGTH_SHORT).show(); return true; default: return false; } } }); popupMenu.show(); } } ``` 其中,onCreateOptionsMenu方法用于加载菜单布局文件,onOptionsItemSelected方法用于处理菜单项点击事件。showSubjectMenu方法和showHobbyMenu方法分别用于弹出科目菜单和爱好菜单,并且为每个菜单项设置点击事件,使用Toast提示菜单项的内容。 接下来,在res/menu文件夹下,创建以下三个菜单布局文件: 1. main_menu.xml(主菜单) ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/subject_menu" android:title="科目" android:icon="@drawable/ic_menu_subject" android:showAsAction="always" /> <item android:id="@+id/hobby_menu" android:title="爱好" android:icon="@drawable/ic_menu_hobby" android:showAsAction="always" /> </menu> ``` 2. subject_menu.xml(科目菜单) ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/java_subject" android:title="Java语言" android:icon="@drawable/ic_menu_java" /> <item android:id="@+id/python_subject" android:title="Python语言" android:icon="@drawable/ic_menu_python" /> <item android:id="@+id/android_subject" android:title="Android" android:icon="@drawable/ic_menu_android" /> </menu> ``` 3. hobby_menu.xml(爱好菜单) ```xml <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/sports_hobby" android:title="运动" android:icon="@drawable/ic_menu_sports" /> <item android:id="@+id/study_hobby" android:title="学习" android:icon="@drawable/ic_menu_study" /> <item android:id="@+id/read_hobby" android:title="看书" android:icon="@drawable/ic_menu_read" /> <item android:id="@+id/climb_hobby" android:title="爬山" android:icon="@drawable/ic_menu_climb" /> </menu> ``` 其中,ic_menu_subject、ic_menu_hobby、ic_menu_java、ic_menu_python、ic_menu_android、ic_menu_sports、ic_menu_study、ic_menu_read、ic_menu_climb是自定义的菜单图标,可以根据实际情况进行修改。 最终实现效果如下图所示: ![menu_demo](https://user-images.githubusercontent.com/1649961/132389334-0b5e6c0f-1b8d-4d1c-9e64-268b0e81f3cf.gif)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值