实现工业控制编程的安全性--控制网



实现工业控制编程的安全性
企业:控制网 日期:2008-06-15
领域:工业无线 点击数:917


    章宇(1984-)
女,(信息产业部电子六所,北京  100083)信息产业部电子六所硕士研究生,计算机应用技术专业,研究方向为系统的功能安全。

摘要:在自动化解决方案中,安全性集成的问题已经出现。本文阐述了什么是安全相关控制系统,介绍了符合IEC61131-3的安全应用程序的结构模型,以达到工业控制编程能符合安全标准的目的。

关键词:工业控制编程;安全

Abstract: The problems of safety integrity in automation solutions have appeared. This paper explains what safety-related control system is, and introduces the architectural model of the safety application according to IEC61131-3 so that the industry control programming can satisfy the safety standards.

Key words: industry control programming;safety

1 自动化解决方案中所遇到的安全标准问题

    机械制造商们往往面对着一大堆与安全相关的标准;要完全理解它们,代价往往是昂贵的,甚至在某些情况下是不可能的,但是到最后他们仍得对其产品和相关安全方面负责。当法律给设备供应商强加了诸多约束时,这种情形却仍旧存在,是不正常的。

    现在,安全相关部分和功能应用部分常常有一个明显的界线。这个界线产生于运用不同的系统,不同的工具,甚至不同的人。这使得安全部分直到最后才能被包括进来,并且只能对其做有限的测试,而没有从一开始就将它集成到整个系统的体系中。这种做法明显无助于整体的安全考虑。

    同时,与日俱进的技术革新现可提供安全的数字通讯总线。这支持了从硬件系统到以软件为解决方案的转变趋势。一根并行线可从硬件连线的继电器逻辑连到可编程逻辑控制器(PLC)上。但这样的变化还需要时间,以及工业界的广泛支持。

2 安全相关控制系统简介

    根据IEC标准,安全型系统称为Safety-Related System。它覆盖的范围很广,适用于所有工业系统,它包含了影响安全的各种因素,如仪表组成的保护系统,工艺设备的安全措施以及管理和人员的操作和规章制度等各方面。对于我们平常所说的安全控制系统就是指仪表和控制设备构成的保护系统。

    安全控制系统主要由现场检测仪表、控制逻辑单元和现场执行装置和他们之间的连线组成,其中控制逻辑单元是整个控制系统的核心。这一系统能以符合安全要求的概率,在工艺过程出现预先规定的故障情况时,使过程处在安全状态。

    在安全控制系统的设计中,为了定量的来分析各种生产装置的安全性,并作为安全控制系统的配置依据,IEC61508定义了4个安全度等级( Safety Integrity Level)SIL1-4,同时每个等级包括两个定量的安全要求,即系统连续操作每小时故障概率(PFH)和按要求模式执行指定功能的故障概率(PFD),见表1。

    表1

    安全控制系统的设计以及系统结构既要满足工业过程的安全度要求,又要保证可靠性和可用性,因此,必须对具体的工业过程进行安全评价。我国目前还没有具体的安全等级评价和设计标准,而目前国际上通用的标准有德国的DIN19250、美国的ISA S84.01和IEC61508;权威的认证机构包括德国的T?V、美国的UL和FM等。

    安全度等级可以根据IEC61508提供的风险图(Risk Graph),按照估计发生危险时的损害程度、人员存在的可能性、防止危险发生的可能性以及无保护系统时出现危险的可能性这四个参数来计算故障概率PFD而最终确定。按照这一要求,电厂的炉膛安全保护系统的安全度等级一般被定义为SIL3 (IEC61508),此等级相当于DIN19250标准的RC6级。

    对于安全相关的控制系统来说,一直以来所采用的硬件主要有以下三种形式:

    1) 继电器;

    2) 硬接线固态电路;

    3) 可编程电子系统(大多为PLC 系统)。

    目前,由于采用微处理器技术的PLC具有高可靠性、高可用性和可维护性,因此在工程实际中得到了广泛的应用。

3 总的设计思想

    3.1 概述


    安全方面的实现,可集成到软件的开发工具中。这样的结合可使得开发者在刚开始进入开发周期时,就可将与安全相关的功能集成到他们的系统中去。



图1   在一个平台上合并三个环境

    3.2 安全控制系统的基本要求

    在所有可应用的安全标准中,对机械制造商来说,一个安全应用程序的通用基本要求如下:

    * 安全与非安全功能性的区别

    * 可应用的编程语言和语言子集的运用

    * 认证的软件模块的运用

    * 可应用的编程指导方针的运用

    * 安全相关软件的生命周期中,被认可的降低错误的测量手段的运用

    3.3 提供易用的工业控制编程环境

    对用户来说,为符合上述高要求所做的努力应该尽量减少。要做到这点,可采用标准化的解决方案,使得典型的功能可以轻松实现。功能块的标准化、软件工具的支持和集成,使得程序员从一开始就可在他们的应用中集成安全部分。

    3.3.1安全功能块的标准化

    为了帮助开发者使用安全相关的功能,他们使用软件时的舒适度应当被提高,这样便更容易去接受这种工作方式。要做到这点,需要标准化安全功能块。这样,安全功能能更好地被辨认出来,做出专业化的安全功能块的趋势被降低。所以,便没有必要进行再培训;另外,也有利于认证实体更容易、快捷地检查安全软件。

    在较高的层次提供功能块,使得它们较少地依赖于下层的硬件结构。

    3.3.2标准程序的集成

    一旦功能块具有了其功能,下一步便要决定如何将安全相关的程序并入其中。在这一层面上,软件工具应该尽可能地帮助使用者。所以,可以定义一种新的布尔变量,它可应用于安全相关环境中,于是安全相关和非安全相关的布尔变量便有了区别。这使得开发工具有了可辨别安全程序部分的基础,引导用户做出被允许的连接,同时阻止了错误的连接。

    并且,编程语言的功能要减少。另外,最好使用FBD和LD 图形,这样程序部分可以更容易地去写和检查。

4 安全应用程序的模型

    4.1  控制系统的结构及相关的安全标准



图2   框架

    不同标准开发阶段和运行时间的关系如图2 所示,左侧是两个层次软件的开发环境。

    (1)嵌入式软件、固件或操作系统,必须遵从IEC 61508规范,尤其是第3部分。该部分可以使用的语言包括C、C++、汇编或其它。这些是完全可变语言(FVL):是组件提供商用于实现(安全)固件、操作系统或开发工具的独立语言,很少用于安全应用本身。

    (2)安全应用软件,如果用C、C++、汇编和其它语言实现的,必须象上面一样遵守IEC61508规则,它们仍是基于完全可变语言(FVL)。如果做到了精简编程语言、指令和认证功能块,那么机械业的标准,如IEC62061和ISO13849-1,则必须被用户在各个专业的工业中所遵守。这样可极大地简化软件的开发和认证。在这种情况下,它们可被认为是限制可变语言(LVL)。这些语言针对那些开发自己的安全应用功能块的用户。典型的语言是梯形图(LD)和功能块图(FBD)。这儿所说的功能块并不是IEC62061中定义的“子系统要素”,而是IEC61131-3功能块。功能块的IEC62061定义不同于IEC61131-3中的定义,就某一方面来说,前者包含硬件,提供安全子系统功能。

    4.2 安全应用程序的结构模型

    图3所示的软件结构模型描述了在机械控制系统中,安全功能块的一般位置。这个模型尽可能地做到简化,这样它便可覆盖到现有的和将来的安全控制系统。在这个软件说明中,不应该排斥任何的安全控制硬件结构。

    上面的结构模型与功能应用部分和安全应用部分不同,它是与两个层次的软件环境相联系的。要做的是合并这两个环境,也就是,功能部分的开发环境中集成一个安全部分,包括编程语言和安全部分的功能的精简。

    以上两个应用程序部分可以运行在一个设备上,或者在两个或更多的、虽然分散却被接在一起的设备上。上图中的虚线表示应用程序间的数据交换,它可以通过网络、连线输入/输出或设备中的存储器交换来实现。

    模型的左侧是两类输入,右侧是两类输出。在中间,两个环境是分开来表示的,它们都与各自的输入输出相连接。

    模型的中间表示了功能和安全应用程序所允许的数据交换。

    * 功能应用程序有权读取安全输入和全局变量(正如左边的箭头所示)

    * 在安全应用程序中,非安全信号仅能用来控制程序走向,不能被直接连至安全输出上(正如右箭头和AND操作符所示)

5 结语

    安全控制系统的运行需要底层硬件的支持——硬件采集上来的数据本身已有安全信号和标准信号之分;但安全控制系统里的安全应用程序的实现则独立于底层硬件。在工业控制编程环境中提供安全数据变量和安全功能块,有利于用户轻松的将安全性集成到他们的功能应用中。

    编号:080525

  • 在线反馈
1.我有以下需求:



2.详细的需求:
姓名:
单位:
电话:
邮件: