下面这张图是某项目的硬件组态,在西门子S7-1
添加完成后,在项目树的“程序块”→“系统块”→“STEP7Safety”→“F-I/Odatablocks”会自动添加两个安全I/O数据块(F-I/ODB),如下图所示:
安全I/O数据块的名称以“F”开头,后面的数字表示模块的起始地址,其后是模块在硬件组态中的名称。比如:“F00008_F-DI8/16x24VDC_1”,“F”表示是故障安全,“8”表示模块的起始地址为“8”,后面的字母是模块的名称,与硬件组态中相同。
双击打开该数据块,如下图所示:
它由输入和输出两部分参数组成。输入参数可对模块进行控制,输出参数可用来评估模块的状态。其中:
输入参数:
PASS_ON:布尔型,1=使能模块的钝化;在安全程序中将该值设置为1将钝化整个故障安全输入/输出模块;ACK_NEC:布尔型,当安全模块故障消除后,重新集成是否需要确认(1=需要确认;0=不需要确认,自动重新集成;默认为1);ACK_REI:布尔型,确认重新集成的输入信号(上升沿);IPAR_EN:布尔型,PROFIsafe协议中“iPar_EN_C”参数;DISABLE:布尔型,1=禁用安全I/O数据块;输出参数:
PASS_OUT:布尔型,模块的钝化状态(1=模块已经钝化);QBAD:布尔型,1=输出故障安全值;ACK_REQ:布尔型,故障消除后,请求重新集成;IPAR_OK:布尔型,PROFIsafe协议中“iPar_EN_S”参数;;DIAG:字节型,诊断信息;DISABLED:布尔型,1=故障安全信号模块已经禁用;可以看出,安全I/O数据块中的参数主要是和模块的钝化及重新集成有关。所谓“钝化(Passivation)”是指安全输入/输出(F-I/O)模块检测到故障时,使用故障安全值替代正常的输出值进行输出的状态;所谓“重新集成”,是指当模块故障消除后,重新恢复成正常工作状态。详见我之前写过一篇文章《什么是故障安全模块的钝化和重新集成?》。
在安全程序中,可以通过读取安全I/O数据块的参数值来获取相关的信息。
比如下面的代码读取安全模块的钝化信息并存放到安全数据块DB900中:
下面的代码读取模块的请求重新集成的信息并存放到全局数据块中:
对于单个安全模块的重新集成,可以通过给其安全数据块的“ACK_REI”参数赋值来完成,比如:
不过在实际项目中,通常有多个安全输入/输出模块,逐一进行复位显得比较繁琐。我们可以使用安全指令“ACK_GL”对安全运行组中的所有安全模块进行重新集成,比如下面的代码:
需要说明的是:只有当“ACK_REQ”的值为1的情况下才能完成模块的重新集成(也就是所有故障已经消除)。
好了,关于西门子故障安全模块的安全I/O数据块就先介绍到这里。
推荐下我的书《西门子S7-1200/1500PLCSCL语言编程从入门到精通》
西门子S7-1200/1500PLCSCL语言编程从入门到通北岛李工编化学工业¥79购买
上一篇:西门子S120快速入门深入认识智能型电源模块SLM
下一篇:西门子ET200SP故障安全型模拟量输入模块FAI4xU的使用
更多>>
相关资讯西门子S71500之我见03模块更智能2023/3/15
- PLC界的扛把子,西门子PLC介绍以及软件分享 2023-08-01
- 德系PLC和日系PLC有什么区别? 2023-08-01
- 巨控GRM530远程模块与西门子所有系列的PLC通讯: 2023-08-01
- 谈可编程控制器PLC教学一体化课程设计的重要性 2023-08-01
- 其实西门子S71200的PLC并没有大家想象中那么难 2023-08-01
- 如何对西门子PLC进行维护: 2023-08-01
- 30天入门西门子PLC 2023-08-01
- 西门子PLC从入门到精通的5个实例,理论讲解加程序演示: 2023-08-01
- 组态以太网模块之西门子S7300: 2023-08-01
- 西门子PLC软硬件故障的解决方案: 2023-08-01