基于CANopen的火花检测和自动灭火系统
在木材加工工业、食品加工工业、饲料加工业、纺织品工业、羽绒加工业和一些化学品工业的自动化过程中普遍存在着较高的火灾和爆炸的风险。由电器或者机械设备引起的火花将导致阴火和粉尘爆炸,从而危害到下游设备比如过滤器或者存储容器的安全。如果这些火灾风险不被及时的发觉并且处理,那么随着原料的输入将导致更大的设备损坏和人员危险,进一步将导致花费巨大的设备停工期。
为了最小化这一风险,一种专用的火花消除控制系统被研发出来。一种专用的红外线传感器可以通过电压导火装置提早检测出火花,在高速控制单元的协调下定向灭火装置可以熄灭设备中的潜在火源。这样,潜在的火源就不会继续发展从而形成火灾。
系统方案
一旦检测到火花,预编程的一系列处理过程将被自动的触发,比如:释放灭火泡沫,关闭或者隔离管道,在情况危急的时刻,甚至可以关闭或者淹没相应的干燥或者过滤设备。
在灭火过程中,紧接着的过程就是高压的水雾被喷射到粉尘区域。专用的喷嘴和高速阀使得注入水的剂量非常的精确。这一措施既保证了火源被准确消灭同时又保证了整个设备不会被水浸泡。因此这一解决方案非常适用于连续性生产过程,避免了不必要的停工周期。
为了得到最优的性价比以获得较高的市场竞争力,我们选择了微控制器的解决方案来满足较高的性价比。
尽管有着低成本嵌入式解决方案的资源限制,控制系统仍然需要满足以下需求:
从火花检测到反应的时间小于1ms
高效的实时操作系统以保证动作的准确
支持两个独立可操作的CANopen通讯接口
一个主控制器可以管理高达48个数据采集模块
为最终用户提供IEC 61131-3兼容的开发环境
集成的用户自定义功能,可使用C代码编程
可通过CANopen进行编程和调试
CANopen SDO网关提供端对端和下位模块通讯
控制过程参数的可视化
带时间戳的日志系统和非易失性存储用于保存危险事件日志
数据采集模块的主要任务就是要连续的采集并且评估传感器数据,并在检测到潜在危险火源的情况下初始化灭火过程。这一模块需要实现一种专用的电路既能够保证高速的数据采集又能够保证稳定的及时检测出短路和断路。
传感器数据被设备固件中的一个特殊的用户任务程序进行周期性检测评估。由于这一任务的安全性要求,这一任务将独立运行在IEC 61131-3的运行时系统和PLC程序外。为了保证高速的响应,用户程序可以独占的访问专用的输入和输出并且可以直接的操作这些I/O通道。为了进一步的数据存储和评估,全部的事件都被保存在非易失性存储器中并且同时保存了时间戳信息。一个定制版本的高效实时操作系统负责全部任务的管理,可以保证任务的巡检周期小于1ms并且按照优先级运行相应的任务。为了优化任务的执行速度,高优先级的任务将以C代码实现并且被编译为主CPU可以直接运行的目标代码。我们使用相应的UML工具来设计这些软件组件,这一方法为整个内部过程和数据流提供了较高层次的图形化抽象模型。这些图形化模型可以被直接转化为C代码,开发人员节省了大量的精力和时间可以更加专注于系统的特定实现细节,并且节省了编码出错的风险。
尽管用户程序和PLC程序是单独被执行的,但是这两部分代码将通过OpenPCS开发环境被一起下载到目标硬件中。这一方式提供了一种简单的方法用于更新用户程序而无需修改目标系统的固件,并且用户也可以下载不同的用户程序而不用修改PLC程序。
尽管用户程序和PLC程序是独立运行的,他们之间仍然需要必要的接口用于数据交换、事件通知和任务管理。因此我们定义了一段共享的地址空间用于过程数据的镜像,这一段地址空间可以被两个过程的程序访问。比如:PLC程序可以获得事件通知并且可以将相应的信息传输到负责的主控制器处理。
在数据采集模块和主控制器之间传递信息的最简单的方式就是使用我们称作网络变量的方法。这里,CANopen提供了相应的网络变量机制。CANopen的网络变量提供了一种访问过程数据的方法,这一方法使得用户无需关心通讯协议的底层机制。在PLC程序中,访问网络变量和访问本地变量的方法是一致的。这样,应用开发人员就无需关心所使用的是本地开关量输出还是远程的单元。市面上有很多的CANopen配置工具可以用来简化CANopen的配置工作。CANopen的实现层既管理了信息的传输又管理了从CAN信息到网络变量的自动转化过程。作为网络变量的附加功能,专用的PLC功能模块提供了对于CAN信息和CANopen服务(比如:SDO数据交换、状态恢复、远程CANopen节点错误信息)的直接访问。
C代码的用户程序和PLC程序中的CANopen函数功能块都可以访问网
CANopen火花检测自动灭火系 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)