关于PID运行的原理

我是新手,在看PID方面的东西,有些疑问和个人理解向各位前辈请教!
 PID需要通过定时中断或是主程序中由定时器执行,定时中断smb34(35):5~255ms,最短5ms;定时器(100ms):最长32767,也就是3276.7s=54.6min。
 也就是说PID执行的时间间隔范围是从5ms~54.6min,不知我算的对不对?
 PID执行时都进行什么操作,数据采样,计算PID值并输出,这些需要都长时间呢,定时中断和定时器执行的用时一样吗?
 还有就是关于采样时间的设置,使用PID向导规定只能到3200.0s这个值,也就是说其最小精度只有100ms,对于定时中断的话(5~255ms)这个采样时间是不是太长了?
 问题好多,希望能一一解答,谢谢!

问题补充:
感谢您的回答!

最佳答案

1、PID指令的执行时间约为1000微秒。一个PID回路运行所需时间与模拟量的采样、计算等程序有关。但有一点可以肯定,只要不作无谓的工作,周期一定远小于100毫秒。
  2、你的计算是对的。但是用5毫秒定时中断作PID闭环控制是不合适的:PID是浮点数运算,完成一个过程可能要几个毫秒;密度太高,其它工作就没时间做了。54Min太长了,不符合控制实时性的要求。
  3、我觉得采样和PID计算输出频率取200毫秒一次是比较合适的。对一些缓慢过程我会把他延长到1秒。这要视对象而定。
  4、定时中断和定时器都是以CPU的时钟脉冲作为基准的。但定时中断是一个即时响应过程,而定时器的响应决定于程序的扫描周期。T32和T96两个定时器也可以提供定时中断,最长时间可以达到32.767秒,但优先级低于系统定时器。置于“定时中断和定时器执行的用时一样吗?”,我不清楚你描述的是什么。
 补充:回路表中的采样时间是PID计算的基础。微积分的计算是以两次数据获得的间隔时间为依据的,即模拟量的变化速率,是一个时间的函数。在数学意义上,就是对时间求极值。在CPU中,由于数据是离散的,只能以一定的时间内数值的平均变化速率代替极值,因此这个时间越短,精确度越高。而回路表中的采样时间一般是与模拟量的采样周期等同,这样计算的结果可以较真实的反映模拟量数值的变化速率。但是对一些缓慢系统,你也可以不理睬采样周期,而把PID回路中的采样时间与调用执行PID指令的周期相关联。这样做就是忽略掉周期中间采集的那些数值,减少CPU的负担。具体选择应根据对象的情况而定,不能一概而论。
 

提问者对于答案的评价:
感谢您的回答!

专家置评

不愧是专家,回答精辟。

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc357834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:07
下一篇 2021年7月5日 上午10:07

相关推荐

  • 请问EM253能和台达ASD-AB的接线吗?

    现在的情况是,EM253的p0\p1或者p0+\P0-和p1+\P1-输出好像都是5v的,而我看台达伺服的手册,都是要24v的。EM253真的没法和台达伺服连接吗??请查看台达的推…

    2020年10月31日
  • 按钮的设置

    我在编程软件中编制了一个启动/停止的程序,如下: Network 1 // 网络标题 // 网络注释 LD&n…

    SIMATIC S7-200 2021年7月5日
  • 谁有适用于PCS7 V7.0安装的英文操作系统

    全网找好久也找不到XP SP2 英,server2003 sp1标准版 英,之前有朋友给我一套软件和操作系统,是ghost的XP …

    SIMATIC S7-200 2021年7月5日
  • TP177B和S7-200连接电缆

    TP177B和S7-200连接,我选了网络总线连接器,还要选一根电缆,我有点不太清楚,到底是选Profibus_电缆(6XVI 830-0AH10)还是选MPI电缆(6E…

    SIMATIC S7-200 2020年11月1日
  • 诚恳求学

    请学长能不吝给一个TD400C的示用范例,我在应用时不能很好应用,谢谢了. 问题补充:有求诸位师长: 我把程序运行后,为什么一直显示我创立的第一个显示屏,用程序调用其它用…

    SIMATIC S7-200 2021年7月5日
  • AC怎么用

    LD     SM0.0TON    T43, #T:LW0LD &n…

    SIMATIC S7-200 2020年11月1日
  • CPU26PLC怎样与PC机通讯

    我的PLC是CPU226 如何才能用自由口与上位机的Wincc进行通讯?最好不加硬件! 专家建议 CPU226 与 WinCC 可以通过集成…

    SIMATIC S7-200 2021年7月5日
  • 1200程序下载到高版本CPU后会不会错误

    实物版本高,编程软件组态的CPU版本低 最佳答案 没影响,固件版本高支持的功能更多,程序里没用到那些功能可以正常下载。 提问者对于答案的评价:

    SIMATIC S7-200 2021年7月5日
  • S7-200与200CN

    S7-200.CPU226.REL.01.21的程序下载到CPU226CN.RET.02.01.PLC。程序在运行的时候数据显示不一样。如VD356里的数据是60980可是在VW3…

    SIMATIC S7-200 2017年11月4日
  • S7200 中&VB2100

    S7200 中&VB2100 与vb2100   AC1与*AC1都有什么区别?什么时候使用?能帮我解释一下吗? 最佳答案 先说作…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论