当前位置: 主页 > 建站知识 > 软件开发

上位机软件开发c-c/c++开发

发布时间:2023-06-07 22:10   浏览次数:次   作者:佚名

一. 软冗余的使用场景

自动化水平不断增强的工业产线最关注生产率和产品质量的提高,这同时也增加了对自动化系统可用性的依赖程度。如果自动化系统发生故障(例如CPU故障),那么在生产上和停机时间上所造成的损失可能非常巨大。

在很多实际应用中,人们更关注于集成特定容错系统的必需性上位机软件开发c,而不是冗余质量的要求或是冗余自动化系统所需的工厂规模。

在很多情况下,提供直接的软件机制就足够了。诸如此类的要求上位机软件开发c,通过软冗余予以实现。

二. 软冗余基本信息介绍

1. 系统结构

冗余系统的软件:

· Step7编程软件(V5.5+SP4)

c/c++开发_上位机软件开发c_c#上位机界面

· 软冗余软件包(V1.2)

硬件:

§ 2台西门子300PLC

§ 2台CP343-1

§ 2台IM153-2DP接口模块

§ 2台CP341通信模块

2. 软冗余系统工作原理

上位机软件开发c_c/c++开发_c#上位机界面

在软冗余系统进行工作时,A、B控制系统(处理器,通讯,I/O)独立运行,由主系统的PLC掌握对ET200M从站中的I/O控制权。A,B系统中的PLC程序由非冗余(non-duplicated)用户程序段和冗余(redundant backup)用户程序段组成,主系统PLC执行全部的用户程序,备用系统PLC只执行非冗余用户程序段,而跳过冗余用户程序段。

以下为冗余系统中PLC内部运行过程:

上位机软件开发c_c#上位机界面_c/c++开发

用户需要在初始化程序中(OB100)定义冗余部分的数据,该数据区可以包括:一个过程映像区,一个定时器区,一个计数器区,一个位地址区和一个数据块区,S7-300同步的最大数据量为8kBytes,S7-400同步的最大数据量为64kBytes。

三. PLC部分组态与调试

1. 软冗余功能块介绍

打开Step7软件:文件>打开>库,访问SWR_LIB库。

c#上位机界面_上位机软件开发c_c/c++开发

c#上位机界面_c/c++开发_上位机软件开发c

这些数据包中,有两个用于S7-300,另外三个用于S7-400。因为本例中采用Ethernet网络做数据同步,因此着重介绍SWR_AGSEND_300数据包。

冗余功能块说明如下:

上位机软件开发c_c#上位机界面_c/c++开发

2. PLC软冗余及程序编写

将软冗余程序复制到项目中:

c#上位机界面_上位机软件开发c_c/c++开发

c#上位机界面_c/c++开发_上位机软件开发c

在OB1中调用FB101程序块

c/c++开发_c#上位机界面_上位机软件开发c

在0B100中调用FC100初始化程序

c#上位机界面_上位机软件开发c_c/c++开发

软冗余中有一些特殊的DB块,在编写程序时注意避开这些特殊DB块。

A: 软冗余工作DB,程序会自动生成,不需要在项目中手动添加

B: DB5为FB101的背景数据块,注意生成DB5的长度(358字节

c#上位机界面_上位机软件开发c_c/c++开发

C: 冗余DB区,主站的数据随时同步备用站。需要手动创建。并且生成的

DB块长度需要大于2个字节。否则会造成CPU停机。

D: 非冗余DB块,不要手动创建,程序自动生成。A-B B-A必须同时使用,

创建的长度必须是偶数字节,不能是奇数字节,否则将造成CPU停机。

3. 软冗余程序测试

在WinCC中建立两个链接通道,将PLC中信息展示到上位机中,如下图所示:

c#上位机界面_c/c++开发_上位机软件开发c

如果将主站Station A 手动打到 STOP状态,主站会切换到Station B,并且会给出冗余失败报警,如下图所示:

c#上位机界面_c/c++开发_上位机软件开发c