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

已锁定

askab

  • 帖子

    405
  • 精华

    5
  • 被关注

    34

论坛等级:侠圣

注册时间:2005-07-24

黄金 黄金 如何晋级?

发布于 2020-12-29 20:42:18

10楼

  1. 可以不用讨论

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

   当你人为或者自动写入新值,每次下载前,首先作为新的初始值,已经被定义了,你可以理解从从新制作了一个DB_NEW,原来的为DB_OLD (只是这个new 是在OLD里写入了新值),但实际上是一个新的DB块了,只是两者数据结构一致。

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

       在运行后,会计算或者逻辑处理过程后,会产生新值,这个是必然的,那怕这个值不变化 也是新的值,因为是你现在此刻在运行需要的数据,

你的目的,是如果我要下载DB块,希望下载新值,而不是初始化值,甚至不是前一刻的值。因为你认为目前的这个值是你需要的,

那就存在问题,数据实际值是不停的刷新的,只要PLC 在运行,哪怕现场部分甚至全部设备都没有工作,也是有可能变化的,例如数据错误处理,时间诊断,等等,都是不断的在变化,你怎么能保存某刻的值,来当做后续需要的值,

只能保存一个相对变化小的值(或者非常重要的值) ,当系统PLC从新开机后者现场设备从新运行时,将这些数值刷入,例如,在OB100 上电时刷入,目的,保证你的工作实效性,而不是数据的排他性,因为对系统来讲,永远没有新值,都是过程值,

其实道理很简单,就像我电脑PC装好软件,当出现问题,我GHOST到我需要的那个点即可。

同理,例如 当生产5个零件 每个分5步,但当生产到第3个的第4步开始时,突然断电或者出现故障,你只需要恢复第3个第3步结束时的状态,然后初始化第4步的条件即可。

AA.当然,你可以可以将共享DB1的值 连续赋值到一个背景数据DB2里,想当于 COPY DB1 TO DB2 , 然后当满足你的中断调节(即后面的数据变化对你不在存在意义),DB2不在被调用,那么退出调用的时刻起,DB2可以被理解为最后的实时数据,当需要下载时,COPY DB2 TO DB1 刷新一下,就行,

因为我不清楚你的工艺要求,但 我一般恢复数据就这样做的 AA 过程。

大家同行,you ok ? me !
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54710条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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