原创 FB41多次调用

2011-2-15 09:46 3865 6 6 分类: 工业电子
原则上是可以无限使用的,因为每次调用FB时指定不同的背景数据块,即使是同一个FB。
至于OB35,循环中断组织块,不会影响运算速度的,这只是一个一个中断,如果中断程序太长,当然会使你的执行时间相对变长,但是不会太明显,毕竟机器周期还是我们无法感觉到的
另外:您必须确认循环中断OB 每一次运行的时间一定要短于中断的间隔。如
果一个循环中断OB 没有执行完,循环中断时间到,又要求循环中断OB 运行,
则时间故障组织块OB80 启动。循环中断导致故障程序的运行

相关资料:
《用Step7中SFB41/FB 41、SFB42/FB42、SFB43/FB43实现PID控制 》下载:
http://www2.ad.siemens.com.cn/Download/Upload/AS/application/A0018.pdf

41是PID调节模块,这个PID调节是需要采样周期的,也就是说隔多长时间这个PID对外部数据进行一次采集和运算的,OB35就正好能提供100MS的扫描周期,也就是说如果把FB41放在OB35里面,它的扫描执行周期就是100MS,这都是比较经典的 用法,但是也不一定就必须放在OB35里面执行,如果你对PID的要求不是极端精确,你可以把FB41放在OB1或者其他的时间中断组织块(OB30-OB38)里面执行,这就要看现场的需要和控制要求的精确度了,根据需要自己掌握的,时间中断组织块可以自己修改中断时间的。

PID的使用FB41在S7-300/400里有啊,需要自己插入,中断时间可以设置1-6000MS
其实你可以用别的方法如
OB30 0(5s) 
OB31 1(2s) 
OB32 2(1s) 
OB33 3(500ms) 
OB34 4(200ms) 
OB35 5(100ms) 
OB36 6(50ms) 
OB37 7(20ms) 
OB38 8(10ms) 
这些OB你都可以使用,都是定时中断调用.但是你要和你PID的采样周期设置对应

由于是在周期性中断快OB35中直接调用控制块FB41(PID连续控制器),只需在FB41块的CYCLE参数中输入采样时间即可;
这里有两个时间必须搞清楚,一个是循环中断快OB35,其循环中断时间是由CPU操作系统控制的,每隔500毫秒(默认100毫秒,可以在CPU属性中设定)执行一次循环中断程序执行,同时调用FB41进行PID调节;但采样时间是控制FB41的,即可以每隔一定时间(如你这里设定为5秒)重新采样一次,输入数据刷新一次。采样时间是是在CYCLE参数中输入的,数据格式为“TIME”。
如果循环时间设定为500毫秒,意思是每500毫秒OB35调用FB41作一次PID运算;而采样时间CYCLE意思是块FB41调用之间的时间,块调用的时间必须恒定,否则FB41控制块中的值不正确;可以设定循环时间与采用时间一样,即OB35每5S执行一次FB41里的PID计算。但一般不会设定5秒这么长时间,一般设定PID采样周期CYCLE为200毫秒

 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
6
关闭 站长推荐上一条 /3 下一条