计算机应用化工自动化及仪表, 1999 , 26 (6) :38~41
C ontrol  and  Instru ments  in  Chemical  Industry
Web 上基于Java 的工控组态系统结构设计
郭剑毅,车文刚,余正涛
(云南工业大学信息与电子工程学院,云南昆明650051)
摘要: 针对分布式控制系统的开放式要求,通过对组态系统功能要求及其实现的根本问题的分析,结合Web 的功能及应用,提出了一种新的开放式工控组态系统体系结构,并重点就现有这种结构的主要技术———J a v a 作了分析设计。
关键词:    DCS;开放性;组态;Web ;Java ;JDBC ;JavaBean
中图分类号: T P393. 09 文献标识码:A 文章编号:100023932 (1999) 0620038204
1    前言
随着Internet/ Intranet 技术和Web 技术在全球的广泛应用,引发了工业企业信息与控制系统向Internet/ I
ntranet 的迁移, 网络体系结构由C/ S 向着B/ S 模式的转变已成为发展的趋势。DC S 的体系结构及其系统设计将面临着新的挑战,它将向着真正开放的系统发展。相应地,其开放的组态系统应具备[ 1~3 ] : ①可移植性。要求各DCS 的软件可以相互移植,程序、数据等也可以进行移植;
②互操作性。通过把不同的计算机系统用通信网互连起来,有效地进行数据的交流,资源共享; ③ 可适宜性。比如,应用软件能在级别低的系统中运行,也能在高级别的系统中运行; ④可集成性;
⑤标准的通信协议等。而目前的许多组态系统还没有完全达到上述要求。随着Web 技术的介入, 结合新一代网络语言Java 的无与伦比的平台无关性和可移植性,实现满足上述要求的具有新型体系结构的工控组态系统有着得天独厚的优势。
2  组态系统的功能要求及实现的根本问题
按照工业企业对测量、控制、管理的要求,组此,由数据的采集、处理、管理及查询所固有的分布性和层次性,决定了基于分布式数据库的网络计算是工控组态实现的核心问题[ 7 ,10 ] 。
3 基于Web 的组态系统的浏览器/ 服务器体系结构
3. 1    Web 的功能及其应用[ 4]
Web 是一个开放的环境,应用由重用组件集成,通过标准语言汇编、跨平台的统一TCP/ IP 协议发布,用标准用户界面显示,它与硬件平台和操作系统无关。Web 的功能由简单的文档下载发展进化成越来越复杂且具有交互功能的应用,经历了这样几个阶段: ①从固定站点下载HTML文档或其它格式的文档; ②利用CGI 程序从后端系统(如数据库) 下载文档; ③利用HTML From 和CGI 程序构造交互式系统; ④利用Java Script 增强GUI 功能; ⑤利用Java Applet 以及JavaBean 增强客户端的功能。
Web 交互式应用主要表现在两个方面,一是与动态数据处链接的用户查询; 一是对动态数据的处理。通过扩充HTML文档,Web 可以用多种
态系统完成的基本功能[ 9 ]包括:系统组态、控制组方法实现交互性。常用的方法有三种:①提供
态、图形组态、报表组态、数据库组态、通信组态等,最终生成一个可供执行的应用软件,并通过网络通信程序把组态数据装载到控制机。围绕上述Web 服务器扩展功能的方法,主要包括公共网关接口(CGI) 和应用编程接口(A PI) 。这种方法把客户端的交互式请求通过URL 传给Web 服务器,再
目标要求,为实现这样一个系统需要将控制技术、
图形处理技术、数据库技术、网络通信技术等进行集成,从而完成控制系统所要求的诸如报警、趋势显示、动态显示、实时控制、数据交换的功能。因收稿日期:1999 -  02 - 22
基金项目:本课题获云南省科委基金资助。参加本项目工作的还有宋丽哲、马桂芳等。
第6 期郭剑毅等. Web 上基于Java 的工控组态系统结构设计·39  ·
启动相应的处理程序,把结果变成动态HTML页传给客户端; ②把应用程序语句嵌入到HTML文档中,供含有相应解释器的浏览器下载执行,如Netscape 提供的Java Script 及微软的VBScript 脚本语言; ③采用组件化软件方法。这种方法通常把Web 客户端的浏览器当作下载并执行Web 服务器端部件化软件的包容器( Container) 。当需要交互操作时,浏览器下载HTML文档中所标明的部件并执行。目前市场上存在多种部件化软件模型产品,Java 及其JavaBean 规范就是其中的一种。
3. 2 控制组态系统的浏览器/ 服务器(B/ S) 体系
结构
这种B/ S 结构是一种三层的软结构体系(图1) :客户机(Web 浏览器) 、We b 服务器和数据库服务器。客户机只负责提供用户组态界面。组态流程是这样的: 用户通过Web 浏览器采用HTTP 通信规程( TCP/ IP) 启动存储在Web 服务器上的Web 组态应用系统, 运行数据库应用程序( 1) ; Web 服务器将有关被请求的Applet (数据库应用程序) 传回到客户端的浏览器作为响应,里面包括JDBC(Java Database Connecti on) 驱动器和其它被请求的资源,都被捆绑在一个JAR (Java Archive) 文件中送给Web 浏览器(2) ;一旦JAR 文件被下载, Web 浏览器就开始运行Applet 。通过回答该网页即组态表上的各种问题和选择,从而描述了该用户组态的具体要求。Applet 利用JDBC 驱动器去访问数据库(3) 。
图  1  组态系统的浏览器/ 服务器体系结构
将这种浏览器/ 服务器体系结构用于工控组态系统有以下优点:
·具有很强的系统独立性,用户使用的是带Web 浏览器的计算机, 而不管是运行Unix 还是Wi ndows NT。
·We b 平台具有很强的位置独立性,不论安装在何处或安装在什么计算机上。
·软件维护开销能够大大降低,只需开发和维
护服务器应用程序(无需开发客户端程序) ,而服
务器上所有的应用程序都可以通过Web 浏览器在客户机上执行,从而统一了用户界面。由于几乎各种操作系统上都有Web 浏览器,所以Web 浏览器/ 服务器应用可以方便地实现跨平台操作。与传统的DCS 相比,该方案更具有开放性、基于标准、便于集成、使用方便。
·组态生成的应用程序不需要用户进行编译, 可以直接运行。而基于Java 芯片的智能化控制
仪表可以下载这些应用程序,用于生产过程中。
4 基于Java 的组态系统设计
4. 1 组态操作界面与组态方式
组态操作界面由内嵌Java Applet 或Java script 的HTML页面组成,也可以由Java 应用程序(Java Applicati on) 生成。Java 的AWT 提供了完
全独立于操作系统平台的G UI 框架且功能丰富
完备。组态方式(即组态语言) 则继承了传统DCS 组态所采用的表格填充式和图形连接方式[ 11 ] 。
4. 2 Java 的分布式计算
Java 计算实现了“以网络为中心的计算[ 8 ] ”,其本质上就是C/ S 计算技术。Java 计算中,Java 代码可以按需要动态地从服务器下载组态应用软件到客户机,客户机硬盘只需存储某些小程序(因
而客户机的内存不要求很大) 、客户机数据和一些应用程序常驻服务器,所有客户机的管理和配置
控制由服务器集中完成。
Java 计算实现了在网络上运行的进程间交换信息的新方式:从交换信息到交换对象。对象即Java Applet ,它由一组数据和一组定义在这组数据上的操作组成,并且是一个可执行的实体。这一点对于分布式组态系统的设计有着重要的意义, 即可以较容易地实现进程的迁移,实现在各处理
节点的负荷平衡。同样,由于Java 在本质上是分
布式运行应用,这使得应用的发布也可分布式进行,减少了服务器高峰期的负荷。
web后端是指什么4. 3 利用JDBC[ 6 ]进行数据库的访问
JDBC 为应用程序开发者提供了独立于数据库的统一应用程序接口(API) ,该程序能使Java 程序访问任何DBMS(数据库管理系统) 。它采用标准的SQL语言对数据库进行存取,并提供JDBC2
·40  ·化工自动化及仪表第26 卷
ODBC 桥,可以很好地和现成系统集成。
JDBC 是分层建立的, 最高层是Java 应用程序。使用JDBC API 与JDBC 管理器通信。JDBC 管理器把应用程序转发给JDBC 驱动程序———第三层(图2) 。
图  2  JDBC 的总体结构
JDBC API 是用户与JDBC 管理器之间的一座桥梁,通过这座桥梁把用户想要执行的操作告诉JDBC 管理器。接着,JDBC 管理器告诉JDBC 驱动程序要做些什么。JDBC API 中有两层接口:应用程序层和驱动程序层,前者供程序开发者使用,后者是驱动程序厂家实现的,处理和具体驱动程序版本的所有通信。
驱动程序做底层工作,它通过使用一个连接协议访问特定的DBMS。JDBC 使用一个子协议名来分辨DB MS 连接机制。例如, 若用户利用Mi2 crosoft 公司的ODBC (开放式数据库连接) 来使用Microsoft SQL Server 数据库服务器或Mi crosoft Ac2 cess 数据库,则JDBC 使用子协议名odbc 。驱动程序层必须实现四个主要接口: Driver , Connection , Statement 和ResultSet 。Dri ver 接口用于建立和数据库的连接,在应用程序中往往通过Driver Man2 ager 类来实现。其它三个接口使开发者可以生成SQL语句和取得结果,是对实际对象处理的方法。
JDBC 访问数据库的过程是这样的:用户通过浏览器Browser 从Web 服务器上下载含有Java Applet 的HTML页面。如果其中的Java Applet 调用了JDBC ,则浏览器运行的Java Applet 直接与指定的数据库建立连接,不再需要服务器的介入。这意味着,Applet 的运行不再受网络带宽和Mo2 dem 速率的影响,因而用户可以有效地在网页上享受多媒体的效果,从而真正实现了网络通信上的动态交互特性。
4. 4 Java Bean 组件的应用
JavaBean 是一种打包的软件,它使Java 从单纯丰富的Web 页面发展到提供全面企业级应用。JavaBean 建立在Java 优势上,并进一步扩展了Ja2 va 平台,是一个可移植、高度可伸缩、多平台的组件体系结构。JavaBean 不仅可以重复使用,将“编写一次、随处运行”的模式发展到企业级应用的范围(这种模式有助于降低成本,因为它简化应用软件的开发、升级和部署。另一个节省成本的原因是使用开放Java 平台后可以获得高度的灵活性, 制造商可在从嵌入式控制器一直到PC 机乃至大型服务器和大型机中运行这些应用软件) 。而且还可由用户自行配置(Configurati on) 或组态。对其进行配置,意味着开发人员能够对一个一般化的部件加以裁剪或进行定制化处理,使其适应某些特定环境的具体需求。这一点很贴切地反映了工控组态的要求,对系统的设计很重要。另外,Jav2 aBean 克服了Java Applet 不能和页或者页面上的其它Applet 进行交互的缺点,Bean 之间可以动态地进行通信。
由于JavaBean 组件需要在Web 上分发,因此需要提供一种设施来把组成的所有资源进行物理“打包”,
以简化组件的分发管理。JAR 文件即是用来提供这一物理打包的技术方法,以使得类文件及其它组件资源如声音、图像、帮助文件等可以打包成单一的物理实体。
4. 5 存在的问题
实时性是组态系统的一个基本要求,在设计时必须予以考虑。Java 程序在编译成紧凑的字节码后,运行速度比一般的解释性语言程序快,但比编译成本地代码的程序慢。主要原因是由于Java 的解释特性和使用了动态联编,以及用于垃圾收集、数组边界检查和多态性上的开销。近年来,人们进行了许多工作来对Java 的性能作了改进,如不断推出速度更快的Java 虚拟机、即时(J IT2J u st In Time) 编译器和高性能的本地代码Java 编译器等,以使Java 性能不断提高。因此,实时性的问题最终是可以解决的。
5 结束语
笔者建立了一个关于锅炉汽包水位控制的仿真组态原型系统JBCS(Java2based control confi gura2 tion system) ,该系统采用了图  1 所示的三层式数据库设计。并在Visual Age for Java[ 5 ] 环境下进行了有关设计。在该环境中,可以生成有关完整的
第 6 期
郭剑毅等. Web 上基于 Java 的工控组态系统结构设计
·41  ·
JDBC 、JavaB ean  ,使得我们编写应用程序和 Applet
[ 3 ] 更加简单 。但由于 Java 技术本身在不断地完善 [ 4 ]
Michae l Babb. PCs : The  Foundation of  O pen Architec ture Control
Syste ms[J ] . Control  Engineer ing ,1996 ,75276. Amja d  Umar . Perf or mance  of  We b 2ba se d  Applicatins[J ] . Da tabase
和改进 ,笔者也不断地在关注着新版本的 Java 开 & N e tw ork  ,27 (5) :329. 发环境 。
[ 5 ] Visua lAge  :http : ∥W WW .  sof tware. jbm. com/ ad/ vajava .
作为一个原型系统 ,它为以后使用 Java 技术 [ 6 ] JDBC :http : ∥splash. ja va sof t . com/ jdbc.
提供了参考和借鉴 ,同时该系统的设计具有可扩
[ 7 ]
Chisholm J . Ber nardo  M. Client/ Ser ver  Architecture s  and D istr ibut 2
ed Database  Exte nd  the  I mpac t  of  SCA DA [J ] . I  & CS ,1995 , (8) :
充性 , 还有大量的工作要做 。Java  技术本身在
41244. Web 上的应用其作用日趋明显 ,将其用于工控组 [8 ]
P.  Ram  et  al .  Enterpr ise    Computing : the  Java  Factor  [ J ] . IEEE 态系统的设计 ,将改变着应用系统开发及实施的
Computer  ,1997 ,30 (6) :1152117.
方法 。
[ 9 ] 王常力
,廖道文. 集散型控制系统的设计与应用[ M ] . 清华大
学出版社 ,1993.
参  考  文 献
[ 10 ]
周明峰等. 大型关系数据库与企业综合自动化系统[J ] . 化
[1 ]
Brain  Tinham.  WI ZA RD S  WH EEL  over  SCA D A    Syste ms [ J  ] . IEEE. Trans. C  & I ,1996 ,23226.
[ 11 ] 工自动化及仪表 ,1997 ,24 (1) :37241.
黄文君等. J X 2100 组态语言及应用[J ] . 化工自动化及仪表
, [ 2 ]    Wa yne  Labs. DCS Te c hnology Update[J ] . I & CS ,1991. 27231.
1996 ,23 (增刊) :49254.
Architecture  design  of  Java 2based  Configuration  of  Industry  Control  System on  the Web
GOU  Jian 2yi ,CHE Wen 2gang , YU  Zheng 2tao
( School of  Inf ormation and Electricity Engineering , Yunnan Polytechnic  University , kunming  650051 , China ) Abstract :Aim at the new open DCS ,the function need and key problem of its configuration system is analyzed. Ac 2 cording to the features and the applicaton of Web (short for Worl d Wide Web ) ,this paper presents a new  architecture
for the confi gurati on  system in DCS and mainly discusses the Java technol ogy  used to  design the    system.
Key  word s :DC S ;openness ,confi gurati on ,Web ;Java ;JDBC ;JavaBean
·简 讯·
《 过 程 控 制 工 程 》第  二 版 出 版
华东理工大学蒋慰孙和俞金寿两教授合作编著的《过程控制工程》一书 ,从 1988 年中国石化出版社 的第一版算起 ,已近 12 年了 。本书的第一版曾获得全国优秀教材奖 。但是 ,写作时考虑的读者对
象 ,对 高等学校师生和工厂企业、设计、研究单位的自动化工作者 ,都包括在内 ,全书能起到材料与参考书的双重职能。
十多年来 ,过程控制与整个的工业自动化一样 ,出现了三大变化 : ①计算机控制装置代替了常规仪 表 ,成为控制装置的主流 。 ②来自工程界的一些先进控制策略发展迅速 ,象预测控制系统令国际和国内 都备受关注 ;智能控制的热潮也已来到 ,象模糊控制几乎已家喻户晓 。而现代控制理论的应用都并没有 象一些理论界所希望的那样在工业上得到足够的推广 。 ③自动化的范畴进一步扩大 ,现在早已不局限 于检测和控制的范畴 ,象带来显著经济效益的操作优化 ,象提高生产安全性的故障检测和诊断 ,象将生 产控制与管理结合而产生的综合自动化系统等 ,都是当前自动化的热点 。本书的第二版面对这些新的 情况 ,力求内容在基础性与前沿性的统一 ,在理论与实践上的进一步结合 。
第二版仍分控制系统与过程控制两篇 。控制系统篇中 ,对简单控制系统和常用复杂控制系统作了 进一步修订 ,对先进控制系统及优化和综合自动化系统 ,几乎大部分是重写的 ,力求符合出现上述三大 变化的形势需要 ,新的内容很多 。过程控制篇仍按流体输送设备 、传热设备 、精馏塔和化学反应器的控 制分章 ,单元操作的领域则有所扩大 ,控制方案的更新更是很多 ,内容能进一步满足企业和设计部分的需要 。 本书大体仍保持原来的体例 ,特别注意紧密结合工业过程实际 、理论联系实际的特点 ,力求深入浅 出 ,着重物理概念 。并增加了习题 。力求使读者不仅知道现在过程控制的主要内容 ,而且知道如何去解 决实际的设计和应用命题 。
全书约 71 万字 。本书的出版得到了中国石化出版社的高度重视 ,并被上海市教育委员会定为上海 普通高校“九五”重点教材 。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。