基于语句表编程的温度控制程序设计(编辑修改稿)内容摘要:

、HMI、驱动装置和通信网络等)进行组态、编程和监控。 在本次设计中的参数设置: CPU接口类型为 MPI,地址为 2,传输率为 ;SM33 模块测量类型为 4DMU,测量范围为 420mA;硬件组态如图 3 所示。 基于语句表编程的温度控制程序设计 5 图 3 PLC 硬件组态画面 SIMATIC WinCC 在设计思想上, SIMATIC WinCC 秉承西门子公司博大精深的企业文化理念,性能最全面、技术最先进、系统最开放的 HMI/SCADA 软件是 WinCC 开发者的追求。 WinCC 是按世界范围内使用的系统进行设计的,因此从一开始就适合于世界上各主要制造生产商生产的控制系统,如 AB, Modicon, GE 等,并且通讯驱动程序的种类还在不断地增加。 通过 OPC 的方式, WinCC 还可以与更多的第三方控制器进行通讯 [5]。 WinCC 的变量系统是变量管理器。 WinCC 使用变量管理器来组态变量。 变量管理器对 项目所使用的变量和通讯驱动程序进行管理。 WinCC 与自动化控制系统间的通讯依靠通讯驱动程序来实现。 本次设计所建立的变量组(部分变量截图)如图 4 所示。 图 4 变量管理器建立的变量组图 变量记录也称为变量归档或者过程值归档,主要是用于获取,处理和记录工业设备的过程数据。 变量记录可以降低危险,对错误状态进行早期检查,从而提高生产力和产品质量,优化维护周期等。 组态的过程值归档如图 5 所示。 图 5 过程值归档组态图 基于语句表编程的温度控制程序设计 6 在 WinCC 中,通过构建与实际生产过程相关联的过程画面,可以实时而形象地反映出当前的生产状态 ,从而可以更加直观地对产品的生产流程进行监控和管理,而这一过程中的画面组态主要是通过图形编辑器来实现的 [6]。 图形编辑器是用于创建过程画面并使其动态的编辑器,图 6 为 WinCC 组态的过程画面,包括趋势画面、过程值归档、I/O 域和控制按钮的组态。 图 6 WinCC 过程画面的组态 4 控制程序的设计 功能块简介 FB41“CONT_C”连续控制器 ( 1) PID 控制器的数字化 PID 调节器的传递函数为 s)TsT(KEV (s)MV(s) DIP  11 (3) 模拟量 PID 控制器的输出表达式为 Mdtdev(t )Tev(t)dtTev(t)Kmv(t) DIp   1 (4) 式 4 中,控制器的输入量(误差信号) ev(t)=sp(t)pv(t); sp(t)为设定值; pv(t)为过程变量(反馈值); mv(t)是控制器的输出信号; PK 为比例系数; IT 和 DT 分别为积分时间常数和微分时间常数; M 是积分部分的初始值。 等号右边的 3 项分别是比例、积分、微分部分。 如果取其中的一项、两项或三项,可以组成 P、 PI、 PD 或 PID 调节器。 需要较好的动基于语句表编程的温度控制程序设计 7 态品质和较高的稳态精度时,可以选用 PI 控制方式;若控制对象的惯性滞后较大时,应选择 PID 控制方式 [7]。 对积分部分的近似处理,执行 PID 控制功能块的时间间隔 (PID 控制的采样周期 )为ST ,第 n 次 PID 运算时的时间为 nTS ,因为 PID 程序运行时为 ST 常数,可以将 nTt S 时PID 控制器的输入量 )( SnTev 简写为 ev(n),输出量 )( SnTmv 简写为 mv(n)。 式子 (4)中的积分对应与图 7 中曲线与坐标轴包围的面积,一般用矩形积分来近似精确积分,每块矩形的面积为 SS )( TnjTev。 为了书写方便将 SS )( TnjTev 简写为 ev(j),各块矩形面积为 n evT1S )(j j。 当 ST 较小时,积分的误差不大。 e v ( t )tOT sn T sE v ( n 1 )E v ( n ) 图 7 积分的近似运算 式( 4)中的微分用差分方程来近似,即令 sT)e v ( ne v ( n )ΔtΔ e v ( t)dtd e v ( t ) 1 (5) 式 5 中, ev(n1)是第 n1 次采样的误差值,将积分和微分的近似表达式带入表达式中,第 n 次采样控制器的输出为   M)e v ( ne v ( n )TTe v ( j )TTe v ( n )Kmv ( n ) SDnjISp    11 (6) ( 2) FB41“CONT_C”连续控制模块 S7300/400 为用户提供了功能强大、使用简单方便的模拟量闭环控制功能。 除了专用的闭环控制模块, S7300/400 也可以用 PID 控制功能块来实现 PID 控制。 其中FB41“CONT_C”连续控制器的输出为连续变量。 可以用其作为独立的 PID 恒值控制器,其功能基于模拟信号采样控制器的 PID 控制算法,若需要的话,可以用脉冲发生器进行扩展,产生脉冲宽度调制的输出信号,来控制比例执行机构的二级或三级控制器。 PID控制的系统功能块的参数很多,可以通过功能块的框图 (见图 8)学习和理解这些参数。 FB41“CONT_C”是采用位置式 PID 算法思想设计的控制软件模块。 FB4 的算法设计完善,使用灵活。 它的比例运算、积分运算( INT)和微商运算( DIF)是并行连接的,基于语句表编程的温度控制程序设计 8 可以单独激活或取消。 这就允许组态成 P、 PI、 PD 和 PID 调节器。 它的积分分量可以清零、保持,这就方便实现抗积分饱和或积分分离。 微分分量可以直接输出,也可以延迟衰减输出 [8]。 图 8 FB41“CONT_C”方框图 FB43“PULSEGEN”脉冲发生器 被 控 对 象A / D 转 换s p ( n )e v ( n )L M Nc ( t )p v ( t )p v ( n )C O N T _ CP I D 控 制 器测 量 元 件P U L S E G E NI N VQ N E G _ PQ P O S _ P执 行 机 构 图 9 PLC 模拟量闭环控制系统框图 FB43“PULSEGEN”脉冲发生器与 PID 调节器配合使用 (见图 9),用脉冲输出来控制比例执行机构。 该功能一般与连续控制器 “CONT_C”一起使用,用 FB43 可以构建脉冲宽度调制的二级 (two step)或三级 (three step)PID 控制器。 PLC 模拟量闭环控制系统框图。 FB 43 通过调制脉冲宽度,将输入变量 INV(即 PID 控制器的输出量 LMN)转换为具基于语句表编程的温度控制程序设计 9 有恒定周期的脉冲列,该恒定周期用周期时间 PER_TM 来设置, PER_TM 应与“CONT_C”的采样周期 CYCLE 相同。 每个周期输出的 脉冲宽度与输入变量 INV 成正比,PER_TM 与 FB43 的处理周期是不同的, “PER_TM”是 FB43 处理周期的若干倍 (见图10)。 每个 PER_TM 周期调用 FB43 的次数反映了脉冲宽度的精度。 图 10 脉宽调制波形图 脉冲宽度调制简称为脉宽调制,设每个 PER_TM 周期调用 10 次 FB43,如果输入变量为最大值的 30%,则前 3 次调用 (10 次调用的 30%)时脉冲输出 QPOS_P 为 1 状态。 其余 7 次调用 (10 次调用的 70%)时脉冲输出 QPOS_P 为 0 状态。 在这个例子中, “采样比率 ”(调用 FB41 与 FB43 次 数之比 )为 1:10,因此控制值得精度为 10%,即输入值 INV 只能映射为以 10% 为量化单位的脉冲输出 QPOS_P 的占空比。 在调用 FB41 的一个周期内增加调用 FB43 的次数,可以提高精度。 例如调用 FB43 的次数增加为 100 次时,控制值的分辨率将达到 1%,一般分辨率不大于 5%为佳。 本课题控制值的分辨率为 1%。 控温程序的编写 主程序 OB1 的编写 语句表写的控制程序中,在 OB1 编写的程序中加入使控制系统既可以进行定值控温又可以进行 温度跟随曲线动态产生的恒温、升温、恒温的 程序控温过程 ,同时又可以 进行定值控温与程序控温的自由切换,同时加入拐点控制作用的触发条件。 对于程序控温来说, STEP 7 中并无相应可用的功能块,所以 在温度控制程序中编写一个来实现温度曲线随时间动态产生的的功能块。 图 11 为 温度 时间曲线设置格式, 由图可以看出, X 轴即时间轴,根据设定曲线的段数将 X 轴划分为不同时间长度的时间段。 系统功能 SFC1(READ_CLK)可以读出 CPU 的系统时间,所以在编写程序时调用一次 SFC1(READ_CLK)读取系统时间作为程序控温程序运行时的起始时刻 (格式 DT),同时再调用一个 SFC1(READ_CLK)读取系统当前的时刻 (格式 DT),而功能 FC34 可以将两个格式 DT 为时间值相减得到 TIME 格式的时基于语句表编程的温度控制程序设计 10 间,可以把这个初值为零的连续的时间作为 X 轴的时间 T。 这样则 对于 AB 段 方程的求解,设定点 ),( 00 tcA 和设定点 ),( 11 tcB 的坐标便是已知的,根据方程两点式求法, 可计算 AB 段的一线方程为 0001 01 c)t(x)t(t )c(cY AB  (7) 而直线段 BC、 CD 的方程同样方法得出。 X / TY / C ),(A00 tc ),(B 11 tc),(C 22 tc ),(D 33 tc 图 11 设定值曲线示意图 编写曲线控温程序时,由于功能 FC 没有一个永久的数据块来存放数据,只在运行期间会被分配一个临时的数据区,又由于 AB、 BC、 CD 段计算公式相同, 为了简化设计过程、增加程序的可读性,计算公式 在功能 FC 中编写,在 FB 中进行多次调用功能FC1,来实现对 AB、 BC、 CD 段控温曲线的计算。 程序控温算法流程图如图 12 所示。 执 行 F B 1计 算 当 前时 间 t m xt m x t m 1。 是装 载 系统 时 钟调 用 F C 1 , 对 A B 段进 行 线 性 计 算否程 序 结 束t m x t m 2。 否T m x t m 3。 否是是调 用 F C 1 , 对 B C 段进 行 线 性 计 算调 用 F C 1 , 对 C D 段进 行 线 性 计 算 执行FC1装在运行时间程序结束装在设定点坐标112112 Ttt)t) ( tT(TTmmmm 执行计算:结束时间触发X 图 12 程序控温算法流程 图 如图 13 所示为语句表下调用的程序控温算法功能块 FB1 和功能 FC1, FB1 输入参数包括 START、 tm tm tm T T T T4,分别表示启动该块、各段的运行基于语句表编程的温度控制程序设计 11 时间(以 ms 为时间单位)和温度设定点(浮点格式)。 本算法同样适用于任何其他相关控制系统,若如控制要求中有更多段升温、恒温或降温过程,只需要在 FB1 在进行多次调用 FC1 即可。 同时为了增加该块的可利用性,在该块的输出参数中除了有对各段进行线性计算所的结果的输出参数 T_sp 外,还有系统运行时间输出参数 T_time(分钟格式 )和各控温段运行 时间结束标志输出参数 x x x3,可以分别用来在上位机上显示程序控温运行的时间长度和实现在任意段运行结束时温控程序的结束。 图 13 程序控温功能块 FB1 和功能 FC1 主程序 OB1的流程图如图 14。 程 序控 温程 序 结 束开 始执 行 主 程 序O B 1T t m 1T t m 2调 用 F C 1 0 5置 位 拐 点控 制 M 2 . 3调 用 F B 1温 变 点 赋时 刻 值运 行 时 间 转 变为 m s 单 位 T复 位 拐 点控 制 M 2 . 3置 位 拐 点控 制 M 2 . 4置 位 拐 点控 制 M 2 . 4是是是是否否否否 图 14 主程序 OB1 流程图 基于语句表编程的温度控制程序设计 12 中断服务程序 OB35 的编写 在通过脉宽调制来控制执行机构的通断时,需要通过 中断组织块 OB35 周期性中断过程来实现 PID 算法模块和 PWM 算法模块的时序配合 [9]。 对于 PID算法和 PWM算法,可以直接调用 SIEMENS STEP 7 平台中有专用 的 PWM算法模块 FB43“PULSEGEN”脉冲发生器 和 PID 算法模块 FB41“CONT_C。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。