表 7-6 FC100 参数说明
参数名 数据类型 描述 例子
AG_KENNUNG 字符型 A站应当填 ‘A’
B站应当填 ‘B’
‘A’
DB_WORK_NO 数据块名 称
软冗余功能实现所需要使用的内部数据块,用户不用 生成该块,也无需读写其中的数据
DB1 DB_SEND_NO 数据块名
称
存放发送数据所使用的内部数据块,AB或BA,
用户不用生成该块,也无需读写其中的数据
DB2 DB_RCV_NO 数据块名
称
存放接收数据所使用的内部数据块,AB或BA,
用户不用生成该块,也无需读写其中的数据
DB3 MPI_ADR 整型 对方站的MPI站地址,进行MPI网络数据同步时才有
意义
2 LADDR 整型 CP通讯处理器组态的硬件地址,采用PROFIBUS或
Ethernet网络进行数据同步时才有意义
256 VERB_ID 整型 网络链接的ID号,在NETPRO窗口中组态的链接的
ID值,如FDL Connection、ISO Connection或S7 Connection。
1
DP_MASTER_
SYS_ID
整型 DP主站网络的ID号,你可以在NETPRO窗口中双击 链接ET200M从站紫色的PROFIBUS主从网络,获取 该ID值。
1
DB_COM_NO 数据块名 称
FB101所用使用的背景数据块,需用户生成该块,并 可以读取状态字DBW8和控制字DBW10,获取系统 信息或手动切换主备系统
DB5
DP-KOMMUN 整型 确定链接ET200从站的DP通讯口类型:
1. 使用CPU上集成DP通讯口链接ET200从站;
2. 使用CP通讯卡上的DP通讯口链接ET200从 站;
1
ADR_MODUS 整型 CPU分配I/O地址的矩阵的增量,不同CPU的地址矩 阵不同:
1, if base addresses 0, 1, 2, 3 ...
4, if base addresses 0, 4, 8, 12 ...
1
PAA_FIRST 整数 ET200M站第一个输出字节的地址 0
PAA_LAST 整型 ET200M站最后一个输出字节的地址,PAA_FIRST 到
PAA_LAST的字节范围必须是ET200M站上连续定义 的。
4
MB_NO 整型 冗余的M数据区的起始字节地址 20
MB_LEN 整型 冗余的M数据区的字节个数,如MB_NO为20,
MB_LEN为30,则MB20-MB49这个数据段为冗余 数据区;
30
IEC_NO 整型 冗余的IEC定时器、IEC计数器所使用的起始背景数 据块
111 IEC_LEN 整型 冗余的IEC定时器、IEC计数器所使用的背景数据块
的个数,如IEC_NO设为111,IEC_LEN设为7,则 7
www.PLCworld.cn
长沙工控帮教育科技有限公司整理
www.gkbpx.com
DB111-DB117为存放冗余同步定时器、计数器的背 景数据去
DB_NO 整型 冗余的起始数据块 8
DB_NO_LEN 整型 冗余的数据块个数,如DB_NO为8,DB_NO_LEN为 2,则DB8-DB9为冗余的数据块
2
SLAVE_NO 整型 ET200从站的最低站地址 3
SLAVE_LEN 整型 ET200从站的个数,如SLAVE_NO为3,
SLAVE_LEN为2,则该软冗余系统连接了站号为3,
4的两个ET200从站,站号必须连续。
SLAVE_DISTA NCE
整型 确定所链接ET200从站上IM153-2模块的PROFIBUS DP站地址:
1. 2块IM153-2模块的DP口使用相同的站地址;
2. 2块IM153-2模块的DP口的站地址为n和 n+1;
1
DB_A_B_NO 数据块名 称
通过数据同步链路(Redundency Link),A、B站之 间还能进行一些非冗余数据通讯,即2个PLC之间的
WORD A站到B站,非冗余数据块中交换的Word字数,如 DB_A_B_NO设为DB11,DB_A_B_NO_LEN设为.
DB_B_A_NO 数据块名 称
该参数即定义从B站到A站,交换的非冗余数据块。 DB1 2 DB_B_A_NO_L
EN
WORD B站到A站,非冗余数据块中交换的Word字数,如 DB_B_A_NO设为DB12,DB_B_A_NO_LEN设为.
RETURN_VAL WORD 调用FC100的返回值,为0代表正常,其他返回值您 可以在错误代码表中找到对应的错误原因。
MW2
EXT_INFO WORD FC100中内部调用的一些功能块所返回的错误代码 MW4 (7) 一般建议将非冗余程序段编写在 OB1 当中,而将冗余程序段编写在 OB35 当中,这里 使用的是 OB35 的默认属性,即每 100ms 中断触发一次,可以根据实际的需要在 CPU 属性 中修改中断的时间间隔。在 OB35 里调用 FB 101 ‘SWR_ZYK’ 功能块,FB101 块中封装 了冗余功能的程序段,实现冗余功能。调用 FB101 时,你可以在线地读出 RETURN_VAL 参 数的数值,如果为 0,说明冗余链接正常。如果为 8015 说明数据同步的连接不成功,这 是一个常见的错误,原因可能是 CP342-5 之间的 FDL 链接建立的不正确或物理链路不 通,或者是 FC100 的 VERB_ID 参数与 NETPRO 中的链接 ID 号不一致。当执
行”SWR_START”程序块时,系统分配这些数据区,不能用 S7 的定时器和计数器,只能 使用 IEC 标准的定时器和计数器。可以在软冗余手册的第三章第 9 节找到对应的诊断信 息。OB35 中的程序可以分为 4 个部分,如图 7-8 所示:
长沙工控帮教育科技有限公司整理
A.在循环程序块(OB1或OB35)的开始 调用FB101,并将CALL_POSITION置为 TRUE
B.可以在DB5中得到控制字(DBW10)和 状态字DBW8的信息。分析状态字中的信 息,如果当前站为备用系统,则跳过冗 余程序段。
C.冗余程序段。该处为您的冗余程序段
D.在循环程序块(OB1或OB35)的结尾 调用FB101,将CALL_POSITION置为 FALSE,停止系统冗余程序段。
图 7-8 冗余程序举例 程序执行如下:
第一步(A)启动系统的冗余数据同步功能
第二步(B)根据状态字判断是否为主系统,为主系统时才执行第三步,否则跳到第 四步
第三步(C)为冗余的程序段
第四步(D)停止系统的冗余数据同步。
通过对 OB35 中的程序在线监控,得知当前冗余功能成功与否,如图 7-9 所示:
www.PLCworld.cn
长沙工控帮教育科技有限公司整理
www.gkbpx.com
图7-9 FB101 状态值
图 7-9 显示,FB101 的返回值 Return_VAL 和 Ext_INFO 为 0,说明冗余功能正常。
通过 FB101 的背景数据块中的状态字和控制字,可以知道系统的运行的情况和当前哪个 系统为主系统,哪个为备用系统,状态字的定义如图 7-10 所示:
Bit No.
= Bit is not relevant
Data word 0
1 2 4 5
1: Station is master 3
1: Station is reserve 1: ID A, station is subunit A 1: ID B, station is subunit B 0: Redundant backup is activated 1: Redundant backup is de-activated 0: Redundant-backup link present 1: Redundant-backup link has failed 1: Startup phase
1: Master-reserve change-over in progress 1: Communication peer still busy with change-over 1: Communication not possible with any DP slaves 1: Communication not possible with some DP slaves 1: Communication possible with all DP slaves
DBB 8 DBB 9
图7-10 软件冗余状态字
长沙工控帮教育科技有限公司整理
可以通过写控制字中对应的位,起停备用系统与主系统之间的冗余通讯,也可以实现主 系统与备用系统之间的手动切换,如图7-11所示:
Bit No.
= Bit is not relevant
Data w ord
1: Master-reserve change-over disabled
3
1: Master-reserve change-over enabled
Bit is reserved, may not be changed
1: Activate master-reserve change-over
DBB 10 DBB 11
图7-11软件冗余控制字
通过设定 DB5.DBX10.0 为 1,实现主系统与备用系统的手动切换。
(8)在 OB86 中调用诊断功能块 FC 102 ‘SWR_DIAG’,当系统出现 PROFIBUS 总线错误 时,该功能块返回诊断信息,供 FB101 使用。
(9)插入 FB101 内部调用的 FB104,FC5、FC6 等功能块,将所有的程序块下载到 PLC 当 中。
(10)在组态软件 WinCC 中创建两个 MPI 链接,分别与主系统和备用系统进行链 接,并生成对应的 Tag 变量,如图 7-12 所示:
图7-12 WINCC中创建连接
利用 WINCC 的向导功能可以创建冗余的连接,通常的情况下, A、B 站冗余的数据连接