西门子 300中的ob35使用
郑志武
发布于2013-12-04 16:09
4
1
标签:
关于300,在做pid控制时候的程序一定要在ob35中做吗?不怎么懂这些中断程序
佳答案
1、ob35是在一个固定的时间间隔执行循环中断组织块,默认的时间间隔为100毫秒,用户可以修改此时间,其范围1---60000毫秒。换言之,ob35程序按照设定的执行周期循环执行,例如设置为100ms,则每隔100msob35程序被执行一次。
2、pid控制时候的程序一定要在ob35中做吗?
pid不是非要在ob35中,也可以在ob1中。
转帖:
其中一个重要的因素是采样时间,说的具体点,就是数字pid——在西门子plc里面就是fb41这个模块需要定时调用!比如放在ob35里面,那么ob35(默认100ms)的执行周期就是数字pid的采样时间,这个100ms是数字pid运算公式里面的一个重要参数!所以,把fb41放在ob1里面执行,表面看也是可以执行的,但运算结果其实是偏离了理论目标。由于ob1扫描周期不固定,所以结果很难预料。单说运行是可以的,但用ob35调用,可以有好的控制精度不是说非要作在ob35里,而是指从ob35调用主要是0b35以固定周期运行,数字化pid的采样周期t必须是等间隔的,所以要用定时中断来触发。pid在定时中断中执行是因为定时中断准确,是以设定的周期执行的,除非有更高优先级的中断同时发生.而主程序的执行周期不是定长的,在主程序中的定时器的精度也受扫描周期的影响.ob35中断周期:按所设定的时间间隔产生中断。即采样周期:常指在周期性的采样系统中,当对一模拟量进行采样时,两次采样之间的时间间隔。
原理上,pid的调节节奏应该与其采样周期一致,这是数学模型应与物理过程一致的要求。这也就是fb41要在ob35中周期调用且ob35的周期要与fb41采样周期一致的原因。当然,在ob1或其他fc、fb中调用fb41也是可以的,此时好将ob1参数区中扫描周期作为fb41的采样周期。