1. 安全PLC集成工程导论
在工业自动化领域,标准PLC负责常规逻辑控制、顺序控制与过程调节,而安全PLC则承担另一类职责:当设备出现急停、安全门被打开、光幕被遮挡或安全继电器反馈异常时,系统必须在确定的时间内把危险输出切换到安全状态。TIA Portal中的安全PLC并不是一台独立于标准PLC之外的“另一套系统”,而是与标准控制逻辑共享工程环境、共享硬件平台、共享通信网络,但在执行机制、编程语言、数据结构和验证方法上遵循功能安全规则的集成控制器。理解这一点,是进入安全PLC集成工程的第一步。
一、安全PLC在TIA Portal中的定位
在TIA Portal中,安全PLC通常以F-CPU的形式出现,例如S7-1200F、S7-1500F系列。它同时运行标准用户程序和故障安全程序。标准程序使用LAD、FBD、SCL等常规语言,故障安全程序则使用经过认证的F-LAD、F-FBD等安全语言,并配合F-DI、F-DO等故障安全信号模块。安全程序中的变量带有F属性,例如F-DB、F-I/O、F-参数,它们不能与标准程序随意混用,必须通过受控接口进行数据交换。
从工程视角看,安全PLC的定位可以概括为三点:第一,它是安全功能的执行载体,急停、安全门、光幕、双手操作、安全速度等安全功能最终由它完成逻辑判断和输出控制;第二,它是安全数据的汇聚点,来自F-DI模块、安全通信伙伴和标准程序的安全请求都在这里被处理;第三,它是安全响应的起点,一旦安全条件不满足,F-DO必须在规定时间内切断危险输出,而不是等待标准程序慢慢处理。
二、标准PLC与安全PLC的关键差异
很多初学者会把安全PLC理解为“更可靠的标准PLC”,这种理解并不准确。两者的差异不只是硬件冗余程度,而是贯穿设计、编程、通信和验证全过程。
第一,执行机制不同。标准PLC按扫描周期执行用户程序,输出刷新取决于扫描周期;安全PLC在标准扫描之外还维护F-运行时组,安全程序有独立的执行时序和安全响应时间监控。如果安全程序未在规定时间内完成,系统会进入安全状态。
第二,编程约束不同。标准程序允许任意赋值、任意跳转、任意指针操作;安全程序禁止使用未经认证的指令,禁止在F程序中直接使用标准DB,禁止绕过安全逻辑直接写F-DO。F程序中的变量必须来自F-DB或F-I/O,且需要满足安全数据类型的约束。
第三,通信方式不同。标准通信使用PROFINET RT/IRT,关注实时性和带宽;安全通信使用PROFIsafe,在标准通信通道上叠加安全报文,通过CRC校验、序号、超时监控和F-地址来保证数据完整性。PROFIsafe报文中的F-地址必须与硬件组态一致,否则安全通信无法建立。
第四,验证要求不同。标准程序修改后下载即可运行;安全程序修改后必须重新计算安全签名,必要时重新进行安全验证。F-CPU会记录安全签名,如果实际签名与预期不符,安全程序不会进入运行状态。
| 对比维度 | 标准PLC | 安全PLC(F-CPU) |
|---|---|---|
| 程序语言 | LAD/FBD/SCL/STL | F-LAD/F-FBD(认证语言) |
| 数据存储 | 标准DB、M区 | F-DB、F-I/O,受保护 |
| 通信协议 | PROFINET RT/IRT | PROFIsafe(黑色通道) |
| 修改权限 | 一般工程师可修改 | 需F密码与安全签名 |
| 响应要求 | 扫描周期内完成 | 安全响应时间监控 |
| 典型认证 | 无功能安全认证要求 | SIL2/SIL3、PL d/PL e |
三、集成工程的核心任务
安全PLC集成工程不是“把安全程序写进去”这么简单。它至少包含以下相互关联的任务:
- 安全需求分析:识别设备上的危险源,确定每个安全功能的触发条件、响应动作和所需安全等级。例如一台冲压设备的安全门打开后,必须在200ms内切断滑块下行输出,安全等级要求PL d。
- 硬件选型与组态:选择F-CPU、F-DI、F-DO模块,确定F-地址、F-参数和PROFIsafe看门狗时间。F-DI模块的输入滤波时间、F-DO模块的输出回读时间都会影响安全响应时间。
- 安全程序设计与实现:使用F-LAD编写急停、安全门、光幕等安全功能,处理F-I/O的钝化与恢复,设计安全输出与标准输出的接口。
- 安全通信配置:在PROFINET网络中配置PROFIsafe连接,设置F-地址和监控时间,确保安全报文在黑色通道中可靠传输。
- 验证与文档:通过安全签名、F-地址核对、响应时间计算和功能测试,确认安全功能满足要求,并形成可追溯的安全文档。
四、学习路径建议
对于已经具备标准PLC基础的工程师,建议按以下路径推进:先理解功能安全的基本概念(SIL、PL、安全响应时间、钝化与恢复),再熟悉TIA Portal中F-CPU的硬件组态和F-I/O参数,然后从最简单的急停安全功能开始编写F程序,逐步扩展到安全门、光幕、安全速度和多轴安全控制。每完成一个安全功能,都要回到安全需求,核对触发条件、响应动作、响应时间和安全等级是否一致。