用于将图转换成应用工程元素的方法和装置与流程

文档序号:14203483阅读:212来源:国知局
用于将图转换成应用工程元素的方法和装置与流程

本公开一般地涉及工业过程控制和自动化。更具体地,本公开涉及用于将图转换成应用工程元素的方法和装置。



背景技术:

在工业过程控制和自动化系统中,“应用工程”典型地涉及用于由人类操作员或者自动化的机械使用的设计、测试和部署软件工具或其它应用。例如,应用工程通常涉及构建用于可编程逻辑控制器(plc)或分布式控制系统(dcs)的控制策略和显示屏幕。在许多常规的控制和自动化系统中,应用工程通常可以消耗针对任何给定项目的资源中的大部分。



技术实现要素:

本公开提供用于将图转换成应用工程元素的方法和装置。

在第一实施例中,一种方法包括获取定义包含图元素的图的信息,所述图元素用图形表示工业过程控制和自动化系统的组件。该方法还包括通过以下来生成表示图元素的图形:标识图元素中的参考点,标识图元素中的多个线条中的每一个的至少一个方向,并且使用每一个线条的所述至少一个方向和参考点形成图形。该方法还包括比较图元素的图形与一个或多个应用工程元素的一个或多个图形。此外,该方法包括生成元文件,所述元文件标识图元素在图中的位置和最接近地匹配所述图元素的应用工程元素。

在第二实施例中,一种装置包括至少一个存储器,所述至少一个存储器配置成存储定义包含图元素的图的信息,所述图元素用图形表示工业过程控制和自动化系统的组件。该装置还包括至少一个处理设备,所述至少一个处理设备配置成通过以下来生成表示图元素的图形:标识图元素中的参考点,标识图元素中的多个线条中的每一个的至少一个方向,并且使用每一个线条的所述至少一个方向和参考点形成图形。所述至少一个处理设备还配置成比较图元素的图形与一个或多个应用工程元素的一个或多个图形。此外,所述至少一个处理设备配置成生成元文件,所述元文件标识图元素在图中的位置和最接近地匹配所述图元素的应用工程元素。

在第三实施例中,一种非暂时性计算机可读介质包含计算机可读程序代码,所述计算机可读程序代码在被执行时,使至少一个处理设备获取定义包含图元素的图的信息,所述图元素用图形表示工业过程控制和自动化系统的组件。所述介质还包含计算机可读程序代码,所述计算机可读程序代码在被执行时,使所述至少一个处理设备通过以下来生成表示图元素的图形:标识图元素中的参考点,标识图元素中的多个线条中的每一个的至少一个方向,并且通过使用每一个线条的所述至少一个方向和参考点形成图形。所述介质还包含计算机可读程序代码,所述计算机可读程序代码在被执行时,使所述至少一个处理设备比较图元素的图形与一个或多个应用工程元素的一个或多个图形。此外,所述介质包含计算机可读程序代码,所述计算机可读程序代码在被执行时,使所述至少一个处理设备生成元文件,所述元文件标识图元素在图中的位置和最接近地匹配图元素的应用工程元素。

根据以下附图、描述和权利要求,其它技术特征对于本领域技术人员可以是显而易见的。

附图说明

为了本公开的更完整的理解,现在参考结合附图理解的以下描述,其中:

图1图示了根据本公开的示例工业过程控制和自动化系统;

图2图示了根据本公开的用于将图转换成应用工程元素的示例设备;

图3图示了根据本公开的用于将图转换成应用工程元素的示例过程;

图4a至4c图示了根据本公开的图3的示例过程的更详细的部分;

图5至13图示了根据本公开的在将图转换成应用工程元素期间执行的各种操作的示例;以及

图14至17图示了根据本公开的将图向导入到不同应用中的元文件的示例转换。

具体实施方式

以下讨论的图1至17以及用于描述本专利文档中的本发明的原理的各种实施例仅作为说明,并且不应以任何方式解释成限制本发明的范围。本领域技术人员将理解到,可以在任何类型的经适当布置的设备或系统中实现本发明的原理。

图1图示了根据本公开的示例工业过程控制和自动化系统100。如图1中所示,系统100包括促进至少一个产品或其它材料的生产或处理的各种组件。例如,系统100在此用于促进对一个或多个工厂101a-101n中的组件的控制。每一个工厂101a-101n表示一个或多个处理机构(或其一个或多个部分),诸如用于生产至少一个产品或其它材料的一个或多个制造机构。一般而言,每一个工厂101a-101n可以实现一个或多个过程,并且可以单独地或共同地被称为过程系统。过程系统一般表示配置成以某种方式处理一个或多个产品或其它材料的任何系统或其部分。

在图1中,使用过程控制的普渡模型实现系统100。在普渡模型中,“层级0”可以包括一个或多个传感器102a以及一个或多个致动器102b。传感器102a和致动器102b表示可以执行各种各样的功能中的任何一种的过程系统中的组件。例如,传感器102a可以测量诸如温度、压强或流速之类的过程系统中的各种各样的特性。而且,致动器102b可以更改过程系统中的各种各样的特性。传感器102a和致动器102b可以表示任何合适的过程系统中的任何其它或附加的组件。传感器102a中的每一个包括用于测量过程系统中的一个或多个特性的任何合适的结构。致动器102b中的每一个包括用于影响过程系统中的一个或多个条件或对所述条件进行操作的任何合适的结构。

冗余网络104耦合到传感器102a和致动器102b。网络104促进与传感器102a和致动器102b的交互。例如,网络104可以从传感器102a输送测量数据,并且向致动器102b提供控制信号。网络104可以表示任何合适的冗余网络。作为特定示例,网络104可以表示冗余iec-61850、iec-62439、以太网/ip(eip)或modbus/tcp网络。网络104可以具有诸如并行或环形拓扑之类的任何合适的配置。

在普渡模型中,“层级1”包括一个或多个控制器106,所述一个或多个控制器106耦合到网络104。除其它事物之外,每一个控制器106可以使用来自一个或多个传感器102a的测量结果以控制一个或多个致动器102b的操作。每一个控制器106包括用于控制过程系统的一个或多个方面的任何合适的结构。作为特定示例,每一个控制器106可以表示运行实时操作系统的计算设备。

冗余网络108耦合到控制器106。网络108促进与控制器106的交互(诸如通过输送去往/来自控制器106的数据)。网络108可以表示任何合适的冗余网络。作为特定示例,网络108可以表示以太网网络对或以太网网络的冗余对。

至少一个交换机/防火墙110将网络108耦合到两个网络112。交换机/防火墙110可以从一个网络向另一个输送业务。交换机/防火墙110还可以阻止一个网络上的业务到达另一网络。交换机/防火墙110包括用于提供网络之间的通信的任何合适的结构。网络112可以表示诸如以太网网络对之类的任何合适的网络。

在普渡模型中,“层级2”可以包括耦合到网络112的一个或多个机器级控制器114。机器级控制器114执行各种功能以支持控制器106、传感器102a和致动器102b的操作和控制,控制器106、传感器102a和致动器102b可以与工业装备(诸如锅炉或其它机器)的特定部件(piece)相关联。例如,机器级控制器114可以记录由控制器106收集或生成的信息,诸如来自传感器102a的测量数据或用于致动器102b的控制信号。机器级控制器114还可以执行控制控制器106的操作的应用,从而控制致动器102b的操作。此外,机器级控制器114可以提供对控制器106的安全访问。机器级控制器114中的每一个包括用于提供对机器或装备的其它单独部件的访问、机器或装备的其它单独部件的控制或与机器或装备的其它单独部件有关的操作的任何合适的结构。机器级控制器114中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的服务器计算设备。尽管未示出,但是不同的机器级控制器114可以用于控制过程系统中的装备的不同部件(其中装备的每一个部件与一个或多个控制器106、传感器102a和致动器102b相关联)。

一个或多个操作员站116耦合到网络112。操作员站116表示提供对机器级控制器114的用户访问的计算或通信设备,机器级控制器114然后可以提供对控制器106(以及可能地,传感器102a和致动器102b)的用户访问。作为特定示例,操作员站116可以允许用户使用由控制器106和/或机器级控制器114所收集的信息来审阅传感器102a和致动器102b的操作历史。操作员站116还可以允许用户调节传感器102a、致动器102b、控制器106或机器级控制器114的操作。此外,操作员站116可以接收和显示由控制器106或机器级控制器114生成的警告、警报或其它消息或显示。操作员站116中的每一个包括用于支持系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站116中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的计算设备。

至少一个路由器/防火墙118将网络112耦合到两个网络120。路由器/防火墙118包括用于提供网络之间的通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络120可以表示诸如以太网网络对或fte网络之类的任何合适的网络。

在普渡模型中,“层级3”可以包括耦合到网络120的一个或多个单元级控制器122。每一个单元级控制器122典型地与过程系统中的单元相关联,所述过程系统中的单元表示一起操作以实现过程的至少一部分的不同机器的集合。单元级控制器122执行各种功能以支持较低层级中的组件的操作和控制。例如,单元级控制器122可以记录由较低层级中的组件收集或生成的信息,执行控制较低层级中的组件的应用,以及提供对较低层级中的组件的安全访问。单元级控制器122中的每一个包括用于提供对一个或多个机器或过程单元中的装备的其它部件的访问、一个或多个机器或过程单元中的装备的其它部件的控制或与一个或多个机器或过程单元中的装备的其它部件有关的操作的任何合适的结构。单元级控制器122中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的服务器计算设备。尽管未示出,但是不同的单元级控制器122可以用于控制过程系统中的不同的单元(其中每一个单元与一个或多个机器级控制器114、控制器106、传感器102a和致动器102b相关联)。

可以通过一个或多个操作员站124提供对单元级控制器122的访问。操作员站124中的每一个包括用于支持系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站124中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的计算设备。

至少一个路由器/防火墙126将网络120耦合到两个网络128。路由器/防火墙126包括用于提供网络之间的通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络128可以表示诸如以太网网络对或fte网络之类的任何合适的网络。

在普渡模型中,“层级4”可以包括耦合到网络128的一个或多个工厂级控制器130。每一个工厂级控制器130典型地与工厂101a-101n之一相关联,所述工厂101a-101n可以包括实现相同的、相似的或不同的过程的一个或多个过程单元。工厂级控制器130执行各种功能以支持较低层级中的组件的操作和控制。作为特定示例,工厂级控制器130可以执行一个或多个制造执行系统(mes)应用、调度应用或其它或附加的工厂或过程控制应用。工厂级控制器130中的每一个包括用于提供对过程工厂中的一个或多个过程单元的访问、过程工厂中的一个或多个过程单元的控制或与过程工厂中的一个或多个过程单元有关的操作的任何合适的结构。工厂级控制器130中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的服务器计算设备。

可以通过一个或多个操作员站132提供对工厂级控制器130的访问。操作员站132中的每一个包括用于支持系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站132中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的计算设备。

至少一个路由器/防火墙134将网络128耦合到一个或多个网络136。路由器/防火墙134包括用于提供网络之间的通信的任何合适的结构,诸如安全路由器或组合路由器/防火墙。网络136可以表示诸如企业范围的以太网或其它网络或更大网络(诸如因特网)的全部或一部分之类的任何合适的网络。

在普渡模型中,“层级5”可以包括耦合到网络136的一个或多个企业级控制器138。每一个企业级控制器138典型地能够执行用于多个工厂101a-101n的计划操作,并且控制工厂101a-101n的各种方面。企业级控制器138还可以执行各种功能以支持工厂101a-101n中的组件的操作和控制。作为特定示例,企业级控制器138可以执行一个或多个订单处理应用、企业资源计划(erp)应用、高级计划和调度(aps)应用或任何其它或附加的企业控制应用。企业级控制器138中的每一个包括用于提供对一个或多个工厂的访问、一个或多个工厂的控制或者与所述一个或多个工厂的控制有关的操作的任何合适的结构。企业级控制器138中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的服务器计算设备。在本文档中,术语“企业”是指具有要管理的一个或多个工厂或者其它处理机构的组织。要指出的是,如果要管理单个工厂101a,则可以将企业级控制器138的功能合并到工厂级控制器130中。

可以通过一个或多个操作员站140提供对企业级控制器138的访问。操作员站140中的每一个包括用于支持系统100中的一个或多个组件的用户访问和控制的任何合适的结构。操作员站140中的每一个可以例如表示运行任何操作系统(诸如microsoftwindows、linux或其它操作系统)的计算设备。

在该示例中,历史记录器(historian)142也耦合到网络136。历史记录器142可以表示存储关于系统100的各种信息的组件。历史记录器142可以例如存储在生产调度和优化期间使用的信息。历史记录器142表示用于存储和促进信息的检索的任何合适的结构。尽管被示出为耦合到网络136的单个集中式组件,但是历史记录器142可以位于系统100中的其它地方,或者多个历史记录器可以分布在系统100中的不同位置中。

如以上所描述的,应用工程通常涉及构建控制策略和显示屏幕。控制策略可以由各种控制器106、114、122、130、138使用以便调节或控制一个或多个工业过程。显示屏幕可以由各种操作员站116、124、132、140使用以向人类操作员呈现信息并从人类操作员接收信息。同样如以上所指出的,应用工程通常可以消耗针对任何给定项目的资源中的大部分。对此的部分原因是通常在控制策略和显示屏幕中使用标准或非标准的过程和仪表图(p&id)。这些图是管道、控制、仪表、安全或操作信息的图片表示,并且典型地包括大量的应用工程元素。应用工程元素可以用于为人类操作员提供控制策略和显示屏幕的一致视图。国际自动化学会(isa)标准很大程度上标准化了应用工程元素以及过程和仪表图。然而,应用工程元素以及过程和仪表图创建起来可能要求大量的工程努力。

依照本公开,提供了至少一个工具144以用于将图转换成应用工程元素。以下描述由工具144用于将图转换成应用工程元素的过程。可以按任何合适的方式在系统100中实现工具144。在该示例中,工具144的不同实例可以由操作员站执行或以其它方式提供,不过工具144可以按其它方式被执行或以其它方式实现。例如,工具144可以由中央服务器执行或经由基于网络或云的服务提供。工具144包括用于将图转换成应用工程元素的任何合适的结构。作为特定示例,工具144可以包括由计算设备执行的一个或多个软件例程。

尽管图1图示了工业过程控制和自动化系统100的一个示例,但是可以对图1做出各种改变。例如,工业控制和自动化系统以各种各样的配置出现。图1中所示的系统100意在说明一个示例操作环境,其中图可以被转换成应用工程元素。然而,图1并不将本公开限制于任何特定的配置或操作环境。而且,本专利文档中所描述的应用工程元素可以用于各种目的(包括控制策略或显示屏幕),并且可以或可以不与人类操作员一起使用。

图2图示了根据本公开的用于将图转换成应用工程元素的示例设备200。设备200可以例如表示用于再现至少一个应用工程元素的图1的系统100中的任何合适的计算设备。然而,设备200还可以表示附加的设备,诸如可以执行与系统100结合使用的某组指令的台式机、膝上型电脑或服务器计算机或其它设备。

如图2中所示,设备200包括总线系统202,所述总线系统202支持至少一个处理设备204、至少一个存储设备206、至少一个通信单元208和至少一个输入/输出(i/o)单元210之间的通信。处理设备204执行可以被加载到存储器212中的指令。处理设备204可以按任何合适的布置包括任何合适数目和类型的处理器或者其它设备。处理设备204的示例类型包括微处理器、微控制器、数字信号处理器、现场可编程门阵列、专用集成电路和分立电路。

存储器212和持久性储存214是存储设备206的示例,该存储设备206表示能够存储和促进信息(诸如在临时或永久的基础上的数据、程序代码和/或其它合适的信息)的检索的任何(多个)结构。存储器212可以表示随机存取存储器或任何其它合适的(多个)易失性或非易失性存储设备。持久性储存214可以包含支持数据的较长期存储的一个或多个组件或设备,诸如只读存储器、硬盘驱动器、闪速存储器或光盘。

通信单元208支持与其它系统或设备的通信。例如,通信单元208可以包括促进通过至少一个以太网网络的通信的网络接口卡。通信单元208还可以包括促进通过至少一个无线网络的通信的无线收发器。通信单元208可以支持通过任何合适的(多个)物理或无线通信链路的通信。

i/o单元210允许数据的输入和输出。例如,i/o单元210可以提供用于通过键盘、鼠标、小键盘、触摸屏或其它合适的输入设备的用户输入的连接。i/o单元210还可以向显示器、打印机或其它合适的输出设备发送输出。作为特定示例,i/o单元210可以用于从扫描仪216接收信息(诸如经扫描的图像),并且将信息存储在数据库218中并且从数据库218接收信息。

在此示出的设备200可以用于实现以上描述的工具144。因此,设备200可以使用以下描述的技术从标准或非标准图再现应用工程元素。在一些实施例中,设备200可以执行加载到存储器212中并由处理器204执行的一个或多个软件例程。

尽管图2图示了用于将图转换成应用工程元素的设备200的一个示例,但是可以对图2做出各种改变。例如,图2中的各种组件可以被组合、进一步细分或省略,并且可以根据特定需要添加附加的组件。而且,计算设备可以按各种各样的配置出现,并且图2不将本公开限制于计算设备的任何特定配置。

图3图示了根据本公开的用于将图转换成应用工程元素的示例过程300。为了便于解释,关于使用设备200实现的工具144来描述过程300。然而,过程300可以由任何其它合适的工具、设备或系统使用。

如图3中所示,在步骤302处获取图的图像。这可以包括,例如,人员使用扫描仪216来捕获物理图的一个或多个数字图像并且向工具144标识(多个)数字图像。工具144然后可以可选地将(多个)数字图像转换成适合于进一步处理的格式。这还可以包括,人员标识定义图的一个或多个数字文件而不要求图的任何物理副本的使用。数字文件可以包括jpeg、png或其它的图像;pdf或pptx文档;或其它类型的文件。工具144然后可以可选地将(多个)数字文件转换成适合于进一步处理的格式。

在步骤304处确定该图表示图的标准还是非标准类型。这可以包括,例如,工具144确定该图是否仅包含标准元素或者该图是否包含任何非标准元素。在一些实施例中,图可以包含在适用的isa标准中定义的元素和/或非标准的元素,并且可以在图上的图例中定义该元素。因此,该步骤可以包括,工具144定位图中的图例(自动地或利用用户干预)并且确定图例是否标识任何非标准的元素。在其它实施例中,工具144可以询问用户该图是以标准isa符号格式还是自定义格式。还可以让用户标识自定义/非标准图的图例区域并且可以标识和存储图例的坐标,或者工具144可以自动地标识图例而没有用户干预。

如果图是非标准图,则在步骤306处,在“记忆”阶段期间发生处理。在记忆阶段期间,工具144尝试知悉在图中使用什么元素并且将那些元素转换成应用工程元素。在该阶段期间,图中的元素可以被转换成对比较和数据库存储更有用的图案。例如,可以通过移除填充颜色和文本以及通过细化元素的线条来修改图中的元素。以下提供关于该阶段的附加细节。

在针对非标准图的记忆阶段之后或者如果图是标准图,则在步骤308处,在“识别”阶段期间发生处理。在该阶段期间,工具144对照数据库218中的图案比较图的元素以识别匹配。数据库218中的图案定义应用工程元素。在一些实施例中,图中的元素被隔离和修改以与存储在数据库218的图案相当。再次,可以通过移除填充颜色和文本以及通过细化元素的线条来修改图的元素。与图案的比较可以包括比较线条长度、线条方向、文本数据、连接或者可以帮助将图元素匹配于存储在数据库218中的图案的任何其它特性。以下提供关于该阶段的附加细节。

一旦图元素已经被识别为匹配图案,则在步骤310处生成并使用元文件。元文件描述包含在图中的元素,诸如它们的位置和邻居工程元素。将基于具有存储在数据库218中的对应应用工程元素的每一个元素来形成元文件。可以按任何合适的方式使用元文件(诸如通过将元文件导入到再现图的视觉表示的可视化软件程序中)。作为特定示例,可以将元文件导入到用于构建控制策略的任何过程控制构建器应用中或者导入到用于构建显示屏幕的人机接口(hmi)应用中。元文件可以指代任何合适类型的文件。例如,可以按诸如xml或html之类的标记语言来格式化元文件。还可以按允许容易导入的任何方式(诸如csv、json或xlsx文件)格式化元文件。

在一些实施例中,每一个匹配的图元素对应于元文件中的文本串。文本串可以包含关于图元素的信息,诸如元素的类型、元素的坐标或来自元素的文本。一旦所有的图元素都已被识别,并且其相应的文本串已经被插入到元文件中,就可以导入元文件,或者当每一个图元素被识别并且文本串被插入到元文件中时,可以导入元文件。

尽管图3图示了用于将图转换成应用工程元素的过程300的一个示例,但是可以对图3做出各种改变。例如,虽然被示出为一系列步骤,但是图3中的各种步骤可以重叠、并行地发生、以不同的顺序发生、或者发生任何次数。

图4a至4c图示了根据本公开的图3的示例过程300的更详细的部分。特别地,图4a更详细地图示了步骤306,图4b更详细地图示了步骤308,并且图4c更详细地图示了步骤310。而且,图5至13图示了根据本公开的在将图转换成应用工程元素期间执行的各种操作的示例。关于图4a至4c中的相关联的操作来描述图5至13。

如图4a中所示,在步骤402处分析图以标识所有元素。这可以包括,例如,工具144扫描图以标识由isa标准或图的图例中定义的所有元素。如以上所指出的,可以基于用户输入或自动地标识图例,并且扫描可以包括标识图例中的各种元素符号。图5图示了可以在该步骤期间标识的示例元素符号502。

在步骤404处,从每一个元素移除任何填充颜色。这可以包括,例如,工具144标识图元素的块或其它区段,并且移除那些区段中的填充颜色。这可以导致灰度或单色元素符号的创建。在图5中,元素符号502被示为具有由交叉影线表示的颜色。该步骤的结果可以导致如图6中所示的元素符号602的创建。

在步骤406处检测每一个元素中的任何文本数据,并且在步骤408处移除。这可以包括,例如,工具144使用光学字符识别(ocr)或其它文本检测技术检测与每一个图元素相关联的任何文本数据。这还可以包括,工具144使用任何合适的技术从图元素中移除文本数据,诸如更改像素数据或应用掩蔽层。在一些实施例中,当检测到图元素中的文本时,将文本转换成与数据库218中的图元素相关联的文本串。图7图示了通过识别和从元素符号602移除文本生成的示例元素符号702。

在步骤410处细化每一个元素中的线条。这可以包括,例如,工具144以任何合适的方式检测每一个已标识的元素中的线条(诸如通过使用像素比较方法或其它边缘检测方法或任何图像处理优化方法)。在一些实施例中,每个线条被细化成单像素宽度。图8图示了通过细化元素符号602中的线条所生成的示例元素符号802。

在步骤412处,检测每一个元素中的某些参考点。这可以包括,例如,工具144检测在哪里已标识的线条中的两条或更多条看起来相交。在一些实施例中,如果它们包括从线条偏移的某个数目的相邻像素(诸如三个或更多像素),则检测到相交。这还可以包括,工具144检测在哪里线条形成拐角,这可以在线条以剧烈的角度相交的地方被定义。可以使用任何合适的阈值来定义剧烈的角度,诸如至少45°。在一些实施例中,可以使用像素比较方法或启发式方法来检测感兴趣的区域。图9图示了具有标记物902的元素符号802,所述标记物902指示已标识的交叉和感兴趣的角度。这些被称为参考点。元素图的像素或某组像素可以被标识为参考点。如以下所描述的,这些参考点用于将元素图拆分成一组不相交的且无拐角的线条。

在步骤414处,检测通过移除每一个元素中的参考点处的像素所形成的线条。这可以包括,例如,工具144从每一个已标识的元素移除交叉和拐角处的像素。一旦已经移除交叉和拐角角度,就可以使用任何合适的线条检测方法来检测每个线条(诸如通过检测连续的像素走向(run))。图10图示了通过移除标记物902内的像素所形成的示例元素符号1002。然而,要指出的是,在不移除交叉和拐角的情况下也可以实现线条检测。

在步骤416处检测每一个元素的已标识线条中的像素的方向。这可以包括,例如,工具144标识已标识的交叉和角度处的已标识线条的方向。可以将所标识的方向插入到数据库218中。在一些实施例中,每一个方向可以被表示为对应于预定义的模板的数值。图11示出具有四个方向的示例模板1102。可以基于邻居像素对齐并且在模板的帮助下确定线条中的每一个像素方向。然而,要指出的是,可以使用任何其它合适的模板,并且可以针对方法优化和精度而修改模板。

在步骤418处,将每一个元素中的线条划分成多条子线,并且在步骤420处标识和连结子线的方向以形成针对每一个线条的主线条方向。这可以包括,例如,工具144将图元素的每一个线条分解成n条子线,其中n是固定的或基于任何合适的准则(诸如长度或精度)。可以按任何合适的方式检测每条子线的方向(诸如通过使用与在步骤416中所使用的相同的模板)。可以通过该子线中的大多数像素方向确定每条子线的方向。图12图示了示例数据结构1202,其中元素符号1002已经被分解成不相交且无拐角的线条,并且像素的方向已经被标识。针对线条的完整线条方向是线条的子线方向的连结,并且线条方向的长度基于该线条中的子线的数目。然而,要指出的是,为了得到更多精度和优化,可以修改该线条方向机制。

在步骤422处,使用该信息形成图形。这可以包括,例如,工具144创建节点、连接物或边缘、以及连接信息的图形。节点表示在步骤412中标识的参考点,连接物或边缘表示在步骤414中标识的线条,并且连接信息使用步骤420中标识的线条方向作为边缘权重。图形可以包含诸如节点的排序、连接物的方向和在将图元素匹配于图案中有用的其它信息之类的信息。图13图示了基于数据结构1202的示例图形1302。利用编号的圆圈标识参考点,并且利用数字标识连接物,所述数字标识形成连接物的线条的子线的主方向。

在步骤424处,在数据库中存储图形。这可以包括,例如,工具144在数据库218中存储图形信息连同所提取的文本。该信息定义在识别阶段期间可以使用的数据库中的应用工程元素之一。

如图4b中所示,识别阶段包括与记忆阶段相同的许多操作(步骤426-446)。这是因为记忆阶段被设计成创建用于存储在数据库218中的表示图元素的图形,而识别阶段被设计成创建用于与数据库218中的图形比较的表示图元素的图形。要指出的是,可以在处理非标准图时执行记忆阶段和识别阶段二者,但是当处理标准图时,仅可以执行识别阶段。对于非标准图,在记忆阶段和识别阶段中处理相同元素的程度上,识别阶段中的一些操作可以使用在记忆阶段期间获取的结果而发生。要指出的是,在识别阶段,可以分析完整的图以形成单个图形,或者可以针对多个图形分析每个单独的元素。具体实现方式可以基于数个因素(诸如期望的方法性能优化和期望的方法精度)而变化。

在步骤448处,在每一个图元素的图形与存储在数据库中的图形之间进行比较。这可以包括,例如,工具144比较步骤446中创建的图形与步骤422期间创建的图形中的一个或多个。工具144可以执行比较,以寻找精确匹配或近似匹配。可以使用搜索算法,该搜索算法比较步骤446中创建的图形与步骤422期间创建的多个图形,并且生成针对每个比较的分数。然后,可以将在步骤422期间创建的具有超过阈值的最高分数的图形视为最接近的匹配。

如图4c中所示,对于在识别阶段期间匹配于数据库中的图案之一的图元素的每一个图案(图形),在步骤405处将图案存储在元文件中。这可以包括,例如,工具144生成元文件中的匹配表。在一些实施例中,将图案本身存储在匹配表中。在其它实施例中,将图案的表示(诸如代码、散列或索引)存储在匹配表中。还可以存储关于图案的信息,诸如图案在图中的位置和图案在图中的取向。

可以按任何合适的方式使用元文件。例如,在步骤452处,可以基于元文件再现符号。这可以包括,例如,工具144或另一应用读取元文件并且基于元文件的内容创建应用工程元素。可以按任何合适的方式(诸如文本块或图形表示)再现符号。

在步骤454处,可以将任何不匹配的图形作为新图案存储在数据库中。例如,当尝试识别图元素之一时,工具144可以确定数据库218中没有图形具有超过阈值的分数。在该情况下,可以假设图元素是唯一的,并且其图形可以存储在数据库218中以供将来使用。

尽管图4a至4c图示了图3的过程300的一个示例的更详细的部分,但是可以对图4a至4c做出各种改变。例如,虽然被示为一系列步骤,但是每个附图中的各种步骤可以重叠、并行发生或发生任何次数。尽管图5至13图示了在将图转换成应用工程元素期间执行的各种操作的示例,但是可以对图5至13做出各种改变。例如,图5至13的内容可以仅仅意在说明图4a至4c中的步骤可以如何操作的一个示例。

图14至17图示了根据本公开的图向导入到不同应用中的元文件的示例转换。如图14中所示,待转换的图1402表示工业过程的部分。在此工业过程包括蒸汽加热器、阀门和多个控制器。

图15图示了在使用图1402执行过程300之后创建的示例元文件1502的一部分。元文件1502包括涉及图1402中所标识的不同“块”(元素)的多个区段1504。对于每一个元素,元文件1502标识由工具144指派的块的名称和如通过图案匹配所标识的块的类型。对于每一个元素,元文件1502还标识针对该元素所提取的任何文本和该元素在图中的位置。此外,对于每一个元素,元文件1502标识与该元素连接的其它元素。然而,要指出的是,元文件可以包括多得多的信息,并且不限于该示例中所示出的信息。

图16图示了使用元文件1502创建的用于显示屏幕的示例图形用户接口1602。图17图示了使用元文件1502创建的用于控制策略构建器的示例图形用户接口1702。如此处所示,可以取决于使用元文件1502的应用而以不同方式再现元文件1502。然而,不再要求人员在图形用户接口1602中创建再现和创建图形用户接口1702的分离再现。而是,元文件1502允许每一个应用自动地再现图1402的表示,而极少或没有用户输入。这可以大大简化针对特定项目所必需的应用工程量。

尽管图14至17图示了图向导入到不同应用中的元文件的转换的一个示例,但是可以对图14至17做出各种改变。例如,图14至17的内容仅仅意在说明可以如何分析图并将图导入到不同的应用中的一个示例。

在一些实施例中,以上描述的各种功能由计算机程序实现或支持,所述计算机程序由计算机可读程序代码形成并且体现在计算机可读介质中。短语“计算机可读程序代码”包括任何类型的计算机代码,包括源代码、目标代码和可执行代码。短语“计算机可读介质”包括能够被计算机访问的任何类型的介质,诸如只读存储器(rom)、随机存取存储器(ram)、硬盘驱动器、光盘(cd)、数字视频光盘(dvd)或任何其它类型的存储器。“非暂时性”计算机可读介质排除输送暂时性电气或其它信号的有线、无线、光学或其它通信链路。非暂时性计算机可读介质包括其中数据可以被永久存储的介质和其中数据可以被存储并且稍后被盖写的介质,诸如可重写光盘或可擦除存储器设备。

阐述贯穿本专利文档所使用的某些词语和短语的定义可以是有利的。术语“应用”和“程序”是指适配于合适的计算机代码(包括源代码、目标代码或可执行代码)中的实现的一个或多个计算机程序、软件组件、指令集、进程、函数、对象、类、实例、相关数据或其部分。术语“通信”及其派生词涵盖直接和间接的通信二者。术语“包括”和“包含”及其派生词意指包括而没有限制。术语“或”是包括性的,意味着和/或。短语“与……相关联”及其派生词可以意指包括、被包括在……内、与……互连、包含、被包含在……内、连接到或与……连接、耦合到或与……耦合、可与……通信、与……协作、交错、并列、接近于、绑定于或与……绑定、具有、具有……的性质、具有对……的关系或具有与……的关系等等。在与项目列表一起使用时,短语“至少一个”意指可以使用所列出的项目中的一个或多个的不同组合,并且可能仅需要列表中的一个项目。例如,“a、b和c中的至少一个”包括以下组合中的任一个:a、b、c、a和b、a和c、b和c以及a和b和c。

本申请中的描述不应被理解为暗示任何特定元素、步骤或功能是必须被包括在权利要求范围中的基本或关键的元素。专利主题的范围仅由所允许的权利要求限定。而且,除非在特定权利要求中明确使用确切的词语“用于……的部件”或“用于……的步骤”,随后是标识功能的分词短语,否则没有权利要求意图关于任何随附权利要求或权利要求元素而援引35u.s.c.§112(f)。诸如(但不限于)“机制”、“模块”、“设备”、“单元”、“组件”、“元素”,“构件”、“装置”,“机器”、“系统”、“处理器”或“控制器”之类的术语在权利要求内的使用被理解并且意图是指相关领域技术人员已知的结构,如通过权利要求本身的特征进一步修饰或增强的,并且不意图援引35usc§112(f)。

虽然本公开已经描述了某些实施例和一般相关联的方法,但是这些实施例和方法的更改和置换对于本领域技术人员将是明显的。因此,示例实施例的以上描述不限定或限制本公开。在不脱离由随附权利要求限定的本公开的精神和范围的情况下,其它改变、替换和更改也是可能的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1