基于PLC的流量监控系统设计说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计论文
基于PLC的流量监控系统设计
xxxx大学
xxx.xx
xxx
目录
1 选题背景
2方案论证
3 开发设计过程
4 结果分析
5 总结
参考文献
致
附录A:MAIN主程序:
附录B:CPU技术规
附录C :EM 235模拟量输入,输出和组合模块的技术规
基于PLC的流量监控系统设计
1 选题背景
本毕业设计课题来自实验室建设。
目的是利用PLC来实现过程控制。
目前,PLC 使用围可覆盖从替代继电器的简单控制到更复杂的自动化控制。
应用领域极为广泛,覆盖所有与自动检测,自动化控制有关的工业及民用领域,包括各种机床、机械、电力设施、民用设施、环境保护设备等等。
PLC通过模拟量I/O模块,实现模拟量与数字量之间的A/D、D/A转换,并对模拟量进行闭环PID控制。
用MCGS组态软件组态配置工业控制监控系统,对数据进行实时监控。
2方案论证
本毕业设计原理是利用扩展模块EM235(AI4/AQ1*12位)进行数据采集,然后把采集到的数据利用程序进行工程量转换,给定量与输入量相减得出偏换,送到执行器,从而构成的是单闭环控制。
采用增量式PID,具有以下优点:(1)增量算法控制误动作影响小。
(2)增量算法控制易于实现手动/自动无扰动切换。
(3)不产生积分失控,易获得较好的调节品质。
在实际应用中,在以步进电机或多圈电位器作执行器件的系统中,则采用增量式PID算法。
MCGS即"监视与控制通用系统",英文全称为Monitor and Control Generated System。
MCGS是为工业过程控制和实时监测领域服务的通用计算机系统软件,具有功能完善、操作简便、可视性好、可维护性强的突出特点。
MCGS工控组态软件是一套32位工控组态软件,集流程控制、数据采集、设备控制与输出数据与曲线等诸多强大功能于一身,广泛应用于石油、电力、化工、钢铁、矿山、冶金、机械等多种工程领域。
所以用MCGS作为本次毕业设计的开发软件是很有必要的。
3 开发设计过程
3.1 总体分析
学习了PLC的硬件系统、指令系统和编程方法以后,对设计一个较大的PLC系统时,要全面考虑许多因素,不管所设计的控制系统的大小,要按照下列设计步骤进行系统设计。
如图1:
3.2 工艺过程
随着PLC 功能的不断提高和完善,PLC 几乎可以完成工业控制领域的所有任务,但PLC 还有它最适合的应用场合:工业环境较差,而对安全性、可靠性要求较高,系统工艺复杂,输入/输出以开关量为主的工业自控系统或装置,它对模拟量的处理能力也很强。
所以在很多情况下,也可取代工业控制计算机作为主控制器,来完成复杂的工业自动控制任务。
控制对象及控制装置选定后,还要进一步确定PLC 的控制围。
一般来说,能够反映生产过程的运行情况,能够用传感器进行直接测量的参数,控制逻辑复杂的部分都由PLC 完成。
另外,对主要控制对象还要加上手动控制功能。
针对此次的控制任务,是利用PLC 对液体流量(模拟量)进行控制。
要求把管道中水流控制在一定的速度,要求用增量式PID 控制算法进行控制。
如图2所示:
3.3 系统控制要求
1、要求用PLC 编写程序,采用单闭环控制,来控制电动调节阀开度,以达到控制管道液体流量的目的。
2、用PLC 编写程序,采用单回路控制,以采集的流量为反馈信号,与给定值进行比较,以达到控制液体流量的目的。
3、用MCGS 组态软件对设计系统进行组态,对现场数据进行实时监控。
3.4 系统的I/O 点及地址分配
水泵
电动调节阀
图2 过程流程图
输入/输出信号在PLC接线端子上的地址分配是进行PLC控制系统设计的基础。
对软件设计来说,I/O地址分配以后才可进行编程;对控制柜及PLC的外围接线来说,只有I/O地址确定以后,才可以绘制电气接线图、装配图,分配地址时,要注意负载类型。
控制系统的输入/输出信号的名称、代码及地址编号如下表所示:
表1 地址分配
3.5 PLC系统的选型
选择PLC一方面要注意容量,另一方面什么公司的。
从上面的分析可以知道,系统需要模拟量输入点一个,模拟量输出点一个。
可以选用西门子公司S7-200 CPU222PLC(8入/6继电器输出)一台,特点:体积小巧,全面功能,最适应于中小机器设备的控制,适用于各行各业,各种场合中的检测、监测及控制的自动化。
强大功能使其无论在独立运行中,或相连成网络皆能实现复杂控制功能。
因此S7-200系列具有极高的性能/价格比,极高的可靠性,极丰富的指令集,易于掌握,便捷的操作,丰富的置集成功能,强劲的通讯能力,丰富的扩展模块。
在加上一台扩展模块EM235(4AI/1AO)。
这样的配置最经济。
3.6 需要考虑的其它问题
1、保护措施;
2、系统保直流电源的容量;
3、电源方面的抗干扰措施;
4、输出方面的护措施。
3.7 系统程序设计
3.7.1数字PID控制算法
在连续-时间控制系统中,PID控制器应用得非常广泛。
其设计技术成熟,长期以来形成了典型的结构,参数整定方便,结构更改灵活,能满足一般的控制要求。
数字PID控制比连续PID控制更为优越,因为计算机程序的灵活性,很容易克服连续PID控制中存在的问题,经修正而得到更完善的数字PID算法。
连续一时间PID控制系统如4所示。
图4中,D(s)为控制器。
在PID控制系统中,D(s)完成PID控制规律,称为PID控制器。
PID控制器是一种线性控制器,用输出量y(t)和给定量r(t)之间的误差的时间函数。
e(t)=r(t)-y(t) 的比例,积分,微分的线性组合,构成控制量u(t),称为比例(Proportional)积分(Integrating)微分(Differentiation)控制,简称PID控制。
实际应用中,可以根据受控对象的特性和控制的性能要求,灵活地采用不同的控制组合,构成
比例(P)控制器
比例十积分(PI)控制器
比例十积分十微分(PID)控制器
式中K
P ——比例放大系数;T
I
——积分时间; T
D
——微分时间。
控制作用:比例控制能迅速反应误差,从而减小稳态误差。
但是,比例控制不能消除稳态误差。
比例放大系数的加大,会引起系统的不稳定。
积分控制的作用是,只要系统有误差存在,积分控制器就不断地积累,输出控制量,以消除误差。
因而,只要有足够的时间,积分控制将能完全消除误差,使系统误差为零,从而消除稳态误差。
积分作用太强会使系统超调加大,甚至使系统出现振荡。
微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。
应用PID控制,必须适当地调整比例放大系数K
P
,积分时
间T
I 和微分时间T
D
,使整个控制系统得到良好的性能
数字PID控制算法:在电子数字计算机直接数字控制系统中,PID控制器是通过
计算机PID控制算法程序实现的。
计算机直接数字控制系统大多数是采样-数据控制系统。
进入计算机的连续-时间信号,必须经过采样和整量化后,变成数字量,方能进入计算机的存贮器和寄存器,而在数字计算机中的计算和处理,不论是积分还是微分,只能用数值计算去逼近。
在数字计算机中,PID控制规律的实现,也必须用数值逼近的方法。
当采样周期相当短时,用求和代替积分,用差商代替微商,使PID算法离散化,将描述连续-时间PID算法的微分方程,变为描述离散-时间PID算法的差分方程。
增量式PID控制算法:当执行机构需要的不是控制量的绝对值,而是控制量的增量(例如去驱动步进电动机)时,需要用PID的“增量算法”。
由位置算法求出
再求出
两式相减,得出控制量的增量算法
上式称为增量式PID算法。
对增量式PID算法归并后,得
其中
上式已看不出是PID的表达式了,也看不出P、I、D作用的直接关系,只表示了各次误差量对控制作用的影响。
从式中看出,数字增量式PID算法,只要贮存最近的三个误差采样值e(k)、e(k-1)、e(k-2)就足够了。
增量式PID控制的优点与不足:
优点: 1、增量算法控制误动作影响小。
2、增量算法控制易于实现手动/自动无扰动切换。
3、不产生积分失控,易获得较好的调节品质。
缺点:1、积分截断效应大,有静态误差。
2、溢出影响大
在实际应用中,在以步进电机或多圈电位器作执行器件的系统中,则采用增量式算法。
图6表示了增量式PID控制算法的流程图。
图6 增量式PID控制算法流程图
3.7.2 回路输入/输出量的工程量转换
一个回路具有两个输入量,即给定值和过程变量。
给定值通常为一固定值。
过程变量受回路输出的影响并反映了控制的效果。
给定值和过程变量都是实际的工程量,其幅度、围和测量单位都会不同。
在实施PID算法之前,必须将这些值转换为归一化
纯量、浮点数的格式,即:将实数格式的工程实际值转换为[0.0,1]间的无量刚相对值(称为归一化格式)。
用下式来将给定值或过程变量归一化:
Rnorm=(Rraw/Span+E)
式中:Rnom为工程实际值的归一化值;Rraw为工程实际值的实数形式,未归一化处理;E对于单极性值,取0;对于双极性值,取0.5;Span为最大允许值减去最小允许值,通常取:32000(对于单极性),64000(对于双极性)。
将回路控制输出转换为按工程量标定的整数值。
回路控制的输出,相对于被控对象来说,为一个控制量。
注意:回路控制输出为在[0.0,1.0]围的归一化实数格式,它必须先转换为16位按工程量标定的值后方可用于驱动实际装置。
这一转换实际上为归一过程的逆过程。
第一步是用下式将回路输出转换为按工程量标定的实数格式:
Rscal=(Mn-E)*Span
式中:Rscal为已按工程量标定的实数格式的回路输出;Mn为归一化格式的回路输出;E对于单极性模拟量,取为0.0;对双极性模拟量,取为0.5;Span为最大允许值减去最小允许值,通常取:32000(单极性),64000(双极性)
3.7.3 程序流程图
本程序分为三部分:主程序、子程序、中断程序。
逻辑运算放在主程序。
系统初始化的一些工作放在初始化子程序中完成,这样节省扫描时间。
利用定时器中断实现PID控制的定时采样及输出部分。
主程序图7:
图7 主程序流程图中断子程序图8:
图8 中断子程序流程图单闭环子程序pid:
初始化子程序initiate:
图
图11 初始化子程序流程图
滤波子程序sift:
本程序描述了模拟量模块EM235的功能,分别从AIW0、AIW2中取输入值,为了增加稳定性,求多次采样值的平均值。
图12 滤波子程序流程图
3.8MCGS组态软件对系统的组态过程
计算机技术和网络技术的飞速发展,为工业自动化开辟了广阔的发展空间,用户可以方便快捷地组建优质高效的监控系统,并且通过采用远程监控及诊断、双机热备等先进技术,使系统更加安全可靠,在这方面,MCGS工控组态软件提供强有力的软件支持。
MCGS全中文工业自动化控制组态软件(以下简称MCGS工控组态软件或MCGS)为用户建立全新的过程测控系统提供了一整套解决方案。
MCGS工控组态软件是一套32位工控组态软件,集动画显示、流程控制、数据采集、设备控制与输出、网络数据传输、双机热备、工程报表、数据与曲线等诸多强大功能于一身,并支持国外众多数据采集与输出设备,广泛应用于石油、电力、化工、钢铁、矿山、冶金、机械、纺织、航天、建筑、材料、制冷、交通、通讯、食品、制造与加工业、水处理、环保、智能楼宇、实验室等多种工程领域。
MCGSWW服务器版本,集工业现场的集散控制和各类历史、实时数据及相关曲线的WWW发布于一体,可以解决整个企业的Internet/Intranet方案,也可以非常方便的与您已有的企业网络相衔接,让您从具体的技术环节和繁杂的数据堆中脱身,随时随地掌握工业现场与企业运营状态,了解所需的各项信息,大幅度提高工作效率,实现成功决策。
MCGS即"监视与控制通用系统",英文全称为Monitor and Control Generated System。
MCGS是为工业过程控制和实时监测领域服务的通用计算机系统软件,具有功能完善、操作简便、可视性好、可维护性强的突出特点。
3.8.1 MCGS工控组态软件的功能和特点
1、概念简单,易于理解和使用。
普通工程人员经过短时间的培训就能正确掌握、快速完成多数简单工程项目的监控程序设计和运行操作。
用户可避开复杂的计算机软硬件问题,集中精力解决工程本身的问题,按照系统的规定,组态配置出高性能、高可靠性、高度专业化的上位机监控系统。
2、功能齐全,便于方案设计。
MCGS为解决工程监控问题提供了丰富多样的手段,从设备驱动(数据采集)到数据处理、报警处理、流程控制、动画显示、报表输出、曲线显示等各个环节,均有丰富的功能组件和常用图形库可供选用,用户只需根据工程作业的需要和特点,进行方案设计和组态配置,即可生成用户应用软件系统。
3、实时性与并行处理。
MCGS充分利用了Windows操作平台的多任务、按优先级分时操作的功能,使PC机广泛应用于工程测控领域成为可能。
工程作业中,大量的数据和信息需要及时收集,即时处理,在计算机测控技术领域称其为实时性任务关键任务,如数据采集、设备驱动和异常处理等。
另外许多工作则是非实时性的,或称为非时间关键任务,如画面显示,可在主机运行周期时间插空进行。
而像打印数据一类的工作,可运行于后台,称为脱机作业。
MCGS是真正的32位系统,可同时运行于Microsoft Windows95,98和Microsoft Windows NT平台,以线程为单位进行分时并行处理。
4、建立实时数据库,便于用户分步组态,保证系统安全可靠运行。
MCGS组态软件由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成。
其中的“实时数据库”是整个系统的核心。
在生成用户应用系统时,每一部分均可分别进行组态配置,独立建造,互不相干;而在系统运行过程中,各个部分都通过实时数据库交换数据,形成互相关联的整体。
实时数据库是一个数据处理中心,是系统各个部分及其各种功能性构件的公用数据区。
各个部件独立地向实时数据库输入和输出数据,并完成自己的差错控制。
5、设立“设备工具箱”,针对外部设备的特征,用户从中选择某种“构件”,设置于设备窗口,赋予相关的属性,建立系统与外部设备的连接关系,即可实现对该种设备的驱动和控制。
不同的设备对应于不同的构件,所有的设备构件均通过实时数据库建立联系,而建立时又是相互独立的,即对某一构件的操作或改动,不影响其它构件和整个系统的结构,从这一意义上讲,MCGS是一个“设备无关”的系统,用户不必因外部设备局部改动,而影响整个系统。
6、“面向窗口”的设计方法,增加了可视性和可操作性。
以窗口为单位,构造用户运行系统的图形界面,使得MCGS的组态工作既简单直观,又灵活多变。
用户可以使用系统的缺省构架,也可以根据需要自己组态配置,生成各种类型和风格的图形界面,包括DOS风格的图形界面、标准Windows风格的图形界面以及带有动画效果的工具条和状态条。
7、利用丰富的“动画组态”功能,快速构造各种复杂生动的动态画面。
以图象、图符、数据、曲线等多种形式,为操作员及时提供系统运行中的的状态、品质及异常报警等有关信息。
用变化大小、改变颜色、明暗闪烁、移动翻转等多种手段,增强画面的动态显示效果。
图元、图符对象定义相应的状态属性,即可实现动画效果。
同时,MCGS为用户提供了丰富的动画构件,模拟工程控制与实时监测作业中常用的物理器件的动作和功能。
每个动画构件都对应一个特定的动画功能。
如:实时曲线构件、历史曲线构件、报警显示构件、自由表格构件等。
8、引入“运行策略”的概念。
复杂的工程作业,运行流程都是多分支的。
用传统的编程方法实现,既繁琐又容易出错。
MCGS开辟了“策略窗口”,用户可以选用
系统提供的各种条件和功能的“策略构件”,用图形化的方法构造多分支的应用程序,实现自由、精确地控制运行流程,按照设定的条件和顺序,操作外部设备,控制窗口的打开或关闭,与实时数据库进行数据交换。
同时,也可以由用户创建新的策略构件,扩展系统的功能。
9、MCGS系统由五大功能部件组成,主要的功能部件以构件的形式来构造。
不同的构件有着不同的功能,且各自独立。
三种基本类型的构件(设备构件、动画构件、策略构件)完成了MCGS系统三大部分(设备驱动、动画显示和流程控制)的所有工作。
用户也可以根据需要,定制特定类型构件,使MCGS系统的功能得到扩充。
这种充分利用“面向对象”的技术,大大提高了系统的可维护性和可扩充性。
10、支持OLE Automation技术。
MCGS允许用户在Visual Basic中操作MCGS中的对象,提供了一套开放的可扩充接口,用户可根据自己的需要用VB编制特定的功能构件来扩充系统的功能。
11、MCGS中数据的存储不再使用普通的文件,而是用数据库来管理一切。
组态时,系统生成的组态结果是一个数据库;运行时,数据对象、报警信息的存储也是一个数据库。
利用数据库来保存数据和处理数据,提高了系统的可靠性和运行效率,同时,也使其它应用软件系统能直接处理数据库中的存盘数据。
12、设立“对象元件库”,解决了组态结果的积累和重新利用问题。
所谓对象元件库,实际上是分类存储各种组态对象的图库。
组态时,可把制作完好的对象(包括图形对象,窗口对象,策略对象,以至位图文件等等)以元件的形式存入图库中,也可把元件库中的各种对象取出,直接为当前的工程所用。
随着工作的积累,对象元件库将日益扩大和丰富,组态工作将会变得越来越简单方便。
13、提供对网络的支持。
考虑到工控系统今后的发展趋势,MCGS充分运用现今发展的DCCW(Distributed Computer Cooperator Work)技术,即分布式计算机协同工作方式,来使分散在不同现场之间的采集系统和工作站之间协同工作。
通过MCGS,不同的工作站之间可以实时交换数据,实现对工控系统的分布式控制和管理。
3.8.2 MCGS工程的五大部分
MCGS组态软件所建立的工程由主控窗口、设备窗口、用户窗口、实时数据库和运行策略五部分构成,每一部分分别进行组态操作,完成不同的工作,具有不同的特性。
1、主控窗口:是工程的主窗口或主框架。
在主控窗口中可以放置一个设备窗口和多个用户窗口,负责调度和管理这些窗口的打开或关闭。
主要的组态操作包括:定义工程的名称,编制工程菜单,设计封面图形,确定自动启动的窗口,设定动画刷新周期,指定数据库存盘文件名称及存盘时间等。
2、设备窗口:是连接和驱动外部设备的工作环境。
在本窗口配置数据采集与控制输出设备,注册设备驱动程序,定义连接与驱动设备用的数据变量。
3、用户窗口:本窗口主要用于设置工程中人机交互的界面,诸如:生成各种动画显示画面、报警输出、数据与曲线图表等。
4、实时数据库:是工程各个部分的数据交换与处理中心,它将MCGS工程的各个部分连接成有机的整体。
在本窗口定义不同类型和名称的变量,作为数据采集、处理、输出控制、动画连接及设备驱动的对象。
5、运行策略:本窗口主要完成工程运行流程的控制。
包括编写控制程序(if…then 脚本程序),选用各种功能构件,如:数据提取、历史曲线、定时器、配方操作、多媒体输出等。
3.8.3 MCGS组态过程
使用MCGS完成一个实际的应用系统,首先必须在MCGS的组态环境下进行系统的组态生成工作,然后将系统放在MCGS的运行环境下运行。
本章逐步介绍在MCGS组态环境下构造一个用户应用系统的过程,以便对MCGS系统的组态过程有一个全面的了解和认识。
3.8.3.1 工程整体规划
在实际工程项目中,使用MCGS构造应用系统之前,应进行工程的整体规划,保
证项目的顺利实施。
对工程设计人员来说,首先要了解整个工程的系统构成和工艺流程,弄清测控对象的特征,明确主要的监控要求和技术要求等问题。
在此基础上,拟定组建工程的总体规划和设想,主要包括系统应实现哪些功能,控制流程如何实现,需要什么样的用户窗口界面,实现何种动画效果以及如何在实时数据库中定义数据变量等环节,同时还要分析工程中设备的采集及输出通道与实时数据库中定义的变量的对应关系,分清哪些变量是要求与设备连接的,哪些变量是软件部用来传递数据及用于实现动画显示的等问题。
作好工程的整体规划,在项目的组态过程中能够尽量避免一些无谓的劳动,快速有效地完成工程项目。
3.8.3.2 工程建立
MCGS中用“工程”来表示组态生成的应用系统,创建一个新工程就是创建一个新的用户应用系统,打开工程就是打开一个已经存在的应用系统。
工程文件的命名规则和Windows系统相同,MCGS自动给工程文件名加上后缀“.mcg”。
保存新工程时,可以随意更换工程文件的名称。
缺省情况下,所有的工程文件都存放在MCGS安装目录下的Work子目录里,用户也可以根据自身需要指定存放工程文件的目录。
3.8.3.3 构造实时数据库
实时数据库是MCGS系统的核心,也是应用系统的数据处理中心,系统各部分均以实时数据库为数据公用区,进行数据交换、数据处理和实现数据的可视化处理。
定义数据对象的过程,就是构造实时数据库的过程。
定义数据对象时,在组态环境工作台窗口中,选择“实时数据库”标签,进入实时数据库窗口页,显示已定义的数据对象,置增加一个新的对象时,可在该处选定数据对象,鼠标单击“新增对象”按钮,则在选中的对象之后增加一个新的数据对象;如不指定位置,则在对象表的最后增加一个新的数据对象。
新增对象的名称以选中的
对象名称为基准,按字符递增的顺序由系统缺省确定。
对于新建工程,首次定义的数据对象。
缺省名称为Data1。
需要注意的是,数据对象的名称中不能带有空格,否则会影响对此数据对象存盘数据的读取。
数据对象属性设置
MCGS把数据对象的属性封装在对象部,作为一个整体,由实时数据库统一管理。
对象的属性包括基本属性、存盘属性和报警属性。
基本属性则包含对象的名称、类型、初值、界限(最大最小)值、工程单位和对象容注释等项容。
表2 定义变量。