关于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

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日
下一篇 2021年7月5日

相关推荐

  • EM235模拟量采集干扰问题

    最近有个项目使用西门子224CN后接一个EM235模块采集0-10V电压信号,接线无问题,A-与M连接,屏蔽接地,系统采用三相五线制接法,而现场供电为四线制,发现采集数据大范围波动…

    SIMATIC S7-200 2020年11月1日
  • 工程问题(相信大家都会遇到)

    目前工程结束后,后续付款问题,成了一个大问题。大家有没有什么好方法????  问题补充:有没有定时触发硬件SF故障,然后程序自己毁掉导致有故障的代码,这样即使用户有密码,…

    SIMATIC S7-200 2021年7月5日
  • S7-200的复杂循环控制问题

    有六个工位,现在要求1,2,3工位依次工作且能循环即1到2,2到3,3到1,循环次数可设。循环次数到后4,5,6工位开始依次工作也能循环。请高手给个编程思路或采用什么语句写的方便可…

    SIMATIC S7-200 2021年7月4日
  • 关于“西门子S7200PLC数据线”的问题?

    向高手请教一下:西门子S7200的数据线有三种,PC/PPI编程电缆、RS-232/PPI多主站编程电缆和USB/PPI多主站编程电缆,这三种编程电缆有什么区别啊,什么是PPI,什…

    2019年6月11日
  • S7-200PLC用485通讯 modbus指令带22变频器及6个温控器,求教

    今有一条生产线,需要用485带通讯2根线带多个变频器和温控器,通过触摸屏给定变频器的运行频率并显示,通过触摸屏给定温控器温度并显示实际值,请问:1如何保证通讯的质量是否要在通讯中加…

    SIMATIC S7-200 2017年11月2日
  • 请教用来PLC编程笔记本的配置

    低价位笔记本初装操作系统大部分是DOS或LINUX,这样的本本行不行,要做些什么处理才可以用? 最佳答案 低价位笔记本初装操作系统大部分是DOS或LINUX? 好像不是这…

    SIMATIC S7-200 2021年7月5日
  • 如何实现—|P|—-功能

    最近做一项目 如下指令编译时可以通过,下载到PLC就显示:非致命错误 下载失败: LD     SM…

    SIMATIC S7-200 2021年7月5日
  • 死机问题

    PLC是新装的程序可运行没几天,就一直死机.显示系统问题,请各位大狭指点.谢谢 最佳答案 CPU问题应该不会有!你用手摸下CPU的外壳是否很烫,不烫就不是CPU硬件问题&#8230…

    SIMATIC S7-200 2021年7月5日
  • 计数器怎样实现中断后连续计数

    我想在s7-200中实现计数到2000s   到1000s时如果需要暂停(v2.0),然后用(v2.1)恢复计数到2000s  &…

    SIMATIC S7-200 2020年11月1日
  • 数据保持

    编一个程序,要在断电后保持高速记数器的值,我把HC0送入到MD0,并把MD0在系统块中做了断电保持,上电时用SM0.1将MD0送入SMD38,结果是有时保持正确,有时不正确,请赐教…

    SIMATIC S7-200 2021年7月5日

发表回复

登录后才能评论