布尔逻辑功能块的制作方法

文档序号:6325525阅读:245来源:国知局
专利名称:布尔逻辑功能块的制作方法
技术领域
本披露总的来说涉及用于加工厂的功能块,尤其涉及设计、调试(debug)和执行与加工厂相关的布尔逻辑功能。
背景技术
像在化学、石油或者其它工艺过程中所使用的那些工艺控制系统,典型地包括经过模拟、数字或者组合模拟/数字的总线或者线至少和一个主机或者操作员工作站以及一个或者多个现场设备通信连接的一个或者多个工艺过程控制器。所述现场设备,可以是例如阀门,阀门定位器、开关和发送器(例如,温度、压力和流速传感器),用于在所述加工厂执行诸如开或者关阀门和测量工艺过程参数的功能。所述工艺过程控制器接收指示由所述现场设备所做出的工艺过程测量的信号和/或其它与所述现场设备有关的信息,使用该信号来执行控制程序,并接着产生经过总线或线发送到现场设备的控制信号,以控制工艺过程操作。典型地使得来自现场设备和控制器的信息适用于由操作员工作站执行的一个或者多个应用,从而使得操作员能够执行诸如配置工艺过程,查看工艺过程的当前状态、修改工艺操作等与工艺有关的任何想要的功能。
已经开发了用于设计控制程序的各种工具。例如,国际电工技术委员会(IEC)已经开发了可编程控制器语言标准IEC 61131-3标准。该IEC61131-3标准规定了多种图形编程技术。
在IEC 61131-3标准中所规定的一种图形技术通常被称作为“梯形图”。该梯形图技术基于传统的中继梯形逻辑。利用梯形图,程序员可以用图形排列一组标准化的符号来产生逻辑方程表达式。在IEC 61131-3标准中所规定的另一种图形技术通常被称作为“功能块图”。在功能块图中,程序员可以用图形将不同的功能块相互连接,其中,每个功能块执行特定的功能。IEC61131-3标准提供了用于执行各种操作的标准功能块。例如,标准化功能块可以执行诸如AND或OR功能的逻辑功能。此外,程序员和销售商(vendor)可创建他们自己的功能块。程序员可以将不同的功能块“用线连”在一起,以设计更复杂的功能。
当设计更复杂的逻辑功能时,梯形图或者功能块图可以在视觉上变得非常复杂。由于图形的视觉复杂性,人们要想理解和/或领会图潜在的逻辑可能是困难的。图形的视觉复杂性同样也使得调试逻辑功能设计困难。

发明内容
用于配置布尔逻辑功能块的技术在计算机的显示屏上显示与布尔逻辑功能块相关的矩阵。程序员可以接着将配置数据输入矩阵,以配置布尔逻辑功能块。在一个例子中,所述矩阵可以包括多个单元,这些单元中的某些对应于在生成功能块输出中将要使用的变量,并且,程序员可以将配置数据输入所述单元。输入到单元中的配置数据指示为其提供作为输入的对应于所述单元的变量的逻辑功能。
在一个实施例中,所述矩阵可以包括第一多个单元和第二多个单元。程序员可以将配置数据输入指示逻辑功能的第一多个单元,根据所述逻辑单元基于多个变量确定多个中间值。此外,程序员可以将配置数据输入指示逻辑功能的第二多个单元,根据所述逻辑单元基于多个中间值确定所述功能块输出。
在另一个实施例中,与布尔逻辑功能块输出相关的矩阵表达式可以用来便于调试所述功能块。所述矩阵可以在计算机的显示设备上显示,并且,在一个例子中,可以包括用于显示在生成所述功能块输出中所使用的中间结果的多个单元。可以基于多个对应于例如功能块的测试输入的值确定多个中间结果。


参照下面详细的描述和附图,将会更好地理解在此描述的装置和方法的特性和优点,其中图1是加工厂例子的框图;图2是在图1中示意性说明的工作站例子的框图;图3是描述控制模块的例子;图4是布尔逻辑功能块表达式的例子;
图5是用于配置和/或调试布尔逻辑功能块的矩阵例子;图6A是输入到图5的矩阵中的结构数据的解释性例子;图6B是等价于对应于图6A的结构数据的逻辑电路的一个实施例的框图;图6C是等价于对应于图6A的结构数据的逻辑电路的另一个实施例的框图;图7A是输入到图5的矩阵中的结构数据的另一个解释性例子;图7B是等价于对应于图7A的结构数据的逻辑电路的一个实施例的框图;图8A仍是输入到图5的矩阵中的结构数据的另一个解释性例子;图8B是等价于对应于图8A的结构数据的逻辑电路的一个实施例的框图;以及图9是用于配置和/或调试布尔逻辑功能块的另一个矩阵例子。
具体实施例方式
加工厂概述图1是包括一个或者多个节点12、14、16、18和20的加工厂10例子的框图。在图1的例子加工厂10中,所述节点12、14、和16中的每一个包括经由可能是例如基金会现场总线(Foundation Fieldbus)接口、HART接口等的输入/输出(I/O)设备24连接到一个或者多个现场设备22和23的工艺过程控制器12a、14a、16a。同样也将控制器12a、14a和16a,经由可以包括例如一个或者多个总线,诸如以太网LAN的有线局域网(LAN)、无线LAN、广域网(WAN)、内联网等的网络30,连接到在节点18和20中的一个或者多个主机或者操作员工作站18a和20a。虽然与此关联的控制器节点12、14、16和输入/输出及现场设备22、23和24典型地处于其下方,并分布在有时严酷的工厂环境时,操作员工作站节点18和20常常位于控制室或者控制器操作员容易进入的其他较不严酷的环境。
总的来说,节点18和20的工作站18a和20a可以用来存储和执行用于配置和监控加工厂10、和/或管理加工厂10中的设备22、23、24和控制器12a、14a、16a的应用程序。而且,可以将数据库32连接到网络30,并在下载到和/或存储在节点12、14、16、18和20中时当作数据记录程序(historian)和/或存储加工厂10的当前配置的配置数据库。
例如可以是由Emerson Process Management售出的DeltaVTM控制器的控制器12a、14a、16a中的每一个,可以存储和执行实现利用很多不同的、独立执行的控制模块或块的控制策略的控制器应用程序。所述控制模块可以每个都由通常称作功能块的要素组成,其中,每个功能块是整个控制程序的部分或者子程序,并和其他功能块(经由所谓的链接的通信)一起运行用来实现在加工厂10里面的工艺过程控制回路。众所周知,功能块典型地执行,输入功能(诸如与发送器、传感器或者其他的工艺参数测量设备相关的输入功能)、控制功能(诸如与执行PID、模糊逻辑等控制的控制程序相关的控制功能)、或者控制某些设备(诸如阀门)运行的输出功能中的一个,从而执行在加工厂10中的某个物理功能。当然混合型和其它类型的功能块存在,并可加以利用。尽管现场总线协议和DeltaVTM系统协议可以使用面向对象的编程协议设计和实现的控制模块和功能块,然而也可以利用包括例如序列功能块、梯形逻辑等的任何想要的控制编程方案,而且不限于利用功能块或者任何其他的具体编程技术,来设计控制模块。具有代表性的是,在工艺控制节点12、14和16中存储的控制模块的配置可以存储在对由工作站18a和20a执行的应用程序容易存取的配置数据库32中。例如可以将功能块存储在控制器12a,并由控制器12a执行,这是典型的当这些功能块用于,或者和标准4-20ma设备以及诸如HART设备的某些类型的智能现场设备相关情形,或者可以将功能块存储在现场设备并由现场设备它们自己来执行,这将会是用现场总线设备的情形。
在图1所图解的系统中,连接到控制器12a、14a和16a的现场设备22和23可以是标准4-20ma设备或者可以是诸如HART、Profibus或者基金会现场总线设备的包括处理器和存储器的智能现场设备。这些设备中诸如基金会现场总线现场设备(在图1中用编号23标注)的某些设备,可以存储和执行与在控制器12a、14a和16a中所执行的控制策略相关的诸如功能块的模块或者子模块。当然,现场设备22、23可以是诸如传感器、阀门、发送器、定位器等任何类型的设备,并且I/O设备24可以是符合任何想要的诸如HART、基金会现场总线、Profibus等的通信或者控制器协议的任何类型的I/O设备。
控制器12a、14a和16a每个都包括执行或者监视存储在存储器中的一个或者多个工艺控制程序的处理器,所述工艺控制程序可以包括存储其中或者换言之与之相关的控制回路。控制器12a、14a和16a和现场设备22、23、工作站18a、20a以及数据库32通信,以用任何想要的方式控制工艺过程。控制器12a、14a和16a每个都可以配置来用想要的方式实现控制策略或者控制程序。
图2是范例工作站18a(工作站20a可以包括相同或者类似的设备)的框图。工作站18a可以包括至少一个处理器50、易失性存储器54和非易失存储器58。易失性存储器54可以包括例如,随机存取存储器(RAM)。在某些实施例中,RAM可以用一个或者多个电池供电,以致如果发生电源故障时数据不丢失。非易失存储器58可以包括,例如,一个或者多个硬盘、只读存储器(ROM)、致密盘ROM(CD-ROM)、可编程ROM(PROM)、易擦除可编程ROM(EPROM)、电易擦除可编程ROM(EEPROM)、数字多功能盘(DVD)、快闪存储器等。工作站18a可以同样也包括工作站I/O设备62。经由地址/数据总线66可以将处理器50、易失性存储器54、非易失存储器58和工作站I/O设备62相互连接。工作站18a同样也可以包括至少一个显示器70和至少一个用户输入设备74,其可以是例如一个或者多个键盘、小键盘、鼠标、跟踪球、触摸屏、光笔等。在某些实施例中,一个或者多个易失性存储器54、非易失存储器58和工作站I/O设备62可以经由与地址/数据总线66分开的总线连接到处理器50,或者可以直接连接到处理器50。
显示器70和用户输入设备74和工作站I/O设备62连接。而且,工作站18a经由工作站I/O设备62和网络30连接。尽管在图3中将工作站I/O设备62按一个设备来图解的,但是,它可以包括多个设备。而且,在某些实施例中,一个或者多个显示器70和用户输入设备74可以直接连接到地址/数据总线66或者处理器50上。
现在参照图1和2,可以将与控制节点12、14、16中的一个或者多个相关的配置应用程序存储在工作站18a和20a的一个或者多个上,并由工作站18a和20a的一个或者多个来执行。例如,可以将配置应用程序存储在非易失存储器58和/或易失性存储器54,而且由处理器50来执行。然而,如果需要,此应用程序也能够存储在和加工厂10相关的其它计算机上,并在和加工厂10有关的其他计算机上执行。总的来说,配置应用程序允许编程员创建和配置由控制器12a、14a、16a和/或现场设备22、23实现的控制程序和控制模块。接着可以将这些控制程序和控制模块下载到控制器12a、14a、16a、I/O设备24和/或现场设备22、23中的适合一个上,并经由网络30。
配置应用程序可以许可利用功能块编程范例的编程协议模块和/或控制程序。图3图解了描述控制模块104的显示100的例子。显示器100可以是与配置应用程序有关的用户接口的部分,并且经由工作站18a的显示器70可以将显示100提供给编程员。显示100描述了具有一组通信互联功能块的控制模块104,能够创建所述通信互联功能块并将其下载到控制器12a、14a、16a、I/O设备24和/或现场设备22、23中的合适的一个上,并经由用于在工艺操作期间执行的网络30。如图3所图解的那样,控制模块104包括两个布尔逻辑功能块(BLFB)108和110、多个模拟输入(AI)和数字输入(DI)功能块、多个模拟输出(AO)和数字输出(DO)功能块,以及其他功能块(FB)。每个BLFB 108、110具有和功能块114通信互联的输入,其可以是DI功能块或者其他的FB。BLFB 108、110每个都具有连接到功能块118的输出,其可以是DO功能块或者其他的FB。控制模块104可以控制,或者可以是一起控制诸如开关、阀门等的设备的多个控制模块中的一个。当然,控制模块104仅仅是利用BLFB的控制模块的一个例子。总之,控制模块可以按任何想要的方式编程,以便包括和任意数量的BLFB按任何想要的方式通信连接的任何类型的功能块。如果在例如现场总线网络中使用,则控制模块可以包括任何现场总线类型的功能块。
利用与配置应用程序相关的用户接口,程序员可以设计诸如控制模块104的控制模块。仅仅作为一个例子,用户接口可以提供用于程序员从例如包括多个标准或者定制功能块模版的模版(stencil)或者选项板(palette)中选择想要功能块的装置。此外,用户接口可以提供图形性图表,程序员可以将功能块的描述插入或者放到所述图形性图表上。程序员可以使用例如鼠标、跟踪球等来从所述模版或者选项板中选择功能块,并接着,将所述功能块“拖放”到所述图形图表中。程序员可以通过例如在一个功能块的输出和另一个功能块的输入中间利用例如鼠标、跟踪球等划线来附加地和连接功能块通信。
布尔逻辑功能块配置图4是BLFB的表达式150的一个例子。BLFB表达式150可以在例如诸如图3的显示100的用户接口显示上显示。BLFB表达式150表明BLFB包括8个数据输入(从IN-D1到IN-D8)和8个数据输出(从OUT-D1到OUT-D8)。如将要更详细描述的,BLFB可以同样也包括除诸如PERMISSI-VE(允许)输入和OVERRIDE(覆盖)输入的数据输入之外的其他输入。尽管图3中示出的BLFB有8个数据输入和8数据输出,其他实施例可以包括任意想要数量的数据输入和数据输出。而且,数据输入的数量和数据输出的数量不必相同。
利用与配置程序相关的用户接口,程序员可以配置一个或者多个功能块。例如,程序员可以配置BLFB以产生作为它的数据输入的逻辑功能的数据输出。具体地讲,程序员可以指定和数据输出相关的特定逻辑功能。为了配置BLFB,程序员可以使得与功能块相关的配置窗口、屏幕等显示在显示设备70上。
图5解释了矩阵200的一个例子,可以用来至少部分地配置BLFB,诸如与图4的BLFB表达式150相关的BLFB。矩阵200可以作为与BLFB相关的配置窗口、屏幕等部分来显示。将要详细描述的是,矩阵200提供了用于配置BLFB的一个输出(OUT-1)的机制。具体地讲,程序员可以配置一个或者多个中间结果(EXP_1、EXP_2、EXP_3、EXP_4),作为到BLFB的数据输入和来自BLFB的数据输出(OUT-1、OUT-2,…,OUT-8)的功能。在另一个实施例中,可以将输出仅仅作为数据输入的功能来配置(即,不作为数据输出的功能)。而且,程序员可以将输出(OUT-1)作为中间结果的功能来配置。BLFB的其他输出(例如,OUT-2、OUT-3,…OUT-8)的每一个可以有和矩阵200相同或者类似的相关矩阵。从而,程序员可以按和参照输出OUT-1的下面描述类似的方法配置输出OUT-2至OUT-8的每一个。
如图5所示,矩阵200包括多个单元204。多个单元204中的单元的每一列对应于数据输入中的一个,而多个单元204中的单元的每一行对应于中间结果中的一个。矩阵200还包括多个单元208。多个单元208中的单元的每一列对应于数据输出中的一个,而多个单元208中的单元的每一行对应于中间结果中的一个。为了将中间结果作为数据输入和数据输出的功能来配置,程序员可以利用与计算机(例如,工作站18a或者另一个计算机)相关的例如鼠标、跟踪球、键盘、小键盘、触摸屏等,输入配置数据到与中间结果对应的行中的单元204和208。例如,为了配置间结果(EXP_1),程序员可以将配置数据输入到在行224中的单元204和208。
行224中的单元204和208中的每一个对应于用来产生中间结果EXP_1的一个变量(例如,IN_1,IN_2,…,IN_8,0UT_1,OUT_2,…,OUT_8)。输入到单元中的配置数据可以包括指示多个逻辑功能中的一个的数据,与所述单元相关的变量将作为输入提供给所述逻辑功能。在一个例子中,配置数据可以指示所述变量是否应当作为输入提供给逻辑AND功能、逻辑OR功能或者逻辑NOR功能。在一个实施例中,BLFB的每一个输出可以利用逻辑AND功能、逻辑OR功能或者逻辑NOR功能等中的一个或者多个来配置。在其它实施例中,只有这些功能的子集可使用。仍在其它实施例中,作为逻辑AND功能、逻辑OR功能或者逻辑NOR功能之外的附加,或者作为对逻辑AND功能、逻辑OR功能或者逻辑NOR功能的替代,还可以使用其它的功能。可以使用的其他功能包括例如NAND功能、XOR功能等。
输入到单元的配置数据可选地同样包括指示变量是否应该作为反相输入提供给逻辑功能的数据。在表1中提供了可以输入到单元204和208中的一组可能配置数据的一个例子。

表1在一个实施例中,表1的任何数据可以输入到单元204和208中的每一个中。在其它实施例中,只有表1中所列的数据的子集可以被输入到单元204和208中的一个、更多或者全部。仍在其它实施例中,作为表1中的数据外的附加,或者作为对表1中的数据的替代,可以输入在表1中没有列出的其它数据到单元204和208中的一个、更多或者全部。仍在其它实施例中,在表1中的任何数据多不能被输入到单元204和208中的一个、更多或者全部。
图6解释了输入到行224的单元204和208的配置数据的例子。为了清晰起见,已经忽略了矩阵200的其他部分。与变量IN-2、IN-3、IN-4、OUT-1和OUT-8相对应的单元包括指示这些变量作为输入提供给AND功能的配置数据。而且,与变量IN-4和OUT-1对应的单元指示应该同样也对这些变量倒相。类似地,与变量IN-5、OUT-2和OUT-3相对应的单元包括指示这些变量作为输入提供给OR功能并应该同样也对变量OUT-2倒相的配置数据。同样地,与变量IN-7、IN-8、OUT-4和OUT-5相对应的单元包括指示这些变量作为输入提供给NOR功能的配置数据。
在一个实施例中,由配置数据指示的所述AND、OR和NOR功能的输出一起进行或运算,以生成中间结果。图6B解释了等价于图6A的配置数据例子的逻辑电路250。具体地讲,将变量IN-2、IN-3、1N-4、OUT-1和OUT-8提供给AND门254,同时对变量1N-4和OUT-1倒相。将变量IN-5、OUT-2和OUT-3提供给OR门258,同时对变量OUT-2倒相。将变量IN-7、IN-8、OUT-4和OUT-5提供给NOR门262。而且,将AND门254、OR门258和NOR门262的输出提供给OR门266,以致产生中间结果EXP_1。
图6C解释了等价于图6A的配置数据例子的另一个逻辑电路270的一个实施例。在逻辑电路270中,将变量IN-5、OUT-2和OUT3提供给OR门274,同时对变量OUT-2倒相。同样地,将AND门254和NOR门262的输出提供给OR门274。OR门274产生中间结果EXP_1。
尽管在上述的实施例中,将所述功能的输出一起相或以产生中间结果,但是同样也可以使用其他功能。例如,能够对功能的输出进行AND、NOR、NAND、XOR操作等。在一个实施例中,能够从多个功能中选择具体的功能。例如,程序员能够通过输入配置数据到矩阵的具体单元来选择功能,或者经由诸如窗口、显示屏、菜单等的某些其他用户接口机制选择功能。
再参照图5,为了将中间结果EXP_2、EXP_3和EXP_4作为功能块输入和/输出的功能来配置,程序员可以将配置数据输入到与中间结果EXP_2、EXP_3和EXP_4相对应的单元204和208。能够用如上所述的有关中间结果EXP_1的类似方法配置中间结果EXP_2、EXP_3和EXP_4。如果没有将配置数据输入到单元204、208,则将不使用与那个单元相对应的变量来产生相对应的中间结果。
矩阵200同样也包括单元216,该单元216中的每一个对应于用来产生输出OUT-1的变量(例如,中间结果EXP_1、EXP_2、EXP_3和EXP_4)。程序员可以通过利用与计算机(例如,工作站18a或者另一个计算机)相关的例如鼠标、跟踪球、键盘、小键盘、触摸屏等,输入配置数据到单元216,来将输出OUT-1作为中间结果的功能配置。如同输入到单元204、208中的配置数据的情形一样,输入到单元216的配置数据可以包括指示将与所述单元相关的变量作为输入提供给多个逻辑功能中的一个的数据。在一个例子中,所述配置数据可以指示是否应该将变量作为输入提供给逻辑AND功能、逻辑OR功能或逻辑NOR功能。在一个实施例中,使用逻辑AND功能、逻辑OR功能或逻辑NOR功能中的一个或者多个配置BLFB的每一个输出。在其它实施例中,只有这些功能的子集可使用。仍在其它实施例中,作为逻辑AND功能、逻辑OR功能或者逻辑NOR功能之外的附加,或者作为对逻辑AND功能、逻辑OR功能或者逻辑NOR功能的替代,还可以使用其它的功能。输入到单元216中的配置数据同样也可选地包括指示是否应当将变量作为倒相输入提供给逻辑功能的数据。
在一个实施例中,表1的任何数据可以输入到单元216中的每一个中。在其它实施例中,只有表1中所列的数据的子集可以被输入到单元216中的一个、更多或者全部。仍在其它实施例中,作为表1中的数据外的附加,或者作为对表1中的数据的替代,还可以输入在表1中没有列出的其它数据到单元216中的一个、更多或者全部。仍在其它实施例中,在表1中的任何数据都不能被输入到单元216中的一个、更多或者全部。适用于输入到单元204和/或208的配置数据选项可以和适用于输入单元216的配置数据选项相同或者不同。
图7A图解了输入到矩阵200的单元216中的配置数据的例子。为了清晰起见,已经忽略了矩阵200的其他部分。与变量EXP_1和EXP_2相对应的单元216包括指示将这些变量将作为输入提供给AND功能的配置数据。而且,与变量EXP_3和EXP_4对应的单元216包括指示这些变量将作为输入提供给OR功能的配置数据。
在一个实施例中,如单元216中的配置数据指示的所述AND、OR和NOR功能的输出被一起相或,以生成输出OUT-1。图7B解释了等价于图7A的配置数据例子的逻辑电路290的一个实施例。具体地讲,将变量EXP_1和EXP_2提供给AND门294,将变量EXP_1和EXP_2和AND门294的输出提供给OR门298。OR门298产生结果OUT-1。和如上所述的生成中间结果的情形一样,同样也可以使用不是OR功能的功能(例如,AND、NOR、NAND、XOR等)。而且,能够从多个功能中选择特定功能。
现在参照图1,在程序员已经利用例如工作站18a将配置数据输入到矩阵(例如,矩阵200或者类似的矩阵)之后,可以将配置数据存储在工作站18a的计算机可读介质上和/或经由网络30发送到另一个设备上。例如,可以将配置数据发送到例如数据库32、控制器12a、14a和16a、I/O设备24和现场设备22和23中的一个或者多个上。在存储或者发送配置数据之前,可以可选地将配置数据转换为不同的格式。
接着可以根据配置数据创建和/或配置BLFB。BLFB可以由软件、硬件、固件或者软件、硬件和/或固件的组合来实现。例如,BLFB可以由诸如控制器12a、14a和16a的控制器,由一个或者多个现场设备22、23等来实现。就实现已配置的BLFB而言,应当理解出于解释的目的才图解了图6A、6B和7B的等价逻辑电路250、270和290。尽管在某些实施例中能够使用逻辑门产生功能块输出,但是典型地也会使用其他的技术。例如,在某些实施例中,可以通过根据软件配置的处理器,通过例如包括一个或者多个门阵列、标准单元、现场可编程门阵列(FPGA)、PROM、EPROM、EEPROM、可编程阵列逻辑(PAL)、可编程逻辑阵列(PLA)等设备的可编程逻辑设备来实现BLFB。
可以由例如根据软件程序所配置的处理器全部或者部分地实现诸如如上所述的用户接口的用户接口实施例。例如,工作站18a或者20a或者某些其他的计算机可以全部或者部分地实现如上所述的用户接口。用于实现用户接口实施例的软件程序可以被嵌入到在诸如硬盘、有电池供电的RAM、ROM、CD-ROM、PROM、EPROM、EEPROM、DVD、快闪存储器等的有形介质或者在诸如与处理器相关的RAM的存储器上所存储的软件中,,但是,本领域的普通技术人员将会容易地意识到整个的程序或其部分将能够由不是处理器的设备来替代执行,和或者用众所周知的方式嵌入到固件和/或专用硬件中。
可以将与BLFB相关的配置数据存储在诸如硬盘、ROM、CD-ROM、EPROM、EEPROM、DVD、快闪存储器等计算机可读介质上,或者存储在诸如与处理器相关的RAM的存储器中。
配置变化除了输入到矩阵(例如,矩阵200和类似的用于OUT-2至OUT-8的矩阵)的配置数据外,还可以进一步地配置BLFB。例如,诸如窗口、显示屏等的用户接口装置可以显示给程序员,以便经由例如鼠标、跟踪球、键盘、小键盘、触摸屏等输入附加的配置数据。下面提供了附加配置数据的例子。应该理解如下所述的附加配置选项中的一个或者更多可以包括在各种实施例中,或者没有如下所述的附加配置选项可以包括在各种实施例中。
正如本领域普通技术人员所知,某些控制系统可以提供要被设置为“BAD”状态的逻辑信号或者值。因此,在某些实施例中,可以配置BLFB,以便处理其状态是BAD的输入信号(例如,IN-1至IN-8)。在一个实施例中,可以根据表2中提供的选项配置BLFB。

表2锁存和/或延迟功能块输出可能是有用的。在一个实施例中,输出OUT-1至OUT-8中的一个或者更多或者全部可以根据表3中展示的配置选项来配置。在其它实施例中,只有在表3中列出的选项的子集可以被提供。仍在其它实施例中,作为表3的选项中的一个或者多个外的附加,或者作为对表3的选项中的一个或者多个的替代,还可以提供在表3中没有列出的其它选项。仍在其它实施例中,表3中所有的选项都不可以被提供。


表3在这样配置功能块输出以致输出变为锁存直至重置的实施例中,可以将配置数据输入到与输出相对应的指定了输出是如何重置的矩阵中。现在参照图5,作为例子,程序员可以输入配置数据到与清除已锁存的输出OUT-1相关的单元216。例如,程序员可以将配置数据“C”输入到单元216中的一个或者多个中,以便产生中间结果或者用来清除已锁存输出OUT-1的结果。在一个实施例中,如果输入“C”到多个216中,则将与那些单元216相对应的中间结果一起相或,以产生用来指示、何时清除已锁存输出OUT-1的值。
图8A图解了输入到矩阵200的单元216的配置数据的例子。为了清晰起见,已经忽略了矩阵200的其他部分。与变量EXP_1和EXP_2相对应的单元216包括指示这些变量将作为输入提供给AND功能的配置数据。而且,与变量EXP_3和EXP_4对应的单元216包括指示这些变量将作为输入提供给OR功能的配置数据。OR功能的输出用来清除已锁存输出。和产生如上所述的中间结果的情形一样,同样也可以使用不是OR功能的功能(例如,AND、NOR、NAND、XOR等)。而且,能够从多个功能中选择特定功能。
图8B图解了等价于图8A的配置数据例子的逻辑电路300的一个实施例。具体地讲,将变量EXP_1和EXP_2提供给AND门304。将AND门304的输出提供给产生结果OUT-1的锁存308。该等价逻辑电路可以对应于例如作为锁存输出配置的输出OUT-1。将变量EXP_3和EXP_4提供给OR门312,而将OR门312的输出作为CLEAR(清除)输入提供给锁存308。
调试再参照图5,在某些实施例中,出于测试的目的而使用矩阵(诸如矩阵200)。例如,单元212可以用来将中间结果的值作为变量IN-1至IN-8和OUT_1至OUT-8的变化值来显示。具体地讲,单元212A可以用来显示中间结果EXP_1,单元212B可以用来显示中间结果EXP_2,单元212C可以用来显示中间结果EXP_3,单元212D可以用来显示中间结果EXP_4。类似地,单元220可以用来将输出结果的值作为变量IN-1至IN-8和OUT-1至OUT-8的变化值来显示,并且EXP_1到EXP_4的值变化。为了更容易从视觉上理解,在调试期间可选地没有示出在生成中间结果中未使用的单元、行和/或列。例如,如果没有配置数据输入到与中间结果EXP_4相对应的单元204和208,则出于调试的目的,将会忽略行226和/或列228。
在某些实施例中,出于调试目的,将会使用BLFB来产生中间结果和/或功能块输出OUT-1至OUT-8。例如,将调试数据展示为功能块输入IN-1至IN-8。在另一个例子中,可以基于测试数据由例如其他的功能块产生功能块输入IN-1至IN-8。在另外的实施例中,BLFB仿真器(例如,由诸如工作站18a或20a的工作站来实现的)可以被用来产生中间结果和/或功能块输出OUT-1至OUT-8。
附加的修改现在参照图4,BLFB除了如上所述的数据输入外还可以具有一个或者多个其他输入。例如,BLFB可以具有当FALSE(假)时将功能块的所有输出强制为FALSE的输入(称作为“允许”输入)。类似地,BLFB可以具有当TRUE(真)时将功能块的所有输出强制为FALSE的输入(称作为“覆盖”输入)。
在如上所述的实施例中,BLFB可以配置来产生一至4个中间结果。应该理解,在其它实施例中,可以配置BLFB来产生5个或者更多中间结果。仍在其他的实施例中,BLFB不可被配置来产生任何中间结果。图9图解了可以用来至少部分地配置诸如与图4的BLFB表示相关的BLFB的BLFB。可以作为与BLFB相关的作为配置窗口、屏幕等的部分显示的矩阵400,提供了用于配置BLFB的一个输出(OUT-1)的机制。具体地讲,程序员可以把输出OUT-1作为BLFB的数据输入(IN-1,IN-2,…,IN-8)和BLFB的数据输出(OUT-1,OUT-2,…,OUT-8)的功能来配置。在其它的实施例中,所述输出只能作为数据输入的功能(即,不作为数据输出的功能)来配置。
矩阵400包括多个单元404,其中每个单元404对应于数据输入的一个。矩阵400还包括多个单元408,其中每个单元408对应于数据输出的一个。为了把输出配置为数据输入和数据输出的功能,程序员可以和如上所述的类似的方式将配置数据输入到单元404和408。例如,程序员可以输入与参照表1所描述的类似的数据。
在某些实施例中,用户接口可以允许人们用不同的指示来显示BLFB的配置数据。例如,可以将配置数据转换为梯形图指示,其可随后被显示在例如计算机的显示器屏幕上。作为另一个例子,可以将配置数据转换为随后可显示给用户的功能块图指示(例如,逻辑功能框图)。可以使用任意数量的包括为本领域普通技术人员所公知技术的技术能够实现这样的转换。
尽管本发明允许各种修改和替代构造,其某些说明性的实施例已在所述附图中示出并在此进行了详细的描述。但是,应该理解,无意将所述披露内容局限为所披露的特定形式,恰恰相反,本发明将涵盖落在由所附权利要求所定义的精神和范围内的所有修改、替代结构和等同物。
权利要求
1.一种用于经由具有显示设备和输入设备的计算机配置与加工厂相关的功能块的方法,所述方法包括在显示设备上显示与功能块的功能块输出相关的矩阵,所述矩阵用来配置所述功能块输出,其中所述矩阵包括多个单元,其中所述多个单元中的每一个单元对应于多个变量中的变量;以及经由输入设备接收至少输入到所述多个单元中的某些单元中的配置数据,其中所述配置数据包括指示与单元对应的所述变量是其输入的多个逻辑功能中的一个的数据。
2.如权利要求1所述的方法,其中所述多个逻辑功能包括AND功能、NAND功能、OR功能、NOR功能和XOR功能中的至少一个。
3.如权利要求1所述的方法,其中,所述配置数据还包括指示与单元对应的所述变量是否将是所述多个逻辑功能中的一个逻辑功能的反相输入的数据。
4.如权利要求3所述的方法,其中,指示多个逻辑功能的一个的所述数据包括指示所述对应变量是否是所述多个逻辑功能中的一个逻辑功能的反相输入的数据。
5.如权利要求1所述的方法,其中,所述多个变量包括多个功能块输入。
6.如权利要求1所述的方法,其中,所述多个变量包括多个功能块输出。
7.如权利要求1所述的方法,其中,所述多个单元包括一个单元组,其中,如果至少输入到所述一个单元组中的某些单元的配置数据指示提供给逻辑功能组的变量,则所述逻辑功能组的输出将作为输入提供给下一个逻辑功能。
8.如权利要求7所述的方法,其中,所述下一个逻辑功能包括AND功能、NAND功能、OR功能、NOR功能和XOR功能中的至少一个。
9.如权利要求8所述的方法,还包括经由输入设备接收下一个配置数据,所述下一个配置数据指示下一个的逻辑功能。
10.如权利要求1所述的方法,其中,所述多个变量包括多个中间结果。
11.如权利要求10所述的方法,其中,多个单元包括第一多个单元和第二多个单元,其中,所述第一多个单元将配置所述多个中间结果,并且其中所述第二多个单元将基于多个中间结果配置所述功能块输出;其中所述多个逻辑功能包括第一多个逻辑功能和第二多个逻辑功能;其中输入到在所述第一多个单元中的单元所述配置数据,包括所述第一多个逻辑功能中的一个的数据;以及其中输入到在所述第二多个单元中的单元所述配置数据,包括所述第二多个逻辑功能中的一个的数据。
12.如权利要求11所述的方法,其中,所述第二多个逻辑功能包括所述第一多个逻辑功能。
13.如权利要求12所述的方法,其中,所述第二多个逻辑功能和所述第一多个逻辑功能相同。
14.如权利要求11所述的方法,其中,所述第一多个单元用来至少部分地基于多个功能块输入配置所述多个中间结果。
15.如权利要求14所述的方法,其中,所述第一多个单元还用来基于多个其他功能块输出配置所述多个中间结果。
16.如权利要求14所述的方法,其中,所述第一多个单元还用来基于所述功能块输出配置所述多个中间结果。
17.如权利要求1所述的方法,还包括在所述显示设备上显示用于输入下一个配置数据的用户接口机制;接收基于所述用户接口机制输入的所述下一个配置数据。
18.如权利要求17所述的方法,其中,所述下一个配置数据包括指示所述功能块是如何看待具有BAD状态的功能块输入数据。
19.如权利要求17所述的方法,其中所述下一个配置数据包括指示所述功能块输出是否将被锁存的数据。
20.如权利要求19所述的方法,其中所述配置数据包括指示用于确定何时清除所述功能块输出的功能的数据。
21.如权利要求17所述的方法,其中所述下一个配置数据包括指示所述功能块输出是否将被延迟的数据。
22.如权利要求17所述的方法,其中所述下一个配置数据包括指示所述功能块输出是否将基于一个计数改变状态的数据。
23.如权利要求1所述的方法,还包括根据所述配置数据创建所述功能块。
24.如权利要求1所述的方法,还包括根据所述配置数据配置所述功能块。
25.如权利要求1所述的方法,还包括将所述配置数据存储在计算机可读介质上。
26.如权利要求1所述的方法,还包括将所述配置数据存储在存储器中。
27.如权利要求1所述的方法,还包括经由与所述加工厂相关的网络发送所述配置数据。
28.一种用于经由具有显示设备和输入设备的计算机配置与加工厂相关的功能块的方法,所述方法包括在显示设备上显示与功能块的功能块输出相关的第一矩阵,其中,所述第一矩阵用来配置多个中间结果,其中所述第一矩阵包括多个第一单元,其中,所述多个第一单元中的每个第一单元对应于多个变量中的一个变量;经由所述输入设备接收至少输入到所述多个第一单元中的某些单元中的第一配置数据,其中所述第一配置数据包括指示与第一单元对应的所述变量是其输入的第一多个逻辑功能中的一个的数据;在显示设备上显示与功能块的功能块输出相关的第二矩阵,其中,所述第二矩阵用来基于所述多个中间结果配置所述功能块输出,其中所述第二矩阵包括多个第二单元,其中,所述多个第二单元中的每个第二单元对应于所述多个中间结果中的一个中间结果;以及经由所述输入设备接收至少输入到所述多个第二单元中的某些单元中的第二配置数据,其中所述第二配置数据包括指示与第二单元对应的所述中间结果是其输入的第二多个逻辑功能中的一个的数据;
29.如权利要求28所述的方法,其中所述第一矩阵和所述第二矩阵是相同矩阵。
30.如权利要求28所述的方法,其中所述第一多个逻辑功能包括AND功能、NAND功能、OR功能、NOR功能和XOR功能中的至少一个。
31.如权利要求28所述的方法,其中所述第二多个逻辑功能包括AND功能、NAND功能、OR功能、NOR功能和XOR功能中的至少一个。
32.如权利要求28所述的方法,其中,所述第一配置数据还包括指示与一个单元对应的所述变量是否将是所述第一多个逻辑功能中的一个逻辑功能的反相输入的数据。
33.如权利要求28所述的方法,其中,所述第二配置数据还包括指示与一个单元对应的所述变量是否将是所述第二多个逻辑功能中的一个逻辑功能的反相输入的数据。
34.如权利要求28所述的方法,其中,所述多个变量包括多个功能块输入。
35.如权利要求28所述的方法,其中,所述多个变量包括多个功能块输出。
36.如权利要求28所述的方法,其中,所述多个第一单元包括对应于多个中间结果的一个中间结果的第一单元组,其中,如果至少输入到所述第一单元组中的某些单元的第一配置数据指示提供给第一逻辑功能组的变量,则所述第一逻辑功能组的输出将作为输入提供给下一个逻辑功能。
37.如权利要求36所述的方法,其中,所述下一个逻辑功能包括AND功能、NAND功能、OR功能、NOR功能和XOR功能中的至少一个。
38.如权利要求37所述的方法,还包括经由输入设备接收下一个第一配置数据,所述下一个配置数据指示下一个逻辑功能。
39.如权利要求28所述的方法,其中如果至少输入到所述第二单元中的某些单元的第二配置数据指示提供给逻辑功能组的变量,则所述逻辑功能组的输出将作为输入提供给下一个逻辑功能。
40.如权利要求39所述的方法,其中,所述下一个逻辑功能包括AND功能、NAND功能、OR功能、NOR功能和XOR功能中的至少一个。
41.如权利要求40所述的方法,还包括经由输入设备接收下一个第一配置数据,所述下一个配置数据指示下一个逻辑功能。
42.如权利要求28所述的方法,还包括在所述显示设备上显示用于输入第三配置数据的用户接口机制;以及经由所述用户接口机制接收所述第三配置数据。
43.如权利要求42所述的方法,其中所述第三配置数据包括指示所述功能块是如何看待输入具有BAD状态的功能块的数据。
44.如权利要求42所述的方法,其中所述第三配置数据包括指示所述功能块输出是否被锁存的数据。
45.如权利要求44所述的方法,其中所述第二配置数据包括指示用于确定何时清除所述功能块输出的功能的数据。
46.如权利要求42所述的方法,其中所述第三配置数据包括指示是否所述功能块被延迟的数据。
47.如权利要求42所述的方法,其中所述第三配置数据包括指示所述功能块输出是否将基于计数改变状态的数据。
48.如权利要求28所述的方法,还包括根据所述第一配置数据和所述第二配置数据配置所述功能块。
49.如权利要求28所述的方法,还包括将所述第一配置数据和所述第二配置数据存储在计算机可读介质上。
50.如权利要求28所述的方法,还包括经由与所述加工厂相关的网络发送所述第一配置数据和所述第二配置数据。
51.一种用于经由具有显示设备的计算机便利调试功能块的方法,所述功能块与加工厂相关,所述方法包括在显示设备上显示与所述功能块的功能块输出相关的矩阵,其中所述功能块输出是基于多个中间结果的逻辑功能的,其中所述多个中间结果是基于多个变量的,其中所述矩阵包括多个第一配置单元,其中所述第一配置单元包括指示所述逻辑功能的第一配置数据,其中所述矩阵包括多个与所述多个中间结果相对应的多个中间结果显示单元;基于与所述多个变量对应的多个值确定所述多个中间结果;以及显示在所述多个中间结果显示单元中的所述中间结果。
52.如权利要求51所述的方法,还包括接收与所述多个变量相对应的所述多个值。
53.如权利要求51所述的方法,其中所述矩阵包括功能块输出显示单元,所述方法还包括基于所述多个中间结果确定所述功能块输出;以及显示在所述功能块输出显示单元中的所述功能块输出。
54.如权利要求51所述的方法,其中所述多个中间结果是基于多个相对应的其它逻辑功能的,其中所述矩阵包括多个第二配置单元,其中所述第二配置单元包括指示所述多个对应的其他逻辑功能的第二配置数据。
55.一种存储机器可读指令的有形介质,包括第一代码,用于在显示设备上显示与功能块的功能块输出相关的矩阵,所述矩阵用来配置所述功能块输出,其中所述矩阵包括多个单元,其中所述多个单元的每一个单元对应于多个变量中的一个变量;以及第二代码,用于接收经由输入设备输入到所述多个单元中的至少某些单元的配置数据,其中,所述配置数据包括指示与单元相对应的所述变量是其输入的多个逻辑功能中的一个的数据。
56.一种如权利要求55所述的有形介质,还包括用于根据所述配置数据创建所述功能块的第三代码。
57.一种如权利要求55所述的有形介质,还包括用于根据所述配置数据配置所述功能块的第三代码。
58.一种如权利要求55所述的有形介质,还包括用于在计算机可读介质上存储所述配置数据的第三代码。
59.一种如权利要求55所述的有形介质,还包括用于在存储器中存储所述配置数据的第三代码。
60.一种如权利要求55所述的有形介质,还包括用于经由与所述加工厂相关的网络发送所述配置数据的第三代码。
61.一种存储机器可读指令的有形介质,包括第一代码,用于在显示设备上显示与功能块的功能块输出相关的第一矩阵,其中所述第一矩阵用来配置多个中间结果,其中所述第一矩阵包括多个第一单元,其中所述多个第一单元中的每个第一单元对应于多个变量中的变量;第二代码,用于经由所述输入设备接收至少输入到所述多个第一单元中的某些单元中的第一配置数据,其中所述第一配置数据包括指示与第一单元对应的所述变量是其输入的第一多个逻辑功能中的一个的数据;第三代码,用于在显示设备上显示与所述功能块相关的第二矩阵,所述第二矩阵用来根据所述多个中间结果配置所述功能块输出,其中所述第二矩阵包括多个第二单元,其中所述多个第二单元中的每个第二单元对应于所述多个中间结果中的一个中间结果;以及第四代码,用于经由所述输入设备接收至少输入到所述多个第二单元中的某些单元中的第二配置数据,其中所述第二配置数据包括指示与第二单元对应的所述中间结果是其输入的第二多个逻辑功能中的一个的数据。
62.一种如权利要求61所述的有形介质,还包括用于根据所述配置数据创建所述功能块的第五代码。
63.一种如权利要求61所述的有形介质,还包括用于根据所述配置数据配置所述功能块的第五代码。
64.一种如权利要求61所述的有形介质,还包括用于在计算机可读介质上存储所述配置数据的第五代码。
65.一种如权利要求61所述的有形介质,还包括用于在存储器中存储所述配置数据的第五代码。
66.一种如权利要求61所述的有形介质,还包括用于经由与所述加工厂相关的网络发送所述配置数据的第五代码。
67.一种存储机器可读指令的有形介质,包括第一代码,用于在显示设备上显示与功能块的功能块输出相关的第一矩阵,其中所述功能块输出是基于多个中间结果的逻辑功能的,其中,所述多个中间结果是基于多个变量的,其中,所述矩阵包括多个第一配置单元,其中,所述第一配置单元包括指示所述逻辑功能的第一配置数据,其中,所述矩阵包括与多个中间结果相对应的多个中间结果显示单元;第二代码,用于基于与所述多个变量对应的多个值确定所述多个中间结果;以及第三代码,用于显示在所述多个中间结果显示单元中的所述中间结果。
全文摘要
本发明涉及一种用于配置布尔逻辑功能块的技术,其在计算机的显示屏幕上显示与所述布尔逻辑功能块相关的矩阵。程序员可以随后输入配置数据到所述矩阵,以便配置所述布尔逻辑功能块。所述矩阵可以包括多个单元,所述多个单元中的某些对应于将要用于产生功能块输出的变量,并且所述程序员可以输入配置数据到所述单元。输入到单元中的所述配置数据指示与所述单元相对应的所述变量被提供作为其输入的逻辑功能。
文档编号G05B19/05GK1573684SQ20041004784
公开日2005年2月2日 申请日期2004年5月31日 优先权日2003年5月30日
发明者肯特·A·伯尔, 肯尼思·D·克里沃斯海因, 加里·K·劳 申请人:费舍-柔斯芒特系统股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1