发布于 2010-08-05 01:35:07
101楼
FB 58的一些使用经验
FB58用于温度控制,具有很高的性能价格比,由于其带自整定的功能,输出形式模拟量开关量兼顾,因此执行代码比较大,在CPU315-2DP以下的中低端CPU上使用多回路控制,很多人担心会影响控制性能。
当然,随着控制回路的增加,处理速度对控制性能的影响肯定是有的,但如果在允许的精度范围内,以较高的中断速度来处理10-20控温回路还是有可能的,
具体如下:
1.大多数的温控系统都不属于快速响应系统,其采样周期属于秒级,甚至达到几十秒,我们可以取一个较快的采样周期比如4秒
2.我们都知道,FB58有一个Select的调用模式参数用于脉冲控制的各种调用选项。在一个快速过程中,需要特别短的脉冲发生器采样时间(例如10 毫秒)。由于程序运行时间(CPU 使用率)的存在,在脉冲输出计算所在的周期性中断OB 中处理控制程序段是不现实的。因此,或者将控制功能移到OB1 中,或者将其移到一个较慢的周期性中断OB (S7-400)中。详细参见FB58的手册
3.在S7-300中,推荐在快速中断OB35中调用FB58 Select= 2,在在OB1 中通过SELECT = 1执行条件调用(QC_ACT =TRUE)
4.假如我有20个控制回路,OB35中断时间为10毫秒,我的采样周期为4秒,那我可以把20个控制回路分为4组,OB35每10毫秒处理1组5个回路,由于在SELECT=2的模式下,FB58这是执行脉冲输出的程序,一次处理时间极短,10毫秒内处理5个回路是绰绰有余的,相关参数
CYCLE = 4 秒
CYCLE_P = 40毫秒
PER_TM = 4 秒
其控制精度应该在1%
5.其实,此时如果不用脉宽调制输出,直接在OB1中使用模拟量输出形式来控温也是允许的,这就给我们带来的极大方便,所以无论你是否使用pwm形式来控温,建议程序上都采用这种形式,以不变应万变,同时可以最大限度的利用到系统的资源
6.在上述模式下,只要将控制器最小输出值LLmn改为-100%,即可实现双向温控,比如用模拟量输出控制冷却水比例阀,同时用PWM控制加热
Zane
注册自动化系统工程师
Always save before download