1.功能安全标准IEC 61508
1996年,Neil Storey在 SAFETY-CRITICAL COMPUTER SYSTEMS (见图1-7)中首次提出了功能安全(Functional Safety)一词。书中定义的功能安全是整个系统安全的一部分,它与设备能否正确执行其设计功能有关(包括应对人员操作失误、软/硬件失效及环境发生变化的情况等)。使用者在操作设备时可能面临危害身体健康甚至危及生命的风险,因此功能安全的目标是规避这种不可接受的安全风险。例如,具备功能安全的机器人在工作时,内置传感器会监控运行速度和输出力矩,如果机器人与人员发生碰撞,则会立刻停止运行,保证机器人的碰撞力不超过限值,以免对人体造成严重伤害。
图1-7 SAFETY-CRITICAL COMPUTER SYSTEMS 书籍封面
总体来看,功能安全涉及技术和管理两个方面,通过提高安全设施有效性来控制与管理各类危险源,避免或减少工业事故对公众和环境的影响,防止各类装备尤其是成套装置发生不可接受危险的技术,涉及交通、机械、能源、城市基础设施等与人身、财产等安全相关的领域。例如,核电站的安全控制系统是一种安全设施,其功能是当反应堆达到危险值时停止核电站的运行,其控制和监测功能覆盖了核电站的所有过程系统,执行相应的监督功能和控制保护功能。如果这个功能失效,数值达到危险值时持续工作,则会引发爆炸,人员可能会遇到危险。安全预警系统具有一定的风险降低能力。2011年3月11日,日本本州岛东北部海域发生了里氏9.0级大地震,引发了海啸,造成东京电力公司福岛核电站事故的发生。具体原因是,海啸来临时,位于地下室的应急柴油发电机被淹没,无法紧急启动,导致核反应堆在持续高温高压下,发生堆芯熔毁。
安全设施的每个安全功能都对应降低某个危险事件的风险。功能安全的基础标准IEC61508把每个安全功能降低风险的能力定义为安全完整性等级(Safety Integrity Level,SIL)。如果安全设施可以将风险概率降低一个数量级,如采用该安全设施后,由原来一年发生一次事故降为几十年发生一次,则表示该安全设施具有SIL1的能力。如果安全设施可将风险概率降低4个数量级,如采用该安全设施后,由原来一年发生一次事故降为几万年发生一次,则表示该安全设施具有SIL4的能力。SIL的概念适用于所有安全设施,只要安全设施具有风险降低功能,就可以用量化的方法确定其风险降低能力。
不断推进的工业化在为人类生活提供丰富的物质的同时,也逐渐成为威胁人身安全的“凶手”,生产事故的频发使得安全生产这一话题越来越受到关注。在工业企业使用相应的设备时,管理者应该把安全放在第一位。只有充分考虑到人和设备的安全,牢固树立安全第一的思想,才能产生巨大的生产效益和社会效益。
在绝大多数传统制造车间和工厂中,出于安全性考虑,需要使用防护栏把机器人和人员进行隔离,工业机器人防护栏如图1-8所示。
图1-8 工业机器人防护栏
功能安全被视为整体安全的一部分,取决于一个系统或设备的运行是否能够正确回应所接收到的输入信号。随着技术的飞速发展,越来越多的安全功能是通过由电机、控制软件等组成的系统来执行的。通常这些系统非常复杂,因此软件功能安全的设计、确认和验证非常重要且十分必要。
为促进安全相关产品安全水平的提升,电气与电子工程师协会于2001年发布了首个产品安全性标准——IEC 61508,从研发过程管理、安全保障技术等多个方面对安全相关产品(含软件)提出了要求,并得到了国际上知名检测认证机构(TUV、SGS、UL、CSA等)、领军企业(波音、空客、GE、ABB、宝马)的广泛支持。IEC 61508标准对功能安全的定义是:保证电气、电子、可编程电子安全系统功能安全、可靠、正确实现,包括其他外部风险降低设施和安全相关系统功能可靠、正确执行,并且当发生故障(包括随机故障和系统故障)或失效时,安全相关系统会采取措施,保证不会引起人员的伤亡、环境的破坏、设备财产的损失。
有了IEC 61508,在车间安全中对安全系统的要求可相对于应用独立定义,其不仅协调了国家法规与国际标准,还增加了配备微处理器的设备和传感器的使用要求(这些微处理器可帮助实现安全功能)。在此“功能安全”标准中,这些系统安全要求通常被划分为不同安全完整性等级(SIL1~SIL4),设备、传感器或控制系统也因此有一个对应的SIL。IEC 61508对安全相关软件的需求、设计、实施、测评提出了具体的技术要求。
2.在机械领域的新旧标准、安全分类和SIL
1)国外机械安全的标准体系
早在20世纪七八十年代,欧美等发达国家已经基于良好的工程实践准则,建立了一套机械安全的最佳实践方法。在机械领域,为了保护操作者的安全,人们制定了详细的安全规程,操作者必须遵守;这反过来推动了范围更广的工程标准的制定,定义了通用的机械安全要求(还有许多标准针对的是特定类型的机械)。
一般来说,标准要求机械设备的供应商确保其产品是安全的;而机械设备的操作方和使用方则必须确保机械设备在使用过程中是安全的。因此,确保机械安全的原则如下:
●与目前已知的安全标准一致;
●如没有相关的标准存在,则遵循一系列设计和应用原则,按不同领域的指导标准建立新的标准。
应用这些原则的最佳范例是欧盟的机械安全指南及与其相关的附加标准,欧洲机械安全标准的结构如图1-9所示。
图1-9 欧洲机械安全标准的结构
从图1-9中可以看出,所有标准均衍生自Type A标准(基本安全标准),Type A标准是对所有机械设备适用的安全准则;Type B标准(总体安全标准)确定了对机械设备适用的通用安全方法,包括安全性技术标准和安全性设备标准;Type C标准则是基于Type A、Type B标准为特定类型的机械设备修订的标准,仅适用于特定的机械设备。
(1)Type A标准。
Type A标准制定了相关的原则、规程,以便新标准的制定者针对新的机械设备制定更为具体的标准。应用较为广泛的Type A标准如下。
●EN292的Part1和Part2:基本用途是给设计者、制造者提供机械安全方面的综合参考,如提供机械安全的基本概念、设计的一般原则等。Part1主要定义制定机械安全标准所用的术语;Part2主要规定了设计机械产品时,为了保证机械安全而应遵循的技术原则与规范,适用于各类机械产品的设计,也适用于具有类似危险的其他技术产品的设计。
●EN1050:1996:提供机械安全危险评估原理,为机械安全防护的第一个重要阶段,提供安全风险评估方法及评估的原则和要求。
(2)Type B标准。
下面分类介绍Type B标准。
●Type B1:安全性技术标准(涉及安全距离、表面温度、噪声等)。例如,EN 60204-1和EN 954-1(对应的新标准为ISO 13849-1:2023)。
●Type B2:安全性设备标准(涉及双手控制设备、联锁装置、压力感应装置、防护罩等)。例如,EN 418:1992、EN 61496:2004。
(3)Type C标准。
Type C标准对特定及大部分机械设备的安全要求有详尽的描述。目前,已有大量的Type C标准被制定,用于针对特定的机械风险。而且因为这些标准都是基于Type A和Type B标准制定的,因此术语、定义及常规措施是与Type A、Type B两类标准一致的。例如,若要制定一个用于安全防护或紧急停车装置的Type C标准,则会引用Type B标准的内容。
2)国内机械安全的标准体系
我国机械安全标准结构与国外的保持一致。全国机械安全标准化技术委员会(SAC/TC208)与ISO/TC199的工作领域一致,主要负责全国机械安全Type A标准和Type B标准的技术归口和ISO/TC199的国内对口管理工作。其通过对ISO、欧盟、美国和日本的机械安全标准及标准体系的研究,采纳ISO和欧盟所采用的机械安全标准分类法,构建了我国机械安全标准体系,如图1-10所示。
图1-10 我国机械安全标准体系
与国外的机械安全标准结构类似,我国的机械安全标准体系分为两个类别(层次)。
第一类是基础标准(A类),体系中A类标准分为设计通则、风险评价和技术指南3个部分。基础标准是所有机械安全标准的基础,规定了机械安全的最基本原则和方法,对机械安全的所有标准具有统领和指导意义。
第二类是通用标准(B类),类似国外的分类方法,我国把B类标准分为安全特征(B1)类标准和安全装置(B2)类标准。B1类标准包括安全距离、接近速度、温度限值、卫生要求、集成制造系统、排放、辐射、火灾防治、人类工效学等内容;B2类标准包括控制系统、急停、意外启动、双手操纵装置、联锁装置、防护装置、进入设施等内容。
值得注意的是,这些机械安全相关标准,并没有软件安全性约束和指导性文件,这在20世纪八九十年代是可以接受的,因为软件在机械安全上的作用不强。但是,随着软件化、智能化的发展,新的可编程控制系统的功能安全标准逐步出现并得到广泛应用。
3)适用于可编程控制系统的功能安全标准
当前计算机、集成电路等技术的发展已经渗透到所有工业领域,计算能力的极大增加彻底改变了工厂和工业过程控制,也改变了安全控制策略。对于将包含电子、电气设备及计算机软件、硬件的系统应用于关系到人身财产安全的领域,进行规范的安全指导是十分必要的。现有的基于硬件的安全控制实践经验、规程已无法适用于可编程控制系统。因此,专家学者们探索出了适用于可编程控制系统的功能安全标准。
在控制系统的功能安全概念未出现前,与此最相关的标准是EN 954:1996。但是,这个标准针对的是硬连接电路和中继设备,没有考虑诸如PLC、通信网络等在内的嵌入式系统带来的复杂安全风险及处理这些安全风险的措施。在这种情况下,2000年5月,国际电工委员会正式发布了IEC 61508标准。IEC 61508标准针对由电气/电子/可编程电子部件构成的、起安全作用的电气/电子/可编程电子系统的安全生命周期,建立了一个基础的评价方法,目的是针对以电气/电子/可编程电子系统为基础的安全系统提出一个一致、合理的技术方案,统筹考虑单独系统(传感器、通信系统、控制装置、执行器等)中元件与安全系统的组合问题。机械安全相关的功能安全标准发展如图1-11所示。
图1-11 机械安全相关的功能安全标准发展
IEC 62061是在IEC 61508基础上的机械/工业机器人领域的标准,它对安全相关的电气控制系统实施方法进行了说明,对从初步设计到停止运作的各个阶段进行测试,主要向安全相关电气控制系统的规划者、建造者和用户进行说明。标准提供的方法和要求如下。
(1)指定由SRECS执行的各个安全相关控制功能要求的安全完整性等级。
安全完整性是指在规定的条件下、规定的时间内,安全相关系统成功实现所要求的安全功能的概率。由于IEC 62061基于IEC 61508编制,因此其安全完整等级的划分、评定与IEC 61508有着共性,即:安全相关系统有SIL1~SIL3共3种安全完整性等级;安全相关系统的安全完整性等级越高,不能实现所要求的安全功能的概率就越低;安全完整性由硬件、软件和系统的安全完整性构成。
(2)使SRECS设计适合指定的安全相关控制功能,使设计的集成安全相关子系统符合ISO13849标准要求。
IEC 62061标准给出了符合功能安全要求的SRECS选择原则、设计和实现方法,包括系统架构的选择、安全相关软/硬件的选择、软/硬件的设计、设计的软/硬件符合功能安全要求的验证。但是,在本标准中,安全相关软件的选择、设计只给出了要求,并不具备可行的设计方案。
(3)确认SRECS。
IEC 62061标准给出了应用于SRECS确认流程的具体要求,包括对SRECS软/硬件的检查和测试,以满足安全需求规格说明书的要求。
IEC 62061标准从内容和目标两个方面界定了其适用范围。
1.涵盖的内容
标准是对机械安全相关电气、电子和可编程电子控制系统的设计、集成和确认规定要求和给出建议,以下方面值得注意。
(1)“在本标准中,假设复杂子系统或子系统元素的设计符合IEC 61508有关要求”,即在默认情况下,要求大型复杂的控制系统子系统符合IEC 61508要求。
(2)“没有规定机械非电气(如液压、气动)控制元素性能要求”。
从标准的继承性来看,IEC 62061主要参考了IEC 61508的第2、3部分,也就是软件、硬件开发部分,所以IEC 62061更适合用来评估比较复杂的系统,其根据相关计算得出的每个控制通道的PFH(每小时的危险失效概率)将元件或者系统分为3个安全完整性等级,即SIL1、SIL2、SIL3,但其只针对电子、电气和可编程电子控制系统。ISO 13849继承了EN 14121及EN 954的基本原则,侧重于分析控制电路的结构,按照电路结构,其将电路分成B、1、2、3、4共5个类别,再辅以适当MTTF值和DC值,来达到预期的性能等级(Performance Level,PL)描述,PL分为a、b、c、d、e这5个等级,而且其中还涵盖了对液压和气动元件的分析。IEC 62061和ISO 13849建议应用范围如表1-1所示。
表1-1 IEC 62061和ISO 13849建议应用范围
2.特定条款的目标
本书将对标准特定条款中与软件相关的条款进行详细的解读,用以指导从事软件功能安全工作的技术人员、管理人员、第三方测评机构人员,以及希望了解机械/工业机器人控制系统软件安全和管理的人员更深入地了解IEC 62061标准,使用户有计划、有步骤地完成软件功能安全要求的采用,确保产品的功能安全。特定条款的目标如表1-2所示。
表1-2 特定条款的目标
IEC 62061引用了9项IEC或ISO的国际标准,其中:
(1)IEC 60204-1《机械安全 机械电气设备 第1部分:一般要求》、IEC 61000-6-2《电磁兼容 第6-2部分:通用标准——工业环境中的抗扰度试验》、IEC 61310《机械安全指示、标记和驱动》这3个标准都是直接采用机械安全相关的IEC标准。
(2)ISO 12100:2003《机械安全 基本概念和设计通则》已被更新为ISO 12100:2010《机械安全 设计通用原则:风险评估和风险降低》。
(3)IEC 62061直接把IEC 61508标准第2部分、第3部分的要求等标采用,而在后续内容中,IEC 62061直接引用了相关要求,对机械/工业机器人控制系统软件的功能安全设计、实现和确认并没有提出额外要求。
本标准用于ISO12100:2010描述的降低系统风险的框架范围内,并根据ISO14121(EN1050)描述的准则,同风险评估一起使用。IEC 62061与其他标准的关系如图1-12所示。
图1-12 IEC 62061与其他标准的关系
按照IEC 62061标准定义安全生命周期的理念和要求,安全相关电气控制系统安全生命周期活动如图1-13所示。整个标准均按照相关活动的要求和目标两个部分组成。
1.创建安全计划
标准规定了在实现安全系统时应遵循的一种系统性步骤,包括从被控对象的风险分析和风险评估,到SRECS的设计、实现、验证等一系列活动的记录文档,如为实现安全系统的所有相关活动的计划和步骤、功能安全实现方法、执行和审核所有活动的责任分配计划、活动执行和复审的规则、配置管理过程、验证计划和确认计划。
2.风险分析及评估
风险分析的结果是设计安全相关控制系统的根本依据。风险分析的主要内容包括在用该设备时有何种风险、降低该风险需要什么安全相关功能。而风险评估则根据风险分析的结果,确定需要采取什么风险降低措施,确定安全相关控制功能的SIL。
图1-13 安全相关电气控制系统安全生命周期活动
3.制定SRCF规范/说明
制定SRCF规范/说明以风险和危险分析为依据,主要内容包括SRECS的基本信息、危险源、防护对象、功能性要求、故障响应、安全完整性要求等。
4.设计SRECS结构
SRECS结构设计的目的是将整个SRCF分解成多个功能块,并把安全完整性等级分配给各个子系统。
5.系统实现
根据结构设计方案实现各个子系统。
6.确定已达到的SIL
评估SRECS安全完整性。由SRECS完成的SIL应由子系统的危险随机硬件失效概率、体系结构限制和构成SRECS的子系统的系统安全完整性来确定。已实现的SIL小于或等于系统安全完整性和体系结构限制的任何子系统的最低SIL。
7.硬件实现
按照SRECS设计文件的硬件设计方案进行实现。
8.软件说明
标准要求要想将软件用在实现安全相关控制功能的SRECS中的任何部分,应开发软件安全要求规范并撰写文档。软件说明应包括系统的配置或结构、容量和响应时间特性、设备和操作者界面、安全要求规范中所规定的机器操作所有相关模式、外部装置诊断试验(传感器和最终元件等)。
9.设计和开发软件
设计和开发软件包括嵌入式软件、参数化软件、应用软件的设计和开发,以及软件配置等内容。在标准中,设计和开发软件只在条款6.11中进行了简单描述,可行性不强。因此,本书将重点针对功能安全相关软件的设计和开发给出可行性方案。
10.集成及测试
安全相关应用软件集成到SRECS应包括在设计和开发阶段规定的试验,以保证应用软件和硬件及嵌入式软件平台的兼容性,从而满足功能和安全性要求,而且需要形成一系列文件,包括所有试验规范的版本、集成试验可接受的准则、受试的SRECS版本、使用的工具和设备连同校准数据等。
11.安装
按照最终系统确认的功能安全计划进行安装,并做适当的记录,保证其适合预期用途和为确认做准备。
12.用户信息编制
按照标准要求,制定符合标准的安装、使用与维护文件。
13.执行确认
按照预定计划执行SRECS确认。