微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > PLC的PID运算及运动控制探讨

PLC的PID运算及运动控制探讨

时间:03-09 来源:互联网 点击:
PLC的工作流程

  1、系统初始化:一般小型PLC的系统初始化主要是进行初始化、设置、查找扩展模块等;

  2、扫描输入:扫描IO输入信号;

  3、执行逻辑:根据用户PLC程序执行逻辑;

  4、家务管理:PLC诊断、维护和其它系统程序执行;

  5、扫描输出:将逻辑执行的结果输出;

  6、通信管理单元:通信服务程序,响应编程软件和其它通信任务。

  PLC运行方式:

  由上面可以看到PLC的运行是一种循环扫描的运行方式,实际上PLC还有定时扫描和中断扫描共三种扫描方式。

  循环扫描:PLC按上图循环执行;

  定时扫描:PLC根据用户设置的时间定时扫描,比方说50ms扫描一次,使用这种扫描方式,用户需要保证用户程序在设定时间内一定能扫描完毕,一般PLC使用定时中断和子程序结合起来实现这个功能(这种情况下与中断扫描方式并无不同),但在IO扫描方面会有一些细微的不同,很可能会用到立即刷新IO的功能块UpData_IO。

  中断扫描:中断扫描根据外部或者内部中断的激活中断扫描程序的运行。比方说外部IO中断、高速计数中断、定时中断等。

  十九、PID——温控、变频

  PID(Proportional, Integral andDerivative)是闭环控制中最常用的一种算法,在包括温控、水泵、张力、伺服阀、运控等行业得到了广泛的应用,但因为每个应用的对象特性都不一样,这就要求调试工程师允分了解PID的控制原理,只有这样我们才能把PID的应用好。

  PID原理:

  PID是由比例、微分、积分三个部分组成的,在实际应用中经常只使用其中的一项或者两项,如P、PI、PD、PID等。

  从控制原理来说,当一个控制对象,我们希望控制的输出达到我们设定的值,我们通常会使用开环或者闭环控制,如果控制对象的响应很稳定不会受到其它环节的影响,我们可以选用开环控制。反之如果被控对象受到设定值、负载或者源端的影响而产生波动,我们应该选用闭环控制。下图是一个温控的原理图:

  PID执行周期(1/10秒) 〔范例〕

  比例控制(P):

  比例控制是最常用的控制手段之一,这也是最符合人的感观的一种控制,比方说我们控制一个加热器的恒温100度,当开始加热时,离目标温度相差比较远,这时我们通常会加大加热,使温度快速上升,当温度超过100度时,我们则关闭输出,通常我们会使用这样一个函数

  e(t) = SP – y(t);

  u(t) = e(t)*P

  SP——设定值

  e(t)——误差值

  y(t)——反馈值

  u(t)——输出值

  P——比例系数

  滞后性不是很大的控制对象使用比例控制方式就可以满足控制要求,但很多被控对象中因为有滞后性。

  比方说塑胶挤出机,如果设定温度是200度,当采用比例方式控制时,如果P选择比较大,则会出现当温度达到200度输出为0后,温度仍然会止不住的向上爬升,比方说升至230度,当温度超过200度太多后又开始回落,尽管这时输出开始出力加热,但温度仍然会向下跌落一定的温度才会止跌回升,比方说降至170度,最后整个系统会稳定在一定的范围内进行振荡。

如果这个振荡的幅度是允许的比方说家用电器的控制,那则可以选用比例控制,很多传统的家用空调和我们常会发现家用空调始终是间歇工作的,当开始制冷时我们通常会感到越来越冷,当空调停止时又会感到温度越来越高,它采用的则是比例控制

  比例值太小时的控制效果图:

  如果比例值太小,反馈值始终到不了设定值(静态误差)就达到了平衡(如果是加热的话就是说散热与P*e(t)加热达到了一个平衡)

  比例值太大时的控制效果图:

  如果比例值太大,则被控对象会出上图所示的振荡,当然振荡点不一定是在设定值,会根据被控对象的不同或者P值的大小而在某个位置进行振荡。这对于大多数的控制对旬来说是不允许的。

  比例积分控制(PI):

  积分的存在是针对比例控制要不就是有差值要不就是振荡的这种特点提出的改进,它常与比例一块进行控制,也就是PI控制。

  其公式有很多种,但大多差别不大,标准公式如下:

  u(t) = Kp*e(t) + Ki∑e(t) +u0

  u(t)——输出

  Kp——比例放大系数

  Ki——积分放大系数

  e(t)——误差

  u0——控制量基准值(基础偏差)

  大家可以看到积分项是一个历史误差的累积值,如果光用比例控制时,我们知道要不就是达不到设定值要不就是振荡,在使用了积分项后就可以解决达不到设定值的静态误差问题,比方说一个控制中使用了PI控制后,如果存在静态误差,输出始终达不到设定值,这时积分项的误差累积值会越来越大,这个累积值乘上Ki后会在输出的比重中越占越多,使输出u(t)越来越大,最终达到消除静态误差的目的。

  PI两个结合使用的情况下,我们的调整方式如下:

1、先将I值设为0,将P值放至比较大,当出现稳定振荡时,我们再减小P值直到P值不振荡或者振荡很小为止(术

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top