技术论坛

 STEP7 V15.1中的软件单元

返回主题列表
作者 主题
Letham
至圣

经验值: 13780
发帖数: 1965
精华帖: 43
楼主    2019-01-13 16:26:52
主题:STEP7 V15.1中的软件单元 精华帖  精编帖 

在 TIA PORTAL V15.1中出现了一个新功能“软件单元”

首先看软件单元的主要元素


可以看出了 除了程序块/PLC变量/PLC数据类型/PLC监控与报警/PLC报警文本列表外,还多了一个“关系表”这特殊的元素,下面会介绍 关系表这元素

谈下自己的一些看法;

 1:和以前版本相比,现在每个软件单元的程序,可以单独进行编辑和下载。

在初用博途时,很多坛友反应,程序怎么不能单独下载了,每次在线/下载程序时博途STEP7都会比较离线和在线程序,当你下载时,软件会同步不一致的程序,将PG中的程序下载到控制器中。但是有了软件单元,情况不一样了各个软件单元里的程序可以单独编辑和上/下载了。

 

2:在软件单元中的程序块,现在已经强制使用“优化块的访问”方式。

如果你要觉得软件单元挺好的,那么请改变以前的编程习惯,用软件单元内的数据块只能用“优化块的访问”。并且,软件单元程序也只能访问全局数据块中的优化方式访问的数据块了。优化数据块与非优化数据块相比有一定的优势,同时不建议在优化与非优化数据块之间拷贝数据。详情可以参见本人另外一个帖子


慢慢习惯块的优化访问方式



3:某种程度上体现了OOP编程的一些思想,比如,封装

下图,展示了软件单元中的程序,如何访问软件单元之外的程序,这里涉及到一个重要的元素关系表。

关系表决定了该软件单元中,可以访问软件单元外全局数据块/工艺块,是否可以访问其它软件单元中的程序块。

在关系表中,可以建立该软件单元与外部三种不同对象之间的关系


⑴其它软件单元

一旦建立了与其余软件单元之间关系,在该软件单元中,就可以访问被建立联系的软件单元里的相关程序块等(被建立联系的软件单元并不是所有程序块等都可以在该软件单元中使用。可以选择性地把相关程序块,数据类型等访问属性设置为发布状态,见下图)

需要注意的是:

软件单元不能与自己建立关系;

软件单元之间的关系是单向的!比如 在软件单元A的关系表中定义与软件单元B的关系,那么在软件单元B的关系表中就不能建立与A的关系了结果就是软件单元A可以访问软件单元B中的程序块,但是软件单元B中不能够使用软件单元A中程序块了,那怕软件单元A中的程序块访问属性也被设置为“已发布”状态。有点类之间的继承关系的味道了?

⑵全局数据块

软件单元中只能访问非软件单元中的全局数据块,软件单元外的FB,FC,UDT等无法在软件单元中使用。

同时,访问全局数据块时还有一下限制条件:

数据块中不能含有任何PLC数据类型(为什么这样做?技术限制?)

非优化的数据块(前面已提及)

数组DB(为什么?)

全局故障安全数据块

⑶TO


4:软件单元必须只能在S7-1500 CPU并且CPU固件版本大于等于V2.6中使用

要想使用软件单元,那赶紧升级博途到15.1吧。


5.每个软件单元都可以有自己的组织快。

与早些版本的一个程序主循环+中断不一样,整个CPU中存在着多个主循环组织块在运行,有点AB PLC里的多任务概念了

 

简单介绍完软件单元后,大家觉得西门子推出软件单元出现的目的是什么?

1:进一步模块化的编程思想?

2:不同风格标准的程序员合作编程?(手册中提到尽可能封装好软件单元,不发布程序,保持软件单元内的程序的独立性)


欢迎大家发布自己的一些看法!

 

 

 


人生就像一场旅行!
RENHQ
至圣

经验值: 68546
发帖数: 12108
精华帖: 59
1楼    2019-01-13 16:52:15
主题:回复:STEP7 V15.1中的软件单元

很早就安装了15.1,还真没注意增加了什么功能


Q群:https://jq.qq.com/?k=9BDuEgf6
纯属虚构
侠圣

经验值: 2325
发帖数: 1042
精华帖: 6
2楼    2019-01-14 08:39:26
主题:回复:STEP7 V15.1中的软件单元

有点觉得越来越难以理解了,但是技术得要跟上


1 我有什么,我凭什么 2 我要什么 3 挣35岁以后的钱
Letham
至圣

经验值: 13780
发帖数: 1965
精华帖: 43
3楼    2019-01-14 08:46:25
主题:回复:STEP7 V15.1中的软件单元

我习惯 在新版本出来后,看下手册里的 新增功能这一章节。

人生就像一场旅行!
Zane
至圣

经验值: 75775
发帖数: 19249
精华帖: 376
4楼    2019-01-15 22:34:36
精编帖  主题:回复:STEP7 V15.1中的软件单元

 问题1:一个项目中多个软件单元的执行顺序是如何决定的?与OB1的关系是什么?

Zane 注册自动化系统工程师 Always save before download
gaofei2013
侠圣

经验值: 2865
发帖数: 367
精华帖: 3
5楼    2019-01-15 22:54:36
主题:回复:STEP7 V15.1中的软件单元

看来西门子在推行面向对象、组件化编程了

不断攀登
至圣

经验值: 12543
发帖数: 1843
精华帖: 0
6楼    2019-01-16 07:43:00
主题:回复:STEP7 V15.1中的软件单元

面向对象编程。

邮箱 yongquancun@126.com
yecao2006
至圣

经验值: 17887
发帖数: 1523
精华帖: 2
7楼    2019-01-16 08:50:33
主题:回复:STEP7 V15.1中的软件单元

新东西还没有研究过,需要加强学习了。


我回来了!继续努力!
CoolCool的猪
至圣

经验值: 16693
发帖数: 1307
精华帖: 2
8楼    2019-01-16 15:06:05
主题:回复:STEP7 V15.1中的软件单元

软件单元谁用过 说说呗
到底干啥的
官方也不出个视频啥的
让我等屌丝丈二和尚摸不着头脑

同一个问题ID下,已经先回答此问题的人,如再参考我答案而修改自己答案的,就是王八蛋!
z349568117
侠士

经验值: 1225
发帖数: 43
精华帖: 0
9楼    2019-01-17 10:51:32
精编帖  主题:回复:STEP7 V15.1中的软件单元

什么情况下用软件单元?什么情况下用原来的程序块?即使没有软件单元,也可以面向对象思想编程。不知道软件单元的用途是什么。。。


您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。