1
关注中国自动化产业发展的先行者!
2024
2024中国自动化产业年会
2023年工业安全大会
OICT公益讲堂
当前位置:首页 >> 案例 >> 案例首页

案例频道

H51q安全控制系统软件安全策略分析
  • 企业:控制网     领域:工业安全     行业:网络通讯    
  • 点击数:2686     发布时间:2006-05-25 11:04:06
  • 分享到:
分析了H51q安全控制系统软件安全策略,并介绍了该系统的软件和硬件。

(中国石油化工股份有限公司齐鲁分公司第二化肥厂,山东 淄博 255400)  袁  勇 

袁勇(1974-)
男,山东淄博人,学士,工程师,现从事化工仪表及控制系统应用。


1  引言

    为保证乙烯75万吨扩建装置的平稳运行,中国石油化工股份有限公司齐鲁分公司第二化肥厂于2004年7月实施了压缩大机组控制系统改造,以替代原来上世纪80年代的盘装仪表。ESD(紧急停车系统)部分采用德国HIMA公司H51q系统替代原HIMA早期的Planar系统,这套系统的软件部分功能强大,设计新颖,尤其在安全设计方面有独到之处,是一套安全性和可用性都非常突出的控制软件系统。认真研究H51q系统软件安全性设计的基本思路和功能对于我们更好的设计、组态和应用ESD系统,保证装置的安全稳定运行有重要意义。

2  H51q安全系统相关的软件
    H51q安全系统相关的软件可分为三部分:操作系统、编程工具和用户程序。用户程序由编程工具ELOP-II系统软件包创建。ELOP-II系统软件包是基于参数化的平台。用户程序通过代码发生器被编译成机器码。机器码通过串口被传送到中央控制模件的Flash-Eproms中,完成ESD系统软件部分的创建。

3  操作系统的安全特性
    
     操作系统通过监视程序的代码版本号、运行版本号、数据版本号、区域代码号的更改来保证程序的安全性,并以循环扫描的形式来处理用户程序,过程为:读输入数据→根据IEC-61131-3标准处理逻辑→写输出。当然在这个过程中还要进行扩展的自诊断、I/O模件诊断、数据传送和比较。具体的循环阶段分为7步,如表1所示。

4  编程工具ELOP-II的安全特性

    4.1  安全型工具的应用

    根据IEC61131-3编写的安全工具集成于ELOP-II,用以检查出用户错误和编程系统(PS)错误。集成于ELOP-II的安全工具有三个:C CODE比较器、目标代码比较器、认证的GNU-C 编译器。C CODE比较器可以识别用户程序的更改。目标代码比较器比较原目标代码和经过GNU-C 编译器编译的目标代码。这种方法可以避免非安全型的PC产生的错误。
?  在创建程序时安全型工具的应用

    (1)  根据绑定的标准来创建用户程序(IEC61508,DIN V VDE 0801 或者用户的标准)(图1中(1)~(4));

    (2)  更改的用户程序通过C CODE创建器被编译成C CODE同时产生一个比较文件(图1中(5));

    (3)  通过产生一个相互参照表来检查用户变量使用的正确性。如:所有的变量是否在所定义的区间内使用;

    (4)  C CODE和比较文件被经过安全认证的GNU编译器编译(图1中(6)~(13))。产生目标代码和比较代码;

    (5)  目标代码比较器被激活(图1中(14))。它对比目标代码和比较代码。由非安全型的PC产生的一切错误将被检测和标识出来;

    (6)  这样创建的程序将准备应用,程序被下装到H51q系统中(图1中(7))。程序必须经过完全测试;

    (7)  一个备份的目标代码被创建后,PES(Programmable Electronic Systems)开始安全的运行。


图1  创建程序

?  在更改程序时安全型工具的应用

    (1)  用户程序根据绑定的标准更改(IEC61508,DIN V VDE 0801 或者用户的标准)(图1中(1)~(4));

    (2)  对于程序的更改,要用到正运行的用户程序的备份。这个备份包括:VGL文件、目标代码、输入数据;

    (3)  修改用户程序;

    (4)  最新的被修改的用户程序通过C CODE创建器被编译成C CODE(图1中(5));

    (5)  C CODE比较器必须被激活(图1中(12))。它比较新C CODE和先前程序版本的旧C CODE(图1中(11))。作为比较文件(旧C CODE),一个备份必须被标识出来;

    (6)  比较的结果形成文档(图1中(15));

    (7)  由用户检查是否C CODE比较器指示出了所有的对程序的改变。只有相关改变才会被标识出来;

    (8)  如果C CODE比较器指示出用户不认识的更改,可能是用户的更改引发了其他意想不到的更改或一个内部错误。如果C CODE比较器没有指示出用户的更改,可能是C CODE比较器不能识别的更改(如图形方面的更改或初始值的更改)或此更改没有被顺利的接收;

    (9)  新的C CODE和比较文件被经过安全认证的GNU-C 编译器编译(图1中(6)~(13))。产生目标代码和比较代码;

    (10)  目标代码比较器必须被激活(图1中(14))。它对比目标代码和比较代码。由非安全型的PC产生的一切错误将被检测和标识出来;

    (11)  这样创建的隔离了错误的程序才可以准备应用,程序被下装到H51q系统中。这时所有的更改部分必须经过测试以保证目标代码的正确性;

    (12)  如果一切顺利,当前程序的备份是很有必要的。

    4.2  在线更改功能的安全性设计(可重装的代码)

    在线更改过程中,工程师要通过其他手段进行安全监视。在每一次在线更改之前,必须通过C CODE比较器比较之后明确所做出的更改。下装前,更改部分必须作离线虚拟测试。

    如果一个在线更改被允许进行,在代码创建器编译时将出现“code reloadable”的信息。

    下面情况将导致不能在线重装(在线重装按钮变灰不可操作,只能离线下装,若此时装置正运行将导致停车):柜内模件被插入和删除;全局变量被删除、增加和重命名;物理I/O被分配或存在的I/O被删除;增加的变量定义为这些类型:Hipro-n(HIMA系统间非安全型总线变量传送器),Hipro-s(HIMA系统间安全型总线变量传送器),Buscom(外接非HIMA系统通讯变量基址设置器),LGP(打印型), Event(事件型)、ELOP-II模块库之外的块的插入和删除;没有足够的数据结构空间去装载新的机器码;内存区重新组织分配时(这种情况是因为存储空间已经到限,但由于先前的重复代码的创建导致的内存分配之间的空隙形成);Buscom的基址更改。

    对于单独中央控制模件,这种改变必须在故障容忍时间内完成。程序在下装时,I/O模件不进行读写或测试。控制器及协处理器接口都不处理数据。

    对于冗余中央控制模件,它不受单中央控制模件的系统的某些限制,在线下装开始时,第一个控制模件执行下装,第二个控制模件以MONO(独立)模式继续执行用户程序;第一个控制模件下装完成后,接收第二个控制模件中用户当前数据,以MONO模式执行新的用户程序;第二个控制模件执行下装,下装完成并接收完数据后,两个控制模件以冗余模式运行。

5  用户程序的安全应用

    人们在resource中定义模件时,必须将安全型的和非安全型的数字输入和数字输出信号区分开来。非安全型的模件只能被底层操作系统读写而没有故障识别和故障信息。对于安全型的信号,只能使用安全型的模件,最好与标准功能块绑定使用,以得到更加深入的诊断和安全功能。

    另外,根据安全系统不同的设计要求,H51q系统从硬件配置到软件设计都给出了结合自身特点的灵活配置,体现了系统的安全性和可用性的较好结合,在此就不赘述了。

    由于压缩大机组的安全运行直接关系到整个乙烯装置的平稳运转,其ESD系统的改造显得尤为重要。通过对H51q系统软件安全策略的研究和应用,成功的保证了组态程序的安全性,及时发现和处理了多起软件安全隐患,并通过软件的合理组态充分发挥了硬件的安全功效。

参考文献
[1]  IEC61508, Functional Safety of electrical/electronic/programmable electronic safety-related systems. IEC, 1998, 2000.
[2]  Programmable Systems Safety Manual-Systems H41q/H51q operating system BS41q/51q V7.0-7.
[3]  Programmable Systems. The H41q/H51q System Families.
[4]  PC-based Systems ELOP II Resource type manual Edition 0234.

热点新闻

推荐产品

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



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