回复:【万泉河】FB内的static静态变量是全局变量吗?

yming

西门子1847工业学习平台

  • 帖子

    23138
  • 精华

    881
  • 被关注

    1253

论坛等级:至圣

注册时间:2004-03-06

钻石 钻石 如何晋级?

发布于 2018-10-22 18:36:17

39楼

展开查看
以下是引用万泉河在2018-10-21 15:23:04的发言 >22楼

【万泉河】设备的设定参数&&数据块的运行值

https://mp.weixin.qq.com/s/lMEy8bQ_XFoFLV407bv6lw


@yming @宁超 其实你们在聊的是参数。 我上一篇文章先写过了。 

以下是引用yming在2018-10-21 12:23:14的发言 >21楼:其实,我觉得问题不...

引用21楼详细内容:

其实,我觉得问题不大。

对于所使用的Statics 写好注释就可以。使用者打开背景数据块,就能知道哪些不要动;哪些需要设置。

其他原设计HMI可访问性都是勾选好的。封装后,用户也改不了。


总觉得,每次调用个FB都要传送一堆不需要改变的参数,很麻烦、很没效率。

以下是引用宁超在2018-10-21 11:45:45的发言 >20楼:一个大的功能块,使...

引用20楼详细内容:

一个大的功能块,使用者,特别是首次使用的人很难辨别哪些参数是可以改的。我说的变的好象不可控是使用者的一个心理状态。接口是预留给用户使用的,static是开发者不希望被用户改动的东西,但是有的时候为功能块接口看上去什么的简洁,不得不把一些接口放到static

以下是引用yming在2018-10-21 11:32:02的发言 >19楼:不会吧。出问题还...

引用19楼详细内容:

不会吧。出问题还是程序写的有问题吧。

看看西门子自己提供的库程序,例如:MODBUS TCP,不也是封装、加密的?但把原来放在接口的参数,放到背景数据块里了么?还有许多设置,不也是要求去背景数据块里设置么?还有些西门子提供的FB功能库,参数不也是需要外部去背景数据块中读取么?

为什么从接口改到背景数据块中?就是每次调用不需要都传送。

所以,就像这些标准库一样,每次调用都有可能发生改变的,放在接口;仅在特定状态下才需要改变的,就放在背景数据块中。封装、加密后,不允许改变的的就是灰色的,允许外部设置、读取的就是白色。



以下是引用宁超在2018-10-21 09:21:25的发言 >17楼:就是这么定义的标...

引用17楼详细内容:

就是这么定义的标准规范,这话题跟问井盖要做成yuan的还是方的好一样。实质就是绝对地址,FB获得封装后甚至加密,static变量可能会被fb内部逻辑改写值变的好象不可控,用户主动去改写staic的值甚至会破坏fb原有的正常逻辑。

以下是引用Zane在2018-10-21 01:00:03的发言 >14楼:和万泉河通了电...

引用14楼详细内容:

和万泉河通了电话后,我查了一下手册,STEP7和博图的,


S7的数据是这么定义的: 


1.全局数据 与 局部数据  两大类


2.全局数据为 M,全局DB,T,C


3.局部数据分为  局部静态数据   临时数据


(在定义方面,我认为两者没有太大的区别,博图的定义更加明确一些)


4.在STEP 7里直接了当地就告诉说局部静态数据可以被外部程序同全局DB一样访问,但风险自担


5.但在博图对静态数据的访问的描述就相当的暧昧了

    首先是鼓励用数据块及静态数据而不是用M/T,这和万侠的主张一致

    其次告知局部静态数据可以被外部程序同全局DB一样访问,但又不建议这么做,说有风险

    第三主张通过数据接口及多重背景实现数据的交换,但又怕造成多次数据交互造成的重复与浪费,不这么做那就是外部直接访问静态数据效率最高了


我还是比较同意shine的说法,简单点,就当全局变量用就是了。

    

   

关于这个“空”;其实也有些问题。

例如:当初西门子提供的驱动库。当出现掉站时,输出接口只显示故障,哪个站?没有输出引脚。

后来发现,信息就在背景DB中,真的需要时,访问它就是了。

假如做个输出引脚;你不连接变量,“空”在那里,照样看不见。


其实,对于这种小概率的访问需求,只要背景数据块中有注释(变量名称命名好了也行)。程序中不引用,在线查看一下,也能解决诊断问题。

如果完全私有,封装后完全看不见。那倒会造成麻烦。

我觉得背景块中的静态变量外部可访问,并不影响库程序的“标准化”。

学而时习之,不亦说乎?温故而知新,不亦乐乎?
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1200系列

共有15100条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

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