PLC换热器温度和流量串级控制Word格式.docx
《PLC换热器温度和流量串级控制Word格式.docx》由会员分享,可在线阅读,更多相关《PLC换热器温度和流量串级控制Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
设置或添加PCAdapter(MPI):
PROPERTY按钮Local Connection属性页2,19200,其她参数不需要设置、
5、2、3硬件组态与下装
打开工程中的Hardwork,从而进入HW CONFIG窗口、在HWCONFIG中插入机架,依照实验所用的设备型号组态硬件。
如下表:
表5-1 硬件组态数据
模块
型号
电源
PS—300〉PS307 2A
CPU
CPU—300〉CPU313C—2DP〉313-6CE01—0AB0
模拟量输入输出
SM334>
334-0CE01-0AA0
SM334的输入输出地址为:
AI地址:
256-263
AO地址:
256-259
5、3编写程序
5、3、1 复制OB块与已有函数
首先打开libaries中的standardlibrary,选择OrgnizationBlocks、把OB1复制粘贴到当前工程中。
表5-2 OB1块的功能
中断类型
组织块
默认优先级
备注
主程序扫描
OB1
1
周期运行:
开始循环监控时间
输出到模块
从模块输入
执行程序
执行挂起的其她任务
回到开始,重新循环监控时间
5、3、2符号与变量编辑
从资源管理器中选择S7Program(1)中打开Symbols编辑,编辑全部输入输出相关变量的全局变量,以便使得程序具有特不行的可读性、建立所有需要用到的全局变量,如下图:
图5—3 PID全局变量表
其中AI(SM334模拟量输入),AO(SM334模拟量输出),变量地址都是PIW,POW,的格式,这表示这些变量使用的是硬件地址,格式是16进制数。
PIW表示输入,POW表示输出。
有了变量表,在程序中就能够直截了当调用全局变量的Symbol,来访问该硬件地址、例如在程序中调用AIO,它会自动指向PIW256,也就是SM334模拟量输入通道0的模拟量值。
又比如在程序中写入一个1,它会自动指向Q124、0,也就是CPU的DI/DO模块的数字量输出通道0,该通道便会输出开关量1,也就是继电器开关闭合、假如该通道通过继电器切换控制着一个电磁阀,该电磁阀便会启动、
5、3、3 创建PID控制块
单击Blocks,进入里面的组织块OB1,进入编辑环境、要进行PID单回路控制的编程,需要添加PID块,在Libraries〉standardlibrary〉PID controlblock>FB41CONT_CICONT,将其拖到代码区梯形图上即可添加PID模块、需要创建PID的背景数据块,PID数据所涉及的所有参数都存放在这个背景数据块中,能够通过在组态软件中控制这些参数、
图5—4 模块图
图5—5PID的背景数据块内容
PLC的输入输出,手自动切换,参数,控制功能都能通过DB1中的数据进行控制。
实际工程应用中,还需要增加手动自动切换控制。
在手动时,SP跟随MV,MV等于MAN(手操作值),自动时MAN(手操作值)跟随。
图5—6DB2背景数据内容
5、3、4 创建数值转换功能
4-20mA信号,被SM334模拟量输入输出模块采集后,数据范围是5530—27648、因此需要编写一个专门用来进行数值转换的功能(FC,类似于函数,能够被其她程序调用),把5530—27648的数据转换成PID控制所需要0-100的数据,并通过组态软件监控0-100的数据,符合人们的日常习惯。
FC201即为数值转换功能,它有五个输入:
IN,IN_MIN,IN_MAX,OUT_MIN,OUT_MAX与一个输出:
OUT
◆IN:
需要进行转换的原始输入变量
◆IN_MIN:
原始变量的下限值
◆IN_MAX:
原始变量的上限值
◆OUT_MIN:
转换成的目标变量的下限值
◆OUT_MAX:
转换成的目标变量的上限值
◆OUT:
输出目标变量
图5—7 FC201程序内容
Network1:
MOVE:
将输入变量(左侧)的数值赋给输出变量(右侧)
DI_R:
双精度整数转换为实数
SUB_R:
实数减法运算
Network2:
赋值:
TEMPINT=IN
假如:
TEMPINT<IN_MIN
则:
TEMPINT=IN_MIN
Network3:
TEMPINT>
IN_MIN
TEMPINT=IN_MAX
Network4:
OUT=×
(OUTMAX-OUTMIN)+OUTMIN
CMP〉R是比较指令,SCALEIN作为分母,要求SCALEIN>
图5-8FC202程序内容
如此就添加好了FC201与FC202两个功能以供使用。
其中的FB41是之前生成的PID系统控制块,DB1是FB41的背景数据块,OB1是主程序组织块、
5、3、5 单PID控制编程
在进行OB1的正式编程钱,需要建立一个用户数据存储块,定义一些在编程中用到的变量。
在工作区单击右键,insertnewobject〉datablock,创建DB3
图5-9 DB3中定义需要用到的变量
其中temp用于分隔SET_TURE,SET_FALSE、这两个符号假如没有外部更改,就总是固定一个TURE与一个FALSE,以便在程序中使用。
程序中不能对函数的参数直截了当赋予值的。
返回工作区,打开OB1,开始编辑主程序、
◆将两路模拟量输入转换为0~100的实数,再赋值给MYDATA、AI0(即为DB3数据块中的用户自定义变量,也能够表示为DB3、DBD0)与MYDATA、AI1、
◆PID运算程序FB41CONT_C,同时产生DB1。
◆将PID运算程序FB41输出的控制量DB1、DBD72转换为5530~27648的word字,输出给AI0、AI1直截了当由组态软件给DB3,从这个地方输出、
图5-10 OB1程序内容
图OB35模块图
图OB35模块图
图FB41模块
5、3、6 FB41与PID控制
FB是需要背景数据块DB的函数块,数据在执行完函数后还需要保存的、在各种逻辑块中能够调用FB。
FB能够用户自己编写,也能够调用西门子公司提供的各种库中的FB、
在standardlibrary中的FB41,就是一个提供连续PID控制的函数,每个调用都指定其背景数据块,以便有不同的数据。
PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN、FB41就是CONT_C,提供连续模拟控制、
控制模块利用其所提供的全部功能能够实现一个纯软件控制器。
循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB编程估计。
1)PID控制的概念 :
PID控制软件包里的功能块包括连续控制功能块CONT_C,步进控制功能块CONT_S以及具有脉冲调制功能的PULSEGEN。
控制模块利用其所提供的全部功能能够实现一个纯软件控制器。
循环扫描计算过程所需的全部数据存储在分配给FB的数据区里,这使得无限次调用FB变成估计、功能块PULSEGEN一般用来连接CONT_C,以使其能够产生提供给比例执行器的脉冲信号输出。
基本功能:
在功能块组成的控制器中,有一系列您能够通过设置使其有效或无效的子功能、除了实际采纳PID算法的控制器外,还包括给定点值处理、过程变量处理以及调整操作值范围等功能。
2)用功能块FB41“CONT_C"
实现连续控制:
在SIMATICS7可编程控制器上,功能块FB41用来控制具有连续输入输出的技术过程、在参数设置过程中,能够通过参数设置来激活或取消激活PID控制的某些子功能来设计习惯过程需要的控制器
能够将其作为一个给定点PID控制器,或者在多环路控制中作为串级、混合或比率控制器、控制器的算法是基于具有模拟输入信号的采样PID控制。
假如扩展需要的话能够引入一个脉冲发生器,来产生具有脉宽调制的操作值输出,以提供给带有比例执行器的两级或三级步进控制器。
除了给定点与过程变量分支的功能外,FB自己就能够实现一个完整的具有连续操作值输出同时具有手动改变操作值功能的PID控制器,下面会找到各子功能的详细描述。
◆给定点分支:
给定点的值以浮点形式在SP_INT处输入、
◆过程变量分支:
过程变量能够从外设直截了当输入到PV_PER或以浮点PV-IN形式输入,功能CRP_IN将从外设来的值PV—PER转化成范围在—100%~100%之间的浮点形式,依照下面的法则进行转换:
CRP_IN = PV_PER*100/27648
功能PV_NORM依照下面的法则标准化输出CRP_IN
PV_NORM的输出=(CRP_IN的输出)* PV_FAC+PV_OFF
PV_FAC与PV_OFF的默认值分不为1与0
3)误差信号
误差是给定点与过程变量之间的差值、为了抑制由于控制量量化而引起的小扰动(例如,控制量由于其执行电子管的有限分辨率),可将死区功能DEADBAND运用在误差信号上。
假如DEADB_W =0,则死区就不起作用。
4)PID算法
此处PID算法是位置式的,比例、积分与微分作用并联同时能够分不激活或取消激活。
如此就能够分不构造P、PI、PD以及PID控制器,纯比例控制器或纯微分控制也是能够的、
5)手动值
能够在手动与自动模式之间切换,在手动模式下,操作值能够由一个手动选择值来设定,积分器在内部设定为
LMN(操作值) -LMN_P(比例操作值)-DISV(扰动),
微分器设定为0同时在内部进行同步,这意味着当转换到自动模式后,可不能引起操作值的突然改变、
6)操作值
利用LMNLIMIT功能能够将操作值限定在所选的值范围内,输入值引起的输出超过界限时会在信号位上表现出来,功能LMN_NORM依照下面的公式标准化LMNLIMIT的输出
LMN=LMNLIMIT的输出×
LMN_FAC+LMN_OFF
LMN_FAC与LMN_OFF的默认值分不为1与0
操作值也能够直截了当输出到外设,功能CRP_OUT将浮点形式的值LMN依照下面的公式转化成能输出到外设式的值:
LMN_PER=LMN×
100/27648
5、4编译下装项目
首先使用PLC与MRES拨动开关进行复位、然后在manager窗口选择block,有机选择快捷菜单PLC>download、完成整个程序块的(包括systemdata,以及所有OB、FO、DB)的下载。
下装前最好清楚CPU,然后重新下载。
5、5调试工程
调试特不重要,首先在完成硬件组态时,进行硬件通道的及监控与修改。
对硬件进行测试,数字量直截了当测试,模拟量把输出接到输入上,从而检测铜须是否正常,硬件是否正常。
接下来就是对程序逻辑进行测试。
通过监控程序中的变量来了解程序的逻辑是否正常。
Step7主要提供了两种调试工程的方式:
程序状态功能与变量表功能、
5、5、1 用程序状态功能调试程序
下装好程序后,连接PLC,将模式开关拨到RUN模式、打开OB1,单击monitor
假如通讯正常,则能够看到程序状态,用绿色连续线来表示状态满足,即有“能流”流过:
用蓝色点状细线表示状态不满足,没有能流流过:
用黑色连续表示状态未知、
5、5、2用变量表调试程序
由于程序状态功能只能在屏幕上显示一小块程序,在调试较大的程序时,往往不能同时显示与调试某一部分所需的全部变量[14]。