CN1045195A - 过程控制终端 - Google Patents

过程控制终端 Download PDF

Info

Publication number
CN1045195A
CN1045195A CN90100963A CN90100963A CN1045195A CN 1045195 A CN1045195 A CN 1045195A CN 90100963 A CN90100963 A CN 90100963A CN 90100963 A CN90100963 A CN 90100963A CN 1045195 A CN1045195 A CN 1045195A
Authority
CN
China
Prior art keywords
process control
display screen
character
message
display
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.)
Pending
Application number
CN90100963A
Other languages
English (en)
Inventor
拉里·奥斯卡·荣特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Controls International LLC
Original Assignee
Fisher Controls International LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fisher Controls International LLC filed Critical Fisher Controls International LLC
Publication of CN1045195A publication Critical patent/CN1045195A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B23/00Testing or monitoring of control systems or parts thereof
    • G05B23/02Electric testing or monitoring
    • G05B23/0205Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
    • G05B23/0259Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the response to fault detection
    • G05B23/0267Fault communication, e.g. human machine interface [HMI]
    • G05B23/0272Presentation of monitored results, e.g. selection of status reports to be displayed; Filtering information to the user

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Digital Computer Display Output (AREA)
  • Testing And Monitoring For Control Systems (AREA)
  • Alarm Systems (AREA)
  • Selective Calling Equipment (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种用于由过程控制网络和应用网络构成的计算机网络中的过程控制终端。允许将该终端用于过程控制操作和主计算机执行的应用程序。该终端包括Ethernet控制器并仿真标准DEC终端以用在已有系统中。该终端将过程控制相关信息显示在相应显示屏的第一部分而将应用程序相关信息显示在CRT屏幕第二部分中,而第二部分不含在第一部分中使过程控制信息不被应用信息重写。该终端也具有允许操作员自动登录到应用程序而无需键入用户名或通行字的自动登录特征。

Description

本发明涉及过程控制终端,更准确地说,涉及能够在显示屏上各不相同的部分同时显示过程控制信息和其它不相关信息的过程控制终端。
过程控制领域涉及复杂过程的交互式控制,所述复杂过程例如有:用于化工和炼油的化学过程,用于食品加工的过程,纸浆和纸张制造厂中所用的过程,等等。在这些过程中需加以控制的典型的变量包括温度、压力、流率和大量参数。
为了监视和控制这些过程,通常需要过程控制网络。这种网络包括若干和多个监视过程的过程控制器相连接的过程控制终端。由操作员密切监视这些过程控制终端,并要求操作员迅速响应在过程控制终端屏上的可视报警信息。这些报警信息可指出危险或不希望有的状态,例如,危险的高压或越限的温度,这些危险状态有可能造成损坏过程控制设备,例如导致管道或锅炉的破裂,或造成产品报废。
还要求操作员响应在过程控制终端屏上产生的注意信息。这种注意信息指出需要操作员根据具体信息采取具体动作。例如,在过程中使用的化学原料的供应可能少了。在这种场合,监视化学原料供应的过程控制器便会发送供应降低的电子报文给适当的过程控制终端,然后在该终端屏上显示相应的可视信息。操作员一旦看到该信息,应确定待添加的具体的化学原料的供应。
在监视过程控制终端时,操作员通常经历相当长的时间段没有报警或注意信息产生。结果,操作员无事可做,这种无所事事状态不但未能有效地利用操作员的时间,而且使操作员会变得厌烦。补救该问题的一种途径可能是提供操作员另一独立的计算机和显示屏使得该操作员可在他空闲时间执行其他任务。然而,这种方法的不足是需要另一显示屏及计算机,导致要求额外空间及费用。
对类似问题的一般解决途径在授于Huntzinger的美国专利第4,761,642呈中作了描述。Huntzinger公开了一种能够同时响应由主计算机所执行的多个应用程序的计算机系统。将单个显示终端与该计算机系统相连接,并对每一个正由主计算机执行的活跃应用程序显示一个窗口。所述Huntzinger系统从过程控制终端角度来看有严重缺陷。使用该Huntzinger系统的人由于一个窗“遮盖”后面另一窗口而不能观看那些被遮盖的窗口使得那些被遮盖窗口的部分不能呈现于显示屏上。而且,用户可能“弄坏”某窗口引起整个窗口从显示屏上消失,只有被弄坏图象的剩余部分显示为沿显示屏边缘的小图像。
如果用在过程控制系统,Huntzinger系统就会有灾难性后果。如果操作员未看清楚与过程控制有关的一个或多个窗口,操作员就有可能错过了报警或注意信息,而会引起损坏过程控制设备或使产品报废。而且,将Huntzinger系统应用于过程控制领域,会使操作员丧失原来监视过程的责任心。
本发明提供了允许操作员执行过程控制操作和可能与过程控制操作无关的应用操作的过程控制终端,从而克服这些和其它缺点。可执行与该过程控制终端相连接的主计算机相关的应用操作。为防止在过程控制终端屏幕上所显示的应用信息重写包括要在显示屏上显示的报警信息的过程控制信息,该过程控制终端专门将显示屏的第一部分保留用作过程控制信息,专门保留显示屏的第二部分用于应用信息。
在最佳实施例中,本发明的这个特征是这样实现的,即,对接收到的来自主计算机用于在过程控制终端上显示的应用信息加上预定的垂直的象素偏移量。偏移的结果,保证了应用信息不会显示在为包括报警信号的过程控制信息所保留的显示屏部分上。
在按照本发明的最佳实施例中,过程控制终端接收来自过程控制器的过程控制信息,判定是否存在报警条件,并将过程控制信息显示在为过程控制信息专门保留的第一屏部分。过程控制终端也接收来自主计算机的应用信息,并将应用信息显示在专门为应用信息保留的第二屏部分。因此,各不相同的屏部分使得应用信息不能重写过程控制信息从而使得过程控制操作员不会错过报警条件。
另一方面,本发明的过程控制终端仿真标准的数字设备公司(DEC)终端,使得本发明可用于原有计算机系统中。按照本发明这个方面的过程控制终端以标准DEC相同方式响应各种电子信号。例如,该过程控制终端响应接收到的来自主计算机的字符“A”而将光标上移;响应接收到的字符“B”而将光标下移;响应接收到的字符“K”而将一行文本的一部分擦除;响应接收到的字符“M”而将一行文本的一部分删去;以及响应接收到的包括字符“C”的字符串画出一曲线。
本发明的另一特征是自动登录特征,即允许操作员登录到主计算机而无需键入用户名或通行字。本发明的这一特征是通过在响应操作员登录请求时访问存储器的预定部分来实现的。如果存储器的预定部分包含登录信息,将该登录信息与预先选定的登录信息比较以确定是否允许存取计算机程序。如果存贮的登录信息与预选登录信息匹配,那么将操作员自动登录上主计算机程序而无需操作员键入用户名或口令字。
按照参考附图对最佳实施例的详细描述,本发明的这些和其它目的、特征和优点,对本领域一般水平的技术人员是显而易见的,下面给出附图的简单说明。
图1是先有技术的过程控制终端网络的框图;
图2是先有技术的过程控制终端的总的计算机软件的框图;
图3是按照本发明的过程控制终端网络的框图;
图4是按照本发明的过程控制终端的总的计算机软件的框图;
图5是按照本发明的过程控制终端的CRT屏幕上展示的显示;
图6是图4的显示定义数据库组织的图例说明;
图7是图6所示类型的若干显示单元的图例说明;
图8是图4过程数据库组织的图例说明;
图9是图4所示键盘过程的流程图;
图10是图4所示显示调度程序的流程图;
图11是图4所示显示解释程序的流程图;
图12是图4所示过程网络驱动程序的流程图;
图13是图4所示报警和注意列表过程的流程图;
图14是图4所示应用窗口过程的处理流图;
图15是图14所示仿真终端步骤的状态图;
图16是图15所示显示文本步骤的流程图;
图17是图15所示从逸出状态到初态状态和CSI状态的多个状态迁移的图示说明;
图18是图15所示从CSI状态到初始状态的若干状态迁移的图示说明;
图19a到图19k为图17和图18中所示各步骤的流程图;
图20a到图20b为由图19a到图19k所示若干步骤所调用的两个子程序的流程图;
图21为图15所示图形状态的状态图;
图22a到图22e为图21中所示各种状态的状态图;
图23a和图23b为由图22a到图22e中所示许多步骤所调用的两个子程序的流程图;以及
图24是按照本发明的自动登录过程的流程图;
先有技术的过程控制终端网络如图1所示。在下面对本发明的最佳实施例描述之前描述该先有技术的网络,以便有助于更好地理解本发明。现在参考图1,过程控制终端网络10包括许多借助于链路(例如,局域网络16)与多个过程控制终端14相连接的过程控制器12。过程控制器12监视并控制诸如化工过程,食品加工、造纸及纸浆过程等的各种过程。控制器12监视并控制诸如温度、压力、流率等的变量以便在规定范围内执行受控过程。每个控制器12可监视不同于另外控制器所监视的过程或变量。
过程控制终端14简化了过程控制器12和过程控制操作员之间的人机接口。在图1的左边部分示出了一个过程控制终端14,该终端包括用于接收操作员输入的键盘18、用于显示受控过程相关信息的阴极射线管(CRT)20以及软盘驱动器22。该磁盘驱动器的目的是允许将计算机程序装入终端14以控制该终端与过程控制器12的交互作用。
过程控制终端14的内部结构包括借助于计算机程序控制终端14的总的操作的处理器24。处理器24通过内部总线30与磁盘控制器26和随机存取存储器(RAM)28相连。每次将终端14接通,操作员可借助磁盘驱动器22将计算机程序输入到终端14,然后磁盘控制器26从磁盘驱动器22读出程序并以常规方式将程序存贮在RAM28中。将串行控制器32与总线30相连以便于操作员通过键盘18输入。串行控制器32也可与串行打印机(未示出)相连以便于书写报告。常规CRT控制器34连接在CRT和内部总线30之间以控制CRT屏幕上的显示。常规网络控制器36与内部总线30相连有助于终端14和过程控制器12之间的通信。
现在参考图2,示出了图1中过程控制终端14的一部分和由处理器24执行的若干计算机程序模块的先有技术的图,这些程序模块包括与串行控制器32连接的串行驱动程序40。该串行驱动程序40是常规软件模块,用于将从键盘18输入的表示各种键盘字符的电子数据传到键盘过程42。键盘过程42的功能是对由行驱动程序40产生的电子数据起反应而将电子报文送到显示调度程序44和CRT驱动程序46。显示调度程度44控制准备将哪一个显示示出在CRT屏幕上,因某一时刻可能有一个以上显示存在于RAM28中。本文中所用术语“显示”通常是指所显示的图象和文本信息而并非指实际的CRT屏幕本身。CRT驱动程序46通过将所请求信息显示在CRT屏幕上而响应来自键盘过程42、显示调度程序44,和显示解释程序48的电子命令。
网络控制器36与过程网络驱动程序50相连接。网络驱动程序50根据来自网络控制器36的命令而将数据存储在RAM28中的过程数据库52或从该数据库中进行数据检索。过程数据库52包含受控于过程控制器12的各种过程的当前状态以及和操作员选择的报警极限(例如,高压或高温的极限)相关的报警数据的电子数据。网络驱动程序50也将数据送到RAM28中的显示定义数据库54。显示定义数据库54包含与显示相关的电子数据,所述显示可在CRT屏幕上示出,所述显示相关电子数据除了文本还包括图象表示数据。某一时刻只示出各种显示之一。
最后,图2的过程控制终端包括连接在过程数据库52和CRT驱动程序46之间的报警和注意列表过程56。报警和注意列表过程56周期性地搜索由网络驱动程序50创建的报警和注意链接表,在存在报警或注意条件时产生电子的警告和注意报文,并将这些报文发送到CRT驱动程序46以使可视报警和注意信息出现在CRT屏幕上。
将按照本发明的过程控制终端用于图3所示过程控制系统中。图3的过程控制系统类似于以上所述系统,在上述系统中包括过程控制器12和过程控制终端的网络。然而,图3的系统还包括与过程控制网络连接的主计算机网络。包含主计算机网络使得过程控制操作员可借助于单个过程控制终端及其相关CRT屏幕监视各种过程并运行应用程序。图3所示的与图1相应元件基本相同的元件用相似数字标识,然而,按照本发明已对图3的过程控制终端进行了实质上的改进,因此,就用不同于图1的数字来指定图3中的过程控制终端。
接着参考图3,按照本发明的过程控制终端60类似于图1中的过程控制终端14。尤其是,各个硬件单元包括处理器24、磁盘控制器26、RAM28、内部总线30、串行控制器32、CRT控制器34和网络控制器36,所述这些元件与图1中相应元件基本相同,然而,按照本发明的过程控制终端还包括与内部总线30连接的Ethernet控制器62。Ethernet控制器62是从Maynard、Massachusetts的数字设备公司(DEC)可现成购得的常规控制器,将该控制器通过Ethernet局域网(LAN)66与一个或多个常规主计算机64相连。主计算机64包括以常规方式用来与终端60的控制器62进行通信的第二个常规Ethernet控制器68。
主计算机64有能力执行许多应用程序70,这些应用程序和通常与过程控制终端有关的过程控制程序及数据无关。主计算机网的连接使过程控制操作员能在任何空闲时间内利用和他所控制的过程无须相关的应用软件。这些应用程序使操作员可执行诸如发出材料请求、记录换班日志、记录时间等的任务,即事实上可执行任何与计算机有关的其它任务。
图4中示出了过程控制终端60的一部分以及由处理器24所执行的若干操作过程的图。图4中示出的和图2中相应元件基本上相同的元件都用相似数字来标识,然而,图4中基本不同于图2中相应元件的元件以下则用不同数字来标识。
接着参考图4,和本发明有关的软件模块基本上已作修改,这些已修改的软件模块是键盘过程76,显示调度程序78,以及显示解释程序80。已将应用窗口过程82和常规Ethernet驱动程序84加到过程控制终端60。Ethernet驱动程序84是Digital    Equipment    Corporation公司可现成购得的商品化普通软件包,它便于应用窗口过程82与Ethernet控制器62之间的通信。
下面详细说明的图4中示出的软件模块控制过程控制终端60的总的操作,它包括在CRT屏幕上示出显示。本发明的重要特征在于对CRT屏幕的控制。尽管加到过程控制终端60上的、允许操作员执行和过程控制控制无关的附加任务的能力是所述终端自身的优点,但也要对该外加的能力仔细地加以控制,使得它不干扰过程控制操作员的最重要的责任,即监视所控制的过程并且迅速对报警和注意信息起反应。尤其是,本发明的这种特性使得CRT屏幕受控以便将过程控制信息及无关的应用程序的有关程序各在CRT屏幕上相互不同的部分中显示出来。因此,使过程控制操作员不能由于疏忽而遮盖过程控制窗口并因此错过重要报警和注意信息。
现在参考图5,该图示出了按照本发明的一种可能的CRT显示90。该显示90包括为过程控制信息保留的第一部分92。该部分92位于屏幕的较下部位并包括屏幕最下面的90个象素,如图5右边所指示。该部分92专用于过程控制信息,不能被应用信息所重写,并且不能使这部分从CRT屏幕上消失,除非断开该过程控制终端60的电源。特别是,这种专用的过程控制部分92可包括第一窗口94,该窗口包含当前正在屏幕上部96中所显示的显示的名称。该上部96由266象素的应用窗口98和另一包含三个附加窗口100的124象素高的另一部分所组成。过程控制部分92还包含操作员注意请求(OAR)窗口102和报警窗口104,其中窗口102中可显示注意信息,而报警窗口104中则可显示报警信息。
在窗口94、102、104下面是用于操作员过程控制相关输入的操作员输入窗口106和用于显示出错信息的信息窗口108。
图5中所示的显示在应用窗口98的两边有一对16象素宽的垂直空白边界110。整个显示为512象素宽、480象素高。
图5示出的显示是一个示范性的显示。更多的显示可存贮在RAM28中并响应操作员请求而在CRT屏幕上显示出来。可在屏幕上示出的显示是可变化的。有些显示不可包括在应用窗口98中,另一些显示可包括在应用窗口98中,但是在显示屏的不同位置上,诸如最顶端。然而,尽管显示屏的上面的390个象素的部分96可变化,但是,下面的90象素部分92是过程控制信息专用的并且始终含有窗口94、102、104、106、108,在显示屏相同位置包含报警和注意窗口102、104。因此,操作员要使这些窗口消失是不可能的,从而操作员就不会因疏忽而错过报警或注意信息。
如下面所详细说明的,如同图5中显示的每幅屏幕显示可用相应显示列表来产生。图5中在窗口94示出的显示列表的名称为“Reactor”(反应器)。为改变在屏幕上示出的显示,操作员可输入希望在窗口106中显示的显示号。
操作员也可将信息输入到显示的上部窗口98、100中的任一个。为此,操作员在窗口106中键入所要求窗口号。每个窗口的窗口号显示在该窗口左上角上。这样,应用窗口98为窗口号1。当前输入有效的窗口在其周围有双线方框(未示出)。
尽管应用窗口98可在显示的上部96中到处移动,但将该窗口的大小固定为与标准屏幕相当的大小,即24行、每行80字符。尽管该大小是可改变的。
下面给出在总的图4中示出的各过程的详细说明,这些过程用于完成涉及过程控制终端90与Ethernet网络的交互作用以及过程控制和应用程序信息在CRT屏幕上的显示的新操作。
现参考图6,该图示出了图4中包括多个存储器部分的显示定义数据库54的结构,其中包括包含当前显示列表号的部分120,说明数据库54中显示列表号的部分122、以及可变个数的部分124,其中每个部分124包含相应的显示列表124。显示定义数据库54中每一个显示列表124对应于如图5中示出的CRT显示,可由操作员从数据库54选择特定显示列表使相应的显示在CRT屏上示出。数据库54中存储的显示列表的个数是可变的,取决于用户对过程控制终端的编程方法。如上所述,尽管有不同的显示列表对应于不同的屏幕显示,但在一时刻只有其中一个显示在CRT上出现,该过程控制窗口92不会在屏上消失,而可用各个显示列表124对之加以说明。
在图6的中间部分,示出的显示列表124包括多个存储器部分,其中包括存贮有显示列表124中显示单元数的第一存储器部分126,说明构成显示列表124(并构成在CRT屏幕上特定显示)的特定显示单元的其它存储器部分128。显示单元是相当简单的图象显示,例如圆圈、方框、符号等等。
在图6的右边部分详细地示出了与应用窗口对应的显示单元的存储器部分128,该部分包括含有显示单元长度(对应于第一单元130后面存储器单元的个数)的第一单元130。存储器单元132包含标识显示单元类型的代码,在这种情况下,类型为应用窗口,而单元134说明窗口个数。四个存储器单元136、138、140、142通过定义窗口各个角的X和Y的坐标便完全确定该窗口的大小和位置。
在Ethernet网络中,对各终端和各主计算机指派一唯一的结点地址以利于通信。因此,应用窗口单元128中的存储器单元144包含用于执行与应用窗口单元128对应的应用程序的主计算机64的结点地址。
存储器单元146包含特许用户名,而存储器单元148包含用于对应于应用窗口单元128的应用程序的特许通行字。如下所述,存储器单元144-148是可选的,并可联系统本发明的自动登录特性加以使用。
图7中示出了对应于圆圈显示单元、方框显示单元和符号显示单元的存储器部分128。这些存储器部分128中的每一个包括说明后继存储器单元个数的第一存储器单元,说明显示单元类型的第二存储器单元,以及说明显示单元大小和位置的附加存储器单元。存储器部分128可包括含有填充标志的存储器单元,该填充标志说明显示单元内部是否应发亮或换一种形式是否仅有显示单元的边界呈现在屏幕上。
图8示出了过程数据库52的逻辑结构。如上所述,过程数据库包含三种基本类型的信息:受控于过程控制器12的各种过程的相关信息,诸如报警状态位的报警极限信息和诸如注意状态位的注意极限信息。
现在参考图8,过程数据库52包括含有受控过程有关信息的第一存储器部分160,它包括当前过程值和任何相关报警状态位或注意值。如被允许,报警状态位说明是否存在报警条件。如果注意值包括在存储器部分160中,那么可用来说明是否存在注意条件。该注意值用作指向应在CRT屏幕上显示的注意信息的地址的指针。第二存储器部分162包含报警链接表,和含有注意链接表的第三部分164。报警链接表包含所有指出报警条件的过程变量的列表,而注意链接表包含所有指出注意条件的过程变量的列表。当过程变量的实际值分别超过其相关报警或注意极限值时,便存在报警或注意条件。这种过程变量值与相应报警和注意极限的比较通常由过程控制器12进行,该控制器设置表示存在相应报警条件的特定报警状态位并供给与特定注意信息相对应的数字注意值。
报警链接表的存储器结构包括含有链接表中第一报警条件的指针或存储器地址的存储器单元164,以及含有链接表中最后一个报警条件的指针或存储器地址的存储器单元168。存储器单元166说明含有报警信息的第一存储器单元170a的存储器地址。存储器单元170a含有下一包含报警信息的存储器单元的指针和指向前一包含报警信息的存储器单元的指针,当后者为零时,那么该单元170a为链接表的第一个单元。单元170a也包括存在报警条件的点号。每个点号使唯一的报警信息在CRT屏幕上加以显示。
报警链接表162中最后报警单元170z包括指向下一个前一个入口的指针。在这种情形下,由于单元170z为链接表中最后一个单元,所以该指向下一入口的指针为零。在单元170a、170z之间的中间的报警存储器单元中的每一个(用虚线指出)和单元170a、170z具有相同的结构。按照刚刚说明过的报警链接表相同的方式组织注意链接表164。链接表是存储数据的常规方法。
图9示出了图4中键盘过程76的流程图。键盘过程76的基本功能响应从串行驱动程序40发送来的键信号而将适合报文发送到显示调度程序78和应用窗口过程82。发送到显示调度程序78的命令包括三种基本类型:选择窗口、取消选择窗口以及示出特定的显示。
为选择窗口,操作员必须键入一个“选择窗口”命令并输入相关窗口号。结果,环绕该窗口画出双线方框。于是该窗口便是允许操作员输入的。“取消窗口选择”命令使有效窗口周围的双线方框消失并禁止操作员输入到该窗口。“示出显示”命令使得与操作员输入的显示号对应的显示呈现在屏幕上。尽管窗口选择确定了该窗口是否接收操作员输入,但窗口可接收来自主计算机64的输入,只要该输入是在CRT屏幕上的显示而不管它是否已被“选择”。
现在参考图9,在步骤200,键盘过程等待来自串行驱动程序40的键信号。一旦接收到键信号,该过程分支到步骤202以便确定该键信号是否是“示出显示”键。如果是,该过程分支到步骤204,产生包括显示列表号在内的显示请求报文以发送到显示调度程序78。显示请求报文最后便得由显示列表号所说明的显示在CRT屏幕上呈现。然后该过程转回步骤200等待来自串行行驱动程序40的另一键信号。
在步骤202,如果来自串行驱动程序40的键信号不是示出显示键,那么所述过程分支到步骤206以确定是否为“选择窗口”。如果是,该过程分支到步骤208,将所选窗口号置于发送给显示调度程序78的选择窗口报文中。然后该过程转回步骤200以等待来自串行行驱动程序40的另一键信号。
在步骤206,如果来自串行驱动程序的键信号不是选择窗口键,该过程分支到步骤210,确定是否为“取消窗口选择”键。如果是,该过程分支到步骤212,将取消窗口选择号置于发送到显示调度程序78的取消选择窗口的报文中。然后该过程返回步骤200等待来自串行行驱动程序40的另一键信号。
最后,在步骤214中,由于来自串行驱动程序40的键信号不是三种窗口选择或显示命令中任一种,故而它包含应用窗口过程82的信息。因此,产生包括一个键或字符的报文并将之发送到应用窗口过程82中。然后,该过程分支返回步骤200等待另一键信号。
图10中示出了图4中显示调度程序78的流程图。该显示调度程序78的基本操作包括对应用窗口的选择和取消选择以及说明将哪一显示在CRT屏幕上示出。该显示调度程序通过来自键盘过程的三种类型的电子报文来执行这些功能,三种类型是窗口选择请求、取消窗口选择请求和显示窗口清求。
现在参考图10,在步骤230,该程序等待来自键盘过程76的报文。在步骤232,程序确定该报文是否为窗口选择请求,所述窗口选择请求就是在操作员已经输入窗口选择命令时所接收到的报文。如果该报文是窗口选择请求,那么程序分支到步骤234,这时通过将一命令发送到CRT驱动程序46来选择窗口,并请求CRT驱动程序在该窗口周围画一双线方框于是使得该窗口输入有效。然后程序返回到步骤230以等待另一报文。
在步骤232,如果报文不是窗口选择请求,程序分支到步骤236,在步骤236程序判定是否为取消窗口选择请求。如果该报文是取消窗口选择请求,程序分支到步骤238而取消窗口选择。为取消窗口选择,发送一命令到CRT驱动程序46请求将窗口周围的双线方框擦去并使该窗口输入无效。然后程序返回到步骤230等待另一报文。
在步骤236,如果报文不是取消窗口选择请求,程序分支到步骤240,这时程序使一新显示在步骤240-244进行初始化。具体地说,在步骤240将显示信号灯加锁以限制对显示定义数据库54的存取。在步骤242,将显示定义数据库54的存储器部分120中当前显示列表号设置成与来自键盘过程76报文中所含显示列表号相等。然后通过将一填充方框命令发送给CRT驱动程序46来清除CRT屏、最后,在步骤244,将显示信号灯开锁使得可对显示定义数据库54进行存取并使得新的显示出现在该屏幕上。然后该程序返回到步骤230,等待来自键盘过程76的另一报文。
图11中示出图4的显示解释程序的流程图。显示解释程序80的基本操作包括读出由显示定义数据库54中存储器部分120中存储的显示列表号所规定的显示列表124的内容,以及将一绘图原语传送到CRT驱动程序46以使CRT驱动程序46在CRT屏上出现所选择的显示,所述绘画原语和所说明显示列表124中所含各个显示单元相对应。
现在参考图11,程序在步骤250等待1秒,控制程序80执行的频度。然后在步骤252对显示信号灯加锁以防止显示调度程序78和显示解释程序80试图同时存取显示定义数据库54。在步骤254,存取显示定义数据库54的存储器部分120以判定当前显示号及显示列表124的指针。将显示单元索引初始化为1。该索引用作确定显示列表中所有显示单元已被存取的时刻的计数器。
将由显示号说明的显示列表124中所包含的每一个显示单元128通过步骤256-262显示在CRT屏幕上。步骤256是测试,用以确定由显示索引所说明的显示单元是否为应用窗口单元。如果是,那么程序分支到步骤258,如果尚未创建则创建一个应用窗口过程。在步骤260,从显示定义数据库54中检索由索引所说明的显示单元128以及它的构成部分,例如部分130-148,并将显示单元128以常规方式变换为一组绘画原语。将绘画原语送到CRT驱动程序46,使该显示单元在CRT屏幕上显示。在步骤262,递增显示单元索引,将索引的当前值与存储器单元126中存储的显示单元号进行比较,以确定是否有任何附加显示单元要检索。如果还有显示单元,程序分支返回到步骤256以便检索下一显示单元。如果已经检索所有显示单元,程序分支到步骤264,将显示信号灯开锁以允许显示调度程序78存取显示定义数据库54。然后程序分支到步骤250。
图12中示出图4的网络驱动程序50的流程图。网络驱动程序50的基本操作包括更新显示定义数据库54和过程数据库52中的信息。参考图12,在步骤280,网络驱动程序50等待来自网络控制器36的报文。一旦接收到报文,程序分支到步骤282,确定该报文是否为显示定义报文。有两种基本报文类型;显示定义报文和过程信息报文。如果该报文是显示定义报文,程序分支到步骤284-288,以便更新显示定义数据库。具体地说,在步骤284,暂时禁止所有显示过程,在步骤286通过增加由该报文所说明的显示单元来更新显示定义数据库54,而在步骤288,允许显示过程。然后程序分支返回到步骤280以便等待另一来自网络控制器36的报文。
现在回过来参考步骤282,如果来自网络控制器36的报文不是显示定义报文、意味该报文是过程信息报文,那么程序分支到步骤290,通过将包含在该过程信息报文中的进程值存储到过程数据库52中来更新过程数据库52。在步骤292,程序循环通过过程数据库52的存储器部分以确定是否有更新后的过程信息已引起报警条件。如果这样,程序分支到步骤294,将报警加到报警链接表162。如果该报文含有如同在步骤296所确定的任何操作员注意信息,程序分支到步骤298,将注意信息加到过程数据库52中注意链接表164中。然后程序返回步骤280等待来自网络控制器36的另一报文。
图13示出图4中报警和注意列表过程56的流程图。报警和注意列表处理程序56的功能是每秒检验一次报警链接表162和注意链接表164,以判定是否存在任何应引起操作员注意的报警和注意条件。
现参考图13,在步骤310,该过程等待1秒的预定时间周期,该时间周期用于控制执行程序56的频度。在步骤312,该过程检查报警链接表162以判定是否有任何报警。如果在链接表162中有报警,检索该链接表中第一个报警,并产生一个用于发送给CRT驱动程序46的使用点号的电子的报警报文,使得相应可视报警信息出现在CRT屏幕上。电子报警报文包括说明可视信息的文本原语以及说明该可视信息出现的CRT屏幕上的预定部分的坐标。该预定屏幕部分是报警窗口104并用窗口104的X和Y的象素座标来说明该报警窗口。然后将电子报警报文发送给CRT驱动程序46使得在报警窗口104中出现可视报警信息。
然后该进程分支到步骤316,存取注意链接表164来判定有无任何需操作员注意的任何过程控制条件。如果在链接表164中有注意条件,检索该表中第一个注意条件,产生电子注意报文以发送到CRT驱动程序46使得在CRT屏幕上出现可视注意信息。电子注意报文包括说明可视信息的原语以及说明出现可视信息的CRT屏幕上预定部分的坐标。该预定屏幕部分是操作员注意请求窗口102并用该窗口102的X和Y象素坐标来说明。然后将电子注意报文送到CRT驱动程序46使得可视注意信息出现在注意窗口102中。
然后程序回到步骤310以便再次检查报警和注意链接表。如果在链接表162、164中的一个有一个以上的报警或注意条件,那么作员可请求将与报警和注意信息对应的整个列表在CRT屏幕上显示出来。
图14示出图4中应用窗口过程的过程流图。应用窗口过程82负责过程控制终端60的主计算机64之间的通信。应用窗口过程82还在过程中起主要作用,即使得应用程序窗口和与之相连的可视信息在CRT屏幕上为应用程序相关信息保留的部分中予以显示。
现在参考图14,过程82执行4个基本步骤,其中三个步骤是预备步骤。这些受控于程序循环或序列发生器330的步骤包括:将各种参数和变量初始化步骤332、读出结点地址步骤334、与远距离结点连接的步骤336以及处理报文步骤338。每执行一次步骤332-336,由操作员登录应用窗口,并建立主计算机64和过程控制终端60之间的通信。一旦通信建立,执行步骤338以便在主计算机64和终端60之间发送过程报文。
在过程报文步骤338执行期间,通过Ethernet网络64将报文从主计算机64传送到终端60或反向。这些报文可包括文本信息或图形信息。读用户输入步骤340对用户在键盘上的击键输入起反应。一旦用户输入终止字符,例如回车或传送键,将终止字符前的字符传送到主计算机64。
读用户输入的步骤340有两种基本类型的操作,取决于主计算机64是否已发送一个读请求报文给终端60,该报文指出该终端应将读报文送到主计算机64。如果读请求已被终端60接收,那么随着操作员键入每个键,在步骤342将该键存储在键盘缓冲区(未示出)。然后在步骤344将该键回弹在CRT屏上,而最后,一旦接收到终止字符,便将键盘缓冲区中所键入字符包括在传磅给主计算机64的报文中。
如终端60还没有接收到读出请求,那么将键入字符包括终止字符存储在缓冲区中直至接收到读请求。一旦接收到读请求,在步骤346将缓冲区中字符以报文形式传送给主计算机64,然后在步骤344将这些字符回弹在屏幕上。
过程82也响应来自主计算机64的报文而在步骤348对Ethernet报文进行处理。这种处理可包括如上所述的读请求,或指出主计算机64想发送报文给终端60的写请求。在读请求场合,在步骤350对该请求进行处理,首先在步骤352将字符从键盘缓冲区中移去,使该字符如前所述步骤344将字符回弹在屏幕上,在前面所述步骤346将包括字符的报文发送到主计算机64。
如终端60接收到写请求,便执行处理写请求的步骤354,执行仿真终端的步骤356。以下详细描述的仿真终端步骤356它基本上就是报文转换器,即转换来自主计算机64的Ethernet报文,使得终端60可对之响应。也可由回弹字符步骤344使用仿真终端的步骤356,从而所述仿真步骤356响应操作员在终端60上所输入字符。
图15示出图14中仿真终端步骤356的状态图。仿真终端356的操作是仿真标准的DEC终端,这种终端能够以标准DEC终端的相同方式对从主计算机64接收到的信号起反应。来自主计算机64的报文可包括图形信息文本信息或和CRT屏上光标定位相关信息。也可将仿真终端步骤356用于将字符反射在终端60的CRT屏幕上。
现在参考图15,状态图开始于在初始状态370的执行,而所述初始状态基本上为等待状态。一旦接收到待在CRT屏幕上显示的ASCII文本字符,或回车、或换行字符,该程序分支到显示文本步骤372,在图16中更详细示出该步骤。
参考图16,当执行显示文本步骤372时,在步骤380,程序判定从主计算机64接收到的字符是否为回车,如果是回车,程序分支到步骤382,设置X光标位置为1,即CRT屏幕最左边的X光标位置。因该程序一次只对一个字符响应,该程序便终止。
在步骤384,程序判定从主计算机64接收到字符是否为换行,如是换行,则分支到步骤386,调用光标下移例程将光标下移一位置。下面更详细地描述光标下移例程。
在步骤388,程序判定当前X光标位置是否小于或等于80。如果不是,那么程序终止,因为该应用窗口98只有80字符宽,该程序不能写在CRT屏幕上超过第80字符的位置上。
在步骤390程序判定该窗口是否在显示。如果该窗口不在显示,程序绕过步骤392,步骤392用于将文本命令发送到CRT驱动程序,使得所接收到字符在CRT屏幕上显示出来。步骤392使用一对下面说明的子程序CALC_X和CALC_Y,用以确定和当前光标位置对应的X、Y象素位置。将字符在CRT屏幕上显示后,递增X光标位置使得刚才显示的字符不会被下一字符重写。
图20a和20b分别示出CALC_X和CALC_Y子程序。这些子程序的功能是将所说明的X、Y坐标位置改变为相对应的X、Y象素位置。应用窗口98的X、Y坐标可从窗口右上角的(1,1)变化到窗口右下角的(24,80)。由于每个文本字符为6象素宽,所以X方向每个坐标对应于6个象素。而由于每个文本字符为10象素高,所Y方向的每个坐标对应于10个象素。
现在参考图20a,通过使用如下表述的等式[1]来确定X象素位置:
X=16+X_window_offset+(6*X_Position)
其中X是正计算的X象素位置,16是在CRT屏幕左边界上空白垂直部分110所含象数个数,X_window_offset是相对于左边垂直边界部分110的预定窗口偏移,数字6是每个字符所用水平象素个数,而X_position是正计算X象素位置的X坐标位置。
图20b中所示CALC_Y子程序一般类似于图20a中的CALC_X子程序。然而,一个基本差别在于:尽管所计算出的X象素位置随X_position增加而增加,但所计算出的Y象素位置随Y_position增加而减小。这是由于应用窗口98的Y座标位置是用自顶到下递递增方式定义的,而终端60的CRT屏幕的Y象素位置是以从下而上递增方式定义的。这样窗口98左上角光标座标位置为(1,1),而终端60的CRT屏幕左下角象素位置为(0,0)。
现在参考图20b,通过使用表述如下的等式[2]来确定Y象素位置:
Y=90+Y_window_offset+(240-(10*(Y_Position-1)))
其中Y是正计算的X象素位置,数字90是用于过程控制部分92的象数个数,Y_window_offset是相对于显示的过程控制部分92的预定窗口偏移,数字240表示文本在其中出现的应用窗口98的象素高度,数字10是用于每个字符的垂直象素的个数,以及X_position是正计算Y象素位置的Y坐标位置。
应该理解数字90在等式[2]中的使用,该数对应于显示的过程控制部分92的高度、使用该数可防止将任何可视的应用程序信息显示在过程控制部分92。
图17示出图15中从逸出状态400到初始和控制序列导引器(“CSI”)状态370、406的若干次状态迁移。一旦程序接收到来自主计算机64的“ESC”字符后进入逸出状态400,该程序根据在“ESC”字符后所输入的字符分支到CSI状态406或初始状态370。此外,程序可执行若干中间步骤中的一个,例如在改变为新状态之前执行诸如光标右移的操作。
现在参考图17,程序一旦接收到以下字符A、B、C、D、H、J、K和M中的任一个便从逸出状态400改变为初始状态370。此外,这些字符中的每一个字符导致一特定的中间步骤被执行。特别是,字符C使得在步骤410将光标右移一个位置;字符A或M使在步骤412将光标下移一行;字符B或D使在步骤414将光标下移一行;字符H使在步骤416将光标移到预定位置;字符J使在步骤418将窗口擦除;以及字符K使在步骤420擦除若干行。下面更详细地说明步骤410-420。
当所有参数已在步骤422清除后,接收到“[”使程序从逸出状态400迁移到CSI状态406。在CSI状态406,要使用若干参数。步骤422将可能仍存在的这些参数的老的值清除掉。
图18中示出图15中从CSI状态406到初始状态370的若干状态迁移。程序从CSI状态406转移到初始状态370并且还执行若干中间步骤中的一个,取决于程序处于CSI状态406时所输入的字符。
参考图18,字符“@”通过执行步骤430将若干字符插入到正在CRT屏幕上显示的文本中。字符“A”通过执行步骤412使光标上移。字符“B”通过执行步骤414使光标下移;字符“C”通过使用步骤410将光标右移;字符“D”通过执行步骤432将光标左移;字符“H”或“f”通过执行步骤416将光标移到预定位置;字符“J”通过执行步骤418将窗口擦掉;字符“K”通过执行步骤420将若干行擦除;字符“L”通过执行步骤434将行插入;字符“M”通过执行步骤436将若干行删除;字符“P”通过执行步骤438删除若干字符。这些步骤410-438中的每一个给出细节如下:
图18中示出的某些步骤也示出在图17中。例如,光标右移步骤410示出在图17和图18中。其原因在于:这些步骤既可为其值由主计算机64规定的参数所用,又可在主计算机64未规定参数时使用预定参数。例如,光标右移命令包括说明应将光标右移参考消息个屏幕位置的参数。该参数可由主计算机64说明,或者,如果主计算机未说明,则可将之设置为预定值。
如未规定参数,这些参数值如图17所示进行预置,否则在图18所示的步骤440-442确定这些参数值,各个参数用“;”予以分开。特别是,在图17中,将第一个参数,即参数1在步骤409、411、413的各步骤设置为1,而在步骤417、419中各步骤中设置为0。在步骤415,将参数1和第2个参数即参数2均设置为0。
参考图18,在步骤442将程序处于CSI状态406所接收到的各个参数从ASCII形式变换为二进制形式。接收到参数据并变换以后,如果程序接收到来自主计算机64的“;”字符,即意味后续有其它参数,那么重复步骤422。以这种方式接收到的参数的特别用法,通过以下更详细说明的步骤410-438的描述,是显而易见的。
图19a示出图18中插入字符步骤430的流程图。进行这一步骤时,通过产生一个屏幕右卷命令并将之发送到CRT驱动程序46而允许将一个或多个字符插入到已在CRT屏幕上显示的文本中。屏幕右卷命令的结果是将屏幕上出现的文本右卷以产生用于在后继执行显示文本步骤372时插入所需文本的间隔。插入字符步骤430使用单个参数,如该参数为非零,说明待插入字符数,即,如果为0,说明将插入单个字符。
现在参考图19a,在步骤460,程序确定将要插入字符的窗口当前是否正在显示。如没有窗口在显示,主计算机64便没有输出到该窗口。这样,在步骤460,如果窗口不在显示,那么程序无须执行任何动作而转到结束。在步骤462,程序判定参数1是否等于0。如为0,意味接着只有单个字符要插入,那么,程序分支到步骤464,将参数1设置为1。
步骤466-472确定将要右卷以便为待插入字符留出空间的水平文本行的四个角中各个角的X、Y象素位置。在步骤466,使用当前X光标位置,使用图20a所示CALC_X子程序计算右卷区域左边的X象素位置,如上所述那样。在步骤468,使用该行结束处的X位置,(这时X取80)调用CALC_X子程序计算机右卷区域右边的X象素位置。在步骤470,通过调用CALC_Y子程序计算待插入字符行的下边的Y象素位置,而在步骤472通过调用CALC_Y子程序确定待插入字符的行的上边Y象素位置。
在步骤474,将步骤466-472确定的X和Y象素位置所规定的方框通过发送一个右卷命令给CRT驱动程序46右移由参数1确定个数的光标位置。结果,产生一个空白行部分,使得在后面执行显示文本步骤372时可接着插入所要求的字符。
图19b中示出图18的删除字符步骤438的流程图。执行这一步时,通过产生屏幕左卷命令并将之发送给CRT驱动程序46,使得将已经在CRT屏幕上显示的文本中删去一个或多个字符。屏幕左卷命令的结果是使屏幕上出现的文本向左卷动以删去所要求的字符。删除字符步骤438使用单个参数,该参数若为非零,便说明待删字符数,即,如该参数为0,则说明删除单个字符。
接着参考图10b,在步骤480,程序确定待删字符的窗口当前是否在显示。如果该窗口不在显示,对窗口无输出。这样在步骤480,如果窗口不在显示,程序不执行任何动作而转至结束。在步骤482,程序判定参数1是否为0。如为0,意味着只有单个字符待删除,那么程序分支到步骤484,将参数1设置为1。
步骤486-492确定将要左卷以删去所要求字符的水平文本行的四个角中每个角的X、Y象素位置。在步骤486,使用当前X光标位置,利用图20a所示并如前所述那样的CALC_X子程序计算左卷区域左边的X象素位置。在步骤488,使用从字符待删行的结束处的X位置,(这时X取80),利用CALC_X子程序计算左卷区域右边的X象素位置。在步骤490,通过调用CALC_Y子程序来计算其中字符待删的行的底部Y象素位置,以及在步骤492,通过CALC_Y子程序确定其中字符待删的行的顶部的Y象素位置。
在步骤494,通过发送左卷命令给CRT驱动程序46,将步骤486-492中所确定的X和Y象素位置所规定的方框左卷由参数1所规定个数的光标位置。结果,待删除字符被CRT屏幕上紧接它们右部的内容所重写。
图19c示出图18中插入行步骤434的流程图。执行这一步时,通过产生屏幕下卷命令并将之发送到CRT驱动程序46使得将一行或多行文本插入到已在CRT屏幕上显示的文本中。屏幕下卷命令的结果是,使得在屏幕上出现的文本下卷以产生在接着执行显示文本步骤372插入所需行的间隔。插入行步骤434使用单个参数,若该参数为非零,该参数说明待插入的行数,即如为0,说明插入单行。
现在参考图19c,在步骤500,程序确定待插入行的窗口当前是否在显示。如该窗口不在显示,则对该窗口无输出。这样在步骤500,如该窗口不在显示,程序不执行任何动作而转至结束。在步骤502,程序确定参数1是否为0,如为0,即指仅插入1行,那么程序分支到步骤504,将参数1设置为1。
步骤506-512确定将要下卷以给待插入行留出空间的文本框的四个角中各个角的X、Y象素位置。在步骤506,使用行开始的X位置(这种情形下为1),利用图20a所示,如前所述的CALC_X子程序计算下卷区域左边的X象素位置。在步骤508,使用行结束的X位置(这种情形下为80),利用CALC_X子程序计算下卷区域的右边的X象素位置。在步骤510,使用应用程序窗口98底部边界的Y象素位置,通过调用CALC_Y子程序,计算出下卷区域底部的Y象素位置,以及在步骤512,使用当前光标位置,利用CALC_Y子程序确定下卷区域顶部的Y象素位置。
在步骤514,通过将一下卷命令发送给CRT驱动程序46,将步骤506-512中确定的X和Y象素位置所规定的矩形区域下卷由参数1确定个数的行位置。结果,产生一个空白的矩形屏幕部分,以便在后面执行显示文本步骤372时接着插入所要求的文本行。
图19d示出图12中删除行步骤436的流程图。执行该步骤时,通过产生屏幕上卷命令并将其发送到CRT驱动程序46,来实现从CRT屏幕删去一个或多个文本行。屏幕上卷命令的结果是,有效地删去所要求的文本行。删除行步骤436使用单个参数,如该参数为非零,说明待删行数,即,如该参数为0,说明仅删除1行。
现在参考图19d,在步骤520,程序确定其行待删的窗口当前是否正在显示。如该窗口不在显示,对窗口无输出。这样,在步骤520,如果该窗口不在显示,那么该程序不执行任何动作而转至结束。在步骤522,该程序判定参数1是否等于0。如为零,意味着仅有单行待删除,那么程序分支到步骤524,将参数1设置为1。
步骤526-532确定将要上卷以删除规定文本行的文本块的四个角中各个角的X、Y象素位置。在步骤526,用行起始的X位置,(这种情形下等于1),利用图20a所示和如前所述那样的CALC_X子程序计算上卷区左边的X象素位置。在步骤528,使用行结束的X位置,(这种情形下等于80)使用CALC_X子程序计算上卷区域右边的X象素位置。在步骤530,用应用程序窗口98的底部边界的Y象素位置,通过调用CALC_Y子程序计算上卷区域底部的Y象素位置,并在步骤532,用当前光标位置,根据CALC_Y子程序确定上卷区域顶部的Y象素位置。
在步骤534,通过将上卷命令发送给CRT驱动程序46,将步骤526-532中确定的X和Y象素位置所确定的矩形区域上卷由参数1说明行位置数。结果,将所要求的文本行删去。
图19e中详细地示出了图17和18中所示的擦除行步骤420。擦除行步骤420通过将填方框命令发送到CRT驱动程序46,使得文本行中所说明部分从CRT屏幕上擦除,其中所述方框是空白的。
擦除行步骤420使用单个参数,参数1。如果参数1等于1,那么擦除这一行当前光标位置前的部分。如果参数1等于2,那么擦除光标所在的整行。如果参数1不等于1也不等于2,那么擦除该行当前光标位置以后的行部分。
现在参考图19e,在步骤540,程序判定参数1是否等于1。如为1,即意味着将这一行光标之前的部分擦除掉,然后程序分支到步骤542,在该步骤使用行起始的X光标位置(在这种情形下为1),通过子程序CALC_X计算这一行待擦部分最左边的X象素位置,并且使用当前X光标位置,通过子程序CALC_X计算该行待擦部分最右的X象素位置。
如果在步骤540,参数1不等于1,则程序分支到步骤544,判定参数1是否为2。如为2,即将整行擦除,那么程序分支到步骤546,分别根据行的开始和结果的X位置(这种情形下,分别为1和80)确定待擦行的最左和最右的X象素位置。
如参数1不等于1或不等于2,意味着将该行的当前X光标位置后的部分予以擦除,程序分支到步骤548,根据光标位置的X座标用子程序CALC_X计算待擦除行的最左的X象素位置,并且根据行结束的X的位置(这种情形下等于80)通过子程序CALC_X计算待擦除行的最右X象素位置。
在步骤550,程序判定从中擦除行或部分行的窗口是否在显示。如该窗口不在显示,那么程序不作任何进一步动作便结束。
因为在步骤542、546或548中确定待擦除行或部分行的X象素位置,所以只留下被擦除行的Y象素位置待定。在步骤552,根据当前行的上或下的Y座标位置,通过CALC_Y子程序确定待擦除行或行部分的上和下的Y象素位置。然后在步骤554,通过将填充方框命令发送到CRT驱动程序,将以上在步骤542、546或548及556所确定的X和Y象素位置所规定的行或行部分擦除,填方框命令将一空白方框写到屏幕上。
图19f详细示出图17及18中所示擦除窗口步骤418。如下详细描述,擦除窗口步骤418通过发送填空白方框命令给CRT驱动程序,借助于1)擦除某行某部分;2)擦除与被擦除所相邻的矩形屏幕部分,从而从在CRT屏幕上显示的窗口中擦除所规定的文本部分。步骤1)和2)的结果是被擦除的屏幕部分可以不是矩形。
擦除窗口步骤416使用单个参数,参数1。如果参数1等于1,那么便将从窗口的开始(对应于窗口左上角座标位置)到当前光标位置的屏幕部分擦除。如果参数1等于2,那么擦除整个窗口。如参数1不等于1或2,那么擦除当前光标位置以后的窗口部分。
现在参考图19f,在步骤560,程序确定参数1是否等于1。如为1,即意味着将从窗口起始处到当前光标位置的屏幕部分擦除,那么程序分支到步骤562,擦除该行当前光标位置以前的部分。然后,使用窗口顶部的Y坐标和当前光标位置上的行的Y座标,分别通过CALC_A子程序确定上边和下边的Y象素位置。
如果在步骤560确定该参数1不等于1,那么程序分支到程序判定参数1是否为2的步骤564。如参数1为2,意味着整个窗口待擦除,那么程序分支到步骤566,分别用窗口顶部和底部的Y坐标,根据CALC_Y子程序确定上部和下部的Y象素位置。
如果参数不等于1也不等于2,即当前光标位置以后的窗口部分待擦除,那么程序分支到步骤568,擦除在当前光标位置后面的行部分。然后,分别用对应于当前Y光标位置后的行的Y座标位置以及窗口底的Y座标,根据CALC_Y子程序确定上部和下部的Y象素位置。
在步骤570,程序判定从中擦除文本部分的窗是否在显示。如窗口不在显示,那么程序不再动作而结束。
由于在步骤562、566或568,确定待擦除矩形部分的Y象素位置,只有待擦除矩形部分的左和右的X象素位置留待确定。在步骤572,使用窗口行的左和右的X坐标,根据CALC_X子程序确定待擦除部分左和右的X象素位置。然后通过将一填方框(该方框为空白的)命令发送到CRT驱动程序,擦除在以上步骤562、566或568及572所确定的X和Y象素位置所规定的矩形部分,填方框命令将一空白方框写到屏幕上。
图19g示出了图17和18中光标上移步骤412的流程图。光标上移步骤412使光标向上移动规定个数的位置,上移位置数由单个参数即参数1所规定。如果在光标移动中光标达到窗口的顶部边缘,那么该窗口下卷,一次下卷一行,使得光标移到的行出现在显示屏幕上。
参考图19g,在步骤580,如果光标待移的窗口不在显示,那么不进行任何动作程序便结束。在步骤582,将计数器(未示出)初始化为0。该计数器的目的在于在执行步骤412时,记录已经上移光标的位置数,使得程序能够确定何时已将光标向上移动由参数1所规定的位置数。
在步骤584,程序判定光标是否在窗口的顶部边缘。如果光标不在顶部边缘,那么可将光标上移一位置而无需将显示下卷。如果光标在顶部边缘,则将下卷命令发送到CRT驱动程序46。为执行下卷,程序分支到步骤568,分别用窗口区域的左和右的X座标,根据CALC_X子程序确定下卷区域左和右的X象素位置。这种情形下,由于该窗口横贯整个CRT屏幕,这些左和右的X坐标分别为1和80。
在步骤588,分别用窗口区域顶部和底部边缘的Y坐标,过CALC_Y子程序确定下卷区的上和下的Y象素位置。在步骤590,通过发送下卷命令给CRT驱动程序46,将步骤586、588所确定X、Y象素位置规定的区域下卷1个位置,即10个象素。结果,一个新的文本行在窗口顶部边缘出现,并且该光标可上移一个Y位置。
在步骤592,递减Y的光标位置,使光标上移一个文本行。然后将Y光标位置“钳定”为1,即,如当前Y光标位置小于1(通常不应出现的错误条件),那么将Y光标位置置为1。在步骤594,将计数器递减1,然后将该计数和参数1的值进行比较,确定是否已将光标上移所规定的位置数。如果尚未移够规定数,则程序转回步骤584,以便再次上移光标。
图19h示出图17和18中光标下移步骤414的流程图。光标下移步骤414使光标向下移动所规定个数的位置,而该下移位置数由单个参数即参数1所规定。如果在光标移动过程中,光标达到窗口底部边缘,那么将窗口上卷,每次上卷一行,使得光标移到的行在显示屏幕上出现。
参考图19h,在步骤600,如光标在其中移动的窗口不在显示,那么不进行任何动作程序结束。在步骤602,将一计数器(未示出)初始化为0。该计数器的目的是记录在执行步骤414时,已将光标下移的位置数,使得程序可确定何时已将光标移动由参数1所规定的位置数。
在步骤604,程序确定光标是否在窗口的底部边缘。如果光标不在底部边缘,那么将光标下卷一位置而无需将显示上卷。如果光标在底部边缘,那么便将上卷命令发送到CRT驱动程序46。为执行上卷,程序分支到步骤606,分别使用窗口区域左和右的X坐标,通过CALC_X子程序判定上卷区域左和右的X象素位置。在这种情形下,由于窗口横贯整个CRT屏幕,这些左和右的X坐标可分别为1和80。
在步骤608,分别用窗口区域顶部和底部边缘的Y坐标,通过CALC_Y子程序确定上卷区域的上和下的Y象素位置。在步骤610,通过发送上卷命令给CRT驱动程序,将步骤606,602中确定的X、Y象素位置所规定区域向上卷动1个位置,即10个象素。结果,在窗口底部边缘出现一新行,并且光标可下移1个Y位置。
在步骤612,递减Y光标位置,使Y光标位置移下一个文本行。然后将Y光标位置“钳定”为24,即,如果当前Y光标位置大于24(一般不应出现的错误条件,因为在应用窗口98中只有24个文本行),那么将Y光标位置设置为24。在步骤614,将计数器递增1,然后将该计数和参数1的值进行比较,以确定该光标是否已下移规定的位置数。如未移够,那么程序返回步骤604,以便再次下移光标。
图19i示出图17和18中光标右移步骤410的流程图。光标右移步骤410使得光标右移规定的位置数,位置数由单个参数即参数1所说明。如果参数1和0,那么将光标右移一个位置。
现在参考图19i,在步骤620,程序判定参数1是否为0。如为0,即指将光标右移单个位置,那么程序分支到步骤622,将参数1置成等于1。在步骤624,将由参数1说明的光标位置数即X偏移加到当前光标位置。结果,该光标在新位置上显示。在步骤626,将X光标位置与数80进行比较,(80对应于应用窗口的X字符位置的个数)。如果该新的光标位置大于80,(即一般不出现的错误条件)那么程序分支到步骤628,改变光标位置使之为80。然后程序结束。
图19j中示出图18中光标左移步骤432的流程图。光标左移步骤432使得光标左移规定的位置数。位置数由单个参数即参数1所说明。如果参数1等于0,那么将光标左移单个位置。
现在参考图19j,在步骤640,程序判定参数1是否为0。如为0,指光标左移单个位置,那么程序分支到步骤642,将参数1设置成等于1。在步骤644,从当前光标位置减去由参数1所说明的光标位置数即X偏移。结果,该光标显示在新的位置上。在步骤646,将X光标位置与数1进行比较。(1对应于应用窗口的最左的X字符位置)。如果新的光标位置小于1,(一般不会出现的错误条件),那么程序分支到步骤648,改变光标位置使之等于1。然后程序结束。
图19k中示出图17和18的光标移动步骤416的流程图。光标移动步骤416使光标移至新的位置,该位置取决于分别由一对参数即参数2和参数1所说明的X、Y坐标。如果参数1和参数2均为0,将光标定位于光标位置为(1,1)的窗口左上角。该步骤416不同于前面所述光标移动步骤,因为前面所述的那些步骤是相对于光标当前位置而将光标移动预定的位置数,而这里的步骤416则说明和当前光标位置无关的绝对位置。
现在参考图19k,在步骤660中,程序判定参数1是否等于0。如为0,程序分支到步骤662,将参数1设置为1。步骤662为缺席步骤,用于将Y光标位置改变为窗口顶部行。由于在程序进行CSI状态406之前,所有参数已在步骤422(图17)中设置为等于0,如果参数1和参数2未予说明,则它们等于0。
在步骤664,对参数1的值进行测试以确定该参数值是否大于24。如果参数1大于24,因应用窗口98只有24行,这是一个错误条件,那么程序分支到步骤666,将参数1设置为其最大值即24。
在步骤668,程序判定参数2是否等于0。如为0,指未曾说明参数2,则程序分支到步骤670将参数2的值置为缺席值1。在步骤672,程序判定参数2是否大于80(因一行中字符不多于80,大于80说明为错误条件)。如果参数2大于80,那么程序分支到步骤674,将参数2设置为等于80,即参数2的最大值。在步骤676,改变光标的当前的X、Y位置,将X设置成等于参数2的值,将Y设置成等于参数1的值。结果,光标在新位置上出现。
图17、18、19a-19k及20a和20b的上述说明涉及从逸出状态400和CSI状态406所作出的迁移和与其相关执行的各种步骤。这些描述主要涉及文本信息在CRT屏幕上的显示。下面结合图15、21、22a-22e、23a及23b所作出的说明主要涉及图形在CRT屏幕上的显示。
图21示出图15中的图形状态404的状态图。程序处于图形状态404时可执行的图形操作包括:将光标设置在CRT屏幕上的预定位置、绘出一矢量,绘出一曲线,填充多边形和绘出文本。
现在参考图21,图形状态404包含6个独立状态,这些状态包括等待接收来自主计算机64的图形命令的初始状态,以及在执行CRT屏幕上显示信息相关的特定操作时的5种附加状态。具体地,这5个状态包括一旦接收到来自主计算机64的“P”字符程序便要经过的置位状态702;当接收到“V”字符程序经过的画矢量状态704;当接收到“C”字符时的画曲线状态706;当接收到“F”字符时的填多边形状态708;以及接收到“T”字符时的画文本状态710。
图22a中示出图21中置位状态702的状态图。图22a的状态图的操作是:识别来自主计算机64的特定字符序列、并根据所接收到的字符序列将光标位置设在CRT屏幕上预定位置。该置位状态图识别字符串“P[X,Y]”,相应地,根据括号间传送的参数X,Y将光标移到预定的象素位置。状态图是普通的、人所周知的特别适用于字符模式识别的程序设计方法。
现在参考图22a,状态图702通过将光标移至CRT屏幕上预定象素位置而对字符串“P[X,Y]”起反应。如图21所示,接收到“P”引起从初始图形状态700到置位初始状态720的迁移。接收到“[”字符,程序执行步骤722,然后分支到步骤724以便得到由X所说明的象素位置。在步骤722,将两个参数tx和ty初始化为0。为以下所述各步骤所用的这两个参数分别说明在DEC终端的CRT屏幕上的X和Y象素位置,该屏幕左上角定义为象素位置(0,0)。
当处于状态724时,程序接收X参数,该参数可能包含一个或多个0至9的ASCII字符。每接收到一个字符,程序便分支到步骤726,将该ASCII字符变换为相应的二进制字符值,并将其加到tx的当前值再乘以10,以便得到正确的十进制数值。例如,如果相继接收到字符“3”和“5”,第一次执行步骤726以后tx会等于3而第二次执行步骤726以后tx会等于35。到接收到逗号时,发出说明X象素位置的字符结束的信号,程序转移到接收Y象素位置的状态728。该状态728以与状态724相同方式进行操作,这样在步骤730计算出Y象素位置的值并存在ty中。
接收到“]”字符便告知程序已接收到说明Y象素位置的所有ASCII码数字,这样程序可分支到步骤732,将光标当前的X、Y象素位置设置为等于刚才确定的tx、ty象素位置。
图22b示出图21的画矢量状态704的状态图。图22b状态图的操作是:识别来自主计算机64的特定字符序列,根据所接收到的字符序列,在CRT屏幕上画一从当前光标象素位置到所说明象素位置的矢量。画矢量状态图识别字符串“V[X,Y]”,并且,相应地在CRT屏幕上画一条从当前光标象素位置到根据括号间传送的参数X、Y的象素位置的直线。
现在参考图22b,该状态图通过在CRT屏幕上画一条从当前光标象素位置到所说明象素位置的直线来对字符串“V[X,Y]”起作用。接收到“V”引起图21中所示的从初始图形状态700到画矢量初始状态740的迁移。接收到字符“[”程序执行步骤742然后转到状态744以确定由X所说明的象素位置。在步骤742,将两个参数tx和ty初始化为0。
在状态744时,程序接收X参数,该参数可能含有1个或多个0到9的ASCII字符。每接收到一个字符,程序分支到步骤746,将该ASCII码字符变换为相应二进制字符值,并将其加到tx的当前值的10倍以得到正确的十进制数值。当接收到逗号时,告知说明X象素位置的字符的结束,然后程序转至状态748接收Y象素位置。该状态748以与状态744相同方式进行操作,这样在步骤750处计算出Y象素位置的值并存在ty中。
接着到“]”字符,便告知程序说明Y象素位置的所有ASCII数字已被接收,这样程序便分支到步骤752。在步骤752,画出一条从当前光标象素位置到(tx,ty)所说明象素位置的矢量。
在将矢量画在过程控制终端的CRT屏幕上之前,必须对当前光标象素位置和由(tx,ty)所说明象素位置进行变换。需要这种变换的原因在于,与主计算机64通信的标准DEC终端的CRT屏幕是800象素宽×480象素高,该屏幕的左上角定义为(0,0)象素位置。然而,终端60的CRT屏幕上显示的应用窗口98是480象素宽×240象素高,该屏幕左下角定义为(0,0)象素位置。为了在CRT屏幕上的应用窗口98中显示与由主计算机64发送的基本上相同的图象,所以,在由CRT驱动程序46将任何图形显示在CRT屏幕上之前要进行象素变换。
图23a示出完成这种X象素变换的子程序PIXEL_X的流程图。通过使用以下表达的等式[3]对由主计算机64所说明X象素位置进行变换:
X=16+X_window_offset+(480*X_Position)/800
其中X是待计算的用于终端60的CRT屏幕的X屏幕位置,数16对应于显示的垂直边界部分110,X_window_offset是相对于垂直边界部分110的预定窗口偏移,X_pixel为正计算X的DEC终端上的象素位置,而数字800为标准DEC终端的水平显示宽度。
图23b示出完成这种Y象素变换的子程序PIXEL_Y的流程图。通过使用如下表述的等式[4]对由主计算机说明的Y象素位置进行变换:
Y=90+Y_window_offset-(249-((240*(Y_Pixel)/480
其中:Y是待计算的用于终端60的CRT屏幕的Y象素位置,数90对应于显示的过程控制部分92,Y_window_offset为相对于过程控制部分92的预定窗口偏移,数249和应用窗口98的以象素计的高度相关,而数240是应用程序窗口98象素计的可视显示高度,Y_pixel为正计算Y的标准DEC终端的象素位置,以及数480为DEC终端的显示的象素高度。
再参考图22b中的步骤752,调用PIXEL_X和PIXEL_Y子程序对当前光标象素位置及tx,ty象素位置进行变换,然后通过将画矢量命令发送到CRT驱动程序46而画出一条从前述位置到后者位置的矢量。在步骤754,将当前光标象素位置设置成等于(tx,ty)以记录新的光标位置。变量tx和ty在执行PIXEL_X的PIXEL_Y例程期间不改变,这样当前光标位置便代表DEC光标格式。
图22c示出图21中的画曲线状态706的状态图。图22c的状态图的操作是,识别来自主计算机64的特定字符充列,并根据所接收到的字符序列在CRT屏幕上画一曲线。该画曲线状态图识别字符串“C(A#)[X,Y]”,并相应地画出一条其中心为当前光标象素位置的圆弧曲线,该曲线起始于由参数X、Y所确定的象素位置,而曲线长度取决于括号中字符“A”后的参数“#”所说明的角度。
现参考图22C,接收到“C”引起图21中所示的从初始图形状态700到画曲线初始状态760的迁移。一旦接收到左括号,程序分支到曲线选择状态762,在该状态程序等待字符“A”。“A”字符说明后接一个以度数计的角度位移,例如90°,也就是将画出通过该角度的曲线。例如,如果“A”后接三个ASCII字符“3”,“6”和“0”,那么便在CRT屏幕上画出一个圆。一旦接收到“A”,程序执行步骤764,通过将参数tx和ty设置成0来将它们清除,然后程序分支到状态766,在该状态等待待画曲线以角度计的角位移。
而在状态766,程序接收曲线角位移的度数,该度数用1个或多个0到9的ASCII字符来说明。每次接收1个字符,程序分支到步骤766,将该ASCII字符变换成相对应的二进制字符数值,并将该数加到当前度数值乘10以形成正确的10进制数值。当接收到右括号时,告知说明角度偏移的字符的结束,程序转移到状态770,等待X和Y参数。一旦接收到“[”字符,程序分支到状态772以便确定以X所说明的象素位置。
当在状态772时,程序接收X参数,该参数含有一个或多个0到9的ASCII字符。每次接收一个字符,程序分支到步骤774,将ASCII变换为相应二进制字符值,并与当时tx值乘10相加,以得到其正确10进制数值。当接收到一逗号,得知说明X象素位置的字符的结束,程序转移到状态776,这时接收Y象素位置。该状态776以与状态772相同方式操作,这样,在步骤778,计算出Y象素位置的值并保存于ty中。
接收到“]”字符,告知该程序,说明Y象素位置的所有ASCII码数已接收完,这样程序便分支到步骤780。
在步骤780,画出圆弧曲线。在画曲线之前,调用PIXEL_X和PIXEL_Y子程序将当前光标象素位置和由(tx,ty)所说明象素位置变换成终端60的显示格式。两个点变换完后,画出该曲线,圆弧中心为当前光标象素位置,曲线起始于由变换后的(tx,ty)所规定的点。所画线的长度对应于步骤768所计算出的角位移度数。然后将画曲线命令发送给CRT驱动程序46,然后使所说明的曲线出现于CRT屏幕上。
图22d示出图21的填多边形状态708的状态图。填多边形状态708使能构成一多边形,而该多边形由个数可变的顶点所定义。通过画出一条从当前光标象素位置到第一顶点的直线,连接每一对相继顶点的分开的直线,以及连接最后顶点到起始光标位置的直线采构造一多边形,使该多边形是封闭的。状态图708识别字符串“F(V[X1,Y1][X2,Y2]....[Xn,Yn])”,使相应多边形画在CRT屏幕上。
参考图22d,接收到“F”引起如图21所示的从初始图形状态700到填多边形初始状态800的迁移。一旦接收到左括号,该程序分支到填充选择状态802,程序在该状态等待字符“V”,该字符“V”指出后续用于构造该多边形的顶点。一旦接到“[”字符,程序在步骤806清除参数tx和ty,然后分支到步骤808,以便确定由X规定的象素位置。
如上所述,在状态808,程序接收X参数,分支到步骤810,每次接收一个字符来计算tx值。当接收到一逗号,告知说明X象素位置的字符的结束,程序便转到状态812,在该状态接收Y象素位置。该状态812以状态808相同方式操作,这样在步骤814计算出Y象素位置的值并保存在ty中。
接收到“]”字符便告知程序已经接收到所有说明Y象素位置的ASCII数字,这样程序便分支到步骤816,将用(tx,ty)所说明的顶点保存在存储器中。然后程序返至步骤804,通过重复步骤806-816来接收下一顶点。将后继顶点按接收次序存储在存储器中。最后顶点接收到以后并且程序处在状态804时,将接收到右括号“)”。这告知程序已没有待发送的顶点。另外,最后发送的顶点始终与起始光标象素位置一致以使所画多边形确定一闭合区域。
在步骤818画出多边形。在步骤818,通过调用PIXEL_X和PIXEL_Y子程序,将起始光标位置和各个顶点变换为终端60的象素格式,然后通过以下步骤构造填多边形命令,即说明从起始光标象素位置到第一顶点,每一对相继顶点之间,以及最后顶点和起始光标位置之间的所画的直线,使该多边形为闭合的。将该填多边形命令发送给CRT驱动程序46,将多边形在CRT屏幕上显示出来。
图22e示出图21中画文本状态710的状态图。画文本状态710使得在CRT屏幕上当前光标象素位置上显示所规定的文本串。该状态图识别用引号包括的字符串例如“Larry”,以使该字符串在屏幕上显示。
参考图22e,接收到“T”使程序从图12所示的初始图形状态700迁移到画文本初始状态820。一旦接收到第一个引号,程序便分支到取字符状态822,即接收引号之间的字符并在步骤824将其临时存储在缓冲区中。一旦接收到另一引号,告知待显字符中的结束,程序分支到状态826,使用PIXEL_X和PIXEL_Y子程序将当前光标象素位置变换为终端60的象素格式。然后在步骤828,使用变换后的象素坐标和缓冲字符,将一文本命令发送到CRT驱动程序46,使所说明字符串显示在屏幕上。然后程序分支到步骤830,按以下等式递增当前X光标象素位置:
X_Coord=X_Coord+6*number_of_characters,[5]
其中,X_coord为光标象素位置,数6为每个显示字符的象素宽度,而number_of_characters是在CRT屏幕上显示的字符个数。
本发明另一特征是自动登录特征,即一旦开始执行应用程序可让操作员自动地登录进入由主计算机正在运行的应用程序。
在常规计算机系统在操作对特定应用程序存取之前,要求他通过提供用户名以及有时通行字来进行登录。在本发明的环境下,每当操作员要看包含未登录应用程序窗口的显示,操作员必须提供用户名和通行字来登录。
本发明的自动登录特性通过将预定结点地址、用户名和通行字传送主计算机64而无需操作员通过终端键盘输入这些信息,从而节省了操作员时间。参考图6,右边部分示出的应用窗口显示单元128包括用于存放主计算机64的结点地址的存储器单元144(所述应用窗口程序在所述主计算机64上运行),用于存放用户名的存储器单元146和用于存放通行字的存储器单元148。只要需要自动登录特征时,这些存储器单元才包含于应用窗口单元128。如果提供这些预定存储器单元,操作员便可自动地登录到应用程序而无需其用户名或通行字的测试。
图24中示出本发明所用自动登录过程的流程图。在步骤860,程序判应用窗口单元的结点地址是否等于0。如为0,指出该特定应用窗口并未使用本发明的自动登录特征,即么程序分支步骤862,由于未提供结点地址而提示操作员。然后该程序结束。
在步骤864,由于提供了结点地址,程序从应用窗口单元128得到结点地址,并将之送到调用程序,即图14中所示的序列发生器330。再参考图24,程序分支到步骤866,以确定窗口单元是否包含用户名字符串。如未包含,则意味该窗口当前未用自动登录特性,那么程序结束。否则,在步骤868,从应用窗口单元检索用户名并将其置于CRT终端60的键盘缓冲区以发送到主计算机64。自动地将用户名置于键盘缓冲区的动作和操作员自已键入具有相同效果。
然后程序分支到步骤870,程序确定窗口单元是否包含通行字的符串,如不含通行字的字符串,意味着该窗口当前未使用自动登录特征,那么程序结束。否则,在步骤872,从应用程序窗口检索出通行字并将其置于CRT终端60的键盘缓冲区以发送给主计算机64。自动地将通行字置于键盘缓冲区的动作和操作员自已键入具有同样效果。
当用户保和通行字发送到主计算机64之后,其与包括用户名和通行字的预定登录信息加以比较以确定是否允许对计算机程序的存取。由于本发明的自动登录特征预定用于自动地允许程序员对应用程序的存取,所以在显示单元中存取的登录信息应始终匹配于预定登录信息。一旦确定相应登录信息匹配,操作员便可自动地登录到应用程序,而主计算机用来自操作员的输入对该应用程序加以运行。
根据以上描述,对本领域技术人员而言,本发明的改进和变型的实施例是置而易见的。因此,本说明书的描述仅仅是说明性的,其目的在于告知本领域技术人员执行本发明的最好方式,在本质上不偏离本发明精神的原则下结构细节可以加以变化,而对所有的变型的不同用法均保留在所附权利要求范围之内。

Claims (24)

1、一种允许操作员执行过程控制操作和过程控制操作以外的应用操作的过程控制终端,所述过程控制终端专门为过程控制信息保留预定屏幕部分以消除过程控制报警不在屏幕上出现从而未能引起过程控制操作员注意的可能性,所述过程控制终端的特征在于它包含:
处理嚣,
与所述处理器连接的总线,
与所述总线连接的显示终端,所述显示终端具有一个显示屏,
与所述总线连接,使得可从过程控制器接收过程控制信息的过程控制网络控制器,
与所述总线连接的主网络控制器,用于从主计算机接收信息以及将应用信息发送到主计算机,
用于周期地判定是否存在报警条件的第一装置,所述第一装置使得在所述显示屏的第一预定部分中产生报警指示,所述屏幕的第一预定部分专门为过程控制信息所保留,以及,
用于将所述应用信息显示在所述显示屏的第二装置,所述第二装置包括用于防止将所述应用信息显示在为所述过程控制信息保留的所述显示屏的所述第一部分上的装置,所述防止使得所述应用信息显示在所述显示屏幕的第二预定部分上,所述第二预定部分不包括在所述第一预定部分内以确保所述过程控制信息不会被所述应用信息重写因而使监视所述显示屏的过程控制操作员错过报警条件。
2、如权利要求1的过程控制终端,其特征在于所述报警指示包含报警信息。
3、如权利要求1的过程控制终端,其特征在于,注意信息在所述显示屏的第一预定部分中显示。
4、如权利要求1的过程控制终端,其特征在于所述第一装置包含:用于周期地判定是否存在报警条件的过程网络驱动程序,所述过程网络驱动程序产生一个报警条件的列表,
拨索所述报警条件列表并且一旦在所述列表中找到报警条件便产生电子报警信号的报警过程,以及
用于从所述报警过程接收电子报警信号的显示驱动程序,所述显示驱动程序将对应于所述电子报警报文的可视报警信息在所述显示屏上出现以提醒过程控制操作员存在报警条件。
5、如权利要求1的过程控制终端,其特征在于,所述用于防止将应用信息显示在所述第一预定的显示屏部分上的装置包含用于将预定显示屏偏移加到应用信息上的装置,而所述应用信息是打算在所述屏幕上显示的。
6、如权利要求5的过程控制终端,其特征在于,所述预定显示屏偏移相当于90象素。
7、一种过程控制终端,其特征在于包含:
用于显示信息的显示装置,
与所述显示装置连接的第一装置,该第一装置用于接收来自过程控制器的过程控制信息,
与所述显示装置连接的第二装置,用于发送应用信息到主计算机和接用来自主计算机的应用信息,
与所述显示装置连接的报警装置,用于判定是否存在报警条件,以及
用于将可视信息在所述显示装置上显示的显示发生装置,
所述显示发生装置使报警指示显示在所述显示装置的第一预定部分中,
所述显示发生装置使应用信息显示在所述显示装置的第二预定部分中,所述第二预定部分不包含在所述第一预定部分中以确保所述过程控制信息不被所述应用信息重写因而使监视所述显示装置的过程控制操作员错过报警条件。
8、如权利要求7的过程控制终端,其特征在于所述显示发生器包括用于将预定显示屏偏移加到预备在所述显示装置上显示的应用信息上的装置。
9、一种过程控制终端,其特征在于包含:
显示屏,
接收来自过程控制器的过程控制信息和来自主计算机的应用信息的控制器,所述控制器判定是否存在报警条件,
使可视信息在所述显示屏上显示的显示发生器,所述显示发生器使报警指示显示在所示显示屏的第一预定部分和使应用信息显示在所示显示屏的第二预定部分,所述显示屏的第二预定部分不包含在第一预定部分,以确保所述报警指示不能被所述应用信息所重写因而使监视所述显示屏的过程控制操作员错过程报警条件。
10、如权利要求9的过程控制终端,其特征在于所述控制器包含:
接收来自过程控制器的过程网终端控制器,
与所述过程控制器连接的总线,
与所述总线耦合的Ethernet控制器,所述Ethernet控制器将应用信息发送到主计算机而接收来自主计算机的应用信息,以及
与所述总线耦合的处理器,所述处理器判定是否存在报警条件。
11、如权利要求9的过程控制终端,其特征在于所述显示发生器包括显示解释程序和显示驱动程序。
12、如权利要求9的过程控制终端,其特征在于还包括含有第一数据库的存储器,所述第一数据库存储过程控制信息。
13、如权利要求12的过程控制终端,其特征在于所述存储器包含第二数据库,在所述第二数据库中存储有与至少一个显示相关的电子信息。
14、一种过程控制终端,允许操作员执行过程控制操作和过程控制操作以个的应用操作,所述过程控制终端专为过程信息保留预定显示屏部分以消除过程控制报警未在屏上出现从而不能引起操作员注意力的可能性,所述过程控制终端仿真标准DEC终端以利于将所述过程控制终端用于已有计算机系统中,所述过程控制终端的特征在于包含:
显示屏,
接收来自过程控制器的过程控制信息和来自主计算机的应用信息的过程控制器,所述控制器判定是否存在报警条件,以及
使所述可视信息显示在所述显示屏上的显示发生器,
所述显示发生器使报警指赤显示在所述显示屏的第一预定部分以及使应用信息显示在所述显示屏的第二预定部分,所述显示屏的第二预分不包含在所述第一预定部分中以确保所述报警信息不被所述应用信息所重写因而使监视显示屏的过程控制操作员错过报警条件,
所述显示发生器对接收到的来自主计算机的应用信息进行响应,即,接收到来自主计算机的字符“A”便将所述屏上显示光标上移,接收到来自主计算机的字符“B”便将所述屏上显示光标下移,接收到来自主计算机的字符“K”,便将所述屏上一文本行的一部分擦除接收到来自主计算机的字符“M”便将所述屏上的一文本行的一部分删去,以及接收到来自主计算机的包括字符“e”在内的字符串便在所述屏上画一曲线。
15、一种过程控制终端,允许操作员执行过程控制操作和过程控制操作以个的应用操作,所述过程控制终端专为过程信息保留预定显示屏部分以消除过程控制报警未在屏上出现从而不能引起操作员注意力的可能性,所述过程控制终端仿真标准DEC终端以利于将所述过程控制终端用于已有计算机系统中,所述过程控制终端的特征在于包含:
处理器,
与所述处理器连接的总线,
与所述总线连接的显示终端,所述显示终端有一显示屏,
与所述总线相连用于接收来自过程控制器的过程控制信息的过程控制网络控制器,
与所述总线相连的主网络控制器,所述主网络控制器使应用信息可为主计算机所接收以及可将应用信息发送给主计算机,
用于周期地判定是否存在报警条件的第一装置,所述第一装置使报警指示产生于所述显示屏上专为过程控制信息保留的第一预定部分,所述第一装置包含:
过程网络驱动程序,用于周期地判定是否存在报警条件,所述过程网络驱动程序产生报警条件的列表,
报警过程搜索所述报警条件列表并一旦在所述列表中找到报警条件便产生电子的报警信号,以及
用于接收来自所述报警过程的所述电子报警信号的显示驱动程序,所述显示驱动程序将与所述电子报警信号对应的可视报警信息显示在所述屏上以提醒过程控制操作员存在报警条件,以及
用于使所述应用信息在所述屏上显示的第二装置,所述第二装置包括防止将所述应用信息显示在专为所述过程控制信息保留的所述显示屏的所述第一预定部分中的装置,所述防止装置使所述应用信息显示在所述显示屏的第二预定部分中,所述第二预定部分不包含在所述第一预定部分中以确保报警指示不能被所述应用信息所重写因而使监视所述屏的过程操作员错过报警条件,
所述第二装置响应所接收到的来自主计算机的应用信息,其响应形式为,接收到来自主计算机的字符“A”便将所述屏上显示光标上移,接收到来自主计算机的字符“B”便将所述屏上显示光标下移,接收到来自主计算机的字符“K”便将所述屏上一文本行的一部分擦除,接收到来自主计算机的字符“M”便将所述屏上一文本行的一部分删去,以及接收至来自主计算机的包括字符“C”在内的字符串时便在所述屏上画一曲线。
16、一种用于将过程控制信息显示在显示屏第一预定部分及将应用信息显示在显示屏第二预定部分的方法,所述第二预定部分不包含在所述第一预定部分中以确保所述过程控制信息不能被所述应用信息重写因而使监视显示屏的过程控制操作员错过报警条件,所述方法的特征在于包含以下步骤:
a)接收来自过程控制器的过程控制信息,
b)判定是否存在报警条件,
c)将所述报警条件相关的过程控制信息显示在显示屏的第一部分中,
d)接收来自主计算机的应用信息,
e)将所述应用信息显示在显示屏的第二部分,所述第二部分不在所述第一部分内,以确保所述过程控制信息不能被所述应用信息重写因而使监视显示屏的过程控制操作员错过报警条件。
17、一种用于将过程控制信息显示在显示屏的第一预定部分而将应用信息显示在显示屏的第二部分中的方法,所述第二预定部分始终不在所述第一部分之中以确保所述过程控制信息不被所述应用信息所重写因而使监视该显示屏的过程控制操作员错过报警条件,所述方法仿真标准DEC终端所使用的用以显示应用信息的方法,所述方法的特征在于包含以下步骤:
a)接收来自过程控制器的过程控制信息,
b)判定是否存在报警条件,
c)将所述报警条件相关的过程控制信息显示在显示屏的第一部分中,
d)接收来自主计算机的应用信息,以及
e)将所述应用信息显示在显示屏的第二部分中,所述第二部分不含在所述第一部分之中以确保所述过程控制信息不能被所述应用信息重写因而使监视显示屏的过程控制操作员错过报警条件。所述步骤(e)包含以下步骤:
f)响应接收到的来自主计算机的字符“A”而将显示屏上的光标上移,
g)响应接收到的来自主计算机的字符“B”而将显示屏上的光标下移,
h)响应接收到的来自主计算机的字符“K”而将一文本行的一部分从显示屏上擦除,
i)响应接收到的来自主计算机的字符“M”而将一文本行的一部分从显示屏上删去,以及
j)响应接收到的来自主计算机的包括字符“C”在内的字符串而在显示屏上画一曲线。
18、一种用于将过程控制信息显示在显示屏的第一预定部分而将应用信息显示在显示屏的第二部分中的方法,所述第二预定部分始终不在所述第一部分之中以确保所述过程控制信息不被所述应用信息所重写因而使监视该显示屏的过程控制操作员错过报警条件,所述方法仿真标准DEC终端所使用的用以显示应用信息的方法,所述方法的特征在于包含以下步骤:
a)接收来自过程控制器的过程控制信息,
b)将所述过程控制信息存储在存储器中的数据库中,
c)判定是否存在报警条件,
d)产生在所述步骤(c)中判定的所有报警条件的列表,
e)周期地搜索所述报警列表并按所述报警列表中的报警条件产生电子报警信号,
f)响应所述电子报警信号而在显示屏的所述第一部分中产生可视报警指示,
g)接收来自主计算机的应用信息,以及
h)将所述应用信息显示在显示屏的第二部分中,所述第二部分不含在所述第一部分之中以确保所述过程控制信息不能被所述应用信息重写因而使监视显示屏的过程控制操作员错过报警条件。所述步骤(h)包含以下步骤:
i)响应接收到的来自主计算机的字符“A”而将显示屏上的光标上移,
j)响应接收到的来自主计算机的字符“B”而将显示屏上的光标下移,
k)响应接收到的来自主计算机的字符“K”而将一文本行的一部分从显示屏上擦除,
e)响应接收到的来自主计算机的字符“M”而将一文本行的一部分从显示屏上删去,以及
m)响应接收到的来自主计算机的包括字符“C”在内的字符串而在显示屏上画一曲线。
19、一种具有自动登录功能的计算机终端,其特征在于包含:
键盘,
与所述键盘连接的总线,
与所述总线连接的存储器,
用于存取所述存储器预定部分以给登录信息定位的装置,以及
用于利用所述登录信息自动地登录进应用程序而无需操作员将用户名或通行字键入所述键盘的装置。
20、如权利要求19的计算机终端,其特征在于用于自动登录应用程序的所述装置包括将所述登录信息与预定通行字比较的装置。
21、如权利要求20的计算机终端,其特征在于,所述登录信息包含通行字和用户名。
22、一种具有自动登录功能的计算机系统其特征在于包含:
计算机终端,包含有:
键盘,
与所述键盘连接的总线,
与所述总线连接的存储器,
用于存取所述存储器预定部分以定位登录信息的装置,
用所述登录信息自动登录到应用程序而无需操作员将通行字或用户名键入所述键盘的装置,以及
与所述总线连接的网络控制器,以及
借助于所述网络控制器与所述计算机终端连接的主计算机。
23、一种允许操作员自动登录到计算机终端的方法,所述方法的特征在于包含以下步骤:
a)存取存储器的预定部分以检索所存储的登录信息作为对计算机程序登录请求的响应,
b)使用所述的所存储的登录信息,通过以下步骤使操作员可自动地登录到所述计算机程序,
c)将所述存储的登录信息与预定登录信息进行比较,以及
d)如果所述存储的登录信息和所述预定登录信息相符则允许所述的登录请求。
24、如权利要求23的方法,其特征在于所述存储的登录信息包含用户名和通行字。
CN90100963A 1989-02-23 1990-02-22 过程控制终端 Pending CN1045195A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/314,549 US5006976A (en) 1989-02-23 1989-02-23 Process control terminal
US314,549 1989-02-23

Publications (1)

Publication Number Publication Date
CN1045195A true CN1045195A (zh) 1990-09-05

Family

ID=23220395

Family Applications (1)

Application Number Title Priority Date Filing Date
CN90100963A Pending CN1045195A (zh) 1989-02-23 1990-02-22 过程控制终端

Country Status (7)

Country Link
US (1) US5006976A (zh)
EP (1) EP0384910A3 (zh)
JP (1) JPH02260099A (zh)
KR (1) KR900013415A (zh)
CN (1) CN1045195A (zh)
BR (1) BR9000864A (zh)
CA (1) CA2010711A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1304936C (zh) * 1996-10-07 2007-03-14 霍尼韦尔公司 直观显示对象文件的仿真器及其操作方法
CN100373274C (zh) * 1996-10-04 2008-03-05 费希尔控制产品国际有限公司 具有分布控制功能的过程控制系统及其使用的现场设备
CN1950760B (zh) * 2004-05-04 2011-12-14 费舍-柔斯芒特系统股份有限公司 用于过程控制系统的集成图像运行期界面

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5208745A (en) * 1988-07-25 1993-05-04 Electric Power Research Institute Multimedia interface and method for computer system
JP2653156B2 (ja) * 1989-02-28 1997-09-10 オムロン株式会社 コントローラの群制御システム
JP2907858B2 (ja) * 1989-03-20 1999-06-21 株式会社日立製作所 表示装置および方法
US5513095A (en) * 1989-08-16 1996-04-30 Siemens Aktiengesellschaft Flexible automation system for variable industrial processes
US5241482A (en) * 1990-04-13 1993-08-31 Honda Giken Kogyo Kabushiki Kaisha Monitoring system for automated assemblies
DE69119327T2 (de) * 1990-08-31 1997-01-09 Mazda Motor Diagnoseverfahren für eine Fertigungsstrasse
US5291190A (en) * 1991-03-28 1994-03-01 Combustion Engineering, Inc. Operator interface for plant component control system
US5297285A (en) * 1991-07-23 1994-03-22 Telefonaktiebolaget L M Ericsson System for dynamically linking modular portions of computer software
JPH07507893A (ja) * 1992-06-12 1995-08-31 ザ、ダウ、ケミカル、カンパニー プロセス制御コンピュータ用保安フロントエンド通信システムおよび方法
WO1993025965A1 (en) * 1992-06-12 1993-12-23 The Dow Chemical Company Intelligent process control communication system and method
US5386503A (en) * 1992-06-16 1995-01-31 Honeywell Inc. Method for controlling window displays in an open systems windows environment
CA2097561A1 (en) * 1992-06-16 1993-12-17 David L. Phillips Open distributed digital system
CA2097560A1 (en) * 1992-06-16 1993-12-17 Laurence A. Clawson Device dependent layer of windowing system for a process control system display
CA2097558C (en) * 1992-06-16 2001-08-21 William B. Kilgore Directly connected display of process control system in an open systems windows environment
US5426725A (en) * 1992-06-16 1995-06-20 Honeywell Inc. Priority based graphics in an open system windows environment
US5594858A (en) * 1993-07-29 1997-01-14 Fisher-Rosemount Systems, Inc. Uniform control template generating system and method for process control programming
WO1997002525A1 (en) * 1995-07-03 1997-01-23 Motorola Inc. Method and apparatus for displaying previews of stored messages in a data communication receiver
DE19539480A1 (de) * 1995-10-24 1997-04-30 Abb Patent Gmbh Verfahren zur automatisierten Generierung von leittechnischen Strukturen
DE19539476A1 (de) * 1995-10-24 1997-04-30 Abb Patent Gmbh Verfahren zur automatisierten Generierung von Regelkreisen
DE19539479A1 (de) * 1995-10-24 1997-04-30 Abb Patent Gmbh Verfahren zum automatisierten Erstellen eines verfahrenstechnischen Schemas
US5742754A (en) * 1996-03-05 1998-04-21 Sun Microsystems, Inc. Software testing apparatus and method
KR100232400B1 (ko) * 1996-09-04 1999-12-01 윤종용 음란/폭력물 차단 기능을 구비한 컴퓨터 및 그 제어 방법
US5726912A (en) * 1996-09-06 1998-03-10 Honeywell Iac Control system monitor
US5867673A (en) * 1996-10-07 1999-02-02 Honeywell Inc. Universal operator station module for a distributed process control system
EP0917034B1 (de) * 1997-11-14 2002-03-06 Engel Maschinenbau Gesellschaft Mbh Verfahren zur Fernüberwachung und/oder Fernwartung einer Spritzgiessmaschine
US5900801A (en) * 1998-02-27 1999-05-04 Food Safety Solutions Corp. Integral master system for monitoring food service requirements for compliance at a plurality of food service establishments
US5939974A (en) * 1998-02-27 1999-08-17 Food Safety Solutions Corp. System for monitoring food service requirements for compliance at a food service establishment
US6732260B1 (en) * 2000-03-06 2004-05-04 Intel Corporation Presbyopic branch target prefetch method and apparatus
TW510992B (en) * 2001-05-11 2002-11-21 Realtek Semiconductor Corp PCI device and method with shared expansion memory interface
JP4632662B2 (ja) * 2001-06-05 2011-02-16 富士通株式会社 電子クーポンを用いた電子商取引方法
US7808974B2 (en) * 2003-06-19 2010-10-05 At&T Intellectual Property I, L.P. Method and apparatus for Voice over Internet Protocol telephony using a virtual private network
US9223470B2 (en) * 2007-09-14 2015-12-29 Siemens Aktiengesellschaft Method for monitoring a technical installation and monitoring system for carrying out said method
US9141105B2 (en) * 2008-07-23 2015-09-22 Hurco Companies, Inc. Method and apparatus for monitoring or controlling a machine tool system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4303973A (en) * 1976-10-29 1981-12-01 The Foxboro Company Industrial process control system
US4451701A (en) * 1980-10-30 1984-05-29 Oclc Online Computer Library Center, Incorporated Viewdata system and apparatus
US4412294A (en) * 1981-02-23 1983-10-25 Texas Instruments Incorporated Display system with multiple scrolling regions
US4621319A (en) * 1982-09-27 1986-11-04 Intel Corporation Personal development system
US4555775B1 (en) * 1982-10-07 1995-12-05 Bell Telephone Labor Inc Dynamic generation and overlaying of graphic windows for multiple active program storage areas
JPS59114631A (ja) * 1982-12-22 1984-07-02 Hitachi Ltd 端末制御装置
US4604686A (en) * 1984-01-27 1986-08-05 Martin Marietta Corporation Associative data access method (ADAM) and its means of implementation
US4698757A (en) * 1984-11-15 1987-10-06 International Business Machines Corp. Terminal procedure for utilizing host processor log on and log off prompts
US4761642A (en) * 1985-10-04 1988-08-02 Tektronix, Inc. System for providing data communication between a computer terminal and a plurality of concurrent processes running on a multiple process computer
US4803039A (en) * 1986-02-03 1989-02-07 Westinghouse Electric Corp. On line interactive monitoring of the execution of process operating procedures
DE3618256A1 (de) * 1986-05-30 1987-12-03 Olympia Ag Anordnung zur darstellung von fenstern auf einem bildschirm eines datensichtgeraetes
US4829294A (en) * 1986-06-25 1989-05-09 Hitachi, Ltd. Document processing method and system using multiwindow
US4853175A (en) * 1988-03-10 1989-08-01 The Babcock & Wilcox Company Power plant interactive display

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100373274C (zh) * 1996-10-04 2008-03-05 费希尔控制产品国际有限公司 具有分布控制功能的过程控制系统及其使用的现场设备
CN1304936C (zh) * 1996-10-07 2007-03-14 霍尼韦尔公司 直观显示对象文件的仿真器及其操作方法
CN1950760B (zh) * 2004-05-04 2011-12-14 费舍-柔斯芒特系统股份有限公司 用于过程控制系统的集成图像运行期界面

Also Published As

Publication number Publication date
CA2010711A1 (en) 1990-08-23
JPH02260099A (ja) 1990-10-22
KR900013415A (ko) 1990-09-05
EP0384910A2 (en) 1990-08-29
EP0384910A3 (en) 1992-04-29
US5006976A (en) 1991-04-09
BR9000864A (pt) 1991-02-13

Similar Documents

Publication Publication Date Title
CN1045195A (zh) 过程控制终端
CN1196009C (zh) 投影机、图像显示系统、数据保存及显示方法
CN1115649C (zh) 图像输出装置
CN1189904A (zh) 文本输出装置
CN1289097A (zh) 能够指示变化趋势的信息处理系统
CN1251181A (zh) 直观显示对象文件的仿真器及其操作方法
CN1298497A (zh) 控制系统、显示装置、控制用主电脑及资料传送方法
EP0326778A2 (en) Method to facilitate a reply to electronic meeting invitation in an interactive multi-terminal system employing electronic calendars
JPH03136750A (ja) 製造工程計画を生成するための方法及びシステム
US6384848B1 (en) Message handling apparatus and method
CN1009591B (zh) 计算机编辑排版系统及其方法
CN1304501A (zh) 用于支持金属板加工的集成支持系统
CN1115650C (zh) 图象生成系统和方法
CN1648894A (zh) 文件处理装置和文件处理方法
CN1653488A (zh) 显示驱动器ic、显示模块以及合并有图形引擎的电子装置
JP2002507030A (ja) アプリケーションソフトウェアを自動的に実行する方法およびコンピュータ装置
CN1841251A (zh) 可编程终端系统
CN1199119C (zh) 信息处理器
CN1120626C (zh) 目标图象建立设备和方法
EP2710435B1 (en) System, method, work station and computer program product for controlling an industrial process
CN116664722A (zh) 一种智慧环保的大数据可视化处理方法及系统
JP4348117B2 (ja) 情報を探し出して表示する装置および方法
CN1150479C (zh) 数字控制装置的程序生成支援装置
CN1300416A (zh) 文字信息传输系统
JP2013120464A (ja) 画像形成システム、操作装置およびプログラム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C01 Deemed withdrawal of patent application (patent law 1993)
WD01 Invention patent application deemed withdrawn after publication