分析DCS仿真系统设计与实现

时间:2011-08-29

  随着工业和科学技术的发展,DCS的应用越来越广,DCS是分布式控制系统(Distributed Control System),在国内自控行业又称之为集散控制系统。即所谓的分布式控制系统,或在有些资料中称之为集散系统,是相对于集中式控制系统而言的一种新型计算机控制系统,它是在集中式控制系统的基础上发展、演变而来的。它是一个由过程控制级和过程监控级组成的以通信网络为纽带的多级计算机系统,综合了计算机,通信、显示和控制等4C技术,其基本思想是分散控制、集中操作、分级管理、配置灵活以及组态方便。

  1 现有DCS仿真系统

  DCS仿真系统是将真实DCS在非DCS的计算机系统中重现(纯软件),不会涉及到底层硬件,完全可以运行在普通的PC环境中。基于这种与硬件无关的特性,仿真系统可应用于操作人员的培训和前期的工程调试。所以,DCS仿真系统的仿真程度直接影响到后期的实际操作。

  目前主要存在两种方式:(1)保留原有的集散控制系统软件和硬件,接入一个只限于实现过程仿真的仿真计算机,即激励方式;(2)全范围各个部分的仿真,用软件模拟硬件的方式仿真其人机界面,而不必复制其所有功能,即仿真(Simulation)方式[1]。

  上述两种方式中,激励方式的软硬件仿真程度较高,但实现复杂,与模型连接也很困难。相对来说仿真方式比较容易实现,软件实现整个过程灵活性较强,可以运用于不同的环境,同时便于系统升级。

  2 基于虚拟机技术的DCS仿真系统

  在各个环节使用软件实现对DCS的仿真,然而DCS中很多软件已经运行在PC机上,具体操作在实际DCS中与DCS仿真系统中都完全一样,并使得硬件及其相关硬件也能得到完全模拟。基于虚拟机技术的DCS系统实现的是硬件以及与硬件相关部分的仿真,即可以在PC环境中再现DCS。图1所示为DCS结构图。

  DCS的骨架—系统网络,它是DCS的基础和。由于网络对于DCS整个系统的实时性、可靠性和扩充性,起着决定性的作用,因此各厂家都在这方面进行了精心的设计。对于DCS的系统网络来说,它必须满足实时性的要求,即在确定的时间限度内完成信息的传送。这里所说的“确定”的时间限度,是指在无论何种情况下,信息传送都能在这个时间限度内完成,而这个时间限度则是根据被控制过程的实时性要求确定的。因此,衡量系统网络性能的指标并不是网络的速率  DCS,即通常所说的每秒比特数(bps),而是系统网络的实时性,即能在多长的时间内确保所需信息的传输完成。系统网络还必须非常可靠,无论在任何情况下,网络通信都不能中断,因此多数厂家的DCS均采用双总线、环形或双重星形的网络拓扑结构。为了满足系统扩充性的要求,系统网络上可接入的节点数量应比实际使用的节点数量大若干倍。

  图1中Level 2的工程师站、操作员站均运行在PC环境中,Level 1及Level 0是硬件相关的部分。控制器是整个DCS中为重要的环节,对上起着接受操作命令和反馈现场数据的作用;对下起着传递命令和采集现场数据的作用。同时会随着控制器程序的不断升级而频繁升级,并需要时刻保持与控制器程序对齐。

  而基于虚拟机技术的DCS仿真系统则是把仿真目标放在了控制器本身,而不是控制器程序。在PC中实现一个虚拟的主控制器,控制器程序可以直接运行在虚拟控制器中,使得控制器程序的升级只需要简单的替换镜像文件。只有当硬件出现升级的时候,才需要对虚拟控制器进行升级。硬件稳定性相对较高,不会出现频繁地升级。

  Level 0的硬件模块内部逻辑比较简单。虚拟控制器将输出值传送给虚拟设备,终虚拟设备根据输出值在显示面板中作相应的显示,同时虚拟设备也可以将自身的某些值传给虚拟控制器。

  综上所述,整个基于虚拟机技术的DCS仿真系统,是由Level 2的实际软件、Level 1虚拟控制器以及实际的控制器软件和Level 0虚拟设备模块组成。由此可以看出,难点是虚拟控制器的实现。

  3 虚拟控制器的实现

  虚拟机的实现主要有两种方式:(1)主要由软件完全模拟目标平台的每一条指令,所以称为指令集虚拟机ISA(Instruction Set Architecture),又因为是完全模拟所以又称模拟器;(2)借助于特定平台和OS环境,利用VMM(Virtual Machine Monitor)程序为用户提供一个高效的虚拟执行环境,其主要特点就是执行效率高。

  目前控制器的结构主要包括了CPU、内存、网卡、Flash、DOC、双口RAM、SRAM以及各种端口。其中许多特定的硬件需要模拟,所以选择指令集虚拟机技术设计虚拟控制器。图2所示为虚拟控制器的结构图。

  图2中各个模块完全按照现实控制器进行划分和设计。

  (1)CPU模块包括实现指令的模拟和各个寄存器的实现。

  (2)内存模块主要实现内存的模拟,其大小在虚拟控制器启动时确定,运行期间不能改变。

  (3)网卡模块主要实现虚拟控制器的网卡,使得虚拟控制器可以通过网络发送和接收数据。

  (4)存储模块相当于实现了虚拟机的存储介质,例如Flash、DOC、电子盘等。

  (5)SRAM模块实现控制器用于掉电保护的SRAM,并用于虚拟机的数据掉电保护。

  (6)双口RAM模块主要模拟控制器与DP主卡交互数据的双口RAM。

  (7)端口模块实现控制器上的各个端口,虚拟控制器需要从端口读取站号,单双机状态、LED灯状态和其他状态。

  (8)显示模块主要模拟类似显示器的作用。

  (9)主板模块在整个虚拟控制器起着协调作用,具有配置整个虚拟控制器的硬件特性,其中还包括定时器。

  虚拟控制器在启动时,先读取硬件配置信息,如内存大小、硬盘大小、网卡数目及其配置信息。根据配置情况分配资源、初始化各个设备、读取镜像文件,然后进入指令执行阶段。此阶段为循环执行,直到虚拟控制器被执行关机操作。首先需要释放启动时申请的资源,然后才能退出。同时还存在其他中断,如屏幕输出、键盘输入等,具体流程如图3所示。

  随着科学技术的发展,虚拟机应用广泛,虚拟控制器不仅应用于DCS仿真系统中,也可以用于调试运行控制器上的嵌入式操作系统中,分析操作系统性能,基于虚拟机操作方便,利于实现。


  
上一篇:一种智能压力传感器系统中FPGA的实现
下一篇:基于嵌入式Linux的机房远程监测系统研究

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料