组态监控软件论文

2024-11-05

组态监控软件论文(共12篇)

组态监控软件论文 篇1

0 引言

随着计算机技术和电子信息技术在电力建设中广泛和深入的应用, 综合自动化变电站已成为变电站发展的新趋势。目前, 盘锦电力公司已建成综合自动化变电站24座, 通过自动监视和控制极大地提高了工作效率和安全性。而要完成自动监视和控制, 采用灵活的组态方式, 快速构建自动监控控制系统十分重要。

1 组态软件的特点

传统的工业控制软件开发周期较长, 这是因为工业被控对象一旦有变动, 就必须修改控制系统的源程序;同时已开发成功的工控软件又由于控制项目的不同而很少重复使用, 增加了开发成本;在修改工控软件的源程序时相对复杂困难。组态软件能够很好地解决这些问题, 使用户可根据自己的控制对象和控制目的任意组态, 完成最终的自动化控制。

组态软件是数据采集与过程控制的专用软件, 是通过组态方式构建自动控制系统监控功能的软件工具。它支持各种工控设备和常见的通信协议, 通常也提供分布式数据管理和网络功能。实时数据库、实时控制、SCADA、通信及联网、开放数据接口、对I/O设备的广泛支持是组态软件的主要功能。组态软件的主要特点如下:

(1) 延续性和可扩充性。当现场的硬件设备、系统结构或需求发生改变时, 不需要很多修改就可方便地完成软件的更新和升级。

(2) 封装性。将所能完成的功能用一种方便实用的方法包装起来, 使用者不必专门学习编程语言技术就能很好地完成一个复杂工程所要求的所有功能。

(3) 通用性。根据工程实际情况, 利用组态软件提供的底层设备的I/O Driver、开放式的数据库和画面制作工具, 就能完成一个具有动画效果、实时数据处理、历史数据和曲线并存、多媒体功能和网络功能的工程。

2 组态软件应用分析

目前, 盘锦电力公司在用组态软件是分别在不同时期投入使用的, 受当时市场环境、技术水平以及总体设计要求等因素影响, 所选产品种类型号都略有不同, 但是各款组态软件实际使用效果大致相同。目前主要使用的组态软件包括iFIX、Cimplicity、组态王KingView、Eyewin在线监控系统、PEMP组态软件、DF3000组态软件、ISA300变电站监控后台系统等。组态软件应用开发流程如图1所示。

(1) iFIX是美国通用电气公司 (GE) 旗下产品, 是目前世界上较为先进的HMI/SCADA自动化监控组态软件, 在电力、冶金、石油化工等行业中有较多应用。它集安全性、通用性和易用性于一身, 可适应各种生产环境。

(2) Cimplicity是GE旗下产品, 为其智能平台ProficyR提供集成的HMI/SCADA解决方案, 目前广泛用于各大电子、电力、餐饮、石油天然气以及其它行业的生产过程。

(3) 组态王KingView是由北京亚控科技发展有限公司开发的组态软件, 具有易用性强、动画功能丰富、技术性能卓越、稳定可靠且价格低廉等特点。

(4) Eyewin在线监控系统是国电南自面向电力监控当前及未来发展趋势全新设计的新一代电网监控自动化系统。它是PS6000自动化系统的子系统软件, 可兼容各种硬件平台 (服务器、工作站、微机) , 又可运行于不同操作系统 (Windows、Linux、Unix) , 能够满足电力监控系统对运行环境的不同需求;支持集控站/厂站监控系统的各种应用, 集SCADA、图模库一体化、拓扑分析、一体化五防、操作票管理、程序化控制、保护信息管理及仿真培训等高级应用于一体, 为各种规模的集控站/厂站监控提供完整、成熟的解决方案。

(5) PEMP监控组态软件是北京光耀电力自动化有限公司依靠GE在电力系统及自动化领域的先进技术, 汲取国内外变电站自动化先进成熟的网络通信和控制技术开发的适用于自身产品的一款软件, 目前广泛应用在变电站综合自动化系统中。其与GE Multilin数字保护单元、通信网络构成先进的自动控制系统。

(6) DF3000监控组态软件是东方电子集团有限公司开发的一套变电站自动化系统。目前, 东方电子已经推出了满足两层数字化要求的DF3300E/DF1900变电站自动化系统, 迄今为止已经有百余套系统在全国各地的110~500kV变电站稳定运行。

(7) ISA300变电站监控后台系统是由深圳南京自动化研究所 (南瑞) 开发的监控系统。该系统采用开放式的软件工作平台, 为多窗口多任务系统;界面风格采用Windows NT/9X画面输出和操作方式, 结构设计模块化, 通用数据库访问方式, 多进程、多线程模式。该系统是南瑞早期开发的监控系统, 目前已经被新版本取代。

软件特点比较分析如下:

(1) iFIX和Cimplicity虽然同属于GE旗下产品, 但是两款组态软件特点却有许多不同, 如果作为工程开发者, 那么iFIX要比Cimplicity更具优势。在图形界面设计方面, 两者的图库图形丰富、色彩方案齐全, 并支持外部导入;同时两者都内嵌VBA, 具有自己的内部函数, 又有广泛的VB函数, 支持所有类型的ActiveX、OLE。

两款软件在可扩展性以及二次开发灵活性上极其强大, 这些优点都是现阶段国内软件无法比及的。其中, iF-IX的优势在于它的编辑与运行是切换进行的, 这有利于保障现场生产安全, 且支持在线修改, 运行时可根据程序很方便地更换对象的链接数据源, 使控制更灵活;而Cimplicity对数据节点的修改不是在线的, 必须先停止工程, 再启动工程。另外在数据库编辑上, iFIX支持数据库导出和导入后编辑, 尽管Cimplicity也支持这种方式, 但在实际使用过程中却经常产生错误, 影响开发效率。两款组态软件功能上具有相当优势, 可实际应用中难免也有弱点, 比如产品版权注册复杂、软件价格昂贵、售后支持不够等, 都是其在国内应用的瓶颈。

(2) 组态王KingView是目前国内比较优秀的组态软件, 在开发过程中易于上手, 简单快捷, 图形丰富, 但是相比较国外软件还是存在差距。由于其内嵌了VBA并且集成多种驱动程序, 因此在可扩展性及二次开发方面有一定优势, 可应用在小型或低要求的自动化系统中。

(3) Eyewin在线监控系统与PEMP监控组态软件是国内近几年比较成熟且功能全面的组态系统软件, 其优势在于与厂商自己开发产品结合得好, 并且具有一套针对性很强的系统结构, 开发周期短、效率高;缺点是图形图库系统一般, 可扩展性不强。

(4) DF3000监控组态软件和ISA300变电站监控后台系统分别是东方电子和南瑞电气的早期版本软件, 受当时技术水平限制, 与当今市场产品相比, 其图形画面支持不够、可扩展性不强、数据库系统陈旧, 尽管目前运行比较稳定, 但由于产品已经退出市场, 或被更高版本系统软件取代, 因此无法保障售后支持。

3 结束语

当今自动化系统中硬件系统的高度集成化发展, 促使组态软件系统功能越发强大, 选择一款符合项目要求的组态软件尤为重要。衡量软件的标准未必仅限于其功能、性能, 在科技高速发展的时代, 任何产品都不能保证绝对的领先, 所以重点应放在软件是否有针对性的设计理念及应用效果上。另外, 软件能否有效地发挥功效, 还在于使用者和操作者的水平。因此, 合适的软件系统、成熟的硬件基础加上高技术的开发应用者, 才可组合成最完善的系统。

组态监控软件论文 篇2

基于力控组态软件的锅炉监控系统设计

院(系):

电气与控制工程学院

专业班级:

10级测控1班

名:

张坡坡

号:

1006070127

2013年 4月 29日

目录

1.力控组态软件PCAuto...................................3 1.1软件的认识...............................................3 1.2软件的使用...............................................3 2.系统功能概述.........................................3 3.系统设计.............................................4 3.1设计思想..................................................4 3.2软件组态设计..............................................4 3.3系统功能实现的脚本程序....................................11 4.设计心得体会.........................................12

1.力控组态软件PCAuto 1.1软件的认识

力控监控组态软件PCAuto是对现场生产数据进行采集与过程控制的专用软件,是在自动控制系统监控层一级的软件平台,它能同时和国内外各种工业控制厂家的设备进行网络通讯,它可以与高可靠的工控计算机和网络系统结合,便可以达到集中管理和监控的目的,同时还可以方便地向控制层和管理层提供软、硬件的全部接口,来实现与“第三方”的软、硬件系统进行集成。

力控监控组态软件PCAuto最大的特点是能以灵活多样的“组态方式” 进行系统集成,它提供了良好的用户开发界面和简捷的工程实践方法,用户只要将其预设置的各种软件模块进行简单的“组态”,便可以非常容易地实现和完成监控层的各项功能,缩短了自动化工程师的系统集成的时间,大大地提高了集成效率。

力控的应用范围广泛、可用于开发石油、化工、半导体、汽车、电力、机械、冶金、交通楼宇自动化、食品、医药、环保等多个行业和领域的工业自动化、过程控制、管理监测、工业现场监测、远程监测/远程诊断、企业管理/资源计划等系统。

PCAuto组态软件具有功能强大的图形开发环境Draw,采用面向对象的图形技术,创建动画式人-机界面系统及高可靠性快速的图形界面运行系统View,用来运行Draw创建图形窗口。先进的分布式实时数据库DB是整个应用系统的核心模块,负责整个力控应用系统的实时数据处理、历史数据存储、统计数据处理、报警信息处理、数据服务请求处理及完成与过程的双向通信。1.2软件的使用

在组态软件中填写一些事先设计的表格,再利用图形功能把被控对象(温度计、压力计、锅炉、趋势曲线、报表、温控曲线等)形象的画出来,通过内部数据连接把被控对象的属性与I/O设备的实时数据进行逻辑连接。当由组态软件生成的应用系统投入运行后,与被控对象相连的I/O设备数据发生变化会直接带动被控对象的属性变化。

2.系统功能概述

基于力控组态软件的锅炉监控系统的设计主要是充分利用软件的优势,通过 3 对锅炉系统中的三个主要参数,即锅炉水位、炉膛压力、锅炉内温度的控制来实现对锅炉系统的实时监控。具体的控制原则为:当锅炉液位“LEVEL”的值高于100时,系统产生报警,对应的入水阀门会变小到5%;当炉内压强“YQ” 的值高于0.11Mpa时,系统也会报警,同时出气阀门开启;同样,当锅炉内温度“WD”的值高于90时,系统也产生报警信息,同时进气阀门会变小到5%。其中锅炉水位由仿真PLC的常量寄存器控制,炉膛压力和锅炉内温度也分别由仿真PLC的常量寄存器控制,由于无法准确地建立锅炉水位、炉膛压力、锅炉内温度三者之间的函数关系,在设计时人为设定炉膛压力和锅炉内温度分别随锅炉水位增减情况的不同而有不同的增减量变化。系统的启停则由“开始”按钮进行控制。系统报警时,会生成报警曲线。温度过高时,加热设备停止加热,其中是否加热有动画连接实现,加热时加热设备一直闪烁,否则停止闪烁。

3.系统设计

3.1设计思想

锅炉设备是一个复杂的控制对象,主要的输入变量是负荷、锅炉给水、燃料量、减温水、送风和引风等;主要的输出变量是汽包水位、蒸汽压力、炉膛负压、过剩空气等。因输入变量与输出变量相互关联,如果蒸汽负荷发生变化,必将会引起汽包水位、蒸汽压力和过热蒸汽温度等变化,因此锅炉是一个多输入、多输出且相互关联的控制对象。由于条件限制及能力有限,本控制系统将主要控制三个变量:锅炉水位、炉内温度、炉内压力。

在本控制系统的图形界面上具备报警通知及确认、报表组态及打印、历史数据查询与显示等功能。各种报警、报表、趋势都是动画连接的对象,其数据源都可以通过组态来指定。每个画面的内容可以根据实际情况灵活设计。3.2软件组态设计

基于力控PCAuto组态软件的设计与实现主要包括以下几个步骤:画面创建、动画连接、I/O设备设置、创建实时数据库、数据连接。

① 画面创建

根据本系统的特点,设计了锅炉监控系统主界面,数据的采集、保存及查询界面,报警信息,温控曲线四个界面。主界面如图1所示,主要包括了系统开关,锅炉精灵,压力、温度的精灵,加热设备和一些控制阀门。

图1 锅炉监控系统主界面

数据的采集、保存及查询界面如图2所示,说明了系统的实时数据信息,及相关历史数据的查询。主要包含趋势曲线和历史报表。“历史报表”工具可以方便的实现报表打印功能

图2 数据的采集、保存及查询界面

报警信息界面如图3所示,由报警组态及相关报警设置来完成系统的报警任务。

图3 报警信息界面

温控曲线界面如图4所示,主要有温控曲线组件完成,便于更好的实现锅炉内温度的控制与观测。

图4 温控曲线界面

② 动画连接

动画连接是指画面中图形对象与变量或表达式的对应关系。建立了连接后,在监控系统运行时,根据变量或表达式的数据变化,图形对象改变颜色,大小等外观,文本会进行动态刷新。这样就将现场真实的数据放映到计算机的监控画面中,从而达到监控的目的。

此控制系统中分别对开关精灵、报警灯、界面切换、加热设备等进行了相关的动画连接。从而可以动态的实现系统的良好控制。具体实现方法如图5中各图所示。

(a)开关的相关动画连接

(b)阀门的相关动画连接

(c)各界面切换的相关动画连接

图5 动画连接

③ I/O设备设置及管理

I/O设备设置是指对包括应用程序的“软件设备”和现场数据采集交换的硬件设备在内的广义上I/O设备驱动程序进行配置,使其与组态软件建立通信,构 成一个完成的系统。在被监控系统中,分别对锅炉的液位“LEVEL”,入口泵“IN_WATER”,出口阀门“OUT_WATER”,进行了定义,地址的分配,通信方式的选定等操作。在监控系统中建立的仿真PLC,其实现方法如图6所示。

图6仿真PLC的建立

配置I/O设备的过程在图形开发环境Draw的导航器中进行,按照设备安装对话框的提示就可以完成I/O设备的配置工作。I/O设备配置完成后,在导航器中将列出I/O设备的设备名称,同时生成的设备名称即可用于数据连接过程。在系统运行时,力控通过内部管理程序自动启动相应的I/O驱动程序,I/O驱动程序负责与I/O设备的实时数据交换。

④ 创建实时数据库

实时数据库(DB)是整个监控系统的核心。它负责整个系统的实时数据处理和历史数据存储、统计数据处理、报警信息处理、数据服务请求处理,完成与过程数据采集的双向数据通信。在本系统中,经过创建点参数、定义I/O设备、数据连接等几个步骤便可以完成数据库的创建。系统中采用的I/O设备的数据采集与回送是实时数据库的一个最基本的功能。因为实时数据库系统应用所面向的监控对象最终还是要落实到具体的硬件设备。力控数据支持的I/O设备包括DCS、可编程控制器(PLC)、智能模块、板卡、智能仪表、控制器、变频器等。数据库与I/O设备之间的数据交换方式也相应的有很多种。本系统实时数据库的建立过程如下所示: 以“LEVEL”点参数的建立、修改为例,包括基本参数、报警参数、数据连接、历史参数等的设置。

图7 相关点参数的设置 3.3系统功能实现的脚本程序 调出程序脚本串口,编写程序如下:

图8 脚本程序

程序:

IF RUN.PV==1 THEN

LEVEL.PV=LEVEL.PV-3;WD.PV=WD.PV-2;YQ.PV=YQ.PV+0.001875;

IF IN_WATER.PV==100 THEN LEVEL.PV=LEVEL.PV+6;ENDIF IF IN_WATER.PV==5 THEN LEVEL.PV=LEVEL.PV+0.3;ENDIF IF IN_GAS.PV==100 THEN WD.PV=WD.PV+4;ENDIF IF IN_GAS.PV==5 THEN WD.PV=WD.PV+0.2;ENDIF IF OUT_GAS.PV==1 THEN YQ.PV=YQ.PV-0.00375;ENDIF

IF LEVEL.PV<=80 THEN IN_WATER.PV=100;ENDIF IF WD.PV<=60 THEN IN_GAS.PV=100;ENDIF IF YQ.PV<=0.11 THEN OUT_GAS.PV=0;ENDIF IF LEVEL.PV>=100 THEN IN_WATER.PV=5;ENDIF IF WD.PV>=75 THEN IN_GAS.PV=5;ENDIF IF YQ.PV>=0.11 THEN OUT_GAS.PV=1;ENDIF ENDIF 4.设计心得体会

通过这次对力控组态软件的使用,我们在搜集大量资料和观看一系列力控软 12 件实例的基础上,很好的完成了本次锅炉监控系统的设计任务,掌握了组态软件课理论与实际间的联系,也熟练了数据库的建立,数据采集的创建,报警的运用等等,通过繁琐的动画连接和实时数据库中各种变量的建立,找到了一定的规律。通过简单的控制语句的编程,发现了其中很多控制变量间的编程规律,很好的实现了组态功能。设计的过程中遇到过不少问题,软件的安装也尝试了好几个版本,或者是程序的编写问题,或者是变量的创建不合适,再或者是动画的关联,等等,通过大家一起探讨,一起研究,解决了一系列的困难,最终能够在一台电脑上将实验中的各种现象完美的展现出来,但是还是有的地方没有弄太明白,不过最终仍旧根据要求圆满地完成了设计的任务,在困难的陪同下体验了一下成功的喜悦,增强了以后学习和解决困难、问题的信心,更增添了对力控软件的研究兴趣。最后感谢老师对我们的教学和指导,也希望在以后的设计中老师能够给予帮助与鼓励。

作业

1.力控支持多种形式的网络通信,主要有哪几种?

答:力控支持的网络通信方式包括DDE,OPC,ODBC.2.什么是网络数据库连接?

答:网络数据库:(1)在网络上运行的数据库;(2)网络上包含其他用户地址的数据库;(3)信息管理中,数据记录可以以多种形式相互关联的一种数据库。网络数据库是跨越电脑在网络上创建、运行的数据库。网络数据库中的数据之间的关系不是一一对应的,可能存在着一对多的关心,这种关系也不是只有一种路径的涵盖关系,而可能会有多种路径和从属关系。网络数据库连接即将网络数据库作为服务器和客户端提供或接收数据。3.若要自启动力控的WebServe和网络服务器程序,应该如何设置?

答:双击系统配置导航器中的“系统配置/初始启动程序”,在力控程序启动设置查看Web服务器HttpSvr和NetServer是否已经选中。如果没有选择,手动选择这个程序。选择后启动力控程序是否将会自动启动力控的Web服务器程序。

4.解释“系统冗余”和“双机热备”,力控软件冗余系统如何配置?

答:“系统冗余”:在一些对系统可靠性要求很高的应用中,需要考虑热备份也就是系统冗余,这是指系统中一些关键模块或网络在设计上有一个或多个备份,当现在工作的部分出现问题时,系统可以通过特殊的软件或硬件自动切换到备份上,从而保证了系统不间断工作。

“双机热备”:特指基于高可用系统中的两台服务器的设备(或高可用),因两机高可用在国内使用较多,故得名双机热备。

组态监控软件论文 篇3

关键词:工业组态软件;直接地址变量;DCS;PLC;重叠检查

Research an implement of checking the directly address

variables overlap in configuration softeware for industy

YU Zhi-Wen

(Beijing HollySys Co.,Ltd, Beijing 100176)

Abstract: There are many directly address variables and they are mostly used in industrial configuration software.These variables are defined by the user for the specified address,the way which is the flexible definition of variables may result in variables in memory using the same time . This happens to have deliberately or unintentionally.We research and analysis these directly address variables to find an algorithm which can solve our problems with less time and space.

Keywords: configuration software for industry;directly address variable;DCS;PLC;overlap checking

工业组态软件,也称组态监控软件系统软件,是指用于数据采集与过程控制的专用软件。组态软件的应用领域很广,可以应用于电力系统、给水系统、石油、化工等领域的数据采集与监视控制以及过程控制等诸多领域。

目前常用的工业组态软件是DCS(分布式控制系统,Distributed Control System)、PLC(可编程逻辑控制器,Programmable Logic Controller)等。这些组态软件都支持用户在某一内存或者特殊内存区自定义变量,即直接地址变量,直接地址变量和用户没有指定具体地址的变量在内存分配上是有区别的。直接地址变量的定义有可能会导致多个变量占用同一块内存。

正是由于这种灵活的定义变量方式导致了以上问题的出现。本文将研究这些直接地址变量的特点并且提供一种算法来检查工业组态软件中这些直接地址变量。造成变量重叠的原因有以下两种:第一是用户希望通过这种内存重叠的变量操作达到想要的内存数据或者修改对应的内存数据;第二则是用户在无意中定义的多个直接地址变量操作了同一块内存,导致内存中的数据被修改(此处的修改也许是用户不想发生的)。第二种情况是需要提示给用户,否则由这些变量参与的组态逻辑下装到各控制器中后,周期运行时,会导致组态逻辑运算出错、控制器死循环等一系列危险情况。

本文对直接地址变量重叠检查的研究已成功应用到了实际的组态软件中(国内著名的自动化企业PLC控制软件)。

1 分析与设计

本节将首先通过对直接地址变量在内存中分布特点进行研究与分析,然后设计一种算法,检查某一内存区域的直接地址变量。

1.1 重叠变量的分析

在一个组态软件中,会划分出不同的模块,这些直接地址变量会定义到不同的模块中,假定各个模块已经将这些直接地址变量收集,并且按照各个变量的偏移(变量相对于某块内存的位置)放入一个数组中,数组中的成员是列表形式的,这样可以将同一个偏移处的变量连接到一个数组下标中,而同一个数组下标处的变量,我们可根据各个变量的大小,按照升序的方法存入列表。如图1所示就是放入数组的两个直接地址变量。

见图1可知变量a和b的偏移都为2,a变量大小为1个字节,b变量大小为2字节,按照变量大小升序放入下标为2的地址处。

(1)直接地址变量的简介

这里我们简单介绍一下直接地址变量。第一种直接地址变量称为位变量,如a :%MX0.1,类型为 BOOL,第二种直接地址变量称为非位变量,例如 b:%MD4。由于组态软件的不同,直接地址变量定义所在的内存区也可能不同,也有可能是I、Q等内存区。D代表DWORD类型,组态软件中还支持B(BYTE)、W(WORD)等类型。

接下来我们通过图2的数据结构来表示直接地址变量在某快内存中重叠的现象。首先定义有如下的变量。

a:%MX0.2,类型为 BOOL,位变量,大小为1位;

b:%MX0.2,类型为BOOL,位变量,大小为1位。

c:%MD0,类型为BYTE,非位变量,大小为1字节;

d:%MD0,类型为 DWORD,非位变量,大小为4字节;

e:%MW2,类型为 WORD,非位变量,大小为2字节;

f:%MD4,类型为DWORD,非位变量,大小为4字节。

上图表明变量a、b、c、d、e、f在M这块内存中存放的数据结构,利用这种数据结构存放变量可以清晰的查找同偏移处的所有变量,而且升序的存放方法为后续的地址重叠查找带来很大的方便。

(2)内存中直接地址变量分析

nlc202309031619

由图2可以看出,位变量a、b,大小为1位,非位变量c、d、e、f,大小分别为1字节,4字节,2字节,4字节。那么我们可以看出哪些变量有重叠,哪些变量没有重叠。下面具体分析实例中的这些变量如何重叠,从而为重叠检查做准备。

变量a、b是位变量,按照之前的数据结构存放方式,位变量存放在数组偏移的最前端,其他的非位变量存放在相同偏移的后端(按照变量大小升序方式),变量a、b、c、d偏移都是相对于M区开始的0偏移的地址,而e是相对偏移为2的地址,f偏移为4。如果多个变量在同一个偏移处,那么这些变量本身是地址重叠的。例如c、d变量是重叠。此处我们要将位变量特殊处理,因为位变量在存放和判断时要根据所处的位来标识。在图2中,位变量 a、b是在偏移0字节中的2位处重叠,而a、b、c、d也是重叠的。在某偏移处既有位变量也有非位变量时,非位变量本身全部重叠,而位变量也同这些非位变量全部重叠。如果位变量处于不同的位,那么位变量本身就不重叠了,但这些位变量和处于此偏移处的非位变量仍然重叠。这里很容易就可以找到同一个偏移处的非位变量,因为他们都处于此偏移处。如果发现多个位变量处于同一位,那么这些处于同一位的位变量本身也重叠,并不和其他位变量重叠,但是和处于此偏移处的其他非位变量重叠。接下来我们再根据图3的实例来解释以上查找重叠变量的方法。

如上图3所示,变量a、b、c为位变量,其中a,b处于同一位,而c处于其他位,这些变量同非位变量d所处的字节偏移相同,我们根据上面将的重叠分析可以得知a、b、d三个变量在a变量的地址处重叠,而c、d变量在c变量的位置重叠。

1.2 检查重叠变量的设计

经过上面对重叠的位变量以及非位变量的分析,我们设计一种算法对处于某一偏移处的所有变量查找是否重叠。此时需要注意,在查找某一偏移处的变量时,关注此偏移前的所有偏移处是否有变量和当前变量重叠。如在图2中,查找偏移为2的地址处的变量时需要关注偏移为0、1时,是否有变量和偏移为2的变量重叠。所以得到结论,在查找变量重叠时,不仅要查找此变量所处的偏移的重叠变量,还要查找此变量之前的所有变量是否和此变量重叠。如果我们在查找某个变量时同时在查找这个变量之前的其他所有变量,那么在变量个数增加、数组下标个数增加(在不同的组态软件中,这些支持直接地址变量的内存都达到几K字节左右的空间)时,显然再去查找这些变量在空间和时间上的花费将是巨大的。所以我们需要在此想法的基础上做改进,避免在变量个数增加的情况下,反复查找已经查找过的变量并进行地址比对。

前面研究了重叠地址变量的特点,那么为了避免对相同变量的反复查找比较,我们需要将之前的算法改进。当我们在逐个查找这些变量的时候,希望只向前查找,而不用返回从头查找已经查过的变量是否和当前变量重叠。因此我们需要借助一个链表,要将与当前查的变量重叠的其他变量全部查找出来,放入一个链表,这里只需要放入某一偏移处第一个变量就可以,因为此偏移处的其他变量必然已经和当前变量重叠。当查到后续的变量时,我们可以检查之前的链表,利用链表查找只是简单的常数级,时间和空间复杂度很小。每次查找当前变量和其他变量重叠时,需将当前变量偏移后到当前变量大小结束这段内存中的所有变量进行检查。如果重叠则加入链表中,这样可以保证在查找到后续的变量时,只需检查是否被加入过链表就可以判断此变量是否重叠,而不用重头检查后续变量之前所有变量。我们用图4解释上面的算法核心。

第一步:检查偏移为0时,我们将a、b加入重叠列表,此时表明重叠地址为0。

第二步:检查a变量发现a变量范围内没有其他的变量,之后检查b变量。

第三步:此时我们发现c变量和b变量重叠,将c、b加入列表,发现此时重叠地址为2。

第四步:同时在检查b的时候发现b的范围内有d变量和b重叠,将d、b加入列表,发现此时重叠的地址为3。

第五步:之后检查偏移为2的变量,只有c,查找链表,发现c已经加入到链表中。无需考虑2偏移处的变量。

第六步:接下来检查c变量范围内的其他偏移处的变量,此时有d变量在其范围内,所以应将d、c加入列表,但是查找链表发现d变量已经加入过链表,所以查找到d加入的位置,将c加入之前d加入过的位置,表明d、b、c变量重叠。

以上为算法核心,在查找的过程中我们要注意位变量,查找重叠时,某一个偏移处存在位变量,那么我们要对各个位查找,避免将位变量的重叠检查漏掉。

2 总结

工业组态软件中,尤其是PLC控制软件,会有大量的直接地址变量应用。有效的直接地址变量重叠检查会避免一些不必要问题的发生。我们将这些直接地址变量按照各自在内存中的偏移,以一定的结构排序,应用本文介绍的方法可以快速查找到重叠的变量。本文所述的研究成果已成功应用于国内著名自动化企业(和利时)新一代的PLC_AT组态软件。图5为和利时公司PLC_AT组态软件应用本文研究成果的实例。

参考文献

[1] 龚运新. 工业组态软件实用技术[M]. 北京: 清华大学出版社,2005.

[2] 王常力. 分布式控制系统(DCS)设计与应用实例[M].北京: 电子工业出版社,2010.

[3] 覃贵礼. 组态软件控制技术[M]. 第3版. 北京: 北京理工大学出版社,2007.

[4] Chotai A,YOUNG P.C.,Behzadi M.A.,Self-adaptive design of a nonlinear temperature control system.IEE Proceedings of Control Theory and Applications,2002,1(138):41-49.

[5] Yamamoto T.,Shah S.L.,Design and experimental evaluation of a multivariable self-tuning PID controller.IEE Proceedings of Control Theory and Applications,2004,5(151):645-652.

[6] Haritsa J.R.,Ramamritham K.,Real-Time Databases in the New Millenium.[J].Real-Time Systems,2008.

[7 ] 王永华. 现代电气控制及PLC应用技术 [M]. 北京: 北京航天航空大学出版社,2008.

[8] 廖常初. S7-300/400 PLC应用技术 [M]. 第2版.北京: 机械工业出版社,2008.

作者简介

于志文(1984-),男。山西省朔州市,硕士研究生。主要研究方向为自动化控制技术。

监控组态软件关键技术研究 篇4

监控组态软件设计与开发是一项十分复杂的工程任务,涉及到面向对象技术、图形技术、数据库访问技术、网络通信技术、组件技术、多线程技术等相关理论与技术。

2 面向对象技术

当前,许多设计监控组态软件的开发者采用了面向对象编程(Object Oriented Programming)技术,通过对监控组态软件的各功能模块的分析、抽象,提炼出具体的操作行为及属性,构建出基本类库,当需要时,可以从基本类库中派生出新类并实例化,从而可以方便地在通用的开发平台上建立有自己独特功能的监控组态软件。这种导出式的开发方式具有较高的软件重用性,避免了软件模块的重复开发,是一种比较成熟的方法。

面向对象的程序设计的本质是把数据和处理数据的过程当成一个整体,即对象。面向对象程序设计的实现需要封装和数据隐藏技术,需要继承和多态技术。所谓封装和数据隐藏指的是控制对象数据访问的特定规则。将数据和操作这些数据的代码包装成一个对象,而将数据和操作细节隐藏起来,这一过程叫做封装。封装的基本思想是:如果增加某些限制,使得对数据的访问可按照统一的方式进行,那就比较容易产生更为强壮的代码。继承机制指建立子类或派生类的能力,使面向对象软件很容易适应不同的应用而不用修改其原始设计。在重用原始设计的同时,增加新的功能或遗弃不必要的功能。多态性通过继承的方法构造类,采用多态性为每个类指定表现行为。继承性和多态性的组合,可以轻易地生成一系列虽类似但独一无一的对象。由于继承性,这些对象共享许多相似的特征。但由于多态性,一个对象可以有独特的表现方式,而对另一个对象有另一种表现形式。

3 图形技术

监控系统需要在远离现场的控制室对系统的各状态进行监控,逼真地反映现场的真实运行状态和设备的运行状态,这就要求监控组态软件具有良好的图形监控画面,丰富强大的图形组态功能,从而能够达到再现现场实况,为管理人员提供简单方便的操作的效果。监控组态软件具有友好的人机界面和强大的组态能力,其人机界面不再是单一的文字,而是文字和图形的综合处理,除了具有菜单式的操作方法外,一般都采用图形化、仪表化的操作界面,提供趋势图、报警等常用过程控制中的监控乎段。充分利用图形技术,可将界面设计的非常友好,方便操作人员使用。

4 数据库访问技术

监控系统的处理过程其实就是数据采集、数据传递和数据处理的过程,其中对于数据的处理难免要用到数据库。监控系统由于其应用场合的特殊性,它的数据处理与一般的商业软件有着明显的区别,前者需要处理最多的是实时更新现场数据,即处理一些实时的不断变化的数据,数据与时间因素紧密相关;而后者这种实时的因素相对较弱,主要是处理一些静态的数据。在监控系统中涉及到两种数据库:实时数据库和历史数据库。

数据库是组态软件的重要组成部分,其它组件模块经常要对数据库进行读写、创建、删除等操作。比如历史控件需要查询、读取历史数据,硬件I/O模块需要将从外围设备中取得的数据定时写入数据库中等。因此数据库访问技术是组态软件开发中经常要设计的一项技术之一。微软提供了一个通用解决方案———OLE DB,它是一组COM(Component Object Model,组件对象模型)接口的集合,提供了统一的方法以访问存储在不同信息源中的数据。但是,由于OLEDB API是为了给尽可能多的不同应用提供最佳功能而设计的,因此不符合使用简便这一要求。所以,我们需要一个介于OLE DB和实际应用之间的桥梁,而ADO正是这座桥梁。

ADO是为Microsoft最新和最强大的数据访问接口OLE DB而设计的,是一个便于使用的应用程序层。OLE DB为任何数据源都提供了高性能的访问,这些数据源包括关系和非关系数据库、电了邮件、文件系统、文本和图形以及自定义业务对象等。ADO在关键的Internet方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供高性能的接口。同时ADO使用了与DAO相似的约定和特性,使得它更易于学习。

5 网络通信技术

网络程序的实现可以有多种方式,Windows Socket就是其中一种比较简单的实现方法。Socket是连接应用程序与网络驱动程序的桥梁,Socket在应用程序中创建,通过绑定操作与驱动程序建立关系。此后,应用程序送给Socket的数据,由Socket交给驱动程序向网络上发送出去。计算机从网络上收到与该Socket绑定的IP地址和端口号相关的数据后,由驱动程序交给Socket,应用程序便可以从该Socket中提取接收到的数据。网络应用程序就是这样通过Socket进行数据的发送和接收的。

在TCP/IP网络应用中,通信的两个进程间相互作用的主要模式是客户机/服务器模式(client/server),即客户向服务器提出请求,服务器接收到请求后,提供响应的服务。监控组态软件在建立客户机/服务器模式时主要基于以下两点:首先,建立网络的起因是网络中软硬件资源、运算能力和信息不均等,需要共享,从而造就拥有众多资源的主机提供服务,资源较少的客户请求服务这一非对等作用。其次,网间进程通信完全是异步的,相互通信的进程间既不存在父子关系,又不共享内存缓冲区。

6 组件技术

组件是一种可重复调用的软件块,它把维护及操作某一类信息的程序集中在一起独立成块。应用系统通过预先定义好的界面来调用执行组件。组件可以简单如一个类,也可以复杂如完整的应用服务处理。组件与调用它的应用环境一起构成容器系统,它提供了一种执行服务器组件的运行环境。常用的组态软件控件为ActiveX控件。

ActiveX是Microsoft的一个术语,是基于组件对象模型(COM-Component Object Model)的一种技术,是一组包括控件、Dll和ActiveX文档的组件,它通常是以动态链接库的形式存在,因此必须在一个叫容器的独立执行软件中运行。ActiveX技术的核心是ActiveX控件。事实上,ActiveX控件是OLE控件的一个新的称呼。以前所创建的OLE控件自然而然地成为ActiveX控件,并且可以在ActiveX应用程序中使用。原有的OLE控件的最大问题是过于笨重。这主要因为它们面向桌面应用,实现了完整的OLE控件标准接口集。而ActiveX控件,主要是在Internet环境下应用,所以必须做到尽可能的小。ActiveX控件的一个特点是能够自动下载。支持ActiveX控件的浏览器如果发现正在浏览的页面中用到某个ActiveX控件是它所没有的,便会自动从服务器端下载ActiveX控件并安装它。ActiveX控件的数据输入和函数功能的执行都必须通过容器,因此ActiveX控件和容器都必须支持一些特定的接口协议。

目前使用的大多数监控组态软件都提供了使用ActiveX控件的能力。程序员可以利用自己熟悉的开发语言来开发ActiveX控件,任何能通过编程来完成的任务都可写成一个或多个ActiveX控件。用户不仅可以自己创建ActiveX控件,也可以直接使用第三方程序开发者提供的ActiveX控件例如微软的MSCOMM控件,用户利用它可以轻松完成利用串口通讯的程序;又如Tide Stone公司的Formulate0ne控件可以完成各种较为复杂的报表。控件的使用大大增强了组态软件的灵活性。

7 多线程技术

多线程技术也是组态软件中普遍使用的技术之一。为了实现程序的实时性、并发性,防止因为单个线程而阻塞整个程序运行,画面线程和操作线程往往需要分开。另外,为了提高CPU执行效率,也常常使用多线程技术,比如监控组态软件中的硬件读写模块为每一个I/O设备开辟一个线程,以加快程序执行速度以及网络通信过程中为每个客户端请求开辟一个响应线程。虽然线程确实非常有用,但使用线程时可能产生新的问题。比如线程间的通信和同步问题,这也是我们在使用多线程时最需要注意的问题。线程需要在下面两种情况下互相进行通信:

第一,当有多个线程访问共享资源而不使用资源被破坏时。

第二,当一个线程需要将某个任务已经完成的情况通知另外一个或多个线程时。

Windows提供了许多方法,可以非常容易地实现线程的同步。这些方法包括:临界区、信号量、互斥体、事件对象等。

参考文献

[1]王亚民,陈青,刘畅生,等.组态软件设计与开发[M].陕西:西安电子科技大学出版社,2003.

[2]马国华.监控组态软件及其应用[M].北京:清华大学出版社,2001.

组态监控软件论文 篇5

摘要:介绍了VC和Matlab通过COM与DDE技术在组态软件开发中的应用方法,发挥了Matlab在数值计算中的强大功能和InTouch在人机对话界面开发中的独特效果。

关键词:MatlablnTouchCOMDDE组态软件

随着各类嵌入式系统和现场总线的蓬勃发展,组态软件越来越成为工业自动化系统中的灵魂。它在实时数据存储、检索和图形显示及人机对话等方面都具有独特的效果。但是组态软件的脚本语言非常简单,在数据处理、算法实现等方面相对薄弱。这从一定程度上限制了组态软件在工业自动化中的应用。

Matlab作为一款优秀的数值计算软件,提供了应用于信号处理、工业控制、应用数学等各个领域的工具箱,但是它对运行环境的要求非常高,而且占用了庞大的系统资源,生成实用的人机对话界面的能力不强。

为了开发出具有友好人机对话界面、实现多种控制算法并完成实时数字信号处理的组态软件,可以使用Matlab进行数值计算,将处理后的数据传输给组态软件进行人机对话界面开发,以此发挥它们各自的优点。这样,开发软件之间的数据交换和处理就成为问题的关键。

本文根据Matlab和应用非常广泛的组态软件In―Touch提供的编程接口和数据通信协议,提出了一种使用DDE和COM技术进行组态软件开发的方法。

1基本思路与系统构架

动态数据交换(DDE)是一个由Microsoft开发的通信协议。该协议允许在Windows环境中的应用程序之间彼此发送/接收数据和指令。它在两个同时运行的应用程序之间实现客户服务器关系。服务器应用程序提供数据并接收对这些数据感兴趣的其它应用程序的请求。发请求的应用程序叫做客户。InTouch可以利用Microsoft的DDE与其他Windows程序通信,并可同时作为客户或服务器程序。

Matlab提供了多种混合编程的方法,但是这些方法大都不能脱离Matlab的运行环境,也不方便其它应用程序调用。为了摆脱Matlab运行环境,并在其基础上进行功能模块设计,方便其它应用程序调用,MathWorks公司推荐使用COMbuilder在Matlab环境下开发COM。COM是ComponentObjectModule的简称,它是一种通用的对象接口,任何语言只要按照这种接口标准就可以调用它。

这样,可以使用Matlab开发COM组件,在VC下开发DDE服务程序,使其与InTouch进行数据通信,而这个DDE服务程序调用Matlab开发的COM进行数值处理和算法实现。在实际工业自动化的组态软件开发中,可以使用VC进行数据的采集、命令的发送和复杂的流程控制;使用Matlab下开发的COM完成复杂的算法实现和数字信号处理编程;在InTouch下实现人机对话界面并接收使用者的`命令。具体的系统构架如图1所示。

2应用实现

WindowsDDE功能应用的核心是DDE事务管理库(DDEML),它负责管理Windows操作系统下应用程序间的DDE会话和通信,还向用户提供了一系列的应用程序接口API函数。

DDE实现程序间的通信是通过三个标识约定的:

应用程序名(Application):进行DDE对话双方的名称;

主题(Topic):被讨论的数据域;

项目(Item):被讨论的特定数据对象。

在DDE服务程序中首先使用DdeInitialize进行初始化,然后调用DdeCreateStringHandle建立应用程序名、主题和项目等标识的句柄,再通过DdeNameService在操作系统中注册DDE服务程序的名字。根据这些句柄,客户程序就可以使用它提供的DDE服务了。在VC++中的程序实现如下:

#include……

DWORDidInstc=0,iData;//iDate是项目对应的数据

HSZhszSvr,hszTopic,hszIrem;

DdeInitialize(&idInst,(PFNCALLBACK)DdeCallback,CBF_

FAIL_EXECUTES┃CBF_SKIP_ALLNOTIFICATIONS,0L);

//建立应用程序名、主题和项目等标识的句柄

hszSvr=DdeCreateStringHandle(idInst,“DDEApp”,0);

hszTopic=DdeCreateStringHandl

e(idInst,“DDEAppTopic”,0);

hszItem=DdeCreateStringHandle(idInst,“DDEApphem”,0);

//在操作系统中注册该DDE服务

DdeNameService(idInst,hszSvr,0L,DNS_REGISTER);

……

DDE服务程序的核心部分是一个回调函数,它处理所有DDE消息及相应数据请求。DDE服务程序回调函数的代码如下:

HDDEDATACALLBACKDdeCallback(WORDusType,WORDusFmt,HCONVhConv,HSZhsz1,HSZhsz2,HDDE―DATAhData,DWORD1Datal,DWORD1Data2){CHARsz[5]

if(usType==XTYP_CONNECT){//得到连接请求return((HDDEDATA)TRUE);

}

//校验主题、项目的句柄及数据格式

if(hszl==hszTopic&&hsz2==hszItem&&usFmt==CF_TEXT){

if(usType==XTYP_REQUEST‖usType==XTYP_ADVREQ){//得到数据请求

_itoa(iData,sz,10);//将数据转换为文本格式

returnDdeCreateDataHandle(idInst,(LPBYTE)sz,

strlen(s2)十1,0L,hszItem,CP_TEXT,0);

}

if(usType==XTYP_POKE){//得到客户端发送来的数据

DdeGetData(hData,(LPBYTE)sz,strlen(sz)十1,0L);

iData=atoi(sz);//保存数据

DdePostAdvise(idInst,hszTopic,hszItem);

return((HDDEDATA)DDE_FACK);

}

}

return0;

}

在任何需要向DDE客户端发送数据时使用Dde-PostAdvise触发XTYP_ADVREQ,从而达到向客户程序发送数据的目的。

在InTouch的标记名字典中定义I/O类型变量,以此调用DDE服务程序发送过来的数据。在声明I/O类型的访问名时只要确定DDE服务程序的应用程序名、主题名和项目名即可。

组态软件中的数值计算和实时数字信号处理部分在Matlab中实现并以COM组件的方式提供。这个部分的关键是Matlab下M文件的编写、COM组件的形成和DDE服务程序中对COM的调用。

COM组件实际是一个C十十类,但接口都是纯虚类,组件从接口派生而来。在Matlab下通过键人comtool启动combuilder,根据提示设置类的名字和一些其它选项。为这个类添加方法(methods)通过向工程中添加M文件实现。这个M文件不是脚本文件而是函数文件。添加属性(Properties)则是在M文件中通过Global定义。至于事件(events)则需要用到语法%#event。举例说明如下:

%mymethod.m文件源代码%myevent.m文件源代码

functionmymethodfunctionmyevent

globalmValue;%#event

……

将以上两个文件添加到这个工程中则添加了一个方法mymethod、属性mValue和事件myevent。通过编译生成一个d11文件。这个dll就是COM的发布形式。

在VC中调用此COM与调用其它COM是一样的,所不同的是需要在VC的工程中包含Matlab提供的文件,具体操作是在Includefiles中添加externclude和externncpp,在Libraryfiles中添加externwin32和externwin32Mi-crosoft。

Combuilder也提供了COM组件的打包工具,它生成一个自解压文件,通过它实现必要的DLL安装和COM注册

在DDE服务程序中调用COM组件进行数值计算和信号处理并向InTouch提供DDE服务,在InTouch中通过调用DDE传来的数据充实人机对话界面并接收操作者的命令以完成系统的功能。

3实际开发中细节问题的考虑

Matlab下的COM组件开发是Matlab6.5才有的功能,早期的版本并没有这个模块。另外,并不是所有的Matlab工具箱都支持COM编译,这时可以考虑使用其它的函数代替,也可以使用DDE调用Matlab函数,但是这样不能脱离Matlsb的运行环境。

组态监控软件论文 篇6

关键词:DCS 组态软件 实践教学

1、引言

随着对工业自动化的要求越来越高,需要满足大量控制设备与过程监控装置之间的通讯。DCS组态越来越受到用户的重视,同时也要求科技服务人员,具有相关的知识背景,掌握DCS、组态软件等相关知识。对于高校工科教育,也提出了新的要求[1],如何在实践教学中运用DCS组态软件,培养学生的基础知识、动手能力,是教学者普遍面临的新问题,已经有很多学者开展了很多不同教学环节下的工作[2-4],本文从教学实践中,总结出利用DCS组态软件从事教学的成功经验,加以论述。

2、组态软件的选择

北京亚控自动化软件有限公司开发的组态王(Kingview), 是国内较有影响的组态软件。组态王提供了资源管理器式的操作主界面,并且提供了以汉字作为关键字的脚本语言支持。提供多种硬件驱动程序。具有易用性、开放性和集成能 力。应用組态王 ,工程师可以把主要精力放在控制对象上,而不 态王软件是一种通用的工业监控软件,它融过程控制设计、现场操作以及工厂资源管理于一体,将一个企业内部的各种生产系统和应用以及信息交流汇集在一起,实现最优化管理。它基于Microsoft Windows XP/NT/2000 操作系统,用户可以在企业网络的所有层次的各组态王开发监控系统软件是新型的工业自动控制系统正以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统,它具有适应性强、开放性好、易于扩展、经济、开发周期短等优点。

3、组态王系统的动画演示功能在教学中的运用

由于组态王提供了丰富的动画连接属性以及复杂画面制作的工具,所以通过组态王软件能够制作复杂、优美而且接近实际生产的画面,并可以对其对象进行动画连接,最后可以开发出具有演示实际工作过程功能的系统。在教学中,老师可以通过组态王系统的演示来进行演示说明。例如在锅炉教学方面,如图1,利用组态王开发的系统可以完美的演示整个锅炉的运行过程,学生通过系统的演示可以很快的掌握锅炉的运行过程,收到事半功倍的效果。在汽轮机教学方面,由于汽轮机的工作工程较为复杂,在教学中给老师带来不小的难度,这是可以通过组态王系统来进行辅助教学,对其复杂的方面通过系统来演示,例如汽轮机级的工作过程就可以进行形象的演示,从进气到排气,学生可以迅速的掌握这方面的知识,同理可以演示汽机的抽汽,疏水等过程。在其他的课程方面例如化工、冶金等课程同样可以进行演示教学。

4、组态王系统整体连接功能在教学中的运用

通过组态王可以开发一整套相关的系统,对系统进行整体连接,对某个生成领域进行整体演示。在实际工程中,组态王开发的系统在电力领域中有重要的作用,例如在太原第一热电厂中的DEH控制,同样它可以运用到教学中。在热力发电厂教学方面,由于电厂运行系统相当复杂,涉及的方面很广,在教学有一定难度,但如果在教学中利用组态王系统进程教学,这个问题就会迎刃而解。通过组态王开发的抽汽系统,图2、燃烧系统,给水系统,疏水系统,凝结水系统等系统可以反映电厂的全面性热力系统。学生不仅可以通过老师进行演示,而且学生自己也可以进行动手操作,不仅了解了过程而且还学到了操作,在以后的实际工作中会打下结实的基础。

5、组态王其他功能在教学中的运用

组态王开发的工程不仅具有模拟功能,而且在实际运用功能更大。组态王开发的仿真系统还有数据实时监测功能,分布式报警功能,视频监视功能,通信等功能,所以可以通过组态王软件开发一个整体的模拟仿真系统,例如在热能工程方面,通过组态王开发一个火力发电厂300MW机组的仿真分析系统,学生可以通过这个平台来进行仿真实习,由于该系统贴近实际生产情况,所以学生可以学到更多的知识,不仅对所学的课本知识进行了进一步的加强,而且还学到了工程的实际操作,真正做到了理论联系实践,把知识融会贯通,在以后的工作中必大有益处。

6、结束语

在工科实践教学方面,可以运用组态王开发的模拟工程进行教学,组态王模拟仿真系统就是一个具有易操作,功能完备,学习简单特点的一个系统,在以后的教学中必能得到广泛的运用。同时学生可以对组态王软件进行学习,自己开发系统,培养同学们的动手能力,创新能力。

参考文献:

[1]杨云飞. 基于项目教学法的组态软件课程教学改革与探索[J]. 江苏技术师范学院学报, 2011,(02).

[2]李海广, 武文斐. DCS组态软件在本科毕业设计中的应用[J]. 中国电力教育, 2011,(11).

[3]王丽. 力控在PLC教学中的应用探索[J]. 教育教学论坛, 2012,(04).

基于组态软件的监控系统设计 篇7

反应釜自动监控系统是利用计算机技术对生产过程进行集中监视、操作、管理、控制的一种控制技术,实现整个过程的自动监控和管理可以极大地提高企业自动化水平、降低生产成本、增加经济效益。本文从工程应用的实际出发,介绍了一种灵活可靠、方便易用的数据采集和管理系统。基于King View的开发平台[1],并结合Microsoft Excel技术,实现了监测系统中批量数据的快速采集与保存,有效地扩充了组态王的数据存储。系统的实现为组态软件的实际应用提供了新的思路,并为采集系统中历史数据的灵活管理提供了有效的方案。

2 系统开发

2.1 系统软件设计

上位机监控软件利用组态王工控组态软件。它能充分利用Windows的图形编辑功能,方便地构成监控画面,并以动画方式显示控制设备的状态,具有报警窗口、实时趋势曲线等,可便利的生成各种报表。它还具有丰富的设备驱动程序和灵活的组态方式、数据链接功能。该软件把每一台下位机看作是一台外部设备,在编程过程中根据“设备配置向导”的提示一步步完成连接功能。在运行期间,组态王通过驱动程序和这些外部设备交换数据,包括采集数据和发送数据/指令。每个驱动程序都是一个COM对象,这种方式使通信程序和组态王软件构成一个完整的系统,既保证了运行系统的高效运行,也可扩大系统的规模。其与下位机通信原理如图1所示:

组态王与OMRON PLC之间的通信采用的是OMRON HOSTLINK通信协议。组态王通过串行口与PLC进行通信,访问PLC相关的寄存器地址,以获得PLC所控制设备的状态或修改相关寄存器的值。组态王监控软件还可实现显示工艺流程图、各种参数实时测量值,实时修改下位机所需的各种参数值,上、下位机之间的通信管理,实时故障报警画面,实时数据库和历史数据库管理,系统日志报表和各种生产报表等功能。

下位机软件设计采用模块化结构,每一个模块作为一个子程序。根据系统功能划分,程序由多个模块组成,每个模块的程序量都不大,所以整个程序的编制、调试和维护比较方便。各子系统的下位机软件模块框图如图2所示:

2.2 系统硬件配置

由一台以上的工控机组成的以太局域网,并配21英寸监视器以及报表和事件打印机等其他设备。为提高系统冗余性,配置两台与下位机通讯的I/O服务器,一台为主服务器,另一台为热备服务器。

网络服务器的操作系统为Windows NT Server 2000,在此完成管理级功能,如局域网的管理任务、形成管理部门所需数据的记录报表、统计报表等。系统通过此服务器与企业Intranet及Internet相连,以实现与其他系统的信息交互。

2.3 系统开发过程

2.3.1 制作图形画面

根据生产操作要求建立了自己需要的画面,在每个画面上生成了互相关联的静态或动态图形对象。画面包括了具备一定功能的按钮及菜单、实时趋势曲线、历史趋势曲线、报警显示等。

2.3.2 构造数据库

数据词典(数据库)是组态王软件的核心部分。在组态王(TOUCHVEW)运行时,工业现场的生产状况要以动画的形式反映在屏幕上,同时工程人员在计算机前发布的指令也要迅速送达生产现场,所有这一切都是以实时数据库为中介环节,数据词典(数据库)是联系上位机和下位机的桥梁。在工程浏览器的“数据词典”中进行,定义时要指定变量名和变量类型,某些类型的变量还需要一些附加信息。不同类型的变量具有不同的变量属性,在定义变量时,有时需要设置它的部分属性。

实现数据库的快速存储的方法:

(一)将数据词典导出到Access中,生成EXCEL文件

1.打开工程浏览器,选中要导出的变量;

2.单击右键,弹出快捷菜单,选中导出变量命令;

3.在弹出的文件选择窗口中指定路径和文件名;

4.将变量保存成可用Access打开的.mdb格式文件。

(二)从Access中导入数据词典

1.打开组态王工程管理器的数据词典,在变量区单击右键,弹出快捷菜单,选中导入变量命令;

2.执行该命令后,系统弹出打开文件对话框;

3.选择要导入的数据库文件,单击打开,显示导入变量列表;

4.导入变量。

注意:1.在从Excel格式导入到组态王的数据词典中时,工程管理器要对Excel格式数据进行严格的校验,只有校验通过后才能导入数据词典,否则将绝导入。因此在导入之前请仔细检查尽可能保证数据的正确,以节约时间,减少修改和导入反复的次数。

2.导入之前请先备份工程,以备出现异常情况时恢复到导入前状态

2.3.3 定义动画连接

所谓“动画连接”就是建立画面的图素与数据库变量的对应关系。建立动画连接后,根据数据库中变量的变化,图形对象可以按动画连接的要求进行改变。

组态王除了在定义动画连接时支持连接表达式,还允许用户定义命令语言来驱动应用程序,极大地增强了应用程序的灵活性。命令语言是一段类似C语言的程序,工程人员可以利用这段程序来增强应用程序的灵活性。如图3,4反应釜R1802电加热器控制中的动画链接。

2.3.4 报表系统设计

数据报表既能反映生产过程中的数据、状态等,并对数据进行记录的一种重要形式。是生产过程必不可少的一个部分。它既能反应系统实时的生产情况,也能对长期的生产过程进行统计、分析,使管理人员能够实时掌握和分析生产情况。组态王提供内嵌式报表系统,工程人员可以任意设置报表格式,对报表进行组态。组态王为工程人员提供了丰富的报表函数,实现各种运算、数据转换、统计分析、报表打印等。既可以制作实时报表,也可以制作历史报表。另外,工程人员还可以制作各种报表模板,实现多次使用,以免重复工作。

利用组态王的后台命令语言将源表另存为要求的文件名以便于编辑和处理。

部分辅助控件的插入:图5

查询不同日期的报表统计的主要程序的实现如下:

string File Namer;

File Namer=Info App Dir()+"日报"+"*.rtl";

list Clear("报表列表");

List Load File Name("报表列表",File Namer);

利用丰富的报表函数,可实现各种运算、数据转换、统计分析、报表查询、报表打印等[2,3]

2.3.5 报警功能设计

运行报警和事件记录是控制软件必不可少的功能,当变量的数值或数值的变化异常时,将产生报警,以便操作者采取必要的措施。"组态王"提供强有力的报警和事件系统,并且操作方法简单。

组态王中的报警和事件主要包括变量报警事件、操作事件、用户登录事件和工作站事件。通过这些报警和事件,用户可以方便地监视和查看系统的报警、操作和各个工作站的运行情况。当报警和事件发生时,组态王把这些事件存于内存中的缓冲区中,报警和事件在缓冲区中是以先进先出的队列形式存储,所以只有最近的报警和事件在内存中。当缓冲区达到一定数目或记录定时时间到时,系统自动将报警和事件信息写到报警存储文件、打印机或数据库中(请注意:要先定义是否存储到文件、数据库或直接输出到打印机)。报警和事件在报警窗中会按照设置的过滤条件实时显示出来。

2.3.6 运行和调试

在开发过程当中,可以不断运用实时运行环境TOUCHVEW,运行和调试在画面制作系统中建立的动画图形画面。

3 结束语

已在化工反应釜监控系统中实际应用,取得了很好的效果。

本系统实现对反应釜的温度、液位、电流等关键参数的自动控制,对控制好化学反应速度,从而达到优化整个反应过程的目的起到了重要作用,整体系统操作简便,是一套理想的、确保装置的安全、生产的稳定和系统的长周期运行的自动监控系统。

参考文献

[1]北京亚控科技发展有限公司.组态王用户手册[Z],2003.

[2](美)STEVEN HOLZER.Visual Basic 6 Black Book[M].北京:北京机械工业出版社,1999.4.

组态监控软件论文 篇8

组态软件是一种面向工业自动化领域的通用数据采集与过程控制的技术软件,具备对工业自动化系统的监视、控制、管理等功能,同时也提供丰富的、易于使用的手段和工具来实现这些功能。

使用组态软件作为二次开发平台,通过类似“搭积木”的简单方式可以快速构建人机监控系统,开发效率高、性能稳定可靠。本文提出如何利用软件工程思想开发基于组态软件的人机监控系统,来保证开发质量和开发进度。

2 需求分析阶段

需求分析就是提出监控系统需要实现的功能及技术要求,是系统开发的首要阶段。

(1)需求调查

这个阶段是根据监控系统每个被控环节对应的工艺流程图、自动控制原理图、设备布置图,进行需求分析、资料收集,以获得对系统的初步了解。需求调查可以参考以下内容:

◆要监视哪些现场设备的那些实时运行数据;

◆要控制哪些现场设备、设置哪些被控参数;

◆要建立哪些现场设备的哪些报警信息;

◆哪些数据需要采集保存,要保存的模拟数据采样频率是多少;

◆哪些关键数据变化需要用趋势图进行表示;

◆需要打印哪些报表,报表格式是什么;

◆用户权限如何设置;

◆是否需要把监控数据上传到管理部门或接收管理部门的管理数据?如果需要,哪些数据需要上传或接收,采用什么传输方式;

◆是否需要多种语言界面切换;

◆是否需要通过因特网实现远程监控。

(2)需求分析

对需求调查获得的初始需求进行分析描述。

(3)需求确认

针对需求分析的结果,经相关人员讨论、评审,形成需求分析文档。

3总体设计阶段

总体设计的主要任务是将系统进行模块划分、建立模块的层次结构及调用关系,制定命名规范、界面设计原则,为详细设计提供基础。

(1)变量命名规范

业主有具体要求的,使用业主要求的变量命名规范;公司内部有具体规范或标准的,使用公司规范或标准命名规范;其他情况时,遵循以下原则制定适合项目的命名规范:

◆规范要统一、层次结构清晰明了;

◆参考项目设备命名规范;

◆参考PLC变量命名规范;

◆参考行业标准、国家标准、软件编程命名规范(如骆驼式命名法、匈牙利命名法)。

(2)人机界面设计

人机界面是人与机器进行交互的操作方式,要求操作简单且具有引导功能,使用户感觉方便、增强用户兴趣,从而提高工作效率。

(1)总体布局设计

屏幕总体布局应力求简洁、平衡、一致。典型的屏幕总体布局界面从上到下分为三部分:标题区、图形显示区以及导航按钮区。

(2)结构体系设计

一个界面显示的信息是有限的,当需要显示的信息较多时,为了保证界面的简明性和友好性,通常采用分层布置方式把需要显示的信息在多个界面中进行显示,然后通过导航按钮在多个界面中进行切换。分层布置方式可按功能相似性分层、按所属子系统分层、按所属区域分层等方式。简单合理的结构体系能够使用户快速打开要查看的界面。

系统结构要按照分级浏览、逐级细化的原则进行设计。典型系统通常采用三层结构:第一层为总览界面,显示系统总体信息、重要信息、协同信息及各部分之间的相互关系等;第二层为过程界面,显示指定部分的详细信息,并显示设备状态信息、报警信息等;第三层为详细界面,显示指定设备的信息,如控制开关、控制阀、控制电机等,并显示消息、状态和过程值。

(3)一致性原则

人机界面一致性有助于用户学习操作、减少操作出错率,它通常表现在以下几个方面。

◆风格的一致性:如色彩搭配、系统术语、图标与符号等;

◆控件的一致性:将控件根据操作习惯和交互需要进行分类组合;

◆操作的一致性:对于常用或重要功能,要保持操作方式的一致性,同时还须注意要符合用户的使用习惯。

在总体设计阶段,制定出屏幕上所有对象的设计原则,如按钮对象要制定出按钮的颜色、大小、凹凸效果、字体、字号等。

(4)信息反馈

信息反馈是指系统对用户的操作所做出的反应,表明用户的操作是否为系统所接受、是否正确以及操作的效果如何。反馈可以是文本、图形和声音等形式。

(5)颜色搭配

人机界面上合理使用颜色可以更好地进行提示操作,还能缓解操作者的视觉疲劳。使用颜色时应注意以下几点:

◆所用颜色一般为3~5种;

◆人机界面中活动对象的颜色应鲜明,而非活动对象应暗淡;前景色宜鲜艳一些,背景则应暗淡。提示和警告等信息的标志宜采用红色、黄色;

◆避免不兼容的颜色放在一起(如黄与蓝、红与绿等),除非作对比时用。

(6)图形利用

图形具有直观、形象、信息量大等优点,在人机界面中使用图形可增强操作的可理解性及易学易用性。使用图形时应力求简单化、标准化,并优先选用已经创建并普遍被大众认可的标准化图形和图标。

(7)字体及大小选用

一个人机界面中,最好不要有太多的字体,更不宜选用字型太复杂字体,宜选用简洁、清晰、易辨识的字体。

人机界面设计中常用字体有中文宋体、中文楷体、英文“Times New Roman”等,这些字体容易辨认、可读性好。文字的大小常选用2~3种字号,使显示信息清晰并保证风格统一。

(3)操作权限设计

组态软件都提供完善的安全机制,让用户能够自由组态来控制菜单、按钮和退出系统的操作权限,只允许有操作权限的操作员才能对某些功能进行操作。

组态软件采用与Windows NT类似的操作权限机制,即采用用户组和用户的概念进行操作权限的控制。操作权限的分配是对用户组进行的,某个用户具有什么样的权限由该用户所隶属的用户组来确定。典型的用户组划分包括操作员组、技术员组、维修员组、负责人组、管理员组。

某些比较重要的操作(如可能危及生产安全或可靠性的操作),在人机界面设计中要注意连锁控制和保护诊断。对于不符合正常运行操作或逻辑顺序的控制信息输入要给出提示或警告信息,按分类和级别拒绝执行或等待进一步确认后才执行。

(4)报表方案

组态软件本身通常都具有报表生成及处理的能力,但是存在国外组态软件的报表格式不符合国内用户要求、组态软件处理复杂报表比较困难的情况。这时,可以采用以下两种方法实现报表功能:一是使用高级编程语言开发报表打印程序(如VB、VC、PB、Delphi等),编译成可执行程序后在组态软件中调用;二是使用组态软件的脚本语言,与Excel相结合,利用Excel强大的制表功能,实现报表打印功能。

4 详细设计、编程及单元测试阶段

根据总体设计,严格执行制定的规范或原则,在组态软件中进行完整、严密的详细设计及编程,并及时进行单元测试,完成需求分析所要实现的功能。

(1)变量定义

(1)使用接口数据块

建议在PLC中建立用于接口功能的数据块,作为组态软件获取变量的中介。这样,可以保证监控系统和PLC编程人员同步工作。当PLC程序完成后,只需在PLC中将PLC变量赋值到DB变量或将DB变量赋值到PLC变量。不仅保证了工程进度,而且也起到隔离作用。

(2)恰当使用结构变量

在实际的工业现场及应用中,经常会遇到多个设备需要显示相同参数(组)的情况,如现场有多个电机,每个电机需要显示和控制的参数(组)都相同,只是不同电机的参数(组)数值不同。这时,可以使用结构变量,不仅提高了工作效率,还减少了错误的可能性。

(3)充分使用导入导出功能

通常,PLC编程软件和组态软件都具有导入导出功能或工具,要熟练和灵活运用这些功能,快速定义PLC中的接口数据块和组态软件中的变量。

(2)画面设计

◆操作权限用户组定义;

◆根据工艺过程,绘制、设计人机界面的结构和框架;

◆人机界面设计及调试;

◆实时及历史报警界面设计及调试;

◆实时及历史趋势界面设计及调试;

◆报表系统设计。

对于多个设备的相同界面,要使用画面模板功能。画面模板和结构变量配合使用,能够避免重复组态相同的画面,减少组态人员的工作量,还能减少项目维护的工作量,提高系统的可维护性。

为了加快开发进度,建议在界面设计过程中,图形对象的变量连接、权限分配、界面调试同时进行;如要求多语言界面,也要同步进行。避免出现所有界面设计完成后再进行变量连接,变量连接全部完成后再进行权限分配的情况。

(3)单元测试

每个界面的测试都要与设计同步进行,界面测试方法如下:

◆把与PLC连接的驱动程序设置为仿真状态;

◆建立一个专门用于测试的界面,根据被测试界面上的变量,在测试界面上相应地设置开关控件或数据控件;

◆在测试界面上改变变量的数值,观察被测试界面的显示是否符合设计要求。

(4)脚本语言编程

大部分组态软件都提供了脚本语言,其中以VBScript最为广泛。当某些复杂的动作或不同的功能通过简单的组态实现时,就需要使用脚本语言编程实现。正确地编写脚本程序,可简化组态过程,大大提高工作效率,优化控制过程,提高系统的灵活性。

5 综合测试及试运行阶段

(1)总体调试

主要对监控系统的整体结构及其调用关系进行测试。

(2)通信调试

把与PLC连接的驱动程序设置为硬件状态,正确设置IP地址及相应的参数。测试监控系统和PLC中的接口数据块是否通信正常。

(3)运行调试

建立PLC变量与接口数据块中的对应关系:在PLC中将PLC变量赋值到DB变量或将DB变量赋值到PLC变量。对应关系建立后即可进行运行测试。

(4)试运行

监控系统经过测试和完善可以投入试运行。

根据试运行的结果,诊断和改正在使用过程中发现的软件错误;根据用户的要求改进或扩充系统。

6 结束语

人机监控系统不仅要保证功能性,对界面质量也提出了更高的要求。开发人员不但要熟悉组态软件的使用,还要熟悉生产工艺及控制原理、PLC编程、软件设计、美术等方面的知识。

配料监控组态系统的设计研究 篇9

本系统为一大型配料工厂设计了自动监控系统, 采用现场总线技术, 满足生产工艺的要求, 全面实现了自动生产, 满足高精度的生产要求。设计一套有针对性的、生产质量和产量有保证的电气控制系统。本文在配料厂现有的DCS系统基础上, 结合WinCC 6.0监控组态软件, 在关键部分使用了基于现场总线的FCS技术, 结合新型电气设备、经典的PID控制算法操作PLC, 不但降低了成本, 而且提高了控制质量[1]。系统提供了友好的人机界面和增加了报警组, 极大地减少了现场工作人员的工作。在工序中, 以配料工序为关键环节, 在系统的电器硬件和软件两方面进行设计, 改进了PID控制算法, 达到了客户提出的标准。①

2 配料系统总体设计

可编程控制器 ( (ProgrammableLogicController, PLC) , 是一种通用的工业自动控制设备, 以微处理器为基础, 结合计算机通信技术和自动控制技术发展而来。PLC控制系统有: (1) 集中式控制系统; (2) 远程式控制系统; (3) 分布式控制系统。本文研究的配料加工自动控制系统属于分布式控制系统。该分布式控制系统采用了几台PLC设备和仪表控制器及被控设备。通过通信电缆, 将上位机和PLC或仪表控制器连接起来, 进行管理。该系统可连接多个设备, 设备之间有数据通讯的场合[2]。分布式控制系统结构如图1所示。

PROFIBUS是一种不依赖于设备生产商的现场总线标准, 具有国际化、开放式等特点。PROFIBUS由三个部分组成:PROFIBUS-DP、PROFIBUS-PA、PROFIBUS-FMS。它们主要使用主-从方式进行通讯, 周期性地与传动装置交换数据。其中PROFI-BUS-DP总线应用最广泛。总体系统设计方案如图2所示。核心现场控制层为S7-300PLC, 利用PRO-FIBUS-DP现场总线连接称重仪表和远程通讯模块, 实现系统的设备控制、通讯功能。通过通信处理器CP5611卡建立监控层和控制层的通道单元, 完成现场生产的控制和监控[3]。

系统根据现场的情况和客户的要求, 总体功能如下:

(1) 界面显示:监控系统实时显示设备的运行情况、工艺流程和状态参数等情况。

(2) 操作功能:监控系统对设备可进行在线实时控制, 如设置PLC启停设备、调节模拟量输出大小等。

(3) 管理数据:系统按照设置, 将参数存储在历史数据库中, 通过对存储数据的分析, 有针对性地, 有目的地检修、维护设备。

(4) 系统报警:根据现场情况, 设备出现故障测量值超过预定范围, 监控系统根据情况给出不同等级的报警。

3 控制系统硬件设计

硬件系统是整个配料加工系统的设计平台, 下面对系统的硬件部分进行了具体的分析。PLC主控制器为系统的核心部件, 还包括系统模块和上位机配置、硬件电路设计、安装和调试等。该配料加工控制系统使用研华工控计算机 (IPC) 610H实现对系统的监控, 作为用户界面。运行WindowsXP操作系统。上位机通过主板上的CP5611通讯卡, 采用PROFIBUS-DP通讯方式实现与PLC的通讯。采用不间断电源供电, 保证数据记录的完整[4]。控制系统由电源柜、PLC柜、变频控制柜、设备控制柜、电子计量秤和若干现场控制操作箱组成。电源电路为低压元件生成DC 24V和AC 220V电源。系统使用DC 24V电源较多, 主要供指示灯和继电器使用。采用三相检测技术保护电路, 防止电源缺相, 造成设备的损坏。为防止电压波动, 在机柜中加入隔离变压器和AC 220V电源。设备控制模块选用西门子中型PLC系列CPU 314C-2DP, 包含CPU模块、电源模块、DP通讯模块、模拟量输入输出端。CPU 314能适应中等规模系统, 满足高速处理系统要求。S7-300系列PLC比其他PLC有很多优点, 如重量轻、体积小、故障率低、装卸容易等优点。

4 PLC控制系统设计

STEP7向用户提供用户块和系统块, 如功能块FB、功能FC、组织块OB、系统功能块SFB、系统功能SFC、数据块DB、系统数据块SDB等。运用面向对象设计思想, 利用FB模块的可继承性和可重用性, 把一个FB模块看成一个功能类。具体定位到不同设备时, 配置不同的数据块, 即数据块DB对应类FB模块的对象, 包含了对象的具体数据, 系统设计了延时定时器功能FC 18、通用电机类FB 11、阀门功能块的实现FB 12。

该配料系统包括四个配料, 控制比较复杂, 如果对每个配料编写一个控制程序块, 这会增加设计的难度。因此我们按照面向对象类的方法, 把配料系统抽象成一个功能类。将配料过程中的动作和步骤, 当作一套流程抽象出来, 形成配料类。一套系统形成一个配料类, 最后通过一个FC功能对配料后还没有完成的工作做一个综合编制, 实现功能。

每个配料作为一个实例, 为每个实例定义一个数据块, 建立对应的下料变量, 作为类的属性, 即称重模块的输入参数。由于比较复杂的配料系统, 用到相当多的变量, 因此为保证程序的可维护性、可读性和减轻编程难度, 使用简单的命名规则, 编出高质量的程序。

5 上位机监控系统软件设计

5.1 WinCC组态软件

在系统上位工控机中安装WinCC组态软件, 用来实现显示、存储、报警、打印等功能。WinCC监控组态软件将系统中的变量和PLC中采集的数据相连接。现场设计人员根据控制系统需要设计图形, 编写脚本程序, 实现监控、显示、记录和报警功能, 操作人员通过监控画面实现对配料过程的监控。

5.2 监控模块和控制模块的通信

SIMATICS7ProtocolSuite是WinCC提供的通讯驱动程序, 它支持多种网络协议, 通过通道单元实现与西门子系列的设备进行通讯。系统通过PRO-FIBUS连接自动化系统和WinCC监控软件, 选择PROFIBUS通道, 新建驱动链接, 完成WinCC和PLC之间的连接。

在监控组态运行环境下, 组态软件中一个重要的部分是定义变量, 现场的生产情况通过变量反映在数据中, 显示在人机界面中, 现场操作人员通过监控组态软件发布指令, 改变变量值发送给现场, 是上位机和下位机联系的桥梁。

5.3 人机界面设计

WinCC软件的图形编辑器创建和动态修改图形监控画面, 用户自定义工作环境, 提供对实时监控的快速反应。考虑到本系统工艺流程比较复杂, 需要监控比较多的设备, 将系统分成了四个主画面, 操作人员根据需要通过按扭在不同的画面间切换。画面包括工段控制画面、配料控制画面。

6 自动配料粉碎机系统设计

配料粉碎机的设计是系统的重要环节, 在生产中粉碎机消耗的电力占整个系统的大部分。设计合适的自动配料系统, 可实现系统的高精度配料和电力节约[5]。

6.1 PID控制器的基本原理

PID基本控制规律有三个:比例 (P) 控制、积分 (I) 控制和微分 (D) 控制。PID模拟控制器的输出u (t) 与输入e (t) 的关系为:

该式中积分上下限为0到t, 它的传递函数是:

式中:KP———比例系数;TI———积分时间常数;TD———微分时间常数。

在计算机实际控制应用中, 将PID控制规律中模拟PID离散化, 变成差分方程。由于计算机采集时间足够短, 可用求和代替积分, 采用增量控制方式。

PID控制器用途广泛, 使用方便。使用时只需要设定三个参数 (KP、TI、TD) 即可。PID控制根据系统的误差, 利用比例、积分、微分计算出控制量进行控制。

6.2 PID控制器的设计改进

在这种传统的控制方式中, 系统不断地存在偏差, PLC会不停地进行计算控制增量, 并把控制信号输出给执行机构, 这样会不停地产生震荡。在通常实际应用中, 会在PID控制系统中增加一个死区环节, 如下式:

式中:ε———一个可调的参数, 可人为设定, 具体数值根据实际调试和理论估计来确定。如果ε过小, 会频繁调节输出, 如果ε过大, 系统会形成较大滞后, 以至不能调节。在粉碎机速度控制系统中, 让系统的反应速度迟钝一点, 设定死区。在控制系统中, 当电流变化较大时, 可用PID调节, 根据电流值的偏差决定用P还是PI调节, 即当偏差较小时引入积分, 采用P控制, 当偏差较大时取消积分, 采用PI控制。

综上所述, 根据配料机控制系统采用PID控制方法, 改进措施为死区设定和积分分离, 实现控制信号电流的稳定。

6.3 自动调速原理

配料系统的自动控制原理:在开始工作的时候, 先在PLC控制参数中输入略小于电机额定电流的值, 使粉碎机正常工作。当实际工作时, 电流检测装置实时检测粉碎机的工作电流, 并把信号及时传给PLC装置, 然后和预先设定的电流作比较, 反馈给变频电机, 实现了配料量的自动控制, 电流反馈调节控制原理如图3所示[6]。

本系统采用三菱公司推出的通用变频器FR-A 540系列, 该种变频器采用脉宽调制 (PWM) 原理, 磁通矢量控制技术和智能功率模块的高性能变频器。调速范围较大, 易于达到高启动转矩, 性价比较高[7]。

7 结束语

本阐述了PROFIBUS总线的特点, 分析研究了PROFIBUS-DP总线。系统通过可靠的DP现场总线技术, 将工业控制计算机和现场仪表连接起来, 实现系统的自动监控管理。讲解了系统的硬件设计, 工控机通过主板上的CP5611通讯卡, 利用PROFIBUS-DP总线和各PLC联接。上位机使用WinCC监控组态软件, 通过监控界面实现动态监控和配方管理、查询历史数据。该系统已投入运行, 实现了优化生产工艺, 提高了配料配比精度和生产质量。

参考文献

[1]胡健.西门子S7-300 PLC应用教程[M].北京:机械工业出版社, 2007:266-267.

[2]苏昆哲.深入浅出西门子WinCC6[M].北京:北京航空航天大学出版社, 2004.

[3]店济扬.现场总线PROFIBUS技术应用指南[M].北京:中国现场总线PROFIBUS专业委员会, 1998.

[4]王平.计算机控制系统[M].北京:高等教育出版社, 2004:223-224.

[5]熊伟.基于PLC与组态软件的自动配料系统的设计[J].自动化博览, 2006, 5 (3) :66-68.

[6]刘浩.组态软件WinCC在公路隧道监控系统中的应用[J].自动化技术与应用, 2005, 5 (4) :33-35.

基于组态软件的驱动开发 篇10

随着自动化水平的迅速提高, 计算机在各领域的广泛应用, 人们对自动化的要求越来越高, 种类繁多的控制设备和过程监控装置在各领域的应用, 使得传统的控制软件已无法满足用户的各种需求。在开发传统的控制软件时, 当被控对象一旦有变动, 就必须修改其控制系统的源程序, 导致其开发周期长;已开发成功的控制软件又由于每个控制项目的不同而使其重复使用率很低, 导致它的价格非常昂贵;在修改控制软件的源程序时, 倘若原来的编程人员因工作变动而离去时, 则必须同其他人员或新手进行源程序的修改, 因而更是相当困难。通用组态软件的出现为解决上述实际问题, 提供了一种崭新的方法, 因为它能够很好地解决传统控制软件存在的种种问题, 使用户能根据自己的控制对象和控制目的的任意组态, 完成最终的自动化控制工程。

2 驱动程序

驱动程序即添加到系统中的一小块代码, 其中包含有关硬件设备的信息。有了此信息, 计算机就可以与设备进行通信。驱动程序是硬件厂商根据操作系统编写的配置文件, 可以说没有驱动程序, 计算机中的硬件就无法工作。操作系统不同, 硬件的驱动程序也不同。

3 基于组态软件的驱动开发

组态软件提供了很好的开发平台, 使控制软件的开发变得简单, 而且组态软件中也提供了一些常用设备的驱动程序, 但是由于各种设备厂商没有统一的规范, 支持的通讯协议各不相同, 使得很多设备的驱动程序需要根据组态软件的不同单独开发。下面以易控组态软件为例介绍下基于组态软件的驱动开发解决办法。

易控组态软件是一个较为成熟的平台, 可用于工业控制, 道路监控管理等。该软件提供了便捷的图形化编程工具, 可以很快的上手开发自己需要的控制软件界面及功能。同时也提供了相对简单的驱动程序软件开发包。该软件包使用Microsoft Visual Studio 2008为设备驱动程序默认开发IDE, 这使得有一定编程基础的人员易于上手, 开发的驱动稳定性也更高。

3.1 驱动开发的概述

在开发驱动程序前, 我们先来了解下设备驱动程序的作用。设备驱动程序是上位机和设备沟通的桥梁, 通过设备采集的数据经过转换后通过上位机的数据库接口存入数据库中, 上位机发送的指令通过转化传达给设备执行。这中间的过程都是由驱动程序来完成的。根据通讯协议的不同, 设备的驱动程序也有很大的区别, 因此我们需要根据设备厂商提供的通讯协议和自己的功能需求开发适合自己的驱动程序。易控组态软件提供了很多和硬件通讯的通道 (如以太网、串口通道等) , 这使得开发驱动程序的过程简化了很多。我们只需根据通讯协议的不同编写相应的驱动代码即可。

3.2 基于易控组态软件的驱动开发过程

易控组态软件的驱动开发过程中, 上位机与设备间通讯是以变量的方式实现的, 即可以把设备的某一功能看做一个或者一组变量, 用这些变量来实现这一功能。开发平台为驱动开发预留了3个较为有用的接口, 一个是设备数据采集接口, 设备变量设置接口和读写打包接口。下面根据这3个接口具体说明下驱动开发的过程和一些简单问题的解决办法。

在拿到设备厂商提供的通讯协议后, 我们应当先分析哪些指令是我们需要的, 哪些功能指令可以省略, 这样可以有效地减少开发周期。

首先是设备变量采集接口。设备数据采集过程, 默认采集方式为变量包采集方式。打包的必要性和方法在读写打包接口处详细介绍。采集程序从bool Read Packet (Sample Tag Packet packet) 方法进入, 通过图1的过程将数据采集到上位机。

这里的通信参数, 采集指令, 数据校验, 数据解析一般是通过设备厂商提供的, 读写通道由组态软件提供。我们通过对厂商提供的通讯协议的分析 (包括包格式分析, 指令结构, 指令及回应信息长度) 确定出请求指令, 通过读写通道将指令发送给设备, 再将设备返回的信息采集上来, 通过校验和分析得到我们想要的有效数据。

一般上位机与设备通信都是采用发包等待回应的方式, 判断返回的数据是否是我们需要的就要通过数据校验这一步, 数据校验一般分为, 数据包格式校验, 长度校验, 校验码校验, 返回指令码校验, 为确保数据的正确性一般要通过多个校验。

当获得了正确的回应数据后, 我们要讲数据进行分解, 设备一般返回的是一串2进制码, 各个位上的2进制码表示的意义由通讯协议指出, 我们需要将这串2进制码依据通信协议解析成有用的数据。具体程序 (附录1) 。

接下来是设备变量设置接口, 设置接口实际就是将需要的参数写入设备。它与采集接口有很多相似的地方。它们都需要获得通信参数, 形成指令, 通过读写通道发送给设备, 从设备获得回应信息。不同的是写入指令一般回应的数据都是设置成功与否, 不需要做数据解析, 而读指令回应的数据还包括需要解析的数据。因此写指令的流程如下。

程序从bool Write Tag (Io Tag tag) 方法进入:具体程序 (附录2) (图2) 。

最后是数据打包接口。为什么要将数据打包呢?这要从上位机与设备的通信来分析。要想获得设备的信息, 或者是设定设备的某些参数, 上位机就需要与设备间进行通信。随着科技的发展, 计算机的处理速度越来越快, 但是一些硬件设备的处理回应能力远远低于计算机的处理能力, 这样在通信过程中就需要计算机等待设备的响应, 也就是我们所说的延时。而这些延时是驱动程序耗时最多的一部分。怎么减少这些延时是一个驱动程序提高效率的关键。因此我们将需要的多个数据的采集指令打成一个包发给设备处理, 回应的信息包含了多个我们需要的数据, 我们再将这些数据分解成我们想要的, 这就是打包。这么做可以极大的提升驱动程序的效率, 减少上位机与设备的通信次数。具体程序 (附录3) 。

通过以上的3个接口, 我们就能将大部分驱动开发完成。整个驱动的开发过程并不复杂, 我们要做的就是将设备厂商提供的通信协议翻译成适合组态软件平台的驱动程序。

4 结语

驱动程序的开发与一般的应用程序开发有很大的不同。应用程序主要是给用户使用的, 而驱动程序则是与设备打交道的。这就需要驱动程序有着更高更有效地处理能力。另外, 驱动程序的可用性相对较差, 一个设备针对不同的系统, 需要不同的驱动程序。组态软件的出现, 有效缓解了这个问题。组态软件解决了与硬件的通信问题, 我们只需根据组态软件预留的接口针对不同设备开发不同的驱动程序即可, 而且这种驱动对用的不再是不同的系统, 而是同一个组态软件, 这就大大提高了程序的可用性。用户只要使用同一组态软件驱动程序即可通用。但这也有不足的地方, 虽然现在的组态软件大多集成了很多常用的设备, 但是很多设备的驱动还需要我们自己开发, 而且各种组态软件为驱动程序预留的接口也不统一, 这使得开发还具有一定的局限性, 针对同一组态软件的通用性还不能替代真正的通用性。但这涉及到个设备厂商的利益问题, 很难出现统一的驱动标准。所以基于不同组态软件的驱动开发还是现在相对比较统一的解决办法。

附录1:

附录2:

附录3:

摘要:组态是指用户通过类似“搭积木”的简单方式来完成自己所需要的软件功能, 而组态软件就称为“二次开发平台”。驱动程序扮演沟通的角色, 把硬件的功能告诉电脑系统, 并且也将系统的指令传达给硬件, 让它开始工作, 系统不同, 硬件的驱动程序也不同。组态软件是联系客户和硬件的桥梁, 本文基于易控组态软件驱动开发过程中的问题, 分析并讨论了基于组态软件的驱动开发的解决办法。

关键词:组态软件,驱动开发

参考文献

组态监控软件论文 篇11

关键词 组态软件;双速电机;SCADA

中图分类号:TM301.2文献标识码:A文章编号:1671-489X(2009)12-0099-02

Application of Configuration Software in Two Speed Electrical Machinery SCADA System//Wang Honghua, Gao Dexin, Han Junqing

Abstract In the two speed electrical machinery intelligence test system, carry on the development to on position machine with power control configuration software. It cancarry on the surveillance and the control to the scene running equipment, realized the functions .of data acquisition, device control, survey, parameter adjustment as well as each kind of signal reports and so on.

Key words configuration software;two speed electrical machinery;SCADA

Author’s address

1 Qingdao University of Science & Technology, Qingdao, Shandong 266042

2 Dezhou Vocational and Technical College, Dezhou, Shandong 253034

1 引言

现代工业的生产技术及工艺过程日趋复杂,生产设备及装置的规模不断扩大,企业生产自动化程度越来越高,因此,工业控制要求应用各种分布式监控与数据采集系统。传统的工业控制是对不同的生产工艺过程编制不同的控制软件,使得工控软件开发周期长、困难大,被控参数、结构有变动就必须修改源程序。而专用工控系统,通常是封闭的系统,选择余地小或者不能满足要求,很难与外界进行数据交换,升级和增加功能都受到限制。监控组态软件的出现,把用户从编程的困境中解脱出来,利用组态软件的功能可以构件一套最适合自己的应用系统。组态软件作为个人计算机监控系统的重要组成部分,日益受到控制工程师的欢迎,成为开发上位机的主流开发软件[1]。在双速电机智能测试系统中,用力控组态软件对上位机进行开发,可以对现场的运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节以及各类信号报警等各项功能。在SCADA系统集成平台上,实现信息的采集、传输、处理以及综合利用。它将数据采集控制系统与工厂内部管理网络系统连接,利用Internet/Web技术,达到工厂内部信息交换,实现企业的管控一体化,提高企业的生产效率。

2 组态软件概述

组态软件是指一些数据采集与过程控制的专用软件,它们是在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。组态软件应该能支持各种工控设备和常见的通信协议,并且通常应提供分布式数据管理和网络功能。

3 力控组态软件的构成

力控监控组态软件是对现场生产数据进行采集与过程控制的专用软件,最大的特点是能以灵活多样的“组态方式”而不是编程方式来进行系统集成,它提供良好的用户开发界面和简捷的工程实现方法,只要将其预设置的各种软件模块进行简单的“组态”,便可以非常容易地实现和完成监控层的各项功能,缩短自动化工程师系统集成的时间,大大提高集成效率。力控软件包括工程管理器、人机界面VIEW、实时数据库DB、I/O驱动程序、控制策略生成器以及各种网络服务组件等[2]。

4 监控系统软件功能实现

在双速电机SCADA系统中用力控软件开发,根据控制的需要设计开发“参数设置”“系统结构展示”“历史曲线”“实时曲线”“报警记录”“数据采集和记录”“报表输出”“用户管理”等功能和组态界面。以下是系统比较重要的部分。

4.1 工程组态的建立在力控中建立新工程时,首先通过力控的“工程管理器”指定工程的名称和工作的路径,不同的工程一定要放在不同的路径下。启动力控的“工程管理器”点击“确定”按钮,此时在工程管理器中可以看到添加一个名为“双速电机”的工程,然后再点击“开发系统”按钮,进入力控的组态界面。

4.2 创建组态界面进入力控的开发系统后,可以为每个工程建立无限数目的画面,在每个画面上可以组态相互关联的静态或动态图形。

1)监控系统主界面(图1)。用户可以在此画面的显示区中读出电机的“电压”“电流”“有功功率”“耗电量”“功率因数”“电机的温度”等参数,便于实时监视电机的运行状态,并在每个电机的右上角设置电机运行状态指示灯,当电机正常运转时显示绿色,当电机出现报警时为红色并不断闪烁,便于操作人员及时发现确认报警。

2)实时曲线界面。该界面有输出测试系统实时曲线的作用,当系统运行时,电机各时刻数据的曲线走势会显示在上图中间的格子内。通过该画面,用户可以随时观测数据曲线的走向,可以随时在此画面上比较任意时刻的历史曲线和实时曲线的不同趋势,以便做到数据的实时监控和比较。

3)历史曲线界面。在历史曲线界面中,用户可以调用过往任意时刻的曲线画面,并且可以和当时的实时曲线作比较。当用户需打印历史曲线时,可以通过曲线下方的“打印”按扭打印历史曲线。

4)用户管理界面。通过该界面用户可以选择“登录用户”“注销用户”“修改口令”“修改用户”操作,从而实现相应的操作。登录用户分为4个权限等级:操作员级、班长级、工程师级、管理员级。并对每个权限的用户设置不同的操作区,增强系统的安全性。

5)系统退出界面。当要退出系统,按下“退出系统”操作按钮时,系统会提示操作者“请输入密码,否则不能退出系统”,保证系统的安全,因为只有知道密码的企业工作人员才能进行系统的操作[3]。

4.3 电机运行测试电机测试运行参数配置窗口是电机运行测试操作的重要窗口,通过它可以设定电机在自动运行时的各种参数,如电机低速正转时间、反转时间、停止时间、转停比等。具有电机负载调节功能以及电机在不同的运行状态的电压等级配置功能。手动操作具有“启动水泵”“停止水泵”“低速正转”“低速反转”等按钮可实现电机的手动控制。自动操作具有“启动测试”“停止测试”“暂停检修”“恢复运行”等功能。

下面是电机测试步骤。

第一步:启动,输入电机参数(额定电压、额定电流、额定转速、报警电流上下限)。

第二步:启动自动调压。根据输入额定电压,调压器调节,自动调压实现过程:启动计算机,通过电压采集模块采集当前调压器电压,若等于额定电压,则PLC不控制调压器动作;若小于额定电压,PLC控制调压器正转(电压变大),然后电量采集模块实时采集调压器电压,反馈给计算机:若大于额定电压,PLC控制调压器反转(电压变小),然后电量采集模块EDA9011实时采集调压器电压,反馈给计算机;一旦等于(或在某一范围内)则停止调压器。

第三步:输入电机在不同转速下的运行电压——系数*额定电压。

第四步:设定电机负载,一般电机在不同转速下负载不同。

第五步:电机手自动测试设定。若选手动,则可在启动水泵的前提下,手动控制电机“低速正转”“低速反转”“高速正转”;如果选择自动,则下一步需要输入电机自动控制参数:正转时间(秒)、反转时间(秒)等[4]。

电机运行后通过参数显示面板观察电机参数变换、运行状态、目前运行时间等参数。

5 结束语

采用SCADA系统进行洗衣机用双速电机试验参数的测试,通过上位机进行操作,大大提高测试的效率。上位机界面可以通过实时曲线很好地实时反映电机的各项运行参数,并且能够进行绕组电流、电压,绕组温度、转速等越限报警,保证试验的安全性。通过上位机界面可以同时进行多台上位机的监控,大大提高工作效率。同时,本上位机系统进行用户操作权限设置,避免没有操作权限人员的误操作,明确分工和责任。

参考文献

[1]刘川来,胡乃平.计算机控制技术[M].北京:机械工业出版社,2007

[2]Forcecontrol用户使用手册[Z].北京三维力控科技有限公司

[3]Forcecontrol图形界面开发手册[Z].北京三维力控科技有限公司

组态软件的现状与发展趋势 篇12

一、组态软件的现状。

组态软件产品于80年代初出现, 并在80年代末期进入我国。随着工业控制系统应用的深入, 在面临规模更大、控制更复杂的控制系统时, 人们逐渐意识到原有的上位机编程的开发方式, 对项目来说是费时费力、得不偿失的, 同时, MIS (管理信息系统, Management Information System) 和CIMS (计算机集成制造系统, Computer Integrated Manufacturing System) 的大量应用, 要求工业现场为企业的生产、经营、决策提供更详细和深入的数据, 以便优化企业生产经营中的各个环节。因此, 在1995年以后, 组态软件在国内的应用逐渐得到了普及。国内应用较多的组态软件有In Touch、MCGS i FIX、Win CC、Ec Hmi、组态王等。目前看到的所有组态软件都能完成类似的功能:比如, 几乎所有运行于32位Windows平台的组态软件都采用类似资源浏览器的窗口结构, 并且对工业控制系统中的各种资源 (设备、标签量、画面等) 进行配置和编辑;都提供多种数据驱动程序;都使用脚本语言提供二次开发的功能等等。从这些不同之处, 以及PC技术发展的趋势, 可以看出组态软件未来发展的方向。

二、组态软件的功能特点及发展方向。

第一, 数据采集的方式。大多数组态软件提供多种数据采集程序, 用户可以进行配置。然而, 在这种情况下, 驱动程序只能由组态软件开发商提供, 或者由用户按照某种组态软件的接口规范编写, 这为用户提出了过高的要求。由OPC基金组织提出的OPC规范基于微软的OLE/DCOM技术, 提供了在分布式系统下, 软件组件交互和共享数据的完整的解决方案。在支持OPC的系统中, 数据的提供者作为服务器 (Server) , 数据请求者作为客户 (Client) , 服务器和客户之间通过DCOM接口进行通信, 而无需知道对方内部实现的细节。由于COM技术是在二进制代码级实现的, 所以服务器和客户可以由不同的厂商提供。在实际应用中, 作为服务器的数据采集程序往往由硬件设备制造商随硬件提供, 可以发挥硬件的全部效能, 而作为客户的组态软件可以通过OPC与各厂家的驱动程序无缝连接, 故从根本上解决了以前采用专用格式驱动程序总是滞后于硬件更新的问题。随着支持OPC的组态软件和硬件设备的普及, 使用OPC进行数据采集必将成为组态中更合理的选择。第二, 脚本的功能。脚本语言是扩充组态系统功能的重要手段。因此, 大多数组态软件提供了脚本语言的支持。具体的实现方式可分为三种:一是内置的类C/Basic语言;二是采用微软的VBA的编程语言;三是有少数组态软件采用面向对象的脚本语言。类C/Basic语言要求用户使用类似高级语言的语句书写脚本, 使用系统提供的函数调用组合完成各种系统功能。应该指明的是, 多数采用这种方式的国内组态软件, 对脚本的支持并不完善, 许多组态软件只提供IF…THEN…ELSE的语句结构, 不提供循环控制语句, 为书写脚本程序带来了一定的困难。微软的VBA是一种相对完备的开发环境, 采用VBA的组态软件通常使用微软的VBA环境和组件技术, 把组态系统中的对象以组件方式实现, 使用VBA的程序对这些对象进行访问。由于Visual Basic是解释执行的, 所以VBA程序的一些语法错误可能到执行时才能发现。而面向对象的脚本语言提供了对象访问机制, 对系统中的对象可以通过其属性和方法进行访问, 比较容易学习、掌握和扩展, 但实现比较复杂。第三, 组态环境的可扩展性。可扩展性为用户提供了在不改变原有系统的情况下, 向系统内增加新功能的能力, 这种增加的功能可能来自于组态软件开发商、第三方软件提供商或用户自身。增加功能最常用的手段是Active X组件的应用, 目前还只有少数组态软件能提供完备的Active X组件引入功能及实现引入对象在脚本语言中的访问。第四, 组态软件的开放性。随着管理信息系统和计算机集成制造系统的普及, 生产现场数据的应用已经不仅仅局限于数据采集和监控。在生产制造过程中, 需要现场的大量数据进行流程分析和过程控制, 以实现对生产流程的调整和优化。现有的组态软件对大部分这些方面需求还只能以报表的形式提供, 或者通过ODBC将数据导出到外部数据库, 以供其他的业务系统调用, 在绝大多数情况下, 仍然需要进行再开发才能实现。随着生产决策活动对信息需求的增加, 可以预见, 组态软件与管理信息系统或领导信息系统的集成必将更加紧密, 并很可能以实现数据分析与决策功能的模块形式在组态软件中出现。第五, 对Internet的支持程度。现代企业的生产已经趋向国际化、分布式的生产方式。Internet将是实现分布式生产的基础。组态软件能否从原有的局域网运行方式跨越到支持Internet, 是摆在所有组态软件开发商面前的一个重要课题。限于国内目前的网络基础设施和工业控制应用的程度, 在较长时间内, 以浏览器方式通过Internet对工业现场的监控, 将会在大部分应用中停留于监视阶段, 而实际控制功能的完成应该通过更稳定的技术, 如专用的远程客户端、由专业开发商提供的Active X控件或Java技术实现。第六, 组态软件的控制功能。随着以工业PC为核心的自动控制集成系统技术的日趋完善和工程技术人员的使用组态软件水平的不断提高, 用户对组态软件的要求已不像过去那样主要侧重于画面, 而是要考虑一些实质性的应用功能, 如软件PLC, 先进过程控制策略等。随着企业提出的高柔性、高效益的要求, 以经典控制理论为基础的控制方案已经不能适应, 以多变量预测控制为代表的先进控制策略的提出和成功应用之后, 先进过程控制受到了过程工业界的普遍关注。先进过程控制 (Advanced Process Control, APC) 是指一类在动态环境中, 基于模型、充分借助计算机能力, 为工厂获得最大理论而实施的运行和控制策略。先进控制策略主要有:双重控制及阀位控制、纯滞后补偿控制、解耦控制、自适应控制、差拍控制、状态反馈控制、多变量预测控制、推理控制及软测量技术、智能控制 (专家控制、模糊控制和神经网络控制) 等, 尤其智能控制已成为开发和应用的热点。目前, 国内许多大企业纷纷投资, 在装置自动化系统中实施先进控制。国外许多控制软件公司和DCS厂商都在竞相开发先进控制和优化控制的工程软件包。

上一篇:上市公司财务治理下一篇:b小调奏鸣曲