关于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日
下一篇 2021年7月5日

相关推荐

  • RS485与224通讯问题

    现,一个PLC和多台485输出仪表通信,直接可用吗?怎么选择地址?不可以,有什么办法?详细点,能否举例? 问题补充:1楼,能否说面下,是用modbus还是ASCII协议?这个不是很…

    SIMATIC S7-200 2021年7月4日
  • 虹润电流型温度转换模块怎么接线,A+A-接模拟输出模块和信号输出表都没问题,接电阻就不行了。

    我用虹润温度转换模块4-20MA,接到CPU224XP CN 模拟输入模块EM231 AI8*12BIT 上,拨码开关3和5为ON其余为OF…

    2018年12月2日
  • 什么是算术状态位

    请教:图示文字中算术状态位是什么意思 图片说明:    最佳答案 如图,%ignore_a_1%1 这个特殊寄存器字节,指令执行状态字节,共&nbsp…

    2021年7月5日
  • 程序储存

    我程序的4096步都用忙了,可是都还没有编写完毕。我应该如何做呢?要配置什么东西才能可以呢?谢谢 问题补充:我选用的CPU226的机子,程序储存空间为10K,但是我程序还没有别编完…

    SIMATIC S7-200 2021年7月5日
  • 西门子S7-200PLC与触摸屏进行通讯时间问题

    PLC触摸屏时钟设置如下图,触摸屏设置输入/输出IO域类型是16进制,PLC的设置也是16进制,但在触摸屏上显示的是16进制吗?要不要转换成十进制呢? 问题补充:我想实现的功能是P…

    2021年7月5日
  • 怎样写程序

    我很模糊,不知道怎样来写好一个程序。 最佳答案 完全是新手的情况下,可以先从模仿做起,参照资料或光盘的例程编写程序通过实际PLC来验证其功能,从而体会到每条的实际意义。要想快速了解…

    SIMATIC S7-200 2020年11月1日
  • s7 200如何合并程序

    s7 200如何把两个程序合并到一起,现编制一个程序,为了调试方便,把几个程序分开编制,能不能把几个小程序,合并到一起来 问题补充:拷贝,粘贴,有没有更好的办法 最佳答案…

    SIMATIC S7-200 2020年11月5日
  • 200PLC模拟量库转换到200Smart失败

    SMART200没有模拟量库文件,只有从200里面转换,为什么我建了之后不行,估计没建立好,哪位师傅有具体的链接或者说明最好,但为什么会出现这样呢?如图 最佳答案 200smart…

    SIMATIC S7-200 2021年7月5日
  • 自由口通讯程序问题

    下载亚控的自由口通讯程序到226PLC中,可以实现自由口通讯,但是没有数据采集功能,于是想其中加入自己的数据发送代码?不知在哪里加?试了几次不行。 问题补充:提供的自由口通讯程序是…

    SIMATIC S7-200 2021年7月5日
  • 200PLC 235模拟量模块上的拨码开关怎么使用

    我有4个传感器每个传感器都是(0-5V)输入。请问我该怎么调拨码开关。 最佳答案 模拟量输入模块可以通过拨码开关设置为不同的测量方法。开关的设置应用于整个模块,一个模块只能设置为一…

    2017年6月18日

发表回复

登录后才能评论