基于C++Builder的实时过程监控系统的设计
摘要:本文以上海新奥拓公司的"EFPT-1"过程控制实验对象为实验平台设计了一实时过程监控系统,该系统对锅炉液位、进水流量、出水压力、马达频率等11个参数进行在线检测并实时控制。利用C++Builder 6编写一监控界面,实现了监测参数的数字显示和动态曲线显示,监控界面逼真,操控方便,充分发挥了C++Builder在WIN32系统下快速开发应用程序的强大优势。在控制算法上采用改进型PID算法,主要有积分分离型和抗饱和积分型,实验结果表明这种算法代码实现简单,对信号变化反映速度快、超调小、效果稳定。
关键词:C++Builder 实时监控系统 改进型PID
Design of Real-time Process Monitoring System
Based on C + + Builder
Abstract:This paper takes Shanghai new ao tuo "EFPT - 1" -the process control subjects for the experimental platform to design a real-time process monitoring system.This system can test online and real-time control 11 parameters such as boiler water level, water flow rate, pressure, motor frequency and so on.Using c + + Builder 6 write a monitoring interface, in order to realize monitoring and displaying the digital parameters and showing dynamic curves.Monitoring interface lifelike, manipulation convenient, give full play to the c + + Builder under WIN32 system in the rapid development application powerful advantage. A modified algorithm in control PID algorithm basically have integral type separation and fight saturated integral type.Experimental results show that this algorithm to signal the realization of simple, code changes reflect speed, overshoot small, stable effectiveness.
Keywords: C++Builder;Real-time monitoring system;Improved PID
引言 就目前而言,许多工业过程控制仍然要依靠人工加常规仪表进行操作和监控,这样不仅使得工人劳动强度加大,生产条件变差,而且很难保证安全生产。随着工业技术的发展,尤其是计算机控制技术的日益成熟,工业过程的计算机自动控制方式也得到了快速的发展和不断的完善。
工业过程采用自动控制,不仅可以大大减轻操作人员的劳动强度,改善工作环境和条件,而且可以在更大程度上提高生产效率,达到节能降耗的目的。随着对工业生产过程的自动化水平的要求越来越高,也要求其监控系统(尤其是实时监控系统)逐步完善。现阶段,中小型工业企业为降低设备成本大部分采用工业PC机(工控机)对工业过程进行监控。为了使那些不具备较高的特殊专业知识技能操作人员能够快速而全面地掌握系统运行状况,并能够对系统运行过程中出现的故障进行相应的操作就对开发监控软件平台提出了更高的要求。目前市场上控制系统所采用的软件非常多。主要有以下几类:
⑴在DOS系统平台下,应用C语言开发应用控制软件。
⑵在windows等平台下,采用市面上的组态软件开发各种工业监控应用软件;
以上两种方式均有各自不同的缺陷,方式⑴中控制算法容易实现,但缺点是用户界面和图形功能很差,这不利于现场操作人员的观察及现场分析。方式⑵的缺点是难以实现较复杂的控制算法,编程能力差,二次开发功能不强。为了克服上述缺陷,实现既易于进行二次开发,保证编程功能强大,又使得用户界面更加友好,图形功能更强。本课题以windowsXP为平台采用Borland公司的C++Builder系统开发软件结合MathWorks公司的Matlab数值计算工具来开发一套实时过程检测系统。该系统能够对锅炉液位、进水流量、出水压力、马达频率等参数进行在线检测并实时控制。人机界面友好、易于操作,同时调试结果表明,本文设计出的过程监控系统具有可靠性高、开发周期短、通用性强等优点。
1 课题简介
1.1 课题要解决的问题及现实意义
许多过程控制具有多输入、多输出、多回路的特点,其各个回路之间相互影响,各项指标的控制和检测难度加大。因此,本课题要重点解决的问题是,设计合理的控制回路,能够较精确的测量和控制温度、压力及液位等重要控制指标。不仅要保证控制精度,而且还要力求做到对整个系统进行在线实时控制,这是本文的难点,同时又是重点。本部分将在后面的本分进行详细的讲解。
C++ Builder是由Borland公司推出的一款基于C++语言的可视化集成开发工具。它继承了Delphi的RAD(rapid application development)技术和数百的VCL(visual component library),具有快速、简单的可视化开发环境;内置了100多个完全封装了Windows公用特性且具有完全可扩展性(包括全面支持ActiveX控件)的可重用控件;C++ Builder具有一个专业C++开发环境所能提供的全部功能:快速、高效、灵活的编译器优化。它实现了可视化的编程环境和功能强大的编程语言(C++)的完美结合。
然而如果使用较为复杂的控制算法,考虑到C++语言本身就数值计算方面的特点,容易造成运行效率低下,甚至会对系统实时性造成影响系统的实时性。MathWorks公司推出的Matlab软件弥补了C++Builder的缺陷,Matlab能够进行矩阵运算、绘制函数和数据、实现算法连接及其他编程语言的程序等。Matlab是一个包含大量计算算法的集合,拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能从而能够缩短算法的计算时间,从而提高系统的运行效率。但不尽如人意的地方是,它在开发图形界面和系统编程方面存在弊端。
因此,为了完善控制系统的功能,提高系统的实时高效性,需要将C++ Builder和Matlab进行混合使用,从而优势互补。本文通过COM技术完成C++Builder与Matlab的混合编程。本文并没有使用模糊控制等复杂控制算法,但本文COM技术的应用为以后运用Matlab和C++Builder混合编程进行模糊控制打下了技术基础。
1.2 过程监控系统现状及发展趋势
与过去传统工业控制设备相比,现代工业控制设备发生了巨大的变化,监控领域方面,过程监控系统起了重要的作用,它以图形化、仪表化的屏幕界面使得操作简单又直观,易于为操作员接受。近20多年来,由于微电子技术和计算机技术的飞速发展以及工业自动化要求的逐步提高,计算机监控系统正逐步取代以往笨重的硬件监视仪表和记录设备而成为实现工业设备及其系统操作必不可少的一部分。
过程监控系统的发展趋势[11]:
⑴、控制功能多样化
监控系统最低级为监视控制站(有的叫现场控制单元),一般都具有几十种运算控制算法和其他一些数字和逻辑功能,如四则运算、逻辑运算、前馈、PD控制、自适应控制和滞后时间补偿等,有的还包括顺序控制、联锁保护和报警功能。针对不同工艺对象的不同要求,把这些功能有机地结合起来,满足生产系统的要求。
⑵、操作简便
操作站是功能很强的人机接口。早期的监测系统采用专用输入/输出设备,由于生产批量较少,不仅成本高,而且技术进步更慢,功能也比较简单。如今大量采用通用的显示器、键盘,甚至是完整的通用计算机。通过CRT显示器可以对工艺对象进行综合性的集中监视。通过键盘可实现各种操作功能。打印机可以及时打印各种需要的数据和报表。
⑶
上一篇:
数据库课程设计_仓库管理系统(VFP)
下一篇:
4种小菜缓解孕妈咪不适