网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
STEP7程序中为什么要用OB35调用PID块
作者:管理员    发布于:2015-05-31 10:30:06    文字:【】【】【
 pid最早是采用运放等电路器件实现的,是一个连续调节的过程;
       但是数字电路里面要实现pid,就要进行“离散化”,你可以查阅数字pid的相关资料。在大学自控专业的相关教材里面对此有详细的理论公式推导。
       在plc里面实现pid当然就是个数字pid,其中一个重要的因素是采样时间,说的具体点,就是数字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 的采样周期。
       FB 41 "CONT_C" 为了保证执行频率一致,块应当在循环中断 OB (例如. OB35)中调用。
"CYCLE" 参数对应的是扫描时间。必须将程序块调用的间隔时间赋值在这里  ( 例如基于 OB35 的时间 )。
 缺省状态下为手动模式 (MAN_ON=true)。自动回路被中断,在MAN参数下输出控制值。
 为了确保手自动的无扰切换,在手动模式下至少保证两次块调用的输出时间。
 当 CPU 重新启动, 参数 "COM_RST" = true 将引导块的执行。
 参数 "COM_RST" 中断PID控制器的执行。
 FB 42 "CONT_S"
 为了保证执行频率一致,块应当在循环中断 OB (例如. OB35) 中调用。
"CYCLE" 参数对应的是扫描时间。必须将程序块调用的间隔时间赋值在这里  ( 例如基于 OB35 的时间 )。
 缺省状态下为手动模式 (LMAN_ON=true)。
 当 CPU 重新启动, 参数 "COM_RST" = true 将引导块的执行。
 参数 "COM_RST" 中断控制器的执行。
 参数  "PULSE_TM" 和 "BREAK_TM" 被设置为 "CYCLE" 参数的整数倍。
 FB 43 "PULSEGEN"
 为了保证执行频率一致,块应当在循环中断 OB (例如. OB35) 中调用。
 当 CPU  重新启动, 参数 "COM_RST" = true 将引导块的执行。
"CYCLE"  参数对应的是扫描时间。必须将程序块调用的间隔时间赋值在这里  ( 例如基于 OB35 的时间 )。
FB43 可以和 FB41 结合使用, 但是与 FB42 功能不同。
 参数 "PER_TM" 必须从 PID 控制器 (FB41) 上设置扫描时间。
FB41 的调用时间通过时钟分配器完成 (参考 FB43 在线帮助)。
 
注意:
 由于 OB1 不能保证不变的循环时间,所以不能为 "CYCLE" 提供明确的参数。一旦 "CYCLE" 参数不能和扫描时间保持一致,那么基于时间的控制参数(例如. TI, TD)会看起来很快或者很慢。
浏览 (94) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:管理员
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们