用于封装设备级嵌入逻辑的宏功能块的制作方法

文档序号:6327272阅读:91来源:国知局

专利名称::用于封装设备级嵌入逻辑的宏功能块的制作方法
技术领域
:本发明涉及在自动化设备中配置逻辑指令的领域,更具体地,涉及把设备级嵌入逻辑封装到用户定义的指令中的技术。
背景技术
:逻辑解决能力可以被编程到例如输入/输出(1/0)设备、电机驱动器、继电器、按钮的各种传感器和致动器设备,以及其它自动化设备中,以改进设备的性能,并且使得能够在没有来自中央自动化控制器的具体指示的情况下对自动化需求做出有限但是快速的响应。例如,这种逻辑解决能力可以控制自动化设备的输出和管理自动化设备的状态信息,以控制直接连接或紧密耦合到设备的其它部件的操作。通过提供用于配置功能块的图形接口的可视编辑工具可以实现逻辑解决能力的配置,所述功能块包括设备的本地控制功能。这种分布式控制允许低级设备执行迄今为止仅通过引用一或多个网络连接的自动化控制器中的逻辑来执行的操作。必须经常在设备内和/或设备之间重复执行专用逻辑编程。通常,没有容易的方式来减少重复编程步骤的次数。
发明内容本发明提供了使用设备配置软件把设备级嵌入逻辑封装到用户定义的指令中的技术。更具体地,公开的实施方式允许把插件指令用于设备配置嵌入逻辑。特定于应用或设备的编程接口可以被合并到单个指令中,以作为可以在相同或不同应用或设备中重用的可重用宏部件。根据本发明的一个方面,一种用于过程的分布式控制的方法包括访问设计环境中的宏创建模块;访问多个功能块,所述多个功能块被配置成根据输入执行期望的算术和/或逻辑运算以生成输出;经由创建模块创建宏以把所述多个功能块中的多个功能块封装到单个插件指令集合中,其中所述多个功能块的输入中的至少之一和输出中的至少之一被映射到所述宏的输入和输出;把所述宏配置用于特定自动化过程;把所述宏下载到自动化设备中;和存储所述宏以供在其它自动化设备中后续使用。根据所述方法,功能块可以包括用面向对象编程语言配置的非暂时性代码。根据所述方法,自动化设备可以包括输入/输出端子块。根据所述方法,自动化设备可以包括按钮块。根据所述方法,自动化设备可以包括过载继电器。根据所述方法,自动化设备可以包括电机驱动器或电机起动器。根据所述方法,配置宏可以包括配置至少一个存储器寄存器,其中所述功能块从所述存储器寄存器读取至少一个输入。根据所述方法,配置宏可以包括配置至少一个存储器寄存器,其中所述功能块将至少一个输出写入所述存储器寄存器。根据所述方法,在操作期间,自动化设备可以经由网络被耦合到自动化控制器,但是在没有来自所述自动化控制器的命令的情况下可以根据所述宏接收至少一个输入并且生成至少一个输出。根据所述方法,在所述设计环境中,可以在配置站上创建所述宏。根据所述方法,可以包括把所述宏从所述自动化设备上载到配置站。根据本发明的另一个方面,一种分布式自动化控制设备包括存储包括多个功能块的宏的存储器电路,所述功能块被配置成根据输入执行期望的算术和/或逻辑运算以生成输出,所述宏被配置用于特定自动化过程;处理器,被配置成执行所述宏;和接口,被配置成根据由所述处理器执行的宏来把输出进行输出。此外,分布式自动化控制设备可以包括输入/输出端子块。此外,分布式自动化控制设备可以包括按钮块。此外,分布式自动化控制设备可以包括过载继电器。此外,分布式自动化控制设备可以包括电机驱动器或电机起动器。根据本发明的另一个方面,一种分布式控制系统包括分布式自动化控制设备,包括存储包括多个功能块的宏的存储器电路,所述功能块被配置成根据输入执行期望的算术和/或逻辑运算以生成输出,所述宏被配置用于特定自动化过程;处理器,被配置成执行所述宏;和接口,被配置成根据由所述处理器执行的宏来把输出进行输出;和自动化控制器,经由网络耦合到所述分布式自动化控制设备;其中所述分布式自动化控制设备被配置成经由所述网络与所述自动化控制器通信,但是在没有来自所述自动化控制器的命令的情况下接收输入并且输出所生成的输出。根据所述系统,分布式自动化控制设备可以包括输入/输出端子块。根据所述系统,分布式自动化控制设备可以包括按钮块。根据所述系统,分布式自动化控制设备可以包括过载继电器。根据所述系统,分布式自动化控制设备可以包括电机驱动器或电机起动器。当参考附图来阅读下面的详细描述时,会更好地理解本发明的这些和其它特性、方面和优点,在附图中用类似字符表示类似部分,其中图1是用于控制和监视机器和/或过程的示例性控制和监视系统的图示;图2是图1的示例性控制和监视系统的关系的图示;图3是示例性自动化设备的部件的框图;图4是用于配置图3的自动化设备的示例性配置站的部件的框图;4图5是图4的用于直观显示特定自动化设备的配置的示例性浏览器的可视表示;图6是与其它功能块一起使用的示例性宏功能块的框图;图7是图解自动化设备的配置期间的状态的示例性状态转换图;图8是用于宏功能块类型定义的示例性状态事件矩阵;图9是图4的浏览器的部分屏幕截图,其图解新宏块选项卡;图10是示例性弹出菜单,其允许自动化设备的设计者选择添加元件菜单项;图11是当设计者选择图10的添加元件菜单项时启动的示例性元件列表对话框;图12是图4的浏览器的部分屏幕截图,其图解设计者从主编辑菜单中选择的添加元件菜单项;图13是浏览器的部分屏幕截图,其图解设计者点击来自主工具菜单的创建宏块子菜单项和主工具菜单下的宏块子菜单的情形;图14是浏览器的部分屏幕截图,其图解可以用于编辑宏功能块的宏功能块编辑窗口;图15是当设计者选择创建宏块子菜单项时弹出的示例性宏块定义对话框;图16是当选择输入/输出选项卡时图15的示例性宏块定义对话框;图17是当选择参数选项卡时图15的示例性宏块定义对话框;图18是浏览器的部分屏幕截图,其图解被选择的关闭菜单项;图19是浏览器的屏幕截图,其图解从指令工具条的功能块指令中拖出的两个功能块;图20是浏览器的部分屏幕截图,其图解设计者点击来自主工具菜单的打开宏块定义子菜单项和主工具菜单下的宏块子菜单的情形;图21是浏览器的屏幕截图,其图解设计者在宏功能块编辑窗口上右键点击鼠标的情形;图22是当设计者点击目标功能块时弹出的示例性功能块特性对话框;图23是当按下编辑宏块参数按钮并且显示可外部观看的宏功能块参数的列表时图22的示例性功能块特性对话框;图M是浏览器的屏幕截图,其图解浏览器的主逻辑窗口中与部件功能块一起使用的宏功能块;图25是当设计者点击宏功能块实例的右上角的按钮时弹出的示例性宏功能块特性对话框;图沈是当设计者选择宏功能块编辑窗口中的特定宏功能块实例并且选择宏块管理器选项时弹出的示例性宏块管理器对话框;图27是浏览器的部分屏幕截图,其图解设计者点击来自主工具菜单的打开宏块定义子菜单项和主工具菜单下的宏块子菜单的情形;图观是浏览器的部分屏幕截图,其图解设计者在宏功能块实例上右键点击鼠标的情形;图四是浏览器的屏幕截图,其图解设计者通过点击应用菜单项来应用全部编辑的情形;图30是当选择安全选项卡时图15的示例性宏块定义对话框;5图31是当设计者尝试使用口令保护的宏功能块时显示的示例性宏块口令对话框;图32是示例性报警功能块的典型条件和输出的列表;图33是浏览器的部分屏幕截图,其图解通过标记相等(MEQ)功能块使用的示例性报警功能块;图34是复合报警宏功能块的逻辑的示例性实施例;图35是复合报警宏功能块的示例性实施例;图36图解了多个宏功能块的示例性嵌套;而图37是浏览器的部分屏幕截图,其图解了设计者如何选择导出/导入指令。具体实施例方式图1是例如用于工业自动化的示例性控制和监视系统10的图示,用于控制和监视机器和/或过程12。系统10包含人机接口(HMI)14,其适于通过自动化控制器16(例如,远程计算机、可编程逻辑控制器(PLC)或其它控制器)与机器/过程12的部件协作。自动化控制器16适于控制和监视自动化设备18,例如图1中图解的致动器20和输入/输出(I/O)设备22(典型地,传感器或耦合到传感器的I/O模块)。如这里描述的,低级自动化设备18的具体例子包含I/O端子、电机驱动器、电机起动器、过载继电器和其它类型的继电器、按钮等等。自动化设备18可以直接与机器/过程12交互,或可以与例如图1中图解的传感器M和致动器沈的其它自动化设备18交互。HMI14、自动化控制器16和机器/过程12的自动化设备18之间的协作可以通过使用任何适当网络策略来促进。实际上,可以使用例如DeviceNet、ControlNet,Profibus、Modbus的工业标准网络沘,或例如以太网和网际协议的更常见的标准进行数据传送。这些网络28允许根据预定协议进行数据交换,并且也可以提供操作网络单元的能力。如下面更详细地描述的,自动化设备18可以包含处理器、存储器和低级嵌入逻辑,以允许在需要或不需与HMI14或自动化控制器16通信(至少在进行控制判定之前)的情况下对自动化设备18的局部(例如,分布式)进行控制自动化控制器。自动化设备18可以包含功能,通过该功能,它们读写特定存储器或存储器的寄存器。例如,自动化设备18可以读写一个或更多个自动化控制器16的寄存器30,甚至读写自动化设备18内的本地寄存器30(包含其它低级设备内的寄存器)。在简单的情况下,例如自动化设备18可以简单地访问数据片段(例如,由传感器确定的部件的状态),并且生成输出信号以将值写入对应于不同网络设备的状态的一个或更多个寄存器30。当然,可以构成更复杂的功能。在工业控制和监视背景中,例如,这些自动化设备18可以模拟例如瞬时接触按钮、具有延迟输出的按钮、开关等等的若干物理部件的操作。如下面更详细地描述的,许多预编程的设备元件(例如,功能块)可以被自动化设备18获得以供使用。这些功能块可以通过网络访问,或可以驻留在自动化设备18上。图2是图1的示例性控制和监视系统10的关系的图示。如图所示,HMI14、自动化控制器16、致动器20和I/O设备22形成有点三角式的层次关系,其中自动化控制器16处于层次的中心,并且自动化设备18(例如,致动器20和I/O设备22)处于层次的较低端。如图所示,控制和监视系统10的所有部件可以彼此通信,但是低级自动化设备18通常从自动化控制器16和/或HMI14接收命令。然而,所公开的实施例通过将低级逻辑直接地嵌入到自动化设备18以使得它们能进行低级计算和判定,并且至少在进行计算和判定之前不需要与HMI14或自动化控制器16通信,来允许对自动化设备18进行更鲁棒的分布式控制,并且可以在没有来自自动化控制器16或HMI14的特定命令的情况下,输出通过计算和判定生成的信号。换句话说,所公开的实施例允许通过低级自动化控制逻辑来嵌入部件级设备、部件类设备、结构级设备和结构类设备(例如,I/O端子、电机驱动器、电机起动器、过载继电器和其它类型的继电器、按钮等等)。这证明了例如当图1中描述的网络观遇到临时通信问题时,或简单地当期望本地计算和判定时的优越性。图3是示例性自动化设备18的部件的框图。如图所示,每个自动化设备18可以包括围绕微处理器32建立的可配置工具。除了处理器32之外,所图解的实施例包含存储器模块34,其可以存储数据和例程(例如,计算机程序),以及例如包含上面描述的预编程设备元件(例如,功能块)的运行时刻库36的部件。存储器模块34也可以包含相应自动化设备18的配置信息。例如,如下面更详细地描述的,每个自动化设备18可以用功能块的特定组合来配置,使得自动化设备18能本地执行机器/过程12的某些功能。具体地,处理器32被配置成执行功能块,使得低级分布式控制功能由自动化设备18来执行。如下所述,配置站可以被用来将功能块的特定组合写入(S卩,下载)到自动化设备18。相反地,并且如下所述,功能块的特定组合可以被配置站的配置软件从自动化设备18读取(即,上载)。功能块是用面向对象编程语言配置的非暂时性代码。某个功能块可以被配置成从上面描述的一个或更多个寄存器30读取至少一个输入,和/或将至少一个输出写入到上面描述的一个或更多个寄存器30。如下所述,在本实施例中,功能块自身包括以面向对象的语言定义的对象。这些对象通常由代码定义,代码建立包括数据字段和方法的数据结构。字段可以自身定义对象的特性,而方法定义在自动化系统的实时操作期间由对象执行的操作。所得到对象形成自充分的模块,其可以根据其自身数据结构和方法,从特定存储器地址(例如,寄存器30)读取、写入特定存储器地址、接收输入(例如,从传感器)和输出信号(例如,到致动器)。每个自动化设备18还包含用于与功能电路40,例如提供传感器读数作为输入的低级传感器、接受由处理器32执行的功能块生成的输出的低级致动器等等通信的第一接口38。此外,自动化设备18还包含第二接口42,其用于在自动化设备18的配置期间与配置站通信,和/或用于在自动化设备18的操作期间与HMI14和/或自动化控制器16通信。图4是用于配置图3的自动化设备18的示例性配置站44的部件的框图。如图所示,配置站44可以包含由处理器46执行的配置软件。除了处理器46之外,所图解的实施例包含存储器模块48,其可以存储计算机程序和例如配置软件50和功能块设计时刻库52、包含上面描述的预编程设备元件(例如,功能块)的部件。配置站44能使用功能块的特定组合配置自动化设备18,使得自动化设备18能本地执行机器/过程12的某些功能。配置软件可以被安装在配置站44上(例如,作为独立应用程序),或可以通过若干远程数据交换方案中的任何方案(例如,通过计算机浏览器)访问。此外,在某些实现中,配置或设计时刻环境可以被自动化设备18用来服务于配置站44(例如,通过自动化设备18上能够工作的服务器应用程序)。在当前考虑的实施例中,配置软件50可以包含或基于可从Milwaukee,Wisconsin的Rockwell自动化公司商业获得的型号RSNetWorx下的产品。具体地,配置站44可以被用来写入、适配和载入(即,下载)功能块的特定组合到特定自动化设备18。相反地,功能块的特定组合可以由配置站52的配置软件50从自动化设备18读取(即,上载)。另外,在当前所考虑的实施例中,功能块是以面向对象编程语言配置的非暂时性代码。某些功能块可以被配置成从上面描述的一个或更多个寄存器30读取至少一个输入,和/或将至少一个输出写入到上面描述的一个或更多个寄存器30。配置站44也包含用于与自动化设备18通信的第一接口54,使得配置站44可以将功能块的特定组合写入到特定自动化设备18,并且从特定自动化设备18读取功能块的特定组合。此外,配置站44也包含用于与输入设备58和显示器60通信的第二接口56,输入设备58和显示器60用于分别从设计者62接收输入(例如,用功能块的特定组合配置自动化设备18的用户)和可视地显示自动化设备18的配置信息。具体地,在某些实施例中,可以通过显示器62显示特定自动化设备18的功能块的可视表示。应当注意,对用于观看和修改自动化设备18的配置的"浏览器"的引用不局限于Web浏览器或任何特定浏览器。对浏览器64的引用仅仅旨在示例。更通常地,术语"浏览器"在这里被用于引用包含任意通用观看器的软件。图5是用于可视地显示特定自动化设备18的配置的图4的示例性浏览器64的可视化表示。具体地,图5中显示的浏览器64可以被称作功能块编辑器。如图所示,所配置的特定自动化设备18包含两个功能块66(S卩,布尔逻辑与(BAND)功能块68和带复位延迟定时器(TONR)功能块70)。如图所示,BAND功能块68被配置成接收两个输入72和输出一个输出74。输入到BAND功能块68的两个输入72可以是例如从寄存器30读取的值。在图5所图解的特定配置中,BAND功能块68操作两个所接收的输入72并且输出输出74,输出74由TONR功能块70接收作为第一输入72(例如,TimerEnable(定时器使能))。如图所示,TONR功能块70也从网络链接源接收第二输入72(Reset(复位))。TONR功能块70操作两个输入72并且输出单个输出74。如图所示,来自TONR功能块70的单个输出74可以例如写入到寄存器30以及被发送到网络链接源。在图5的浏览器64中图解的功能块66的特定组合只是示例性的,并且不旨在进行限制。尽管只图解具有两个功能块66,但许多不同功能块66可以被用于任意指定的自动化设备18。实际上,由图4的配置软件50使用的设计时刻库52(以及,类似地,在自动化设备18中安装的运行时刻库36)可以包含数百不同类型的功能块66,其包含例如布尔逻辑功能块(例如,AND(与),OR(或),XOR(异或),NAND(与非),N0R(或非),XN0R(异或非)等等)、双稳态(bistable)功能块(例如,RS锁存器,SR锁存器等等)、(计数器/定时器)功能块、以及各种其它类型的功能块。所公开的实施例允许多个功能块66被合并到单个宏功能块中以供重用。具体地,图4的配置软件50的宏功能块创建模块可以被用作创建宏功能块的设计环境。宏功能块可以被定义为由一组部件功能块66组成的实体。所有部件功能块66—起工作以通过宏功能块的形式来完成一个相对复杂任务。当宏功能块已被定义时,设计者62可以在配置软件50中应用宏功能块对象的实例。换句话说,所公开的实施例允许多个功能块66作为用于多个自动化设备18的插件(add-on)指令被封装到单个宏功能块中。内部功能块66的参数可以被映射到宏功能块的输入和输出,使得这些参数不仅对于特定自动化设备18的逻辑的其它部分是可访问的,而且对于其它自动化设备18也是可访问的。例如,在某些实施例中,宏功能块可以被存储在特定自动化设备18的运行时刻库36中,被存储在特定配置站44的设计时刻库52中,分布和存储在多个自动化设备18中,分布和存储在多个配置站44中,等等。实际上,如下面更详细地描述的,可以使用配置软件50把宏功能块上载到任意数量的自动化设备18和从这些自动化设备18下载宏功能块。图6是与其它功能块66—起使用的示例性宏功能块76的框图。如图6所示,指定自动化设备18的主逻辑78包含比较功能块80、算术运算功能块82和宏功能块76。比较功能块80接收主逻辑78的第一输入84,并且算术运算功能块82接收主逻辑78的第二输入86。来自比较功能块80的第一输出88是主逻辑78的第一输出90。来自比较功能块80的第二输出92被引导到宏功能块76。来自算术运算功能块82的唯一输出94也被引导到宏功能块76。来自宏功能块76的唯一输出96是主逻辑78的第二输出98。如图所示,图6的示例性宏功能块76包含两个布尔逻辑功能块100、算术运算功能块102和比较功能块104。这些功能块对来自主逻辑78的比较功能块80的第二输出92和来自主逻辑78的算术运算功能块82的唯一输出94进行操作,以生成主逻辑78的第二输出98。图6的示例性宏功能块76中的两个布尔逻辑功能块100、算术运算功能块102和比较功能块104的使用说明了相对复杂的功能,此功能可以使用相对基本的功能块66(例如,两个布尔逻辑功能块100、算术运算功能块102和比较功能块104)编程到宏功能块76中。此外,示例性宏功能块76可以在其它自动化设备18中保存和重用。宏功能块76的种类可以被分类成两个类别,动态和静态。动态宏功能块76由设计者62通过操作前面参考图4描述的浏览器64来定义。设计者62可以使用配置软件50的这些可视化编辑工具为定义宏功能块类型而编程逻辑、定义I/O、配置参数等等。静态宏功能块由设计者62在自动化设备18处于开发中时定义。设计者62可以不改变这些定义,但是可以只在自动化设备18的主逻辑中使用它们,并且在通过安全检查的情况下观看逻辑。宏功能块类属性宏功能块对象可以通过各种类属性来定义。在特定实施例中,可以使用属性ID1-23。属性ID1-7可以是可选的。属性8可以被命名为〃distanceList(实例列表)",并且可以是所需的"Get(得到)"属性,其返回包含所创建的实例的数量和它们的实例编号的数组的结构。属性9可以被命名为"TypeList(类型列表)",并且可以是所需的"Get(得到)"属性,其返回包含所定义宏功能块类型的数量和它们的类型ID的数组的结构。属性10和11可以不被定义。属性12可以被命名为〃FBOutputList(FB输出列表)〃,并且可以是条件"Get(得到)"属性,其返回具有每个功能块(FB)输出的详细说明和参数(例如,功能块索引,针对每个输出定义的名称,交叉引用到相应电子数据表(EDQ绑定路径条目的条目的FUNCTI0N_BL0CK_0UTPUT_n(功能块输出η)输出的引用编号〃η〃,用于EDS文件的解释选项,和用于EDS文件的偏移索引)的结构。属性12的"条件"性质是在自动化设备18不支持EDS文件的情况下需要该属性。这个结构的成员旨在替换另外会出现在EDS条目l_FUNCTI0N_BL0CK_0UTPUT_n(l_功能块输出η)和1_FB_0UTPUT_LIST(1_功能块输出列表)中的信息。属性13-20可以不被定义。属性21可以被命名为"MaximumNumberofInstances(最大实例数量)“,并且可以是可选的"Get(得到)"属性,其返回可以创建的宏功能块实例的最大数量。属性22可以被命名为〃MaximumNumberofTypes(最大类型数量)〃,并且可以是可选的"Get(得到)“属性,其返回可以创建的不同宏功能块类型的最大数量。属性23可以被命名为〃TypeConfigurationDescription(类型配置描述)〃,并且可以是可选的”Get(得到)”属性,其返回关于指定类型配置的描述的数组列表。数组列表的大小应当等于类属性22("最大类型数量")。数组列表可以包含例如宏功能块类型ID、用途分类(例如,0-动态,1-静态,其它-未定义)、存储类型定义的相应文件实例、保留给指定文件实例的存储器的最大尺寸(例如,按字节)、和指定文件实例可以接受的单个包的最大尺寸(例如,按字节)。宏功能块类属性的语义功能块输出列表,属性12-这个属性提供详细列出这个对象的可能的功能块输出的结构。每个可能的输出被分配唯一编号,其反映在"FBOutputhdeHFB输出索引)"结构成员中。图4的配置软件50可以显示如"FB输出名称串"成员中描述的每个输出名称。为了自动化设备18间的一致性,所有产品可以使用这里定义的串。如果产品使用EDS文件,则EDS文件也可以使用这里定义的串。结构的"ReferenceNumber(引用编号)“成员指示针对每个输出应当引用哪个绑定路径部分。绑定路径部分的关键字是1_FUNCTI0N_BL0CK_0UTPUT_n,其中η是引用编号成员。这允许类似数据类型的功能块输出被一起组合在相同数据表中。“InterpretationOption(解释选项)“指示应当如何解释FB输出索引号。定义了以下值0-FB输出索引号可以被解释为功能块的实例编号,I-FB输出索引号没有特定意义,和2-FB输出索引号可以被解释为功能块的处理顺序。“偏移索引"成员对应于所引用的l_FUNCTI0N_BL0CK_0UTPUT_n条目中的成员ID字段。该索引是针对一个功能块在相同绑定路径部分内具有多个数据片段的情况提供的。如上所述,当通过EDS不可得到这个信息时,需要属性12。最大实例数量,属性21-这个属性被用来指示由于资源的限制而允许在特定自动化设备18中创建的宏功能块76的最大数量。如果这个属性不被支持,则会在自动化设备18中动态确定实例数量的限制。最大类型数量,属性22-这个属性被用来指示由于资源的限制而允许注册的宏功能块76的类型的最大数量。如果这个属性不被支持,则会在自动化设备18中动态确定宏功能块类型数量的限制。有效类型标识符应当从1到这个属性的值。类型配置描述,属性23-这个属性被用来提供部分[1_MACR0_BL0CK(1_宏块)]中特定于宏功能块的EDS条目MatiC_Type_C0nfigurati0n_List(静态类型配置列表)和Dynamic_Type_Configuration_List(动态类型配置列表)的在线EDS能力信息。TypeID(类型ID)是所支持的宏功能块类型ID,Classification(分类)是类型分类的指示,Filehstance(文件实例)是针对特定类型ID预先分配的相应文件实例,MaxSizeofFile(文件的最大尺寸)是按字节的文件最大尺寸,并且MaxSizeofSinglePacket(单个包的最大尺寸)是操作文件实例的每个包的最大尺寸。宏功能块实例属性每个宏功能块实例可以通过各种实例属性来定义。在特定实施例中,可以使用属性ID1-23。属性1可以被命名为〃distanceType(实例类型)〃,并且可以是用于设置所创建的宏功能块76的类型的所需”kt(设置)”属性。属性2-19可以不被使用。属性20可以被命名为〃EnableinBindingPath(输入使能绑定路径)〃,并且可以是用于设置结构的可选”Set(设置),,属性,该结构包含成员路径的尺寸(例如,按字节)、成员路径(例如,打包的EPATH)、和指示输入是否应当被求补的标志。补码标志指示应当使用被路径引用的数据的真实数据还是补码。属性21可以被命名为〃EnableInConstantValue(输入使能常数值)",并且可以是可选”(设置)”属性,其用于设置用作Enablein(输入使能)的常数值。属性22可以被命名为"EnableOut(输出使能)",并且可以是可选的Tet(得到)”属性,其返回输出的使能状态。属性23可以被命名为"ProcessOrder(处理顺序)“,并且可以是所需”Set(设置)”属性,其用于设置宏功能块实例内的部件功能块66的逻辑处理的初始序列号。宏功能块实例属性的语义实例类型ID,属性1-这个属性被用来指示所创建的实例的类型。当接收请求以设置这个属性的值时,应当验证类型标识符的值是否已经建立。如果所请求的类型未被建立,则可以返回错误INVALID_ATTRIBUTE_VALUE(无效属性值)(0x09)。输入使能绑定路径,属性20-输入使能绑定路径属性包含到要用于输入使能的信息的源的路径,以及有关数据是否应当求补的指示。该源可以是布尔逻辑实体。这个属性的唯一有效段类型是Port(端口),Logical(逻辑)和Symbolic(符号)。在逻辑段内,电子密钥和8位服务ID段可以是无效的。输入使能常数值,属性21-通过输入使能绑定路径和输入使能常数值属性确定要操作的输入使能的值。如果输入使能绑定路径为空,则输入使能常数值可以在该操作中使用。如果输入使能绑定路径非空,则绑定路径的值可以覆盖输入使能常数值并且用于逻辑操作。输入使能的值会被用来判定功能块66是否开始执行。如果其值为0(清除),则功能块66不执行并且输出不被更新。如果其值是1(设置),则功能块66会执行。输出使能,属性22-这个属性可以被用来级联功能块66之间的Enable(使能)信号,以控制逻辑执行。输出使能的值由输入使能的值确定。如果输入使能的值是1,则输出使能的值将为1。否则,如果输入使能的值为0,则输出使能的值将为0。处理顺序,属性23-每个宏功能块实例包含多个部件功能块66。每个部件功能块66会具有其自身的在宏功能块实例的范围内连续的处理编号。处理顺序属性使用部件功能块66的最低处理编号指示宏功能块实例的处理顺序。公共服务宏功能块对象提供许多公共服务。在特定实施例中,宏功能块对象可以包含命名为Reset(复位)的服务,其可以用于复位宏类型配置、宏实例配置等等的所有配置。宏功能块对象也可以包含命名为Create(创建)的服务,其可被用来实例化对象。应答可以包含实例编号。宏功能块对象还可以包含命名为Delete(删除)的服务,其可被用来删除特定实例。此外,宏功能块对象可以包含命名为Get_Attribute_Single(得到单个属性)的服务,其可以返回指定属性的值。宏功能块对象也可以包含命名为Set_Attribute_Single(设置单个属性)的服务,其可被用来修改属性值。公共服务的请求和应答参数复位服务(0劝幻请求参数-复位服务不需要额外请求参数。复位服务(0劝幻应答参数-成功应答没有返回参数。创建服务(0x08)请求参数-创建服务可以包含实例编号请求参数,其定义所请求的实例编号。创建服务(0x08)应答参数-创建服务可以包含实例编号应答参数。如果创建请求被成功地服务,则应答消息中可以返回实例编号。删除服务(0x09)请求参数-删除服务不需要额外请求参数。删除服务(0x09)应答参数-成功响应没有返回参数。特定于对象的服务宏功能块对象提供命名为I^rocess—Macrc^Encap—Message(处理宏封装消息)的特定于对象的服务,其可以用于针对宏功能块类型定义的配置处理封装的显式请求消息。这个服务用于对实例化宏功能块76内的部件功能块66执行服务,或访问其属性。特定于对象的服务的请求和应答参数Process_Macro_Encap_Message月艮务(0x4D)请求参数_Process_Macro_Encap_Message服务可以包含服务ID请求参数,其是封装在消息中的服务代码。ProceSS_MaCro_Encap_Message服务也可以包含krviceOptionalData(服务可选数据)服务,其是取决于服务ID的数据。服务ID参数指定要由请求的目标执行的封装服务。支持的服务ID的值可以包含创建(即,创建部件功能块66),删除(即,删除部件功能块66),Get_AttribUte_Single(即,获取部件功能块66的属性值),和Set_Attribute_Single(即,设置部件功能块66的属性值)。表中的每个有效服务ID可以包含服务可选数据值。例如,Create(0x08)krviceOptionalData(创建(0x08)服务可选数据)可以包含ClassID(类ID)参数,其是所创建的部件功能块66的类ID。此外,创建(0x08)服务可选数据可以包含处理顺序参数,其是总体逻辑程序中的处理序列ID。Delete(0x09)ServiceOptionalData(删除(0x09)服务可选数据)可以包含类ID参数,其是所创建的部件功能块66的类ID。此外,删除(0x09)服务可选数据可以包含处理顺序参数,其是要删除的部件功能块66的处理顺序。Get_Attribute_Single(OxOE)服务可选数据可以包含类ID参数,其是所创建的部件功能块66的类ID。此外,Get_Attribute_Single(OxOE)服务可选数据可以包含处理顺序参数,其是部件功能块66的处理顺序。另外,Get_Attribute_Single(OxOE)服务可选数据可以包含AttributeID(属性ID)参数,其是要从部件功能块66读取的属性ID。Set_Attribute_Single(OxlO)服务可选数据可以包含类ID参数,其是所创建的部件功能块66的类ID。此夕卜,Set_Attribute_Single(0x10)服务可选数据可以包含处理顺序参数,其是部件功能块66的处理顺序。另外,Set_Attribute_Single(0x10)服务可选数据可以包含属性ID参数,其是要在部件功能块66中设置的属性ID。Set_Attribute_Single(0X10)服务可选数据也可以包含AttributeValue(属性值)参数,其取决于指定属性的数据类型。宏类型定义行为图7是图解在自动化设备18的配置期间的状态的示例性状态转换图106。图7图解了以下状态(1)不存在108(例如,自动化设备18没有加电或还没有创建实例),(2)配置110(例如,实例存在并且能被配置),(3)就绪112(例如,LogicSupervisorObject(逻辑主管对象)(0x30E)初始化Apply(应用)服务并且这个实例通过验证,并且等待进一步事件),和(4)活跃114(例如,这个实例执行其逻辑)。宏功能块类型定义状态事件可以包含掉电(例如,对自动化设备18断电),加电和保存的配置(例如,对自动化设备18供电并且自动化设备18读取其非易失存储),创建服务(例如,接收服务),得到/设置服务(例如,接收请求以获取或设置属性,参数或其它设置),应用消息(例如,逻辑主管对象(0x30E)发送的内部消息导致实例确认其当前配置),错误消息(逻辑主管对象(0x30E)发送的内部消息指示应用请求失败),运行消息(例如,逻辑主管对象(0x30E)发送的内部消息指示实例进入活跃状态114),停止消息(例如,逻辑主管对象(0x30E)发送的内部消息指示实例返回到配置状态110),和删除服务(例如,接收删除服务或复位服务)。宏功能块类型定义状态事件的影响取决于图7的当前状态。图8是宏功能块类型定义的示例性状态事件矩阵116。可以仅在配置状态110中设置实例属性实例类型和输入使能绑定路径。如果在任何其他状态中接收请求以设置这些属性,则应当返回"对象状态冲突"错误应答。可以在活跃状态110中,以及在配置状态110中设置其它可设置属性。用例宏功能块可见性图9是图4的浏览器64的部分屏幕截图,其图解新宏块选项卡118。浏览器64在设计环境中充当宏功能块创建模块,其允许设计者62创建宏功能块76并且配置特定宏功能块76用于特定自动化过程(例如,图1的机器/过程12)。如图所示,新宏块选项卡118出现在指令工具条120中,作为新类别。具体地,宏块选项卡118列出工程中所有当前可用的宏功能块76。如果没有已经定义的可用宏功能块指令,则当设计者62选择宏块选项卡118时,没有按钮可用。如果宏功能块76没有完全定义,则指令工具条120上的相应按钮被禁用,而且宏功能块76不能被拖动到主逻辑编辑窗口122。图10是允许自动化设备18的设计者62选择添加元件菜单项126的示例性弹出菜单124。设计者62可以在主逻辑编辑窗口122上右键点击鼠标,使菜单IM弹出。设计者62可以接着点击添加元件菜单项126。当这样做时,元件列表对话框启动。图11是示例性元件列表对话框128,其在设计者62选择图10的添加元件菜单项1时启动。元件列表对话框1图解在逻辑创建期间逻辑元件130的正常使用。元件列表对话框1列出所有可用宏功能块76,以及已经完全定义的其它逻辑元件130。在元件列表对话框128中,设计者62可以选择宏功能块76以创建宏功能块实例。除了弹出菜单124的添加元件的选项之外,设计者62也可以通过浏览器64的主编辑菜单选择添加元件菜单项126。图12是图4的浏览器64的部分屏幕截图,其图解设计者62从主编辑菜单132中选择的添加元件菜单项1洸。用例定义宏功能块设计者62可以在编辑模式中使用浏览器64定义宏功能块76。具体地,图13是浏览器64的部分屏幕截图,其图解设计者62点击来自主工具菜单136的宏块子菜单项134和主工具菜单136下的宏块子菜单138的情形。当这样做时,创建用于宏功能块76编辑的带选项卡(tabbed)窗口。图14是浏览器64的部分屏幕截图,其图解可以被用来编辑宏功能块76的宏功能块编辑窗口140。主逻辑编辑窗口122和宏功能块编辑窗口140可以同时可用。此外,当设计者62选择创建宏块子菜单项134时,宏块定义对话框弹出。图15是当设计者62选择创建宏块子菜单项134时弹出的示例性宏块定义对话框142。宏块定义对话框142用来输入和示出关于特定宏功能块76的生成信息。宏块定义对话框142可以包含四个选项卡常规选项卡144,输入/输出选项卡146,参数选项卡148和安全选项卡150。在常规选项卡144上(图15中图解),存在名称字段152和描述字段154。设计者62需要针对宏功能块76输入唯一名称。当设计者62按下所图解的确认按钮156或逻辑按钮158时,如果是唯一,则名称被进行检查以看见。如果不是,则设计者62被提示输入另一个名称。图16是在选择输入/输出选项卡146时图15的示例性宏块定义对话框142。图16的输入/输出选项卡146示出被变灰度和只读的输入使能宏功能块输入和输出使能宏功能块输出。设计者62可以定义输入/输出选项卡146中的宏功能块76的输入/输出端口。具体地,设计者62可以在名称列160中输入目标端口的期望名称,可以在用途列162中选择输入或输出,并且可以在数据类型列164中选择数据类型。仅存在两个可以选择的数据类型,布尔和模拟。数据类型布尔指示所定义的输入/输出只能限于布尔数据,而类型模拟表示基本数据类型的广泛类。除了布尔之外的任何基本数据类型可被视作模拟类型。图17是在选择参数选项卡148时图15的示例性宏块定义对话框142。缺省地,在参数选项卡148中没有参数可用,或如果支持使能线,则仅有输入使能常数值参数可用。当设计者62按下确认按钮156时,会应用由设计者62在宏块定义对话框142中进行的修改。此外,当设计者62按下确认按钮156时,创建图14的带选项卡宏功能块编辑窗口140并且宏功能块76被添加到指令工具条120的宏块选项卡118。在设计者62编辑逻辑以定义宏功能块编辑窗口140中的宏功能块76之后,设计者62可以在宏功能块选项卡166上移动鼠标,并且右键点击鼠标以选择关闭菜单项168,以关闭所选择的选项卡宏功能块编辑窗口140。图18是图解选择关闭菜单项168的浏览器64的部分屏幕截图。用例配置宏功能块逻辑设计者62可以在编辑模式中使用浏览器64来编辑活跃的宏功能块76。具体地,图19是图解从指令工具条120的功能块指令中拖出的两个功能块66的浏览器64的屏幕截图。设计者62正使用两个图解的功能块66(例如,LPF(低通滤波器)功能块170和MAVE(移动平均)功能块17来建立宏功能块76的定义,这与主逻辑中进行配置的方式完全相同。设计者62可以以两种方式之一启动图15至17的宏块定义对话框142。例如,图20是浏览器64的屏幕截图,其图解了设计者62点击来自主工具菜单136的打开宏块定义子菜单项174以及主工具菜单136下的宏块子菜单138的情形。另一个方式是在宏功能块编辑窗口140上右键点击鼠标。图21是浏览器64的屏幕截图,其图解设计者62在宏功能块编辑窗口140上右键点击鼠标的情形。如图21所示,打开宏块定义子菜单项174变得可用。从宏功能块编辑窗口140中打开宏功能块76的单个功能块66的特性对话框允许设计者62在没有打开宏块定义对话框142的情况下编辑可以外部访问的宏功能块76的特性。通过点击目标功能块66,可以启动功能块特性对话框。图22是当设计者62点击目标功能块66时弹出的示例性功能块特性对话框176。如图所示,可以选择参数选项卡178以查看目标功能块66(例如,图19-21的LPF功能块170)的参数。可以按下编辑宏块参数按钮180以显示可外部观看的宏功能块参数的列表。图23是当按下编辑宏块参数按钮180并且显示可外部观看的宏功能块参数的列表182时图22的示例性功能块特性对话框176。名称列184是宏功能块参数的名称,其不能为空,并且必14须是唯一的。别名列186是宏功能块参数的别名。当设计者62点击别名列186中的任何单元格时,显示组合窗口188,其列出具体功能块66中的所有可用参数。设计者62可以选择由宏功能块参数引用的功能块参数。当功能块参数已被引用时,该功能块参数在组合窗口188中不再可见。在可外部观看的宏功能块参数的列表182中始终显示一个空行190。每当设计者62输入名称或在别名单元格中选择功能块属性时,创建新的宏功能块参数并且显示另一个新的空行190。设计者62也可以从可外部观看的宏功能块参数的列表182中删除宏功能块参数。另外,设计者62可以通过在可外部观看的宏功能块参数的列表182上双击来启动图15至17的宏块定义对话框142。现在回到图21,当设计者62完成修改宏功能块逻辑时,设计者62可以在宏功能块编辑窗口140上右键点击鼠标并且选择应用菜单项以应用修改。如果宏功能块中的逻辑通过验证,则启用其在指令工具条120的宏块选项卡118上的相应按钮。支持主逻辑屏幕和宏功能块编辑窗口140之间的复制和粘贴。当正在配置宏功能块逻辑时,指令工具条120中的所有宏功能块指令可以变灰。用例主逻辑中的宏功能块设计者62可以使用浏览器64向主逻辑添加宏功能块76。图M是浏览器64的屏幕截图,其图解通过浏览器64的主逻辑窗口192中的部件功能块66使用的宏功能块76。具体地,设计者62正使用"宏2"宏功能块194与MAVE(移动平均)部件功能块196。设计者62可以以各种方式在主逻辑窗口192中创建宏功能块76的实例。例如,如上所述,设计者62可以从主编辑菜单132中选择添加元件子菜单项126。另外,指令工具条120的宏块选项卡118中的按钮198可以被点击或拖放到主逻辑窗口192中。在没有外部连接的情况下,每个宏功能块实例被添加到主逻辑窗口192。宏功能块实例的外部可见性遵循下述约定宏功能块实例的数字输入和输出分别图形呈现为钱和[!>,宏功能块实例的模拟输入和输出分别图形呈现为ij和㈡。用例配置宏功能块实例参数一旦宏功能块实例(例如,图M的宏2块194)已经被添加到主逻辑窗口192,设计者62可以配置宏功能块实例的参数。设计者62可以点击宏功能块实例的右上角的按钮200。图25是当设计者62点击宏功能块实例的右上角的按钮200时弹出的示例性宏功能块特性对话框202。如图所示,可以选择参数选项卡204以查看宏功能块实例(例如,图M的宏2块194)的外部参数,并且在外部参数是可设置的情况下修改外部参数。如果宏功能块76是启用安全性的,则在进入宏功能块编辑窗口140之前提示设计者62输入口令。在宏功能块编辑窗口140中,用于编辑部件参数的宏功能块逻辑配置和布局与定义宏功能块76时的配置和布局完全相同。用例管理宏功能块设计者62可以使用浏览器64来管理宏功能块76。图沈是当设计者62选择宏功能块编辑窗口140中的特定宏功能块实例并且选择宏块管理器选项时弹出的示例性宏块管理器对话框206。具体地,设计者62可以通过点击来自主工具菜单136的宏块管理器子菜单项和浏览器64的主工具菜单136下的宏块子菜单138(参见例如图20)来选择宏块管理器选项,其中选择了宏功能块实例。宏块管理器对话框206列出所有宏功能块76,而不考虑其完成状态。可以选择单个宏功能块76,并且可以通过按下修改按钮208来修改宏功能块76,或者通过按下删除按钮210来删除宏功能块76。如果浏览器64不处于编辑模式,则禁用修改按钮208和删除按钮210。相反,如果浏览器64处于编辑模式,则启用修改按钮208和删除按钮210。状态列212表示特定宏功能块76是否已经完成。实例列214表示已经创建多少宏功能块实例。当设计者62试图修改或删除所定义的宏功能块76时,这个信息提供关于正使用的宏功能块实例的摘要。安全列216表示特定宏功能块76是否受口令保护。用例修改宏功能块定义如上所述,设计者62可以在编辑模式中使用浏览器64来修改活跃的宏功能块76。回到图M中图解的例子,设计者62可以以许多不同方式启动图15至17的宏块定义对话框142。例如,图27是浏览器64的屏幕截图,其图解了设计者62点击来自主工具菜单136的打开宏块定义子菜单项174以及主工具菜单136下的宏块子菜单138的情形。另一个方式是在宏功能块实例上右键点击鼠标。图观是浏览器64的部分屏幕截图,其图解设计者62在宏功能块实例上右键点击鼠标的情形。如图观所示,打开宏块类型定义子菜单项218变得可用。可选地,设计者62可以按下图沈的宏块管理器对话框206的修改按钮208。这些选项中的任何一个引出图15至17的宏块定义对话框142。一旦显示图15至17的宏块定义对话框142,设计者62可以在图15图解的常规选项卡144上的名称字段152中修改所选择的宏功能块76的名称。当设计者62按下确认按钮156时,名称会被应用于所选择的宏功能块76的所有实例,并且会用新名称更新指令工具条120的宏块选项卡118上的宏功能块按钮198。设计者62可以在图16图解的输入/输出选项卡146上修改所选择的宏功能块76的输入和输出。当设计者62按下确认按钮156时,会更新宏功能块76的所有实例的输入和输出。设计者62可以启用安全性以在安全选项卡150上设置新口令。如果设计者62按下确认按钮156时,安全性修改会应用于所选择的宏功能块76的所有实例。所选择的宏功能块76的逻辑的修改包含每个部件功能块66的参数配置。在修改所选择的宏功能块76之后,所述设计者62点击应用菜单选项以应用所有编辑。图四是浏览器64的屏幕截图,其图解设计者62通过点击应用菜单项220来应用全部编辑的情形。用例移除宏功能块定义设计者62也可以在编辑模式中使用浏览器64来移除活跃的宏功能块76。回到图27和观图解的例子,设计者62可以通过点击来自主工具菜单136的宏块管理器子菜单项和浏览器64的主工具菜单136下的宏块子菜单138(参见例如图20)来选择宏块管理器选项,其中选择了宏功能块实例。这引出了图沈的宏块管理器对话框206,其中设计者62可以选择宏功能块76并且按下删除按钮210以移除所选择的宏功能块76。如果在主逻辑中已经使用删除的宏功能块76,则会提示设计者62,并且设计者62必须选择继续删除所选择的宏功能块76。如果设计者62选择"是",则所选择的宏功能块76会从指令工具条120的宏块选项卡118的指令列表中消失。在主逻辑中,会删除具有移除的宏功能块76的类型的所使用的实例。宏功能块76封装用于特定应用的定制控制逻辑,其包含设计者62可能不希望暴露给其它人的知识产权(IP)。口令保护的目的是为宏功能块设计者62提供保护其IP的能16力。在设计宏功能块76的阶段设置口令。当在主逻辑中应用口令保护时,其范围会延伸到每个宏功能块实例。用例设置口令保护设计者62也可以在编辑模式中使用浏览器64来设置活跃宏功能块76的口令保护。回到图27和观中图解的例子,设计者62可以以前面描述的任何方式打开图15至17的宏块定义对话框142。一旦已经打开宏块定义对话框142,设计者62可以选择安全选项卡150。图30是当选择安全选项卡150时图15的示例性宏块定义对话框142。缺省地,禁用口令保护。设计者62可以选择启用口令复选框222以启用宏功能块76的口令保护。一旦选中启用口令复选框220,设计者62可以建立新口令。用例操作口令保护下的宏功能块一旦对特定宏功能块76建立了口令保护,口令保护的宏功能块76的使用需要设计者62验证口令。例如,图31是当设计者62尝试使用口令保护的宏功能块76时显示的示例性宏块口令对话框224。当配置软件50正与自动化设备18在线交互时,输入的口令会被发送到自动化设备18。如果自动化设备18通过口令验证,则配置软件50会继续在先前的用例中描述的操作。当配置软件50离线并且未与自动化设备18在线交互时,配置软件50负责验证口令。如果它通过验证,则配置软件50会继续在先前的用例中描述的操作。配置软件50具有三个不同的操作模式。第一个操作模式是在线动画模式。在这个模式中,配置软件50不断与目标自动化设备18通信。当配置软件50处于在线状态时,以及当配置与自动化设备18上呈现的配置匹配时,配置软件50会在这个模式中操作。设计者62会以动画方式看见自动化设备18上逻辑的执行结果。当处于这个模式中时,设计者62会仅被允许对逻辑进行属性修改。然而,如果设计者62选择编辑配置,则配置软件50会退出这个模式,并且进入下面描述的编辑模式。第二个操作模式是在线等待编辑模式。在这个模式中,配置软件50能够与自动化设备18通信。当配置软件50处于在线状态时,以及当配置与自动化设备18上呈现的配置不匹配时,配置软件50会在这个模式中操作。第三个操作模式是编辑模式。在这个模式中,设计者62被允许修改逻辑,而配置软件50不能与自动化设备18通信。用例保存和下载配置设计者62可以使用配置软件50把宏功能块定义及其口令保护设置下载到特定自动化设备18。当这样做时,自动化设备18的配置被保存到本地文件中,并且自动化设备18的配置被下载到自动化设备18。如果配置软件50到达离线状态,则自动化设备18的配置可以被保存到本地文件,包含宏功能块76及其口令保护设置的信息。当配置软件50回到在线状态时,自动化设备18的配置此时被下载到自动化设备18,包含宏功能块76及其口令保护设置的信息。用例上载和保存配置在特定自动化设备18已经被配置的情况下,设计者62也可以使用配置软件50从自动化设备18上载宏功能块定义及其口令保护设置。当这样做时,自动化设备18的配置被从自动化设备18上载,并且保存到本地文件中。如果配置软件50到达离线状态,则自动化设备18的配置可以被保存到本地文件,包含宏功能块76及其口令保护设置的信息。如果配置软件50回到在线状态,则自动化设备18的配置被下载到自动化设备18,包含宏功能块76及其口令保护设置的信息。于是可以在在线或离线模式中操作自动化设备18的所保存的配置。示例性宏功能块-复合报警配置软件50提供报警功能块作为基本功能逻辑。报警功能块从输入端口接收输入信号,并且基于参数高-高限制、高限制、低限制和低-低限制的配置,经由一个输出端口输出报警信号。这个具有字数据类型的单个输出包含多个报警。在输出字中要定义低4位,其中位Ο-LLAlarm,位Ι-LAlarm,位2_HAlarm,位3_HHAlarm。因而,如在报警功能块对象定义中介绍的,要遵循下面表格中的运算规则计算输出,其中HHLimit、HLimit、LLimit和LLLimit表示报警功能块的需要由设计者62配置的内部阈值参数。图32是示例性报警功能块的典型条件和输出的列表226。图33是图解通过标记相等(MEQ)功能块230使用的示例性报警功能块228的浏览器64的部分屏幕截图.在这个应用中,当设计者62希望从报警功能块228的这个输出中过滤特定报警位时,会应用附加MEQ功能块230。例如,如果在模拟输入1的值被评估为数据源时设计者62仅想把HAlarm信号用作硬件的一个输出(例如,数字输出1),则可以如所示的那样构成MEQ功能块230的逻辑和参数设置。更加一般的情形可以是分别输出报警功能块228的输出中的所有单个报警位。如这里描述的,宏功能块的功能可以被用来设计集成宏功能块76以实现这个功能。例如,这个宏功能块76可以被命名为复合报警。图34是复合报警宏功能块232的逻辑的示例性实施例。如图所示,复合报警宏功能块232可以包含报警功能块2和对应于报警功能块228的位输出(例如,HHLimit,HLimit,LLimit和LLLimit)中的每个的四个MEQ功能块230。图35是复合报警宏功能块232的示例性实施例,其可以使用在主逻辑中,其中每个报警位输出234连接到一个数字输出236。复合报警宏功能块仅仅代表可以包含这里描述的宏功能块功能的方式,但并不意图进行限制。嵌套宏功能块76是重要的特性。图36图解了多个宏功能块76的示例性嵌套。宏功能块76的导出/导入也是重要的特性。图37是浏览器64的部分屏幕截图,其图解了设计者62如何选择导出/导入指令。虽然这里只图解和描述了发明的某些特性,然而本领域的技术人员会想到许多修改和变化。因此,应当理解,所附权利要求书试图把所有这种修改和变化覆盖在本发明的真实宗旨和范围内。权利要求1.一种用于过程的分布式控制的方法,包括访问设计环境中的宏创建模块;访问多个功能块,所述多个功能块被配置成根据输入执行期望的算术和/或逻辑运算以生成输出;经由创建模块创建宏以把所述多个功能块中的多个功能块封装到单个插件指令集合中,其中所述多个功能块的输入中的至少之一和输出中的至少之一被映射到所述宏的输入和输出;把所述宏配置用于特定自动化过程;把所述宏下载到自动化设备中;和存储所述宏以供在其它自动化设备中后续使用。2.如权利要求1所述的方法,其中所述功能块包括用面向对象编程语言配置的非暂时性代码。3.如权利要求1所述的方法,其中配置宏包括配置至少一个存储器寄存器,其中所述功能块从所述存储器寄存器读取至少一个输入。4.如权利要求1所述的方法,其中配置宏包括配置至少一个存储器寄存器,其中所述功能块将至少一个输出写入所述存储器寄存器。5.如权利要求1所述的方法,其中在操作期间,所述自动化设备经由网络被耦合到自动化控制器,但是在没有来自所述自动化控制器的命令的情况下根据所述宏接收至少一个输入并且生成至少一个输出。6.如权利要求1所述的方法,其中在所述设计环境中,在配置站上创建所述宏。7.如权利要求1所述的方法,包括把所述宏从所述自动化设备上载到配置站。8.一种分布式自动化控制设备,包括存储包括多个功能块的宏的存储器电路,所述功能块被配置成根据输入执行期望的算术和/或逻辑运算以生成输出,所述宏被配置用于特定自动化过程;处理器,被配置成执行所述宏;和接口,被配置成根据由所述处理器执行的宏来把输出进行输出。9.如权利要求8所述的设备,其中所述分布式自动化控制设备包括输入/输出端子块。10.如权利要求8所述的设备,其中所述分布式自动化控制设备包括按钮块。11.如权利要求8所述的设备,其中所述分布式自动化控制设备包括过载继电器。12.如权利要求8所述的设备,其中所述分布式自动化控制设备包括电机驱动器或电机起动器。13.一种分布式控制系统,包括分布式自动化控制设备,包括存储包括多个功能块的宏的存储器电路,所述功能块被配置成根据输入执行期望的算术和/或逻辑运算以生成输出,所述宏被配置用于特定自动化过程;处理器,被配置成执行所述宏;和接口,被配置成根据由所述处理器执行的宏来把输出进行输出;和自动化控制器,经由网络耦合到所述分布式自动化控制设备;其中所述分布式自动化控制设备被配置成经由所述网络与所述自动化控制器通信,但是在没有来自所述自动化控制器的命令的情况下接收输入并且输出所生成的输出。全文摘要公开了用于封装设备级嵌入逻辑的宏功能块。提供了使用配置软件把设备级嵌入逻辑封装到用户定义的指令中的技术。更具体地,公开的实施方式允许把插件指令用于设备配置嵌入逻辑。特定于应用或设备的编程接口可以被合并到单个指令中,以作为可以在相同或不同应用或设备中重用的可重用宏部件。文档编号G05B19/418GK102193536SQ20111003848公开日2011年9月21日申请日期2011年2月12日优先权日2010年2月12日发明者哈什·沙阿,格雷戈里·A·迈赫尔,冯健,贾晴,宋涛,魏震,詹姆斯·爱德华·乔申请人:洛克威尔自动控制技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1