回复:关于DB块的初始值和实际值

已锁定

TIA很慢

  • 帖子

    454
  • 精华

    1
  • 被关注

    10

论坛等级:侠圣

注册时间:2020-03-22

普通 普通 如何晋级?

发布于 2020-12-26 09:29:11

9楼

展开查看
以下是引用askab在2020-12-25 20:00:51的发言 >8楼

首先需要清楚西门子DB块 分为背景数据块DB-1 和共享数据块DB-2

当1 被创建后,下载前,已经部分甚至全部赋值,这个时候,你可以理解,这个就是初始值。当该FB被调用执行后,部分甚至全部数据值发生了变化,这种变化可能是连续的或者周期的,也可能是唯一 一次的变化,甚至不会变化,但都被定义为当前实际值。 例如 递增/减 是连续变化,阶跃响应可能是周期性变化,判断逻辑或运算结果是否错误,可能永远不会变化,因为没有出过错误的情况下。

但如果1没有被调用执行,则该DB赋值始终是不会变化的,但有值 。

2 即使下载后,如果没有调用执行,则初始值始终不变,换句话将,BOOL = FALSE INT =0 WORD= W#16#0 real =0.0 等等。当没有调用 初始值= 实际值。

接下来说你的需要。

请问如何将监控的实际值全部保存为数据视图填写的实际值?

你监控可以是一个时段或者一个瞬间,甚至是从开始到这个PLC报废为截止。

但我不清楚你说的将监控的实际值全部保存为数据视图填写的实际值,这个数据视图是个什么概念,

如果是要求初始化,你可以按照你的要求将初始值从新写入,但前提,是工艺是否可以。

例如 做个零件,有5个步骤,这5个步骤结束,需要制作下一个零件前,则必须初始化你的数据,

但如果是连续生产的工况,不存在循环状态,则禁止初始化。

如果是要求将 当前实际值以图形的格式进行显示或者保存,那么很多工控软件都可以做到。例如WINCC Intouch等等。

我的回答可能跟你的需求不符,请见谅!


谢谢,这里说的就是共享数据块。感觉初始值这个概念对于背景数据块更重要。初始值对于共享数据块则意义不大。

1.声明视图中填写初始值,这个值仅在下载第一次起作用,后面有可能被实际值或程序中修改,除非下载前执行初始化。

2.数据视图中填写实际值,填写了就是新值,没有填写默认就是初始值,并且每次下载都会起作用。

3.监测时会得到另一个实际值,这个值在WINCC中由用户设定的,与数据视图中填写的实际值不一致。

因为第3个值一般是真正需要的,所以为了避免后面下载DB块中将错误的值2写入CPU中,需要将2设为3,请问这个有便捷的批量修改的方法吗?


评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54761条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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