技术论坛

 回复:1200FB块调用出现的奇怪现象

返回主题列表
作者 主题
吉利
侠士

经验值:1486
发帖数:268
精华帖:2
楼主    2014-09-19 11:39:10
主题:1200FB块调用出现的奇怪现象
做了一个FB功能块,内部用了2个多重背景定时器,9次调用FB块。定时器有时能正常计时,有时死掉一直接通,只调用一次和多次调用的情况相同。不知是何原因,请知道的高手指点迷津,谢谢!

吉利
侠士

经验值:1486
发帖数:268
精华帖:2
3楼    2014-09-25 10:37:54
精华帖  主题:回复:1200FB块调用出现的奇怪现象
经过3个多小时的折腾总算找到了问题(心情好),其实错误不在FB块内部,而是出在“能调周期时间PT”这个管脚的参数设置上。这几天一直在忙整机调试和交接验收工作,今天才有时间过来把产生问题的原因分享给大家。
这个FB块一供调用了7处,其中有6处调用时运行一直正常(稍有信心),足够证明FB块本身应该不存在错误。但在另1处调用时FB块输出没有动作(头大),只好暂停其它程序调用FB块,针对此处的调用进行FB块内部监控,打开FB块点监控按钮,把块内程序细看一遍,看到FB块的定时器#IEC_Timer_0_Instance全通且不计时,改变FB块的输入管脚“能调周期时间PT”的设定值问题照样存在,好端端的定时器为何不计时的呢(纳闷),查看#IEC_Timer_0_Instance是多重背景定时器,有6处调用能正常运行应该选择没错呀。
心急之时改变检查思路,对照本FB调用与其它6处有何不同,把每个输入管脚的参数都比对一下,发现本处FB块的“能调周期时间PT”值是由屏录入的,其它6处是程序给的固定值,感觉到了一线希望。立即设置“能调周期时间PT”值=6S,对FB再进行监控,哈哈!FB块能输出了,坚信问题就出在此处,再将“能调周期时间PT”值=0,FB块出能输出的问题再现,经过多次的测试,确认FB块无输出的问题就是“能调周期时间PT”值=0引起的。
归纳原因:FB块内定时器PT值必须在调用FB块之前设置不等于0,定时器才能正常计时,如果在调用FB块之后进行PT值设置,定时器不能计时。

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