PROFIBUS现场总线测控系统设计.docx
《PROFIBUS现场总线测控系统设计.docx》由会员分享,可在线阅读,更多相关《PROFIBUS现场总线测控系统设计.docx(24页珍藏版)》请在冰豆网上搜索。
PROFIBUS现场总线测控系统设计
重庆科技学院
课程设计报告
院(系):
_电气与信息工程学院专业班级:
测控普2007-01
学生姓名:
张峰学号:
2007440765
设计地点(单位)__I502____________________
设计题目:
__基于WinCC和S7-300的温度测控系统__
完成日期:
2010年12月10日
指导教师评语:
_______________________________________
_______________________________________________________________________________________________________________________________________________________________________________________________________________
成绩(五级记分制):
________________
指导教师(签字):
________________
目录
1课程设计任务书I
2加热炉概述1
2.1功能特点与技术参数1
2.2控制手段1
3方案设计2
3.1现场总线概述2
3.2WinCC+S7-300温度控制系统的硬件配置2
3.3WinCC+S7-300温度控制系统的软件配置3
3.4WinCC+S7-300温度控制系统的网络结构3
3.5温度控制算法4
4S7-300PLC控制程序的设计6
4.1控制程序的组成6
4.2温度采集程序设计6
4.3数字滤波程序设计7
4.4PID控制程序设计7
5WinCC组态9
5.1变量组态9
5.2画面组态11
5.2变量连接12
6程序调试13
6.1PLC调试方法与结果13
6.2WinCC调试方法与结果14
7PID参数的整定17
7.1整定方法17
7.2整定结果及分析17
8技术小结18
参考文献19
附录1:
S7-300控制程序清单20
1课程设计任务书
设计题目:
基于WinCC和S7-300的温度测控系统
学生姓名
张峰
课程名称
现场总线测控系统设计
专业班级
测控普2007
地点
I502
起止时间
10.11.29~10.12.10
设计内容及要求
使用WinCC和S7-300PLC系统设计一套加热炉温度控制系统。
内容及要求如下:
1.接线图设计:
S7-300和加热炉控制对象之间的接线图设计。
2.S7-300PLC的硬件组态设计
3.程序设计
(1)PLC控制程序设计
包括温度采集程序,标度换算、数字滤波程序、PID控制程序、D/A输出程序设计等内容。
(2)WinCC组态设计
包括通信连接、变量组态、画面组态(温度控制回路相关参数的显示画面,温度趋势的显示画面,参数修改画面),变量连接等内容。
4.温度PID控制参数的整定
整定PID参数,分析不同PID对温度控制精度的影响。
设计
参数
技术指标:
1.温度采集精度:
0.5%
2.温度控制精度:
1%
进度
要求
第1天:
选题、讲解任务、S7-300基本应用;第2天:
温度控制回路接线图设计、S7-300编程;第3天:
数据采集程序、换算程序、数字滤波程序、输出程序设计与调试;第4天:
PID程序设计与调试;第5天:
WinCC基本应用培训与训练;第6-7天:
WinCC温度控制变量组态、画面设计、通信连接等;第8-9天:
温度控制系统WinCC与PLC联调;第10天:
撰写设计报告和检查设计结果
参考资料
1.廖常初.S7-300/400PLC应用技术(第2版)[M].机械工业出版社.2008
2.西门子自动化与驱动集团.深入浅出西门子WinCCV6[M].北京航空航天大学出版社,2005.9
其它
说明
1.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。
2.若填写内容较多可另纸附后。
3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别。
教研室主任:
指导教师:
胡文金、刘显荣
2010年11月2
2加热炉概述
此次设计的加热炉是一个温度惯性很大的系统,加热炉里装有铂电阻用于采集温度,内设电阻丝用于加热,有一对电流输出口和一对电压输入口。
模型如图2-1。
图2-1加热炉模型
2.1功能特点与技术参数
加热炉是一个温度惯性很大的系统,控制的时候滞后性很大,易于加热,控制比较简单。
加热炉控制范围是室温到0-100度,输出信号TT4-20mA,输入信号VI0-5V。
2.2控制手段
铂电阻PT100采集温度所对应的电压转换为4—20mA电流,经过A/D转换器转换为0-27648的数字量,输入PLCPID控制程序得到一个阀门的开度变换量,再经过D/A转换为0-5V的电压信号输入到加热炉中。
主要在PID控制器中对比例增益、积分时间、微分时间进行调节,最后有效的控制加热炉的温度。
3方案设计
3.1现场总线概述
PROFIBUS,是一种国际化.开放式.不依赖于设备生产商的现场总线标准。
PROFIBUS传送速度可在9.6kbaud~1.2Mbaud范围内选择且当总线系统启动时,所有连接到总线上的装置应该被设成相同的速度。
广泛适用于制造业自动化、流程工业自动化和楼宇、交通电力等其他领域自动化。
PROFIBUS是一种用于工厂自动化车间级监控和现场设备层数据通信与控制的现场总线技术。
可实现现场设备层到车间级监控的分散式数字控制和现场通信网络[1]。
通过现场PROFIBUS总线能实现PLC和WinCC快速通信。
对PROFIBUS的连接参数应该和PLC的插槽号地址对应设为2.如下图3-1所示。
图3-1PROFIBUS参数设定图
3.2WinCC+S7-300温度控制系统的硬件配置
本系统采用西门子公司推出的S7-300PLC作为现场控制器,选用CPU314-2DP主机模块;通过CP561卡完成现场控制器同中控机之间的通信。
现场控制器S7-300扩展了一块智能温度数据采集模块AI5/AO2,该模块带有4个模拟输入点和两个模拟输出点,集成有32位/转换器,不再需要外部变送器,一个模块就能完成数据采集及数据处理功能。
系统的温度信号的检测采用铂电阻PT100,铂电阻具有测量精度高、性能稳定可靠的特点,在工业上广泛用于-200℃~+500℃之间的温度测量[2]。
进入安装窗口,如图3-2所示。
图3-2硬件配置图
在机架第一栏中插入电源模块。
选中机架第二栏,插入CPU,注意准确的编号。
如果CPU支持DP通讯,则可以建立DP通讯参数。
设置完毕后,可以随时在Rack-300中双击DP,选择Property按钮,设置DP总线地址和速率。
增加IO模块,有的CPU集成了IO,然后设定这些IO的地址。
3.3WinCC+S7-300温度控制系统的软件配置
本次设计主要运用两大软件STEP7和WinCC,是供它们编程、监控和参数设置的标准工具。
为了在个人计算机上使用STEP7,应配置MPI通信卡或PC/MPI通信适配器,将计算机连接到MPI或PROFIBUS网络,来下载和上载PLC的用户程序和组态数据。
STEP7允许两个或多个用户同时处理一个工程项目,但是禁止两个或多个用户同时写访问。
STEP7具有以下功能:
硬件配置和参数设置、通信组态、编程、测试、启动和维护、文件建档、运行和诊断功能等。
STEP7的所有功能均有大量的在线帮助,用鼠标打开或选中某一对象,按F1键可以得到该对象的在线帮助。
在STEP7中,用项目来管理一个自动化系统的硬件和软件。
STEP7用SIMATIC管理器对项目进行集中管理,它可以方便地浏览SIMATICS7、M7、C7和WinAc的数据。
实现STEP7各种功能所需的SIMATIC软件工具都集成在STEP7中。
STEP7中的转换程序可以转换在STEP5或TISOFT中生成的程序。
WinCC是在微软公司Windows2000和WindowsXP平台上的功能强大的HMI/SCADA(人-机接口/上位计算机监控和数据采集)系统。
亦即,操作员和控制过程间的接口。
对过程的实际控制是由自动化系统来实现的。
用WinCC实现操作员和自动化系统之间的通信。
3.4WinCC+S7-300温度控制系统的网络结构
研究整个温度控制系统的特点和要求,考虑整个系统中以逻辑控制为主,并由上位机对整个系统进行监控,PLC为控制核心部件。
考虑到温度控制系统的可靠性以及项目的可实施性,运用S7-300PLC作为主控制器,通过PROFIBUS实现与各个控制工位进行数据交换。
结构图如图3-3。
图3-3网络结构图
3.5温度控制算法
3.5.1模拟量闭环控制
加热炉产生的模拟量温度是连续变化的模拟量。
运用PLC模拟量闭环控制系统如图3-4。
图3-4PLC模拟量闭环控制系统框图
闭环负反馈控制可以使控制系统的反馈量pvn等于或跟随给定值spn。
当反馈量pvn小于给定值spn,此时误差evn为正,使执行机构开度增大,加热炉电压增大,温度升高,最终使实际温度接近或等于给定值。
3.5.2PID控制器
PID控制器的传递函数为
MV(s)/EV(s)=Kp(1+1/TIs+TDs)
模拟量PID控制器的输出表达式为
mv(t)=Kp[ev(t)+1/TI∫ev(t)dt+TD*dev(t)/dt]+M(3-1)
式中,控制器的输入量(误差信号)ev(t)=sp(t)-pv(t);sp(t)为设定值;pv(t)为反馈值;mv(t)是控制器的输出信号;Kp为比例系数;式(3-1)TI和TD分别是积分时间常数和未分时间常数;M是积分出部分的初始值。
比例、积分、微分3部分可以组成P、PI、PD调节器。
由于控制温度的滞后性比较大,采用PID控制方式。
4S7-300PLC控制程序的设计
4.1控制程序的组成
整个控制程序采用了OB1模块、OB35模块、FC105、FC106、FB58、FB100组成。
OB1模块包含FC105、FB58、FC106、FB100完成实物控制程序和仿真程序的编写。
OB35模块完成数字滤波功能。
具体模块如图4-1。
图4-1模块结构图
4.2温度采集程序设计
运用FC105模块对温度进行采集。
SCALE功能接受一个整型值(IN),并将其转换为以工程单位表示的介于下限和上限(LO_LIM和HI_LIM)之间的实型值。
将结果写入OUT。
SCALE功能使用以下等式:
OUT=[((FLOAT(IN)?
K1)/(K2朘1))*(HI_LIM朙O_LIM)]+LO_LIM。
常数K1和K2根据输入值是BIPOLAR还是UNIPOLAR设置。
BIPOLAR:
假定输入整型值介于7648与27648之间,因此K1=7648.0,K2=+27648.0UNIPOLAR:
假定输入整型值介于0和27648之间,因此K1=0.0,K2=+27648.0如果输入整型值大于K2,输出(OUT)将钳位于HI_LIM,并返回一个错误[3]。
如果输入整型值小于K1,输出将钳位于LO_LIM,并返回一个错误。
FC105程序如图4-2。
图4-2FC105程序
4.3数字滤波程序设计
当采集的温度信号的时候存在无用成分时,可以用滤波器滤掉信号中的无用成分,来提高信号质量。
数子滤波中的算数平均值滤波对多路信号输入通道信号,可以公用一个滤波器。
改变滤波器程序或运算参数,可以很好的改变滤波特性。
此次采用算数平均值滤波来对温度信号滤波[3]。
真对这次滤波在一秒时间内只采用10,在CPU314-2DP设置中把循环中断时间设为100ms。
具体设计地方如图4-3。
图4-3循环中断时间设定
在OB35中,用MOVE模块将PIW752中的数字量存储在MD4中,用ADD-R对数字量进行10次采集存储在MD8中。
让ADD-I对采集次数进行计数,并把数据存储在MW12中,比较器CMP>=1对MW12和10进行比较。
若MW12大于10,继电器Q0.3接通。
用DIV-DI除以总次数10放到MD16中,再将MD16中的值放入MW20中并将MD8和MW12复位赋值0。
4.4PID控制程序设计
4.4.1FB58PID控制模块
FB58处理温度过程功能的PID控制算法只能使用FBTCONT_CP来进行纯粹地加热或纯粹地冷却。
如果使用块来冷却,必须为GAIN分配一个负值。
除了在设定值和处理过程值分支处的功能外,FB还实现了完整的PID温度控制器功能,可以输出连续和二进制的操作变量。
可以使用控制器调节功能,将程序块设置为PI/PID参数本身。
只有定期调用块,才能正确计算控制器功能块的数值。
PID模块如图4-4所示。
从输入PV_IN中获得浮点数格式的过程值,在输入SP_INT处以浮点数格式输入设定值,作为实际数值或者百分比数值。
表示出错的设定值和过程值单位必须相同。
在MAN获得浮点数格式的操作量值,MAN-ON可以设定自动或手动控制MAN的操作值。
PV作为过程变量在“过程变量”输出输出到FC106模块中。
图4-4FB58PID控制模块
4.4.2FB模块参数
在控制温度程序中运用的参数如下表4.1。
地址
参数
声明
数据类型
取值范围
初始值
描述
0.0
PV_IN
INPUT
REAL
取决于使用的传感器
0.0
浮点数格式的部过程变量
34.0
SP_INT
INPUT/OUTPUT
REAL
过程值范围
0.0
内部设定值”禂输入用于指定一个设定值
38.0
MAN
INPUT/OUTPUT
REAL
过程值范围
0.0
“手动值”输入端用于指定一个手动值。
在自动模式下,将其纠正为操作变量
166.0
GAIN
INPUT/OUTPUT
REAL
物理单位
2.0
比例增益,用于指定控制器增益。
通过设置负GAIN,可以使控制方向反向
170.0
TI
INPUT/OUTPUT
REAL
0.0s
40.0
确定积分动作响应
174.0
TD
INPUT/OUTPUT
REAL
0.0s
10.0
确定微分动作响应
表4.1PID控制参数
4.4.1FC106模块
FC106的功能接收一个以工程单位表示、且标定于下限和上限(LO_LIM和HI_LIM)之间的实型输入值(IN),并将其转换为一个整型值。
将结果写入OUT。
模块如图4-5。
图4-5FC106模块
5WinCC组态
WinCC组态软件介绍,在20世纪末期,有多种性能完善的HMI/SCADA软件系统面世,例如,美国Intellution公司的iFIX组态软件(Intellution公司现已被GE-Fanuc公司收购),Wonderware公司的Intouch组态软件,还有PCSoft公司的WizconSCADA应用开发软件。
德国西门子公司的SIMATICWinCC组态软件,也是这一类软件的优秀产品之一[4]。
5.1变量组态
数据是指在过程中采集并保存在所连接的某一自动化系统内存中的信息。
该数据反应了设备的状态,必须在WinCCflexible中定义变量。
在WinCCflexible中,外部变量用于采集过程值并访问所连接的自动化系统中的内存位置。
添加驱动程序SIMATICS7PROTOCOLSUITE和新建连接PROFIBUS。
如图5-1。
图5-1驱动程序添加图
图5-1变量组态图
PROFIBUS连接参数和系统参数设定。
如图5-2。
图5-2PROFIBUS参数设定
5.1.1变量SP在MewConnetion的设定
变量SP在根据它的数据类型、长度、地址、调整格式和具体数据、地址的设定。
如图5-3。
图5-3设定SP参数
5.1.2变量SP在图形编辑器连接
在图形编辑器中对SP的动态输入地址设为DB.DBD34,更新时间设为有变化,输出值为0.000000,类型域选为输入/输出,输出格式999.9的进行设定。
如图5-4所示。
图5-4SP在图形编辑器连接
5.2画面组态
在画面中组态趋势视图,以便在操作员设备上显示变量值。
组态趋势视图时,可指定显示哪些变量值:
来自PLC的当前值,可以用来自PLC的单个值(实时显示)连续显示趋势,或用来自PLC的两次读取过程之间存储。
在缓冲区中(间隔显示)的所有值连续显示趋势。
可以通过设置一个位或通过周期来控制读取时刻。
记录的变量值。
在运行时,趋势视图将显示来自数据记录的变量值。
趋势在特定窗口中及时显示所记录的值。
在运行时,操作员可以及时切换窗口,以查看所期望的信息(所记录的数据)。
如图5-5所示。
图5-5总体画面设计图
5.2变量连接
图形编辑器中对各个变量连接。
①变量SP的动态输入地址设为DB.DBD34,更新时间设为有变化,输出值为0.000000,类型域选为输入/输出,输出格式999.9的进行设定。
②变量PV的动态输入地址设为DB.DBD0,更新时间设为有变化,输出值为0.000000,类型域选为输入/输出,输出格式999.9的进行设定。
③变量MV的动态输入地址设为DB.DBD34,更新时间设为有变化,输出值为0.000000,类型域选为输入/输出,输出格式999.9的进行设定。
DB.DBD34是变量MAN的地址,通过控制二进制信号MAN-ON可对MV进行自动或手动控制。
④变量P的动态输入地址设为DB.DBD166,更新时间设为有变化,输出值为0.000000,类型域选为输入/输出,输出格式999.9的进行设定。
⑤变量TI的动态输入地址设为DB.DBD170,更新时间设为有变化,输出值为0.000000,类型域选为输入/输出,输出格式999.9的进行设定。
⑥变量TD的动态输入地址设为DB.DBD174,更新时间设为有变化,输出值为0.000000,类型域选为输入/输出,输出格式999.9的进行设定。
⑦变量F/C地址为I0.0,程序控件按下输入二进制数0,显示程序执行图。
仿真控件按下输入二进制数1,显示仿真图。
6程序调试
6.1PLC调试方法与结果
调试的方法非常重要。
首先在完成硬件组态时,进行硬件通道的监视和修改。
对硬件进行测试。
数字量直接测试。
模拟量把输出接到输入上,从而检测通讯是否正常,硬件是否正常。
下一步就是对程序逻辑进行测试。
通过监控程序中的变量来了解程序的逻辑是否正常。
运行PLCSIM,下载PLC控制程序,得到如图6-1所示的画面。
在PIW752输入为0,设定值SP为0.0。
可得到MW值为0.0,PQW752输出为0。
图6-1PLCSIM图
如图6-2将输入PIW752改为5530,设定值SP改为50.0。
得到MW值为100.0,PQW752输出为13824。
图6-2PLCSIM图
6.2WinCC调试方法与结果
调试WinCC程序,首先要对PG/PC接口进行设置,在S7300PLC硬件里使用的接口分配参数为PLCSIM﹙PROFIBUS﹚,应用程序访问点设为CP-L2-1:
PLCSIM﹙PROFIBUS﹚。
具体操作如图6-3。
图6-3PG/PC接口设计图
在选择自动和程序情况下,PIW752输入为5530,设定值SP为0.0。
可得到MW值为0.0,PQW752输出为0。
启动WinCC。
得到如图6-4所示结果。
图6-4WinCC组态显示结果1
在选择自动和程序情况下,WinCC上设定SP为80.0。
可得到MW值为100.0。
启动WinCC。
得到如图6-4所示结果。
图6-5WinCC组态显示结果2
在选择自动和仿真情况下,WinCC上设定SP为80.0。
启动WinCC。
可得到MW值为39.8。
得到如图6-6所示结果。
图6-6WinCC组态显示结果3
在选择自动和仿真情况下,WinCC上设定SP为50.0。
启动WinCC。
可得到MW值为20.3。
得到如图6-7所示结果。
图6-7WinCC组态显示结果4
7PID参数的整定
PID控制器有4个主要的参数TS、KP、TI、TD需要整定,如果使用PI控制器,也有3个主要参数需要整定。
参数调整不好,系统的动态性能达不到要求,甚至会使系统不能稳定运行。
PID的参数与系统动态,静态性能之间的关系是参数整定的基础[5]。
7.1整定方法
加热炉温度控制系统是惯性较大的系统,采用PID控制算法。
为了保证系统的安全,避免出现系统不稳定或超调量过大的异常情况,在调试开始时应设置比较保守的参数,例如增益不要太大,积分时间不要太小。
给出一个阶跃信号后,观察系统输出量波形。
根据输出波形提供的系统性能指标的信息,和PID参数与系统性能的关系,反复调节PID参数。
如果阶跃响应的超调量太大,经过多次振荡才能稳定或者根本不能稳定,应减小增益,增大积分时间。
如果阶跃响应没有超调量,但是被控量上升缓慢,过渡过程时间太长,应按相反的方向调节参数。
如果消除误差的速度较慢,可以适当减小积分时间。
如果反复调节KP和TI超调量仍然较大,可以加入微分,TD从0逐渐增大,反复调节KP、TI和TD。
7.2整定结果及分析
本加热炉温度控制采用的是FB100模拟信号发生器,只需要稍稍调节下PID参数就能得到满意的结果。
最终增益P值为150,积分时间TI为40,微分时间为0。
结果如下图7-1所示。
图7-1PID参数整定图
8技术小结
此温度控制系统运用两大SIMENS软件STEP7和WinCC组态。
在PLC程序中采用了OB1、OB35、FC105、FC106、FB58、FB100模块进行完整编程。
其中OB1主要编写A/D转换、PID控制、D/A转换。
OB35中编写数字滤波。
FB100作为仿真对象。
在WinCC中编写显示界面,显示出设定值、测量值、操作量、比例增益、积分时间、微分时间、自动、手动、程序、仿真、退出这些控件。
运用PROFIBUS总线将PLC程序中的数据快速传到WinCC变量中。
在WinCC控件中输入有效值后又通过PROFIBUS总线将数据传入到PLC控制程序中。
这样完成整个温度控制系统数据的传输和显示。
参考文献
[1]阳宪惠.工业数据通讯与控制网络[M].北京:
清华大学出版社,2003.
[2]廖长初,陈晓东.西门子人机界(触摸屏)面组态与应用技术[M].北京:
机械工业出版社,2008.
[3]廖长初.PLC基础及应用[M].北京:
机械工业出版社,2007.
[4]廖长初.S7-300/400PLC应用教程[M].北京:
机械工业出版社,2008.
[5]胡文金.计算机测控应用技术[M].重庆:
重庆大学出版社,2003.
附录1:
S7-300控制程序清单
OB35中:
OB1中: