技成培训网 技成学习APP 技成工具箱 技成企业服务

欢迎回到技成培训网

技成培训网

电工题库宝典

技成电工课堂

PLC练习题

技成PLC课堂

变频器故障查询

技成PLC学吧

伺服驱动故障查询

技成PLC网校

当前位置:技成首页 > 文章中心 > 技成百科 > FB2中定义本地实例FB1,监控发现FB2的背景DB数据没改变啊,FB1的一直在变

FB2中定义本地实例FB1,监控发现FB2的背景DB数据没改变啊,FB1的一直在变

刘玉蓉 发布于2014-11-27 17:35 492 0 标签:

如题,具体编程如下:纯手打......
(****FB1的****部分没用的省略*****FB1的符号为FB1_INSTANCE**)
FUNCTION_BLOCK FB1_INSTANCE
VAR_INPUT
IN:INT;
END_VAR
VAR_OUTPUT
OUT:INT;
END_VAR
VAR
END_VAR
BEGIN
OUT:=IN+1;
END_FUNCTION_BLOCK
(*********FB2的****部分没用的省略**FB2符号FB2_INSTANCE**********)
FUNCTION_BLOCK FB2_INSTANCE
VAR_INPUT
IN1:INT;
END_VAR
VAR_OUTPUT
OUT:INT;
END_VAR
VAR
FB_INSTANCE:FB1_INSTANCE
END_VAR
BEGIN
if(FB1_INSTANCE.OUT>10)
then OUT1:=IN1+1;
else OUT1:=IN1+2;
end_if;
END_FUNCTION_BLOCK
(****************OB35中执行先FB1******************************)
DB1.DBW0给IN      DB1.DBW2给OUT
/////////////////段2中执行以下代码
L DB1.DBW2
L 2
+I
T DB1.DBW0
////////////段3执行FB2

问题补充:
嗯,练习下,等下回去再看下,这不是原来执行不成功的程序,按照那个现写的一个。没人回就给你吧

佳答案

按照你的描述,FB2中OUT1:=IN1+1或IN1+2,每次执行时IN1的值没发生变化,所以OUT1的值也不会改变的。应该是程序问题。
你可以优化一下你的程序,此功能在一个块中实现即可,为什么要使用多重背景呢,还是为了练习呢。

若有收获,就点个赞吧!

文章来源于网络及文献如有侵权请联系站长
分享到:

微信扫一扫分享

阅读与本文标签相同的文章

相关推荐

最新文章 热门文章
最新课程 免费课程
PLC资料下载 电工电气资料下载
应用新秀
变频器故障代码查询APP
伺服故障代码查询APP
技成
手机APP
热门标签