找答案的高端用户(找答案钻石及双钻级别的用户)将尽可能从此问题下的所有回
答中,为您推荐最佳答案。届时您可以根据推荐数采纳答案。
如果自提问时间起7天内您仍无法选出最佳答案,您可以选择“无满意答案”关闭此问题。
问题
取消精华
首页精华问答
取消推荐
高端用户推荐
申请置评
已申请置评
修改
修改标签
添加标签
官方认证
取消官方认证
修改标签
添加标签
转移分类
删除
{{itemCategory}}
收藏({{answerDetail.Q_FavoriteCounts}})
手机扫码追踪该问题,
觉得实用,立即去分享!
点击复制链接
专家建议
取消最佳答案
修改
一般你在编程插入功能块FB时会自动产生对应的背景数据块DI,DI里面的数据是自动生成的,对应于其FB的变量声明表中除临时变量(TEMP)外的数据,背景数据块DI用于FB传递参数,FB的实参和静态数据存放在DI中,调用FB时自动打开DI,DI只能被特定的FB访问;
一个FB可以有多个DI,使FB可以控制不同的对象,比如,西门子书经常用搅拌机作为例子,两种原料要两个电机控制,加上搅拌电机,可以只用编程一个FB快,自动生成三个DB,而把三个电机参数分别放在不同的数据块DB中,这样通过调用不同的数据块DB来简化程序;否则必须编辑三个FC快来分别控制三个设备;
数据块DB是用来存放程序执行时所需要的变量数据的数据区(即逻辑快FB或FC的实际参数,而FB或FC只有形参,在调用时再指定相应的DB),与FB或FC不同,DB中没有指令,STEP7 按数据形式自动地为DB的变量分配地址;即FB或FC只有形参,而实际参数保存在DB中,打开DB里的数据时,必须指定为DB的绝对地址,如DB1.DBW2;
FC是用户编写的没有固定参数存储区的快,其临时变量存储在局部数据堆栈中,FC执行结束后,这些数据就被其他数据覆盖了;FB是用户编写的有固定参数存储区(DI快)的块,在每次调用FB时,要给FB提供各种不同的数据,同时FB也要返回数据给调用它的块;
当然DB分共享数据块(Share Block),通常说的DB,所有的逻辑快(如FB、FC、OB等)都可以在DB中进行数据的读写
例如FB1的具体调用
CALL FB1,DB1
Switch_On :=I20.0
Failure :=I20.1
其中“=”前面是FB1中用符号地址表示的行参,“:=”后面是存储在背景数据DB1中的实参,为了程序的可读性,一般都用符号地址表示行参和功能块和数据块,它们是一一对应的
等您来回答
换一换
{{item.CoinValue}}西币
{{item.VisitNum}}人想问
本版相关问题
换一换
专家置评
首次回答问题,获得
双倍西币积分!
立即成为技术知识分享的一员!
欢迎您访问支持中心!
丰富的视频,全方位的文档,大量的网友交流精华……
为了更好的完善这些内容,我们诚邀您在浏览结束后,花20秒左右的时间,完成一个用户在线调查!
感谢您的支持!

官方商城-正品备件
DIOMIS