分享

精通S7-200 PID系列教程--PID介绍

 zsok 2015-07-16

写在前面

PID的使用一直是初学者面前的拦路虎,本文以西门子S7-200为例讲解PID的使用,力求以通俗易懂的语言把其中的难点、重点描述出来,希望能对于没有控制理论基础的人理解PID有帮助


精通S7-200 PID系列教程--PID介绍

文/PLC技术支持

图/网络


1、PID是什么

在工程实际中,应用最为广泛的调节器控制规律为比例、积分、微分控制,简称PID控制,又称PID调节。由比例单元P、积分单元I和微分单元D组成。这么说对于没有基础的可能比较难理解,下面用一则故事解释。

小凯接到这样一个任务:有一个水缸有点漏水、而且漏水的速度还不一定固定不变,要求水面高度维持在某个位置,一旦发现水面高度低于要求位置,就要往水缸里加水,这里水面高度就是系统的设定值(给定值)。实际过程中的水位是系统的实际值(反馈值)

小凯接到任务后就一直守在水缸旁边,时间长就觉得无聊,就跑到房里看小说了,每30分钟来检查一次水面高度。水漏得太快,每次小凯来检查时,水都快漏完了,离要求的高度相差很远。于是小凯改为每3分钟来检查一次,结果每次来水都没怎么漏,不需要加水,来得太频繁做的是无用功。几次试验后,确定每10分钟来检查一次。这个检查时间就称为采样周期(T)


开始小凯用瓢加水,水龙头离水缸有十几米的距离,经常要跑好几趟才加够水。于是小凯改为用桶加,一加就是一桶,跑的次数少了,加水的速度也快了。但好几次将缸给加溢出了,不小心弄湿了几次鞋。小凯又开始动脑筋了,我不用瓢也不用桶,老子用盆,几次下来,发现刚刚好,不用跑太多次,也不会让水溢出。这个加水工具的大小就称为比例系数(P)。

可新问题又出现了,虽然不会加过量溢出,但有时会高过要求位置比较多,还是有打湿鞋的危险。聪明的小凯又想了个办法,在水缸上装一个漏斗,每次加水不直接倒进水缸,而是倒进漏斗让它慢慢加。这样溢出的问题就解决了,但加水的速度又慢了,有时还赶不上漏水的速度。于是他试着变换不同大小口径的漏斗来控制加水的速度,最后终于找到了满意的漏斗。漏斗的时间就称为积分时间(I)。

小凯终于喘了一口,但任务的要求突然变严了,水位控制的及时性要求大大提高。一旦水位过低,必须立即将水加到要求位置,而且不能高出太多,否则不给工钱。小凯又为难了!于是他又开努脑筋,终于让它想到一个办法,常放一盆备用水在旁边,一发现水位低了,不经过漏斗就是一盆水下去。这样及时性是保证了,但水位有时会高多了。他又在要求水面位置上面一点将水缸凿一孔,再接一根管子到下面的备用桶里,这样多出的水会从上面的孔里漏出来。这个水漏出的快慢就称为微分时间(D)。


这个小凯的故事,微分的比喻有点牵强,不过能帮助理解就行了,呵呵,入门级的。

如何还是不明白PID怎么回事,可以去找本控制理论的书看看。有时候明白理论了,应用的问题也就解决了,在这里只教大家一些实践经验。

故事中小明的试验是一步步独立做,但实际加水工具、漏斗口径、溢水孔的大小同时都会影响加水的速度,水位超调量的大小,做了后面的实验后,往往还要修改改前面实验的结果。

根据具体项目的控制要求,在实际应用中有可能用到其中的一部分,比如常用的是PI(比例-积分)控制,这时没有微分控制部分。也就是说如果小凯的故事中对及时性没有那么高的要求,小凯就不必考虑在水缸凿孔了。

2、S7-200 PID介绍

S7-200 CPU最多可以支持8个PID控制回路(8个PID指令功能块)。PID控制器根据设定值(给定)与被控对象的实际值(反馈)的差值,按照PID算法计算出控制器的输出量,控制执行机构去影响被控对象的变化。

PID控制算法有几个关键的参数Kc(Gain,增益),Ti(积分时间常数),Td(微分时间常数),Ts(采样时间)。

在S7-200中PID功能是通过PID指令功能块实现的。通过定时(按照采样时间)执行PID功能块,按照PID的运算规律,根据当时的给定值、反馈值、比例-积分-微分数据,计算出控制量

PID功能块是通过一个PID回路表来交换数据的,这个表是在V数据存储区中的开辟,长度为36字节。因此每个PID功能块在调用时需要指定两个要素:PID控制回路号,以及控制回路表的起始地址(以VB表示)。

这个在使用中会进一步说明,知道有这么回事就行了


由于PID可以控制温度、压力等等许多对象,它们各自都有由各自的工程量,因此必须用通用的数据表示方法才能被PID功能块识别。S7-200中的PID功能使用占调节范围的百分比的方法抽象地表示被控对象的数值大小。在实际工程中,这个调节范围往往被认为与被控对象(反馈)的测量范围(量程)一致。

PID功能块只接受0.0 - 1.0之间的实数(实际上就是百分比)作为反馈、给定与控制输出的有效数值,如果是直接使用PID功能块编程,必须保证数据在这个范围之内,否则会出错。其他如增益、采样时间、积分时间、微分时间都是实数。

因此,必须把外围实际的物理量与PID功能块需要的(或者输出的)数据之间进行转换。这就是所谓输入/输出的转换与标准化处理。《S7-200系统手册》上有详细的介绍,有兴趣的可以自己查看。

所有控制量必须转换为被控对象的百分比值才能在S7-200中处理。看到这里肯定有人担心自己不会使用,S7-200的编程软件Micro/WIN提供了PID指令向导,以方便地完成这些转换/标准化处理。只需要根据向导一步步来就可以了。



|PID向导使用视频教程|


【闲谈】


1、今天的文字性东西比较多,需要认真阅读,理解是第一位的。不明白的先放放,等本系列文章都出来了在回头看就理解了。


2、下篇介绍S7-200 PID向导的具体使用方法。有条件的可以边看文章边操作一下。


3、需要看以前的教程可以点击公众号右上方选择[查看历史消息]


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多