回复:单实例DB块、多重实例DB块、参数实例DB块

Siemens_高级编程

版主 西门子1847工业学习平台

  • 帖子

    87
  • 精华

    0
  • 被关注

    1

论坛等级:游侠

注册时间:2021-06-16

白金 白金 如何晋级?

发布于 2026-03-27 09:10:06

6楼

展开查看
以下是引用Amir在2026-03-27 08:27:35的发言 >3楼

问题2和问题3

1.边沿、定时器、计数器要写在 FB 里

2.边沿存储位不用定义,只要在FB的Static里定义数据类型为R_TRIG的形参即可

3.多重实例,即在父FB里统一定义Static,子FB块封装好后只要不调用是不会产生DB块的,如在父FB块里调用多个子FB块,由于统一定义了Static,也只会生成一个DB块

4.课程里之所以使用了边沿存储位M0.0是因为使用了FC块,如果不定义边沿存储位,由于FC块没有DB块,系统就会在系统块-程序资源中自动生成DB块,而这种做法是不规范的编程方法

您看理解的对不对

问题2和问题3

  1. 边沿、定时器、计数器要写在 FB 里

    这样处理不用担心边沿、定时器、计数器被重复使用


2.边沿存储位不用定义,只要在FB的Static里定义数据类型为R_TRIG的形参即可

因为多重实例中已经包含了边沿存储位


3.多重实例,即在父FB里统一定义Static,子FB块封装好后只要不调用是不会产生DB块的,如在父FB块里调用多个子FB块,由于统一定义了Static,也只会生成一个DB块

在父FB块里通过定义多重实例调用多个子FB块,调用父FB块也只会生成父FB的背景DB块


4.课程里之所以使用了边沿存储位M0.0是因为使用了FC块,如果不定义边沿存储位,由于FC块没有DB块,系统就会在系统块-程序资源中自动生成DB块,而这种做法是不规范的编程方法

P_TRIG    需要定义边沿存储位

R_TRIG 就是个FB,FC中调用FB自然需要单独的背景DB




评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

PLC编程精英训练营

共有1610条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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