CN102890453A - 用于功能块实例化的系统和方法 - Google Patents

用于功能块实例化的系统和方法 Download PDF

Info

Publication number
CN102890453A
CN102890453A CN2012103755019A CN201210375501A CN102890453A CN 102890453 A CN102890453 A CN 102890453A CN 2012103755019 A CN2012103755019 A CN 2012103755019A CN 201210375501 A CN201210375501 A CN 201210375501A CN 102890453 A CN102890453 A CN 102890453A
Authority
CN
China
Prior art keywords
piece
field device
block
information
functional block
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.)
Granted
Application number
CN2012103755019A
Other languages
English (en)
Other versions
CN102890453B (zh
Inventor
D·R·克雷夫特
R·W·格鲁布斯
A·S·德莫里斯
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.)
General Electric Co PLC
Original Assignee
General Electric Co
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 General Electric Co filed Critical General Electric Co
Publication of CN102890453A publication Critical patent/CN102890453A/zh
Application granted granted Critical
Publication of CN102890453B publication Critical patent/CN102890453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B15/00Systems controlled by a computer
    • G05B15/02Systems controlled by a computer electric
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4185Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication
    • G05B19/4186Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by the network communication by protocol, e.g. MAP, TOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13101Function block instance, only one function block exists, several instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)
  • Stored Programmes (AREA)

Abstract

本发明名称是“用于功能块实例化的系统和方法”。本文中描述的实施例包括一种系统和一种方法。在一个实施例中,一种系统包括配置成存储可重用的可执行控制信息(118)和替代信息(122)的库(100)。该系统还包括配置成将可重用的可执行控制信息(118)在存储器中实例化以及将替代信息(122)与现场装置(34、36、38、40、102)相关联的控制器(30)。

Description

用于功能块实例化的系统和方法
技术领域
本文中所公开的主题涉及系统的实例化,以及更具体而言,涉及功能块的实例化。
背景技术
某些系统,诸如工业控制系统,可以提供能够实现在各种类型的装置(诸如传感器、泵、阀等)中计算机指令的执行的控制能力。例如,功能块可以用于将控制逻辑封装在各种装置中。然而,功能块可能由不同的制造商来创建。因此,配置和/或编程多个装置可能是复杂和耗时的。
发明内容
下面概述与原始要求保护的发明在范围方面相当的某些实施例。这些实施例不是用来限制要求保护的发明的范围,而是这些实施例仅仅用来提供本发明的可能的形式的简要概述。实际上,本发明可以包罗可能与下面阐述的实施例类似或不同的各种形式。
在第一实施例中,一种系统包括配置成存储可重用的可执行控制信息和替代信息的库。该系统还包括配置成将可重用的可执行控制信息在存储器中实例化以及将替代信息与现场装置相关联的控制器。
在第二实施例中,一种方法包括经由系统的计算机定义库中的可重用的控制信息。该方法还包括在控制器中实例化可重用的控制信息。该方法还包括用包括在现场装置中的现场装置信息来替代包括在可重用的控制信息中的属性。
在第三实施例中,提供一种包括可执行代码的非临时性的有形的计算机可读介质。该可执行代码包括用于经由系统的计算机定义库中的可重用的控制信息的指令。该可执行代码还包括用于在控制器中将可重用的控制信息实例化为可执行控制逻辑的指令。该可执行代码还包括用于用包括在现场装置中的现场装置信息来替代包括在可重用的控制信息中的属性的指令。
附图说明
当参考附图阅读下面的详细描述时,本发明的这些以及其它特征、方面和优点将变得更好理解,在附图中,所有附图中相似的字符表示相似的部件,其中:
图1是包括库的工业控制系统的一个实施例的示意图;
图2是包括图1的工业控制系统的各种组件的实施例的框图;
图3是可用于定义图1的库的树形(treeview)控件的一个实施例的屏幕视图;
图4是适于输入(enter)库信息的网格(grid)控件的一个实施例的屏幕视图;
图5是可重用的通用功能块的一个实施例的屏幕视图;
图6是可用于输入现场装置信息的网格控件的一个实施例的屏幕视图;
图7是基于图8的可重用的通用功能块的已实例化功能块的一个实施例的屏幕视图;
图8是适于输入功能块信息的自动化工具的一个实施例的屏幕视图;以及
图9是用于重用库信息的过程的一个实施例的流程图。
具体实施方式
下面将描述本发明的一个或多个具体实施例。为了提供这些实施例的简明描述,在说明书中可能并未描述实际实现的所有特征。应当领会的是,在任何这样的实际实现的开发中,如在任何工程或设计项目中,必须作出许多实现特定的决定以达到开发者的特定目的,诸如遵守系统相关的和商业相关的约束,这些约束对于不同的实现可能是不同的。此外,应当领会的是,这样的开发努力可能是复杂且耗时的,但尽管如此,对于受益于本公开的那些普通技术人员来说,仍是设计、制作和制造的常规任务。
在引入本发明的各种实施例的各要素时,冠词“一个(a)”、“一个(an)”、“该”和“所述”是用来表示存在一个或多个该要素。术语“包含”、“包括”和“具有”是用来含有并且意味着除了所列要素之外可能存在另外的要素。
工业控制系统可包括适于与多种现场装置(诸如传感器、泵、阀等等)接口的控制器系统。例如,传感器可以给控制器系统提供输入,以及控制器系统然后可响应输入而推导出某些动作,诸如致动阀、驱动泵等等。在某些控制器系统中,诸如可从Schenectady,New York的GeneralElectric Co.购得的MarkTM VIe控制器系统,多个现场装置可以可通信地耦合到控制器并且由控制器控制。实际上,多个控制器可以控制多个现场装置,如下文关于图1更详细地描述。可通信地连接到控制器的装置可以包括现场装置,诸如现场总线基金会(Fieldbus Foundation)装置,这些装置包括对于基金会H1双向通信协议的支持。因此,该装置可以在诸如H1段的各种通信段中与控制器可通信地连接,附连到链接装置,以能够实现装置的全工厂范围的网络。
每个现场装置可以包括封装在功能块中的控制逻辑或计算机指令。例如,比例-积分-微分(PID)功能块可以包括适于实现诸如工业过程的某些过程的闭合回路控制的PID指令。同样地,模拟输入(AI)功能块和模拟输出(AO)功能块可以分别被用于检索输入数据和提交输出数据。实际上,可以提供能包括多种计算机指令或控制逻辑的各种类型的功能块,如下文关于图1更详细地描述。每个功能块然后可以被实例化或者被加载到现场装置的存储器中以在控制回路中使用。现场装置然后可以执行实例化的功能块中的计算机指令或控制逻辑。
功能块实例化可以使用某些值,诸如装置标识、校准值和逻辑变量(例如,编程变量)。控制工程师或调试工程师可以手动输入功能块中每一个所使用的值。然而,工业控制系统可能包括数百个以及有时数千个现场装置。跨越多个装置输入某些值可能是耗时且低效的。
本文中公开的系统和方法能够实现块实例化信息的自动插入。实际上,如下文更详细地描述,可以使用属性替代技术以自动地将库信息插入到跨越工业控制系统中的各种各样的装置(包括现场总线基金会装置)可执行的功能块中。装置可以由多种制造商提供,并且可以包括任何数量的功能块信息,诸如装置标识信息、现场总线基金会功能块信息以及制造商特定的功能块信息。此外,本文中公开的系统和方法使诸如控制工程师或者调试工程师之类的用户能够通过使用库来存储和更新属性替代信息,如下文更详细地描述。库可以包括适于有效存储、发现和操纵装置相关的信息的分级存储结构。此外,可以在实际装置实例化之前提供实例化信息。即,本文中公开的系统和方法可以使用户能够在实际的实例化之前操纵库信息以有助于准备期望的装置配置,并且可以在现场装置到工业过程控制系统(如下文关于图1更详细地描述的工业过程控制系统)的实际连接之前存储期望的装置配置。一旦现场装置连接到工业过程控制系统,然后就可以使用存储的装置配置以在现场装置中实例化功能块。这样,可以更有效地执行配置现场装置。通过提供可重用的过程控制信息,现场装置、控制器和工业过程控制系统可以更容易地被配置和管理。
转向图1,描述工业过程控制系统10的一个实施例。该控制系统10可以包括计算机系统12,该计算机系统12适于执行多种现场装置配置和监测应用,以及用于提供操作者接口,通过该操作者接口,工程师或技术人员可以监测控制系统10的组件。因此,计算机12包括可以在处理计算机指令中使用的处理器14、以及可以用于存储计算机指令和其它数据的存储器16。计算机系统12可以包括适于运行软件应用的任何类型的计算装置,诸如膝上型计算机、工作站、平板计算机或手持便携式装置(例如,个人数字助理或蜂窝电话)。实际上,计算机系统12可以包括多种硬件和/或操作系统平台中的任一种。依据一个实施例,计算机12可以承载(host)工业控制软件,诸如人机接口(HMI)软件18、制造执行系统(MES)20、分布式控制系统(DCS)22、和/或监测控制及数据采集(SCADA)系统24。HMI18、MES20、DCS22、和/或SCADA24可以作为可执行代码指令存储在非临时性的有形的计算机可读介质(诸如计算机12的存储器16)上。例如,计算机12可以承载可从Schenectady,NewYork的General Electric Co.购得的ControlSTTM软件。
此外,计算机系统12可通信地连接到工厂数据高速通道(highway)26,该工厂数据高速通道26适于实现工厂中描述的计算机12和其它计算机12之间的通信。实际上,工业控制系统10可以包括通过工厂数据高速通道26互连的多个计算机系统12。该计算机系统12可以进一步可通信地连接到单元数据高速通道28,该单元数据高速通道28适于将计算机系统12可通信地耦合到工业控制器30。工业控制器30可以包括处理器32,处理器32适于执行可用于使多种工厂设备(诸如涡轮系统34、温度传感器36、阀38和泵40)自动化的计算机指令或控制逻辑。工业控制器30还可包括存储器42,存储器42用于存储例如计算机指令和其它数据。工业控制器30可以与多种现场装置通信,包括但并不限于流量计、pH传感器、温度传感器、振动传感器、间隙传感器(例如,测量旋转组件和固定组件之间的距离)、压力传感器、泵、致动器、阀等等。在一些实施例中,工业控制器30可以是可从Schenectady,New York的General Electric Co.购得的MarkTM VIe控制器系统。
在描述的实施例中,涡轮系统34、温度传感器36、阀38和泵40通过使用链接装置44和46来可通信地连接到工业控制器30,链接装置44和46适于在I/O网络48和H1网络50之间接口。例如,链接装置44和46可以包括可从Haar,Germany的Softing AG购得的FG-100链接装置。如描述的,链接装置44和46可以分别包括可用于执行计算机指令的处理器52和54,并且还可以包括可用于存储计算机指令和其它数据的存储器56和58。在一些实施例中,I/O网络48可以是100百万比特(MB)高速以太网(HSE)网络,并且H1网络50可以是31.25千比特/秒网络。因此,通过I/O网络48传送和接收的数据又可以由H1网络50传送和接收。也就是,链接装置44和46可以充当I/O网络48和H1网络50之间的桥梁。例如,I/O网络48上的更高速的数据可以被缓冲,然后在H1网络50上以合适的速度被传送。因此,多种现场装置可以链接到工业控制器30和链接到计算机12。例如,现场装置34、36、38和40可以包括或可以为工业装置,诸如包括对基金会H1双向通信协议的支持的现场总线基金会装置。该现场装置34、36、38和40还可以包括对其它通信协议的支持,诸如通信基金会(HCF)协议以及Profibus NutzerOrganization e.V.(PNO)协议中所见的那些。
链接装置44和46中的每个可以包括可用于分段H1网络42的一个或多个段端口60和62。例如,链接装置44可以使用段端口60以与装置34和36可通信地耦合,同时链接装置46可以使用段端口62以与装置38和40可通信地耦合。通过使用例如段端口60和62在现场装置34、36、38和40之间分布输入/输出,可以实现可用于保持故障容许度、冗余以及改善通信时间的物理分离。
每个现场装置34、36、38和40可以包括各自的装置描述(DD)文件,诸如所示的DD文件64、66、68和70。DD文件64、66、68和70可以以装置描述语言(DDL),诸如国际电工委员会(IEC)61804标准中定义的DDL来书写。在一些实施例中,文件64、66、68和70为标记化的(tokenized)二进制文件。即,DD文件64、66、68和70可以包括以可用于减小DD文件64、66、68和70的大小的标记化的二进制格式来格式化的数据。DD文件64、66、68和70每个可以包括一个或多个功能块72、74、76和78。功能块72、74、76和78可以包括由处理器80、82、84和86可执行的计算机指令或计算机逻辑。实际上,功能块72、74、76和78可以被实例化到存储器88、90、92、94中,然后分别通过处理器80、82、84和86执行。这样,现场装置34、36、38和40可以向工业过程控制系统10中的过程的执行贡献控制逻辑和其它计算机指令。有利地,本文中公开的系统和方法为用户(例如,控制工程师或调试工程师)提供库100,该库100适于存储、操纵和传播信息到现场装置34、36、38和40。例如,可重用的实例化信息可以被提供到现场装置34、36、38和40,所以能够实现现场装置34、36、38和40的更有效的配置,如下文关于图2更详细地描述。
图2是示出库100的一个实施例的框图,库100可以用于存储、操纵信息、以及与一个或多个现场装置(诸如图1中所示的现场装置34、36、38和40)之间传播信息。库100可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。在描述的实施例中,库100被示为可通信地耦合到三个现场装置,装置34、装置36以及指示为102的装置n。要理解的是,库100可以例如通过图1中所示的网络28、48和/或50来可通信地耦合到任何数量的现场装置。
有利地,可以使用库100以实现现场装置34、36和102的更快、更有效的配置。在一个实例中,可以将库100用于实例化所述现场装置34、36和102。在实例化中,诸如控制工程师或调试工程师之类的用户可以选择分别用于由现场装置34、36和102执行的某些功能块72、74和104。实际上,用户可以编程具有选择的功能块72、74和104的一个或多个控制回路或模块106、108和110。例如,装置占位符(例如虚拟装置)可以通过配置屏幕来呈现并且可以被用户选择以输入与装置(诸如装置34、36或102)相关的配置信息,诸如选择的功能块72、74和104。一旦装置物理地连接到系统10,配置信息可以自动地加载到装置的存储器中。装置然后可以执行包括在实例化的功能块72、74和104中的计算机指令或控制逻辑。然而,每个功能块72、74和104可以包含例如与各自的现场装置(例如装置34、36、102)关联的实例化信息(例如属性和/或变量)112、114和116。更具体而言,实例化信息可以包括将功能块72、74和104链接(liking)到各自的装置34、36和102的实例化过程所使用的信息。例如,实例化信息112、114和116可以包含输入和输出标识信息,该输入和输出标识信息分别唯一地标识现场装置34、36和102(例如,装置标签、信道I/O、端口I/O、段I/O)。实例化信息112、114和116还可以包含校准信息(例如,默认的校准值、范围)以及可用于将装置34、36和102实例化或者以其它方式调试到系统10中的其它变量。手动输入实例化信息112、114和116可能是费力且低效的。
库100能够实现分级信息的创建,包括适于装置34、36和102重用的可重用的逻辑模块或控制信息118。例如,控制信息118可以包括可重用的通用功能块120。通用功能块120可以包括适于在许多现场装置中执行的计算机指令,所述许多现场装置包括对某些功能块规范的支持,诸如由现场总线基金会功能块应用过程(FBAP)使用的功能块规范,可从Austin,Texas的现场总线基金会组织得到。功能块类型的非包含性的列表可以包括资源块、显示块、AI块、AO块、离散输入块、离散输出块、诊断块、多模拟输入块、多模拟输出块、PID控制块、增强型PID控制块、先进PID控制块、算法块、分离器块、信号表征器块、积分器块、模拟警报块、输入选择器块、设定点斜坡发生器块、计时器和逻辑块、超前滞后块、输出信号选择器和动态限制器块、密度块、常量块、自定义块、流量传感器块和/或双稳态多谐振荡器和边缘触发器块。
装置34、36和102的每个的制造商可以提供计算机指令或控制逻辑,该计算机指令或控制逻辑与前述的功能块类型和功能块规范(例如,现场总线基金会规范)相符合。库100的可重用的控制信息118可以包括类似的计算机指令或控制逻辑,该类似的计算机指令或控制逻辑也与前述的功能块类型和功能块规范(例如,现场总线基金会规范)相符合。因此,用户可以配置可重用的控制信息或控制回路118一次,然后可以将可重用的控制信息配置和/或实例化为装置34、36和102可执行的控制逻辑或控制回路106、108和110。实际上,库100使可重用的控制信息118能够如期望的那样多的次数提供给一个或多个现场装置,包括描述的装置34、36和102。控制逻辑的这样的重用可以减少配置时间,并导致现场装置34、36和102的更有效的调试。
如前面提及的,功能块72、74和104可以包括与诸如现场装置34、36和102之类的特定的现场装置对应的实例化信息112、114和116。例如,功能块72、74和104可以使用实例化信息112、114和116以标识描述的现场装置34、36和102并与其通信,以校准装置34、36和102,和/或以一般地调试装置34、36和102。尽管用户可以在各个功能块72、74、104的配置期间手动输入实例化信息112、114和116,但是这可能是低效的、耗时的,并且可能导致疏忽的数据录入错误。在一个实施例中,库100能够实现属性替代方法与包括在可重用的控制信息118中的属性替代信息122的使用,如关于图9更详细地描述。实际上,属性替代信息122可以由库100提供,适于用作某些值的稍后替代的占位符,因此变为实例化信息112、114和116。即,属性替代信息122然后可以由期望值(例如,I/O值、校准值、调试值)来代替。该期望值将属性替代信息122转化为实例化信息112、114和116,如下文更详细地描述。
图3是树形控件124和网格控件126的一个实施例的屏幕视图123,这些控件可以被用于定义可重用的控制逻辑118,包括与可重用的通用功能块120关联的属性替代信息122。该屏幕视图123可实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。如以上提及的,通过在一个或多个装置(例如装置34、36和102)之中分布可重用的控制逻辑118,以及通过提供属性替代信息122,库100可以实现现场装置的更有效的和更快的配置。树形控件124和网格控件126可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。
在描述的实施例中,树形控件124包括标注为“库(LIBRARIES)”的根节点128,在分级地组织库100中可用作树节点数据结构。可提供其它数据结构以组织库100,包括列表、表格和图形(例如一对多、多对多)。还描述了标注为“Lib1”的子节点或子库节点130。子库节点130是库100的子库。实际上,库100可以包括一个或多个子库以更好地组织库100。子库节点130包括标注为“AIDemo”的任务节点132。子库可以包括一个或多个任务节点、程序节点、和将控制逻辑和/或功能块编组的其它编组节点。例如,任务节点132包括标注为“AI_1”的功能块节点134。该功能块节点134可以为例如图2中描述的通用功能块72、74或104中的一个(诸如功能块104(例如,AI功能块104))的可视表示。
在所示实施例中,任务节点132包括标注为“属性(ATTRIBUTES)”的子属性节点136。该属性节点136可以是属性替代信息122的可视表示。该子属性节点136可用于将与任务节点132关联的所有属性列表。因为子属性节点136被描述为已被用户选择,因此示出了与所选择的子属性节点136对应的网格控件126。与属性节点136对应的所有属性然后可以显示为网格控件126的行。例如,装置属性行138被示出,标注为“装置(DEVICE)”。装置属性行138中包括的信息然后可以用作在功能块104配置和/或实例化期间物理装置的虚拟占位符。例如,装置属性行138捕获的信息可以包括用于代替物理装置标签(即,唯一装置标识标签)的装置名称。通过经由装置属性行138的使用来提取物理装置信息,库100可以实现功能块72、74和104的更快、更不易出错的配置。例如,在一个实施例中,当通过添加AI功能块节点134来定义任务节点132时,提示用户选择某些属性值,如关于图4更详细地描述。
图4是包括标注为“输入属性实例值(ENTER THE ATTRIBUTEINSTANCE VALUES)”的屏幕标题142的网格控件140的屏幕视图141。该屏幕视图141可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。该网格控件140和/或类似的图形用户接口(GUI)控件可以实现可重用的逻辑模块118、可重用的通用功能块120以及属性替代信息122的录入。例如,当创建图3中所示的AI功能块节点134时,可以在那时提示用户将块134与现场装置相关联。代替输入实际的装置标签,用户可以输入替代属性值,诸如具有值“{Device}”的替代属性144。这样,AI功能块节点134被配置成使用通用属性信息而不是特定的装置信息。任务132的最终库100定义则可示出与替代属性144关联的AI功能块节点134,如下文关于图5更详细地描述。
图5是控制回路视图中描述的图2的AI功能块120的一个实施例的屏幕视图145。该屏幕视图145可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。该AI功能块120示为包括引脚146,该引脚用于将AI功能块连接到包括模拟输入功能性的现场装置(例如,现场装置34、36和102)。该引脚146被示为带有标注“{Device}”。同样地,功能块标识148被示为带有标注“{Device}AI1”以指示图4中所示的替代属性144的使用。如此,用户可视地鉴定AI功能块120当前指的是替代属性144而不是物理装置。通过在控制回路中提供属性的使用的可视反馈,本文中描述的系统和方法使用户能够快速地建立可执行的控制逻辑的库,诸如库100,具有与通用装置关联的功能块。
因此,在不具有可期望使用可重用的逻辑模块118的物理装置(例如现场装置34、36、102)和控制器(例如控制器30)的先验知识的情况下,可以定义库100的可重用的逻辑模块118。一旦已经定义功能块120,功能块120就可以由可通信地耦合到库100的任何数量的控制器来重用。例如,控制器30可以通过将可重用的通用功能块120加载到现场装置102的存储器中来实例化可重用的通用功能块120。在功能块120的实例化期间,控制器30可以提示输入装置标签以将功能块120关联到特定的现场装置(例如装置34、36、102),如下文关于图6更详细地描述。通过在实例化期间重用通用功能块120和获取适于将功能块120关联到特定的现场装置的信息,可更容易和快速地配置控制器30。
图6是示出用于将功能块120的实例或复本与标注为“FFAI1000”的装置标签152关联的网格控件150的一个实施例的屏幕视图149。该装置标签152唯一地标识现场装置。该屏幕视图149可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。如以上提及的,控制器30可以通过将功能块复制到诸如图2中所示的装置102的装置的存储器中来创建功能块120的实例。所得到的实例则被示为功能块104。要理解的是,功能块120(以及可重用的逻辑模块118)可由诸如控制器30之类的任何数量的控制器从库100中复制任意次数。网格控件150可以提供装置标签152,该装置标签152则可用于与物理现场装置(例如装置102)关联。这样,功能块120实例化到功能块104中可以将功能块104与装置标签(例如装置标签152)关联。控制回路然后可以在功能块104中显示更新的装置标签152,如下文关于图7更详细地描述。
图7是示出控制回路视图中描述的图2的AI功能块104的一个实施例的屏幕视图155。该屏幕视图155可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。在功能块120实例化到装置102中后,描述AI功能块104。即,功能块120可以被复制到装置102的存储器中并且被实例化,因此变成功能块104。如描述的,引脚154现在被标注为“FFAI1000”以反映功能块104和图6中所示的装置标签152的关联。同样地,功能块标识156现在标注为“FFAI1000AI1”。装置标签152然后可以被用于与装置102通信。在一个实施例中,可以使用自动化工具以链接装置标签152到期望的现场装置(诸如装置102),如下文关于图8更详细地描述。
图8是自动化工具158的一个实施例的屏幕视图,包括适于将装置标签152链接到诸如图2中描述的现场装置102的物理现场装置的网格控件162和树形控件160。该自动化工具158可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。通过链接或以其它方式关联装置标签152到现场装置102,图2和7中所示的实例化功能块104可用于期望的现场装置102中。在描述的实施例中,树形控件160包括标注为“分布式I/O”的根节点164,表示可以被附连到例如控制器30的硬件。根节点164包括可以表示诸如图1中所示的链接装置46之类的链接装置的链接装置节点166。链接装置46的段端口62则被示为子段节点168。因为现场装置102可以连接到段62,因此现场装置102被描述为段节点168的子现场装置节点170。同样地,AI功能块节点172可以用于可视地表示在现场装置102中实例化的功能块104。
网格控件162被描述为包括标注为“FFAI1000AI1”的块标签174。该块标签174唯一地标识功能块(例如功能块104)并且提供与所标识的功能块通信的机制。在一个实施例中,网格控件162可以被用于输入功能块节点172的各种属性,以及可被用于将图6中所示的装置标签152链接或关联到块标签174。可以使用其它技术以将装置标签152链接或关联到块标签174,诸如在节点172上右单击以输入链接信息,以及提供用于链接信息的菜单。也可以提供搜索工具以自动地搜索某些装置标签(诸如装置标签152),和将装置标签链接或关联到块标签174。通过提供用于将装置标签152链接到物理现场装置的链接中可用的各种系统,本文中描述的系统和方法能够实现替代控制逻辑118的有效的重用。
图9是描述适于在一个或多个现场装置(包括图2中所示的装置34、36和102)中重用控制逻辑118的过程180的一个实施例的流程图。该过程180可以实现为存储在非临时性的有形的计算机可读介质(诸如计算机12的易失性或非易失性存储器16)上的可执行代码指令。在描述的实施例中,可重用的控制信息,诸如图2中所示的可重用的逻辑模块118、可重用的通用功能块120以及替代I/O信息122,可以在库(例如库100)中定义(框182)。如以上提及的,图3和4的屏幕视图123和141可以用于定义库100(框182)。
然后可以在诸如控制器30之类的控制器中实例化定义的可重用的控制信息118(框184)。例如,可重用的控制信息118可以被复制到控制器30的存储器42中。然后可用实际现场装置(例如现场装置34、36、38、40、100)信息替代包括在可重用的控制信息118中的某些信息,诸如替代I/O信息122(框186)。例如,可用将期望的功能块链接或关联到期望的现场装置的物理信息(例如装置标签)替代属性信息(例如通用装置)。在一个实施例中,诸如图8中所示的自动化工具158之类的自动化工具可用于将替代I/O信息122替代。替代的信息(例如实例化信息112、114、116)然后可以实现逻辑模块(例如逻辑模块106、108、110)的执行(框188)。通过提供可以容易且有效地实例化到可执行的控制逻辑106、108和110中的可重用的控制逻辑118,本文中描述的系统和方法能够实现现场装置34、36、38、40和/或102的更有效的配置和/或调试。
本发明的技术效果包括在一个或多个现场装置和控制器中可重用的控制逻辑(包括可重用的通用功能块)的重用。在特定的现场装置的配置期间,通用功能块可以被复制或实例化到指定的现场装置中。可用例如唯一地标识特定的现场装置的装置标签替代与通用功能块关联的属性。如此,唯一地标识实例化功能块的功能块标签可以链接到唯一地标识现场装置的装置标签。可以通过适于用装置特定的信息取代属性信息的自动化工具的使用,使得属性替代自动化。
该书面描述使用示例以公开本发明,包括最佳模式,并且还使本领域的任何技术人员能够实施本发明,包括制造或使用任何装置或系统和执行任何结合的方法。本发明的可专利范围由权利要求来定义,并且可以包括本领域技术人员想到的其它示例。如果这样的其它示例具有与权利要求的文字语言没有不同的结构要素,或者如果它们包括具有与权利要求的文字语言的非实质差别的等效结构要素,那么它们确定为在权利要求的范围内。
部件列表:
10工业过程控制系统
12计算机系统
14处理器
16存储器
18人机接口(HMI)软件
24监测控制及数据采集(SCADA)系统
20制造执行系统(MES)
22分布式控制系统(DCS)
26工厂数据高速通道
28单元数据高速通道
30工业控制器
32处理器
34涡轮系统
36温度传感器
38阀
40泵
42存储器
44链接装置
46链接装置
48输入/输出(I/O)网络
50H1网络
52处理器
54处理器
56存储器
58存储器
60段端口
62段端口
64DD文件
66DD文件
68DD文件
70DD文件
72功能块
74功能块
76功能块
78功能块
80处理器
82处理器
84处理器
86处理器
88存储器
90存储器
92存储器
94存储器
100库
102现场装置n
104功能块
106模块
108模块
110模块
112实例化信息
114实例化信息
116实例化信息
118可重用的控制信息
120可重用的通用功能块
122属性替代信息
123屏幕视图
124树形控件
126网格控件
128根节点
130子库节点
132任务节点
134功能块节点
136子属性节点
138装置属性行
140网格控件
141屏幕视图
142屏幕标题
144替代属性
145屏幕视图
146引脚
148功能块标识
149屏幕视图
150网格控制
152装置标签
155屏幕视图
154引脚
156功能块标识
158自动化工具
160树形控件
162网格控件
164根节点
166链接装置节点
168子段节点
170子现场装置节点
172AI功能块节点
174块标签
180过程
182块
184块
186块
188块

Claims (11)

1.一种系统,包括:
库(100),配置成存储可重用的可执行控制信息(118)和替代信息(122);以及
控制器(30),配置成将所述可重用的可执行控制信息(118)在存储器中实例化以及将所述替代信息(122)与现场装置(34、36、38、40、102)相关联。
2.如权利要求1所述的系统,其中,所述现场装置(34、36、38、40、102)包括现场总线基金会现场装置、HART现场装置、Profibus现场装置或其组合。
3.如权利要求1所述的系统,其中,所述可重用的可执行控制信息(118)包括功能块(120)。
4.如权利要求3所述的系统,其中,功能块(120)包括以下至少一个:显示块、模拟输入(AI)块、模拟输出(AO)块、离散输入块、离散输出块、诊断块、多模拟输入块、多模拟输出块、比例-积分-微分(PID)控制块、增强型PID控制块、先进PID控制块、算法块、分离器块、信号表征器块、积分器块、模拟警报块、输入选择器块、设定点斜坡发生器块、计时器和逻辑块、超前滞后块、输出信号选择器和动态限制器块、密度块、常量块、自定义块、流量传感器块或者双稳态多谐振荡器和边缘触发器块。
5.如权利要求1所述的系统,其中,所述替代信息(122)包括配置成标识所述现场装置(34、36、38、40、102)的装置标签、装置校准值、装置调试值或其组合。
6.如权利要求1所述的系统,包括自动化工具(158),所述自动化工具(158)配置成将所述替代信息(122)与所述现场装置(34、36、38、40、102)相关联。
7.如权利要求6所述的系统,其中所述自动化工具(158)包括树形控件(160)、网格控件(162)或其组合,这些控件配置成将所述替代信息(122)与所述现场装置(34、36、38、40、102)相关联。
8.如权利要求6所述的系统,其中所述控制器(30)包括所述自动化工具(158)。
9.如权利要求1所述的系统,包括链接装置(44、46)、高速以太网网络(48)以及基金会H1网络(50),其中所述链接装置(44、46)配置成将所述高速以太网网络(48)链接到所述基金会H1网络(50),以及所述现场装置(34、36、38、40、102)附连到所述基金会H1网络(50)。
10.如权利要求1所述的系统,包括具有所述库(100)的人机接口(HMI)系统(18)、制造执行系统(MES)(20)、分布式控制系统(DCS)(22)、监测控制及数据采集(SCADA)系统(24)或其组合。
11.如权利要求1所述的系统,包括具有所述现场装置(34、36、38、40、102)的涡轮系统。
CN201210375501.9A 2011-06-30 2012-06-29 用于功能块实例化的系统和方法 Active CN102890453B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/174539 2011-06-30
US13/174,539 US9772617B2 (en) 2011-06-30 2011-06-30 Systems and methods for function block instantiation

Publications (2)

Publication Number Publication Date
CN102890453A true CN102890453A (zh) 2013-01-23
CN102890453B CN102890453B (zh) 2019-06-18

Family

ID=46754855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210375501.9A Active CN102890453B (zh) 2011-06-30 2012-06-29 用于功能块实例化的系统和方法

Country Status (3)

Country Link
US (1) US9772617B2 (zh)
EP (1) EP2541352A3 (zh)
CN (1) CN102890453B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104503896A (zh) * 2013-08-01 2015-04-08 通用电气公司 用于批设备调试和解调试的系统和方法
CN106662862A (zh) * 2014-08-11 2017-05-10 Abb瑞士股份有限公司 过程控制系统中的对象创建
US9772617B2 (en) 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5505873B2 (ja) * 2012-02-08 2014-05-28 横河電機株式会社 プラント情報の表示方法および表示装置
EP2998805A1 (de) * 2014-09-19 2016-03-23 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Erzeugung eins Überwachungs-Funktionsbausteins für die Überwachung einer Automatisierungsanordnung
EP2998806A1 (de) * 2014-09-19 2016-03-23 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Erzeugung von Programmcode für die Überwachung von Betriebszuständen einer Automatisierungskomponente
CN104679526A (zh) * 2015-03-19 2015-06-03 李舟 Maya动画姿势库
BR112017020503B1 (pt) * 2015-03-27 2023-10-24 Bühler AG Método e sistema para controle de processo de usinas em uma rede de máquina a máquina com base em opc-ua
US10216523B2 (en) * 2015-07-17 2019-02-26 General Electric Company Systems and methods for implementing control logic
WO2017062805A1 (en) * 2015-10-09 2017-04-13 Fisher-Rosemount Systems, Inc. System and method for creating a set of monitor and effect blocks from a cause and effect matrix
US10976714B2 (en) * 2016-10-08 2021-04-13 People Power Company Systems and methods for evaluating sensor data of internet-of-things (IoT) devices and responsively controlling control devices
US10917320B2 (en) 2018-09-10 2021-02-09 Aveva Software, Llc Edge HMI module server system and method
EP3995909A1 (en) * 2020-11-10 2022-05-11 ABB Schweiz AG Configuring modular industrial plants
SE2250606A1 (en) * 2022-05-20 2023-10-17 Delaval Holding Ab Milking Plant System, Computer-Implemented Method, Computer Program and Non-Volatile Data Carrier for configuring an entire milking plant
US11888641B1 (en) * 2022-09-15 2024-01-30 Roku, Inc. Dynamic provisioning of IoT devices from an online application marketplace

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036335A2 (en) * 1997-02-14 1998-08-20 Fisher-Rosemount Systems, Inc. Process control system using a layered-hierarchy control strategy distributed into multiple control devices
CN101158869A (zh) * 2006-10-02 2008-04-09 费舍-柔斯芒特系统股份有限公司 用于过程控制系统中的动态修改器功能块
CN101460909A (zh) * 2006-04-11 2009-06-17 因文西斯系统公司 系统管理人机界面
US20100100654A1 (en) * 2008-10-20 2010-04-22 Daniel Measurement And Control, Inc. Coupling a Specialty System, Such as a Metering System, to Multiple Control Systems
EP2261805A1 (en) * 2009-06-12 2010-12-15 Siemens Aktiengesellschaft Method for storing real time values

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08255075A (ja) * 1995-03-17 1996-10-01 Fujitsu Ltd タスク分割支援を行うソフトウェア設計支援装置
US5832264A (en) * 1995-07-19 1998-11-03 Ricoh Company, Ltd. Object-oriented communications framework system with support for multiple remote machine types
US5801942A (en) * 1996-04-12 1998-09-01 Fisher-Rosemount Systems, Inc. Process control system user interface including selection of multiple control languages
DE19712946A1 (de) * 1996-05-30 1997-12-04 Ibm Methode zum Generieren einer Implementierung wiederverwendbarer Teile von Containern eines Workflow-Prozessmodells
US20040194101A1 (en) * 1997-08-21 2004-09-30 Glanzer David A. Flexible function blocks
US6385496B1 (en) * 1999-03-12 2002-05-07 Fisher-Rosemount Systems, Inc. Indirect referencing in process control routines
US6445962B1 (en) * 1999-03-15 2002-09-03 Fisher Rosemount Systems, Inc. Auto-tuning in a distributed process control environment
US6754885B1 (en) * 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US6501995B1 (en) * 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
US6477435B1 (en) * 1999-09-24 2002-11-05 Rockwell Software Inc. Automated programming system for industrial control using area-model
US20060020429A1 (en) * 1999-09-30 2006-01-26 Ruven Brooks Method and apparatus for configuring interfaces for automated systems
US6975913B2 (en) * 2001-07-13 2005-12-13 Siemens Aktiengesellschaft Database system and method for industrial automation services
US7292900B2 (en) * 2001-07-13 2007-11-06 Siemens Aktiengesellschaft Power distribution expert system
US8086664B2 (en) * 2001-09-24 2011-12-27 Siemens Industry, Inc. Method and apparatus for programming programmable controllers and generating configuration data from a centralized server
US7822495B2 (en) * 2002-04-15 2010-10-26 Fisher-Rosemount Systems, Inc. Custom function blocks for use with process control systems
US7062580B2 (en) * 2002-09-20 2006-06-13 Smar Research Corporation Logic arrangement, system and method for configuration and control in fieldbus applications
JP3963174B2 (ja) * 2003-03-14 2007-08-22 オムロン株式会社 表示・編集装置及び表示方法並びにプログラム
US7225037B2 (en) * 2003-09-03 2007-05-29 Unitronics (1989) (R″G) Ltd. System and method for implementing logic control in programmable controllers in distributed control systems
US20060200256A1 (en) * 2005-03-04 2006-09-07 Mason Robert C Programming of industrial automation equipment using RFID technology
US8392602B2 (en) * 2005-09-30 2013-03-05 Rockwell Automation Technologies, Inc. Embedding controllers and devices with data to facilitate up-to-date control and configuration information
US8676357B2 (en) * 2005-12-20 2014-03-18 Fieldbus Foundation System and method for implementing an extended safety instrumented system
US7889747B2 (en) * 2006-05-31 2011-02-15 Honeywell International Inc. Apparatus, system, and method for integrating a wireless network with wired field devices in a process control system
US8448065B2 (en) * 2006-06-07 2013-05-21 Siemens Industry, Inc. System and method for the editing and accessing real-time OPC data with text-based tags
DE102006044141A1 (de) * 2006-09-15 2008-04-03 Dspace Digital Signal Processing And Control Engineering Gmbh Einrichtung und Verfahren zur Konfiguration eines Steuerungssystems
DE102007007537A1 (de) * 2007-02-15 2008-08-21 Siemens Ag Leitsystem einer technischen Anlage
CN101365994B (zh) * 2007-02-19 2013-08-21 三菱电机株式会社 可编程控制器的外围装置、置换方法和程序
US20100064297A1 (en) * 2008-09-05 2010-03-11 Invensys Systems, Inc. Configuring And Providing Enhanced Access To Profibus Device Diagnostic Data
US8570327B2 (en) * 2008-11-14 2013-10-29 General Electric Company Systems and methods involving graphically displaying control systems
JP2010160713A (ja) * 2009-01-09 2010-07-22 Yokogawa Electric Corp フィールド制御装置およびフィールド制御方法
EP2221682B1 (de) * 2009-02-19 2013-07-31 Siemens Aktiengesellschaft Verfahren zur Bereitstellung von Funktionen in einem industriellen Automatisierungssystem, Steuerungsprogramm und industrielles Automatisierungssystem
JP5168596B2 (ja) * 2010-01-29 2013-03-21 横河電機株式会社 制御ネットワークシステム
US9134720B2 (en) * 2010-02-12 2015-09-15 Rockwell Automation Technologies, Inc. Macro function block for encapsulating device-level embedded logic
US9110690B2 (en) 2010-04-28 2015-08-18 General Electric Company Systems, methods, and apparatus for deploying application code change configurations for multiple target controllers
US8832236B2 (en) * 2010-06-21 2014-09-09 Fisher-Rosemount Systems, Inc. Methods, apparatus and articles of manufacture to replace field devices in process control systems
US20120310373A1 (en) * 2011-05-31 2012-12-06 General Electric Company Systems and methods for alert capture and transmission
US8994545B2 (en) * 2011-05-31 2015-03-31 General Electric Company Systems and methods for alert device removal
US9772617B2 (en) 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998036335A2 (en) * 1997-02-14 1998-08-20 Fisher-Rosemount Systems, Inc. Process control system using a layered-hierarchy control strategy distributed into multiple control devices
CN101460909A (zh) * 2006-04-11 2009-06-17 因文西斯系统公司 系统管理人机界面
CN101158869A (zh) * 2006-10-02 2008-04-09 费舍-柔斯芒特系统股份有限公司 用于过程控制系统中的动态修改器功能块
US20100100654A1 (en) * 2008-10-20 2010-04-22 Daniel Measurement And Control, Inc. Coupling a Specialty System, Such as a Metering System, to Multiple Control Systems
EP2261805A1 (en) * 2009-06-12 2010-12-15 Siemens Aktiengesellschaft Method for storing real time values

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772617B2 (en) 2011-06-30 2017-09-26 General Electric Company Systems and methods for function block instantiation
CN104503896A (zh) * 2013-08-01 2015-04-08 通用电气公司 用于批设备调试和解调试的系统和方法
CN104503896B (zh) * 2013-08-01 2019-08-13 通用电气公司 用于批设备调试和解调试的系统和方法
CN106662862A (zh) * 2014-08-11 2017-05-10 Abb瑞士股份有限公司 过程控制系统中的对象创建
CN106662862B (zh) * 2014-08-11 2019-05-03 Abb瑞士股份有限公司 过程控制系统中的对象创建
US10303144B2 (en) 2014-08-11 2019-05-28 Abb Schweiz Ag Object creation in process control systems

Also Published As

Publication number Publication date
US9772617B2 (en) 2017-09-26
US20130006390A1 (en) 2013-01-03
EP2541352A2 (en) 2013-01-02
CN102890453B (zh) 2019-06-18
EP2541352A3 (en) 2017-09-20

Similar Documents

Publication Publication Date Title
CN102890453A (zh) 用于功能块实例化的系统和方法
US7836217B2 (en) Associating and evaluating status information for a primary input parameter value from a Profibus device
CN101460928B (zh) 简化安装替代性现场设备的方法和支持性配置用户界面
US8756041B2 (en) Industrial simulation using redirected I/O module configurations
KR101697031B1 (ko) 시스템 구축 지원 툴 및 시스템
US9563188B2 (en) Systems and methods for batch device commissioning and decommissioning
AU2017249034B2 (en) Apparatus and method for generating industrial process graphics
CN105094008B (zh) 基于通用过程系统库配置过程控制系统的方法和装置
JP2012523644A (ja) Cpiシミュレーション・システムのフローシートを有するスプレッドシート・ユーザ・インターフェースの利用
CN102809948B (zh) 用于块实例化的系统和方法
CN101135891A (zh) 图形编程语言对象编辑及报告工具
US8977372B2 (en) System and method for cycle time visualization
CN102411347B (zh) 用以测试过程控制系统的方法和装置
Obst et al. Package unit integration for process industry—A new description approach
US11307551B1 (en) Methods, systems and computer program products for generating implementable sequential function charts codes for process control systems
Scott Learning RSLogix 5000 Programming: Build robust PLC solutions with ControlLogix, CompactLogix, and Studio 5000/RSLogix 5000
Toapanta et al. Virtualization of the Paint Mixing Process Using the Hardware in the Loop Technique
Lum ENG460: Engineering Thesis

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240104

Address after: Swiss Baden

Patentee after: GENERAL ELECTRIC CO. LTD.

Address before: New York, United States

Patentee before: General Electric Co.