1、S7-300 400 PLC 系统软件冗余调试的常见问题问题 1:硬件组态需要注意什么?回答:软冗余系统的冗余控制只能通过 ET 200M 实现,按照图 1 进行组态。A 、B 站的组态必须确保一致,可以拷贝 ET200M 的组态,在另一站点组态中使用图 2 所示菜单操作。 图 1 图 2 问题 2:哪些模块可以支持软冗余?回答:可以通过软冗余手册查询,或参考以下链接的 FAQ。 问题 3:FC100“SWR_START”中定义的数据区,哪些是冗余数据区?哪些是非冗余数据区?有什么区别?回答:如图 3 红色区域,冗余同步数据区包括:过程映像输出区/DB/IEC/M;如图 3 绿色区域,非冗余数
2、据区包括:DB。冗余数据区,主站的数据会通过冗余链路覆盖到备用站,保证主备之间数据同步;非冗余 DB 区,无论主备,数据按照定义的 A-B B-A 方向传递。注意!无论冗余数据区还是非冗余数据区,A 、B 站点的长度必须一致。如果不需要使用,长度定义为 0。 图 3 问题 4:软冗余中 DB 块的影响。回答: 软冗余系统中会使用一些特殊功能的 DB 块,在 FC100“SWR_START”中定义,如图 4: 图 4 A: 软冗余工作 DB,程序会自动生成,不要在项目中手动添加; “DB_SEND_NO” 、“DB_RCV_NO”定义的 DB,在冗余站两侧一致。 B: FB101“SWR_ZYK
3、”的背景数据块,注意生成 DB5 的长度。如果创建出错,CPU 能够正常运行但是 SF 灯报错,诊断缓冲区如图 5: 图 5 查看 DB5 的长度如图 6,只有 100 字节,此时双击打开 DB5 看不到内部参数,如图 7。可以删除 DB5,重新生成 FB101“SWR_ZYK”背景数据块。正常 MPI 同步-194 字节;以太网/PROFIBUS 同步-358 字节。 图 6 图 7 C:冗余 DB 区,主站的数据随时同步备用站。需要手动创建,IEC 定时器的背景数据块也需要生成,A 、B 站点长度一致;生成的 DB 块的长度需要 大于 2 个字( 新生成的 DB 块,内部只有一个 INT
4、变量,长度 2 字节) 。否则,CPU 会停机,诊断缓冲区报如图 8 错误: 图 8 D:非冗余 DB 块 不要手动创建,程序自动生成。 A-B B-A 的 DB 必须同时使用,不能只有一个方向的(A-B 0 BYTE ,B-A 100BYTE -B STOP;B-A 0 BYTE ,A-B 100BYTE -A STOP)。否则,CPU 停机,诊断缓冲区如图 9: 图 9 创建的长度必须是偶数字节,不能是奇数字节,如图 10;A、 B 站点长度一致。否则,CPU 停机,诊断缓冲区如图 11: 图 10 图 11 问题 5:其他冗余同步数据区的影响。 回答:其他冗余同步数据区如下,包括过程映像
5、输出区和 M 区,如图 12。主站数据随时同步到备用站。过程映像输出区不要大于 CPU 允许范围,而且每个 ET 200M 从站允许最大 32字节;M 区大于 1 个字节,小于 CPU 允许最大 M 区范围。否则,CPU 停机,诊断缓冲区如图 13。如果不需要使用,长度定义为 0。 图 12图 13 问题 6:修改完 FC100“SWR_START”的参数,重新下载后为何会导致 CPU 报错?回答:FC100“SWR_START”在 CPU 启动会生成相关的 DB 块,修改参数后必须删除已生成旧的 DB 块,否则会导致 CPU 故障。手册描述如图 14: 图 14 所以,修改完 FC100“S
6、WR_START”参数后,建议使用下面方法重新下载。 方法 1: 1. 打开项目在线窗口,如图 15。 2. 删除所有程序块,如图 15。 3. 重新下载块,如图 16。 4. 对 CPU 进行存储器复位操作。图 15 图 16 方法 2:选中“Blocks” ,按照图 17 所示菜单进行下载(删除 MMC 卡中所有的块,并把新的程序写到卡中,同时对 CPU RAM 进行一次复位)。 图 17 问题 7:同步失败的原因?回答:当同步失败时,FB101“SWR_ZYK” 的返回值会报 16#8015 的错误,如图 18,同时状态字 DB5.DBX9.5 置 1,如图 19。在确保物理连接正常情况
7、下,检查下面的参数设置。 图 18 图 19 根据不同的同步方式,注意 FC100 “SWR_START”的参数,如图 20。“MPI_ADR”表示对方的 MPI 地址,对于 MPI 同步有效;“LADDR” “VERB_ID”对于PROFIBUS/ETHERENT 同步有效,分别代表同步 CP 的硬件地址和连接号,如图 21。 图 20 图 21 选择 MPI 同步,冗余程序块会调用 SFC65“X_SEND”和 SFC66“X_REV”进行数据同步,占用 S7-300 CPU 的 2 个“S7 basic communication”连接资源,如图 22。注意,要确保在组态中预留足够的资源
8、,如图 23,否则会因为连接资源不够影响同步链路的通讯。 图 22 图 23 问题 8:FC102 “SWR_DIAG”作用。回答:FC102 “SWR_DIAG”必须在 OB86 中调用,软冗余系统才会对 DP 总线错误做出判断,从而控制主备切换。注意!如果不调用,此时状态字不会报任何错误,也不会影响CPU 故障导致主备切换。但是对于此时出现的总线故障软冗余系统不会切换,但是外部IM153 模块会执行切换。注意!FC102 “SWR_DIAG”一定不能修改块编号。 问题 9:为什么状态字不稳定,DB5.DBX9.5 0-1 闪烁?回答:如图 24,DB5.DBX9.5 0-1 闪烁表示同步有
9、时成功有时失败。首先,要保证两个CPU 之间冗余数据和非冗余数据区大小一致。其次,冗余主备 CPU 之间同步过程如图 25所示,数据的同步是随着 FB101“SWR_ZYK”的执行实现的,所以要确保同步成功,需要两个 CPU 对 FB101“SWR_ZYK”的调用周期一致,建议在 OB35 中调用(如果在 OB1 中调用,确保 OB1 循环扫描周期相差不多)。 图 24 图 25 如果冗余系统使用不同 CPU,最好使用 OB35 调用 FB101“SWR_ZYK”,不要在 OB1 中调用。因为,不同 CPU 运算速度不同,会导致 OB1 循环周期差异较大,从而影响同步效果,如图 26、 27。
10、 图 26 图 27 问题 10:不同版本的软冗余程序包区别。回答:V1.1 版本用于早期 CPU315-2DP 和 S7-400 的 CPU。新 CPU 需要使用 V1.2 版本库。如图 28(来自冗余软件包文档说明)。 图 28 CPU 暖启动过程中如果 PROFIBUS 总线故障,V1.2 版本会导致 CPU 停机,诊断缓冲区如图 29;V1.3 版本,CPU 不会停机,SF 亮 BF 闪烁,诊断缓冲会报总线错误。 图 29 问题 11:CPU 本体的 PN 口是否可以进行软冗余数据同步。回答:不行,软件包提供的程序不针对 PN 口。 问题 12:软冗余系统能否带第三方的 DP 从站。回
11、答:不能。软冗余系统所有的冗余控制只能通过 ET200M 实现。该从站可以挂在一条PROFIBUS 总线上,但是不能实现冗余控制,它的控制权只属于这条总线上的 CPU。 问题 13:ET200M 的两个 IM153 同时掉电的影响。回答:两个 CPU 都处于 PROFIBUS 故障状态,该 ET200M 站失去控制,系统会执行一次主备切换,状态字会显示错误状态,如图 30,建议两个 IM153 模块使用不同的电源供电。图 30 问题 14:如何临时关闭 ET200M 从站,而不引起系统的主备切换?回答:如果没有采取其它措施,关闭 DP 从站后会引起冗余系统的主备切换。下面的例程介绍了防止切换的
12、措施。例程来自于软冗余手册,在 OB86 中调用,I0.0 作为防止切换的开关,可以在操作员面板或其它途径输入。 图 31 注意:I0.0 置位后,此时,任何一个从站的掉站将不会引起主备的切换,一个以上从站的掉站才会引起切换。所以,一定要慎用此功能!站点恢复后,切记复位 I0.0,否则影响系统安全。 问题 15:不使用的区域该如何设置?回答:如果不使用该区域,则在参数上输入 0。特例,如果不使用映像输出区,则为PAA_FIRST 分配一个大于 PAA_LAST 的数值。 问题 16:ET200M 的组态能否使用 GSD 文件?回答:软冗余系统组态不推荐使用 GSD 文件! 问题 17:怎样判断冗余系统工作正常。回答:软冗余系统提供了 CPU 之间的冗余和 DP 总线的冗余。判断冗余系统正常,切不可只观察 IM153-2 “ACT”指示灯,因为两个 153-2 的切换是有源总线底板的功能,“ACT”正常只代表硬件的切换,不代表软件也切换成功。因此,必须同时观察冗余的状态字,软件硬件都切换成功,才可以判断冗余系统正常。 问题 18:TIA Portal V11 如何组态软冗余?回答:目前暂时没有支持 TIA Portal V11 的软冗余软件包。不能用 TIA Portal V11 组态软冗余。