s7-300软冗余手册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
S7-300的软冗余要求从站必须通过有源底板连接。从站的所有模块需要确保没有故障,即SF灯不亮尤其是通讯模块。
S7-300的软冗余分为三种方式:MPI ,DP ,以太网。三种冗余方式的通讯速度不同,以太网通讯速度最快,DP通讯速度次之,MPI通讯速度最慢。不同的通讯方式选择的功能块不相同,具体功能块的选择如图1所示:
图1
下面以以太网冗余为例,简述冗余过程:
(一)插入两个S7-300的站,SIMATIC 300(A) 和SIMATIC 300(B)。
(二)设置A站的IP地址为192.168.0.10 ,B站的地址为192.168.0.20 。
(三) 在A站的块中插入OB100、OB35、OB86组织块,并对其中的OB100、OB35、OB86进行编程。
(四) 在组态网络中新建ISO-ON-TCP链接。要求ID号要大于2且主从站的ID号一致。
上图为最终效果图,下图为过程
(五) 在OB100中我们调用FC100’SWR_START ’进行软冗余的初始化。
FC100’SWR_START 的各个引脚的注释请参照最后的附录
调用FC100的位置如图
主站设置如左图所示步骤,从站不需要再次设定但需要在从站中给该从站的通讯ID 号与主站相同且大于2。,图例设置为0007
图中1表示为当前CPU 的站号,A 站写A ,B 站写B 。
图中2填写对方的地址,MPI_ADR 表示对方的MPI 地址,LADDR 表示CP 通讯处理器组态的硬件地址,采用PROFIBUS 或Ethernet
网络进行数据同步时
1
2
3 4
5
才有意义,默认值为256不需要更改。VERB_ID表示网络链接的ID号,在NETPRO窗口中组态的链接的ID值,如FDL Connection、ISO Connection或S7 Connection。数值要大于2。DP_MASTER_SYS_ID表示DP主站网络的ID 号,你可以在硬件组态中双击链接ET200M从站紫色的PROFIBUS主从网络,获取该ID值
双击
。
图中3填写输出模块(DO..AO)总的起始地址和最终地址。地址必须是连续的,中间不能含有没有定义的地址。
图中4填写冗余的M、计时器背景数据块、DB数据块的起始地址和长度。数据必须是连续的,且冗余的DB块的数据不得小于2个字节。
图中5填写ET200从站的起始地址和个数。
表中需要注意的事项;
i. 冗余的DB块中数据必须大于2个字节,否则冗余会报错。
ii. 模块的输出DO,AO必须为连续的地址,冗余初始化中的输出中不能有无效地址。
iii. 上表中的DB1,DB2,DB3数据块不需要人工创建,下载程序时CPU会自动创建数据块。
iv.更改OB100中的FC100程序时,需要清空CPU 内的所有程序。清空的方式为在线删除块内的所有数据。
v. 非冗余的DB块需要手动创建,数据必须大于2个字节。
(六) 一般我们建议您将您的非冗余程序段编写在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个部分。
(七)在OB86中调用诊断功能块FC 102 ‘SWR_DIAG’,当系统出现PROFIBUS总线错误时,该功能块返回诊断信息,供FB101使用。
(八)插入FB101内部调用的FB104,FC5、FC6等功能块,将所有的程序块下载到PLC当中。
备注
A.在使用MPI进行冗余通讯时不需要建立任何通讯连接,只需将通讯
线接好即可。
B.在使用以太网进行通讯时需要建立通讯连接。注意,图中的ID号不
能小于2且主站和备站的ID号相同。通讯时选择的通讯方式如图中
的Type。组态完成后需要将主动连接的CPU进行下载。
C.在使用DP进行冗余通讯时需要建立通讯连接,连接类型选择FDL。
通讯连接建立后需要将主动连接的站的CPU进行下载。
S7-300软冗余时的wincc连接设置(以太网通讯)
1.建立变量,按照正常非冗余的方式建立。
2.建立冗余连接。打开任意一个编辑画面,在动态向导中的系统函数中选
择创建冗余连接如图
,
选择主用的连接如图,选择的是SXYC。
设置备用的连接如图
3.在全局脚本中添加脚本
MSRTCreateMsg( ServiceID, &MsgCreate, &Error );
}
}
}
if ( ServiceID != 0 )
{ MSRTStopMsgService ( ServiceID, &Error );
}
if ( GetTagDWordWait( "@SXYC@ConnectionState" ) == 0 )
{ SetTagDWord( "@SXYC@ForceConnectionState", 1 );
}
else
{ if ( GetTagBitWait( "SWR_wincc.Standby" ) == TRUE )
{ SetTagDWord( "@SXYC@ForceConnectionState", 0 );
}
}
return 1;
只需要紫色的C语言这其中的几个变量"@SXYC@ConnectionState", "@SXYC@ForceConnectionState"这两个变量在前边说到的@SW变量组里边有。其中的SW是连接的名字,需要对应上自己前边建的连接的名字。"SWR_wincc.Standby"这个变量就是FB101冗余程序块的背景数据块中的变量DB***.DBX9.1,这个变量是手动建立的,名称也可以自己设定,***是在PLC 冗余程序中调用冗余程序时自己设定的背景数据块号,我用的是DB5,所以我这里变量就连接DB5.DBX9.1这个数据位。