工控课堂

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

工控课堂 首页 工控文库 PLC学习 查看内容

西门子300PLC程序用OB35调用PID块

2020-2-10 19:17| 发布者: 198366809| 查看: 1| 评论: 1|原作者: 198366809

摘要: pid最早是采用等电路器件实现的,是一个连续调节的过程; 在PLC里面实现pid当然就是个数字pid,其中一个重要的因素是采样时间,说的具体点,就是数字pid——在西门子plc里面就是fb41这个模块需要定时调用!比如放 ...
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 43 "PULSEGEN"
· 为了保证执行频率一致,块应当在循环中断 OB (例如. OB35) 中调用。
· 当 CPU  重新启动, 参数 "COM_RST" = true 将引导块的执行。
· "CYCLE"  参数对应的是扫描时间。必须将程序块调用的间隔时间赋值在这里  ( 例如基于 OB35 的时间 )。
· FB43 可以和 FB41 结合使用, 但是与 FB42 功能不同。
· 参数 "PER_TM" 必须从 PID 控制器 (FB41) 上设置扫描时间。
· FB41 的调用时间通过时钟分配器完成 (参考 FB43 在线帮助)。

注意:
由于 OB1 不能保证不变的循环时间,所以不能为 "CYCLE" 提供明确的参数。一旦 "CYCLE" 参数不能和扫描时间保持一致,那么基于时间的控制参数(例如. TI, TD)会看起来很快或者很慢。


路过

雷人

握手

鲜花

鸡蛋

相关阅读

发表评论

最新评论

huileizzz 2020-2-10 19:17
楼主您的技术水准,我最服你,其他都是浮云

查看全部评论(1)

热门文章

QQ|免责声明|本站介绍|工控课堂 ( 沪ICP备14007696号-3 )|网站地图

GMT+8, 2020-2-10 19:17 , Processed in 0.043411 second(s), 42 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

返回顶部