PID的作用是什么?如何实现西门子S7-1500的PID功能?如何进行PID调试?

简介: PID多用于对温度、压力、流量等过程变量的闭环控制,是PLC不可缺少的功能之一,与S7-300/400相比S7-1500集成的PID功能参数化更加简单,调试更加方便,自整定的鲁棒性更强,可以大大节省工程时间。本篇我们来介绍S7-1500 PLC的PID功能。

PID多用于对温度、压力、流量等过程变量的闭环控制,是PLC不可缺少的功能之一,与S7-300/400相比S7-1500集成的PID功能参数化更加简单,调试更加方便,自整定的鲁棒性更强,可以大大节省工程时间。本篇我们来介绍S7-1500 PLC的PID功能。


下面我们开始介绍如何实现西门子S7-1500的PID功能。为了便于演示,在程序中调用了一个过程仿真函数,由于对积分微分时间的精确计算,PID函数必须在循环中断OB中调用,为此,首先在项目中点击“添加新块”,选择“组织块”和“Cyclic Interrupt”类型,设置循环时间为500ms,代表该OB块每隔500ms被调用执行一次。


640.jpg

在“指令”栏中选择“工艺”指令组,在“PID控制”文件夹中,选择“PID_Compact”指令,将它拖放到循环中断OB中,在弹出的“调用选项”对话框中,可以定义新生成的PID工艺对象即一个数据块的名称,点击“确定”,这样将创建一个PID工艺对象。


640.jpg


PID函数的设定值可以直接在数据块中赋值,过程值“Input”表示通过用户程序赋值,“Input_PER”表示通过模拟量进行反馈。示例中,过程值连接到过程仿真的输出MD20,“Output”表示输出一个浮点值,“Output_PER”表示直接通过模拟量输出。示例中,输出MD24用于连接到过程仿真的输入。赋值完成后保存项目。其他的PID的参数设置则通过PID“工艺对象”进行参数化。


640.jpg


在项目导航中打卡“工艺对象”,可以看到新建的PID工艺对象“DB1”,双击“组态”图标进入参数化界面。在“基本设置”栏中可以设置“控制器类型”,例如设置在CPU启动后PID的控制模式为自动。在“Input/Output参数”栏中选择反馈和输出通道,必须与程序中调用PID函数的赋值相匹配。在“过程值设置”栏中可以设置过程值的上下限和模拟量反馈的标定值。在“高级设置”栏中可以设置调节规则和PID参数。在这里设置PID的采样时间必须与调用周期匹配,例如500ms。配置完成后存盘编译并下载到PLC中。


640.jpg


项目下载后,可以开始进行PID的调节。点击“调试”图标进入调试界面,选择视图的采样周期,例如0.3S。点击“Start”按钮进入在线模式,在“调节”模式中可以选择预调节和精细调节,初始阶段可以选择预调节,如果震荡则需要精细调节。如果直接选择精细调节,则先进行预调节,然后再进行精细调节,示例中先进行预调节。参数调节需要一个设定阶跃作为触发条件,例如将设定值增加50%,然后点击“Start”按钮启动预调节功能,在调节状态栏中可以看到调节进度和状态信息。几分钟后,从状态栏中可以看到预调节完成信息,但是从采样图中可以看到过程值和输出值反复震荡,说明调节效果不理想。在这样情况下可以选择精细调节,将操作模式选择精细调节,然后点击“Start”按钮启动精细调节功能。又过了几分钟,精细调节完成,过程值和输出值平滑,效果理想。


640.jpg


可以将自调节的结果上传到离线项目中,在组态界面可以得到调节后PID具体的参数值。为了同步PID参数在PLC中的装载值,可以将离线数据再次下载到PLC中,操作不会影响PID参数在PLC的实际运行值,这样一路PID调试完毕。


相关文章
|
iOS开发
iOS 逆向编程(十三)PS命令获取进程PID与名称(Process Status)
iOS 逆向编程(十三)PS命令获取进程PID与名称(Process Status)
255 0
|
4月前
|
存储 算法
pid控制
这篇文章详细介绍了PID控制算法的理论基础、组成部分、不同形式的算法(位置式和增量式PID),以及参数调试的步骤和技巧,旨在帮助读者理解和应用PID控制器进行有效的系统控制。
106 2
pid控制
|
6月前
|
算法
技术笔记:PID控制器开发笔记之十一:专家PID控制器的实现
技术笔记:PID控制器开发笔记之十一:专家PID控制器的实现
|
7月前
|
Linux Shell
【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】
【Linux】解决:为什么重复创建同一个【进程pid会变化,而ppid父进程id不变?】
|
7月前
驱动保护 -- 通过PID保护指定进程
驱动保护 -- 通过PID保护指定进程
70 0
驱动保护 -- 通过PID保护指定进程
|
7月前
|
监控 Unix Linux
C语言进程(第一章进程基础,fork()函数,pid_t, pid, getpid())
C语言进程(第一章进程基础,fork()函数,pid_t, pid, getpid())
358 0
|
Shell Linux 调度
【linux】进程|查看进程|PID值|fork原理(下)
【linux】进程|查看进程|PID值|fork原理(下)
162 1
|
算法
智能车常规 PID 以及改进式 PID
智能车常规 PID 以及改进式 PID
530 0
智能车常规 PID 以及改进式 PID
|
Linux 网络安全
【linux】进程|查看进程|PID值|fork原理(上)
【linux】进程|查看进程|PID值|fork原理(上)
126 0
|
人工智能 监控 算法
西门子S7-200 SMART PID回路控制,如何配置PID向导、调用子程序?如何创建状态图表测试程序?如何自整定PID参数?
PID控制器是应用最广泛的闭环控制器,它根据给定值与被控变量实测值之间的偏差,按照PID算法计算出控制器的输出量控制执行机构进行调节,使被控量跟随给定量进行变化并使系统达到稳定,自动消除各种干扰对控制过程的影响,其中P、I、D分别指比例、积分、微分。
西门子S7-200 SMART PID回路控制,如何配置PID向导、调用子程序?如何创建状态图表测试程序?如何自整定PID参数?