安全软件技术规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安全软件技术规范-第一部分:概念与功能块
1、介绍
独立组织-PLCopen,连同其成员和外部安全相关的组织,已经在IEC-61131-3开发环境下定义了安全相关方面。
凭借这些,安全方面可被转换为一个软件工具,组合为软件开发工具。
这种结合帮助开发者从开发周期一开始就将安全相关的功能整合到他们的系统中。
这也有助于对安全因素的全面理解,同时有助于从独立安全相关组织取得认证。
该文档主要专注于机器控制。
面向以下人员:
(1)可编程的安全控制的提供商
(2)可编程的安全控制的用户
另外,PLCopen整合三个环境为一个开发平台:逻辑、动作和安全。
见图1。
图1:结合三个环境于一个平台
1.1.新安全标准的基本原理
机器制造者面对一系列的安全相关标准。
这使得机器制造商完全理解它们得付出较大成本,在某些情况下,甚至是难以实现的。
然而,最后他们还得对产品和相关安全负责。
这种风险是不正常的。
尤其由于立法给设备供货商诸多约束。
他们的责任也随之增大。
现在,通常安全相关部分和功能应用部分有明显的分离。
这种分离可能有以下原因:在环境中运用不同的系统,不同的工具,甚至不同的人参与。
这种分离通常导致最后才将安全方面包括进来,而没有从一开始就哲学地整合在整个系统中,通常只做有限的测试。
这明显无助于整体的安全考虑。
与此同时,正在发展的技术革新现在提供安全认证的数字通讯总线。
支持从硬件线路系统到软件方向的解决方案的转变趋势。
可以画一条平行线从硬件线路系统逻辑可编程逻辑控制器(PLCS)。
这个趋势当然包括思维上的改变。
这种改变需要时日,从而达到工业上总体上广泛支持,教育机构和认证实体也支持。
另外,政府的需求也增加了复杂性。
例如:美国的FDA,食品和药品管理部门,已经制定了严格的必须遵循的标准。
不遵循将被重罚,这也消弱了该组织的所能承受。
在所有应用安全标准中,对机器制造商的安全应用基本需求如下:
●安全与非安全功能的区别
●可应用的编程语言和语言子集的运用
●认证的软件模块的应用
●可应用的编程方针的应用
●针对安全相关软件的生命周期认证的错误减少措施的应用
对用户来说,应当减少他们完成这些高需求的努力。
而改用标准解决方案来完成,这使得典型功能轻松实现成为可能。
功能块的标准化、软件工具的综合和支持使得程序员在一开始就在他们的应用中整合安全。
这对他们的功能和性能没有副作用,且没有增加成
本。
为达到这些,PLCopen委员会在进行两个标准的制定工作
●安全功能块外观和感觉上的标准化
●在开发环境中整合标准过程
(1)安全功能块外观和感觉上的标准化
为了帮助开发者运用安全相关功能,用户运用舒适感必须被提高,从而使他们接受这种工作方式。
这靠标准化安全功能块的外观和感觉来实现。
这样,安全功能能独立于应用系统,被更好的认可和应用。
不必要再培训,专做安全功能的趋势也可减少。
另外,这支持了认证实体,确定和检查安全软件变得很容易,从而增加了快速性,减少了风险和花费。
(2)标准过程的结合
一旦在功能块中提供了功能,下一步就是决定如何将它们结合进安全相关程序。
在这个层次上,软件工具应当尽可能地帮助用户。
为此,引入一个新的BOOLEAN数据类型,它适用于安全相关环境,可用来区分安全相关和非相关的BOOLEAN变量。
这给开发工具提供了一个基准,使其可鉴别安全关键的程序部分,指导用户用允许的连接,而防止不正确的连接。
这样,不同的安全标准的不同层次都可获得支持。
这可与精简的可编程语言结合起来,另外,功能块图表和梯形图语言是首选的。
从而可创建容易创建和检查的程序部分,这有助于安全相关功能的接受和运用。
消除了上述现存的几个障碍。
对机器制造工业尤其有意义。
1.2.目标
技术委员会确定的目标如下:
●给标准安全相关功能定义标准功能块(FB)
●把这些功能块和应用程序结合需要一个适合安全相关应用的环境。
对该环境的要求和限
制在该标准中作了部分描述。
●可被潜在的认证实体所接受的概念和功能,给可认证的功能块提供依据
●给安全功能提供一个容易使用的界面
●提供一个通用的原理、术语和参考
●与现存的安全标准相联系
●给附加的/将来的功能块提供“风格指导”
●提供用户指导/实例
●应用程序应当可以跨平台使用
●技术委员会主要专注于机器安全
●机器制造工业外的其它领域,另外的因素需考虑,这些因素在将来的文档中将有所说明●该标准可看作不依赖硬件的开放框架,功能块的实际实现不在该标准的论述范围内
●安全相关和非安全相关逻辑的编程
在这些目标基础上,PLCopen委员会5,该规范包括:
●软件结构的描述
●可编程语言的定义
●安全相关数据类型的描述
●语言子集的定义
●错误处理和诊断概念
●普通安全相关功能块的定义
●19个安全相关功能块的定义
●PLCopen的认证流程和使用PLCopen标识的定义
该文档主要包括三部分
1、可编程语言和功能的精简,从而创建安全相关应用程序
2、安全相关功能块的一般规则
3、带有安全相关功能的一系列功能块的定义
1.3.认证
该文档提供了能在安全相关环境中实现和运用的功能块的风格指导、基础规范。
靠运用带有常规安全的功能块,应用的认证过程变得容易和快速。
这也适用于考虑规范实现的软件环紧的供应商。
然而,该规范或PLCopen认证不担保执行能够符合安全标准的要求。
因此,功能块的实现或适当的运用包括安全认证,是供货商和/或用户的责任。
为了符合要求,不同的测试和认证是适用的。
1、软件工具的测试和认证,是控制供货商的职责所在。
开发环境,包括安全相关的功能块,必须被别的相关实体认证。
为了被认证,那些在IEC61508中描述的规则被运用,这些要求超出了本文档的范围。
2、安全应用的测试和认证,是用户的职责所在。
在运用中,认证包括安全相关软件结合基础部件,例如传感器、开关和执行机构,连接器等。
认证这些环境不在本文档论述范围内,这由外部专门机构处理。
PLCopen图标的使用不提供任何关于遵从或实施标准的保证,图标的使用简单地指示在相关软件环境中,包含本文档描述的概念和原则。
关于这些信息的详细细节请参阅PLCopen的网站。
2、概要
2.1 范围
该文使IEC 61508中指定的安全软件相关需要和在2.3章中别的基础标准所列的的相一致。
如此就能给软件安全功能需求规范、安全相关功能块和执行者提供一个基准,对功能块的开发者/实现者和使用者在软件设计和代码编写阶段提供指导。
功能需求规范适用于需要的安全SIL1、SIL2和SIL3完整标准。
SIL3是机械要求的最高SIL。
IEC 61508安全标准包括安全生命周期描述。
这总共包括16个阶段。
从“1 概念”至“16 ”PLCopen文档“阶段9:实现;软件安全生命周期9.1.1;安全功能需求规范”。
软件开发安全实时
图2 工作专注
不同标准间的关系,开发阶段和实时系统在“图2 工作专注”中示出。
左侧是两个级别软件的开发环境。
1、嵌入式软件、固件或操作系统,必须遵从IEC 61508规范,尤其第3部分;在此
运用的语言可包括C、C++、汇编或其它。
这些是完全可变语言(FVL):组件
提供者用于实现软硬件、操作系统或开发工具的独立语言,很少用于安全应用
本身。
2、安全应用软件。
用C、C++、汇编和其它语言实现的,必须遵守IEC61508规则,
它们也基于FVL语言。
如果根据PLCopen规则实现,包括精简编程语言,指令
和认证功能块,则机器部门标准,例如:IEC62061和ISO13849-1,必须在对象
工业中被用户遵守。
这样可以简化软件开发和认证。
在这种情况下,它们可被
看作限制可变语言(LVL)。
这些语言面对用户为了创造用户自己的安全应用功
能块。
典型应用的语言是梯形图和功能块图表。
这儿指定的功能块不可被看作象IEC62061中定义的“子系统要素”,而是作为IEC61131-3功能块。
功能块的IEC62061定义不同于IEC61131-3中可包含硬件的运用,它提供功能性安全子系统功能。
●IEC 61508-3 (1998-12),电/电子/可编程的电子安全相关系统的功能安全。
第三部分:软件需
求
●EN 954-1 (1996-12), 机器安全-控制系统的安全相关部分,第一部分:设计总则
●ISO/DIS 13849-1 (2004-04), 机器安全-控制系统的安全相关部分,第一部分:设计总则
●ISO 13849-2 (2003-08), 机器安全-控制系统的安全相关部分,第二部分:验证
●IEC 62061 (2005-01), 机器安全-安全相关电的功能安全,电子和可编程电子控制系统
●IEC 60204-1, Ed. 5.0 (2003-07), 机器安全-机器的电设备,第一部分:需求
●ISO 12100-1 (2003-11), 机器安全-基本概念,设计总则,第一部分:基本术语,方法
●ISO 12100-2 (2003-11), 机器安全-基本概念,设计总则,第二部分:技术总则(替代EN 292-2)●EN 418 (1992-10),机器安全-紧急停车,功能因素。
设计原则/ 注意被prEN ISO 13850
(2005-01)替代.
●prEN ISO 13850 (2005-01), 机器安全-紧急停车,设计总则(ISO/DIS 13850:2005)/ 注意为EN
418 (1992-10)的替代
●.EN 61496-1 (2004-05), 机器安全-电感保护设备,设计总则,第一部分:总需求和测试(IEC
61496-1:2004, modified)
●CD IEC 61800-5-2 (2005),可调整的速度电力驱动设备。
第5-2,安全需求-功能安全
●EN 1088 (1995-12), 机器安全-与防护装置相关的连锁设备-设计和选择原则
●EN 574 (1996-11), 机器安全-双手控制设备-功能因素-设计原则
●EN 1037 (1995-12), 机器安全-意外启动预防
3、模型
3.1 软件结构模型
提供一个软件结构模型描述指定的在机器控制系统中指定的软件结构模型的位置,该模型尽可能地普通,以便当前和以后的安全控制系统可被该模型替代。
提议的结构模型中功能应用部分和安全应用部分不同。
通常将两个软件工程环境的标准连接在一起。
PLCopen的目标是合并这两个环境,例如:带有综合安全部分的功能部分的开发环境,包括精简编程语言和安全应用。
在模型的左侧,两个输入是一致的,在右侧,两个输出也一致。
在中间,两个环境看起来是分离的,各自连接它们的输入输出端。
在安全和功能应用之间允许的数据交换在中间示出:
●功能应用对安全输入和全局变量有读的权限
●非安全信号仅能用在安全应用中,控制程序流量,不能被直接至安全输出(右箭头和
AND操作符所示)
同样适用于两个输出端。
在一个安全应用模型中包括几个阶段。
例如:在安全输入、FBs程序间和安全输出。
这些阶段是:
●安全输入
●输入阶段
●输入过程阶段
●带功能块的用户界面阶段
●输出过程阶段
●输出阶段
●安全输出
安全输入,这些细节超出了本文档范围。
同样适用于安全输出。
SAFEBOOL数据类型用来区分安全信号。
包括软件里的输入输出。
潜在的技术不在本规范范围内。
图4 结构模型各层
注意:(1)在该图中的突出模块表示文档的范围,环境功能不在本文档范围。
(2)输入和输出数目不代表实际应用
3.2 安全数据类型
为了清楚地区分安全相关和标准信号,一个标有“SAFE”的新的数据类型被定义,这样,程序员知道该信号与安全相关,必须被格外留意。
此外,由于这个标示,数据联结可被自动验证,用来监测在标准信号和安全相关信号间任何不许可的联结。
尽管“SAFE”数据类型不能保证数据信号状态是安全的(例如错误的连线事件发生)。
然而,这是一个用来在应用程序中减少错误的工具。
另外,当发行应用程序时,安全相关信号可被清楚的确认。
这简化和缩短了信号流验证。
安全信号类型是在安全相关环境中适用的数据类型。
这些数据类型用来区分安全信号和非安全信号,达到确认和认证简化的目的。
在编程环境中支持与安全相关的数据类型的方法有:
●安全数据类型的表示的不同方法
●安全数据类型的编译支持
SAFEBOOL是一种在安全相关环境中适用的数据类型,代表高一级的安全整合标准。
它区分安全相关和非安全相关变量。
SAFEBOOL在系统中用作BOOL类型。
但可包含用作安全状态和标准附加的信息(特性)。
该信息可被用来用编程工具计算SIL。
控制系统保证在系统内部。
无论内部结构输入和输出,SAFExx变量被看成“单通道”,因此,执行带有SAFEXX输入和输出的控制系统被认证,尤其有关SAFEXX信号的产生。
本质上,在应用层次有两种途径得到一个SAFEBOOL变量。
(1)数据被设备提供为一种安全数据类型,无论设备本身还是操作系统抑或固件。
这可包括一个安全网络。
(2)依靠在应用中结合安全输入,数据被提供(例如两个安全单通道输入)。
SAFEBOOL的安全值必须是FALSE。
应用设计者必须保证当设为FALSE时,所有的SAFEBOOL变量导致安全行为。
SAFEBOOL变量在初始化和发生错误时置为FALSE。
3.3 总的建议和限制。