工控编程吧

标题: 关于FB块停止扫描后背景数据仍然保持的问题 [打印本页]

作者: baikhgmv    时间: 2016-9-17 12:25
标题: 关于FB块停止扫描后背景数据仍然保持的问题
关于FB块停止扫描后背景数据仍然保持的 在使用FB块的时候。如果停止调用FB块,FB块的背景数据块依然保持。输出也依然保持着。

    有没有什么方法,在FB块停止调用之后,清除背景数据块的内容。

    看到一些做法是,这类根据状态调用FB的做法,需要在首次调用有初始化,断开调用前,要做关闭处理。在调用之前怎么初始化FB块,断开调用钱,怎么做关断处理。

    本人小白。。。希望大家能帮助一下。

    谢谢大家了!



-----在调用FB之前程序段,用同一个调用逻辑位处理。上升沿处理FB背景块初始化,下降沿处理FB背景块关断复位;各一次。

这种方式,模块化不好。


---------为什么要做停止调用FB呢?FB块第一程序段数据清除功能



---------不管你是否停止调用(操作EN使能),停止调用总是会存在。例如:多层嵌套的调用时,顶层的就可能判断,跳转、退出;那么中间的各层调用将会不在被调用,存在同样的问题。

每次循环都调用FB的方式,模块化好。也就是为什么通常要求要用个 REQ(上升沿)来重新启动、初始化FB的原因。


------逻辑程序就应该做全扫描,这么做不合理


--------说实话, 不止一次这样思考过。 如果能实现, 确实在很多场合用起来更舒服,更方便。

但前处理后处理实在麻烦。 尤其是后处理。 FB程序块中永远不会知道哪一次是最后一次。


所以还是不要这么规划的好。后患无穷。


------你好,请问如何清除背景数据块。我查阅了很多资料,都没有说清楚如何清除DB块的数据。我是小白,见笑了。


-------如果RST指令能清除背景数据块和DB块就好了。。。


--------程序规划,相对于写作文的大纲。大纲出了问题,后面就很难写出好作文了。


-------用SFC20。

把一个初始生成的背景数据块的所有内容整体复制给当前的背景数据块,可以实现你的所谓清除功能。








欢迎光临 工控编程吧 (https://www.gkbc8.com/) Powered by Discuz! X3.4