[西门子] PID编程(以S7-200为例)

[复制链接]
查看17797 | 回复0 | 2024-8-22 11:38:35 | 显示全部楼层 |阅读模式




前面几期把模拟量的输入与输出运算处理和变送器线制接法等问题都交代清楚了,下面可以浩浩荡荡开始讲解有关PLC的过程控制方面知识,当然,只挑工程上常用到的知识技能讲。下面以西门子S7-200PID编程为实例(为什么要以S7-200讲?虽然它已慢慢被SMART200和1200取代,但它是西门子PLC最基础的一款,通俗易懂,先别追求高大上的东西,其实S7-300,400乃至1500系列PLC的PID编程反而更简单,要知道,越高端的产品往往越人性化,很多工作量人家都帮你铺垫了)。

一、概述

要想编写和读懂PLC的PID功能,不懂上面的闭环控制典型回路图是不行的,由于本期内容只限如何用S7-200PLC来编写PID程序,因此理论的东西暂且撇一边,后期会涉及到。S7-200PLC的编程软件 STEP7 MicroWIN 提供了PID指令向导功能,来帮助用户生成一个闭环控制的PID算法子程序,对其进行调用,即可完成PID控制任务。

二、任务

先借助一个任务以便更好地展示PID指令向导的编程:在恒温控制系统中,热电阻传感器检测恒温箱0~100℃范围温度,通过变送器转换为2~10V的电压信号送至模拟量输入模块,恒温箱的加热器用PWM脉冲控制,于PLC的Q1.0输出。

三、实施

1.配置PID向导

a.在编程窗口菜单栏选择“工具”,“指令向导”:



为了配置PID的比例、积分和微分控制功能,因此需要指定一个闭环回路控制表, S7-200PLC最多只能支持8个回路(0~7)的PID控制,在此选0:



PID控制是需要我们设计参数的,例如给定值、比例增益、积分时间和微分时间等,这些参数可以在回路参数设定窗口完成;其中,给定值可以是实数,也可以是实际工程量,若不需要积分功能,需将积分时间写入99999(写满为好),若不需要微分功能,则微分时间写入0.0。当然现场调试时候都会修改参数的,所以先大概设定个经验值即可。



控制参数设定完毕后,还需要对变量的过程值进行标定,前期内容提到模拟量输入2~10V所对应的PLC数据字格式为6400~32000,也就是对应的温度0~100℃;此外,对PLC的控制量的输出也需要加以规定,由于本例任务是脉冲控制,因此输出类型是具有占空比周期的数字量。



在PID调节过程中,变量的过程值是不断变化的,它的稳定与否将影响到整个系统的调节状态,因此需要对其进行监控,做好预防措施。PID向导的回路报警窗口能够帮助设计过程值的高和低限报警,输入的数值是过程值的百分比值(例如0.1(10%)为低限0.9(90%)为高限);此外,还提供模拟量输入模块的报错提醒功能。



以上,PID向导的重要设置已完毕,剩下的就是分配地址与子程序命名;此外,需要增加PID手自动切换控制功能的话,记得勾上选项。



2.调用向导生成的PID子程序

当向导设置完毕后,软件会自行生成PID功能子程序,直接进行调用即可,调用前,先了解下各地址分配的意义,在调试PID功能时候,例如改比例增益,积分时间和微分时间等,就可以通过传送数值给对应的地址;此外,它还提供将运算数据标准化的功能,例如VD0,即为过程值标准化变量(也就是可转化为实际工程量,这里是温度),地址看看以下符号表。



明白符号表内各地址的意义,即可开始使用PID子程序,并填入对应的地址信息,其中,模拟量输入的数据字格式地址为AIW0,温度设定值为50.0℃,PID手自动控制切换:I1.0为1时候PID自动控制,Q1.0输出PID运算运算结果,当I1.0为0时候,Q.10输出占空比为30%,Q0.1为过程值高限报警标志位,Q0.2为过程值低限报警标志位,Q0.3为模拟量输入模块错误标志位,VD300为标准化过程值(实际工程值,温度)。



四、总结

用PID向导方式生成PID指令功能,其给予我们的帮助不仅仅局限于当前的工程项目的编程,最主要的是给予我们一个PID编程思路,一个窗口接一个窗口地设定好参数,也就完成了PID指令的主要任务,有了这基础,对其他系列的PLC指令的编程与设定就能有条有序,觉得有道理就点赞啊。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
您需要登录后才可以回帖 登录 | 注册哦

本版积分规则