S7-200 PLC有PID指令,可以方便地进行PID控制。
【例2-1】有一台电炉要求炉温控制在一定的范围内。电炉的工作原理如下:
当设定电炉温度后,S7-200 PLC经过PID运算后由模拟量输出模块EM232输出一个电压信号送到控制板,控制板根据电压信号(弱电信号)的大小控制电热丝的加热电压(强电)的大小(甚至断开),温度传感器测量电炉的温度,温度信号经过控制板的处理后输入到模拟量输入模块EM231,再送到S7-200 PLC进行PID运算,如此循环。整个系统的硬件配置如图2-5所示。请编写控制程序。
【解】
1.主要软硬件配置
①1套STEPS7-Micro/WIN V4.0 SP9。
②1台CPU222CN。
③1台EM231。
④1台EM232。
⑤1根编程电缆(或者CP5611卡)。
⑥1台电炉(含控制板)。
2.主要指令介绍
图2-5 硬件配置图
PID回路(PID)指令,当使能有效时,根据表格(TBL)中的输入和配置信息指定回路执行PID计算。PID指令的格式见表2-1。
表2-1 PID指令格式
PID指令使用注意事项:
①程序中最多可以使用8条PID指令,回路号为0~7,不能重复使用。
②必须保证过程变量和给定值积分项前值和过程变量前值在0.0~1.0之间。
③如果进行PID计算的数学运算时遇到错误,将设置SM1.1(溢出或非法数值)并终止PID指令的执行。
在工业生产过程中,模拟信号PID(由比例、积分和微分构成的闭合回路)调节是常见的控制方法。运行PID控制指令,S7-200将根据参数表中输入测量值、控制设定值及PID参数,进行PID运算,求得输出控制值。参数表中有9个参数,共占用36个字节,全部是32位的实数,部分保留给自整定用。PID控制回路的参数表见表2-2。
表2-2 PID控制回路参数表
3.I/0分配
在I/O分配之前,先计算所需要的I/O点数,输入点为3个,输出点为1个,由于输入输出最好留15%左右的余量备用,所用初步选择的PLC是CPU222CN或者CPU221CN,但CPU221CN不能带扩展模块,所以选择CPU222CN模块。又因为控制对象为接触器,所以PLC最后定为CPU222CN(AC/DC/继电器)。电炉控制系统的I/O分配表见表2-3。
表2-3 I/O分配表
根据I/O分配表和题意,设计原理图如图2-6所示。
图2-6 原理图
5.编写程序
编写PLC控制程序共有三种方案。第一种方案不需要使用PID指令,直接从底层算法编写程序,这种编程方法,PID的控制精度较高,但对编写者水平要求高,本书不作介绍,读者可以参考相关文献。第二种方法采用指令向导,较常用,后续将介绍。第三种方法直接用PID指令编写程序,其程序如图2-7所示。
【关键点】编写此程序首先要理解PID的参数表各个参数的含义,其次是要理解数据类型的转换。要将整数转化成实数,必须先将整数转化成双整数,因为S7-200中没有直接将整数转化成实数的指令。
6.用指令向导编写PID控制程序
若读者对控制过程了解得比较清楚,用以上的方法编写PID控制程序是可行的,但显然比较麻烦,初学者不容易理解,所幸西门子公司提供了指令向导,读者利用指令向导就比较容易编写PID控制程序。以下将介绍这一方法。
图2-7 电炉PID控制程序
a)主程序 b)子程序 c)中断服务程序
图2-7 电炉PID控制程序(续)
a)主程序 b)子程序 c)中断服务程序
(1)硬件设置(www.xing528.com)
1)打开指令向导。单击菜单栏中的“工具”→“指令向导”,即可打开指令向导画面,如图2-8所示。或者单击左侧“工具”→“指令向导”也可以打开指令向导画面。
2)选择PID选项。指令向导有三个选项,即PID、网络读写和高速计数器,选择“PID”选项,单击“下一步”按钮,如图2-9所示。
3)指定回路号码。S7-200最多允许8个回路,当只有一个回路时,可选择默认的回路号为“0”,如图2-10所示,单击“下一步”按钮。
图2-8 打开指令向导
图2-9 选择PID选项
图2-10 指定回路号码
4)设置回路参数。如图2-11所示,比例增益就是比例环节的参数(即P),本例设置为“2”;采样时间是0.2s,如果参数的变化快于0.2s将不能采样,S7-200规定最小采样时间是0.1s;本例积分时间是10min(即I),如果要取消积分环节,则在积分事件中填入“INF”(即无穷大);本例的微分时间为0min(即D),也就是微分环节被取消。本例给定的范围为0.0~100.0,可以理解为温度范围是0~100℃(如果实际温度是-10~1000℃,则按照实际填入),也可以理解为范围是0~100%。以上参数可在调试时修改。单击“下一步”按钮。
图2-11 设置回路参数
5)设置回路输入和输出选项。
①回路输入选项。“标定”中有单极性和双极性2个选项,代表输入信号的极性(过零则为双极性,如±2V,不过零为单极性),如果输入信号是DC 4~20mA的信号,可选择“使用20%偏移量”;“过程变量”和回路给定值有一个对应关系,过程变量0,对应回路给定值0℃,过程变量32000,对应回路给定值100℃。如图2-12所示。
图2-12 设置回路输入和输出选项
②回路输出选项。“输出类型”有模拟量和数字量两个选项,本例使用的是EM232模拟量模块,所以选择“模拟量”;“标定”中有单极性和双极性两个选项,代表输出信号的极性(过零则为双极性,如±2V,不过零为单极性),如果输出信号是DC 4~20mA,可选择“使用20%偏移量”;范围低限和范围高限是D-A转换的数字量的范围,选择默认值。最后单击“下一步”按钮。
6)设置回路报警选项。当达到报警条件时,输出被置位,产生报警。如图2-13所示,当温度低于100℃(10%)时报警,当温度高于90℃(90%)时也报警。单击“下一步”按钮。
图2-13 设置回路输入和输出选项
7)为计算指定存储区。PID指令使用V存储区中的一个36个字节的参数表,存储用于控制回路操作的参数。这个V存储区可以由读者分配也可以使用系统默认V存储区,但要注意,这个V存储区被系统占用后,读者编程时,不可以再使用,否则可能导致错误的结果。如图2-14所示,单击“下一步”按钮。
图2-14 为计算指定存储区
8)指定子程序和中断程序。图2-15所示为子程序和中断程序的名称,这两个名称读者可以修改,也可以使用系统默认的名称,由于有多个回路时,初始化子程序不同,但多个回路使用同一个中断程序(如PID_EXE),修改名称容易出错,所以不建议修改名称。如果需要手动控制,则勾选“增加PID手动控制”选项。单击“下一步”按钮。
图2-15 指定子程序和中断程序
【关键点】本例的中断程序PID_EXE,使用了定时中断0,所以读者若还要使用定时中断,则只能使用定时中断1。
9)生成PID代码。如图2-16所示,单击“完成”按钮,即可生成PID代码。
图2-16 生成PID代码
(2)编写和下载程序
程序和符号表如图2-17所示,并将程序下载到PLC中。
图2-17 程序
(3)调试
1)打开PID调节控制面板。单击“工具”→“PID调节控制面板”,PID调节控制面板如图2-18所示。PID调节控制面板只能在使用指令向导生成的PID程序中使用。
从图2-18可以看出当过程值(传感器测量数值)与给定值(即设定值,本例为60.0℃)相差较大时,输出值很大,随着过程值接近给定值时,输出值减小,并在一定的范围内波动。
图2-18 PID调节控制面板
2)选择手动调节模式。在“增益”(P)、“积分时间”(I)和“微分时间”(D)中输入参数,并单击“更新PLC参数”按钮,这样P、I、D三个参数就写入到PLC中。调试完成后可以看到如图2-19所示的画面,过程值和给定值基本重合(此图的给定值为33.5℃)。
图2-19 PID调节控制面板(1)
【关键点】为了保证PID自整定的成功,在启动PID自整定前,需要调节PID参数,使PID调节器基本稳定,输出、反馈变化平缓,并且使反馈比较接近给定;设定合适的给定值,使PID调节器的输出远离趋势图的上下坐标轴,以免PID自整定开始后输出值的变化范围受限制。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。