我们需要注意,大多数时候当大家谈论功能安全时,通常会想到硬件:使用什么传感器,哪种逻辑运算器,选择什么执行器电磁阀或气动阀门;什么样的表决架构等等。然而,应用程序经常被忽视。
本质上,当涉及到应用程序时,我们需要遵循与硬件类似的方法。例如,需要指定一组应用程序需求;验证计划;应用架构;仿真和集成测试;验证。本质上,这应该在SIS的SRS中定义,或者可以是单独的“应用程序需求规范”,其中定义了每个SIF的要求。这些要求在IEC61511的第7、10、12、13和15条中。
IEC61511定义了3种编程语言类型:
应该注意的是,SIS可编程设备只能使用FPL和LVL,因为如果使用FVL编写了任何功能块和/或程序,则必须开发这些功能块以符合IEC61508-3。
定义应用程序需求的最常见方法之一是使用功能块或逻辑图的形式。大多数逻辑运算器供应商提供工具来帮助开发和测试应用程序。然而,在IEC61131中列出的5种编程语言中,应需注意,因为只有3种被认为是“有限可变语言”(LVL),它们是:功能块图(FBD)、顺序功能图(SFC)和梯形图(LD)。指令表(IL)和结构文本(ST)被视为FVL,不应使用。
因此,强烈建议开发一套应用程序:开发人员需要遵循的编程指南和/或过程。这也是清单方法的用处所在。时常,编程工程师喜欢重新发明策略。也许是由于他们的软件真的比其他任何人的软件好,但如果他们不遵循IEC61508改为使用FVL来开发特定的功能块和/或代码集,,那么这将损害SIF SIL的完整性,进而从系统的角度来看SIL验证失败。
此外,如果SIS的应用程序是为了实现安全性和非安全性而设计的,那么它必须遵循安全性的要求。此外,必须通过评估和/或测试证明非安全功能不会干扰安全功能。这也是SIS只能处理安全功能,而非安全功能应由BPCS或其他控制器处理的另一个原因。
在适用的情况下,应鼓励复用以前使用过的、经过验证的、项目定制的库函数,以使得将系统错误降至最低。
66666
文章讲到了根本原因
666
这个文章太赞了,厉害厉害