电脑/软件/周边产品 |
|
| 按行业筛选 |
|
|
| 按产品筛选 |
|
|
| |
查看本类全部文章 |
| |
|
|
|
VC和VB混合编程进行DCS组态软件的设计 |
|
newmaker |
|
1 引言
集散型控制系统以其强大的控制功能、可靠的安全性能和良好的可移植性而在国内外工控领域获得广泛的应用。软件采用Visual Basic6.0和Visual C++6.0混合编程,充分运用VB强大、高效的界面生成能力、Access数据库功能和VC++易于对内存、硬件操作的特点。同时由于VB和VC++都是微软的产品,它们互相之间的连接也很容易。软件运行于Win98环境下,程序设计采用面向对象的结构化编程思想,将系统软件划分为既有要联系而又相互独立的几部分。它们彼此之间或通过直接调用,或通过动态连接库连接。
2 系统软件体系结构
系统软件体系结构是针对系统硬件来划分的。LON-EU2000集散型控制系统硬件分为工程师站、操作员站和现场控制站。相应的系统软件可划分为工程师站软件、操作员站软件和现场控制站软件。其中工程师站和操作员站位于PC机上,而现场控制站是以基于LonWorks现场总线技术的神经元芯片(Neuron)的智能板。
PC系统软件包括必要的初始化采集程序、用于工程师站的组态程序以及操作员站的运行程序。它们都是独立的可执行文件,相互间通过Win95的共享内存通信。这样一来软件的开发可由多人协同并行完成,同时也增强了软件系统的可靠性并利于软件的维护和升级。初始化过程要设置、启用PC机的相关设备,初始化完成后就能定时接收现场控制站采集的数据。系统组态需要针对不同的应用领域先离线进行,投入运行后也能根据现场控制情况在线组态。在线组态是系统工程师级的,具有操作权限,必须输入合法的口令才能修改。运行部分提供良好的人机交互界面,通过它就能实现对整个现场的实时监控。
3 系统PC软件设计
3.1 初始化采集程序的设计
初始化采集程序是工程项目投入运行后PC系统软件中最先被执行的。本系统采用LonWorks总线技术。操作员站由PC机串口接入一块高性能串行LonTalk适配器Lon-EU/SLTA控制模块与总线连接组成。所以初始化采集程序先要完成对LonTalk适配器的驱动,使用VC提供的端口输入输出函数OUTP、INP即可发送对LonTalk适配器的“握手”信息。为了实现DMA传输,要启动选定的DMA通道。这在Win95下并不是轻易的事情,因为Win95几乎接管了PC的全部硬件设备,如果仍象DOS下那样操作DMA势必引起死机,需要借助DDK、VToolsD等开发工具编写虚拟设备驱动程序(*.vxd),在VC应用程序中通过Createfile()打开它,利用vxd回传地址读取DMA通道的数据。
3.2 组态程序的设计
组态程序主要分为系统组态、实时数据库组态、回路组态、流程图组态、报表组态等。
3.2.1 系统组态的设计
系统组态是针对各个控制系统的硬件结构进行组态,它是整个工程项目组态的第一步。本系统采有现场总线LonWorks,各现场控制站、工程师站和操作员站的基本配置信息即通过系统组态来设定。选择投入运行的现场控制站的类型、个数、各自的站号及是否有冗余等,确定操作员站的站号,还可以设定安全保护,对操作员的操作权限和操作范围进行限定。最后将配置信息以VB中的*.mdb数据库文件保存并且下装。
3.2.2 实时数据库组态的设计
实时数据库是集散型控制系统的信息来源。一个工程项目中所有要监测和控制的点都在数据库组态中完成。根据点数据的类型不同,数据库组态分为模拟量输入、模拟量输出、开关量输入、开关量输出、计算量。其中计算量即初始化采集程序中提供的应用程序接口变量,从本质上讲也是模拟量。用户使用它组织自己的显示信息,但并不参与输入输出。计算量的组态只要定义变量名称和指定在预留数组中的位置。
3.2.3 回路组态功能的设计与实现
在完成数据库组态后就可以进行回路组态,回路组态是集散型控制系统组态和关键步骤,主要用于连续过程控制、报警检测与处理、确定输入输出回路等。回路组态数据库的每一项记录包含一条完整的回路必备信息。利用这些信息就能实现对系统的控制。回路组态根据其输入输出的不同分为模入模出回路,模入开出回路,开入开出回路。回路组态的合理与否直接影响控制质量的好坏。
3.2.4 流程图组态的编制
DCS组态软件具有丰富强大的工艺流程图组态功能,这部分工作主要在VB中实现。VISUAL BASIC6.0具备完善的图形函数和方便实用的图形控制如Line、Shape、Graph、Image等。利用这些便提供用户基本的流程图编辑功能,如直线、圆、矩形、多边形,同时可以选择线粗细、颜色,对于圆、矩型的填充也能方便实现。
3.2.5 报表组态的实现
报表大致分为周期性报表和触发性列表两种。周期性报表一般用来打印生产过程的操作记录和统计(求和等),它取代了操作工的抄表工作。这类报表一般采用下时驱动,通常是时报、班报、日报、月报等。而角发性列表则用来进行事故或故障分析。(end)
|
|
文章内容仅供参考
(投稿)
(如果您是本文作者,请点击此处)
(5/13/2005) |
对 电脑/软件/周边产品 有何见解?请到 电脑/软件/周边产品论坛 畅所欲言吧!
|