西门子S7-1500新的程序架构——软件单元

从博途V15.1开始,S7-1500固件版本V2.6及以上的CPU可以使用软件单元功能。软件单元可以将项目程序划分成不同的逻辑功能块,比如驱动、流程控制、外部通信等都可以单做作为一个软件单元,也可以将程序划分成不同的子站,比如Station1、Station2等,每一个子站作为一个软件单元。软件单元不仅在架构上让程序逻辑更加清晰,更重要的是:每个软件单元都可以分别编辑和下载,这样极大的方便了多个用户在同一台设备上进行调试。今天这篇文章,我们来详细介绍下软件单元功能。

西门子S7-1500新的程序架构——软件单元

在博途V15.1以上版本添加S7-1500型CPU模块,在项目树中会出现“软件单元”一栏。双击“添加新的软件单元”,添加一个默认名称“Unit_1”的软件单元,如下图所示:

西门子S7-1500新的程序架构——软件单元

每个软件单元都包含如下元素:

关系;

程序块;

外部源文件;

PLC变量;

PLC数据类型;

PLC监控和报警;

PLC报警文本列表;

其中:

关系:用来定义软件单元可访问的外部资源,比如:其它软件单元中的函数/函数块、PLC变量、数据类型等;软件单元之外的全局数据类型;工艺对象;

程序块:可创建本软件单元中使用的组织块、函数块、函数、数据块;每个软件单元都可以有一个或几个程序循环组织块,操作系统会按照其编号顺序依次调用;

外部源文件:将外部SCL源文件导入该文件夹,可生成相应的函数块/函数/数据块或数据类型;

PLC变量:可创建本软件单元的PLC变量和常量;

PLC数据类型:可创建用户自定义数据类型;

PLC监控和报警:可监控PLC的变量或函数块;

PLC报警文本列表:可编辑PLC报警文本列表;

软件单元具有如下一些特点:

S7-1500固件版本V2.6及以上支持该功能;

每个CPU最多可创建255个软件单元;

软件单元中的数据块必须采用优化的块,无法禁用;

若想在一个软件单元中使用另一个软件单元中的函数/函数块/数据块等资源,则必须首先与目标软件单元建立关系,并且被使用的资源是已经发布的块。资源的发布是指在其属性的“常规”选项卡中勾选“访问:已发布”,比如下图的数据块S1PublicDB所示:

西门子S7-1500新的程序架构——软件单元

举个例子:

创建两个软件单元,分别命名为Station1和Station2。

在软件单元Station1的程序块中添加程序循环组织块Main_1(OB123)、函数S1Function1(已发布)、数据块S1PrivateDB(未发布)和数据块S1PublicDB(已发布),如下图所示:

西门子S7-1500新的程序架构——软件单元

在软件单元Station2的程序块中添加程序循环组织块Main_2(OB124)、函数S2Function1(未发布)、数据块S2PrivateDB(未发布)和数据块S2PublicDB(已发布),如下图所示:

西门子S7-1500新的程序架构——软件单元

在Station2的关系表中新创建指向软件单元Station1的关系,如下图所示:

注意该关系的指向是单向的,即:Station2可使用Station1中已经发布的程序块,反过来并不成立。并且该关系一旦建立,不允许在Station1中再创建指向Station2的关系,即不允许双向关系。

由于Station2已经创建与Station1的关系,并且Station1的S1Function1和S1PublicDB均为已发布状态。因此,可以在Station2的S2Function1中调用S1Function1和使用S1PublicDB中的数据,如下图所示:

西门子S7-1500新的程序架构——软件单元

在Station2中不能使用Station1中的S1PrivateDB,因为该数据块未发布。

好了,关于S7-1500使用软件单元的功能就先介绍到这里。我之前还写过一篇S7-1200/1500新程序架构的文章,链接如下:

我的微信视频号以视频的方式分享工控知识,欢迎观看:

来源:方正智芯

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年11月16日
下一篇 2021年11月16日

相关推荐