您现在的位置是:主页 > 工业电子 >


双MCU功能安全型智能安全继电器设计

2020-02-13 22:28工业电子 人已围观

简介20 世纪 80 年代,PLIZ 设计了第一款用于安全控制领域的安全继电器,其诞生已有 30 多年历史。但国内安全继电器生产厂家的发展滞后,产品的功能也相对简单,通过安全认证的安全继电...

  20 世纪 80 年代,PLIZ 设计了第一款用于安全控制领域的安全继电器,其诞生已有 30 多年历史。但国内安全继电器生产厂家的发展滞后,产品的功能也相对简单,通过安全认证的安全继电器厂家很少。主要因素有以下几方面。一是国内安全标准未和国际接轨。国内往往只有出口的机械设备,为满足国外的安全标准需求,才加上安全继电器; 而用于内销的机械设备,很多是不加安全继电器的。因此,国内自主的生产驱动需求不大。二是安全认证的难度和成本很高。国内生产厂家经过努力开发出安全继电器的产品,但通过认证又是一道比较高的门槛,加大了安全继电器产品的开发难度。三是传统安全继电器的核心部件,强制导向继电器。据了解,国内并没有厂家真正地研发出用于安全领域的继电器。强制导向继电器的国内需求主要靠进口,成本不低,这就导致国内自主开发出来的安全继电器的硬件成本并不低于国外品牌的安全继电器,在市场上的竞争力远远低于国外品牌。基于第二、第三条原因,结合功能安全认证的流程和需求,开发出基于双微控制单元( microcontroller unit,MCU) 的智能安全继电器。该安全继电器的安全等级可以达到PLe、Cat. 4、SIL3,满足安全需求,同时硬件成本远低于传统的安全继电器。
  
  安全继电器是符合功能安全开发要求的。开发依据的主要标准有IEC 62061 和ISO 13849。因此,可以将开发过程分解为三个阶段: 概念阶段、设计阶段、验证阶段。
  
  1.概念阶段
  
  概念阶段主要是对安全继电器的需求进行定义, 规划开发过程中工具、方法,如产品的安全功能、安全 状态定义、产品应用、系统图、诊断措施、安全结构、安 全等级、性能参数等。系统框图如图 1 所示。
  图 1  系统框图
  图 1  系统框图
  
  智能安全继电器安全功能定义为接收安全传感器的信号( 如急停按钮、双手按钮、磁性开关、安全光幕等信号) 。当这些安全传感器被触发,安全继电器输出安全信号,切断供电回路,达到保证安全的作用; 安全状态定义为继电器输出处于断开状态; 要达到的安全等级为 SIL3、PLe。
  
  安全继电器应用如图 2 所示。
  图 2 安全继电器应用示意图
  图 2 安全继电器应用示意图
  
  A1 、A2 为电源接口,可以接入 24 V DC 开关电源; T1 、T2 、In1 、In2 为输入驱动及输入接口,用于接收安全传感器的信号及输出驱动信号。S33 、S34 、S35 为复位回路。其中: S33 、S34 为手动复位,S33 、S35 为自动复位。 13 - 14 /23 - 34 为输出回路,接入现场的执行机构。
  
  该应用为工业现场的安全门锁的应用。当安全门S1 打开,能可靠断开接触器 K3 、K4 ,使得执行单元 M 停止,达到保证安全的目的。
  
  概念阶段在功能安全开发阶段处于重要的阶段, 也是周期最长的阶段。概念阶段策划良好,对后续工 作的开展具有极为重要的指导作用。
  
  2.设计阶段
  
  设计阶段主要是对产品的硬件、软件、产品的功能进行开发,满足概念阶段的需求。具体可以分为两个部分: 硬件设计和软件设计。
  
  2. 1  硬件设计
  
  硬件电路主要由 4 部分组成: 电源电路,输入电路,控制电路和输出电路。电路硬件框架如图 3 所示。
  图 3  电路硬件框图
  图 3  电路硬件框图
  
  2.1.1 硬件设计
  
  电源电路设计基于以下两点: ①满足现有不同子电路的供电需求; ②符合安全等级需求。具体来说,考虑两个故障同时发生,安全继电器能够进入安全状态或者安全功能不会受到影响; 达到这个要求后,可以将电源回路设计为单通道的结构。
  
  电源电路需要考虑的故障主要有: 过电压,欠压, 过流,开路,短路。
  
  欠压故障的处理通过 MCU 对电源电压的监控,利用 ADC 采样。当电压低于某一规定的限值时,输出进入安全状态。
  
  过电压故障的处理通过以下两种。①压敏电阻和TVS 管组合,电源的过压故障容易对硬件电路造成损坏,因此需要压敏电阻或 TVS 管进行防护,需要压敏电阻及 TVS 管的组合是基于耐受两个故障。②MCU对电源电压的监控,当电源电压超过一定的限值,输出进入安全状态。
  
  过流故障主要通过可恢复保险丝来完成。当电源回路电流超过保险丝的额定值,保险丝断开,各子电路失去供电,进入安全状态。
  
  开路和短路故障可以利用 fail-safe 技术实现。
  
  电源电路的功能实现比较简单,主要将 24 V 电压转换成 12 V 电压。考虑该部分电压主要用于继电器线圈的供电,应尽量选择 DC / DC 转换芯片,提高效率。12 V 电压再通过 LDO 转换为 3. 3 V 电压,用于 MCU和其他逻辑芯片的供电。
  
  2.1.2 输入电路
  
  基于 ISO 13849 标准的要求,要达到 Cat. 4 等级,安全继电器的输入电路需采用双通道带诊断的结构, In1 / In2  构成双通道的输入,In1 / In2  的信号同时被 MCUA 和 MCUB 采集。当 In1 或 In2 的任一通道发生故障时,其他通道的 MCU 均能诊断出这一故障,形成通道间的故障互相诊断。
  
  输入驱动电路的作用是: MCUA 和 MCUB 编码产生两个不同的周期性脉冲电平 T1 、T2 ,脉冲电平进入到输入电路,能够被 MCUA 和 MCUB 识别和判断。当外部传感器电路发生短路时,进入的脉冲电平会进行叠加,产生不同于原 T1 、T2  的波形,MCU不能识别该波形为 T1 或 T2 ,从而判定出输入短路故障。
  
  输入电路及脉冲波形如图 4 所示。
  图 4 输入电路及脉冲波形示意图
  图 4 输入电路及脉冲波形示意图
  
  2.1.3 控制电路
  
  控制电路主要由两个 MCU 及必须的外围电路组成。根据功能安全的要求,采用双通道的 MCU 方案,MCU 之间需要进行数据的交互和诊断。MCU 之间是通过 SPI 进行通信,SPI 的高速率,可以满足实时的需求。MCU 之间采用两根 I / O 线进行时间同步。MCU 需要加入硬件看门狗电路来防止程序的跑飞。
  
  2.1.4 输出电路
  
  输出电路采用两个具有一组转换触点的普通继电器,利用转换触点的闭合 / 断开特性来实现触点的粘连故障诊断。继电器触点和继电器控制电路有隔离的需求。因此,采用高压电容进行隔离,并采用周期性脉冲波形的方式进行诊断信号及检测信号的传输。
  
  输出电路如图 5 所示。
  图 5  输出电路
  图 5  输出电路
  
  继电器的诊断过程如下( 以 J1 继电器进行说明) 。
  
  ①在每次启动继电器之前,由 MCUA 产生周期性脉冲信号,通过高压电容 C1 、C2 、J1 常闭触点、C3 、C4 传输到检测电路。
  
  ②通过 R9 ,C5  将周期性脉冲信号变成高电平信号,控制 Q6 导通。
  
  ③当 Q6 导通后,MCUA 采集到低电平信号,判定触点没有发生粘连,完成诊断过程。
  
  2.2  软件设计
  
  智能安全继电器的软件设计与普通产品的功能设计不同,普通产品的设计仅需要考虑功能实现。而功能安全产品不仅需要考虑功能的实现,还需要从功能安全的角度考虑。本软件采用分层的设计思路,每一层针对的功能和需求不同,具体来说分为 3 层: 驱动层,诊断层和应用层。驱动层和诊断层是基础和通用设计,不同功能安全产品的设计在这两层的设计是相似的,改变不大; 但应用层的设计是根据产品功能进行的。不同的产品,这一层的软件设计是完全不同的。
  
  2.2.1  驱动层
  
  驱动层的主要工作是对 MCU 硬件进行设置和控制,如时钟、MCU I / O 配置、读取、写入、存储空间的分区、SPI 通信初始化,以及数据接收和发生,Usart 的初始化、数据读取、ADC 的初始化、模拟量读取、DMA 的设置等。该部分的软件代码可以直接从 MCU 的厂家标准库取得,或者根据产品需求,进行相关修改。
  
  2.2.2  诊断层
  
  诊断层的主要工作是对 MCU 进行诊断,保证单片机能够正确地执行相应的功能,或者当发生故障时单片机能够进入安全状态。
  
  要考虑的故障主要有以下几类。
  
  ① FLASH 故 障: FLASH 能 够 被 正 确 地 读 写,FLASH 在运行过程中,不被改变。
  
  ②RAM 故障: RAM 能够被正确读写。
  
  ③SPI 通信故障。
  
  ④UART 故障。
  
  ⑤I / O 故障。
  
  ⑥程序执行故障,跑飞。
  
  诊断层的实现,主要依据 IEC 61508 推荐的技术措施进行设计。程序执行故障,可以采用程序段编号方式实现。通过软件很难实现或者不易达到要求的软件故障,可以采用硬件的手段进行补救。
  
  2.2.3 应用层
  
  应用层的设计依据安全继电器的应用要求进行功能设计、产品的应用。应用层的主要工作是根据安全继电器的应用要求进行功能设计: 如输入驱动脉冲的实现,DI 信号的采集、识别,不同安全传感器功能的实现,MCU 之间的数据交换、数据比对,指示灯控制,外部故障处理,继电器的输出,继电器触点的诊断以及和PC 机之间的 UART 通信等。
  
  3.验证阶段
  
  验证阶段需要对智能安全继电器进行验证及相关 测试。验证阶段主要进行的工作有: 可靠性数据计算, 集成测试,故障插入测试,软件测试等。
  
  可靠性数据计算可按如下步骤进行。第一步由通用数据库或元器件厂家提供的可靠性数据计算出每一个器件的可靠性数据。第二步对原理进行通道划分( 依据安全结构) ,计算出每一个通道的失效数据 λs 、λd 、λdu 、λdd 。第三步由失效数据计算出 MTTF、PFH、CCF 等。
  
  集成测试主要是测试产品的性能,环境电磁兼容( electromagnetic compatibility,EMC) 试验,集成测试的测试项目主要依据产品功能、行业标准、功能安全对EMC 的加强测试标准和企业标准等。
  
  故障插入测试通过对硬件、软件进行故障的模拟, 来观察安全继电器的输出是否符合预期的要求。
  
  软件测试需要进行的常规测试有白盒测试、黑盒测试、静态测试。
  
  安全手册主要向客户说明产品符合的标准、安全功能、安全状态、安全完整性要求、安装、连接、维护等要求或者说明。

Tags:

标签云