• 沒有找到結果。

软件冗余系统的调试过程

第七章 软件冗余的原理和配置

7.2 软件冗余系统的调试过程

在计算机上首先安装 STEP7 5.x 软件和软冗余软件包,软冗余软件光盘包括了冗余功能 程序块库、不同系统结构的例子程序和软冗余使用手册。

7.2.1 不同系统结构方式下的功能块:

在安装完软冗余的软件后,可以在 STEP7 当中找到例子程序和功能程序块库,如图 7-4 所示:

图7-4 软件冗余的例子程序

以上图 7-4 显示的是在 STEP7 中使用 OPEN 菜单打开软冗余的例子程序,例子程序中 采用 MPI 链路实现数据的同步。在 Libraries 找到不同 CPU 以及不同链接方式下可以使 用的功能块,如图 7-5 所示:

长沙工控帮教育科技有限公司整理

图7-5 软件冗余功能块

下面的两个表格分别说明了采用 S7-300,S7-400 进行软件冗余时,可采用的不同网络 连接以及所需调用的程序功能块包,参考表 7-3 和 7-4。

表 7-3 S7- 300 进行数据同步使用的程序库

Select this package For this network And this connection type Remarks

XSEND_300 MPI Permanently configured

connection

Network connected to MPI interface of CPU

AG_SEND_300 PROFIBUS FDL connection Network connected via

CP342- 5

Industrial Ethernet ISO connection Network connected via CP345- 1

表 7-4 S7- 400 进行数据同步使用的程序库

Select this package For this network And this connection type Remarks

XSEND_400 MPI Permanently configured

connection

Network connected to MPI interface of CPU

AG_SEND_400 PROFIBUS FDL connection Network connected via

CP443- 5

Industrial Ethernet ISO connection Network connected via CP443- 1

BSEND_400 MPI S7 connection Network connected to MPI

www.PLCworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

interface of CPU

PROFIBUS Network connected via

CP 443- 5

Industrial Ethernet Network connected via

CP 443- 1

从以上的表格中可以看到,软冗余系统当中可以采用 MPI、PROFIBUS、Ethernet 三种网 络实现主系统和备用系统之间的数据同步(Redundant-backup link)。

采用 BSEND_400 包中的功能块进行数据同步时,无论数据同步的连接是什么方式,都需 要在 STEP7 的 NETPRO 窗口中组态一个 S7 Connection。除了 BSEND_400 中之外,使用其 他功能块:

 采用 MPI 网络时,直接使用 PLC 的编程口进行数据同步,不需要进行连接

(Connection)的组态,但 MPI 数据同步的效率低。

 采用 PROFIBUS 网络时,需要使用一对 CP 通讯卡(CP342-5 或 CP443-5),在 STEP7 的 NETPRO 窗口中组态主系统和备用系统之间的 FDL 连接。

 采用 Ethernet 网络时,需要使用一对 CP 通讯卡(CP343-1 或 CP443-1),在 NETPRO 窗口中组态主系统和备用系统之间的 ISO 连接。

FB 101 ‘SWR_ZYK’ 循环调用的数据同步功能块,将主系统中的冗余数据复制到备用系统 当中

FC 102 ‘SWR_DIAG’ 诊断功能块,在OB86中调用,将得到的诊断数据提供给FB101使 用。

在该块内部调用FC 5 ‘AG_SEND’, FC 6 ‘AG_RCV’,实现采用 PROFIBUS或Ethernet网络的数据同步。

FB 105

‘SWR_SFBCOM’

在该块内部调用SFB 12 ‘BSEND’ and SFB 13 ‘BRCV’功能块,实现 MPI或PROFIBUS或Ethernet网络的数据同步,只能在S7-400 中调 用。

DB_WORK_NO 冗余软件块使用的数据区,用户不需要生成该数据块,也不使用该数 据块中的数据;

DB_SEND_NO 用于主系统发送同步数据到备用系统的发送数据区(包括了主系统的 M、T、C、DB等区域的数据),用户不需要生成该数据块,也不使 用该数据块中的数据;

DB_RCV_NO 用于备用系统接收来自主系统的同步数据的接收数据区,用户不需要 生成该数据块,也不使用该数据块中的数据;

DB_A_B_NO 从A站到B站,非冗余同步的数据的收发区;

DB_B_A_NO 从B站到A站,非冗余同步的数据的收发区;

DB_COM_NO FB101的背景数据块,包括了数据同步链路的状态,控制等信息,用 户需要生成该数据块,DBW8为状态字,DBW10为控制字,;

FC 5 ‘AG_SEND’ PROFIBUS网络中,实现FDL链接,在FB104内部调用的发送块,用 户需要生成该程序块,并下载到PLC当中。

FC 6 ‘AG_RCV’ PROFIBUS网络中,实现FDL链接,在FB104内部调用的接收块,用 户需要生成该程序块,并下载到PLC当中。

长沙工控帮教育科技有限公司整理

注:

1) 用 PROFIBUS 或 Ethernet 方式进行数据同步时,需要在 OB100 当中调用 FB101,而 FB101 内部调用了 FB104、FC5、FC6,所以您必须手动地将 FB104、FC5、FC6 插入到项目 当中,插入的方法是:在程序中调用一次,再将这条语句删掉。

Station A (S7-300)

CPUCP PS

Station B (S7-300)

CPU CP

PROFIBUS (redundant-backup link)

DP Mas ter Sys tem 1 (Station A)

DP Master Sys tem 1 (Station B)

ET 200M

MPI

OP7 operator panel

IM 153-2

PS DE DA DE DA Peripheral s for fans Peripherals

for lighting Peripherals

for traffic counter 时,要分别创建相互独立的 PROFIBUS 网络(如 A 站为 Master_Line、B 站为

Reserve_Line),使用网络的默认参数,速率为 1.5M,并都将站地址设定为 2,A 站和 B 站的 PROFIBUS DP 集成通讯口设定为主站模式(Master Mode)。

(2)分别在 A、B 站中插入 CP342-5 模块,连接到同一个 PROFIBUS 网络上

(Sychronization_Line),地址分别为 4、5,将 CP342-5 设定为 No DP 方式,并记录 CP342-5 的硬件地址 256。

(3)分别在 A、B 站的硬件组态窗口中插入一个 ET200 从站(一个 IM153-2 模块和一个 16 入/16 出的数字量模板),DP 的地址为 3。

www.PLCworld.cn

长沙工控帮教育科技有限公司整理

www.gkbpx.com

(4) 进入 STEP7 的网络组态窗口 NETPRO 中,选中 A 站的 CPU 点击鼠标右键,插入一 个新的链接,选择 FDL Connection,点击 Apply,弹出链接属性窗口,记录链接的 ID,

设定 LSAP 为 17,18,存盘编译网络组态。系统的网络结构如图 7-7 所示:

图7-7 系统的网络结构

以上网络结构中包括了 4 条链路:

 用于上位机编程和监控的 MPI 链路;

 A 站与 ET200 从站 Master Line PROFIBUS 链路;

 B 站与 ET200 从站 Reserve Line PROFIBUS 链路;

 A 站和 B 站之间进行数据同步的 Synchronization Line PROFIBUS 链路。

可以通过点击图中的状态读取按钮,获取当前 FDL 链接的状态,上图的左下角显示 当前在线读取 FDL 的状态为 OK。

(5)在 A 站的 Block 中插入 OB1(主循环程序块)、OB35(定时中断组织块)、OB100

(暖启动调用程序块)、OB80(在主系统与备用系统切换时间超时时,调用该块)、

OB82 (DP-Slave ET200 站上的 IM153-2 模块出错报警,调用该功能块)、OB83 (DP 从站 的接口模块与主站链接断开或链接重新建立时调用该块)、OB85(程序运行出错或 DP 从 站连接失败调用该块)、OB86(主从站通讯出错调用该块)、OB87(通讯失败调用该 块)、OB122(外围设备访问出错调用该块)、OB121 等组织块,并对其中的 OB100、

OB35、OB86 进行编程。

(6)在 OB100 中我们调用 FC 100 ‘SWR_START’进行软冗余的初始化,有几个参数需 要特别注意,LADDR 应当和 CP342-5 的硬件地址相一致,例子程序为 256,VERB_ID 必须

长沙工控帮教育科技有限公司整理

和在 NETPRO 中创建的 FDL 链路的 ID 号一致,例子程序为 1,DB_COM_NO 建议仍采用 DB5。

相關文件