(完整版)基于PLC和组态王的温度控制系统设计完整毕业论文 下载本文

个指令,以便将其插入到程序编辑器中光标的当前位置。程序编辑器包括程序逻辑和局部变量表,可在其中分配临时局部变量的符号名。子程序和中断程序在程序编辑器窗口的底部均按标签显示。单击标签可在子程序、中断程序和主程序之间来回变换[15]。

STEP 7--MicroWIN提供了用于创建程序的三个编辑器:梯形图(LAD)、语句表(STL)和功能块图(FBD)。尽管有某些限制,在这些程序编辑器的任何一个中编写的程序均可用其它程序编辑器进行浏览和编辑。用的比较多的是梯形图(LAD)编程语言。下面详细介绍梯形图的特点。

图4-1 编程软件STEP7--MicroWIN主界面

4.2.2 梯形图语言特点

梯形图是使用得最多的图形编程语言,被称为PLC的第一编程语言。梯形图与电器控制系统的电路图很相似,具有直观易懂的优点,很容易被工厂电气人员掌握,特别适用于开关量逻辑控制。梯形图常被称为电路或程序,梯形图的设计称为编程。

梯形图程序设计语言是用梯形图的图形符号来描述程序的一种程序设计语言。采用梯形图程序设计语言,程序采用梯形图的形式描述。这种程序设计语言采用因果关系来描述事件发生的条件和结果。每个梯级是一个因果关系。在梯级中,描述事件发生的条件表示在左面,事件发生的结果表示在后面。梯形图程序设计语言是最常用的一种程序设计语言。它来源于继电器逻辑控制系统的描述。

在工业过程控制领域,电气技术人员对继电器逻辑控制技术较为熟悉,因此,由这种逻辑控制技术发展而来的梯形图受到了欢迎,并得到了广泛的应用。梯形图程序设计语言的特点是:

(1)与电气操作原理图相对应,具有直观性和对应性;

(2)与原有继电器逻辑控制技术相一致,对电气技术人员来说,易于撑握和学习;

(3)与原有的继电器逻辑控制技术的不同点是,梯形图中的能流(Power FLow)不是实际意义的电流,内部的继电器也不是实际存在的继电器,因此,应用时,需与原有继电器逻辑控制技术的有关概念区别对待;

(4)与布尔助记符程序设计语言有一一对应关系,便于相互的转换和程序的检查[16]。

4.2.3 STEP7-MicroWIN参数设置(通讯设置)

本项目中PLC要与电脑正确通信,安装完STEP7-MicroWIN编程软件且设置好硬件后,可以按下列步骤进行通讯设置。

(1)在STEP7-MicroWIN运行时单击通讯图标,或从“视图”菜单中选择选项“通信”,则会出现一个通信对话框(如图4-2所示)。 图4-2 通信参数设置

(2)在对话框中双击PCPPI电缆的图标,将出现PGPC接口对话框或者直接单击“检视”栏中单击“设置PGPC接口”也行。如图4-3所示。

图4-3 PGPC接口对话框

(3)单击Properties按钮,将出现接口属性对话框,检查各参数的属性是否正确,其中通信波特率默认值为9.6kbps(如图4-4所示)。

图4-4 通信参数设置

4.3 程序设计

4.3.1 设计思路

PLC运行时,通过特殊继电器SM0.0产生初始化脉冲进行初始化,将温度设定值,PID参数值等,存入有关的数据寄存器,使定时器复位;按启动按钮,系统开始温度采样,采样周期为10秒;K型热电偶传感器把所测量的温度进行标准量转换(0-41毫伏);模拟量输入通道AIW0通过读入0-41毫伏的模拟电压量送入PLC;经过程序计算后得出实际测量的温度T,将T和温度设定值比较,根据偏差计算调整量,发出调节命令。 4.3.2 控制程序流程图

图 4-5 程序流程图

4.3.3 梯形图程序

启动,绿灯亮 停止,红灯亮

上述程序中,I0.1和I0.2分别是启动和停止按钮,Q0.0和Q0.1分别是系统运行指示灯(绿灯)和系统停止指示灯(红灯),M0.0和M0.1是中间继电器。

调用PID模块

这里用SM0.0直接调用了编程软件自带的PID子程序,即就是用PID指令向导编程。上面的指令中,PV_I为反馈值,也就是热电偶将检测到的

当前温度值送入温度模块后输出的模拟电压值AIW0;Setpoint_R为设定值。

每个PID回路都有两个输入变量,给定值SP和过程变量PV。执行PID指令前必须把它们转换成标准的浮点型实数。即先把整数值转换成浮点型实数值,再把实数值进行归一化处理,使其为0.0-1.0之间的实数。归一化的公式为

R1=(RS+ M) (3-1)

式中,R1为标准化的实数值;R为未标准化的实数值;M为偏置,单极性为0.0,双极性为0.5;S为值域大小,为最大允许值减去最小允许值,单极性为32000,双极性为64000[17]。

在本项目中,R=100,即就是设定温度100度;S=32000,M=0.0,所以按照归一化公式R1=+0.0=0.03125,即Setpoint_R为0.03125.

该网络的程序功能是把PID回路输出转换成占空比。因PID回路的输出PID0_Output为0.0-1.0之间的实数值,又因我们设置了采样时间为10秒,所以第一个指令MUL_R中INT2为100.0。ROUND是将实数转换成双整数,DI_I是将双整数转换成整数。VW2和VW4分别是采样周期内的加热时间和非加热时间。

上述程序用了两个100ms的定时器T241和T242来控制加热时间,其中Q0.3为连接固态继电器的输出端子。

该网络的程序是为了在电脑上通过STEP7-MicroWIN编程软件显示当前温度和设定温度值而写的,其实也就是归一化的逆过程。若无该网络,则显示的温度值都是归一化的实数值,不便于记录和观察。