CN1304936C - 直观显示对象文件的仿真器及其操作方法 - Google Patents
直观显示对象文件的仿真器及其操作方法 Download PDFInfo
- Publication number
- CN1304936C CN1304936C CNB971986223A CN97198622A CN1304936C CN 1304936 C CN1304936 C CN 1304936C CN B971986223 A CNB971986223 A CN B971986223A CN 97198622 A CN97198622 A CN 97198622A CN 1304936 C CN1304936 C CN 1304936C
- Authority
- CN
- China
- Prior art keywords
- process control
- machine
- control system
- directly perceived
- display object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0426—Programming the control sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/25—Pc structure of the system
- G05B2219/25428—Field device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Controls And Circuits For Display Device (AREA)
- Measurement And Recording Of Electrical Phenomena And Electrical Characteristics Of The Living Body (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
一种用于在非本地计算机上(305)针对实时过程控制***(100)以及利用此仿真器的实时过程控制***的直观显示对象文件仿真本地环境的***和方法。此直观显示对象文件包含绘图命令,用于与实时过程控制***进行数据通信的地址指针和用于解释由触感屏接收的数据的规则。此***包括有:显示例程,促使非本地计算机(305)控制连接到它的非本地直观显示器(200)以显示作为绘图命令的函数的图象;地址映射例程,作为地址指针的函数的在直观显示对象文件与实时过程控制控制***之间作数据通信;和一输入翻译例程,将从一耦合到它的非本地指示装置(460)接收进非本地计算机的数据翻译成可由此规则解释的数据,由此此***能使非本地计算机显示图象,与实时过程控制***作数据通信和解释由从本地指示装置接收的数据。
Description
技术领域
本发明总的说是针对计算***,较具体说是关于直观显示对象文件的仿真器及其操作方法。
背景技术
自动化工厂控制***(例如由霍尼韦尔公司所制造并已投放市场的TDC 2000或TDC 3000工业自动化***)包括有高级的算法组和附属设施用来控制和监视例如一制造工厂中的各种过程。此控制***能适应于满足工厂的全盘的或专用部分的很广范围的过程的需要。一般,此控制***包括有多个各自具有其自己的硬件、固件(firmware)和软件的模块,被通信总线连接到一起,由此形成一分布式过程控制***。***的分布式特性提供有为不断地满足工厂的发展或改进需要而扩充***的能力的高性能。
美国专利No.4607256(前面提到的)提出一种用于监视和控制工业和电气应用工厂的全厂范围的***,包括有***内的通信和工厂内过程的有关管理。较具体说,此工厂管理***包括有采用各种型式的独立模块的“令牌传递”安排。一模块发送信息到或从另一个位于一公共总线上的模块接收信息。每一模块在网络内均起同等作用和被指定一单独的网络地址。在模块间传送的令牌给予占有此令牌的模块访问总线和发送信号到另一位于此总线上的模块的地址的权利。如美国专利No.4607256中所揭示这样的自动化控制***是本技术领域中公知的。
先有技术已提供包括图形性质的直观显示器、键盘、批示器、触感屏等用户接口。作为举例,通常的显示包含有工厂中的设备的图形表示(例如桶、管道、泵、等等);与设备相关的操作或历史数据被与图形表述相关连来完成对操作员的直观表示。
不幸的是,产生用于生成用户接口例如直观显示的例程或文件的过程在历史上表现为很复杂和混乱。为继续此直观显示例,需要应用通常的计算机语言,其中首先必须定义基本图形元素(例如点、直线或曲线)而后将它相互配置来表征设备中的装置(例如桶、管道或泵)。即使出现通常的面向对象的编程语言,其中过程工厂设备被表征为组成它们的构成基本图形元素的对象和其中装置被递归分组以形成整个直观显示对象文件的组,产生用于生成直观显示的文件的过程仍然很困难和昂贵。当然对任何通常的用户接口可以作同样情形的描述。
相当大数量的现有设备控制***采用利用通常的面向对象的编程语言开发的用户接口对象文件。在考虑是否要升级这些现有***时,现有***的所有者不愿处理他们已给予了很大投资的和对***操作人员可信而又熟悉的对象文件。这些拥有者更宁愿作细微地和自动地对一不同的可能技术上更先进的或用户友好的升级,以最小的花费保持他们用户接口的“可视性和感觉”。
发明内容
根据本发明一个方面,提供一种用于在非本机计算机上对实时过程控制***的直观显示对象文件的本机环境进行仿真的***,所述直观显示对象文件包含绘图命令、用于与所述实时过程控制***作数据通信的地址指针、和用于解释由一触感屏接收的数据的规则,所述***包括:
显示例程,促使所述非本机计算机控制一耦合到它的非本机直观显示装置来在它上面显示作为所述绘图命令的函数的图象;
地址映射例程,作为所述地址指针的函数在所述直观显示对象文件与所述实时过程控制***之间作所述数据的通信;和
输入翻译例程,将从一耦合到它的非本机指示装置接收进所述非本机计算机的数据翻译成适宜于由所述规则解释的数据,由此所述***即能使所述非本机计算机显示所述图象,与所述实时过程控制***作所述数据通信,和解释由所述非本机指示装置接收的所述数据。
优选地,所述本机环境在一小型计算机上提供和所述非本机计算机(305)是基于微处理器的。
优选地,所述绘图命令针对一全屏幕直观显示和所述非本机直观显示装置(410)为窗口化显示装置。
优选地,所述地址指针对应于所述实时过程控制***中的物理地址。
优选地,所述非本机指示设备为一鼠标。
优选地,所述映射例程使得可在所述直观显示对象文件与所述实时过程控制***(100)之间作数据双向通信。
优选地,所述***与一在所述非本机计算机(305)上执行的多任务操作***相结合运行。
优选地,所述绘图命令、地址指针和规则被体现在所述直观显示对象文件内的各个对象。
优选地,所述非本机计算机(305)包括一仿真可移动媒体海量存储装置的虚拟存储装置仿真器,所述仿真器与所述地址映射例程协同操作来提供所述直观显示对象文件与所述实时过程控制***(100)之间的所述数据通信。
优选地,所述***在所述非本机计算机(305)上执行的WindowsNT操作***中执行,所述操作***在其间提供用于在所述显示对象文件与所述实时过程控制***(100)之间进行所述数据通信的通道。
根据本发明另一个方面,提供一种在一非本机计算机上对实时过程控制***的直观显示对象文件的本机环境进行仿真的方法,所述直观显示对象文件包含绘图命令、用于与所述实时过程控制***作数据通信的地址指针和用于解释由一触感屏接收的数据的规则,所述方法包括步骤:
(a)促使所述非本机计算机控制与其耦合的非本机直观显示装置(410)根据所述绘图命令来显示图象;
(b)通过作为所述地址指针的函数的映射,在所述直观显示对象文件与所述实时过程控制***之间作所述数据通信;和
(c)将从一耦合到它的非本机指示装置(460)接收进所述非本机计算机的数据翻译成适合于由所述规则解释的数据,由此所述***使得所述非本机计算机能显示所述图象、与所述实时过程控制***进行所述数据通信和解释由所述非本机指示装置接收的所述数据。
优选地,所述本机环境在一小型计算机上提供,和所述非本机计算机(305)是基于微处理器的。
优选地,所述绘图命令针对全屏幕直观显示,所述步骤(a)包括以窗口化显示来利用所述绘图命令的步骤。
优选地,所述地址指针对应于所述实时过程控制***(100)中的物理地址。
优选地,所述非本机指示装置(460)为一鼠标。
优选地,所述步骤(b)包括在所述直观显示对象文件与所述实时过程控制***(100)间作所述数据双向通信的步骤。
优选地,所述***(100)与在所述非本机计算机(305)上执行的多任务操作***相结合而运行。
优选地,所述绘图命令、地址指针和规则被体现在所述直观显示对象文件内的各对象中。
优选地,所述非本机计算机(305)包括以一仿真器仿真可移动媒体海量存储装置的步骤,所述仿真器与所述地址映射例程协同操作来提供所述直观显示对象文件与所述实时过程控制***(100)之间的所述数据的通信。
优选地,所述***在所述非本机计算机(305)上执行的WindowsNT操作***中执行,所述方法还包括通过所述操作***提供用于在所述直观显示对象文件与所述实时过程控制***(100)之间作所述数据通信的通道的步骤。
根据本发明的再一个方面,提供一种实时过程控制***,包括:
多个传感器和可控设备;
将所述多个传感器和可控设备耦合到多个数据处理和存储单元(156,160,170)的本机控制网络总线(135,145,190);
耦合到所述本机控制网络总线的操作员信息***(150,160,170),将有关所述多个传感器的数据提供给一操作员并使所述操作员能控制所述多个可控设备,所述操作员信息***被仿真在一非本机计算机(305)中;以及
用于在所述非本机计算机上对所述实时过程控制***的直观显示对象文件的本机环境进行仿真的***,所述直观显示对象文件包含绘图命令、用于与所述实时过程控制***(100)通信数据的地址指针和解释由触摸屏接收的数据的规则,所述***包括有:
显示例程,促使所述非本机计算机控制与其耦合的非本机直观显示器根据所述绘图命令来显示图象;
地址映射例程,作为所述地址指针的函数在所述直观显示对象文件与所述实时过程控制***之间作所述数据通信;以及
输入翻译例程,将从一耦合到它的非本机指示装置(460)接收进所述非本机计算机的数据翻译成适合于由所述规则解释的数据,由此所述***即能使所述非本机计算机显示所述图象、与所述实时过程控制***作所述数据通信和解释由所述非本机指示装置接收的数据。
优选地,所述本机环境在一小型计算机上提供,和所述非本机计算机(305)是基于微处理器的。
优选地,所述绘图命令针对全屏幕直观显示和所述非本机直观显示装置为窗口化显示装置。
优选地,所述地址指针对应于所述多个传感器和可控设备的物理地址。
优选地,所述非本机指示装置(460)为一鼠标。
优选地,所述地址映射例程使得能在所述直观显示对象文件与所述多个传感器和可控设备之间作双向数据通信。
优选地,所述***与在所述非本机计算机(305)上执行的一多任务操作***结合而运行。
优选地,所述绘图命令、地址指针和规则被体现在所述直观显示对象文件的各对象中。
优选地,所述非本机计算机(305)包括仿真可移动媒体海量存储装置的虚拟存储装置仿真器,所述仿真器与所述地址映射例程协同操作以提供所述直观显示对象文件与所述多个传感器和可控设备之间所述数据通信。
优选地,所述***在所述非本机计算机(305)上执行的WindowsNT操作***中执行,所述操作***在其间提供用于在所述直观显示对象文件与所述多个传感器与可控设备之间作所述数据通信的通道。
优选地,所述过程控制***具有可通过存储在一作本机格式化的可移动媒体海量存储装置中的逻辑块寻址的多个部件,以及可在非本机、多任务操作***以及该海量存储装置中使用的仿真器,包括:
块存储文件,具有与所述非本机的多任务操作***相兼容的结构,用于包容所述逻辑块;和
地址映射例程,与所述块存储文件协同操作在一本机直观显示对象文件与所述实时过程控制***(100)之间进行调整,以便根据所述本机直观显示对象文件中地址指针进行数据通信,所述地址映射例程推导出对应于所述块存储文件中特定逻辑块的所述地址指针的偏移量,所述块存储文件和地址映射例程由此而能替代所述海量存储装置而无需修改所述直观显示对象文件。
优选地,所述多任务操作***为WindowsNT。
优选地,所述块存储文件被存储在一非本机海量存储装置(305)中。
优选地,在所述多任务操作***中执行的其他例程能够与所述地址映射例程共同利用所述块存储文件。
优选地,所述特定逻辑块为256字节长。
优选地,所述块存储文件被存储在单一的物理盘驱动器上。
优选地,还包括一第二块存储文件,所述地址映射例程可相应地与所述第二块存储文件协同操作以在所述本机直观显示对象文件与所述实时过程控制***(100)之间进行调整以使它们间能作所述数据的通信。
优选地,其中该过程控制***具有可通过存储在一作本机格式化的可移动媒体海量存储装置中的逻辑块寻址的多个部件,可在非本机的、仿真所述海量存储装置的多任务操作***中执行,包括步骤:
截取一本机直观显示对象文件的地址指针;和
推导出对应于一块存储文件中一特定逻辑块的所述地址指针的偏移量,所述块存储文件具有与所述非本机的多任务操作***相兼容的结构并包含所述逻辑块。
优选地,所述多任务操作***为WindowsNT。
优选地,还包括在非本机海量存储装置上存储所述块存储文件的步骤。
优选地,还包括在所述多任务操作***中执行其他例程的步骤,所述其他例程能与所述地址映射例程共同利用所述块存储文件。
优选地,所述特定逻辑块为256字节长。
优选地,还包括将所述块存储文件存储在一单个物理盘驱动器上的步骤。
优选地,还包括推导出对应于第二块存储文件中的所述特定逻辑块的所述地址指针的偏移量。
优选地,所述多个传感器和可控设备可通过存储在作本机格式化的可移动媒体海量存储装置中的逻辑块寻址;所述操作员信息***具有一本机直观显示对象文件,包含地址指针和所述仿真器,可在非本机的、代替所述海量存储装置执行和使用的多任务操作***中执行,所述仿真器包括有:
块存储文件,具有与所述非本机多任务操作***兼容的结构,用于包容所述逻辑块;和
地址映射例程,与所述块存储文件协同操作在所述本机直观显示对象文件与所述实时过程控制***(100)之间进行调整,以允许它们根据所述地址指针进行数据通信,所述地址映射例程推导出对应于所述块存储文件中特定逻辑块的所述地址指针的偏移量,所述块存储文件和地址映射例程由此可替代所述海量存储装置而无需对所述直观显示对象文件进行修改。
优选地,所述多任务操作***为WindowsNT。
优选地,所述块存储文件被存储在一非本机海量存储装置上。
优选地,在所述多任务操作***中执行的其他例程能与所述地址映射程序共同利用所述块存储文件。
优选地,所述特定逻辑块为256字节长。
优选地,所述块存储文件被存储在单一的物理盘驱动器上。
优选地,还包括一第二块存储文件,所述地址映射例程可相应地与所述第二块存储文件协同操作在所述本机直观显示对象文件与所述实时过程控制***(100)之间进行调整以使它们之间能作所述数据通信。
因此本发明的好处是仿真一已有***,在该***上对象文件被设计运行以避免手动翻译或再开发同一文件的费用。
本发明的***由此可允许非本机的计算机显示图像、与实时过程控制***作数据通信并解释由非本机指示装置接收的数据。
因此,本发明引入一种针对直观显示对象文件仿真一环境的途径,这避免了拥有者必须重新设计在此非本机计算机上运行的直观显示对象文件。如上述,直观显示对象文件的重新设计费时且昂贵,并可能导致意料不到的无法检测的、但却很关键的本机的与重新设计的直观显示对象文件之间的差异。这些差异可能引起被控制工厂的运行中的微妙的很可能有害的改变。
因此,凭借本发明提出的仿真的优点,拥有者可节省重新设计的时间和成本,而操作人员能确信不会引入由于重新设计带来的偏差,降低操作人员的维持时间和保证设备继续如所期望地运行。
在本发明这一方面的优选实施例中,本机的环境是在小型计算机上实现的,而非本机的计算机则基于微处理器。当然,大型高速机或其他型式的计算机也能提供本机环境。但一般复杂的实时过程控制***均是采用小型机的。非本机计算机最好为一个人计算机。
在本发明这一方面的一优选实施例中,绘图命令是针对全屏幕直观显示的而非本机直观显示则是窗口化显示。计算机技术的熟练人员对窗口式直观显示及它们在灵活的和能以直觉地理解方面向操作人员传递信息上的优点是熟知的。本发明的这一实施例使得迄今被限定为占据整个直观显示器的直观显示能填充一窗口。这就使得直观显示的其余部分能为其他例程自由应用并使得窗口能按操作人员所希望的重定大小或加以封闭。
在本发明这一方面的一优选实施例中,地址指针对应于实时过程控制***中的物理地址。通常,地址指针直接映射到实时过程控制***的部件上(例如传感器和可控制设备)。但对本技术领域的熟悉人员会理解,可以采用简单或复杂的地址翻译方案来使地址指针在寻址部件中起更灵活的作用。
在本发明这一方面的一优选实施例中,非本机指示装置为-鼠标。当然,此非本机批示装置也可以是-跟踪球、跟踪板、游戏杆等。但此非本机指示装置不是触感屏,因为触感屏相对直观显示对象文件是本机的。
在本发明这方面的一优选实施例中,地址映射例程允许直观显示对象文件与实时过程控制***之间能作双向数据通信。这使数据能从实时过程控制***的部件写入和读出。当然,本发明的广的领域也支持单向数据通信,例如用于数据采集或遥测***。
在本发明这方面的一优选实施例中,此***与一在非本机计算机上执行的多任务操作***相结合运行。此多任务操作***有利地提供并行任务执行,允许操作员利用非本机计算机监视和控制工厂,而同时进行其他任务,例如写便笺式记录,安排会议,或作与实时过程控制***的运行相关的历史数据的备份。
在本发明这方面的一优选实施例中,绘图命令、地址指针和规则在直观显示对象文件中的独立对象中实现。本技术领域的熟练人员熟悉面向对象编程的基本原理及优点。本发明优先地利用直观显示对象文件中的对象。但本发明的广的范围内也包括其他编程范例,例如过程(原始范例)和声明(例如在专家***所采用的)。
在本发明这一方面的一优选实施例中,非本机计算机包括有能仿真可擦除媒体海量存储装置的虚拟存储装置仿真器,此仿真器与地址映射例程协作运行来提供直观显示对象文件与实时过程控制***间的数据通信。本发明的这一方面使得与本机环境(即一特定类型的海量存储装置例如Bernoulli驱动器)相联的硬件装置能全部用软件进行仿真。这使得非本机计算机能尽可能地脱离通常的小型或主机计算机硬件。
在本明这一方面的一优选实施例中,此***在非本机计算机上执行的WindowsNT操作***(可由Microsoft得到)中执行,此操作***提供用于在直观显示对象文件与实时过程控制***之间进行数据通信的通道。本技术领域的熟练人员熟悉WindowsNT及其优点。但本发明的广的领域将包括能在任何操作***中执行的***,例如OS/2,Syctem7,UNIX或DOS。
在实现以上基本目的中,本发明还有另一方面为了在具有多个可通过存储在本机格式化的可擦除媒体海量存储装置中的逻辑块来寻址的部件的实时过程控制***中的应用,提供可在一非本机的多任务操作***中执行并可代替海量存储装置应用的仿真器。此仿真器包括:(1)块存储文件,具有与非本机多任务操作***相兼容的结构,用于包含逻辑块;和(2)地址映射例程,作为本机直观显示对象文件中的地址指针的函数,与此块存储文件协作和在本机直观显示对象文件与实时过程控制***之间进行调整以使得它们之间能进行数据通信。此地址映射例程推导出针对对应于此块存储文件中一特定逻辑块的地址指针的偏移量,由此该块存储文件和地址映射例程就可能替代海量存储装置而无需修改此直观显示对象文件。
因此本发明的这一方面就提出了一种免除实际上要由非本机操作***来驱动海量存储装置的海量存储装置仿真器。依靠软件仿真海量存储装置,给此非本机操作***在其能管理其中的逻辑块的方式上提供了很大的灵活性。
在本发明这一方面的一优选实施例中,此多任务操作***为WindowsNT。本发明又是优先利用一广为公知的、被充分了解的、有效的现代操作***。但在很广的范围上本发明包括可在任何操作***中执行的***,例如OS/2,System7,UNIX或DOS。
在本发明这方面的一优选实施例中,块存储文件被存储在一非本机海量存储装置上。此存储装置可以是一软盘或硬盘驱动器或一光学、磁光的或磁带驱动器。但是非本机海量存储装置不是对直观显示对象文件具有本机的格式的Bernoulli驱动器。
在本发明此方面的一优选实施例中,在多任务操作***中执行的其他例程均能与地址映射例程同时利用块存储文件。虽然在本发明广的范围上并非必须的,而并行应用使得能作数据复制和备份,工厂状态报告等等。
在本发明这方面一优选实施例中,特定的逻辑块为256字节长。本发明在广的范围上包括不只256字节的逻辑块长度和可变逻辑块长度,以适合于给定的应用。
在本发明这一方面的一优选实施例中,块存储文件被存储在单一的物理盘驱动器上。但块存储文件可以存储在多个物理盘驱动器。
在本发明这方面的一优选实施例中,仿真器还包括一第二块存储文件,地址映射例程,该例程能有选择地与此第二块存储文件协作来在本机直观显示对象文件与实时过程控制***之间进行调整以便使它们之间能作数据通信。因此本发明此实施例能应用多重块存储文件。这在修改实时工厂控制***或在控制多个这样的***时是有利的。
在另一方面,本发明提供实现上面提出的两个方面之一或两者的实时过程控制***。
应用或配置本发明的有利实施方案是使用软件。软件实施方案包括有多个被存贮到通常的存贮媒体的处理***指令。优选存贮媒体无限制地包括磁的、光的和电的,以及它们的恰当配置的组合。处理***指令可被一个或多个以上说明的处理***读取并执行以在一非本机计算机上仿真对一实时过程控制***和一利用此仿真器的实时过程控制***的直观显示对象文件的本机环境进行仿真。在替代实施例中,固件或硬件也可恰当地被用来实现本发明的原理。
前面已经较广地概括了本发明的特点和技术优点,从而使熟悉本技术领域的人士将能更好地理解随后对本发明的详细说明。后面将说明构成发明权利要求的主题的本发明的附加特点和优点。熟悉本技术领域的人士将会理解他能容易地利用所提示的原理和特定实施方案作为基础进行用于实现本发明的相同目的修正或设计其他结构。熟悉本技术领域的人士也会认识到这样的等同结构并不背离最广泛形式中的本发明的精神实质和范畴。
附图说明
为更全面理解本发明及其优点,参考结合所列的附图所作的详细说明,附图中同样标号表示相同或等同的对象。所列附图为:
图1表明一提供本发明可能被应用中的环境的过程控制***的方框图;
图2表明按照本发明的一示例直观显示;
图3A表示操作非本机计算机以提供一种在此非本机计算机上仿真实时过程控制***和利用此仿真器的实现过程控制***的用户接口对象文件的本机环境的途径的示例操作方法的流程图;
图3B表明按照本发明的原理操作图3A此非本机计算机以提供在此非本机计算机上仿真一本机可擦除媒体海量存贮装置的示例操作方法的流程图;
图4A(1)~4A(3)表明提供本发明可在其中实现和运行的适当环境的三个示例计算机网络拓朴结构;
图4B表明提供本发明可在其中能适当地实现和运行的环境的通常计算机的等比例示图;
图4C表明可与图4B计算机适当地结合来提供本发明可在其中适当地实现和运行的环境的示例处理电路的高层方框图;
图5表明一按照霍尼韦尔公司TDC 3000平台的示范通用站仿真器的原理方框图;
图6表明按照本实施例的TDC 3000平台的图5的通用站仿真器的示范环境和设备接口层的原理方框图;
图7表明一按照本发明原理的示范仿真器线程模型的原理方框图;和
图8表明按照本发明的原理的PCI(***控制器接口)驱动器的示范功能设计模型的原理方框图;
具体实施方式
在说明本发明的***和方法之前,了解本发明可在其中应用的***环境将是有用的。因而首先参照图1,表明一在其中可看到本发明的***和方法的过程控制***100的方框图。过程控制***100包括一借助网络接口模块(“NIM”)140和高速网关(“HG”)145通过一通用控制网络(“UCN”)130和数据高速路135分别耦合到多个过程控制器120、125的工厂控制网络110。如果希望的话,还可将其他的过程控制器与工厂控制网络110实施连接。过程控制器120、125将模拟输入、输出信号和数字输入、输出信号(分别为“A/O”、“A/I”、“D/I”、“D/O”)由多种现场装置包括阀门、压力开关、压力计、热电偶等等接口到过程控制***100。
这里所用的术话“包括”、“包括有”是指无限定的包括;这里所用的词语“与……相关连”以及其他派生词是指包括在内、与之相连接、含有、被包含在之中、连接到或与之连接、耦合到或与之耦合、能与之通信、并置、与之协作、交替、为一种特性的、被约束到或与之相密切相关、等等;而术语“或”在这里工厂用为包括在内,意即和/或。
工厂控制网络110结合工厂操作员(未图示)提供对被控制过程的全面监控,和获取为进行此监控功能所需的所有信息,并包括有与此操作员的接口。此工厂控制网络110包括有多个物理模块,其中有通用操作员站模块(“US”)150,应用模块(“AM”)160,历史模块(“HM”)170,计算机模块(“CM”)180和可能为进行被控制过程的所需控制/监视功能所需要的这些模块的备件(和其他类型模块,未图示)。这些物理模块均被有效地连接到使这些模块的每一个均在需要时能互相通信的本地控制网络(“LCN”)190。NIM140和HG145分别提供LCN190与通用控制网络130和数据通路135之间的接口。
工厂控制网络110的每一个物理模块150、160、170和180包括其独特地功能性。而且,物理模块150、160、170、180为了在它们之间传送信息对过程控制***100的通信媒体或LCN190的同样访问是相互相同的或对等的。
工厂控制网络110的通用操作员站模块150是用于一或多个工厂操作人员的工作站。它包括有作为工厂操作员或操作员与他们负责的工厂的过程之间的接口的操作员控制台。各通用操作员站模块150和任何备用模块(未图示),例如,被连接到LCN190,通用操作员站模块150与工厂控制网络110的任一其他模块(例如AM160、HM170、NIM140)包括任一备用模块(未图示)之间的所有通信均借助LCN190。通用操作员站模块150访问LCN190的数据和资源以及通过或来自工厂控制网络110的任一其他模块的可用数据。各通用操作员站模块150包括有一视觉表述,例如包括有通常的显示装置,这进而包括例如一视频显示发生器,操作员键盘,软盘数据存贮装置,方位笔记录器,状态显示器等(未图示)。
在本发明的优秀实施方案中,本发明的***和方法可被实现在作为至少通用操作员站模块150的一部分的非本机计算机环境中。这在后面更详细地讨论。
工厂控制网络110中包括的另一类型的物理模块是提供海量数据存贮能力的HM170。各HM170至少包括有一个能提供很大容量二进制数据存贮能力的通常的磁盘海量存贮装置。由这样的海量存贮装置存贮的数据型式通常为趋向历史或可由之确定这样的趋向的数据,组成或构成显示的数据,用于对模块(例如通用操作员站模块150、AM160)的过程控制器120、125的单元的或用于工厂控制网络110的模块的单元的程序的拷贝。
结合进工厂控制网络110另一型式模块是AM160。AM160在支持由过程控制器120、125执行的过程控制功能中方面提供附加数据处理能力,例如数据采集、报警,批量历史收集和在需要时提供连续控制计算设施。AM160的数据处理能力由其模块处理器和模块存贮器(未图示)提供。
CM180可利用所有物理模块的标准或公共单元来使得一中等至大规模的通用数据处理***能与工厂控制网络110的其他模块(例如通用操作员站模块150、AM160)和分别通过LCN190与这些模块的单元及通过NIM140或HG145与过程控制器120、125的单元进行通信。CN180的数据处理***被用来提供监控、优化;综合化用户程序准备和这样的程序在高级程序语言中的执行。一般,CM180的数据处理***具有利用通信处理器和通信线路与其他这样的***通信的能力,这在本技术领域中是熟知的。CM180可包括有数种计算机和操作***之一。例如CM180中可采用霍尼韦尔DPS-6计算机。
应指出,虽然本发明原理是在一本机通用操作员站模块150的至少一部分的非本机计算机上的仿真中提示的,但过程控制中心100的任一模块也可至少部分地适宜于在一利用过程控制***100的适宜功能的非本机计算机上仿真。还应指出,这里应用的术语“计算机”可包括单一的“独立应用”计算机,以及协同操作计算机的网络,或其一部分。
本实施例的LCN190可利用将工厂控制网络110的所有模块(如通用操作员站模块150、AM160)相互连接的高速位串行双冗余通信总线。LCN190提供主要数据源如NIM140、HG145、AM160和HM170与这些数据的主要用户如通用操作员站模块150、AM160和CM180之间唯一数据通路。LCN190还提供可通过它将大数据块如存贮器图象由一模块如HM170转移到另一模块如通用操作员站模块150的通信媒体。
本实施例工厂控制网络110的每一物理模块(例如通用操作员站模块150、AM160)包括一定的或所要求的标准单元。对工厂控制网络110和物理模块的更全面的说明可参看美国专利No.4607256、5333298和5386503,它们全都在此被结合作全文参考。
现在回头看图2,说明按照本发明的一示例直观显示。这一般以200指明的直观显示以图形方式传送发生在一工厂(未图示)中的简单化学过程给用户,使得用户能控制此过程。直观显示200包括采用容纳液体的桶的基本形状的第一图形元素210,它对应于并象征此工厂中的第一个桶(未图示)。同样,第二图形元素220采用一液体桶的基本形状并对应于和象征此工厂中的第二个桶(未图示)。第三图形元素230采用用于控制液流速率的阀门的基本形状并对应于和象征此工厂中一阀门(未图示)。最后,第四和第五图形元素采用管道断面的基本形状并对应于和象征此工厂中的分别将第一桶连接到阀门和将阀门连接到第二桶的第一和第二管道断面。
此简单的化学过程可以如下述。第一桶中含有催化剂。在第二桶中发生发热式化学反应。图1的过程控制***100监视第二桶的温度并控制阀门来调整第一桶中所含液体从第一桶到第二桶的流通。在此过程中,如果第二桶中的温度认为太低,就增加引入其中的催化剂,以此增加热的生成和桶温。同样,如果认为第二桶的温度太高,就减少引入其中的催化剂,由此来降低热的生成和桶温。
因此对于这一示例重要的是,直观显示200至少要指示第一和第二桶的温度。这些值被分别标为260和270。而且还希望表明第一和第二桶双方的液体平面以保证液平面不超出能容纳的范围。这些值被分别指定为280和290。
在图1的设备控制***100内部存在一直观显示生成程序,而更具体说即为示范的通用操作员站模块150。如前已说明的,此程序利用一直观显示对象文件结构来生成图2的直观显示200。因此此直观显示对象文件应包含生成直观显示200所需的数据,包括用于生成第一、二、三、四和五图形元素210、220、230、240和250的数据以及为获得温度和液体平面指示器260、270、280和290所需的数据(地址指针等)。这些数据被按照标准结构集中组织在直观显示对象文件之中。
现在看图3A,表明操作一非本机计算机以提供一种在此非本机计算机上对实时过程控制***和应用此仿真器的实时过程控制***的用户接口对象文件例如一直观显示对象文件的本机环境进行仿真的途径的示例方法(一般标注为300)的流程图,所有均按照本发明的原理。
如上面所说的,本发明一优异实施方案可以用软件实现,但可替换实施方案也能适宜于以固件、硬件或三者的某种组合来实现。因此,示范方法300可在一通常的计算机或处理***(一般标注为305)中,特别是与通常的处理电路(一般标注为310)相关连。
为了说明,此本机环境可以是图1的示范通用操作员站模块150而用户接口对象文件则可以是与之相关的直观显示对象文件。此直观显示对象文件可以是由非本机计算机305本机生成的,由LCN190接收的,或者它们的某种组合。直观显示对象文件包括为产生至少一部分本机计算机显示所需的数据,并可优先地连到一绘图命令、用于与实时过程控制***例如图1的过程控制***100作数据通信的地址指针、和用于解释由相应的通常显示装置的触感屏接收的数据的规则。
开始,用户“引导”非本机计算机305,最好促成方法300的执行(处理步骤315)(此优异实施方案的引导过程将在后面详细说明)。应指出的是,非本机计算机305与过程控制***10的大部分相关连并在其中替代常规通用操作员站模块150。处理电路310执行方法300,初始化直观显示对象文件的处理(处理步骤320)。非本机计算机305可适当地为一或多个基于微处理器的计算机,当然主机或其他类型计算机也是适用的。非本机计算机305可通过用来将非本机计算机与LCN190进行接口的应用的专用电路来与过程控制***10相连系。这一电路的有利实施方案是一LCN处理器板(“LCNP”),它是美国专利申请Serial Nos.的主题(Attorney Docket No.I2000151)和(Attorney Docket No.I2000152)名称分别是为“分布式过程控制***的改善UOS模块”和“控制电路”,与本申请同时递交并在此结合作为全文参考。
示范方法300包括一显示例程,运行来促使非本机计算机305控制一耦合到它的通常的非本机直观显示器显示至少作为绘图命令的函数的图象(过程步骤325)。按照所说明的实施例,此绘图命令可指向全屏幕直观显示而此非本机直观显示则是窗口式显示。窗口式直观显示和它们在传送信息给操作人员的灵活性和便于形象地理解方面的优点是众所周知的。这一实施方案使得在此之前被限定于占据整个直观显示器的直观显示能填充到一窗口的范围内由此空闲直观显示器的其余部分可以用于其他的例程并使得窗口能按操作员的希望简化为一个图标,重定大小,加以封闭等等。
示范方法300包括有一地址映射例行程序,运行来使得非本机计算机305在直观显示对象文件与实时过程控制***100之间作为地址指针的函数进行数据通信(处理步骤330)。按照所述实施方案,此地址指针可适当地对应于实时过程控制***100中一物理地址。通常,地址指针直接映射到实时过程控制***100的部件(例如传感器,可控设备等)。但熟悉本技术领域的人士会理解,简单或复杂的地址翻译方案可优先地用来使地址指针在寻址部件中起更灵活的作用。
按照优秀的实施例,地址映射例程使得能在直观显示对象文件与实时过程控制***100之间作双向数据通信,由此而使得数据既能被写入到又能由实时过程控制***100的部件读出。所说明的实施方案也支持单向数据通信。
示范方法300包括有一输入翻译例行程序,运行来将从一耦合到它的非本机指示装置接收进非本机计算机305翻译成为适宜于由规则解释的数据,由此使非本机计算机305能显示图象,与实时过程控制***100作数据通信和解释由非本机指示装置接收的数据(处理步骤335)。按照所述实施例,此非本机指示装置为一鼠标,跟踪球,跟踪板,游戏杆,非本机触感屏,等等。
可取的是,非本机计算机305可与一多任务操作***相关连。此多任务操作***有利地提供并行任务,使得一操作人员能利用此非本机计算机监视和控制与过程控制***100相关的设备,而同时能进行其他任务,例如写便笺、安排会议,发送电子邮件,备份与此实时过程控制***100有关的历史数据,等等。
此多任务操作***可以是一在非本机计算机305上执行的、其间提供在直观显示对象文件与实时过程控制***100之间数据通信的通道的指示WindowsNT操作***(由Microsoft Corp of Redmond,Washington作市场供应)。其他优秀的实施例可使用多任务操作***OS/2、System7、UNIX、DOS等。
所述实施方案引入一种仿真用于一用户接口对象文件例如此示范直观显示对象文件的环境的途径,它免除持有者不必须重新设计在非本机计算机上起作用的同一环境。如上述,用户接口对象文件的重新设计既费时又昂贵而且还可能导致意外的、无法检测、但很关键的原始的与重新设计的用户接口对象文件之间的偏差。这些偏差可能引起微妙的可能有害的被控工厂的运行中的改变。
如后面将更详细讨论的,本发明的一重要方面是,绘图命令、地址指针和规则可放置在直观显示对象文件内独立对象中。本技术领域熟悉人员对面向对象编程的基本原理及其优点是了解的。本发明可优先地利用直观显示对象文件中的对象。但本发明在很广的范围上也包括其它编程策略,例如过程(原始范例),声明(如专家***中所用),等等。
现在再看图3B,表明操作一非本机计算机305以提供一种在非本机计算机305上仿真一本身可擦除媒体海量存贮设备的途径的示范方法(一般标注为303)的流程图,此仿真器与地址映射例程协作(在步骤330开始)来(按照本发明原理)提供直观显示对象文件与实时过程控制***100之间的数据通信,所述实施例的这一方面使得与本机环境(即一特定类型的海量存贮设备例如一本机Bernoulli驱动器)相关连硬件装置可被整个地以软件仿真。这使得非本机计算机能尽可能地与通常的小型或主机计算机硬件脱离。
本发明的此所述实施例仍然以软件实现。因此,示范方法300在非本机计算机305中并特别与处理电路310相连中实现和运行。
在一非本机的多任务操作***中,非本机计算机305将块存贮文件存贮在一非本机的海量存贮设备上,例如一软盘或硬盘驱动器或一光学、磁光的或磁带驱动器,甚至例如一非本机的Bernoulli驱动器。为开始仿真此海量存贮装置,与此块存贮文件相关连的地址映射例行程序促使计算机305截取此本机直观显示对象文件的一地址指针(处理步骤340)。
计算机305由地址指针推导出对应于此块存贮文件中一特定逻辑块的偏移量(处理步骤345)。此块存贮文件优先地包括有与此非本机的多任务操作***相兼容的并包含逻辑块的结构。当然,在替代实施例中,可能有多个块存贮文件,而地址指针可对应于第二、第三等的块存贮文件中的特定逻辑块。
计算机305访问作为此偏移量的函数的块存贮文件(联机存贮步骤350)。因此地址映射例程与块存贮文件协同运行并在本机直观显示对象文件与实时过程控制***100之间进行调整来使它们之间能作为本机直观显示对象文件中的地址指针的函数进行数据通信。地址映射例程由地址指针推导出对应于块存贮文件中一特定逻辑块的偏移量,由此而能无需修改直观显示对象文件而替代海量存贮装置。
所述实施例引入一种免除了实际需要以非本机操作***驱动海量存贮装置的海量存贮装置仿真器。依靠以软件仿真海量存贮装置,非本机操作***即在它能管理其中的逻辑块的方式上提供巨大的灵活性。
重要的是应注意到,示范性非本机计算机305能适当地结合多任务操作***运行来与地址映射例程并行地执行能利用块存贮文件的多任务操作***中其他例行程序(处理步骤355)。虽然对本发明广义上说不是必须的,但并行利用可以作数据复制和备份,工厂状态报告等等。
按照后面将讨论的一优选实施例,此特定逻辑块为256字节长,虽然本发明为适应给定的应用程序还包括非256字节长的固定的逻辑块和可变长的逻辑块。应注意到所述实施例的块存贮文件可以存贮在一单一物理盘驱动器上或存储在多个物理盘驱动器上。
如果此示范仿真器包括多于一个的块存贮文件,地址映射例程就能相应地与第二块存贮文件协同操作在本机直观显示对象文件与实时过程控制***100之间进行调整以使它们之间能作数据通信。这一实施方案使得能应用多个块存贮文件,而这在修改实时设备控制***100时或在控制多个这样的***时可能是有利的。
现在看图4A(1)~4A(3),表明三个提供本发明可在其中适当地实现和运行的合适的非本机计算机环境的示范计算机网络拓朴结构305。更具体说,图4A(1)表明一通常的总线拓朴结构;图4A(2)表明通常的环型拓朴结构;和图4A(3)表明一通常的星型拓朴结构,所有这些均是本技术领域中公知的。其他可替代的网络拓朴结构以及它们的恰当组合也是本技术领域中公知的。
现在看图4B,表明一通常的计算机305的等比例视图,例如象PowerPC这样的个人机(“PC”),它提供本发明可在其中适当地实现和运行的一示范非本机计算机环境。由于本发明不限于个人计算环境中的应用,所以图4B仅只是说明性的。
示范PC305包括一显示装置或监视器410,一其中有各种电子部件的主机架420(参照图4C讨论),和多个示范的通常的用户接口,包括一键盘450和鼠标460。
显示装置410、键盘450、和鼠标460协同操作来使PC305与用户(未图示)间能进行通信。主机架420示例性地包括有一专用硬件复位开关430(运配来当用户按压复位开关430时触发主机架420内的硬件复位电路(未图示)以重新引导或重新启动PC305)和一功率开关(能中断和恢复PC305的电源)。功率电源的中断和恢复使得PC305重新启动。
显示装置410在PC305内执行的一通常的图形用户接口(“GUI”)操作***(未图示)的控制下提供用于图形数据显示用的区域200。GUI操作***管理在PC305上执行的各种应用任务例如示例仿真方法300和303之间的计算机资源的分配。GUI操作***可运行以将显示装置410的区域200分成相应排列的显示对应于每一应用任务的数据的窗口。各个窗口可被适宜地允许根据用户的希望占据显示装置410上提供的区域200的一部分或整体。各个不同的窗口可适当地或者整个地或者部分地互相封闭。
尽管已总体上利用示范网络305和PC305说明了非本机计算机305,应当指出本发明的原理可以采用任一相应排列的计算机***在非本机计算机305上仿真实时过程控制***的用户接口对象文件的本机环境,例如包括膝上/笔记本式、小型、主机和超级计算机,以及象局域、都市区域和广域网等的计算机网络。
看图4C,表明一示范处理电路(一般标明为310)的高层方框图,它可适当地结合一计算机例如一PC305来提供一本发明可适合于在其中实现和运行的非本机环境。处理电路310说明性包括有一处理器470,通常的随机存取存贮器(“RAM”)475,总线控制器电路480,通常的只读存贮器(“ROM”)485,通常的视频随机存贮器(“VRAM”)490和一组外设端口495。给出一示范主机总线495,适宜于结合处理器470、RAM475和总线控制器电路480运行。给出一示范输入/输出(“I/O”)总线498可结合总线控制器电路480、ROM485、VRAM490和该组外设端口495运行。这组外设端口495可适当地将I/O总线498耦合到多个通常的被作适当配置的外设装置中的一个或数个以便与其进行。在这组外设端口495中所包括的相应有一或多个串行或并行端口,例如常规PCI槽。事实上,下面讨论的一优选实施例利用此PCI槽将计算机305通过应用专用电路LCNP与过程控制***相联,如美国专利申请Serial Nos.(Attorney Docket No.I20001514)和(Attorney Docket No.I2000152)中提示的,它们均已在此结合作全文参考。
总线控制器电路480提供可将主机总线497与I/O总线相连系的适当装置,由此提供对它们之间通信的通路和管理。所述总线497和498每一个均需要驱动电流来运载其上的信号。因而此说明性电路与提供此所需驱动电流的通常的***控制器(未图示)相结合运行。当然,具有单一总线或多于3个总线说明性电路可适当地实现。
按照所述实施例,示例RAM475可适当地至少部份适配以用于存储由处理器470执行的任务。处理器470可在执行一或多个存贮任务时可运行来访问示范VRAM490以在显示装置410的区域200中显示数据。如上所说的,一或多个这些任务可恰当地体现本发明的原理对实时过程控制***的用户接口对象文件仿真本机环境。
在替换的有利实施方案中,处理电路310以及应用外设端口495的应用专用电路,整个或部分地可由任何合适的处理配置代替或组合,包括可编程逻辑设备,例如可编程陈列逻辑(“PAL”)和可编程逻辑陈列(“PLA”),数字信号处理器(“DSP”),现场可编程门陈列(“FPGA”),应用专用集成电路(“ASIC”),大规模集成电路(“LSI”),超大规模集成电路(“VLSI”),以构成这里所述和所要求的各种型式的电路。
William Stallings著的”“计算机组织和结构””(MacMillanPublishing Co.出版,1993第三版)中更全面地讨论了通常的处理***体系结构;Darren L.Spohn著的“数据网络设计”(McGraw-Hill,Inc.出版,1993)中较全面地讨论了通常的处理***网络设计;和R.D.Gitlin,J.F.Hayes和S.B.Weinstein著的“数据通信原理”(Plenum Press出版,1992年)和James Harry Green著的“The Irwin远程通信手册”(Irwin Proffessional Publishing出版,1992年第二版)中较全面地讨论了通常的数据通信。上述刊物均在此结合作为全文参考。
在着手讨论与实时过程控制***的霍尼韦尔公司TDC 3000平台相关连的本发明一优选实施例之前,应了解以下术语的意义:“本机窗口”可以指提供一通常的NTWindows中一标准TDC通用站(图1的通用操作员站模块150)显示的任何功能,其中的功能性支持显示、选择和输入动作;“仿真器”可以指在非本机NT环境中运行的软件代替存在于通常的通用操作员站模块150中的物理硬件而动作,被仿真的装置的示例为视频、触摸屏、键盘、磁盘等;“Daemon(数据自适应鉴定监视器)”可以指为高级应用程序提供对通常的TDC存贮器的中级接口因此可称之为由通常的UXS环境移植的软件接口程序的在非本机NT环境中运行的软件;“PCI”是指被用在“PCI BUS”计算机305的后板上的通常逻辑总线协议;“LCNA”是与LCNP为同义语,可以指一当***进一适当的NT站305的PCI槽中时操作来运行TDC软件的Local Control Network Aclapter(局部控制网络适配器)板(US专利申请Serial Nos(Attorney Docket No.I2000151)和(Attorney Docket No.I2000152)中揭示的应用专用电路,LCNP);“UntS”指基于提供通用操作员站模块150功能性的计算机***305的WindowsNT;“SCSI”指定义一用于接口如磁盘、磁带、CD驱动器等的外设的外设总线和命令集的小型计算机***接口(ANSI标准X3.131-1986);“工作站接口”(“WSI”)可以指共享存贮器被用来实现高速的面向信箱传递消息接口时的一TDC与一工作站(按照现在情况为NT)之间的用户板接口;“工作站接口”(“WSI”)可以指共享存贮器被用来实现高速的面向信箱传递消息接口时的一TDC与一工作站(按照现在情况为NT)之间的用户板接口;和“ClientArea(客户区)”可以指除滚动条、标题棒、菜单区、工具条、控制按钮、状态区等等外的在NTWindows中的区域200。
TDC 3000平台实施例的设计概念包括一GUS Native Window(本机窗口)功能,它提供由US 150所要求的TDC硬件环境的仿真,以使它们将在提供标准TDC处理器和LCNl90硬件等效件的设置有PCI的LCNP板中运行,一般存在的其余硬件(即:键盘、触摸屏、视频显示、SCSI盘,ASPI打印机等)将由NT环境的软件仿真并满足以下二标准:通常的TDC软件(1)可成功地执行,和(2)可以对通常的TDC操作人员极为熟悉的方式由NT运行。因此可期望此仿真将最小地改变通常的TDC软件。
现在看图5,表明一按照本实施例的TDC 3000平台与非本机计算机305相关联的示范通用操作员站模块150仿真器的原理方框图。此实施例提供WindowsNT环境的应用窗口之内的TDC 3000平台生成的通用操作员站模块150显示200-“Native Window(本机窗口)”。为在这一窗口中的交互作用,提供支持以使操作人员能以基本上与通常所完成的同样方式操作通用操作员站模块150,即,显示基本上相同,暗示在很大程度不改变,通过过程控制***100的导航是熟悉的,等等。
此实施例的另一目的的提供TDC 3000平台生成的通用操作员站模块150对WindowsNT环境的其他功能如Multiple Schematics(多重略图)等的访问。这是希望以同一共用支持机制支持Native Window需要和应用需要双方。
示范非本机计算机305表明一分层的体系结构,概念上将通常的GUS环境分成为4个示范层,即,一应用层,一环境层,一设备接口层和一物理层。此应用层包括多重略图和其他高级功能。环境层包括多个仿真器(例如本机窗口)和应用服务器和Daemons(提供针对应用层功能的TDC对象的数据访问)。物理层包括提供现有TDC软件执行的TDC 3000环境兼容计算机卡。H-HAL层包括WindowsNT驱动器支持它通过PCI总线提供存储器和子进程到TDC3000环境的访问。
为了讨论,探讨在用户的非本机计算机305与TDC 3000平台之间的多种情况或交互作用是有得的,
用户接通与TDC 3000过程控制***相关连的WindowsNT非本机计算机的电源
假设目前为切断电源的非本机计算机300被接通电源。WindowsNT操作***开始引导和启动,包括通常TDC 3000平台GUS支持服务的初始化,和LCNP板(美国专利申请Serial Nos,(Attorney DocketNo,I2000151)和(Attorney Docket No,I2000152)中揭示的应用专用电路)开始电源通初始化程序。
WindowsNT非本机计算机305保持TDC 3000平台复位状态,WindowsNTEmulator Service(仿真器服务)开始。Common BoardResponse,(公共板响应“CBR”)***启动,并连接到PCI驱动器(对SCSI的连接和对Peripheral display Generator(外设显示发生器“PDG”)的连接)。CBR启动一指定的仿真器,完成初始化和清除LCNP上的任何“RESET(复位)指示”,由此使得LCNP能运行通过引导过程。
用户关断电源和重新起动与TDC 3000过程控制***相关连的WindowsNT非本机计算机
WindowsNT***给用户一“严历”警告,即这一动作将终止LCNP板中的操作。如果用户仍然希望进行重新引导,即由CBR软件在切断服务之前发送一BOARD RESET(板复位)到LCNP板。WindowsNT***进行其正常的关断并可选择地重新起动。如如选择重新起动,即进入以上定义的程序。
用户关断TDC3000过程控制***电源并有选择地重新引导运行TDC3000过程控制***
如果本机窗口中发生关断,此关断由TDC初始化而WindowsNT预先不知道此事件。TDC发信号到WindowsNT,和WindowsNT无需终止此Native Window应用程序或EmulatorService(仿真器服务),预料到可能的TDC***重新引导。
如果是通过WindowsNT中一应用程序出现一关断请求,此LCNP就将被发送一“SHUTDOWN”消息,它将使TDC重新进入固件等待装载请求。
用户利用一指示装置“触摸”或实际触摸屏幕
如果用户在WindowsNT屏幕上按击鼠标,则仿真器即发送一光标定位命令到TDC。在光标通过屏幕移动时它将改变形状来反映它是否跨过一对象。如果一“按击”事件出现在一对象上,TDC即作正常响应,相应地产生一新屏或其他数据。
如果用户在Native Window(本地窗口)的客户区触摸或按击,则传送二个事件到TDC:(1)光标移动到所触摸位置事件,和(2)在此位置的检取事件。
TDC按照Native Window的当前内容作出应答。此应答通过更新所显示图象的命令传送给Native Window。
用户按键输入
在WindowsNT中,仅有一窗口在任何给定时刻具有输入焦点。此具有输入焦点的窗口接收键盘事件。这样,Native Window应用程序在其具有输入焦点时响应键盘的操作。当发出击键操作同时Native Window具有输入焦点时,此击键信号即被根据应用中键盘的类型变换到适当的TDC键代码。此经变换的键代码被传送到TDC。TDC以就象此击键信号是在一附着到通常的通用站键盘的对应键盘上输入那样完全相同方式响应。
例如,TDC执行任何为此被按压按钮所调用或配置的操作。TDC送出用来相应地更新Native Window的适当命令。
在光标停留在通常的TIP(事务接口处理)期间发出击键引起附加的处理。不管光标是否停留在一TIP中均将适当的键代码传送到TDC。但是当在TIP中时,TDC传送TIP处理命令到仿真器。TIP处理机构比标准屏幕更新更复杂。标准TDC绘图命令包含所有为处理此命令所需的信息。例如,一绘制文本命令包含要绘制的文本和要在其上绘制的屏幕座标。但是,由TDC发出的以返回字符进TIP的命令并不指明字符的去向。仿真器必须从一被TDC维护的通常的TIPContext Array(文本阵列)读取数据。此仿真器还必须保持一指明所有在屏幕上的TIP文本的屏幕图象表(存贮在TDC上)。由TDC发出TIP处理命令,例如Echo Character(回应字符),Erase Character(擦除字符),Erase Line(擦除行),Copy Line(复制行)等等。仿真器确定光标在哪一TIP中并执行适当的文本编辑功能和相应地更新屏幕。
仿真器启动
WindowsNT根据WindowsNTRegistry入口项在早期启动中起动一软件PCI驱动器。在此WindowsNT起动顺序中,自动地启动一称之为“Emutaler Service”的WindowsNT服务。这一服务的主程序首先将其内部数据库初始化为“空”然后读取指明需要哪些仿真器的配置信息。
按照所述实施例,对各存在的LCNP WindowsNT在至少三个CBR线程(一个用于SCSI,一个用于PDG,一个用于WSI2)上启动。
WSI、SCSI和PDG CBR线程启动它们各自的外设仿真器(键盘,视频装置,等),然后进入循环等待驱动器报告TDC写到I/O空间,包括命令。
仿真器线程对特定的槽地址范围感兴趣的CBR线程注册自己然后它们进入等待要进行工作的通知的无限循环。
由TDC发布的绘制命令
绘制命令被存贮在为传送到PDG所结集的“显示清单”指令的缓存器中。它们通过与一I/O控制Buffer(“IOCB”)相关连的缓存器传给PDG,其处理以针对PDG板的START COMMAND(启动命令)作初始化。
在WindowsNT一方,START COMMAND的发出产生一个到PCI驱动器的中断。它确定被写的地址(在此情况下为相关槽的命令寄存器),和读取此命令寄存器的内容(亦即命令)。检测到这是一命令寄存器写,它可确定第一IOCB的地址。然后确定哪一个CBR线程对该命令有兴趣,并“完成”它们的未完成的读请求。
按照所述实施例,一PdgThread是此通知的接收者,在发觉后确定哪一个单独的仿真器线程对处理这一事件有兴趣,并激活它们中的每一个在现在的情况下为Video Emulator线程。
当此视频仿真器线程激活和找到与由TDC生成的STARTCOMMAND相关的地址时,它利用数个可被作为对象实现的CBR库例程来访问作为这一命令的主题的IOCB和相关的缓存器。视频仿真器处理每一缓存器,按需要提取显示清单命令和执行相关的初始绘制。此初始绘制命令更新WindowsNT的Native Window。在缓存器具有所需的绘制命令时,通知CBR此缓存器被完全处理。进而CBR将IOCB状态返回到TDC和生成任何所需中断,发出表示绘制任务完成信号
某些命令,例如示范的Draw Text(绘制文本)和Draw Line(绘直线)命令导致直观屏幕的改变。其他的则改变影响随后的命令的可直观地感受到的特征(例如闪烁、彩色等)。
TDC导致对磁盘的写
在一指定设备上的一“逻辑扇区”发出来自TDC的写。此来自TDC的写请求导致建立写命令的SCSI IOCB,随后有对SCSI槽发出的START COMMAND(开始命令)。此写(操作)产生针对WindowsNT***的中断。WindowsNT***响应此中断,记录此START COMMAND,和指出已接收此命令。
缓存器被写到一WindowsNT文件***文件中的一个记录,其名称由IOCB中的单元号确定。要被写的此文件中的特定的256字节的记录是该请求中指定的逻辑扇区。
此文件有可能存在或不存在,对应于装置的是否被安装。一WindowsNT实体使用户能“安装”和卸载“磁盘”(被表示为WindowsNT文件)而不管它们的安装状态可能实际上保留在WindowsNT盘上(或者可通过作网络访问)。如果此文件不存在,即返回TDC一出错消息。如果文件存在且被安装,即可进行写。
此写操作是对由SCSI请求中所指明的逻辑扇区号指定的记录的256字节的写。此文件可能足够或不够包含这一记录的长度。如果它不够长,和此请求不是针对该“磁盘”的预先配置的最大长度的扇区,则此文件被伸展到所需长度和此扇区被写入。
在完成此操作后,返回到CBR更新IOCB状态来表明操作的结果,和如果特定IOCB要求时生成IOCB中断。
应指出,按照所述实施例,响应一单个的写命令和在此相关ICOB中所指定的扇区数可能写多个连续的256字节的块,。而且在替代实施例中,此256字节值也可作适当地变更。
TDC导致由磁盘的读
TDC Read命令与Write命令非常相似,但差别在于(1)用于读的缓存区无需转换到WindowsNT,而是代之以由WindowsNT磁盘文件读的数据被转变回到TDC存储器;和(2)如果由一超过当前文件长度(但在合法的预先配置的磁盘的最大长度之内)的扇区请求读,则返回一填满空的零记录,但文件不被扩展到此长度。
同样应指出,按照所述实施例,响应一单个读命令和在相关ICOB中指定的扇区数可读取多个连续的256字节的块。而且在替代实施例中,此256字节值也可作适当变更。
TDC导致打印屏幕
Print-Screen(打印屏幕)请求被Vidio Printer(视频打印机)仿真器截取,被识别为一屏幕打印,使得对打印机的I/O流(例如屏幕打印字符)被放弃以代替作为位映象被俘获的Native Window屏幕并通过通常的WindowsNT打印命令对话框被送往打印机。
TDC导致打印文件
取自打印命令的输出缓存器的字符被由ASPI解释成相当的WindowsNT字符,可能时,(1)文本字符被由TDC映射到WindowsNT格式并“印刷”在打印机复制表面上;(2)运送移动命令被映射在WindowsNT图形命令用于在此复制表面上移动;和(3)当前页面被传送到打印机,复位当前位置到一新的、空白的、页面大小的复制表面的左上角。
逻辑设计-最高层
现在回到图6,表明一按照本发明TDC3000平台的图5的通用操作员站模块150仿真器的示范环境和Device Interface(设备接口)层的原理方框图。全盘仿真器任务被分割成为下列三个分层次子***:(1)PCI Driver(驱动器);(2)Common Board Response(公共板响应);(3)Video Emalator(视频仿真器);(4)Keyboard Emalator(键盘仿真器);(5)Pointer Emulator(指示器仿真器);(6)PrinterEmulator(打印机仿真器);(7)SCSI Disk Emulator(SCSI磁盘仿真器);(8)Debug Port Emulator(调试端口仿真器);和(9)WSI2Emulator,下面分开讨论其中的每一个。
但首先应当提出,最下层和子***是作为一通过非本机计算机305的PCI总线与TDC相关连的实际的WindowsNT驱动器的PCI驱动器。它提供对包括Native Window以及存在于Application(应用)层中的Application Layer功能的设备仿真器双方的支持。中间层是仿真对所有板共用的通常的TDC模块总线板功能(了解命令、槽地址、IOCB、等)的Common Board Response。最上层由6个独立的设备仿真器组成:键盘,视频,指示器,SCSI,打印机,工作端接口(“WSI”),和调试端口。这些仿真器提供实际“应用功能”,即按照通常的TDC体系结构对每一被仿真的设备的最终服务。
PCI驱动器的设计
示范PCI驱动器被分成二个子***:(1)请求的对象仿问;和(2)非请求的对象访问。请求的对象访问管理那些由环境层初始化的环境层与物理层之间的交互作用。这些是由环境层的各不同仿真器要求的存储器访问(读和写两者)。非请求对象访问管理那些由物理层(即TDC)初始化的环境层与物理层之间的交互作用,例如通过TDC的槽地址写。
PCI驱动器中有二个数据库:(1)槽存储器高速缓存;和(2)中断接收器注册。槽存储器高速缓存数据库反映LCNP上存在的槽存储器的整体以代替正常应由LCNP板提供的实际槽存储器。这一数据库被读取和写到WindowsNT应用程序并(间接)被写到TDC(通过非请求对象访问)。中断接收器注册数据库记录哪些WindowsNT任务对写到特定槽地址的通知感兴趣。
在最下面,PCI驱动器通过4种通用机制与TDC对象交互作用:(1)读和写到TDC模块存储器位置;(2)写到TDC I/O空间地点;(3)写到LCNP板上的中断触发机制;和(4)写到LCNP板上的适配器命令机制。在最上面,PCI驱动器通过二超级机制与环境层实体交互作用:(1)作为支持WindowsNT初始化的交互作用的接口的请求的对象访问;和(2)作为支持TDC初始化的交互作用的接口的非请求的对象访问。
公共板响应设计
示范CBR由不分成子***的接收LCNP命令的单一***组成。CBR处理LCNP命令并通知对应的仿真器。另外,CBR还负责对IOCB例如IOCB认证等的初始处理。
CBR包括有所支持的仿真器和PCI接口上的对应槽号的数据库(以登记形式读取)。
在底层,CBR利用PCI驱动器的高层接口,亦即Create File(生成文件),它附着到PCI设备,和通过TDC从PCI设备读取非请求写到I/O空间的IOCTL。在顶层,CBR将TDC初始化的事件传递到高层仿真器,它然后“提供”I/O活动间所要求的功能。仿真器通过调用RegisterDevice(寄存器装置)利用CBR将它们的主题“寄存”特定槽中。然后它们等待通过WaitForNoticeFromPdgThread接口的来自CBR的通知(这根据一或多个通常的WindowsNT信标)。
一示范CBR的伪码实施例在此作为附录被列于后并作为这里相结合用的全文参考。此伪码实施例说明:(1)上述CBR仿真器是如何利用CBR服务被加以编码的;(2)CBR自己是如何作“原理上”构成的;和(3)下面的PCI驱动器如何设计来支持CBR的需要。暂时参看图7,表明一按照本发明的原理的示范仿真器线程模型的原理方框图(线程、任务、子例程、模块化编程等的概念在本技术领域内是众所公知的,而任一这类术语的应用均能恰当地作为与任何其他通常的程序组织词案的同义词),此模型说明CBR的选择处理配置,其相关的仿真器和LCNP或TDCA驱动器。
视频仿真器设计
示范视频仿真器由不分成为子***的单一***组成,负责将由TDC人一机接口(“MMI”)子***所指定的视频图象变成为NativeWindow。此Native Window为MicrosoftWindows窗。视频图象由TDC MMI通过命令如Draw Line(绘直线)、Fill Rectangle(填矩形)、Draw Text(绘制文本)等来指定。这些命令通过由公共板响应子***提供的非请求对象访问接口传送给视频仿真器。
并非所有由TDC MMI发出的命令都是绘图命令。数个命令是关于文本输入端口(“TJP”)的处理。这些命令给视频仿真器增加了复杂性。为了正确地处理TIP处理命令,视频仿真器必须访问保持在TDC模块总线存储器中的数据库和支持简单文本编辑能力。
管理光标形状是视频仿真器的另一责职。这一仿真器保证光标以正确形状显示。不同光标形状被显示来指明光标位于通常的TIP或PICK区的时刻。
视频仿真器还负责显示Native Window的初始帧、标题棒、菜单、和状态条。此视频仿真器还管理Native Window的“客户区”。但是,对Native Window的用户输入由键盘和指示器仿真器管理。
为正确仿真TDC通用操作员站模块150中提供的视频功能性,视频仿真器必须维持分开的图形和文本图象。然后这些分开的图象被按照优先级所指定的逐个字符地混合到一起。这些优先级由各种绘图命令给出。所得到的图象在Native Window中显示给用户。
4个数据库可被用来进行这一混合进程,即,(1)文本图象,所有当前在屏幕上显示的文本的单色位映象;(2)图形图象,所有当前在屏幕上显示的图形的单色映象;(3)属性矩阵,一属性值的n×m矩阵,其中n为填充屏幕宽的字符数和m为填充屏幕高的字符数,属性值指明属于组成字符基元的位的彩色、强度、和闪烁属性,和此值还另外包括有指示如何相对于文本混合图形的优先级;和(4)混合图象,描述屏幕上显示的实际图象的16色位映象,这一图象的需要是因为直接混合到屏幕会导致无法接收的屏幕颤动。
还可以有三个TDC模块总线存储器驻留数据库以支持TIP处理命令和光标形状管理,即,(1)TIP文本阵列,说明在屏幕上的TIP区的位置,用来在TIP处理期间在屏幕上正确布置文本和管理光标形状;(2)屏幕图象表,包括有屏幕上当前显现文本的ASCII值;和(3)PICK区阵列,说明屏幕上PICK区的位置和其他信息。
在底层,视频仿真器利用在CBR的上层非请求的对象访问接口,CBR请求的对象访问接口被用于读和写模块总线存储器驻留数据库。在顶层,视频仿真器为一只写应用程序,不提供外部接口,对NativeWindow的接口由键盘和指示器仿真器提供。
键盘仿真器的设计
示范键盘仿真器由不分割成子***的单一***组成,用于将键盘输入传送到TDC MMI。Windows的键代码被变换为被通常的TDC通用操作员站模块150键盘所用的键代码。标准PC键盘键代码被映射到由通常键盘所用的键代码。其他专用键盘则被映射到在这些键盘附着到通常的通用操作员站模块150时由它们当前所产生键代码。特别是,TDC使用者/工程键盘在被串行端口接口附着到WindowsNT机器时将得到支持。
标准通用操作员站模块150按钮配置应用程序被用来定制按钮功能,而无需基于MS-Windows配置软件。
虽然可以期望在键盘仿真器中发现TIP处理功能,而实际上这一功能性是在视频仿真器中得到支持的。当Native Window光标被置于TIP期间,输入的击键信号被与所有其它击键相同地处理。TDC MMI用于确定此击键与TIP相关。此TDC MMI以发送TIP处理命令作出响应。所有TDC MMI命令均由视频仿真器处理。
如果Native Window被配置有一菜单或加速器,此键盘仿真器执行与可应用的键序列相关连的操作。例如,如果此Native Window包含一带有关闭菜单项的文件菜单,键盘仿真器在当键入键序列Alt+F+C时即关闭Native Window。
此键盘仿真器要求每一键盘型式一单个数据库。这些数据库提供由WindowsNT键盘驱动器所生成的键代码与标准通用操作员站模块150键代码间的键代码映射。键盘仿真器还含有有关的配置动作的键序列的数据库,至少一个说明一Native Window菜单和至少另一个说明Native Window加速器键序列。
在底层,键盘仿真器利用被用于传送击键信号到TDC MMI的CBR顶部的请求的对象访问接口。在顶层,键盘仿真器为一从WindowsNT的击键事件读取器,提供标准WindowsNT键盘映射接口。这一接口使得当键入与Native Window菜单和加速相关的键序列时进行相应的操作。所有其他击键均被映射到通用操作员站模块150键代码并经由CBR子***所提供的请求的对象访问接口被传送到TDC MMI。此Native Window被创建以使得Native Window自己不吸收任何通用操作员站模块150所要求的键序列创建。
指示器仿真器设计
示范指示器仿真器由一不分割为子***的单一***组成,用于将由Windows指示装置接收的输入映射到TDC MMI事件。任何受WindowsNT驱动器支持的通常的指示装置,包括鼠标、跟踪球、非本机触摸屏、跟踪板等,均由此指示器仿真器支持。屏幕触摸被WindowsNT触摸屏驱动器变换到左按钮按击。指示器仿真器将Native Window客户区中发生的左按钮按击变换成TDC通用操作员站模块150检取事件。
指示器仿真器在当Native Window帧、菜单、和/或状态棒中发生左按钮按击时进行所予期的操作。以下为某些这种期望操作的示例,包括有:移动/重定大小窗口;最大/最小化窗口;激活菜单选择;关闭窗口。
在底层,指示器仿真器利用CBR顶部的请求的对象访问接口。这些接口被用来将检取事件传送到TDC MMI。在顶层,指示器仿真器是一来自WindowsNT的指示器事件的读取器。标准Windows接口在当光标处于Native Window的各不同帧中时被用来处理指示器事件。当在Native Window客户区中发生指示器按击时利用请求的对象访问接口来通知TDC MMI。
WSI2仿真器的设计
示例WSI2仿真器由不分割成子***的单一***组成,作为一“哑”板操作,在板上无微处理器以生成复杂的功能。但WSI2仿真器可包括有能用作为TDC与WindowsNT之间的邮箱区的公享RAM。这一邮箱区可由一GUS数据访问***(“LXS”)直接管理而决不由此仿真器或Native Window进行仿真或管理。
包括有一WSI仿真器的理由是为体系结构上的一致性,因为它是一与这里已仿真的其他板并不是不同的板。另外,在体系结构上各别的仿真器如希望的话将提供用于未来的功能性的柔性区(flex area)(如中断处理)。
在底层,WSI2仿真器利用CBR项部的请求的对象访问接口,这仅仅是在未来某时刻应用中断时的情况。在项层,WSI2仿真器这时未被定义功能,因为此板直接由GUS数据访问操作。
SCSI仿真器设计
示范SCSI仿真器用于处理来自在LCNP上执行的文件***和诊断软件请求的磁盘访问。这些请求采用实际的SCSI命令的形式,该命令由仿真器以被送回到LCNP的适当的命令应答加以处理。
通常的通用操作员站模块150磁盘子***含有一或多个带有150Mb可移动盘盒的Bemoulli磁盘(美国应用的20Mb盘盒的早先版本,现已基本废弃)。在当前***上,或UntS 305,仿真器以二种方法提供对LCNP盘请求的支持,即,(1)逻辑盘访问;和(2)本机格式盘访问。
一示范的逻辑盘访问方法提供一可利用WindowsNT文件管理设施作为一“标准”文件管理的逻辑盘。一逻辑盘作为一被作为单个的WindowsNT文件管理的空间信息块存在。此仿真器将用于读或写逻辑块(一般为256字节)的LCNP请求映射到逻辑盘文件中适当的偏移和进行数据传送。因为实际数据存在于WindowsNT兼容的文件中,所以其他应用、管理工具之类可以访问此数据。例如,就有可能通过将一逻辑盘拷贝到磁带或其他物理媒体对其加以备用。
如果一Bemoulli驱动器可用,它就可被用来保持此逻辑盘,但重要的是应注意,此盘是经格式化与WindowsNT文件***相兼容的,因而它是非本机的。
当利用逻辑盘时,用户有可能指定所希望的盘大小,和可能选择地指定是否要预先分配空间或者是按需要分配。利用将此逻辑盘与硬盘上的文件相连系,就有可能提供LCNP服务而不需要Bernoulli驱动器。另外,可在盘上生成并维持多个逻辑文件供随后的从LCNP的访问(要求一逻辑安装/卸除)。
一示范本机格式盘访问支持在LCNP上生成的本机格式Bemoulli盘盒的应用。盘的格式对WindowsNT文件***是未知的,而所有数据传送均利用WindowsNT物理盘访问服务进行。因为本机盘格式不为WindowsNT文件***所了解,所以除本实施例仿真器外无法适当地执行由应用程序访问数据。
示范SCSI仿真器除了仿真来自LCNP的SCSI盘访问命令,此仿真器还提供用于定义和管理逻辑盘的接口。示范性功能可适当地包括有生成盘,安装盘,卸除盘,删除盘,配置,或其它类似功能。
SCSI仿真器由单一***组成,不分割成子***。
为了仿真对LCNP的SCSI盘访问,SCSI仿真器可保持“静态”和“动态”的信息。静态信息说明被仿真的盘和它们的特性并驻留在WindowsNT的登记中。动态信息包含当前运行时间环境的特定的信息,执行时驻留在仿真器应用程序的存贮器空间中。
在底层,SCSI仿真器利用CBR顶部的接口。在顶层,键盘仿真器与用于访问逻辑或本机格式盘的WindowsNT提供的***服务进行交互作用。
打印机仿真器设计
示范打印机仿真器由单一***组成,不分割成子***,它用于处理来自在LCNP板上运行的软件对打印的请求。
在底层,打印机仿真器利用CBR顶部的接口。在顶层,打印机仿真器是一针对WindowsNT***中各种打印机驱动器的写入器。
调试端口仿真器设计
示例调试端口仿真器由不分割成子***的单一***组成,虽然它包括有二子部份,即,(1)调试PCI驱动器支持,和(2)WindowsNT终端程序。
调试端口仿真器中的编程接口是由PCI驱动器的调试端口部分提供的对WindowsN终端程序的接口。此接口形成“通道”,通过该通道终端通信看起来象一串行端口,即使实际上只是与LCNP上的一组寄存器通话。还有针对调试端口仿真器的人员接口,设有这一接口是为了便于对LCNP键入和看到输出。另外,终端程序还具有记录设施和支持标准的剪切和粘贴操作。
PCI驱动器的功能模型
参看图8,表明一按照本发明原理的PCI驱动器的示范功能设计模型的原理方框图。示范PCI驱动器存在于体系结构的H-HAL层内。它由二子***构成,请求的对象访问和非请求的对象访问。包含有二个数据库,槽存储器和中断接收器登记。
请求的对象访问支持由WindowsNT初始化的交互作用。交互作用可以由提供Native Window功能性的仿真器初始化,由支持高级应用程序功能性的服务器和Daemons初始化,或者双方。交互作用可相混杂而无需对其用户方进行明确的同步或协调;任何需要的串行化均是在PCI驱动器内部无形地提供的。
请求的对象访问子***包括有6个示范接口。2个用于读和写模块存储器,2个用于读和写I/O空间存储器,1个用于产生中断,和1个用于生成对LCNP的与板有关的命令(如复位)。图示的物理层中此请求的对象访问框与适配器卡之间的点连接线被编号来对应于上部请求的对象访问接口。
非请求的对象访问提供一其用户借助其能登记它们对通过TDC写入I/O空间的需要的接口。这样,在发生对I/O空间的写时,感兴趣方即由登记数据库确定并通告此写事件。另外,不管是否感兴趣方已登记特定的写,非请求对象访问均要更新被请求的对象访问针对I/O空间读所访问的槽存储器高速缓存数据库。
所有命令均具有作为一参数的“对象”设备。在替代实施例中,此对象将使得能声明数种可应用的LCNP板中之一。在本实现中,这一参数将被指明为“0”。
由上述很显见,本发明提供一种用于针对实时过程控制***和应用此仿真器的的实时过程控制***的用户接口对象文件在一非本机计算机上仿真一本机环境的***和方法。此用户接口对象文件含有绘图命令,用于与实时过程控制***作数据通信的地址指针,和用于解释由触感屏接收的数据的规则。此***包括:(1)显示例程,使非本机计算机控制耦合到它的非本机直观显示器来在它上面显示的作为绘图命令的函数图象;(2)地址映射例程,作为地址指针的函数地在用户接口对象文件与实时过程控制***之间进行数据通信;和(3)输入翻译例程,将由一耦合到它的非本机指示装置接收进此非本机计算机的数据翻译成适合于被此规则解释的数据,据此此***即能使此非本机计算机显示图象,与实时过程控制***进行数据通信,和解释由此非本机指示装置接收的数据。
虽然已详细说明了本发明及其优点,但本技术领域的熟悉人去会理解,他们可能在这方面作出各种改变、替换和变体而不背离本发明在其最广泛意义上的精神和范畴。
APPENDIX //EMULATOR(typical) ///////////////////////////////////////////////////////////////////////////// main() { //GENERAL SYSTEM CONFIGURATION Obtain Configuration Inidalize Target/Slot/Channel table Initialize shared data bases //START EMULATORS For each LCNP Target { Get hahdIe to LCNP if(EpdgPddgEmulator) Start EpdgPdgThread(IN Target); if(EpdgScsiEmulator) Start FpgdScsiThread(IN Target); if(WSIEmulator) Start WSIThread(IN Target); if(EpdgDebugPortEmulator) Start DebugPortThread(IN Target); Wait for Acknowledgement from the started threads Rlease the LCNP reset close LCNP handle } wait for service control manager messages which turn the CBR services on or off } <!-- SIPO <DP n="53"> --> <dp n="d53"/> /////////////////////////////////////////////////////////////////////////// hSemaphore RegisterDevicc(IN DcviceObject,IN PdgOrScsiDeviceHandle) { Add Target/Slot/Channel to table Create syncronization object(semaphore?) return semaphore } ///////////////////////////////////////////////////////////////////////// <??> PdgSlotThread(IN Target,IN Slot) { PdgSlotPathName=F(Target,Slot); PdgSlotHandle=CreateFile(PdgSlotPathNamc,...); Initialize LCNP slot; if need video emulator { open named pipe videoPipe start VidcoEmulatorThread(IN target,IN slot,IN pdgHandle ,IN vidcoPipe); read vidcoPipe; } if necd keyboard emulator { <!-- SIPO <DP n="54"> --> <dp n="d54"/> open named pipe keybdPipe start keybdEmulatorThread(IN target,IN slot,IN pdgHandle ,IN keybdPipe); read keybdPipe; } if need pointer emulator { open named pipe pointerPipe start pointerEmulatorThread(IN target,IN slot,IN pdgHandle ,IN pointerPipe); read keybdPipe; } if need printer { open named pipe printerPipe start printerEmulatorThread(IN target,IN slot,IN pdgHandle ,IN printerPipe); read printerPipe; } wait for acknowledgement for the started threads; send acknowiedgement to parent thread(thread“0”); //common board respcnse command processing: while(EmulatorRunning) { deviceIOCtl(pdgSlotHandle,getCommand) switch(command) { <!-- SIPO <DP n="55"> --> <dp n="d55"/> case‘videoCommand’: write command to named pipe for the video emulator case‘keyboardCommand’: write command to named pipe for the keyboard emulator case‘pointerDeviceCommand’: write commad to named pipe for the pointer emulator case‘printerCommand’: write commnand to named pipe for the printer emulator } } ////////////////////////////////////////////////////////////////////////////// ScsiSlotThread(IN Target,IN Slot) { ScsiSlotPathName=F(Target,Slot); ScsiSlotHandle=CreateFile(ScsiSlotPathName,...) initiaiize L CNP slot; open named pipe SCSIPipe start SCSIEmulatorThread(IN Target,IN Slot,IN ScsiSlotHandle ,IN SCSIPipe); wait for acknowledgement for the started SCSI thread; send acknowledgement to parent thread(thread“0”); //common board response command processing: while(EmulatorRunning) <!-- SIPO <DP n="56"> --> <dp n="d56"/> { deviceIOCtl(ScsiSlotHandle,getCommand); write command to SCSI named pipe for the SCSI emulator; } /////////////////////////////////////////////////////////////////////////////// WSISlotThread(IN Target,IN Slot) { WSISlotPathName=F(Target,Slot); WSISlotHandle=CreateFile(WSISlotpathName,...) initialize LCNP slot; open named pipe WSIPipe wait for acknowledgement for the started WSI thread; send acknowledgement to parent thread(thread“0”); //Note,no commands for the WSI ////////////////////////////////////////////////////////////////////////////// videoEmulatorThread(INtarget,IN slot,IN pdgHandle,IN videoPipe); { create named pipe videoPipe,and get handle to it //create device object and get handle to it hdev=createDeviceObject(IN target,IN slot,IN slotHandle ,IN channel,IN pipeHandle); //do any other initialization; <!-- SIPO <DP n="57"> --> <dp n="d57"/> while(EmulatorRunning) { read commands from the named pipe; switch(command) { case‘start-command’: { //call method in IOCB object to initialize the IOCB pdgIOCB::init(IOCBAddrInTDCMemory); //complete the start-command command_complete(hdev,command,operational-status); while(validIOCB()) { process iocb buffer //call method in IOCB object to complete the IOCB pdgIOCB::complete(IOCBStatus,size); } } case‘other-command’: { //process command } } } ///////////////////////////////////////////////////////////////////////////// <!-- SIPO <DP n="58"> --> <dp n="d58"/> keybdEmulatorThread(IN target,IN slot,IN pdgHandle,IN keybdPipe); { create named pipe keybdPipe,and get handle to it //create device object and get handle to it hdev=createDeviceObject(IN target,IN slot,IN slotHandle ,IN channel,IN pipeHandle); //do any other initialization; while(EmulatorRunning) { read commands from the named pipe; switch(command) { case‘start-command’: { //call method in IOCB object to injtialize the IOCB pdgIOCB::init(IOCBAddrInTDCMemory); //complete the start-command command_complete(hdev,command,operational-status); while(validIOCB()) { process iocb buffer //call method in IOCB object to complete the IOCB pdgIOCB::complete(IOCBStatus,size); } } case‘other-command’: { //process command <!-- SIPO <DP n="59"> --> <dp n="d59"/> } } } ////////////////////////////////////////////////////////////////////////////// pointerEmulatorThread(IN target,IN slot,IN pdgHandle,IN pointerPipe); { create named pipe pointerPipe,and get handle to it //create device object and get handle to it hdev=cteateDeviceObject(IN target,IN slot,IN slotHandle ,IN channel,IN pipeHandle); //do any other initialization; while(EmulatorRunning) { read commands from the named pipe; switch(command) { case‘start-command’: { //call method in IOCB object to initialize the IOCB pdgIOCB::init(IOCBAddrInTDCMemory); //complete the start-command command_complete(hdev,command,operational-status); while(validIOCB()) { process iocb buffer <!-- SIPO <DP n="60"> --> <dp n="d60"/> //call method in IOCB object to complete the IOCB pdgIOCB::complete(IOCBStatus,size); } } case‘other-command’: { //process command } } } ////////////////////////////////////////////////////////////////////////////// printerEmulatorThread(IN target,IN slot,IN pdgHandle,IN printerPipe); { create named pipe printerPipe,and get handle to it //create device object and get handle to it hdev=createDeviceObject(IN target,IN slot,IN slotHandle ,IN channel,IN pipeHandle); //do any other initialization; while(EmulatorRunning) { read commands from the named pipe; switch(command) { case‘start-command’: { //call method in IOCB object to initialize the IOCB <!-- SIPO <DP n="61"> --> <dp n="d61"/> pdgIOCB::init(IOCBAddrInTDCMemory); //complete the start-command command_complete(hdev,command,operational-status); while(validIOCB()) { process iocb buffer //call method in IOCB object to complete the IOCB pdgIOCB::complete(IOCBStatus,size); } } case‘other-command’: { //process command } } } ////////////////////////////////////////////////////////////////////////////// scsiEmulatorTnread(IN target,IN slot,IN pdgHandle,IN scsiPipe); { create named pipe scsiPipe,and get handle to it //create device object and get handle to it hdev=createDeviceObject(IN target,IN slot,IN slotHandle ,IN channel,IN pipeHandle); <!-- SIPO <DP n="62"> --> <dp n="d62"/> //do any other initialization; while(EmulatorRunning) { read commands from the named pipe; switch(command) { case‘start-command’: { //call method in IOCB object to initialize the IOCB ScsiIOCB::init(IOCBAddrInTDCMemory); //complete the start-command command_complete(hdev,command,operational-status); while(validIOCB()) { process iocb buffer //call method in IOCB object to complete the IOCB ScsiIOCB::complete(IOCBStatus,size); } } case‘other-command’: { //process command } } } <!-- SIPO <DP n="63"> --> <dp n="d63"/> DEBUG PORT EMULATOR ////////////////////////////////////////////////////////////////////////////// DebugPortThread(IN Target,IN Slot) { //CONNECT TO DRIVER DebugPortHandle=CreateFile(DebugPortPathName,...); //START THREAD FOR UNSOLICITED INPUT Start DebugUIThread() //RUN CONTINUOUSLY UNTIL TERMINATED while(EmulatorRunning) { //READ A DEBUG COMMAND DeviceIoControl(DebugPortHandle,...) //GIVE DEBUG COMMAND TO TDC CONSOLE EMULATOR process request on debug port } } CLASSES/OBJECTS <!-- SIPO <DP n="64"> --> <dp n="d64"/> class physicalBuffer { public: memoryAdress; memorySpace[8]; } class TdcBuffer { pointerToNTCopyMemory; size; direction; currentIndex; public: initialize(pointerToTDCBuffer,size,direction); initialize(TDCBufferAddress,size,direction); complere(transferred); getNextWord(); getBufferAddress(); *operator*(){return getBufferAddress();}; } class Iocb { protected: TDCiocb//place to hold TDC IOCB in the NT environment <!-- SIPO <DP n="65"> --> <dp n="d65"/> TDCBuffer Buffer//wrapper for TDC buffer virtual long GetBufferAddress()=0; long getNextAddress(){return LCNPddrToULong(&IocbAddress); public: initialize(IocbAddressInTdcMemory); initialize(pointerToLCNPddressOfIocb); complete(IocbStatus,transferred);//complete IOCB TdcBuffer*GetBuffer(Direction); GetTransferSize();//report bufffer size to transfer } class pdgIocb { protected: virtual long GetBufferAddress; public: initialize(IocbAddressInTdcMemory); initialize(pointerToLCNPddressOfIocb); complere(IocbStarus,transferrTed);//complete IOCB TdcBuffer*GetBuffer(Direction); GetTransferSize();//report buffer size to transfer } class ScsiIocb { protected: <!-- SIPO <DP n="66"> --> <dp n="d66"/> virtual long GetBufferAddress; public: initialize(IocbAddressInTdcMemory); initialize(pointerToLCNPddressOfIocb); complete(IocbStatus,transferred);//complete IOCB TdcBuffer*GetBuffer(Direction); GetTransferSize();//report buffer size to transfer *GetSuffix()//get a pointer to the IOCB suffix }; ////////////////////////////////////////////////////////////////////////////// LCNP DRIVER //IHIS ROUTINEHANDLESEPDG INTERRUPIS FROM THE LCNP IoSpaceWriteIsr(IN Target,IN AddressWritten) { //ARE THERE ANY VERY QUICK THINGS THE DRIVER HANDLES ITSELF? DO IT HERE Irb[]=Add?essWritten; Irb[]=Target; QueueIoSpaceWnteDpcRoutine; } <!-- SIPO <DP n="67"> --> <dp n="d67"/> //THIS ROUTINE HANDLES DEBUG PORT INTERRUPTS FROM THE LCNP DebugPortWriteIsr(IN Target,IN AddressWritten) { //ARE THERE ANY VERY QUICK THINGS THE DRIVER HANDLES ITSELF? DO IT HERE Irb[]=AddressWritten; Irb[]=Target; QueueDebugPortWriteDpcRoutine; } QueueIoSpaceWriteDpcRoutine(IN Irb) { //PICK UP INFO ABOUT WHO.WROTE TO I/O SPACE AddressWritten=Irb[]; Target=Irb[]; //calculate base pointer for target that interrupted //GET THE DATA THAT WAS WRITTEN AT THIS ADDRESS DataWritten=SomePCIcomamndsToRead(IN Target,IN AddressWritten); IoCacheMemory[Target,AddressWrirten]=DaraWritten; //CALCULATE THE SLOT Slot=(AddressWritten-$40000)/$1000; <!-- SIPO <DP n="68"> --> <dp n="d68"/> //IS IT SOMETHING THE DRIVER RESPONDS TO DIRECTLY?IF SO,DO IT HERE //WAS THIS A COMMAND WRITE?IF SO,GET THE ADDRESS OF THE FIRST IOCB if((AddressWritten AND $FF)=$8) { //GET THE CHANNEL CONTROL BLOCK FOR THE CHANNEL OF INTEREST CcbAddress=BaseAddress+$80400+(Slot*$1000); IocbAddressPointer=BaseAddress+CcbAddress+(Channel*4); IocbAddress=SomePciCommandsToRead(IN Target,IN CcbAddressPointer); } else IocbAddress=0; //DISTRIBUTE THE EVENT if(some thread Waiting for that slot) wake that thread else remember this write for later } QueueDebugPortWriteDpcRoutine(IN Irb) { //PICK UP INFO ABOUT WHO WROTE TO I/O SPACE <!-- SIPO <DP n="69"> --> <dp n="d69"/> AddressWritten=Irb[]; Target=Irb[]; if(some thread waiting for that slot) wake that thread else remember this write for later } //THIS FUNCTION HANDLES DeviceIoControl()FROM EMULATOR SERVICE Status ReadFunctionInDriver(IN Handle,IN WaitForDara, IN Target,IN Slot, OUT AddressWritten,OUT WordWritten) { if(a remembered write is pending) erase record of remembered write return immediately with AddressWritten and DataWritten else record that we are waiting for this slot sleep }
Claims (51)
1、一种用于在非本机计算机(305)上对实时过程控制***(100)的直观显示对象文件的本机环境进行仿真的***,所述直观显示对象文件包含绘图命令、用于与所述实时过程控制***作数据通信的地址指针、和用于解释由一触感屏接收的数据的规则,所述***包括:
显示例程,促使所述非本机计算机控制与其耦合的非本机直观显示装置(410),以便在该非本机直观显示装置上面显示作为所述绘图命令的函数的图象;
地址映射例程,作为所述地址指针的函数在所述直观显示对象文件与所述实时过程控制***之间作所述数据的通信;和
输入翻译例程,将从一非本机指示装置(460)接收进所述非本机计算机的数据翻译成适宜于由所述规则解释的数据,由此所述***即能使所述非本机计算机显示所述图象,与所述实时过程控制***作所述数据通信,和解释由所述非本机指示装置接收的所述数据。
2、如权利要求1中所述***,其特征是所述本机环境在一小型计算机上提供和所述非本机计算机(305)是基于微处理器的。
3、如权利要求1或2中所述***,其特征是所述绘图命令针对一全屏幕直观显示和所述非本机直观显示装置(410)为窗口化显示装置。
4、如权利要求1的所述***,其特征是所述地址指针对应于所述实时过程控制***中的物理地址。
5、如权利要求1的所述***,其特征是所述非本机指示设备为一鼠标。
6、如权利要求1的所述***,其特征是所述映射例程使得可在所述直观显示对象文件与所述实时过程控制***(100)之间作数据双向通信。
7、如权利要求1的所述***,其特征是所述***与一在所述非本机计算机(305)上执行的多任务操作***相结合运行。
8、如权利要求1的所述***,其特征是所述绘图命令、地址指针和规则被体现在所述直观显示对象文件内的各个对象。
9、如权利要求1的所述***,其特征是所述非本机计算机(305)包括一仿真可移动媒体海量存储装置的虚拟存储装置仿真器,所述仿真器与所述地址映射例程协同操作来提供所述直观显示对象文件与所述实时过程控制***(100)之间的所述数据通信。
10、如权利要求1的所述***,其特征是所述***在所述非本机计算机(305)上执行的WindowsNT操作***中执行,所述操作***在其间提供用于在所述显示对象文件与所述实时过程控制***(100)之间进行所述数据通信的通道。
11、一种在一非本机计算机(305)上对实时过程控制***(100)的直观显示对象文件的本机环境进行仿真的方法,所述直观显示对象文件包含绘图命令、用于与所述实时过程控制***作数据通信的地址指针和用于解释由一触感屏接收的数据的规则,所述方法包括步骤:
(a)促使所述非本机计算机控制与其耦合的非本机直观显示装置(410)根据所述绘图命令来显示图象;
(b)通过作为所述地址指针的函数的映射,在所述直观显示对象文件与所述实时过程控制***之间作所述数据通信;和
(c)将从一非本机指示装置(460)接收进所述非本机计算机的数据翻译成适合于由所述规则解释的数据,由此所述***使得所述非本机计算机能显示所述图象、与所述实时过程控制***进行所述数据通信和解释由所述非本机指示装置接收的所述数据。
12、如权利要求11中所述方法,其特征是所述本机环境在一小型计算机上提供,和所述非本机计算机(305)是基于微处理器的。
13、如权利要求11或12中所述方法,其特征是所述绘图命令针对全屏幕直观显示,所述步骤(a)包括以窗口化显示来利用所述绘图命令的步骤。
14、如权利要求11所述方法,其特征是所述地址指针对应于所述实时过程控制***(100)中的物理地址。
15、如权利要求11所述方法,其特征是所述非本机指示装置(460)为一鼠标。
16、如权利要求11所述方法,其特征是所述步骤(b)包括在所述直观显示对象文件与所述实时过程控制***(100)间作所述数据双向通信的步骤。
17、如权利要求11所述方法,其特征是所述***(100)与在所述非本机计算机(305)上执行的多任务操作***相结合而运行。
18、如权利要求11所述方法,其特征是所述绘图命令、地址指针和规则被体现在所述直观显示对象文件内的各对象中。
19、如权利要求11所述方法,其特征是所述非本机计算机(305)包括以一仿真器仿真可移动媒体海量存储装置的步骤,所述仿真器与所述地址映射例程协同操作来提供所述直观显示对象文件与所述实时过程控制***(100)之间的所述数据的通信。
20、如权利要求11所述方法,其特征是所述***在所述非本机计算机(305)上执行的WindowsNT操作***中执行,所述方法还包括通过所述操作***提供用于在所述直观显示对象文件与所述实时过程控制***(100)之间作所述数据通信的通道的步骤。
21、如权利要求11所述的方法,其中该过程控制***具有可通过存储在一作本机格式化的可移动媒体海量存储装置中的逻辑块寻址的多个部件,可在非本机的、仿真所述海量存储装置的多任务操作***中执行,其中所述步骤(b)包括如下步骤:
截取一本机直观显示对象文件的地址指针;和
推导出对应于一块存储文件中一特定逻辑块的所述地址指针的偏移量,所述块存储文件具有与所述非本机的多任务操作***相兼容的结构并包含所述逻辑块。
22、如权利要求21中所述方法,其特征是所述多任务操作***为WindowsNT。
23、如权利要求21或22所述方法,其特征是还包括在非本机海量存储装置上存储所述块存储文件的步骤。
24、如权利要求21所述方法,其特征是还包括在所述多任务操作***中执行其他例程的步骤,所述其他例程能与所述地址映射例程共同利用所述块存储文件。
25、如权利要求21所述方法,其特征是所述特定逻辑块为256字节长。
26、如权利要求21所述方法,其特征是还包括将所述块存储文件存储在一单个物理盘驱动器上的步骤。
27、如权利要求21所述方法,其特征是还包括推导出对应于第二块存储文件中的所述特定逻辑块的所述地址指针的偏移量。
28、一种实时过程控制***,包括:
多个传感器和可控设备;
将所述多个传感器和可控设备耦合到多个数据处理和存储单元(156,160,170)的本机控制网络总线(135,145,190);
耦合到所述本机控制网络总线的操作员信息***(150,160,170),将有关所述多个传感器的数据提供给一操作员并使所述操作员能控制所述多个可控设备,所述操作员信息***被仿真在一非本机计算机(305)中;以及
用于在所述非本机计算机上对所述实时过程控制***的直观显示对象文件的本机环境进行仿真的仿真***,所述直观显示对象文件包含绘图命令、用于与所述实时过程控制***(100)通信数据的地址指针和解释由触摸屏接收的数据的规则,所述***包括有:
显示例程,促使所述非本机计算机控制与其耦合的非本机直观显示器根据所述绘图命令来显示图象;
地址映射例程,作为所述地址指针的函数在所述直观显示对象文件与所述实时过程控制***之间作所述数据通信;以及
输入翻译例程,将从一耦合到该输入翻译全程的非本机指示装置(460)接收进所述非本机计算机的数据翻译成适合于由所述规则解释的数据,由此所述***即能使所述非本机计算机显示所述图象、与所述实时过程控制***作所述数据通信和解释由所述非本机指示装置接收的数据。
29、如权利要求28所述过程控制***,其特征是所述本机环境在一小型计算机上提供,和所述非本机计算机(305)是基于微处理器的。
30、如权利要求28所述过程控制***,其特征是所述绘图命令针对全屏幕直观显示和所述非本机直观显示装置为窗口化显示装置。
31、如权利要求28所述过程控制***,其特征是所述地址指针对应于所述多个传感器和可控设备的物理地址。
32、如权利要求28所述过程控制***,其特征是所述非本机指示装置(460)为一鼠标。
33、如权利要求28所述过程控制***,其特征是所述地址映射例程使得能在所述直观显示对象文件与所述多个传感器和可控设备之间作双向数据通信。
34、如权利要求28所述过程控制***,其特征是所述***与在所述非本机计算机(305)上执行的一多任务操作***结合而运行。
35、如权利要求28所述过程控制***,其特征是所述绘图命令、地址指针和规则被体现在所述直观显示对象文件的各对象中。
36、如权利要求28所述过程控制***,其特征是所述非本机计算机(305)包括仿真可移动媒体海量存储装置的虚拟存储装置仿真器,所述仿真器与所述地址映射例程协同操作以提供所述直观显示对象文件与所述多个传感器和可控设备之间所述数据通信。
37、如权利要求28所述过程控制***,其特征是所述***在所述非本机计算机(305)上执行的WindowsNT操作***中执行,所述操作***在其间提供用于在所述直观显示对象文件与所述多个传感器与可控设备之间作所述数据通信的通道。
38、如权利要求28的过程控制***,具有可通过存储在一作本机格式化的可移动媒体海量存储装置中的逻辑块寻址的多个部件,所述仿真***可在非本机、多任务操作***以及该海量存储装置中使用,包括:
块存储文件,具有与所述非本机的多任务操作***相兼容的结构,用于包容所述逻辑块;和
其中所述地址映射例程与所述块存储文件协同操作在一本机直观显示对象文件与所述实时过程控制***(100)之间进行调整,以便根据所述本机直观显示对象文件中地址指针进行数据通信,所述地址映射例程推导出对应于所述块存储文件中特定逻辑块的所述地址指针的偏移量,所述块存储文件和地址映射例程由此而能替代所述海量存储装置而无需修改所述直观显示对象文件。
39、如权利要求38中所述过程控制***,其特征是所述多任务操作***为WindowsNT。
40、如权利要求38所述过程控制***,其特征是所述块存储文件被存储在一非本机海量存储装置(305)中。
41、如权利要求38所述过程控制***,其特征是在所述多任务操作***中执行的其他例程能够与所述地址映射例程共同利用所述块存储文件。
42、如权利要求38所述过程控制***,其特征是所述特定逻辑块为256字节长。
43、如权利要求38所述过程控制***,其特征是所述块存储文件被存储在单一的物理盘驱动器上。
44、如权利要求38的所述过程控制***,其特征是还包括一第二块存储文件,所述地址映射例程可相应地与所述第二块存储文件协同操作以在所述本机直观显示对象文件与所述实时过程控制***(100)之间进行调整以使它们间能作所述数据的通信。
45、如权利要求28的实时过程控制***,其中所述多个传感器和可控设备可通过存储在作本机格式化的可移动媒体海量存储装置中的逻辑块寻址;所述操作员信息***具有一本机直观显示对象文件,包含地址指针,所述仿真***可在非本机的、代替所述海量存储装置执行和使用的多任务操作***中执行,所述仿真***包括有:
块存储文件,具有与所述非本机多任务操作***兼容的结构,用于包容所述逻辑块;和
其中所述地址映射例程与所述块存储文件协同操作在所述本机直观显示对象文件与所述实时过程控制***(100)之间进行调整,以允许它们根据所述地址指针进行数据通信,所述地址映射例程推导出对应于所述块存储文件中特定逻辑块的所述地址指针的偏移量,所述块存储文件和地址映射例程由此可替代所述海量存储装置而无需对所述直观显示对象文件进行修改。
46、如权利要求45中所述过程控制***,其特征是所述多任务操作***为WindowsNT。
47、如权利要求45或46中所述过程控制***,其特征是所述块存储文件被存储在一非本机海量存储装置上。
48、如权利要求45所述过程控制***,其特征是在所述多任务操作***中执行的其他例程能与所述地址映射程序共同利用所述块存储文件。
49、如权利要求45所述过程控制***,其特征是所述特定逻辑块为256字节长。
50、如权利要求45所述过程控制***,其特征是所述块存储文件被存储在单一的物理盘驱动器上。
51、如权利要求45所述过程控制***,其特征是还包括一第二块存储文件,所述地址映射例程可相应地与所述第二块存储文件协同操作在所述本机直观显示对象文件与所述实时过程控制***(100)之间进行调整以使它们之间能作所述数据通信。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/727,727 US5892939A (en) | 1996-10-07 | 1996-10-07 | Emulator for visual display object files and method of operation thereof |
US08/727,727 | 1996-10-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1251181A CN1251181A (zh) | 2000-04-19 |
CN1304936C true CN1304936C (zh) | 2007-03-14 |
Family
ID=24923797
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB971986223A Expired - Fee Related CN1304936C (zh) | 1996-10-07 | 1997-09-23 | 直观显示对象文件的仿真器及其操作方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US5892939A (zh) |
EP (1) | EP0929849B1 (zh) |
JP (1) | JP2002511161A (zh) |
CN (1) | CN1304936C (zh) |
AU (1) | AU735739B2 (zh) |
CA (1) | CA2266446C (zh) |
DE (1) | DE69720015T2 (zh) |
WO (1) | WO1998015878A1 (zh) |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5982371A (en) * | 1996-01-29 | 1999-11-09 | Sun Microsystems, Inc. | Method and apparatus for executing and displaying output of an environment in a host environment |
DE19708755A1 (de) * | 1997-03-04 | 1998-09-17 | Michael Tasler | Flexible Schnittstelle |
US6625718B1 (en) * | 1998-02-05 | 2003-09-23 | Avaya Technology Corp. | Pointers that are relative to their own present locations |
US6315669B1 (en) | 1998-05-27 | 2001-11-13 | Nintendo Co., Ltd. | Portable color display game machine and storage medium for the same |
US8044793B2 (en) | 2001-03-01 | 2011-10-25 | Fisher-Rosemount Systems, Inc. | Integrated device alerts in a process control system |
US6975219B2 (en) * | 2001-03-01 | 2005-12-13 | Fisher-Rosemount Systems, Inc. | Enhanced hart device alerts in a process control system |
US6374401B1 (en) * | 1999-03-29 | 2002-04-16 | International Business Machines Corporation | System, method, and program for updating registry objects with a cross-platform installation program |
US6373462B1 (en) | 1999-12-07 | 2002-04-16 | Nintendo Co., Ltd. | Method and apparatus for displaying higher color resolution on a hand-held LCD device |
US7050064B2 (en) * | 1999-11-24 | 2006-05-23 | Nintendo Co., Ltd. | Method and apparatus for displaying higher color resolution on a hand-held LCD device |
US6539501B1 (en) | 1999-12-16 | 2003-03-25 | International Business Machines Corporation | Method, system, and program for logging statements to monitor execution of a program |
US7474929B2 (en) * | 2000-01-20 | 2009-01-06 | Fisher-Rosemount Systems, Inc. | Enhanced tool for managing a process control network |
US6772017B1 (en) * | 2000-01-20 | 2004-08-03 | Fisher-Rosemount Systems, Inc. | Tool for configuring and managing a process control network including the use of spatial information |
US6955606B2 (en) * | 2000-03-30 | 2005-10-18 | Nintendo Co., Ltd. | Game information storage medium and game system using the same |
US6810463B2 (en) | 2000-05-24 | 2004-10-26 | Nintendo Co., Ltd. | Gaming machine that is usable with different game cartridge types |
US7445551B1 (en) | 2000-05-24 | 2008-11-04 | Nintendo Co., Ltd. | Memory for video game system and emulator using the memory |
US7285051B2 (en) * | 2000-05-25 | 2007-10-23 | Nintendo Co., Ltd. | Game information storage medium and game system using the same |
US20060168586A1 (en) * | 2000-08-09 | 2006-07-27 | Stone Glen D | System and method for interactively utilizing a user interface to manage device resources |
US6672963B1 (en) | 2000-09-18 | 2004-01-06 | Nintendo Co., Ltd. | Software implementation of a handheld video game hardware platform |
US6884171B2 (en) * | 2000-09-18 | 2005-04-26 | Nintendo Co., Ltd. | Video game distribution network |
US8157654B2 (en) | 2000-11-28 | 2012-04-17 | Nintendo Co., Ltd. | Hand-held video game platform emulation |
US7203634B2 (en) * | 2000-10-30 | 2007-04-10 | Translation Technologies, Inc. | Computational geometry system, interrupt interface, and method |
US20020124011A1 (en) * | 2001-03-01 | 2002-09-05 | Baxter Robert W. | Methods, systems, and computer program products for communicating with a controller using a database interface |
CN100524130C (zh) * | 2001-03-01 | 2009-08-05 | 费舍-柔斯芒特***股份有限公司 | 自动工作命令/部件命令生成和跟踪 |
US6795798B2 (en) | 2001-03-01 | 2004-09-21 | Fisher-Rosemount Systems, Inc. | Remote analysis of process control plant data |
US8073967B2 (en) | 2002-04-15 | 2011-12-06 | Fisher-Rosemount Systems, Inc. | Web services-based communications for use with process control systems |
US7389204B2 (en) * | 2001-03-01 | 2008-06-17 | Fisher-Rosemount Systems, Inc. | Data presentation system for abnormal situation prevention in a process plant |
US6954713B2 (en) * | 2001-03-01 | 2005-10-11 | Fisher-Rosemount Systems, Inc. | Cavitation detection in a process plant |
US7720727B2 (en) | 2001-03-01 | 2010-05-18 | Fisher-Rosemount Systems, Inc. | Economic calculations in process control system |
JP2003005825A (ja) | 2001-06-19 | 2003-01-08 | Toyota Industries Corp | 産業用機器 |
US7162534B2 (en) * | 2001-07-10 | 2007-01-09 | Fisher-Rosemount Systems, Inc. | Transactional data communications for process control systems |
US20030046583A1 (en) * | 2001-08-30 | 2003-03-06 | Honeywell International Inc. | Automated configuration of security software suites |
EP1468356A2 (de) * | 2001-12-27 | 2004-10-20 | Siemens Aktiengesellschaft | Automatisiertes verfahren zum erzeugen von programmodulen zur steuerung von feldgeräten |
US7146231B2 (en) * | 2002-10-22 | 2006-12-05 | Fisher-Rosemount Systems, Inc.. | Smart process modules and objects in process plants |
DE10348563B4 (de) | 2002-10-22 | 2014-01-09 | Fisher-Rosemount Systems, Inc. | Integration von Grafikdisplayelementen, Prozeßmodulen und Steuermodulen in Prozeßanlagen |
US9983559B2 (en) * | 2002-10-22 | 2018-05-29 | Fisher-Rosemount Systems, Inc. | Updating and utilizing dynamic process simulation in an operating process environment |
US7600234B2 (en) * | 2002-12-10 | 2009-10-06 | Fisher-Rosemount Systems, Inc. | Method for launching applications |
US7493310B2 (en) | 2002-12-30 | 2009-02-17 | Fisher-Rosemount Systems, Inc. | Data visualization within an integrated asset data system for a process plant |
US8935298B2 (en) | 2002-12-30 | 2015-01-13 | Fisher-Rosemount Systems, Inc. | Integrated navigational tree importation and generation in a process plant |
US7152072B2 (en) | 2003-01-08 | 2006-12-19 | Fisher-Rosemount Systems Inc. | Methods and apparatus for importing device data into a database system used in a process plant |
US20040158474A1 (en) * | 2003-02-06 | 2004-08-12 | Karschnia Robert J. | Service facility for providing remote diagnostic and maintenance services to a process plant |
US7698016B2 (en) * | 2003-02-18 | 2010-04-13 | Tti Acquisition Corporation | Feature-based translation system and method |
US7953842B2 (en) | 2003-02-19 | 2011-05-31 | Fisher-Rosemount Systems, Inc. | Open network-based data acquisition, aggregation and optimization for use with process control systems |
US7103427B2 (en) | 2003-02-28 | 2006-09-05 | Fisher-Rosemont Systems, Inc. | Delivery of process plant notifications |
US6915235B2 (en) * | 2003-03-13 | 2005-07-05 | Csi Technology, Inc. | Generation of data indicative of machine operational condition |
US7634384B2 (en) | 2003-03-18 | 2009-12-15 | Fisher-Rosemount Systems, Inc. | Asset optimization reporting in a process plant |
US20040230328A1 (en) * | 2003-03-21 | 2004-11-18 | Steve Armstrong | Remote data visualization within an asset data system for a process plant |
US7240180B2 (en) | 2003-06-12 | 2007-07-03 | International Business Machines Corporation | Method and system for simultaneously supporting different block sizes on a single hard drive |
US7299415B2 (en) * | 2003-06-16 | 2007-11-20 | Fisher-Rosemount Systems, Inc. | Method and apparatus for providing help information in multiple formats |
JP2005092819A (ja) * | 2003-09-19 | 2005-04-07 | Toyota Industries Corp | 産業用機器及び表示装置 |
US7030747B2 (en) * | 2004-02-26 | 2006-04-18 | Fisher-Rosemount Systems, Inc. | Method and system for integrated alarms in a process control system |
US7676287B2 (en) * | 2004-03-03 | 2010-03-09 | Fisher-Rosemount Systems, Inc. | Configuration system and method for abnormal situation prevention in a process plant |
US7079984B2 (en) * | 2004-03-03 | 2006-07-18 | Fisher-Rosemount Systems, Inc. | Abnormal situation prevention in a process plant |
US7515977B2 (en) * | 2004-03-30 | 2009-04-07 | Fisher-Rosemount Systems, Inc. | Integrated configuration system for use in a process plant |
US11278793B2 (en) | 2004-03-31 | 2022-03-22 | Nintendo Co., Ltd. | Game console |
US7837558B2 (en) * | 2004-03-31 | 2010-11-23 | Nintendo Co., Ltd. | Game console and emulator for the game console |
US7771280B2 (en) * | 2004-03-31 | 2010-08-10 | Nintendo Co., Ltd. | Game console connector and emulator for the game console |
US8267780B2 (en) | 2004-03-31 | 2012-09-18 | Nintendo Co., Ltd. | Game console and memory card |
US8016681B2 (en) * | 2004-03-31 | 2011-09-13 | Nintendo Co., Ltd. | Memory card for a game console |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
US7729789B2 (en) | 2004-05-04 | 2010-06-01 | Fisher-Rosemount Systems, Inc. | Process plant monitoring based on multivariate statistical analysis and on-line process simulation |
US20050267709A1 (en) * | 2004-05-28 | 2005-12-01 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a heater |
US7536274B2 (en) * | 2004-05-28 | 2009-05-19 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a heater |
CA2567139A1 (en) | 2004-06-12 | 2005-12-29 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a process gain of a control loop |
US7181654B2 (en) * | 2004-09-17 | 2007-02-20 | Fisher-Rosemount Systems, Inc. | System and method for detecting an abnormal situation associated with a reactor |
US8005647B2 (en) | 2005-04-08 | 2011-08-23 | Rosemount, Inc. | Method and apparatus for monitoring and performing corrective measures in a process plant using monitoring data with corrective measures data |
US9201420B2 (en) | 2005-04-08 | 2015-12-01 | Rosemount, Inc. | Method and apparatus for performing a function in a process plant using monitoring data with criticality evaluation data |
WO2007011929A2 (en) * | 2005-07-15 | 2007-01-25 | X-Rite, Incorporated | Product selection based on color and appearance of decorative artifacts |
US7272531B2 (en) * | 2005-09-20 | 2007-09-18 | Fisher-Rosemount Systems, Inc. | Aggregation of asset use indices within a process plant |
JP5096359B2 (ja) | 2005-12-05 | 2012-12-12 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | 同時プロセスシミュレーションを伴う多目的予測プロセス最適化 |
US7438140B2 (en) * | 2006-01-27 | 2008-10-21 | Exhaust Technologies, Inc. | Shock attenuating device for a rotary impact tool |
US20070289760A1 (en) * | 2006-06-16 | 2007-12-20 | Exhaust Technologies, Inc. | Shock attenuating coupling device and rotary impact tool |
US8145358B2 (en) * | 2006-07-25 | 2012-03-27 | Fisher-Rosemount Systems, Inc. | Method and system for detecting abnormal operation of a level regulatory control loop |
US8606544B2 (en) | 2006-07-25 | 2013-12-10 | Fisher-Rosemount Systems, Inc. | Methods and systems for detecting deviation of a process variable from expected values |
US7657399B2 (en) * | 2006-07-25 | 2010-02-02 | Fisher-Rosemount Systems, Inc. | Methods and systems for detecting deviation of a process variable from expected values |
US7912676B2 (en) * | 2006-07-25 | 2011-03-22 | Fisher-Rosemount Systems, Inc. | Method and system for detecting abnormal operation in a process plant |
EP2392982B1 (en) * | 2006-09-28 | 2015-03-25 | Fisher-Rosemount Systems, Inc. | Abnormal situation prevention in a heat exchanger |
US7917240B2 (en) * | 2006-09-29 | 2011-03-29 | Fisher-Rosemount Systems, Inc. | Univariate method for monitoring and analysis of multivariate data |
US20080188972A1 (en) * | 2006-10-11 | 2008-08-07 | Fisher-Rosemount Systems, Inc. | Method and System for Detecting Faults in a Process Plant |
JP2010509992A (ja) | 2006-11-17 | 2010-04-02 | 任天堂株式会社 | ビデオゲームプログラムのダウンロードシステムおよびダウンロード方法 |
US8032341B2 (en) * | 2007-01-04 | 2011-10-04 | Fisher-Rosemount Systems, Inc. | Modeling a process using a composite model comprising a plurality of regression models |
US8032340B2 (en) | 2007-01-04 | 2011-10-04 | Fisher-Rosemount Systems, Inc. | Method and system for modeling a process variable in a process plant |
US7827006B2 (en) * | 2007-01-31 | 2010-11-02 | Fisher-Rosemount Systems, Inc. | Heat exchanger fouling detection |
US10410145B2 (en) * | 2007-05-15 | 2019-09-10 | Fisher-Rosemount Systems, Inc. | Automatic maintenance estimation in a plant environment |
US8301676B2 (en) | 2007-08-23 | 2012-10-30 | Fisher-Rosemount Systems, Inc. | Field device with capability of calculating digital filter coefficients |
US7702401B2 (en) | 2007-09-05 | 2010-04-20 | Fisher-Rosemount Systems, Inc. | System for preserving and displaying process control data associated with an abnormal situation |
US9323247B2 (en) | 2007-09-14 | 2016-04-26 | Fisher-Rosemount Systems, Inc. | Personalized plant asset data representation and search system |
US8055479B2 (en) | 2007-10-10 | 2011-11-08 | Fisher-Rosemount Systems, Inc. | Simplified algorithm for abnormal situation prevention in load following applications including plugged line diagnostics in a dynamic process |
US9052934B2 (en) * | 2008-06-30 | 2015-06-09 | Fluke Corporation | Remote command interpreter |
US20100235755A1 (en) * | 2009-03-16 | 2010-09-16 | Xerox Corporation | Driver interface and methods |
US8881039B2 (en) | 2009-03-13 | 2014-11-04 | Fisher-Rosemount Systems, Inc. | Scaling composite shapes for a graphical human-machine interface |
US9158566B2 (en) | 2009-09-18 | 2015-10-13 | International Business Machines Corporation | Page mapped spatially aware emulation of computer instruction set |
US8301434B2 (en) | 2009-09-18 | 2012-10-30 | International Buisness Machines Corporation | Host cell spatially aware emulation of a guest wild branch |
US8428930B2 (en) | 2009-09-18 | 2013-04-23 | International Business Machines Corporation | Page mapped spatially aware emulation of a computer instruction set |
US8949106B2 (en) | 2009-09-18 | 2015-02-03 | International Business Machines Corporation | Just in time compiler in spatially aware emulation of a guest computer instruction set |
US8447583B2 (en) | 2009-09-18 | 2013-05-21 | International Business Machines Corporation | Self initialized host cell spatially aware emulation of a computer instruction set |
US8825183B2 (en) * | 2010-03-22 | 2014-09-02 | Fisher-Rosemount Systems, Inc. | Methods for a data driven interface based on relationships between process control tags |
US9709973B2 (en) * | 2010-07-28 | 2017-07-18 | Fisher-Rosemount Systems, Inc. | Handheld field maintenance tool with improved diagnostics |
US8341256B2 (en) | 2010-11-11 | 2012-12-25 | Honeywell International Inc. | Local control network processor (LCNP) emulator for multi-generation control systems |
US9927788B2 (en) | 2011-05-19 | 2018-03-27 | Fisher-Rosemount Systems, Inc. | Software lockout coordination between a process control system and an asset management system |
US9529348B2 (en) | 2012-01-24 | 2016-12-27 | Emerson Process Management Power & Water Solutions, Inc. | Method and apparatus for deploying industrial plant simulators using cloud computing technologies |
KR101371958B1 (ko) * | 2012-08-31 | 2014-03-07 | 주식회사 팬택 | 콜백 정보 표시 장치 및 상기 장치의 동작 방법 |
CN103995491B (zh) * | 2013-02-20 | 2016-06-15 | 西门子公司 | 可编程逻辑控制器的图形输出***和可编程逻辑控制器 |
US10878140B2 (en) | 2016-07-27 | 2020-12-29 | Emerson Process Management Power & Water Solutions, Inc. | Plant builder system with integrated simulation and control system configuration |
US10725797B2 (en) * | 2016-09-05 | 2020-07-28 | Microsoft Technology Licensing, Llc | Service-driven dynamic user interface technology |
DE102016124739A1 (de) * | 2016-12-19 | 2018-06-21 | Endress + Hauser Process Solutions Ag | Bedieneinheit für ein Feldgerät der Automatisierungstechnik |
CN111348073A (zh) * | 2020-03-09 | 2020-06-30 | 南京恩瑞特实业有限公司 | 一种地面电子单元仿真*** |
US11418969B2 (en) | 2021-01-15 | 2022-08-16 | Fisher-Rosemount Systems, Inc. | Suggestive device connectivity planning |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0043201A1 (en) * | 1980-06-16 | 1982-01-06 | Forney International, Inc. | Industrial process control system |
US4942514A (en) * | 1987-11-17 | 1990-07-17 | Hitachi, Ltd. | Process monitoring and control system and method of process monitoring and control |
CN1045195A (zh) * | 1989-02-23 | 1990-09-05 | 费希尔控制国际有限公司 | 过程控制终端 |
GB2266038A (en) * | 1992-03-24 | 1993-10-13 | Afe Displays Limited | Touch screen emulates mouse |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3955180A (en) * | 1974-01-02 | 1976-05-04 | Honeywell Information Systems Inc. | Table driven emulation system |
US4899136A (en) * | 1986-04-28 | 1990-02-06 | Xerox Corporation | Data processor having a user interface display with metaphoric objects |
US5113517A (en) * | 1986-04-28 | 1992-05-12 | Xerox Corporation | Concurrent display of data from two different processors each having different display font and user interface for controlling transfer of converted font data therebetween |
US5345389A (en) * | 1992-04-21 | 1994-09-06 | Vhc, Ltd. | Electronic controller for a glassware forming machine |
US5386503A (en) * | 1992-06-16 | 1995-01-31 | Honeywell Inc. | Method for controlling window displays in an open systems windows environment |
US5379432A (en) * | 1993-07-19 | 1995-01-03 | Taligent, Inc. | Object-oriented interface for a procedural operating system |
US5745762A (en) * | 1994-12-15 | 1998-04-28 | International Business Machines Corporation | Advanced graphics driver architecture supporting multiple system emulations |
US5796984A (en) * | 1996-01-26 | 1998-08-18 | Dell Usa, L.P. | Operating system independent apparatus and method for eliminating peripheral device functions |
US5752249A (en) * | 1996-11-14 | 1998-05-12 | Macon, Jr.; Charles E. | System and method for instantiating a sharable, presistent parameterized collection class and real time process control system embodying the same |
-
1996
- 1996-10-07 US US08/727,727 patent/US5892939A/en not_active Expired - Lifetime
-
1997
- 1997-09-23 JP JP51754498A patent/JP2002511161A/ja active Pending
- 1997-09-23 EP EP97944365A patent/EP0929849B1/en not_active Expired - Lifetime
- 1997-09-23 DE DE69720015T patent/DE69720015T2/de not_active Expired - Lifetime
- 1997-09-23 AU AU45878/97A patent/AU735739B2/en not_active Ceased
- 1997-09-23 CN CNB971986223A patent/CN1304936C/zh not_active Expired - Fee Related
- 1997-09-23 WO PCT/US1997/016908 patent/WO1998015878A1/en active IP Right Grant
- 1997-09-23 CA CA002266446A patent/CA2266446C/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0043201A1 (en) * | 1980-06-16 | 1982-01-06 | Forney International, Inc. | Industrial process control system |
US4942514A (en) * | 1987-11-17 | 1990-07-17 | Hitachi, Ltd. | Process monitoring and control system and method of process monitoring and control |
CN1045195A (zh) * | 1989-02-23 | 1990-09-05 | 费希尔控制国际有限公司 | 过程控制终端 |
GB2266038A (en) * | 1992-03-24 | 1993-10-13 | Afe Displays Limited | Touch screen emulates mouse |
Also Published As
Publication number | Publication date |
---|---|
CA2266446A1 (en) | 1998-04-16 |
WO1998015878A1 (en) | 1998-04-16 |
DE69720015T2 (de) | 2003-12-18 |
DE69720015D1 (de) | 2003-04-24 |
AU4587897A (en) | 1998-05-05 |
EP0929849B1 (en) | 2003-03-19 |
AU735739B2 (en) | 2001-07-12 |
CN1251181A (zh) | 2000-04-19 |
CA2266446C (en) | 2006-08-15 |
US5892939A (en) | 1999-04-06 |
JP2002511161A (ja) | 2002-04-09 |
EP0929849A1 (en) | 1999-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1304936C (zh) | 直观显示对象文件的仿真器及其操作方法 | |
CN1304976C (zh) | 会议*** | |
CN1306406C (zh) | 在多个输入/输出子***映像上共享通信适配器的方法和*** | |
CN1241134C (zh) | 存储域管理*** | |
CN1261892C (zh) | 支持多个客户数据交换协议的工业过程控制数据访问服务器 | |
CN1196009C (zh) | 投影机、图像显示***、数据保存及显示方法 | |
CN1154935C (zh) | 设备控制装置及设备判断方法 | |
CN1041839A (zh) | 包含有在二个目标之间进行数据传送的快照设施的目标管理设施 | |
CN1209725C (zh) | 文件编辑处理方法和文件编辑处理设备 | |
CN1190741C (zh) | 用于支持数据事务的设备和方法 | |
CN101052949A (zh) | 操作*** | |
CN1260665C (zh) | 用于管理可换存储媒体的设备和方法 | |
CN1282039A (zh) | 信息处理方法和装置 | |
CN101075203A (zh) | 存储装置以及其恢复卷生成方法 | |
CN101042676A (zh) | 存储***以及存储区域释放方法以及存储装置 | |
CN1547709A (zh) | 产生具有多个同时贡献信息的作者的有序编译的方法和*** | |
CN1609794A (zh) | 用于计算机平台的编程接口 | |
CN1321275A (zh) | 与源代码控制***交互的方法和设备 | |
CN1383532A (zh) | 图像指定文件的制作和使用了该文件的图像的播放 | |
CN1613240A (zh) | 基于网络的软件扩展 | |
CN1834908A (zh) | 用于将开发模式应用于基于组件的应用程序的***和方法 | |
CN1474979A (zh) | 用于专家***的定制规则***和方法 | |
CN1415091A (zh) | 数据结构管理装置、数据结构管理***、数据结构管理方法以及用于记录数据结构管理程序的计算机可读介质 | |
CN1301476C (zh) | 网关卡、网关控制方法以及网关装置 | |
CN1137830A (zh) | 可重定表征内容的lcd按键开关的交互式可编程接口 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070314 Termination date: 20120923 |