当前位置:首页 >> 能源/化工 >>

STEP7下的冗余IO编程


STEP7 下冗余 IO 编程
Redundant IO practice under STEP7 Getting-started Edition (2008 年-1 月)

摘 要 本文详细介绍了冗余 IO 的原理,模板 IO 冗余和通道 IO 冗余的区别。在 STEP7V5.3SP1 和 STEP7V5.4SP1 下如何进行模板 IO 冗余和通

道 IO 冗余的硬件组态、冗 余设置、STL 编程等。 关键词 STEP7 ,冗余 IO,模板 IO 冗余,通道 IO 冗余,组态 Key Words STEP7 ,Redundant IO,Module-oriented redundancy, Channel-oriented redundancy , Configuration

A&D Service & Support

Page 2-59





STEP7 下冗余 IO 编程................................................................................................................... 1 1.概述.......................................................................................................................................... 5 2.在 STEP7V5.3SP1 下冗余 IO 编程............................................................................................. 6 2.1 冗余模拟量输入 ....................................................................................................................... 6 2.1.1 示例系统的体系结构 ......................................................................................................... 6 2.1.2 组态 ............................................................................................................................... 8 2.1.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................... 8 2.1.2.2 AI 模件作冗余 IO 时的设置说明.............................................................................. 8 2.1.2.3 AI 模件属性中冗余设置........................................................................................... 9 2.1.2.4 AI 模件属性中的输入设置 ....................................................................................... 9 2.1.2.5 AI 模件属性中地址设置......................................................................................... 10 2.1.3 在 Blocks 中插入相应的组织块.................................................................................... 11 2.1.4 编程 ............................................................................................................................. 13 2.1.5 监视模件的钝化状态.................................................................................................... 19 2.2 冗余模拟量输出.................................................................................................................. 19 2.2.1 示例系统的体系结构.................................................................................................... 19 2.2.2 组态 ............................................................................................................................. 21 2.2.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................. 21 2.2.2.2 AO 模件属性中的输出设置 ................................................................................... 21 2.2.2.3 AO 模件属性中地址设置....................................................................................... 22 2.2.3 在 Blocks 中插入相应的组织块.................................................................................... 22 2.2.4 编程 ............................................................................................................................. 22 2.2.5 监视模件的钝化状态.................................................................................................... 23 2.3 冗余数字量输入.................................................................................................................. 23 2.3.1 示例系统的体系结构.................................................................................................... 23 2.3.2 组态 ............................................................................................................................. 25 2.3.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................. 25 2.3.2.2 使用 DI 模件作冗余 I/O 时的设置说明 .................................................................. 25 2.3.2.3 DI 模件属性中冗余设置 ........................................................................................ 26 2.3.2.4 DI 模件属性中的输入设置..................................................................................... 26 2.3.2.5 DI 模件属性中地址设置 ........................................................................................ 27 2.3.3 在 Blocks 中插入相应的组织块.................................................................................... 27 2.3.4 编程 ............................................................................................................................. 27 2.3.5 监视模件的钝化状态.................................................................................................... 28 2.4 冗余数字量输出.................................................................................................................. 28 2.4.1 示例系统的体系结构.................................................................................................... 28 2.4.2 组态 ............................................................................................................................. 30 2.4.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................. 30 2.4.2.2 DO 模件属性中的输出设置 ................................................................................... 30 2.4.2.3 DO 模件属性中地址设置....................................................................................... 30 2.4.3 在 Blocks 中插入相应的组织块.................................................................................... 30 2.4.4 编程 ............................................................................................................................. 31 2.4.5 监视模件的钝化状态.................................................................................................... 31 3.在 STEP7V5.4SP1 下冗余 IO 编程........................................................................................... 31 3.1 冗余模拟量输入.................................................................................................................. 33 3.1.1 示例系统的体系结构.................................................................................................... 33 3.1.2 组态 ............................................................................................................................. 34 A&D Service & Support Page 3-59

3.1.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................. 34 3.1.2.2 AI 模件作冗余 IO 时的设置说明............................................................................ 34 3.1.2.3 AI 模件属性中冗余设置......................................................................................... 35 3.1.2.4 AI 模件属性中的输入设置 ..................................................................................... 36 3.1.2.5 AI 模件属性中地址设置......................................................................................... 36 3.1.3 在 Blocks 中插入相应的组织块.................................................................................... 38 3.1.4 编程 ............................................................................................................................. 40 3.1.5 监视模件的钝化状态.................................................................................................... 47 3.2 冗余模拟量输出.................................................................................................................. 47 3.2.1 示例系统的体系结构.................................................................................................... 47 3.2.2 组态 ............................................................................................................................. 47 3.2.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................. 47 3.2.2.2 AO 模件属性中的输出设置 ................................................................................... 47 3.2.2.3 AO 模件属性中地址设置....................................................................................... 48 3.2.3 在 Blocks 中插入相应的组织块.................................................................................... 48 3.2.4 编程 ............................................................................................................................. 48 3.2.5 监视模件的钝化状态.................................................................................................... 48 3.3 冗余数字量输入.................................................................................................................. 49 3.3.1 示例系统的体系结构.................................................................................................... 49 3.3.2 组态 ............................................................................................................................. 49 3.3.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................. 49 3.3.2.2 使用 DI 模件作冗余 I/O 时的设置说明 .................................................................. 49 3.3.2.3 DI 模件属性中冗余设置 ........................................................................................ 50 3.3.2.4 DI 模件属性中的输入设置..................................................................................... 50 3.3.2.5 DI 模件属性中地址设置 ........................................................................................ 50 3.3.3 在 Blocks 中插入相应的组织块.................................................................................... 50 3.3.4 编程 ............................................................................................................................. 50 3.3.5 监视模件的钝化状态.................................................................................................... 51 3.4 冗余数字量输出.................................................................................................................. 51 3.4.1 示例系统的体系结构.................................................................................................... 51 3.4.2 组态 ............................................................................................................................. 52 3.4.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 .................................................. 52 3.4.2.2 DO 模件属性中的输出设置 ................................................................................... 52 3.4.2.3 DO 模件属性中地址设置....................................................................................... 53 3.4.3 在 Blocks 中插入相应的组织块.................................................................................... 53 3.4.4 编程 ............................................................................................................................. 53 3.4.5 监视模件的钝化状态.................................................................................................... 54 4.小结........................................................................................................................................ 54 5. 附表 ......................................................................................................................................... 57 附表 1 支持冗余 IO 的模块 ....................................................................................................... 57 附表 2 数字量输出模块内部集成/非集成二极管 ....................................................................... 58 附表 3 支持通道冗余 I/O 的模块............................................................................................... 58

A&D Service & Support

Page 4-59

1.概述 冗余 I/O 的定义: 当系统包含两套模块,且这些模块被组态为冗余对并作为冗余对操作时,即被视为冗余 I/O 模块。冗余 I/O 的使用提供了最高程度的冗余,因为系统既可以容许 CPU 故障,也可以容许 信号模块故障。 从 STEP7 V5.4 开始有两个 Redundant IO 库: 1、模块冗余库,(Redundant IO(V1)) 2、通道冗余库,(Redundant IO CGP ) 注意:两个冗余 IO 功能库在同一对 H CPU 中,不允许同时混合使用。 模板冗余 I/O 的原则: 冗余总是应用于整个模块,而不是单个通道。 当在第一个冗余模块上发生通道错误时,整个模块及其通道都切换到钝化状态。 当在第一个错误被消除和去钝化之前,如果在第二个模块上发生通道错误,则系统不能处理 第二个错误。 通道冗余 I/O 的原则: 通道错误,不管引起差异或诊断报警(OB82),都不会使整个模块钝化。而只会导致相关 的通道钝化。 通道钝化作用意味着提高了以下情况的实用性: 传感器经常发生故障的 检修耗时长的 一个模块上有几个通道故障的 支持 IO 冗余的模块 ,参见附表 1。 支持 IO 通道冗余的模块,参见附表 3。 模块冗余 I/O 的功能库:(Redundant IO V1) FB/FC Symbolic Version Author FB450 FB451 FB452 FB453 FC450 FC451 RED_IN RED_OUT RED_DIAG RED_STATUS RED_INIT RED_DEPA 1.3 1.1 1.3 1.0 1.0 1.2 RED_IO RED_IO RED_IO RED_IO RED_IO RED_IO

Remark 用于读取冗余输入的功能块 用于控制冗余输出的功能块 用于诊断冗余 I/O 的功能块 用于冗余状态信息的功能块 冗余 IO 初始化功能 冗余 IO 去钝化功能

A&D Service & Support

Page 5-59

通道冗余 I/O 的功能库:(Redundant IO CGP) FB/FC Symbolic Version Author FB450 FB451 FB452 FB453 FC450 FC451 RED_IN RED_OUT RED_DIAG RED_STATUS RED_INIT RED_DEPA 2.5 2.3 2.4 2.2 2.3 2.3 RED_IO_1 RED_IO_1 RED_IO_1 RED_IO_1 RED_IO_1 RED_IO_1

Remark 用于读取冗余输入的功能 块 用于控制冗余输出的功能 块 用于诊断冗余 I/O 的功能 块 用于冗余状态信息的功能 块 冗余 IO 初始化功能 冗余 IO 去钝化功能

2.在 STEP7V5.3SP1 下冗余 IO 编程 STEP7 V5.3 SP1 只支持模板 IO 冗余,不支持通道 IO 冗余。在 STEP7 V5.3SP1(STEP7V5.4 以前版本 )下只能调用 Redundant IO (V1)模板冗余功能库。 2.1 冗余模拟量输入 2.1.1 示例系统的体系结构 本示例是在 STEP7 V5.3 SP1 中实现冗余模拟量输入(AI), 其中模拟输入信号采用电压(10~10V), 见图 2-1 中电压测量形式。此例为 414-4H 系统下带两个 ET200M 站中 AI 模 件互为冗余。其它形式的冗余模拟量输入可参考此例。

图 2-1 冗余模拟输入接线示意图

A&D Service & Support

Page 6-59

图 2-2 冗余模拟电压输入外部信号接线图 外部信号接线参见图 2-2 。系统实际包含如下的硬件: 2 个 CPU 414-4H, 2 个 ET200M 站 2 个 AI 模件

CPU 414-4H IM153-2 AI8X12BIT

6ES7 41 4-4HJ00-0AB0 (v3.1.1)* 6ES7 153-2BA00-0XB0 6ES7 331-7KF02-0AB0**

备注:* CPU firmware 版本必须为 v3.1 以上。 ** 可用于冗余 I/O 的模件参见附表 1。

A&D Service & Support

Page 7-59

STEP7 软件版本必须 v5.2 SP1 以上,H 软件包版本必须 v5.2 SP1 以上。STEP7 v5.3 上版本自带 H 软件包。 2.1.2 组态 2.1.2.1 运行 SIMATIC MANAGER 并创建一个新的项目



组态一个 414-4H 站, 带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 AI 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。 2.1.2.2 AI 模件作冗余 IO 时的设置说明 应设定以下参数以组态模拟量输入模板冗余运行: 容差阈值(组态为测量范围最终数值的百分比) 如果两个模拟值都在容差阈值内则它们相等。 差异时间(冗余输入信号可以超出容差阈值的最大允许时间) 在组态的差异时间到后,如果还有输入数值的差异将出现故障。如果将同一传感器连 接到两个模拟量输入模板,差异时间的缺省设置通常即已足够.如果连接不同的传感器, 尤其是连接温度传感器时必须增加差异时间。 应用值 应用值是指输入到用户程序中的两个模拟量输入数值中的数值。系统将检查这两个模 拟值是否在组态的容差阈值内.如果在容差阈值内应用值将被写入输入过程映象的低 位数据存储区。如果存在差异并且是第一次差异, 将被标记并且差异时间开始启 动。在差异时间期间最近的有效值将被写入低位地址模板的过程映象中, 并应用于 当前过程。当差异时间到时, 具有组态标准值的模板将被声明有效, 其它模板被钝 化。如果两个模板中的最大值被组态为标准值,该数值将被用于进一步程序执行, 其 它模板被钝化。如果设定了最小值,该模板将最小值用于过程而具有最大值的模板被 钝化。不管何时被钝化的模板都将在诊断缓冲区里进行记录。如果在差异时间内差异 被中止,系统将继续分析冗余输入信号。 备注: 模板的去钝化钝化的模板可以由以下事件重新激活: 冗余系统启动 冗余系统切换到冗余运行模式 FB 452 ”RED_DIAG” 初始化后在系统切换到冗余运行 模式时去钝化。该功能需要在 OB 72(CPU 冗余错)调用,FB 452 ”RED_DIAG” 也需 要在 OB 82 (诊断中断),OB 83 (拔插中断), OB 85 (程序运行错)。确保冗余 I/O 功能 块的正确的操作。 在运行过程中修改系统参数。 当至少有一个冗余模板通过功能 FC 451 “RED DEPA” 解除钝化时。 当发生这些事件之一时, 去钝化将在 FB 450 “RED IN ” 中进行。在所有模板都去钝化后,将在 诊断缓冲区中记录。

A&D Service & Support

Page 8-59

2.1.2.3 AI 模件属性中冗余设置 通道的有效地址为低地址(512...527); 容差阈值 5%( 缺省), 即如果两个模拟值都在 容差阈值内则它们相等; 差异时间 1 秒( 缺省值 20 毫秒), 即两值不相等时间超过一 秒, 则问题模板钝化; 采用值“Lower value” ( 缺省), 即超过差异设定时间后采用较小值 作为测量值, 采样值较大的通道所在模板被钝化。如图 2-3 所示。

图 2-3 AI 模件冗余配置 2.1.2.4 AI 模件属性中的输入设置 对于有诊断能力的 AI 模件, 可根据需要选中“Diagnostic Interrupt“ 和相应的“Group Diagnostics“ 。此例中若输入类型为 1~5vDC 还可设定通道的断线检测。实际输入类型和输 入范围设定如图 2-4 所示。

A&D Service & Support

Page 9-59

图 2-4 2.1.2.5 AI 模件属性中地址设置 对于 AI 模件, 过程映像设定为过程映像区(OB1 PI)如图 2-5 所示。

图 2-5

A&D Service & Support

Page 10-59

2.1.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 如图 2-6 所 示。上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停机。

图 2-6 2.1.3.1 Redundant IO (V1)库函数及调用方法 FC 450 RED_INIT 初始化功能 用于在冗余系统启动过程中初始化 I/O 冗余。该功能可触发在 FB450 RED_IN 中执 行的完全钝化。 FC 451 RED_DEPA 触发去钝化 用于触发去钝化。在 OB83 中调用该功能, 可使修复后插入模件时自动去钝化。如 果没有其它模件钝化,该功能将立即结束。 FB 450 RED_IN 读取冗余输入功能块 用于读取冗余 I/O 的信号。 FB 451 RED_OUT 控制冗余输出功能块 用于输出冗余 I/O 的信号。 FB 452 RED_DIAG 冗余 I/O 诊断功能块 该功能块评估单独的错误处理和诊断组织块的开始信息, 以便提出相应的处理程序。 FB 453 RED_STATUS 冗余状态信息功能块 该功能块代表一个接口块并包含着模件的钝化信息。 参考下表在相应的 OB 块中调用对应的功能块。
A&D Service & Support Page 11-59

功能块调用 OB FC450 “RED_INIT” 1. OB72 CPU 冗余故障 FC450 只在事件发生后执行

B#16#33: 操作员进行主从切换 2. OB80 超时故障 FC450 只在启动事件 B#16#0A“ 重新设置恢复运行”后 执行 3. OB100 暖重启 4. OB102 冷重启 如果冗余 I/O 连接到处于单机模式的冗余 CPU 时,在 OB80 中调用 FC450 功能块. FC451“RED_DEPA” 当插入任一模块时,在 OB83 中调用 FC451, 可以使钝化模 块维修后自动解除钝化(可选)。OB86( 机架故障) 中调 用 FC451,可在 ET200M 掉电恢复后自动解钝 (可选)。 OB1 循环程序 OB30-OB38 定时中断 OB1 循环程序 OB30-OB38 定时中断 OB72 CPU 冗余中断

FB450“RED_IN” FB451“RED_OUT” FB452“RED_DIAG”

OB82 诊断中断 OB83 插拔中断 OB85 程序运行错 FB453“RED_STATUS” OB1 循环程序 OB30-OB38 定时中断

模板冗余 I/O 库函数所在如图 2-6 所示:

A&D Service & Support

Page 12-59

图 2-6 2.1.4 编程 用户程序和冗余 IO 功能调用应在相应的组织块中编制。 2.1.4.1 OB1( 循环程序) 中编程 图 2-7 为 OB1 中编写冗余 AO 用户程序示例。对于 RED_STATUS 功能块中的 IOID (B#16#54: 输入,B#16#55:输出) 和 LADDER( 低地址模板地址) 项输入应根据实际输 入/输出和地址来设置。 注意: 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。

A&D Service & Support

Page 13-59

图 2-7 2.1.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 如图 2-8、2-9 所示。

图 2-8

A&D Service & Support

Page 14-59

图 2-9 2.1.4.3 OB72(CPU 冗余故障)中编程 OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 如图 2-10 所示。

图 2-10

A&D Service & Support

Page 15-59

2.1.4.4 OB80( 超时故障)中编程 OB80 中应调用冗余初始化块 RED_INIT ,如图 2-11 所示。

图 2-11 2.1.4.5 OB82( 诊断中断)、OB83( 插拔中断)中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 如图 2-12、2-13 所示。当插入任一模块时,在 OB83 中调用 FC451,可使钝化模块维修后自动解除钝化(可 选)。

A&D Service & Support

Page 16-59

图 2-12

图 2-13 2.1.4.6 OB85( 程序运行错)中编程 OB85 中应调用冗余诊断块 RED_DIAG, 如图 2-14 所示。

A&D Service & Support

Page 17-59

图 2-14 2.1.4.7 OB86( 机架故障)中编程 OB86 中调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 如图 2-15 所示。这样, ET200M 掉电恢复后自动解钝 (可选)。

图 2-15

A&D Service & Support

Page 18-59

2.1.5 监视模件的钝化状态 通过监视 OB1 中冗余状态块 RED_STATUS 的“ACTIV_L ” 、“ACTIV_H” 的状态可以知道模 件的钝化状态(1: 正常,0 : 钝化),如图 2-16 所示。

图 2-16

2.2 冗余模拟量输出 2.2.1 示例系统的体系结构 本示例是在 STEP7 V5.3 SP1 中实现冗余模拟量输出(AO), 其中模拟输出信号采用电流 4~ 20mA( 带二极管), 见图 2-17 。此例为 414-4H 系统下带两个 ET200M 站中 AO 模件互 为冗余。其它形式的冗余模拟量输出可参考此例。

A&D Service & Support

Page 19-59

图 2-17 冗余模拟输出接线图

图 2-18 冗余模拟电流输出外部信号接线图 外部信号接线参见图 2-18 。系统实际包含如下的硬件: 2 个 CPU 414-4H, 2 个 ET200M 站 2 个 AO 模件

CPU 414-4H IM153-2 AO4X12BIT

6ES7 41 4-4HJ00-0AB0 (v3.1.1)* 6ES7 153-2BA00-0XB0 6ES7 332-5HD01-0AB0**

备注:* CPU firmware 版本必须为 v3.1 以上。 ** 可用于冗余 I/O 的模件参见附表 1。

A&D Service & Support

Page 20-59

备注:STEP7 软件版本必须 v5.2 SP1 以上,H 软件包版本必须 v5.2 SP1 以上。STEP7 v5.3 以上版本自带 H 软件包。 2.2.2 组态 2.2.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 组态一个 414-4H 站,带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 AO 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。 AO 模件属性中冗余设置如图 2-19 所示。通道的有效地址为低地址(512...519)。

图 2-19 AO 模件冗余配置 2.2.2.2 AO 模件属性中的输出设置 对于 AO 模件, 选中“Diagnostic Interrupt“ 和相应的“Group Diagnostics“, 设定输出类型和 输出范围如图 2-20 所示。

A&D Service & Support

Page 21-59

图 2-20

2.2.2.3 AO 模件属性中地址设置 对于 AO 模件,过程映像设定为过程映像区(OB1 PI), 参见 2.1.2.5 节图 2-5 所示。 2.2.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 参见 2.1.3 节图 2-6 所示。上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停 机。 2.2.3.1 “I/O 冗余”库函数及调用方法 参见 2.1.3.1 节。 2.2.4 编程 用户程序和冗余 IO 函数调用应在相应的组织块中编制。 2.2.4.1 OB1( 循环程序) 中编程 参见 2.1.4.1 节, 图 2-7 为 OB1 中编写冗余 AO 用户程序示例。对于 RED_STATUS 功能块 中的 IOID(B#16#54:输入,B#16#55:输出) 和 LADDER( 低地址模板地址) 项输入应根 据实际输入/输出和地址来设置。 注意, 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。 2.2.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 参见 2.1.4.2 节图 2-8、图 2-9。 2.2.4.3 OB72(CPU 冗余故障) 中编程
A&D Service & Support Page 22-59

OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 参见 2.1.4.3 节图 2-10 所示。 2.2.4.4 OB80( 超时故障) 中编程 OB80 中应调用冗余初始化块 RED_INIT, 参见 2.1.4.4 节图 2-11 所示。 2.2.4.5 OB82( 诊断中断) 、OB83( 插拔中断) 中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 2.1.4.5 节 图 2-12、2-13 所示。 2.2.4.6 OB85( 程序运行错) 中编程 OB85 中应调用冗余诊断块 RED_DIAG, 参见 2.1.4.6 节图 2-14 所示。 2.2.4.7 OB86( 机架故障) 中编程 OB86 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 2.1.4.7 节图 2-15 所示。 2.2.5 监视模件的钝化状态 通过监视 OB1 中冗余状态块 RED_STATUS 的“ ACTIV_L ” 、“ACTIV_H” 的状态可以知道模 件的钝化状态(1: 正常,0 : 钝化), 参见 2.1.5 节图 2-16 所示。

2.3 冗余数字量输入 2.3.1 示例系统的体系结构 本示例是在 STEP7 v5.3 SP1 中实现冗余数字量输入(DI), 其中数字输入信号采用电压 24V ( 带 18KO 断线检测电阻), 见图 2-21 。此例为 414-4H 系统下带两个 ET200M 站中 DI 模件互为冗余。其它形式的冗余数字量输入可参考此例。

图 2-21 冗余数字输入接线

A&D Service & Support

Page 23-59

图 2-22 冗余数字电压输入外部信号接线图 外部信号接线参见图 2-22 。 备注: 为探测断线状况, 必须接入 15~18kO 检测电阻。如图 2-23 所示。

图 2-23 系统实际包含如下的硬件: 2 个 CPU 414-4H, 2 个 ET200M 站 2 个 DI 模件

A&D Service & Support

Page 24-59

CPU 414-4H

6ES7 41 4-4HJ00-0AB0 (v3.1.1)* 6ES7 153-2BA00-0XB0 6ES7 321-7BH01-0AB0**

IM153-2 DI16XDC24V

备注:* CPU firmware 版本必须为 v3.1 以上。 ** 可用于冗余 I/O 的模件参见附表 1。

备注:STEP7 软件版本必须 v5.2 SP1 以上,H 软件包版本必须 v5.2 SP1 以上。STEP7 v5.3 以上版本自带 H 软件包。 2.3.2 组态 2.3.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 组态一个 414-4H 站, 带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 DI 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。

2.3.2.2 使用 DI 模件作冗余 I/O 时的设置说明: 组态数字量输入模板时应设定以下参数: 差异时间: 冗余输入信号可以不同的最大允许时间, 如果在组态的差异时间过 后输入数值仍存在差异说明信号已发生故障。 H 系统对输入数值差异的响应 首先检查成对冗余模板的输入信号是否匹配。如果数值匹配,统一的数值将被写入输 入过程映象的低位数据存储区。如果存在差异并且是首次存在差异, 将被标记并开 始差异计时。在差异时间期间,最近的匹配值(非差异值)将被写入低位地址模板的过程 映象中。该步骤将重复直到在差异时间内数值再次匹配或超出差异时间。如果在组态 的差异时间过后仍存在差异说明已发生故障,可根据以下策略查找故障页: 在差异时间期间最近的匹配值作为结果保留 一旦差异时间到显示以下出错报文错误代码 7960:” Redundant I/O: discrepancy time at digital input expired, error not yet localized” (冗余 I/O 数 字量输入差异时间到,还没有查到故障)。在静态出错映象中不能进行钝化和输 入。在出现下一信号变换之前, 应在差异时间到后进行组态的响应. 如果出现另一个信号变换,发生变换的模板将是正常模板,另一个模板将被钝 化。

A&D Service & Support

Page 25-59

备注: 模板的去钝化参见 2.1.2.2 节。 2.3.2.3 DI 模件属性中冗余设置 通道的有效地址为低地址(1...2)。差异时间 1S( 缺省 10 毫秒), 差异后的反应“Use last valid value”( 缺省), 表示冗余通道接受信号不一致时间超过 1 秒, 则采用前一个有 效值作为测量值。在下一次通道信号改变时, 则未发生改变的信号所在模板钝化, 如图 1-3 所示。

图 2-24 DI 模件冗余配置 2.3.2.4 DI 模件属性中的输入设置 对于 DI 模件, 选中“Diagnostic Interrupt“, 设定输入类型如图 2-25 所示。根据需要,可选 择通道信号变化时,在上升、下降沿时产生硬件中断。

A&D Service & Support

Page 26-59

图 2-25 2.3.2.5 DI 模件属性中地址设置 对于 DI 模件, 过程映像设定为过程映像区(OB1 PI), 参见 2.1.2.5 节图 2-5 所示。 2.3.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 参见 2.1.3 节图 2-6 所示。上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停 机。 2.3.3.1 “I/O 冗余”库函数及调用方法 参见 2.1.3.1 节。 2.3.4 编程 用户程序和冗余 IO 函数调用应在相应的组织块中编制。 2.3.4.1 OB1( 循环程序) 中编程 参见 2.1.4.1 节, 图 2-7 为 OB1 中编写冗余 AO 用户程序示例。对于 RED_STATUS 功能块 中的 IOID(B#16#54:输入,B#16#55:输出) 和 LADDER( 低地址模板地址) 项输入应根 据实际输入/输出和地址来设置。 注意, 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。 2.3.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 参见 2.1.4.2 节图 2-8、图 2-9。 2.3.4.3 OB72(CPU 冗余故障) 中编程
A&D Service & Support Page 27-59

OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 参见 2.3.4.3 节图 2-10 所示。 2.3.4.4 OB80( 超时故障) 中编程 OB80 中应调用冗余初始化块 RED_INIT, 参见 2.1.4.4 节图 2-11 所示。 2.3.4.5 OB82( 诊断中断) 、OB83( 插拔中断) 中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 2.1.4.5 节 图 2-12、2-13 所示。 2.3.4.6 OB85( 程序运行错) 中编程 OB85 中应调用冗余诊断块 RED_DIAG, 参见 2.1.4.6 节图 2-14 所示。 2.3.4.7 OB86( 机架故障) 中编程 OB86 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 2.1.4.7 节图 2-15 所示。 2.3.5 监视模件的钝化状态 通过监视 OB1 中冗余状态块 RED_STATUS 的“ACTIV_L” 、“ACTIV_H” 的状态可以知道模 件的钝化状态(1: 正常,0: 钝化), 参见 2.1.5 节图 2-16 所示。

2.4 冗余数字量输出 2.4.1 示例系统的体系结构 本示例是在 STEP7 v5.3 SP1 中实现冗余数字量输出(DO), 其中数字输出信号采用电压 24V( 有二极管连接*), 见图 2-26 。此例为 414-4H 系统下带两个 ET200M 站中 DO 模件 互为冗余。其它形式的冗余数字量输出可参考此例。 备注:*模件是否需要外部二极管连接参见附表 2。

图 2-26 冗余数字输入接线图

A&D Service & Support

Page 28-59

2-27 冗余数字电压输出外部信号接线图 外部信号接线参见图 2-27 。系统实际包含如下的硬件: 2 个 CPU 414-4H, 2 个 ET200M 站 2 个 DO 模件

CPU 414-4H IM153-2 DO8XDC24V/2A

6ES7 41 4-4HJ00-0AB0 (v3.1.1)* 6ES7 153-2BA00-0XB0 6ES7 322-1BF01-0AA0**

备注:* CPU firmware 版本必须为 v3.1 以上。 ** 可用于冗余 I/O 的模件参见附表 1。

备注:STEP7 软件版本必须 v5.2 SP1 以上,H 软件包版本必须 v5.2 SP1 以上。STEP7 v5.3 以上版本自带 H 软件包。
A&D Service & Support Page 29-59

2.4.2 组态 2.4.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 组态一个 414-4H 站, 带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 DO 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。 DO 模件属性中冗余设置如图 2-28 所示。通道的有效地址为低地址(0...0)。

图 2-28 DO 模件冗余配置 2.4.2.2 DO 模件属性中的输出设置 对于该 DI 模件(322-1BF01-0AA0), 无此项设定。 2.4.2.3 DO 模件属性中地址设置 对于 DO 模件, 过程映像设定为过程映像区(OB1 PI), 参见 2.1.2.5 节图 2-5 所示。 在 CPU 属性中设定 OB35 的过程映像分区与 DI 模件中定义的一致。 2.4.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 参见 2.1.3 节图 2-6 所示。上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停 机。 2.4.3.1 “I/O 冗余”库函数及调用方法
A&D Service & Support Page 30-59

同 2.1.3.1 节。 2.4.4 编程 2.4.4.1 OB1( 循环程序) 中编程 用户程序和冗余 IO 函数调用应在相应的组织块中编制。 参见 2.1.4.1 节, 图 2-7 为 OB1 中编写冗余 AO 用户程序示例。对于 RED_STATUS 功能块 中的 IOID(B#16#54:输入,B#16#55:输出) 和 LADDER( 低地址模板地址) 项输入应根 据实际输入/输出和地址来设置。 注意, 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。 2.4.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 参见 2.1.4.2 节图 2-8、图 2-9。 2.4.4.3 OB72(CPU 冗余故障) 中编程 OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 参见 2.1.4.3 节图 2-10 所示。 2.4.4.4 OB80( 超时故障) 中编程 OB80 中应调用冗余初始化块 RED_INIT, 参见 2.1.4.4 节图 2-11 所示。 2.4.4.5 OB82( 诊断中断) 、OB83( 插拔中断) 中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 2.1.4.5 节 图 2-12、2-13 所示。 2.4.4.6 OB85( 程序运行错) 中编程 OB85 中应调用冗余诊断块 RED_DIAG, 参见 2.1.4.6 节图 2-14 所示。 2.4.4.7 OB86( 机架故障) 中编程 OB86 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 2.1.4.7 节图 2-15 所示。 2.4.5 监视模件的钝化状态 通过监视 OB1 中冗余状态块 RED_STATUS 的“ACTIV_L” 、“ACTIV_H ”的状态可以知道模 件的钝化状态( 1: 正常, 0: 钝化), 参见 2.1.4 节图 2-16 所示。

3.在 STEP7V5.4SP1 下冗余 IO 编程 从 STEP7 V5.4 开始, 既支持模块 IO 冗余,也支持通道 IO 冗余。本节主要介绍在 STEP7V5.4 下通道 IO 冗余的编程方法。 模块 IO 冗余与通道 IO 冗余的编程方法完全相同,区别在于模块 IO 冗余调用的是 Redundant IO(V1)功能库,而通道 IO 冗余调用的是 Redundant IO CGP 功能库。在同一个 CPU 程序中,两种功能库不能混合使用。 系统实际包含如下的硬件:
A&D Service & Support Page 31-59

2 个 CPU 414-4H, 2 个 ET200M 站 2 个 AI 模件 2 个 AO 模件 2 个 DI 模件 2 个 DO 模件 具体型号如下表: CPU414-4H IM153-2
AI 8x 16bit AO 8x 12 bit DI 16x 24 V DC, interrupt

6ES7 414-4HJ04-0AB0(V4.0.10) 6ES7 153-2BA00-0XB0 6ES7 331-7NF00-0AB0 6ES7 332-5HF00-0AB0 6ES7 321-7BH01-0AB0 6ES7 322-8BH01-0AB0

DO 8x 24 V/0.5 A DC

H-CPU 组态,如图 3-1 所示 ,系统默认 Data block no:1 and 2,则 DB1 和 DB2 为系统内 部保留 使用,用户自定义的 DB 块不能使用,否则会引起 CPU 内部故障,甚至造成系统停 机。用户也可以根据实际情况对 Data block no 的设置进行更改。

A&D Service & Support

Page 32-59

图 3-1

3.1 冗余模拟量输入 3.1.1 示例系统的体系结构 本示例是在 STEP7 V5.4 SP1 中实现冗余模拟量输入(AI), 其中模拟输入信号采用电压 (0~5V), 见图 3-2 中电压测量形式。此例为 414-4H 系统下带两个 ET200M 站中 AI 模 件互为冗余。

A&D Service & Support

Page 33-59

图 3-2 冗余模拟输入接线示意图 STEP7 软件版本必须 V5.4 以上, 3.1.2 组态 3.1.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 组态一个 414-4H 站, 带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 AI 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。 3.1.2.2 AI 模件作冗余 IO 时的设置说明 应设定以下参数以组态模拟量输入模板冗余运行: 容差阈值(组态为测量范围最终数值的百分比) 如果两个模拟值都在容差阈值内则它们相等。 差异时间(冗余输入信号可以超出容差阈值的最大允许时间) 在组态的差异时间到后,如果还有输入数值的差异将出现故障。如果将同一传感器连 接到两个模拟量输入模板,差异时间的缺省设置通常即已足够.如果连接不同的传感器, 尤其是连接温度传感器时必须增加差异时间。 应用值 应用值是指输入到用户程序中的两个模拟量输入数值中的数值。系统将检查这两个模 拟值是否在组态的容差阈值内.如果在容差阈值内应用值将被写入输入过程映象的低 位数据存储区。如果存在差异并且是第一次差异, 将被标记并且差异时间开始启 动。在差异时间期间最近的有效值将被写入低位地址模板的过程映象中, 并应用于 当前过程。当差异时间到时, 具有组态标准值的模板将被声明有效, 其它模板被钝 化。如果两个模板中的最大值被组态为标准值,该数值将被用于进一步程序执行, 其 它模板被钝化。如果设定了最小值,该模板将最小值用于过程而具有最大值的模板被 钝化。不管何时被钝化的模板都将在诊断缓冲区里进行记录。如果在差异时间内差异 被中止,系统将继续分析冗余输入信号。
A&D Service & Support Page 34-59

备注: 通道的去钝化 钝化的通道可以由以下事件重新激活: 冗余系统启动 冗余系统切换到冗余运行模式 FB 452 ”RED_DIAG” 初始化后在系统切换到冗余运行 模式时去钝化。该功能需要在 OB 72(CPU 冗余错)调用,FB 452 ”RED_DIAG” 也需 要在 OB 82 (诊断中断),OB 83 (拔插中断), OB 85 (程序运行错)。确保冗余 I/O 功能 块的正确的操作。 在运行过程中修改系统参数。 当至少有一个冗余通道通过功能 FC 451 “RED_DEPA” 解除钝化时。 当发生这些事件之一时, 去钝化将在 FB 450 “RED_IN ” 中进行。在所有通道都去钝化后,将在 诊断缓冲区中记录。 3.1.2.3 AI 模件属性中冗余设置 通道的有效地址为低地址(512...527); 容差阈值 5%( 缺省), 即如果两个模拟值都在 容差阈值内则它们相等; 差异时间 1 秒( 缺省值 20 毫秒), 即两值不相等时间超过一 秒, 则问题通道钝化; 采用值“Lower value” ( 缺省), 即超过差异设定时间后采用较小值 作为测量值, 采样值较大的通道被钝化。如图 3-3 所示。

图 3-3 AI 模件冗余配置

A&D Service & Support

Page 35-59

3.1.2.4 AI 模件属性中的输入设置 对于有诊断能力的 AI 模件, 可根据需要选中“Diagnostic Interrupt“ 和相应的“Group Diagnostics“ 。此例中若输入类型为 1~5vDC 还可设定通道的断线检测。实际输入类型和输 入范围设定如图 3-4 所示。

图 3-4 3.1.2.5 AI 模件属性中地址设置 对于 AI 模件, 过程映像设定为过程映像区(PIP1)如图 3-5 所示。

A&D Service & Support

Page 36-59

图 3-5 在 CPU 属性中设定 OB3x 的过程映像分区与 AI 模件中定义的一致(OB3x 由用户冗余程序 所在中断 OB 决定),本例中用户冗余程序放在 OB35 中,所以设置 OB35 的过程映象分区 为 PIP1,如图 3-6,

A&D Service & Support

Page 37-59

图 3-6 3.1.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 如图 3-7 所 示。上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停机。

图 3-7
A&D Service & Support Page 38-59

3.1.3.1 Redundant IO CGP 库函数及调用方法 FC 450 RED_INIT 初始化功能 用于在冗余系统启动过程中初始化 I/O 冗余。该功能可触发在 FB450 RED_IN 中执 行的完全钝化。 FC 451 RED_DEPA 触发去钝化 用于触发去钝化。在 OB83 中调用该功能, 可使修复后插入模件时自动去钝化。如 果没有其它模件钝化,该功能将立即结束。 FB 450 RED_IN 读取冗余输入功能块 用于读取冗余 I/O 的信号。 FB 451 RED_OUT 控制冗余输出功能块 用于输出冗余 I/O 的信号。 FB 452 RED_DIAG 冗余 I/O 诊断功能块 该功能块评估单独的错误处理和诊断组织块的开始信息, 以便提出相应的处理程序。 FB 453 RED_STATUS 冗余状态信息功能块 该功能块代表一个接口块并包含着模件的钝化信息。 参考下表在相应的 OB 块中调用对应的功能块。 功能块调用 OB FC450 “RED_INIT” 1. OB72 CPU 冗余故障 FC450 只在事件发生后执行

B#16#33: 操作员进行主从切换 2. OB80 超时故障 FC450 只在启动事件 B#16#0A“ 重新设置恢复运行”后 执行 3. OB100 暖重启 4. OB102 冷重启 如果冗余 I/O 连接到处于单机模式的冗余 CPU 时,在 OB80 中调用 FC450 功能块. FC451“RED_DEPA” 当插入任一模块时,在 OB83 中调用 FC451, 可以使钝化模 块维修后自动解除钝化(可选)。OB86( 机架故障) 中调 用 FC451,可在 ET200M 掉电恢复后自动解钝 (可选)。 OB1 循环程序 OB30-OB38 定时中断 OB1 循环程序 OB30-OB38 定时中断

FB450“RED_IN” FB451“RED_OUT”

A&D Service & Support

Page 39-59

FB452“RED_DIAG”

OB72 CPU 冗余中断

OB82 诊断中断 OB83 插拔中断 OB85 程序运行错 FB453“RED_STATUS” OB1 循环程序 OB30-OB38 定时中断

通道 I/O 冗余库函数(Redundant IO CGP)所在如图 3-8 所示:

图 3-8 3.1.4 编程 用户程序和冗余 IO 功能调用应在相应的组织块中编制。 3.1.4.1 OB35( 循环程序) 中编程 图 3-9 为 OB35 中编写冗余 AI 用户程序示例。对于 RED_STATUS 功能块中输入输出接口 的说明,可以参考下表,详细信息参考 Step7 在线帮助。 注意: 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。

A&D Service & Support

Page 40-59

图 3-9 Parameter IOID LADDR ACTIV_L Declaration INPUT INPUT OUTPUT Data type Byte WORD BOOL Comment 输入输出地址 模板地址 低地址模板状态 Description 输入 B#16#54 输出 B#16#55 冗余模板低地址 低地址模板输出状态 0:钝化 1:正常 高地址模板输出状态 0:钝化 1:正常 低地址模板通道状态 0:至少有一个通道被钝化 1:正常 高地址模板通道状态 0:至少有一个通道被钝化 1:正常 低地址模板通道输出状态 0:通道 X 钝化 1:通道 X 正常
Page 41-59

ACTIV_H

OUTPUT

BOOL

高地址模板状态

CH_L

OUTPUT

BOOL

低地址模板通道 状态 高地址模板通道 状态 DW#16#FFFF FFFF

CH_H

OUTPUT

BOOL

CH_INF_L

OUTPUT

DWORD

A&D Service & Support

CH_INF_H

OUTPUT

DWORD

DW#16#FFFF FFFF

高地址模板通道输出状态 0:通道 X 钝化 1:通道 X 正常

3.1.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 如图 3-10、3-11 所示。

图 3-10

A&D Service & Support

Page 42-59

图 3-11

3.1.4.3 OB72(CPU 冗余故障) 中编程 OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 如图 3-12 所示。

图 3-12
A&D Service & Support Page 43-59

3.1.4.4 OB80( 超时故障)中编程 OB80 中应调用冗余初始化块 RED_INIT ,如图 3-13 所示。

图 3-13 3.1.4.5 OB82( 诊断中断)、OB83( 插拔中断)中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 如图 3-14、3-15 所示。当插入任一模块时,在 OB83 中调用 FC451,可使钝化模块维修后自动解除钝化(可 选)。

A&D Service & Support

Page 44-59

图 3-14

图 3-15 3.1.4.6 OB85( 程序运行错)中编程 OB85 中应调用冗余诊断块 RED_DIAG, 如图 3-16 所示。

A&D Service & Support

Page 45-59

图 3-17 3.1.4.7 OB86( 机架故障)中编程 OB86 中调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 如图 2-15 所示。这样, ET200M 掉电恢复后自动解钝 (可选)。

图 3-18

A&D Service & Support

Page 46-59

3.1.5 监视模件的钝化状态 通过监视 OB35 中冗余状态块 RED_STATUS 的“ACTIV_L ” 、“ACTIV_H” 的状态可以知道 整个模件的钝化状态(1: 正常,0 : 钝化);通过监视“CH_L”,“CH_H”的状态可以知道模 板上是否有通道被钝化;通过监视“CH_INF_L”,“CH_INF_H”的状态可以知道模板上具体某一 个通道被钝化。

3.2 冗余模拟量输出 3.2.1 示例系统的体系结构 本示例是在 STEP7 V5.4 SP1 中实现冗余模拟量输出(AO), 其中模拟输出信号采用电流 4~ 20mA( 带二极管), 见图 3-17 。此例为 414-4H 系统下带两个 ET200M 站中 AO 模件互 为冗余。

图 3-19 冗余模拟输出接线图

备注:STEP7 软件版本必须 V5.4 以上 3.2.2 组态 3.2.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 组态一个 414-4H 站,带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 AO 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。 3.2.2.2 AO 模件属性中的输出设置 对于 AO 模件,选中“Diagnostic Interrupt“ 和相应的“Group Diagnostics“, 设定输出类型和 输出范围。参见 2.2.2.2 节

A&D Service & Support

Page 47-59

3.2.2.3 AO 模件属性中地址设置 对于 AO 模件,过程映像设定为过程映像区(PIP1), 参见 3.1.2.5 节图 3-5 所示。 3.2.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 参见 3.1.3 节图 3-7 所示。上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停 机。 3.2.3.1 “I/O 冗余”库函数及调用方法 参见 3.1.3.1 节。 3.2.4 编程 用户程序和冗余 IO 函数调用应在相应的组织块中编制。 3.2.4.1 OB35( 循环程序) 中编程 参见 3.1.4.1 节 注意, 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。 3.2.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 参见 3.1.4.2 节图 3-10、图 3-11。 3.2.4.3 OB72(CPU 冗余故障) 中编程 OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 参见 3.1.4.3 节图 3-12 所示。 3.2.4.4 OB80( 超时故障) 中编程 OB80 中应调用冗余初始化块 RED_INIT, 参见 3.1.4.4 节图 3-13 所示。 3.2.4.5 OB82( 诊断中断) 、OB83( 插拔中断) 中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 3.1.4.5 节 图 3-14、3-15 所示。 3.2.4.6 OB85( 程序运行错) 中编程 OB85 中应调用冗余诊断块 RED_DIAG, 参见 3.1.4.6 节图 3-16 所示。 3.2.4.7 OB86( 机架故障) 中编程 OB86 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 3.1.4.7 节图 3-17 所示。 3.2.5 监视模件的钝化状态 通过监视 OB35 中冗余状态块 RED_STATUS 的“ACTIV_L ” 、“ACTIV_H” 的状态可以知道 整个模件的钝化状态(1: 正常,0 : 钝化);通过监视“CH_L”,“CH_H”的状态可以知道模 板上是否有通道被钝化;通过监视“CH_INF_L”,“CH_INF_H”的状态可以知道模板上具体某一 个通道被钝化。

A&D Service & Support

Page 48-59

3.3 冗余数字量输入 3.3.1 示例系统的体系结构 本示例是在 STEP7 v5.4 SP1 中实现冗余数字量输入(DI), 其中数字输入信号采用电压 24V 见图 3-21 。此例为 414-4H 系统下带两个 ET200M 站中 DI 模件互为冗余。其它形式的冗余 数字量输入可参考此例。

图 3-21 冗余数字输入接线

备注:STEP7 软件版本必须 v5.4 以上 CPU firmware 版本必须为 v3.1 以上 3.3.2 组态 3.3.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 组态一个 414-4H 站, 带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 DI 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。

3.3.2.2 使用 DI 模件作冗余 I/O 时的设置说明: 组态数字量输入模板时应设定以下参数: 差异时间: 冗余输入信号可以不同的最大允许时间, 如果在组态的差异时间过 后输入数值仍存在差异说明信号已发生故障。 H 系统对输入数值差异的响应 首先检查成对冗余模板的输入信号是否匹配。如果数值匹配,统一的数值将被写入输 入过程映象的低位数据存储区。如果存在差异并且是首次存在差异, 将被标记并开 始差异计时。在差异时间期间,最近的匹配值(非差异值)将被写入低位地址模板的过程

A&D Service & Support

Page 49-59

映象中。该步骤将重复直到在差异时间内数值再次匹配或超出差异时间。如果在组态 的差异时间过后仍存在差异说明已发生故障,可根据以下策略查找故障页: 在差异时间期间最近的匹配值作为结果保留 一旦差异时间到显示以下出错报文错误代码 7960:” Redundant I/O:discrepancy time at digital input expired, error not yet localized” (冗余 I/O 数字量输入差异时间到,还没有查到故障)。在静态出错映象中不能进行钝 化和输入。在出现下一信号变换之前, 应在差异时间到后进行组态的响应. 如果出现另一个信号变换,发生变换的通道将是正常通道,另一个通道将被钝 化。

备注: 通道的去钝化参见 3.1.2.2 节。 3.3.2.3 DI 模件属性中冗余设置 通道的有效地址为低地址(1...2)。差异时间 1S( 缺省 10 毫秒), 差异后的反应“Use last valid value”( 缺省), 表示冗余通道接受信号不一致时间超过 1 秒, 则采用前一个有 效值作为测量值。在下一次通道信号改变时, 则未发生改变的信号所在模板钝化。 3.3.2.4 DI 模件属性中的输入设置 对于 DI 模件, 选中“Diagnostic Interrupt“ 和相应的“Wire break“, 设定输入类型。根据需 要,可选择通道信号变化时,在上升、下降沿时产生硬件中断。 3.3.2.5 DI 模件属性中地址设置 对于 DI 模件, 过程映像设定为过程映像区(PIP1), 参见 3.1.2.5 节图 3-5 所示。 3.3.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 参见 3.1.3 节图 3-7 所示。上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停 机。 3.3.3.1 “I/O 冗余”库函数及调用方法 参见 3.1.3.1 节。 3.3.4 编程 用户程序和冗余 IO 函数调用应在相应的组织块中编制。 3.3.4.1 OB35( 循环程序) 中编程 参见 3.1.4.1 节 注意, 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。 3.3.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 参见 3.1.4.2 3.3.4.3 OB72(CPU 冗余故障) 中编程
A&D Service & Support Page 50-59

OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 参见 3.1.4.3 节。 3.3.4.4 OB80( 超时故障) 中编程 OB80 中应调用冗余初始化块 RED_INIT, 参见 3.1.4.4 节。 3.3.4.5 OB82( 诊断中断) 、OB83( 插拔中断) 中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 3.1.4.5 节。 3.3.4.6 OB85( 程序运行错) 中编程 OB85 中应调用冗余诊断块 RED_DIAG, 参见 3.1.4.6 节图 2-14 所示。 3.3.4.7 OB86( 机架故障) 中编程 OB86 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 3.1.4.7 节。 3.3.5 监视模件的钝化状态 参见 3.1.5 节。

3.4 冗余数字量输出 3.4.1 示例系统的体系结构 本示例是在 STEP7 v5.4SP1 中实现冗余数字量输出(DO), 其中数字输出信号采用电压 24V, 见图 3-22 。此例为 414-4H 系统下带两个 ET200M 站中 DO 模件互为冗余。 备注:*模件是否需要外部二极管连接参见附表 2。

图 3-22 冗余数字输入接线图

备注:STEP7 软件版本必须 v5.4 以上 * CPU firmware 版本必须为 v3.1 以上
A&D Service & Support Page 51-59

3.4.2 组态 3.4.2.1 运行 SIMATIC MANAGER 并创建一个新的项目 组态一个 414-4H 站, 带两个 ET200M 站其 Profibus-DP 地址分别是 3 和 4, 每个站中各有 一块 DO 模件, 具体订货号已在前面列出。 注意: 在使用冗余 I/O 时, 应将 HW-Config>CPU41x-H>Cycle/ Clock Memory>OB85-Call Up at I/O Access Error: 设定为:“Only for incoming and outgoing errors” 。 DO 模件属性中冗余设置如图 3-23 所示。通道的有效地址为低地址(0...1)。

图 3-23 DO 模件冗余配置 3.4.2.2 DO 模件属性中的输出设置 对于 DO 模件, 选中“Diagnostic Interrupt“ 和相应的“Group Diagnostics“,如图 3-24 所示。

A&D Service & Support

Page 52-59

图 3-24 3.4.2.3 DO 模件属性中地址设置 对于 DO 模件, 过程映像设定为过程映像区(PIP1)。 在 CPU 属性中设定 OB35 的过程映像分区与 DI 模件中定义的一致。 3.4.3 在 Blocks 中插入相应的组织块 OB70,OB72,OB80,OB82,OB83,OB85,OB86,OB87,OB88,OB121,OB122 , 参见 3.1.3 节。 上述错误处理组织块务必加入, 否则相应错误一旦发生, 将导致冗余 CPU 停机。 3.4.3.1 “I/O 冗余”库函数及调用方法 同 3.1.3.1 节。 3.4.4 编程 3.4.4.1 OB35( 循环程序) 中编程 用户程序和冗余 IO 函数调用应在相应的组织块中编制。 参见 3.1.4.1 节 注意, 程序中的冗余功能块调用类型、顺序和用户程序输入位置必须与示例中的一致。即按 照 RED_IN 、RED_STATUS、用户程序、RED_OUT 的调用顺序。 3.4.4.2 OB100( 暖重启) 、OB102( 冷重启) 中编程 OB100、 OB102 中应调用冗余初始化块 RED_INIT, 参见 3.1.4.2 节。 3.4.4.3 OB72(CPU 冗余故障) 中编程
A&D Service & Support Page 53-59

OB72 中应调用冗余初始化块 RED_INIT 和冗余诊断块 RED_DIAG, 参见 3.1.4.3 节。 3.4.4.4 OB80( 超时故障) 中编程 OB80 中应调用冗余初始化块 RED_INIT, 参见 3.1.4.4 节。 3.4.4.5 OB82( 诊断中断) 、OB83( 插拔中断) 中编程 OB82、OB83 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 3.1.4.5 节。 3.4.4.6 OB85( 程序运行错) 中编程 OB85 中应调用冗余诊断块 RED_DIAG, 参见 3.1.4.6 节。 3.4.4.7 OB86( 机架故障) 中编程 OB86 中应调用冗余诊断块 RED_DIAG 和冗余去钝块 RED_DEPA, 参见 3.1.4.7 节。 3.4.5 监视模件的钝化状态 参见 3.1.5 节图 2-16 所示。

4.小结

必须在输入或输出的过程映像中安装冗余模块,并始终使用相关的过程映像进行访 问。 使用冗余模块时,从“HW Config -> CPU 41x-H 属性”Cycle/Clock Memory”,然后设 置下列参数:“OB 85 调用 I/O 访问的错误-> 只有进入和离开的错误”。 如图 4-1

A&D Service & Support

Page 54-59

图 4-1 系统实际需要用来确定差异的时间取决于多个因素:总线传输时间、用户程序的周期 和调用时间、转换时间等。因此,冗余输入信号可能比已组态差异时间中的误差要 长。 使用对应的冗余 IO 功能库。 模板 IO 冗余 ,使用 Redundant IO(V1)库 通道 IO 冗余,使用 Redundant IO CGP 库 在同一个 CPU 下,只能使用一种功能库,不能混合使用。

STEP 7 V5.4 中的 H CPU 参数设置 在 STEP7V5.4 中,没有 Passivation behavior 的选项。具体为模板 IO 冗余还是通 道 IO 冗余,完全由模板的类型和程序调用的功能库决定。图 4-2

A&D Service & Support

Page 55-59

图 4-2 注意:Data block no:1 and 2 ,表示如果如果使用模板 IO 冗余或者通道 IO 冗余,那么 DB1 和 DB2 为系统保留使用,不能将其作为用户自定义的 DB 块,否则会引起系统内部错 误,甚至造成 CPU 停机。 为模板分配相应的输入输出映像区(PIP1,PIP2),为用户程序所在的中断 OB 分配 与之对应的输入输出映象区。

A&D Service & Support

Page 56-59

5. 附表 附表 1 支持冗余 IO 的模块
Redundant DI, centralized DI 16x 24V DC, interrupt DI 32x 24V DC DC DI 32x 120V UC Redundant DI, distributed DI 24x 24 V DC DI 8x NAMUR [EEx ib] DI 16x 24 V DC, interrupt DI 16x 24 V DC DI 32x 24 V DC DI 16x 24 V DC, interrupt DI 8x 230V AC DI 16x Namur DI 4x Namur Redundant AI, centralized: AI 6x 16bit AI 6x 13bit Redundant AI, centralized: AI 8x 12bit AI 8x 16bit AI 4x 15bit Redundant DO, centralized: DO 32x 24V/0.5A DC DO 16x 120/230V/2A AC Redundant DO, distributed: DO 10x 24 V/2 A DC DO 32x 24 V/0.5 A DC DO 8x 24 V/2 A DC DO 8x 24 V/0.5 A DC DO 8x 230 V/2 A AC DO 16x 24 V/0.5 A DC DO 16x 24 V/10 nA (Ex) Redundant AO, centralized: A&D Service & Support Page 57-59 6ES7 326-2BF00-0AB0 6ES7 322-1BL00-0AA0 6ES7 322-1BF01-0AA0 6ES7 322-8BF00-0AB0 6ES7 322-1FF01-0AA0 6ES7 322-8BH00-0AB0 6ES7 322-5SD00-0AB0 6ES7 422-7BL00-0AB0 6ES7 422-1FH00-0AA0 6ES7 331-7KF02-0AB0 6ES7 331-7NF00-0AB0 6ES7 331-7RD00-0AB0 6ES7 431-7QH00-0AB0 6ES7 336-1HE00-0AB0 6ES7 326-1BK00-0AB0 6ES7 326-1RF00-0AB0 6ES7 321-7BH00-0AB0 6ES7 321-1BH02-0AA0 6ES7 321-1BL00-0AA0 6ES7 321-7BH01-0AB0 6ES7 321-1FF01-0AA0 6ES7 321-7TH00-0AB0 6ES7 321-7RD00-0AB0 6ES7 421-7BH01-0AB0 6ES7 421-1BL0x-0AA0 6ES7 421-1EL00-0AA0

Redundant AO, distributed: AO 4x 12 bit AO 8x 12 bit AO 4x 15 bit AO 8x 12bit 6ES7 332-5HD01-0AB0 6ES7 332-5HF00-0AB0 6ES7 332-5RD00-0AB0 6ES7 332-5HF00-0AB0

附表 2 数字量输出模块内部集成/非集成二极管 Modules 6ES7 422-7BL00-0AB0 6ES7 422-1FH00-0AA0 6ES7 326-2BF01-0AB0 6ES7 322-1BL00-0AA0 6ES7 322-1BF01-0AA0 6ES7 322-8BF00-0AB0 6ES7 322-1FF01-0AA0 6ES7 322-8BH00-0AB0 6ES7 322-5SD00-0AB0 With diodes x Without diodes

x x

x x x x

x x x

x

-

附表 3 支持通道冗余 I/O 的模块 Digital modules 6ES7 321-7BH01 6ES7 322-8BH01 Analog modules 6ES7 331-7NF00 6ES7 332-5HF00 Digital fail-safe modules To be announced

DI16 with interrupt capability DO16 AI 8x16 AO 8x12

Channel groups Channel groups

A&D Service & Support

Page 58-59

附录-推荐网址

AS 西门子(中国)有限公司 自动化与驱动集团 客户服务与支持中心 网站首页:http://www.ad.siemens.com.cn/Service/ 专家推荐精品文档:http://www.ad.siemens.com.cn/Service/recommend.asp AS常问问题:http://support.automation.siemens.com/CN/view/zh/10805055/133000 AS更新信息:http://support.automation.siemens.com/CN/view/zh/10805055/133400 “找答案”AS版区:http://www.ad.siemens.com.cn/service/answer/category.asp?cid=1027

A&D Service & Support

Page 59-59


相关文章:
S7-400冗余系统基础
暂无评价|0人阅读|0次下载|举报文档 S7-400冗余系统...技术支持与服务/互动社区/网上课堂/可编程控制器(...1 配置要求 下面条件必须满足: 软件:STEP 7 和 ...
第7章 软冗余
第七章 软件冗余的原理和配置 7.1 软件冗余基本信息介绍软件冗余是 Siemens ...300冗余 19页 免费 STEP 7 下冗余IO编程 36页 免费©2014 Baidu 使用百度前...
S7-400冗余系统组态
2、软件: STEP 7 V5.3 SP2 标准版(已集成冗余...(5)将编程器连到第一个容错 CPU(CPU0)上,此 ...STEP7 中新建一个项目,在 Insert 菜单下的 Station...
S7-400冗余系统组态
软件: STEP 7 V5.3 SP2 标准版(已集成冗余选件...(5)将编程器连到第一个容错 CPU(CPU0)上,此 ...STEP7 中新建一个项目,在 Insert 菜单下的 Station...
S7-400高级冗余
STEP 7 V5.4.4.6 (STEP 7 V5.4 SP4 Hotfix6 ...IO 分配表 五、S7-400H 站冗余系统功能测试 S7...编写程序 2.4 编写完控制程序,将该程序下载到 PLC ...
S7-300软冗余调试总结
冗余软件 STEP7 V5.4 编程软 WINCC 6.2SP3 概述:本系统 2 个 315-2DP CPU 通过 CP343-1 连接到以太网交换机实现冗余链路,用 DP 通讯的 IM153-2 冗余...
S7S7-400冗余系统组态
软件: STEP 7 V5.3 SP2 标准版(已集成冗余选件...(5)将编程器连到第一个容错 CPU(CPU0)上,此 ...(1)在 S7-400H 站目录下双击 Hardware 打开硬件...
西门子PLC实现软冗余的原理
软冗余系统的编程调试和故障诊断 STEP7的冗余软件包包含了多个功能块, 每个...修改系统参数后要对 CPU 进行复位,重新下载全部项目 到 PLC。 软冗余系统与...
S7400冗余配置
S7-400 冗余系统组态 唯一不好意思的是我无法将...(5)将编程器连到第一个容错 CPU(CPU0)上,此 ...2.5 STEP7 程序下装 (1)点击 SIMATIC MANAGER->...
冗余步骤
下载完后会自动 生成一个 pcst_1.xdb 文件。 5.程序下载(只需要下载一次,和非冗余系统一样) 6.STEP 7 与 CPU 链接需要把 PG/PC 设置成 CP1623.RFC1006...
更多相关标签:
quantum io冗余 | 冗余是什么意思 | 循环冗余检查 | 冗余电源 | 数据冗余 | 冗余度 | 循环冗余校验码 | 冗余设计 |