欢迎来到天天文库
浏览记录
ID:46893038
大小:360.75 KB
页数:12页
时间:2019-11-29
《FB块多次调用如何监控单个块的执行情况》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1直接监控存在的问题程序中经常会多次调用FB块,比如相同的阀,操作都是一样,可以编写一个FB块,然后对管脚填写阀对应的信息,如下所示新建阀的功能FB1。图1图2有两个阀需要控制,则调用两次即可。在实际运行中,想监控每个块内条件执行的情况,如果打开相应的FB1,发现和实际执行的情况不同,块内执行的情况无法用来判断实际工作情况,如下所示监控阀2的执行。图3如上图,监控阀2执行情况,实际输入/输出为TRUE,但是在FB1中监控看到执行条件未满足,和实际执行不符合,这是由于FB块多次调用,相互之间影响导致,
2、不处理无法监控到实际的执行情况。2处理的方法关于上述程序监控和实际不一致有几种处理方法:2.1方法一可以在功能块调用前增加条件,如果需要监控哪个块,使能调用条件,其他的不使能,执行情况如下图4所示,对阀2的监控。图4如上图,需要监控阀2执行,使阀1的调用条件M2.0不满足,阀2的M2.1条件满足,可以监控FB1,看到的是阀2的执行情况和实际的输入/输出一致。2.2方法二功能块结合相应背景数据块,对照查看执行情况,以阀2,背景数据块DB2对照监控,如下图5所示。图5如上图,FB1中监控的输入(aa)和
3、输出(bb)都是FALSE,未执行,可以根据阀2的背景DB2看到,实际都是TRUE,条件满足,执行输出。2.3方法三使用“CallEnvironment”的功能,选择相应的背景DB块,在FB中监控,具体操作如下。首先模式选择,打开相应的功能FB1,点击菜单中“Debug”,选择“Operation”,进行操作模式选择。图6进入“Operation”窗口,默认的是“Process”模式,进行监控需要选择“Test”模式。图7选择“Test”模式后,“Debug”菜单下的“CallEnvironment
4、”不是灰色,可以选择,如下所示。图8选择“CallEnvironment”进入设置“CallEnvironmentoftheBlock”窗口。图9勾选调用路径,如例子中FB1在OB1中调用,勾选打开数据块,这里选择的是“InstanceDBNumber”,FB1的背景数据块,如下图,需要对阀2的执行监控,则将“InstanceDBNumber”为2(阀2对应的背景数据块号),然后点击OK,设置如下。图10点击“OK”后退回到FB1窗口,然后点击“”在线,则可以监控阀2的执行情况。图11如果要监控其他
5、块的调用情况,像上面的操作修改“InstanceDBNumber”号即可,注意修改前需要进入离线状态,否则无法操作。如需要监控阀1的执行,将“InstanceDBNumber”为1(阀对应的背景数据块号),如下图。图12注意:方法三的操作位置在功能内,如例子中的FB1中,操作模式需要改成“Test”。2.4方法四直接用“MonitorwithCall-UpPath”的快捷键进行监控,操作如下。首先,进入功能FB的调用处,如例子FB1在OB1中调用,打开OB1,然后选择“Debug”菜单,进入“Ope
6、ration”窗口,将操作模式改成“Test”。图13操作模式选择“Test”后,打开调用FB的程序块,点击菜单栏上的下载按钮,下载程序。例如,在本例中FB1在OB1中被调用,需要打开OB1,点击下载按钮进行下载。这样点中FB1,右键“CalledBlock”下就会有“MonitorwithCall-UpPath”快捷键,如图15,如果不重新下载,或在块外部下载,不会出现上述快捷键,如图14。图15点击快捷键就可以直接监控,如下监控阀2的情况。图16同样可以监控阀1的执行情况,如下操作。图17注意:
7、1.需要在调用功能的块内将操作模式改成“Test”2.操作模式修改后,需要重新下载一次调用功能的块,如OB1,”MonitorwithCall-Uppath”才有效;3.如果调用功能的块关闭后,还要再进行监控,需要重新设置操作模式为“Test”,还要在调用功能的块内重新下载调用块,如例中,如果OB1已经关闭,则需要再打开,并在OB1中重新设置操作模式,然后再次下载OB1。综合上面的几种处理方式,可以根据实际选择使用。关键词FB,多次调用,模式DetailPages.ToPageTop
此文档下载收益归作者所有