利用S7-300所具有的PID功能,可以方便的进行调试, 得到各个参数的设定,大大节省工程时间。下面我们依然 以314C-2PN/DP为例,来看一下PID控制在S7-300中的实现。

1、PID函数的调用
由于对积分微分时间的精确计算,PID函数必须在循环中断中调用。为此,在博途界面,首先在项目树中点击“添加新块”,选择“组织块”中的“CYC_INT5”,即OB35。

OB35是一个循环中断组织块,每隔一定时间其会自动调用执行一次,该间隔时间的设置方法如图,在项目树中双击“设备组态”,再双击CPU模块,找到下方“常规”项的“中断”, 点选其中的“循环中断”,OB35所对应的执行时间,就是这个间隔时间,这里我们设置为200ms。

OB35块添加后,打开OB35块的程序编写界面,在该界面下我们就可以调用PID函数了。依次选择右侧“指令”中的“工艺 ”、“PID控制”、“PID基本函数”,将“CONT_C”添加 到编程界面。

2、PID函数说明
常用的PID函数为 CONT_C,即“连 续控制器”函数 ,控制具有连续输入和输出变量 的工艺过程,实现了一个完整的 PID 控制器。

该函数虽然具有众多参数,但是其中很多参数并不需要修改, 使用默认设置即可,下面我们结合参数说明,强调一下那些常用和重要的参数,首先是梯形图左侧的输入参数部分。

COM_RST: BOOL型,重新启动PID,当为TURE时,PID 执行重启动功能;
MAN_ON: BOOL型,当为TURE时,PID功能块直接将 MAN的值输出到LMN,也就是说,这个位是PID的手动/ 自动切换位;

CYCLE : TIME型,PID采样周期,该值需与OB35的 调用时间相匹配;
SP_INT:REAL型,是PID的给定值;
PV_IN : REAL型,是PID的反馈值(也称过程变量) ;
MAN : REAL型,手动值,由MAN-ON选择有效;
GAIN : REAL型,比例增益,即PID的P;
TI : TIME型,积分时间,即PID的I;

DEADB_W: REAL型,死区宽度,如果输出在平衡点附近微 小幅度振荡,可以考虑用死区来降低灵敏度;
LMN_HLM: REAL型,PID上极限,一般是100%; LMN_LLM: REAL型,PID下极限;一般为0%,如果需要双 极性调节,则需设置为-100%;
再看一下梯形图右侧的输出参数部分:

LMN :REAL型,PID输出,不可直接与控制器输出互连;
LMN_PER:WORD型,PID输出,可直接与控制器输出互连;

3、使用仿真器PLCSIM查看PID函数工作况

(1)参数设置:

(2)程序编写: 在OB35中编写如下梯形图程序

(3)开始仿真:打开仿真器PLCSIM,下载硬件组态和程序块,并监视程序运行。

使用PLCSIM设置MD30为50.0,如果M0.0为0,可以看到,当 M0.1为1时,50.0被直接送到MD40;而如果M0.0为1,则MD40 被复位为0。

初始状态下,使用PLCSIM设置MD10为60.0,MD20为55.0, 则会看到MD40中的数值从0开始逐渐增大直至100.0。

MD10为60.0不变,将MD20设为62.0,则会看到MD40中的数值开始逐渐减小直至0。

(4)打开组态或调试窗口:我们可以通过图示两处打开组态或调试窗口。

组态窗口用于参数的设置,如果要修改参数,可 以直接在该窗口修改,而无需再回到梯形图中修改

调试窗口用来观察PID的控制效果,以及参数状态,非常直观。

二、温度调节程序举例
一、控制要求
通过实验箱搭建一个温度控制系统,自行编写程序,实现温度的控制,使温度保持在40℃。 这是一个典型的恒温闭环控制,可以使用S7-300的PID功能实现。

二、设备介绍
下面介绍一下所用到的设备。除了PLC依然使用314C-2PN/DP 外,还要用到ACT-WK实验箱。 ACT-WK是温度检测与控制实验箱,实验箱上包含温度变送及脉宽调制加热执行单元。


温度传感器信号类型为电压型,测量信号量程为0~10v, 表示范围为0~100℃;
加热执行单元信 号类型为电压型,输出信号量程为0~10V,加热效果为 0~100%。

接着,来讲一下如何接线,搭建起这个系统。如图所示。

温度变送单元接在模拟量输入上,脉宽调制加热执行单元接在 模拟量输出上。为了能够监测到当前的温度状况,将电压表接 在温度变送单元上。由于温度变送的对应关系是0~100℃对应 了0~10V的电压,所以可以通过电压表的示数知道当前的温度 ,比如电压表示数为4.00伏,对应的温度就是40 ℃。

三、PID控制实现
现在大家知道如何接线了,下面我们演示一下如何在博途中 使用PID功能完成程序设计,实现所要求的恒温控制。
1、新建TIA工程项目,取名为温度控制。
2、进行硬件组态和相关设置。设置DI/DO的地址,设置 AI/AO的地址,设置AI/AO的信号类型及量程范围,设置循环 中断OB35的间隔执行时间为500ms。
3、编写程序。 添加需要的变量,IW3用于模拟量输入,M0.0用于保证定标 正极性,MW5保存出错信息,MD10用于模拟量输入定标后的 保存,I0.0用于重启PID,I0.1用于PID手动/自动切换,QW2 用于模拟量输出。

在OB1中编写模拟量定标程序,将输入模拟值定标至 0.0~100.0,定标后的值保存至MD10。 添加新块OB35,并在其中编写PID控制程序。将COM_RST设为 I0.0,MAN_ON设为I0.1,CYCLE设为T#500ms,SP_INT设为 40.0,PV_IN设为MD10,LMN_PER设为QW2。其他参数可采用默认设置。 4、将硬件组态和程序块下载到PLC。

四、运行调试

下载完成后,可以点击“监视”图标,监视程序的运行情况 。为了进行PID控制的调试,可以打开PID控制函数的组态或 调试窗口。在组态窗口可以修改程序中所设置的PID参数; 在调试窗口,可以看到PID控制的效果,在其中可以修改PID 参数,以调节控制效果,修改后的参数可以点击闪电图标直 接发送至CPU运行,这时候调试所用参数与程序中设置的参 数可能有所不同。

观察过程值PV与调节变量LMN的曲线变化,是否达到PID的控 制要求,这需要花费几分钟的时间。在本例子中,可以看到 ,经过一段时间,PV与LMN的变化趋近一条直线,满足要求 。这时,在系统中的反映为电压表示数基本保持在4.00伏, 也就是说温度基本保持在40 ℃。

这就是用,S7-300的PID控制功能来完成温度调节的例子。
————————————————
版权声明:本文为CSDN博主「山重水复疑无路@」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_45252077/article/details/106853312

最后修改日期: 2023年6月13日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。