上位机软件开发c-c/c++开发
一. 软冗余的使用场景
自动化水平不断增强的工业产线最关注生产率和产品质量的提高,这同时也增加了对自动化系统可用性的依赖程度。如果自动化系统发生故障(例如CPU故障),那么在生产上和停机时间上所造成的损失可能非常巨大。
在很多实际应用中,人们更关注于集成特定容错系统的必需性上位机软件开发c,而不是冗余质量的要求或是冗余自动化系统所需的工厂规模。
在很多情况下,提供直接的软件机制就足够了。诸如此类的要求上位机软件开发c,通过软冗余予以实现。
二. 软冗余基本信息介绍
1. 系统结构
冗余系统的软件:
· Step7编程软件(V5.5+SP4)
· 软冗余软件包(V1.2)
硬件:
§ 2台西门子300PLC
§ 2台CP343-1
§ 2台IM153-2DP接口模块
§ 2台CP341通信模块
2. 软冗余系统工作原理
在软冗余系统进行工作时,A、B控制系统(处理器,通讯,I/O)独立运行,由主系统的PLC掌握对ET200M从站中的I/O控制权。A,B系统中的PLC程序由非冗余(non-duplicated)用户程序段和冗余(redundant backup)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。
以下为冗余系统中PLC内部运行过程:
用户需要在初始化程序中(OB100)定义冗余部分的数据,该数据区可以包括:一个过程映像区,一个定时器区,一个计数器区,一个位地址区和一个数据块区,S7-300同步的最大数据量为8kBytes,S7-400同步的最大数据量为64kBytes。
三. PLC部分组态与调试
1. 软冗余功能块介绍
打开Step7软件:文件>打开>库,访问SWR_LIB库。
这些数据包中,有两个用于S7-300,另外三个用于S7-400。因为本例中采用Ethernet网络做数据同步,因此着重介绍SWR_AGSEND_300数据包。
冗余功能块说明如下:
2. PLC软冗余及程序编写
将软冗余程序复制到项目中:
在OB1中调用FB101程序块
在0B100中调用FC100初始化程序
软冗余中有一些特殊的DB块,在编写程序时注意避开这些特殊DB块。
A: 软冗余工作DB,程序会自动生成,不需要在项目中手动添加
B: DB5为FB101的背景数据块,注意生成DB5的长度(358字节)
C: 冗余DB区,主站的数据随时同步备用站。需要手动创建。并且生成的
DB块长度需要大于2个字节。否则会造成CPU停机。
D: 非冗余DB块,不要手动创建,程序自动生成。A-B B-A必须同时使用,
创建的长度必须是偶数字节,不能是奇数字节,否则将造成CPU停机。
3. 软冗余程序测试
在WinCC中建立两个链接通道,将PLC中信息展示到上位机中,如下图所示:
如果将主站Station A 手动打到 STOP状态,主站会切换到Station B,并且会给出冗余失败报警,如下图所示: