RSS

西门子官方软冗余教程(三)

来源: 作者: 时间:2007-11-01 Tag: 点击:
 网络组态。系统的网络结构如下:
 
8
以上网络结构中包括了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等组织块,并对其中的OB100OB35OB86进行编程。
6. OB100中我们调用FC 100 ‘SWR_START’进行软冗余的初始化,有几个参数需要特别注意,LADDR应当和CP342-5
的硬件地址相一致,例子程序为256,VERB_ID必须和你在NETPRO中创建的FDL链路的ID号一致,例子程序为1,
DB_COM_NO为系统中未使用的数据块,建议仍采用DB5。
如下表格给出了FC100功能块参数的说明和例子,供您编程参考:
 
参数名
数据类型
描述
例子
AG_KENNUNG
字符型
A站应当填 ‘A’
B站应当填 ‘B’
‘A’
DB_WORK_NO
数据块名称
软冗余功能实现所需要使用的内部数据块,用户不用生成该块,也无需读写其中的数据
DB1
DB_SEND_NO
数据块名称
存放发送数据所使用的内部数据块,AàB或BàA,用户不用生成该块,也无需读写其中的数据
DB2
DB_RCV_NO
数据块名称
存放接收数据所使用的内部数据块,AßB或BßA,用户不用生成该块,也无需读写其中的数据
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,则DB111-DB117为存放冗余同步定时器、计数器的背景数据去
7
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_DISTANCE
整型
确定所链接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之间的普通数据交换,该参数即定义从A站到B站,交换的非冗余数据块。
DB11
DB_A_B_NO_LEN
WORD
A站到B站,非冗余数据块中交换的Word字数,如DB_A_B_NO设为DB11,DB_A_B_NO_LEN设为. W#16#64,则A站的DB11.DBW0-DB11.DBW198被复制到B站的DB11.DBW0-DB11.DBW198,因为W#16#64代表16进制64,即一共复制100个数据字。
W#16#64
DB_B_A_NO
数据块名称
该参数即定义从B站到A站,交换的非冗余数据块。
DB12
DB_B_A_NO_LEN
WORD
B站到A站,非冗余数据块中交换的Word字数,如DB_B_A_NO设为DB12,DB_B_A_NO_LEN设为. W#16#64,则B站的DB12.DBW0-DB12.DBW198被复制到A站的DB12.DBW0-DB12.DBW198,因为W#16#64代表16进制64,即一共复制100个数据字。
W#16#64
RETURN_VAL
WORD
调用FC100的返回值,为0代表正常,其他返回值您可以在错误代码表中找到对应的错误原因。
MW2
EXT_INFO
WORD
FC100中内部调用的一些功能块所返回的错误代码
MW4
5
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个部分,如下图所示:

上一页12 下一页
Google
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
热点关注