回复:FC块中线圈置位无法有效保持,触点断开后线圈自恢复

sangshunyang

  • 帖子

    618
  • 精华

    4
  • 被关注

    39

论坛等级:侠圣

注册时间:2017-02-14

白金 白金 如何晋级?

发布于 2019-03-18 23:05:10

14楼

展开查看
以下是引用阿甘致远在2019-03-18 09:34:48的发言 >13楼

Zane版,我试了下将全局数据块中的实参改为保持性和非保持性两种,仿真后结果是:output形参类型不保持,inout形参类型可保持。

度娘上看到一个解释:https://www.docin.com/p-2097831216.html

以下是引用Zane在2019-03-16 09:52:46的发言 >12楼:呵呵,FC的所有形...

引用12楼详细内容:


呵呵,FC的所有形式参数都是非保持的,数据是否保持看实参是否被定义为保持,楼主忙活了半天,定义的全局数据块是非保持的

还是没搞透FB ,FC块的调用原理:

这和保持不保持没有任何关系,保持非保持是指断电情况下数据是不是数值是否保持断电前的状态。FB ,FC块调用时首先向系统申请内存空间(FB块的输入,输出,输入输出,静态类型数据不再申请,用其对应的背景数据块DB,要申请临时变量类型的),接着来初始化,也就是 输入类型参数,输入输出参数类型传的值映射到对应的内存地址上,输出参数类型不会初始化,初始化时不会对对输出类型产生影响 。初始化还包果FB的静态类型,临时类型数据的初始化,FB块输入类型,输入输出类型,静态类型,用对应的背景数据块的数据进行(当然这些数据被参数已经修改过了的),FB块的临时类型数据也是随机的,即分配给该区域的内存数据是什么还是什么。FC没有对应的背景数据块,只能用对应的输入,输入输出参数来初始化相应区域的内存,没有办法初始化的数据(如:临时类型的变量,输出类型的变量),就用系统随机分配的数据。

     接下来才是处理用户程序,输出逻辑运算结果,然后把结果映射到输出类型,输入输出类型的变量上。当然这些数据对于FB来讲对应背景数据块中的一个存储区保存下来,对于FC只能映射的外部变量。

评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-1500系列

共有10698条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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