[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN112579226B - 用户界面逻辑视图和执行视图导航和转换 - Google Patents

用户界面逻辑视图和执行视图导航和转换 Download PDF

Info

Publication number
CN112579226B
CN112579226B CN202010237604.3A CN202010237604A CN112579226B CN 112579226 B CN112579226 B CN 112579226B CN 202010237604 A CN202010237604 A CN 202010237604A CN 112579226 B CN112579226 B CN 112579226B
Authority
CN
China
Prior art keywords
panel
industrial
explorer
view
item
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.)
Active
Application number
CN202010237604.3A
Other languages
English (en)
Other versions
CN112579226A (zh
Inventor
马修·R·埃里克森
安德鲁·R·斯顿普
安东尼·卡拉拉
埃什沃·斯里尼瓦桑
克里斯托弗·W·科莫
沙伦·M·比利-杜兰
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.)
Rockwell Automation Technologies Inc
Original Assignee
Rockwell Automation Technologies Inc
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 Rockwell Automation Technologies Inc filed Critical Rockwell Automation Technologies Inc
Publication of CN112579226A publication Critical patent/CN112579226A/zh
Application granted granted Critical
Publication of CN112579226B publication Critical patent/CN112579226B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • 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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • G05B19/0426Programming the control sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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
    • G06F9/451Execution arrangements for user interfaces
    • 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/41885Total 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 modeling, simulation of the manufacturing system
    • 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/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及用户界面逻辑视图和执行视图导航和转换。工业集成开发环境(IDE)包括向用户提供对在给定时间呈现的编辑工具、工作空间画布和项目信息的大量控制的开发界面。工业IDE系统基于当前项目开发任务自动地过滤可用于选择的工具、面板和信息,使得与当前开发任务或背景相关的编辑工具的具有焦点的子集可用于选择,而其他工具则被隐藏。开发界面还使得用户能够从相关的、经过滤的工具的集合中选择性地呈现或隐藏所选择的工具或信息。这可以减少或消除不必要的混乱并且帮助快速且容易地定位并选择期望的编辑功能。IDE的开发界面还可以符合促进直观工作流的工作空间画布和面板的结构化组织。

Description

用户界面逻辑视图和执行视图导航和转换
技术领域
本发明涉及工业工业自动化系统,更具体地,涉及用户界面逻辑视图和执行视图导航和转换。
背景技术
本文公开的主题总体上涉及工业自动化系统,并且例如涉及工业编程开发平台。
发明内容
为了提供对本文所描述的一些方面的基本理解,下面展示了简化的概述。该概述不是广泛的综述,也不旨在标识关键/重要元素或描绘本文描述的各方面的范围。其唯一目的是以简化形式展现一些概念,作为稍后展示的更详细描述的序言。
在一个或更多个实施方式中,提供了一种用于开发工业应用的系统,其包括:用户接口部件,其被配置成呈现工业集成开发环境(IDE)开发界面并且经由与开发界面的交互来接收限定工业自动化项目的各方面的工业设计输入,其中,该开发界面包括:一个或更多个工作空间画布(canvas),其被配置成促进工业自动化项目的所选择的方面的开发,以及资源管理器面板,其促进工业自动化项目的元素的浏览;以及项目生成部件,其被配置成基于工业设计输入来生成系统项目数据,其中,资源管理器面板包括呈现在资源管理器视图控制栏上的资源管理器图标,所述资源管理器图标表示资源管理器面板支持的相应不同查看类别,并且对所述资源管理器图标中的资源管理器图标的选择使得与资源管理器图标的查看类别相关联的可浏览项目内容呈现在资源管理器面板中。
此外,一个或更多个实施方式提供了一种用于浏览工业自动化项目的内容的方法,包括:由包括处理器的工业集成开发环境(IDE)系统在客户端设备上显示开发界面,其中,该显示包括:显示相应开发任务在其上执行的一个或更多个工作空间画布,以及显示促进对工业自动化项目的元素的资源管理的资源管理器面板,其中,显示资源管理器面板包括在资源管理器面板上呈现包括表示资源管理器面板支持的相应不同查看类别的资源管理器图标的资源管理器视图控制栏;由工业IDE系统接收对所述资源管理器图标中的资源管理器图标的选择;以及响应于所述接收,由工业IDE系统在资源管理器面板上显示与资源管理器图标的查看类别相关联的可浏览项目元素。
此外,根据一个或更多个实施方式,提供一种其上存储有指令的非暂态计算机可读介质,所述指令响应于执行而使工业集成开发环境(IDE)系统执行操作,所述操作包括在客户端设备上呈现开发界面,其中,该呈现包括:呈现相应开发任务在其上执行的一个或更多个工作空间画布,以及呈现促进工业自动化项目的部件的浏览的资源管理器面板,其中,呈现资源管理器面板包括在资源管理器面板上呈现包括表示资源管理器面板支持的相应不同查看类别的资源管理器图标的资源管理器控制栏;接收对所述资源管理器图标中的资源管理器图标的选择;以及响应于所述接收,在资源管理器面板上显示与资源管理器图标的查看类别相关联的可浏览项目部件。
为了实现前述目的和相关目的,本文结合下面的描述和附图描述了某些说明性方面。这些方面指示可以被实践的各种方式,所有这些方式都旨在被涵盖在本文中。当结合附图考虑时,其他优点和新颖特征将根据下面的详细描述变得明显。
附图说明
图1是示例工业控制环境的框图。
图2是示例集成开发环境(IDE)系统的框图。
图3是示出工业IDE系统的通用架构的图。
图4是示出可以由IDE系统结合构建、部署和执行系统项目来利用的若干示例自动化对象特性的图。
图5是示出与使用工业IDE系统创建用于正被设计的自动化系统的系统项目相关联的示例数据流的图。
图6是示出将自动化对象合并至项目模型中的示例系统项目的图。
图7是示出对系统项目进行调试的图。
图8是示出其中使用基于云的IDE服务来开发工业应用并将工业应用部署至工厂环境的示例架构的图。
图9是可以由工业IDE系统的用户接口部件的一个或更多个实施方式呈现的示例开发界面。
图10a是示出面板可见性图标的示例组织的全局面板控制栏的近视图。
图10b是可以响应于对工业IDE系统的菜单栏中的视图选项的选择而呈现为下拉菜单的示例视图菜单。
图11a是描绘被钉住在右侧全局面板区域中的属性面板的开发界面的右上角的视图。
图11b是描绘选择在线面板作为右侧全局面板区域中的覆盖面板的开发界面的右上角的视图。
图11c是描绘同时可见的两个钉住的面板的开发界面的右上角的视图。
图11d是其中工具箱面板被呈现为在属性面板之上的覆盖的开发界面的右上角的视图。
图11e是其中工具箱面板被切换为钉住的面板的开发界面的右上角的视图。
图12是描绘用于右侧全局面板区域的面板放下区域的开发界面的右上角的视图。
图13a是处于默认非折叠状态的两个水平堆叠的钉住的面板的视图。
图13b是其中下面板处于折叠状态的两个水平堆叠的钉住的面板的视图。
图13c是其中上面板处于折叠状态的两个水平堆叠的钉住的面板的视图。
图14是工业IDE开发界面的画布区域内的示例画布的视图。
图15是其中两个画布水平堆叠的工业开发界面的视图。
图16a是其中选择了一个选项卡(tab)以使相应梯形逻辑画布呈现在画布区域中的两个带有选项卡的开发界面的视图。
图16b是其中选择了一个选项卡以使相应标签数据库画布呈现在画布区域中的两个带有选项卡的开发界面的视图。
图17a是其中打开了单个画布并且没有调用左侧面板、右侧面板或底部面板的开发界面的视图。
图17b是其中资源管理器面板已在左侧全局面板区域中被呈现为可见并且属性面板已被呈现在右侧全局面板区域中的开发界面的视图。
图17c是其中层面板已被添加至先前视图的开发界面的视图。
图17d是其中添加了与先前存在的画布水平堆叠的第二画布的开发界面的视图。
图17e是其中与两个先前画布和竖直堆叠的第三画布被添加至先前视图的开发界面的视图。
图18是当被调用时驻留在开发界面的左侧全局面板区域中的资源管理器面板的视图。
图19a是其中当前选择了逻辑系统视图的资源管理器面板的视图。
图19b是其中当前选择了执行系统视图的资源管理器面板的视图。
图20是描绘用于示例自动化系统项目的系统导航树的示例资源管理器面板。
图21a示出了当用户选择但未启动表示系统项目的梯形逻辑程序的梯形逻辑节点时工业IDE开发界面的示例响应。
图21b示出了当用户启动梯形逻辑节点2002时工业IDE开发界面的示例响应。
图21c示出了当用户在梯形逻辑节点上右击时工业IDE开发界面的示例响应。
图22a是其中当前选择了应用视图和控制器选项卡的资源管理器面板的视图。
图22b是其中当前选择了应用视图和HMI选项卡的资源管理器面板的视图。
图23是响应于对结构化文本应用节点的选择而在其上呈现示例结构文本的部分的工业IDE工作空间画布的视图。
图24是响应于对功能框图应用节点的选择而在其上呈现示例功能框图程序的部分的工业IDE工作空间画布的视图。
图25是其中当前选择了设备视图的资源管理器面板的视图。
图26是响应于对控制器节点的选择而在其上呈现用于示例控制器的信息的工业IDE工作空间画布的视图。
图27是其中当前选择了库视图的资源管理器面板的视图。
图28是其中当前选择了扩展视图的资源管理器面板的视图。
图29a是分布在两个显示设备上的工业IDE开发界面的左侧实例。
图29b是分布在两个显示设备上的工业IDE开发界面的右侧实例。
图30是示例可用选项卡菜单。
图31a是根据适用于其中没有宽度限制的情景的第一布局模式呈现的工业IDE开发界面。
图31b是根据当可用屏幕宽度低于第一阈值宽度时调用的第二布局模式呈现的工业IDE开发界面。
图31c是根据当可用的屏幕宽度低于比第一阈值宽度小的第二阈值宽度时可以启动的第三布局模式呈现的工业IDE开发界面。
图32a是用于在工业IDE系统的开发界面上自定义面板可见性和布局的示例方法学的第一部分的流程图。
图32b是用于在工业IDE系统的开发界面上自定义面板可见性和布局的示例方法学的第二部分的流程图。
图32c是用于在工业IDE系统的开发界面上自定义面板可见性和布局的示例方法学的第三部分的流程图。
图33a是用于经由与工业IDE开发界面的交互来浏览并呈现工业自动化项目的各方面的示例方法学的第一部分的流程图。
图33b是用于经由与工业IDE开发界面的交互来浏览并呈现工业自动化项目的各方面的示例方法学的第二部分的流程图。
图34a是用于操纵工业IDE开发界面内的工作空间画布的示例方法学的第一部分的流程图。
图34b是用于操纵工业IDE开发界面内的工作空间画布的示例方法学的第二部分的流程图。
图34c是用于操纵工业IDE开发界面内的工作空间画布的示例方法学的第三部分的流程图。
图35a是用于基于用户正在执行的当前开发任务通过工业IDE开发界面自动管理可用项目编辑工具的集合的示例方法学的第一部分的流程图。
图35b是用于基于用户正在执行的当前开发任务通过工业IDE开发界面自动管理可用项目编辑工具的集合的示例方法学的第二部分的流程图。
图36是示例计算环境。
图37是示例联网环境。
具体实施方式
现在参照附图描述本公开内容,其中相同的附图标记始终用于表示相同的元素。在下面的描述中,出于说明的目的,阐述了许多具体细节以提供对本公开内容的透彻理解。然而,显然,可以在没有这些具体细节的情况下实践本公开内容。在其他实例中,以框图形式示出了公知的结构和设备以便于对其进行描述。
如本申请中所使用的,术语“部件”、“系统”、“平台”、“层”、“控制器”、“终端”、“站”、“节点”、“接口”旨在指代计算机相关实体或者与具有一个或更多个特定功能的操作装置相关的实体或者作为具有一个或更多个特定功能的操作装置的一部分的实体,其中这样的实体可以是硬件、硬件和软件的组合、软件或者执行中的软件。例如,部件可以是但不限于是在处理器上运行的进程、处理器、硬盘驱动器、包括固定的(例如,用螺钉或螺栓固定的)或可移除的固定固态存储驱动器的(光存储介质或磁存储介质的)多个存储驱动器;对象;可执行文件;执行线程;计算机可执行程序和/或计算机。作为说明,服务器和在服务器上运行的应用都可以是部件。一个或更多个部件可以驻留在执行的进程和/或线程内,并且部件可以位于一个计算机上和/或分布在两个或更多计算机之间。此外,本文所述的部件可以从其上存储有各种数据结构的各种计算机可读存储介质执行。这些部件可以例如根据具有一个或更多个数据包的信号(例如,来自与本地系统、分布式系统中的另一部件进行交互和/或通过诸如因特网之类的网络经由该信号与其他系统进行交互的一个部件的数据)经由本地和/或远程进程进行通信。作为另一示例,部件可以是具有由电气电路或电子电路操作的机械部件提供的特定功能的装置,该电气电路或电子电路由处理器执行的软件或固件应用来操作,其中处理器可以在该装置的内部或外部并且执行软件或固件应用的至少一部分。作为另一示例,部件可以是通过电子部件而不是机械部件来提供特定功能的装置,电子部件中可以包括处理器以执行至少部分地提供电子部件的功能的软件或固件。作为另一示例,接口可以包括输入/输出(I/O)部件以及相关联的处理器、应用或应用编程接口(API)部件。虽然前述示例针对部件的各方面,但是所例示的方面或特征也适用于系统、平台、接口、层、控制器、终端等。
如本文所使用的,术语“推出”和“推断”通常是指从经由事件和/或数据捕获的观察结果的集合中推出或推断系统、环境和/或用户的状态的过程。例如,推断可以被应用于识别特定的环境或动作,或者可以生成状态的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑来计算感兴趣的状态的概率分布。推断也可以指用于根据事件和/或数据的集合构造更高级事件的技术。这种推断致使根据观察到的事件和/或存储的事件数据的集合构造新的事件或动作,而不管事件是否在时间上紧密相关,以及事件和数据是否来自一个或若干个事件和数据源。
此外,术语“或”旨在表示包含性的“或”而不是排他性的“或”。也就是说,除非另外指定,或者根据上下文中而清楚,语句“X采用A或B”旨在表示任何自然的包含性排列。也就是说,语句“X采用A或B”满足于以下任何情况:X采用A;X采用B;或者X采用A和B两者。此外,除非另外指定或根据上下文而清楚指向单数形式,否则本申请和所附权利要求中使用的冠词“一”和“一个”通常应当被解释为表示“一个或更多个”。
此外,如本文所使用的术语“集合”排除空集合,例如其中没有元素的集合。因此,本公开内容中的“集合”包括一个或更多个元素或实体。作为说明,控制器的集合包括一个或更多个控制器;数据资源的集合包括一个或更多个数据资源等。同样,如本文所用的术语“组”是指一个或更多个实体的集合,例如,一组节点是指一个或更多个节点。
将根据可以包括多个设备、部件、模块等的系统来展示各个方面或特征。应当理解和意识到,各种系统可以包括附加的设备、部件、模块等,以及/或者可以不包括结合附图讨论的所有设备、部件、模块等。也可以使用这些方法的组合。
图1是示例工业控制环境100的框图。在该示例中,在整个工业工厂环境中部署了多个工业控制器118以监测和控制相应的工业系统或与产品制造、加工、运动控制、批处理、材料处理或其他这样的工业功能有关的过程。工业控制器118通常执行相应的控制程序以便于对构成受控工业资产或系统的工业设备120(例如,工业机器)进行监测和控制。一个或更多个工业控制器118还可以包括在个人计算机或其他硬件平台上或者在云平台上执行的软控制器。一些混合设备还可以将控制器功能与其他功能(例如,可视化)组合。由工业控制器118执行的控制程序可以包括能够处理从工业设备120读取的输入信号并且控制由工业控制器118生成的输出信号包括但不限于梯形逻辑、顺序功能图、功能框图或结构化文本的基本上任何类型的代码。
工业设备120可以包括向工业控制器118提供与受控工业系统有关的数据的输入设备和响应于由工业控制器118生成的控制信号以控制工业系统的各方面的输出设备两者。示例输入设备可以包括遥测设备(例如,温度传感器、流量计、物位传感器、压力传感器等)、手动操作者控制设备(例如,按钮、选择器开关等)、安全监测设备(例如,安全垫、安全拉绳、光幕等)和其他这样的设备。输出设备可以包括马达驱动器、气动致动器、信令设备、机器人控制输入、阀、泵等。
工业控制器118可以通过硬连线或联网连接与工业设备120通信地连接。例如,工业控制器118可以配备有与工业设备120通信的本地硬连线输入和输出以实现对设备的控制。本地控制器I/O可以包括向现场设备发送离散电压信号和从现场设备接收离散电压信号的数字I/O或者向设备发送模拟电压或电流信号和从设备接收模拟电压或电流信号的模拟I/O。控制器I/O可以通过背板与控制器的处理器通信,使得数字信号和模拟信号可以被读入并由控制程序控制。工业控制器118还可以使用例如通信模块或集成联网端口通过网络与工业设备120通信。示例性网络可以包括因特网、内联网、以太网、DeviceNet、ControlNet、数据高速公路和数据高速公路加(DH/DH+)、远程I/O、现场总线、Modbus、Profibus、无线网络、串行协议等。工业控制器118还可以存储可以被其相关联的控制程序参考并且用于控制决策的持久数据值,包括但不限于表示受控机器或过程的操作状态(例如,罐水平、位置、警报等)的测量的或计算的值,或者在自动化系统的操作期间收集的捕获的时间序列数据(例如,多个时间点的状态信息、诊断事件等)。类似地,一些智能设备——包括但不限于马达驱动器、仪器或状态监测模块——可以存储用于控制和/或使操作状态可视化的数据值。这样的设备还可以在日志上捕获时间序列数据或事件以供稍后检索和查看。
工业自动化系统通常包括一个或更多个人机接口(HMI)114,使得工厂人员能够查看与自动化系统相关联的遥测和状态数据并且能够控制系统操作的一些方面。HMI 114可以通过工厂网络116与工业控制器118中的一个或更多个进行通信,并且与工业控制器交换数据以便于在一个或更多个预先开发的操作者接口屏幕上对与受控工业过程有关的信息进行可视化。HMI 114还可以被配置成使得操作者能够将数据提交至工业控制器118的指定数据标签或存储器地址,从而为操作者提供向受控系统发出命令(例如,循环启动命令、设备致动命令等)以修改设定点值等的手段。HMI 114可以生成一个或更多个显示画面,操作者通过该显示画面与工业控制器118交互,并且从而与受控过程和/或系统交互。示例显示画面可以使用显示计量的或计算的值的过程的图形表示来可视化工业系统或其相关联的设备的当前状态,采用基于状态的颜色或位置动画,呈现警报通知,或采用其他这样的技术以用于向操作者展示相关数据。以这种方式展示的数据由HMI 114从工业控制器118读取并且根据由HMI开发者选择的显示格式展现显示画面中的一个或更多个。HMI可以包括具有用户安装的或预先安装的操作系统以及用户安装的或预先安装的图形应用软件的固定位置或移动设备。
一些工业环境还可以包括与受控工业系统的特定方面相关的其他系统或设备。这些可以包括例如聚合并存储从工业控制器118或其他数据源收集的生产信息的数据历史记录装置110、包含用于构成受控工业系统的各种工业设备的电子文档的设备文档存储、库存跟踪系统、工作订单管理系统、用于机器或过程制图和文档的储存库、供应商产品文档存储、供应商知识库、内部知识库、工作调度应用或其他这样的系统,它们中的一些或全部可以驻留在工业环境的办公网络108上。
高级系统126可以执行与工厂现场的工业自动化系统的控制不太直接相关并且替代地涉及长期规划、高级监督控制、分析、报告或其他这样的高级功能的功能。这些系统126可以驻留在相对于工厂设施的外部位置处的办公网络108上,或者驻留在可以访问办公网络和/或工厂网络的云平台上。高级系统126可以包括但不限于云存储和分析系统、大数据分析系统、制造执行系统、数据湖、报告系统等。在一些情景下,在企业的这些更高级运行的应用可以被配置成分析控制系统操作数据,并且该分析的结果可以被反馈至控制系统处的操作者或者直接反馈至控制系统中的控制器118或设备120。
构成工业环境的各种控制、监测和分析设备必须使用特定于每个设备的相应配置应用来编程或配置。例如,工业控制器118通常使用诸如(例如,在客户端设备124上执行的)梯形逻辑编辑器的控制编程开发应用来配置和编程。使用这样的开发平台,设计者可以编写用于执行期望的工业序列或过程的控制编程(例如,梯形逻辑、结构化文本、功能框图等)并且将得到的程序文件下载至控制器118。单独地,开发者使用(例如,在客户端设备122上执行的)HMI开发平台为HMI 114设计可视化画面和相关联的导航结构并且将得到的可视化文件下载至HMI 114。一些工业设备120——例如马达驱动器、遥测设备、安全输入设备等——也可能需要使用特定于将被配置的设备的(例如,在客户端设备128上执行的)单独的设备配置工具进行配置。这样的设备配置工具可以用于设置设备参数或操作模式(例如,高/低限制、输出信号格式、比例因子、能耗模式等)。
需要使用单独的配置工具来对工业自动化系统的不同方面进行编程和配置造成了碎片化的设计方法,由此在不同的开发环境上单独地设计、配置和编程自动化系统的不同但相关或交叠的方面。例如,运动控制系统可能需要使用控制逻辑编程平台对工业控制器进行编程并且对控制回路进行调谐,使用另一配置平台对马达驱动器进行配置,以及使用可视化开发平台对相关联的HMI进行编程。相关的外围系统——例如视觉系统、安全系统等——可能也需要使用单独的编程或开发应用进行配置。
这种分离的开发方法也可能需要相当多的测试和调试工作以确保单独配置的系统方面的适当集成。在这点上,由于未能适当地协调不同的编程工作,不同系统方面之间的预期数据接口或协调动作可能需要大量调试。
工业开发平台还在提供给用户以促进编程和配置的开发接口方面受到限制。这些界面通常提供要求用户使用相对固定的开发界面的集合来开发控制代码、可视化或其他控制系统方面的固定的用户体验。在许多开发情景中,显示在开发平台的界面上的编辑选项——例如,功能按钮或其他可选择的编辑控件、配置字段等——的数目超过开发者用于当前项目开发任务所需的数目,造成了不必要的混乱的开发工作空间并且致使难以定位期望的编辑选项。
为了解决这些或其他问题中的至少一些,本文描述的一个或更多个实施方式提供了用于使用通用设计环境和数据模型来设计、编程和配置工业自动化系统的多个方面的集成开发环境(IDE)。工业IDE的实施方式可用于以通用的方式配置和管理自动化系统设备,以促进控制系统的控制、可视化和其他方面的集成的、多学科编程。
在一些实施方式中,由IDE系统呈现的开发界面可以向用户提供对在给定时间呈现的编辑工具、工作空间画布和项目信息的大量控制。IDE系统还基于对用户正在进行的当前项目开发任务的确定来自动地过滤可供选择的工具、面板和信息,使得与当前开发任务相关的编辑工具的集中子集可供选择,而其他工具被隐藏。开发界面还允许用户从相关的、经过滤的工具的集合中选择性地呈现或隐藏所选择的工具或信息。该方法可以减少或消除不必要的混乱并且协助开发者快速且容易地定位和选择所期望的编辑功能。IDE的开发界面还可以符合促进直观工作流的工作空间画布和面板的结构化组织。
图2是根据本公开内容的一个或更多个实施方式的示例集成开发环境(IDE)系统202的框图。在本公开内容中说明的系统、装置或过程的各方面可以构成在机器内实施的机器可执行部件,例如在与一个或更多个机器相关联的一个或更多个计算机可读介质(或多个介质)中实施的机器可执行部件。这些部件在由一个或更多个机器例如计算机、计算设备、自动化设备、虚拟机等执行时可以使机器执行所描述的操作。
IDE系统202可以包括包含IDE编辑器224的用户接口部件204、项目生成部件206、项目部署部件208、一个或更多个处理器218以及存储器220。在各种实施方式中,用户接口部件204、项目生成部件206、项目部署部件208、一个或更多个处理器218以及存储器220中的一个或更多个可以彼此电耦接和/或通信地耦接以执行IDE系统202的功能中的一个或更多个。在一些实施方式中,部件204、206和208可以包括存储在存储器220上并由处理器218执行的软件指令。IDE系统202还可以与图2中未描绘的其他硬件部件和/或软件部件进行交互。例如,处理器218可以与一个或更多个外部用户接口设备例如键盘、鼠标、显示器监测器、触摸屏或其他这样的接口设备进行交互。
用户接口部件204可以被配置成接收用户输入和以任何合适的格式(例如,视觉、音频、触觉等)将输出呈现给用户。在一些实施方式中,用户接口部件204可以被配置成与在客户端设备(例如,膝上型计算机、平板计算机、智能电话等)上执行的IDE客户端通信地连接,该客户端设备(例如,经由硬连线或无线连接)通信地连接至IDE系统202。用户接口部件204然后可以经由IDE客户端接收用户输入数据和呈现输出数据。在其他实施方式中,用户接口部件314可以被配置成生成开发接口画面并将其提供给客户端设备(例如,程序开发画面),并且经由这些接口画面来交换数据。如将在本文中更详细地描述的,由用户接口部件204呈现的开发界面支持简化项目开发工作流、减少与过于混乱的开发工作空间相关联的压力并且帮助开发者更快且更容易地定位期望的编辑功能的多个用户体验特征。可以经由用户接口部件204的各种实施方式接收的输入数据可以包括但不限于编程代码、工业设计规范或目标、工程制图、AR/VR输入、DSL定义、视频或图像数据或其他这样的输入。由用户接口部件204的各种实施方式呈现的输出数据可以包括程序代码、编程反馈(例如,错误和突出显示、编码建议等)、编程和可视化开发画面等。
项目生成部件206可以被配置成基于经由用户接口部件204接收的设计输入以及工业知识、预定义代码模块和可视化和由IDE系统202维护的自动化对象222来创建包括一个或更多个项目文件的系统项目。项目部署部件208可以被配置成将由项目生成部件206创建的系统项目委派给适当的工业设备(例如,控制器、HMI终端、马达驱动器、AR/VR系统等)以供执行。为此,项目部署部件208可以识别系统项目的相应部分应当被发送至其以供执行的适当目标设备,将这些相应部分转化成目标设备可理解的格式,并且将转化后的项目部件部署至其对应设备。
一个或更多个处理器218可以执行本文中参照所公开的系统和/或方法描述的功能中的一个或更多个。存储器220可以是存储用于执行本文中参照所公开的系统和/或方法描述的功能的计算机可执行指令和/或信息的计算机可读存储介质。
图3是示出根据一个或更多个实施方式的工业IDE系统202的一般架构的图。工业IDE系统202可以实现不仅跨设计而且跨调试、操作和维护的服务和工作流的通用集合。在设计方面,IDE系统202不仅可以支持工业控制器编程和HMI开发,而且可以支持系统部件、设备/系统配置、AR/VR可视化和其他特征的尺寸设计和选择。IDE系统202还可以包括简化所得到的项目的调试并使所得到的项目的调试自动化并且在运行期间帮助部署的系统的后续管理的工具。
在云平台上实现的IDE系统202的实施方式还促进协作项目开发,由此多个开发者304向通用自动化系统项目302贡献设计和编程输入。IDE系统支持的协作工具可以管理来自多个贡献者的设计贡献并执行聚合系统项目302的版本控制以确保项目一致性。
基于来自一个或更多个开发者304的设计和编程输入,IDE系统202生成包括一个或更多个项目文件的系统项目302。系统项目302对以下中的一个或更多个进行编码:控制编程;HMI、AR和/或VR可视化;设备或子系统配置数据(例如,驱动参数、视觉系统配置、遥测设备参数、安全区域定义等)或者正在设计的工业自动化系统的其他这种方面。IDE系统202可以识别系统项目302的相应方面应当在其上执行的适当的目标设备306(例如,工业控制器、HMI终端、变频驱动器、安全设备等),将系统项目302转化成可以在相应目标设备上执行的可执行文件,并且将可执行文件部署至其对应的目标设备306以供执行,从而将系统项目302委派至工厂现场以实现自动化项目。
为了支持增强的开发能力,IDE系统202的一些实施方式可以建立在基于对象的数据模型上而不是基于标签的架构上。自动化对象222用作这样的基于对象的开发架构的构建块。图4是示出可以由IDE系统202结合构建、部署和执行系统项目302来利用的若干示例自动化对象特性的图。自动化对象222可以在设计期间被创建和扩充、可以被集成到较大数据模型中并且在运行期间使用。这些自动化对象222提供了跨IDE系统202的通用数据结构并且可以存储在对象库(例如,存储器220的一部分)中以供重复使用。对象库可以存储表示真实工业资产402的各种分类的预定义自动化对象222,包括但不限于泵、罐、阀、马达驱动器(例如,变频驱动器)、工业机器人、致动器(例如,气动或液压致动器)或其他这样的资产。自动化对象222可以表示工业企业的基本上任何级别的元素,包括单独的设备、由许多工业设备和部件(其中的一些可以与它们自己的自动化对象222相关联)组成的机器以及整个生产线或过程控制系统。
给定类型的工业资产的自动化对象222可以对诸如2D或3D可视化、警报、控制编码(例如,逻辑或其他类型的控制编程)、分析学、启动程序、测试协议、验证报告、模拟、图表、安全协议以及与由对象222表示的工业资产402相关联的其他这样的特性的各方面进行编码。还可以用对相关联资产的位置进行标识的位置信息来对自动化对象222进行地理标记。在系统项目302的运行期间,对应于给定真实资产402的自动化对象222也可以记录资产的状态或操作历史数据。通常,自动化对象222用作其对应工业资产402的编程表示,并且可以作为控制代码、2D或3D可视化、工业资产的知识库或维护指导系统或其他这样的方面的元素合并至系统项目302中。
图5是示出与使用根据一个或更多个实施方式的IDE系统202创建用于正被设计的自动化系统的系统项目302相关联的示例数据流的图。执行IDE客户端应用514的客户端设备504(例如,膝上型计算机、平板计算机、桌上型计算机、移动设备、可穿戴AR/VR器械等)可以访问IDE系统的项目开发工具并利用这些工具来创建正被开发的自动化系统的综合系统项目302。通过与系统的用户接口部件204的交互,开发者可以以各种支持的格式向IDE系统202提交设计输入512,包括特定于工业的控制编程(例如,控制逻辑、结构化文本、顺序功能图等)和HMI屏幕配置输入。基于该设计输入512和存储在工业知识库(预定义代码模块508和可视化510、护栏(guardrail)模板506、基于物理学的规则516等)中的信息,用户接口部件204呈现设计反馈518,设计反馈518被设计成帮助开发者结合开发系统项目302以用于工业自动化系统的配置、控制和可视化。
除了控制编程和可视化定义以外,IDE系统202的一些实施方式可以被配置成接收数字工程制图(例如,计算机辅助设计(CAD)文件)作为设计输入512。在这样的实施方式中,项目生成部件206可以基于对现有设计图的分析例如通过自动生成控制和/或可视化代码来生成系统项目302的各部分。可以作为设计输入512提交的制图可以包括但不限于P&ID制图、机械制图、流程图或其他这样的文档。例如,P&ID制图可以被导入到IDE系统202中,并且项目生成部件206可以识别元素(例如,罐、泵等)以及由制图传达的它们之间的关系。项目生成部件206可以将在制图中识别的元素与对应于这些元素(例如,罐、泵等)的适当的自动化对象222相关联或映射并将这些自动化对象222添加至系统项目302。特定于设备和特定于资产的自动化对象222包括将与在制图中识别的元素相关联的合适的代码和可视化。通常,IDE系统202可以检查一个或更多个不同类型的(机械的、电的、管道等的)制图以确定设备、机器和/或资产(包括识别跨不同制图的通用元素)之间的关系,并且将这些元素与适当的自动化对象222、代码模块508和/或可视化510智能地相关联。IDE系统202可以结合生成系统项目302的代码或项目数据根据需要利用基于物理学的规则516以及预定义代码模块508和可视化510。
IDE系统202还可以确定预定义可视化内容是否可用于在制图中发现的任何对象并且基于这些预定义可视化生成用于所发现的对象的适当HMI画面或AR/VR内容。为此,IDE系统202可以存储可由项目生成部件206按需访问的特定于工业、特定于资产的和/或特定于应用的可视化510。这些可视化510可以根据工业或工业纵向市场(例如,汽车、食品和药品、石油和天然气、药物等)、工业资产的类型(例如,机器或工业设备的类型)、工业应用的类型(例如,批处理、流量控制、幅面张力控制(web tension control)、金属板冲压、水治理等)或其他这样的类别来分类。预定义可视化510可以包括各种格式的可视化,包括但不限于HMI画面或窗口、聚合来自多个预先指定的源的数据的混搭、AR叠加、表示相关联的工业资产的3D虚拟化的VR对象或其他这样的可视化格式。IDE系统202可以基于对象类型与可视化内容之间的预定义关联来选择给定对象的合适的可视化。
在另一示例中,由用户应用于工程制图的标记可以被项目生成部件206的一些实施方式理解以传达特定的设计意图或参数。例如,红色笔的标记可以被理解为指示安全区域,由虚线连接的两个圆可以被解释为齿轮关系,以及粗线可以指示凸轮关系。以这种方式,设计者可以以IDE系统202可以理解并利用的方式在现有的制图上草拟设计目标以生成代码和可视化。在另一示例中,项目生成部件206可以基于对用户的CAD制图的分析来学习用作启动机器的必要前提条件的许可和互锁(例如,阀及其相关联的状态)。项目生成部件206可以基于对这些制图和标记的分析来生成任何合适的代码(梯形逻辑、功能块等)、设备配置和可视化以供合并到系统项目302中。在一些实施方式中,用户接口部件204可以包括用于在IDE平台本身内开发工程制图的设计工具,并且项目生成部件206可以在用户为新项目创建制图时生成该代码作为后台进程。在一些实施方式中,项目生成部件206还可以将状态机制图转换成对应的编程序列,以至少产生可由开发者根据需要用附加编程细节来增强的骨架代码。
此外,或者另外,IDE系统202的一些实施方式可以支持基于目标的自动化编程。例如,用户接口部件204可以允许用户指定正在设计的自动化系统的生产目标(例如,指定正在设计的装瓶车间必须能够在正常操作期间每秒生产至少5000个瓶子)和应用于该设计项目的任何其他相关设计约束(例如,预算限制、可用现场空间、可用控制柜空间等)。基于这种信息,项目生成部件206将生成系统项目302的各部分以满足指定的设计目标和约束。可以以这种方式生成的系统项目302的各部分可以包括但不限于设备和装备选择(例如,将需要多少泵、控制器、站、输送机、驱动器或其他资产来满足指定目标的定义)、相关联的设备配置(例如,调谐参数、网络设置、驱动器参数等)、控制编码或适于使正在设计的自动化系统可视化的HMI画面。
项目生成部件206的一些实施方式还可以基于对已经为正在开发的项目而订购的部件的知识来生成系统项目302的至少一些项目代码。这可以涉及访问由设备供应商维护的客户的账户信息以识别已经针对项目购买的设备。基于这种信息,项目生成部件206可以添加对应于所购买资产的适当的自动化对象222和相关联的代码模块508,由此提供项目开发的起点。
项目生成部件206的一些实施方式还可以监测用于通用编程的功能(例如,泵送应用、批处理、码垛堆积操作等)的特定于客户的设计方法并且基于设计者的目标的推断和实现该目标而学习的方法来生成用于用户可能希望合并到当前设计项目中的设计模块(例如,代码模块508、可视化510等)的推荐。为此,项目生成部件206的一些实施方式可以被配置成随时间监测设计输入512,并且基于该监测,学习某些设计动作(例如,向设计项目添加某些代码模块或片段、选择某些可视化等)与工业资产的类型、工业序列或正被设计的工业过程之间的相关性。项目生成部件206可以记录这些学习的相关性并且基于这些相关性在后续项目开发会话期间生成推荐。例如,如果项目生成部件206基于对设计输入512的分析确定设计者当前正在开发涉及一种在过去已经以重复的、可预测的方式被编程和/或可视化的工业装备的控制项目,则项目生成部件206可以基于该装备在过去被配置和/或编程的方式来指示用户接口部件204呈现设计者可能希望合并到系统项目302中的推荐的开发步骤或代码模块508。
在一些实施方式中,IDE系统202还可以存储和实现护栏模板506,护栏模板506限定旨在确保项目符合内部或外部设计标准的设计护栏。基于由一个或更多个所选择的护栏模板506限定的设计参数,用户接口部件204可以提供下述动态推荐或其他类型的反馈作为设计反馈518的子集,所述动态推荐或其他类型的反馈被设计成以确保系统项目302符合内部或外部要求或标准(例如,诸如TUV认证的认证、内部设计标准、特定于工业或特定于纵向市场的设计标准等)的方式来指导开发者。该反馈518可以采取基于文本的推荐(例如,重写控制代码的所指示部分以符合所限定的编程标准的推荐)、语法突出显示、错误突出显示、代码段的自动完成或其他这样的格式的形式。以这种方式,IDE系统202可以根据正在开发的工业系统的类型和任何适用的内部设计标准来定制设计反馈518,设计反馈518包括编程推荐、预定义代码模块508或可视化510的推荐、错误和语法突出显示等。
护栏模板506还可以被设计成保持符合适用于控制编程或项目开发的其他方面的全局最佳实践。例如,如果开发者的控制编程被认为如由一个或更多个护栏模板506指定的标准所限定的那样太复杂,则用户接口部件204可以生成并呈现警报。由于不同的纵向市场(例如,汽车、药物、石油和天然气、食品和药品、船舶等)必须遵守不同的标准和认证,因此IDE系统202可以维护针对不同的内部和外部标准和认证的护栏模板506的库,包括定制的特定于用户的护栏模板506。这些护栏模板506可以根据工业纵向市场、工业应用的类型、工厂设施(在定制的内部护栏模板506的情况下)或其他这样的类别来分类。在开发期间,项目生成部件206可以基于诸如与项目相关的工业纵向市场、正被编程的工业应用的类型(例如,流量控制、幅面张力控制、特定批处理等)或其他这样的方面的确定来选择并应用被确定为与当前正在开发的项目相关的护栏模板506的子集。项目生成部件206可以利用护栏模板506实现基于规则的编程,由此基于编码的工业专业知识和最佳实践(例如,识别正被开发的代码中的低效部分并且推荐适当的校正)来呈现诸如动态智能自动校正、输入提示或编码建议的编程反馈(设计反馈518的子集)。
用户还可以针对外部供应商(例如OEM)提供的代码来运行他们自己的内部护栏模板506以确保该代码符合内部编程标准。在这样的情景中,供应商提供的代码可以被提交至IDE系统202,并且项目生成部件206可以鉴于由一个或更多个定制护栏模板506指定的内部编码标准来分析该代码。基于该分析的结果,用户接口部件204可以(例如,使用突出显示、覆盖文本等)指示供应商提供的代码中的不符合护栏模板506所阐述的编程标准的部分,并且显示用于修改代码的建议以使代码符合要求。作为推荐这些修改的替选方案或者除了推荐这些修改以外,项目生成部件206的一些实施方式可以被配置成根据推荐自动修改代码以使代码符合要求。
在作出作为设计反馈518的一部分的编码建议时,项目生成部件206可以调用存储在代码模块数据库中(例如,存储器220上)的所选择的代码模块508。这些代码模块508包括用于控制通用工业任务或应用(例如,码垛堆积、流量控制、幅面张力控制、拾取和放置应用、传送机控制等)的标准化编码段。在一些实施方式中,代码模块508可以根据工业纵向市场(例如,汽车、食品和药品、石油和天然气、纺织品、船舶、药物等)、工业应用、或代码模块508适用的机器或设备的类型中的一个或更多个来分类。在一些实施方式中,项目生成部件206可以基于由程序员提供的(作为设计输入512的子集的)程序输入来推断程序员的当前编程任务或设计目标,并且基于该任务或目标确定是否可以将预定义代码模块508之一适当地添加至正被开发的控制程序以实现所推断的任务或目标。例如,项目生成部件206可以基于对设计输入512的分析推断出程序员当前正在开发用于将材料从第一罐转移至另一罐的控制代码,并且作为响应,推荐包括包含用于控制阀、泵或实现材料转移所需的其他资产的标准化或频繁利用的代码的预定义代码模块508。
定制的护栏模板506还可以被限定为捕获在项目设计中应当考虑的客户站点的细微差别。例如,护栏模板506可以记录正在设计的自动化系统将被安装在停电很常见的区域中的事实,并且将在生成设计反馈518时将其考虑入内;例如通过推荐实施备用不间断电源并建议这些电源应该如何合并,以及推荐考虑这些断电的相关联的编程或控制策略来将其考虑入内。
IDE系统202还可以例如基于以下使用护栏模板506来引导用户针对给定设计目标选择装备或设备:工业纵向市场、控制应用(例如金属板冲压、模铸、码垛堆积、传送机控制、幅面张力控制、批处理等)的类型、项目的预算约束、安装地点的物理约束(例如可用地板、墙壁或柜空间;安装空间的尺寸等)、该地点已经存在的装备等。这些参数和约束中的一些或全部可以被提供作为设计输入512,并且用户接口部件204可以将装备推荐呈现作为设计反馈518的子集。在一些实施方式中,项目生成部件206还可以确定是否一些或所有现有装备可以被重新调整后用于正在设计的新控制系统。例如,如果要将新的装瓶线添加至生产区域,由于一些装瓶线已经存在,因此可能存在利用现有装备的机会。关于哪些设备和装备可以被重复使用的决定将影响新控制系统的设计。因此,提供至IDE系统202的一些设计输入512可以包括在安装地点内或安装地点附近的客户现有系统的细节。在一些实施方式中,项目生成部件206可以将人工智能(AI)或传统的分析方法应用于该信息以确定在设计输入512中指定的现有装备是否可以重新调整后使用或利用。基于该分析的结果,项目生成部件206可以基于这些决定生成可能需要购买的任何新设备的列表作为设计反馈518。
在一些实施方式中,IDE系统202可以基于对正在设计的自动化系统将安装在其中的物理环境的理解来提供设计推荐。为此,关于物理环境的信息可以以工厂环境的2D或3D图像或视频的形式提交至IDE系统202(作为设计输入512的一部分)。在一些实施方式中,该环境信息还可以从工厂的现有数字化映射(digital twin)获得,或者通过对由可穿戴AR器具获得的扫描的环境数据的分析来获得。项目生成部件206可以分析该图像、视频或数字化映射数据以识别安装区域内的物理元素(例如,墙、梁、安全围栏、现有机器和设备等)以及这些元素之间的物理关系。这可以包括查明机器之间的距离、管道铺设的长度、线束或电缆桥架的位置和距离等。基于该分析的结果,项目生成部件206可以将该环境添加至生成的示意图作为系统项目302的一部分,生成关于设备或机器的最佳位置的推荐(例如,推荐电力线缆与数据线缆之间的最小间隔),或者对系统项目302进行其他改进。这些设计数据中的至少一些可以基于基于物理学的规则516生成,基于物理学的规则516可以由项目生成部件206参考以确定这样的物理设计规范,例如距危险装备的最小安全距离(在给定由基于物理学的规则516限定的预期的人或车辆反应时间的情况下,也可以在确定安全设备相对于该设备的安装的合适位置时考虑)、能够承受预期负载的材料选择、管道配置和针对指定流量控制应用的调谐、适合于预期电负载的布线规格、信号布线与电磁场(EMF)源之间的确保对数据信号的可忽略的电干扰的最小距离或者依赖于物理规则的其他这样的设计特征。
在示例用例中,由提交至IDE系统202的物理环境信息指定的机器和设备的相对位置可以由项目生成部件206使用以生成工业安全系统的设计数据。例如,项目生成部件206可以分析安全装备与危险机器之间的距离测量结果,并且基于这些测量结果来确定安全设备和相关联的安全控制器的合适的放置和配置,所述相关联的安全控制器(例如,在人穿过光幕的情况下)确保机器将在足够的安全反应时间内关闭以防止受损。
在一些实施方式中,项目生成部件206还可以分析现有机器的照片数据或视频数据以确定诸如齿轮或凸轮的内联机械特性并且将该信息作为因素考虑纳入一个或更多个护栏模板506或设计推荐。
如上所述,由IDE系统202针对正在设计的给定自动系统生成的系统项目302可以在使用自动化对象222作为构建块的基于对象的架构上构建。图6是示出将自动化对象222合并至项目模型中的示例系统项目302的图。在该示例中,表示类似工业设备、系统或自动化系统的资产(例如,过程、罐、阀、泵等)的各种自动化对象222已经作为较大项目数据模型602的元素合并到系统项目302中。项目数据模型602还限定这些自动化对象222之间的层次关系。根据示例关系,表示批处理的过程自动化对象可以被限定为表示执行该过程的设备和装备例如罐、泵和阀的多个子对象的父对象。每个自动化对象222具有与其相关联的特定于其对应工业资产的对象特性或属性(例如,上面结合图4讨论的那些),包括用于控制资产(或用于协调资产与其他工业资产的动作)的可执行控制编程以及可用于在运行期间呈现关于资产的相关信息的可视化。
每个自动化对象222的至少一些属性是由IDE系统202基于与由对象表示的资产有关的编码工业专业知识而限定的默认属性。开发者可以根据需要(经由设计输入512)修改或添加其他属性以针对正在针对其开发系统项目302的特定资产和/或工业应用定制对象222。这可以包括例如对与所选择的自动化对象222相关联的定制的控制代码、HMI画面、AR表示、或帮助文件进行关联。以这种方式,自动化对象222可以在设计期间根据需要被创建和扩充以在供目标控制设备在运行期间使用或执行。
一旦完成了对系统项目302的开发,由IDE系统202支持的调试工具可以简化在现场调试项目的过程。当已经完成了用于给定自动化系统的系统项目302时,系统项目302可以被部署至一个或更多个目标控制设备以供执行。图7是示出对系统项目302进行调试的图。项目部署部件208可以将完成的系统项目302编译或以其他方式转化成可以在自动化系统的相应目标工业设备(例如,工业控制器118、HMI终端114或其他类型的可视化系统、马达驱动器710、遥测设备、视觉系统、安全继电器等)上存储和执行的一个或更多个可执行文件或配置文件。
常规控制程序开发平台要求开发者在开发之前指定将在其上运行控制程序的工业控制器的类型(例如,控制器的型号),从而将控制编程绑定至指定的控制器。然后在程序开发期间强制执行特定于控制器的护栏,所述特定于控制器的护栏限制了在给定所选择的控制器的能力的情况下开发程序的方式。相比之下,IDE系统202的一些实施方式可以根据特定控制器类型抽象项目开发,使得设计者能够以对系统项目302的各个控制方面将在何处运行以及如何运行不可知的方式将系统项目302开发为自动化系统的逻辑表示。一旦项目开发完成并且系统项目302准备好调试,用户就可以(经由用户接口部件204)指定要在其上执行系统项目302的相应方面的目标设备。作为响应,项目部署部件208的分配引擎将系统项目302的各方面转化成被格式化以供在其相应目标设备上存储和执行的相应可执行文件。
例如,除了其他项目方面以外,系统项目302还可以包括控制代码、可视化画面定义和马达驱动器参数定义。在完成项目开发之后,用户可以识别哪些目标设备——包括工业控制器118、HMI终端114和马达驱动器710——将执行或接收系统项目302的这些相应方面。项目部署部件208然后可以将由系统项目302定义的控制器代码转化成被格式化以供在指定的工业控制器118上执行的控制程序文件702并且将该控制程序文件702(例如,经由工厂网络116)发送至控制器118。类似地,项目部署部件208可以将可视化定义和马达驱动器参数定义分别转化成可视化应用704和设备配置文件708,并且将这些文件部署至它们相应的目标设备以供执行和/或设备配置。
通常,项目部署部件208执行使得系统项目302的各方面能够在指定设备上执行所需的任何转换。无论系统项目302的各个元素如何分布,都将维护在系统项目302中定义的任何固有关系、握手或数据共享。以这种方式,IDE系统202的实施方式可以将项目与该项目将如何运行以及在何处运行分离。这还使得相同的系统项目302能够在具有不同控制设备集合的不同工厂设施处进行调试。也就是说,IDE系统202的一些实施方式可以根据现场找到的特定设备将项目代码分配给不同的目标设备。IDE系统202还可以使得项目文件的一些部分能够作为仿真器进行调试或在基于云的控制器上进行调试。
作为让用户指定系统项目302要被部署至的目标控制设备的替选方案,IDE系统202的一些实施方式可以主动地连接至工厂网络116并发现可用的设备,查明工厂现场上存在的控制硬件架构,推断用于系统项目302的相应可执行方面的适当目标设备,并将系统项目302部署至这些所选择的目标设备。作为该调试过程的一部分,IDE系统202还可以连接至远程知识库(例如,基于web的知识库或基于云的知识库)以确定哪些所发现的设备是过时的或需要固件升级以正确地执行系统项目302。以这种方式,IDE系统202可以用作设备供应商与客户的工厂生态系统之间经由云中的可信连接的链接。
可以使用智能传播将系统项目302的副本传播至具有不同设备配置的多个工厂设施,从而即使现场设备没有完美地匹配所限定的目标(例如,如果在不同地点找到不同的泵类型),项目部署部件208也智能地将项目部件与正确的工业资产或控制设备相关联。对于未与预期资产完美匹配的目标设备,项目部署部件208可以计算运行系统项目302对非最优目标装备的估计影响并生成用于减轻与最优项目执行的预期偏差的警告或推荐。
如上所述,IDE系统202的一些实施方式可以在云平台上实施。图8是示出了其中使用基于云的IDE服务802来开发工业应用并将工业应用部署至工厂环境的示例架构的图。在该示例中,工业环境包括一个或更多个工业控制器118、HMI终端114、马达驱动器710、运行更高级应用(例如,企业资源计划ERP、制造执行系统MES等)的服务器801以及其他这样的工业资产。这些工业资产连接至工厂网络116(例如,通用工业协议网络、以太网/IP网络等),这促进了工厂现场上的工业设备之间的数据交换。工厂网络116可以是有线网络或无线网络。在所示示例中,高级服务器810驻留在(例如,通过路由器808或其他网络基础设施设备)连接至工厂网络116的单独的办公网络108上。
在该示例中,IDE系统202驻留在云平台806上并且作为可由经授权的远程客户端设备504访问的基于云的IDE服务802的集合来执行。云平台806可以是使得共享计算服务(例如IDE服务802)能够被有云能力的设备访问并利用的任何基础设施。云平台806可以是可以由具有因特网连接和适当授权以利用IDE服务802的设备504经由因特网访问的公共云。在一些场景中,云平台806可以由云提供者提供作为平台即服务(PaaS),并且IDE服务802可以作为基于云的服务驻留在云平台806上并且在云平台806上执行。在一些这样的配置中,IDE服务802的所有者可以将对云平台806和相关联的IDE服务802的访问作为订阅服务提供给客户。可替选地,云平台806可以是由工业企业(工厂设施的所有者)内部操作的私有云。示例私有云平台可以包括托管IDE服务802并且驻留在由防火墙保护的公司网络上的服务器的集合。
IDE系统202的基于云的实现方式可以促进被授权访问IDE服务802的多个远程开发者进行的协作开发。当系统项目302准备好部署时,可以经由办公网络108或工厂网络116与云平台806之间的安全连接将项目302委派给工厂设施。如上面所讨论的,工业IDE服务802可以将系统项目302转化成一个或更多个适当的可执行文件——控制程序文件702、可视化应用704、设备配置文件708、系统配置文件812——并将这些文件部署至工厂设施中的适当设备以促进自动化项目的实现。
图9是可以由工业IDE系统的用户接口部件204的一个或更多个实施方式呈现的示例开发界面902。开发界面902以在本文中更详细描述的方式被组织到面板和工作空间中,并且支持自动化和手动的管理特征,所述自动化和手动的管理特征使开发空间变得整洁并且使与当前开发任务相关的项目编辑功能的子集成为焦点。这些特征可以通过过滤掉与当前开发任务不相关的可选选项来改进用户的开发工作流体验,从而使得能够更容易地定位相关编辑工具和信息。
开发界面902的基本结构包括其中驻留工作空间画布940(具有相关联的选项卡932)的画布区域930、在界面902的右侧边缘上(到画布区域930的右侧)的全局面板控制栏920、沿着界面902的上边缘的菜单栏904以及菜单栏904下方的工具栏906。可以使用全局面板控制栏920上的可见性控制图标或经由菜单栏904的视图选项下的可选选项来选择性地从界面的工作空间添加或移除其他面板。这些面板可以被添加至三个主面板区域或从三个主面板区域中移除,所述三个主面板区是左侧全局面板区922、底部全局面板区924和右侧全局面板区928。在图9中描绘的示例情景中,在右侧全局面板区域928中属性面板936是可见的,并且在左侧全局面板区域922中以竖直堆叠的方式呈现了资源管理器面板910和工具箱面板912。开发界面902还可以包括用于使用文本串搜索来搜索打开的项目的搜索栏934。在一些实施方式中,搜索栏934也可以用于插入文本或启动快捷方式。
图10a是示出面板可见性图标的示例组织的全局面板控制栏920的近视图,。可见性图标沿着全局面板控制栏920被竖直地组织成三个组,相应组驻留在控制栏920的全局左侧面板控制区域914、全局右侧面板控制区域916和全局底部面板控制区域918中。三个面板控制区域被标以相应标题图标1002、1004和1006,标题图标1002、1004和1006示出了相关联的图标控制哪个全局面板区域(左侧、右侧或底部)。在所示的示例中,左侧面板控制区域914包括资源管理器可见性图标1008,资源管理器可见性图标1008响应于选择而切换左侧全局面板区域922中的资源管理器面板910的可见性。右侧面板控制区域916包括三个可见性图标1010a至1010c,这三个可见性图标1010a至1010c分别控制右侧全局面板区域928中的属性面板的可见性(可见性图标1010a)、在线面板的可见性(可见性图标1010b)和交叉引用(Cross Reference)面板的可见性(可见性图标1010c)。底部面板控制区域918包括两个可见性图标1012a和1012b,这两个可见性图标1012a和1012b分别控制底部全局面板区域924中的错误面板的可见性(可见性图标1012a)和输出面板的可见性(可见性图标1012b)。
全局面板控制栏920上的可见性图标可以充当切换可见性图标的对应面板的可见性的切换按钮,使得第一次选择图标时使对应面板呈现在其指定区域中,并且第二次选择图标时将图标的对应面板从其指定区域移除。可见性图标可以是彩色动画的,使得图标的颜色指示对应面板的可见状态或隐藏状态(例如,隐藏为黑色,可见为蓝色)。
图10b是可以响应于对菜单栏904中的视图选项的选择而呈现为下拉菜单的示例视图菜单1014。视图菜单1014呈现与全局面板控制栏920上呈现的可见性图标相对应并具有与所述可见性图标相同功能的可选可见性控件,使得用户能够使用该菜单1014或全局面板控制栏920来选择性地呈现和隐藏面板。类似于全局面板控制栏920,根据左侧面板、右侧面板和底部面板来组织可选可见性控件。与全局面板控制栏920不同,视图菜单1014的可选控件被呈现为可选文本而非图标,其中勾选标记指示当前可见的面板。
在一些实施方式中,可以利用通过选择全局面板控制栏920中对应于全局面板区域的标题图标(图标1002、1004或1006)或视图菜单1014中针对该面板集合的标题文本(例如,右侧面板标题1016)的单个选择来将与已经被设置为钉住(将在下面讨论)的全局面板区域(左侧、右侧或底部)相关联的任何面板呈现为可见或不可见。
在一些实施方式中,由全局面板控制栏920控制其可见性的面板可以是与工业IDE系统202支持的所有开发任务或背景相关的全局面板(以下将描述与特定开发任务或背景相关的内容面板)。在图10a和图10b中描绘的示例中,全局面板包括用户通过其可以浏览和选择自动化项目的各方面或元素的资源管理器面板、呈现画布区域930内的所选择的元素的属性信息的属性面板、呈现工业IDE系统的通信统计的在线面板、(例如,通过列出工业自动化系统项目内的所选择的元素的所有使用或实例)呈现画布区域930内的所选择的元素的交叉引用信息的交叉引用面板、呈现输出状态的输出面板以及列出活动的和/或历史的开发或运行时的错误的错误面板。然而,在不脱离一个或更多个实施方式的范围的情况下,开发界面902可以支持任何类型的全局面板。例如,也可以支持呈现全局编辑工具集合——或到所选择的类别的编辑工具的特定子集的链接——的工具箱面板作为全局面板。
在一些实施方式中,面板在可见状态与不可见状态之间的转变可以是动画的,使得调用面板会使面板从开发界面902的指定边缘(左侧、右侧或底部)朝向界面902的中间滑动,直到面板被完全扩展并且可见。类似地,指示可见面板切换至隐藏状态会使面板朝向面板最初从其延伸的边缘缩回。
IDE系统202支持的面板通常可以被分类为两种类型——全局面板和内容面板。全局面板可以全局地应用于所有开发背景,并且可以包括但不限于上面讨论的全局面板。对应于全局面板的可见性图标总是固定在面板控制栏920上。
与全局面板相比,内容面板不是全局可应用的,而是仅与特定开发任务或背景(例如,梯形逻辑控制编程、功能框图控制编程、顺序功能图表控制编程、结构化文本控制编程、HMI画面开发、设备配置、控制器标签定义等)相关或仅可应用于所述特定开发任务或背景。内容面板可以包括但不限于便于浏览图形内容(例如,工程制图、HMI画面等)的层的层面板、呈现用于所选择的警报标签的可配置警报定义数据的警报面板、呈现可以被添加至梯形逻辑程序的可选程序元素(例如,输出线圈、触点、功能块等)的逻辑编辑器面板、呈现可以被添加至HMI画面的可选图形元素的HMI画面开发面板或其他这样的内容面板。用于内容面板的可见性图标沿着画布940的上边缘定位在画布工具栏938上(例如,参见图9),并且在工具栏938上可用的内容面板可见性图标的集合是在画布940中呈现的内容类型(例如,控制编程、HMI开发画面等)的函数。因此,只有在用户当前关注于与内容面板相关的开发任务或背景的情况下(基于开发界面902内哪个画布940当前具有焦点以及由该画布940呈现的项目内容的类型),内容面板才可用于选择。可以与内容面板(和相关联的可见性图标)的专用集合相关联的项目内容的示例类型可以包括但不限于梯形逻辑例程、功能框图例程、结构化文本例程、顺序功能图表例程、标签数据库、HMI画面或应用、屏面(faceplate)、各种类型的设备视图(例如,控制器、驱动器、I/O模块等)、工程制图或其他这样的内容类型。
通常,与左侧全局面板区域922、右侧全局面板区域928或底部全局面板区域924相关联的任何面板可以被选择性地设置为钉住的面板或覆盖面板。图11a是描绘被钉住在右侧全局面板区域928中的属性面板936的开发界面902的右上角的视图。与属性面板936相对应的可见性图标1010a被突出显示以指示属性面板936是可见的。通过选择合适的控件例如从可以通过选择面板右上角的面板菜单图标1102调用的下拉面板设置菜单中选择的控件,任何面板都可以被选择性地设置为被钉住或不被钉住(即,被覆盖)。在一些实施方式中,还可以通过从与全局面板控制栏920中的对应可见性图标相关联的右击菜单中选择适当的控件来将面板选择性地呈现为钉住的面板或覆盖面板。将面板设置为被钉住模拟在可见的同时将该面板钉住至背景,而将面板设置为覆盖(未钉住)使得该面板被呈现为在显示器的该部分中可能已经被调用的任何钉住的面板或其他界面内容(例如,画布内容)上的覆盖(overlay)。
当调用钉住的面板时,用户接口部件204减小画布区域930的宽度(或钉住的面板在底部全局面板区域924中的情况下减小画布区域的高度)以适应钉住的面板。这也使得画布区域930内的一个或更多个画布940在尺寸上类似地减小。这可以在图11a中看到,其中画布区域930的右侧边缘1112已经朝着界面902的中间偏移以适应钉住的面板936的宽度,使得画布区域930的右侧边缘1112邻接抵靠面板936的左侧边缘。当调用覆盖面板时,不调整画布区域930的尺寸,而是将面板作为覆盖呈现在画布的部分上,以遮蔽面板后面的画布内容的部分。
图11b是描绘选择在线面板1104作为右侧全局面板区域928中的覆盖面板的开发界面902的右上角的视图。如该图所示,在钉住的属性面板936可见的情况下选择在线面板可见性图标1010b使得当前被设置为覆盖面板的在线面板1104显示在属性面板之上。被设置为覆盖的面板可以被呈现为具有阴影效果1106,以传达该面板是覆盖面板而不是钉住的面板(其不被呈现为具有阴影效果)。可以通过点击或以其他方式选择面板的外边缘并向内或向外滑动边缘来调整覆盖面板(例如,图11b中的在线面板1104)的宽度的尺寸。减小覆盖面板的宽度使得覆盖面板下方的任何钉住的面板的部分被暴露。尽管在图11a和图11b中参照右侧全局面板区域928示出了钉住的面板和覆盖面板的效果,但是这些效果也适用于左侧全局面板区域922和底部全局面板区域924。
图11c是描绘同时可见的两个钉住的面板——属性面板936和交叉引用面板1108——的开发界面902的右上角的视图。在该示例中,属性面板可见性图标1010a和交叉引用面板可见性图标1010b已被切换为开启。由于这两个面板当前都被设置为钉住的面板,面板936和面板1108两者都是可见的,因此竖直地堆叠在右侧全局面板区域中。在示例实施方式中,如果仅一个钉住的面板被选择为在给定区域中可见,则该面板可以被竖直地调整尺寸以涵盖面板区域(例如,右全局面板区域928)的整个高度。如果调用第二个钉住的面板,则两个面板将被竖直地调整尺寸,使得两个面板将以竖直堆叠的布置装在该面板区域内。可以通过向上或向下点击和拖动两个面板之间的水平界面1110(其中向上拖动减小上面板的尺寸并增大下面板的尺寸,而向下拖动执行相反的尺寸调整)来改变堆叠的钉住的面板的水平尺寸。
在一些情景下,覆盖面板可以被调整尺寸或定向成使得覆盖面板后面的钉住的面板的部分能够保持可见。图11d是其中工具箱面板1114被呈现为在属性面板936之上的覆盖的开发界面902的右上角的视图。但是,工具箱面板1114的顶部在属性面板936的顶部之下,使得属性面板936的部分保持可见。图11e描述了其中图11d的工具箱面板1114被切换为钉住的面板从而使得面板936和1114被竖直堆叠的情景。
如上所述,可以通过选择与面板相关联的控件将面板设置为钉住。在某些实施方式中,也可以使用拖放动作将面板钉住至全局面板区域。图12是描绘根据这样的实施方式的用于右全局面板区域928的面板放下区域1202的开发界面902的右上角的视图。根据示例实施方式,如果没有与右侧全局面板区域928相关联的面板被设置为钉住的(也就是说,用于右侧全局面板区域928的三个可用面板当前被设置为覆盖,使得调用该面板会使该面板在右侧全局面板区域928中呈现为覆盖),则选择用于右侧全局面板区域928的标题图标1004会使空面板放下区域1202呈现在右侧全局面板区域928中。如图12中的箭头所指示的,可以通过将面板的对应可见性图标1010拖动至面板放下区域1202将可用于右侧全局面板区域928的三个面板中的任何面板设置为钉住的面板。也可以通过将面板从放下区域1202拖回至全局面板控制栏920将钉住的面板取消钉住(也就是说,设置为覆盖面板)。这种拖放方法可以用于将面板钉住至三个全局面板区域(左侧、右侧和底部)中的任何全局面板区域。
在一些实施方式中,钉住的可见面板也可以选择性地折叠或展开。图13a示出了处于默认非折叠状态的两个水平堆叠的钉住的面板(属性面板936和分配面板1302)。在这种状态下,两个面板的内容窗口在相应的标题栏1304和1306之下可见。可以通过选择与面板相对应的标题栏1304或1306来折叠该面板。图13b描绘了作为点击或以其他方式选择用于分配面板1302的标题栏1306的结果而处于折叠状态的分配面板1302。当下方的面板——在该情况下为分配面板1302——被折叠时,该面板的内容窗口被呈现为不可见,并且标题栏1306移动至面板区域的底部,而上方的面板(在该情况下为属性面板936)的内容窗口被拉长以填充剩余的面板区域空间,从而展露该窗口的更多内容。图13c描绘了作为点击或以其他方式选择属性面板936的标题栏1304的结果而折叠的属性面板936。当上方的面板被折叠时,该面板的内容窗口被呈现为不可见,并且下方的面板的标题栏1306向上移动至刚好在上方的面板的标题栏1304之下的位置。下方的面板的内容窗口填充剩余的面板区域空间,从而展露该面板的更多内容。
简要地返回至图9,画布区域930是IDE系统的开发界面902的主要工作区域,并且由左侧全局面板区域922、右侧全局面板区域928、底部全局面板区域924和菜单栏904界定。通常,画布区域930包含一个或更多个工作空间画布940,用户接口部件204在所述一个或更多个工作空间画布940上呈现系统项目的部件例如梯形逻辑或其他类型的控制代码、程序例程、控制器标签定义、可视化画面的开发视图、设备配置、工程制图或其他项目部件。画布区域930也是用户利用由全局面板和内容面板提供的编辑工具和信息与这些部件进行交互以执行开发功能的空间,所述开发功能例如开发控制器代码(例如,梯形逻辑、功能框图、结构化文本等)、开发自动化系统的可视化(例如,HMI画面、AR/VR演示、混搭等)、配置设备参数设置、定义控制器标签、开发工程制图或其他这样的项目开发功能。
图14是画布区域930内的示例画布940的更近的视图。画布区域930内的每个画布940可以在选项卡932处与其相关联,对选项卡932的选择使对应的画布940成为焦点。画布940还可以具有相关联的工具栏938,工具栏938包括使得用户能够设置相关联的画布940的属性例如缩放级别、视图格式、网格线可见性或其他这样的属性的可选择的图标和/或字段。在图14所示的示例中,画布的工具栏938位于选项卡932之下。
在一些实施方式中,画布的工具栏938还可以包含用于与当前在画布940中呈现的内容类型(例如,梯形逻辑、功能框图、结构化文本、开发中的HMI画面、设备参数、工程制图等)相关联的任何内容面板的可见性图标。类似于位于全局面板控制栏920上的全局面板可见性图标,从画布工具栏938选择内容面板可见性图标会切换与所选择的图标相关联的面板的可见性。在一些实施方式中,当使内容面板可见时,内容面板可以呈现在全局面板区域中的一个中或者与全局面板区域中的一个相邻的预定义指定位置处。在一些实施方式中,内容面板还可以被移动至界面工作空间内的所选择的位置。类似于全局面板,内容面板可以被选择性地设置为钉住的或覆盖的。
尽管所示示例将面板可见性图标描绘为呈现在画布的工具栏938中,但是在一些实施方式中,面板可见性图标也可以呈现在开发界面902上的别处,例如在菜单栏904之下的主工具栏906上。在这样的实施方式中,在给定时间在该空间中呈现的面板可见性图标的列表将是当前具有焦点的项目内容的类型(例如,当前具有焦点的特定画布940的内容)的函数。在其他实施方式中,用户接口部件204可以基于当前正在执行的项目内容或开发任务的类型以它们自己的指定分组将可用内容面板可见性图标添加至全局面板控制栏920。
画布区域930可以包括一个或更多个带有选项卡的画布940,其中每个画布940与选项卡932相关联。用户接口部件204允许用户在画布区域930内建立所需数量的带有选项卡的画布940,其中每个选项卡932呈现自动化系统项目的不同方面。多个带有选项卡的画布940可以水平或竖直地堆叠在画布区域930中。图15是其中两个画布940a和940b已水平堆叠的开发界面902的视图。以水平或竖直地的这种方式堆叠选项卡使得能够同时呈现画布940a和940b两者的内容。
用户还可以选择将多个画布940呈现为在彼此之上的覆盖。图16a和16b是两个覆盖的画布940a和940b的视图。在这个示例情景中,第一画布940a呈现为工业控制器开发的梯形逻辑例程,而第二画布940b呈现用于控制器的标签数据库。图16a描绘了其中选择了选项卡932a使得在画布区域930中呈现对应的梯形逻辑画布940a的情景。图16b描绘了其中选择了选项卡932b使得在画布区域930中呈现对应的标签数据库画布940b的情景。
总之,开发界面902的基本布局连同上面描述的面板控制和选项卡操纵功能可以向用户提供流畅的开发工作空间,该流畅的开发工作空间提供了对可用工作空间与编辑功能可用性之间的平衡的大量控制。此外,由于用户接口部件204根据用户的当前开发任务或焦点通过使仅与当前任务相关的内容面板的子集可用于选择来动态地过滤可用的编辑工具,因此开发界面902通过移除与手头任务不相关的面板和编辑功能来基本上使开发工作空间变得整洁。
图17a至图17e是IDE系统的开发界面902的各种示例布局的视图,示出了界面902能够支持的IDE内容密度的增加程度。图17a是其中打开了单个画布940a并且没有调用左侧面板、右侧面板或底部面板的界面902的视图。这基本上最大化了画布940的尺寸,因为没有开发工作空间被全局面板或内容面板消耗,从而显示基本上最大化的量的画布内容(例如,控制编程、标签数据库信息等)。面板控制栏920保持被钉住至开发界面902的右侧边缘以使得用户能够按需要调用面板。如上所述,除了全局面板可见性图标以外,面板控制栏920将呈现对应于与活动画布940a中正在执行的任务(例如,梯形逻辑编程、FBD编程、结构化文本编程、HMI画面开发、设备配置、网络配置等)相关的内容面板的可见性图标的相关子集。
图17b是其中资源管理器面板910已在左侧全局面板区域922中被呈现为可见并且属性面板936已被呈现在右侧全局面板区域928中的界面902的视图。这些面板可以使用上面描述的任何技术(例如,从面板控制栏920或从视图菜单选项中选择)被呈现为可见。面板910和936两者都被设置为钉住,因此画布940a的宽度已经被减小以容纳面板910和922,使得没有画布内容940a被面板遮挡。
图17c是其中层面板1702(特定于画布940a中正在执行的特定任务的内容面板)已被添加至先前视图的开发界面902的视图。层面板1702已经作为覆盖面板被添加至属性面板936的左侧,并且因此将遮挡画布内容的与该空间相对应的部分。图17d通过添加与原始画布940a水平堆叠的第二画布940b来向先前视图添加另外的内容。用户可以通过选择与期望画布940相对应的选项卡932a或932b来选择哪个画布940具有当前焦点。这种配置使得用户能够同时查看两个画布940的内容(例如,控制程序和标签数据库、控制程序和设备视图等),同时还使用户能够访问与资源管理器面板910、属性面板936和层面板1702相关联的编辑工具、信息和导航结构。
图17e是其中与两个先前画布940a和940b竖直堆叠的第三画布940c被添加至先前视图的开发界面的视图。如该图所示,画布940可以选择性地在画布区域930内水平地堆叠或竖直地堆叠、或者水平地堆叠和竖直地堆叠。
如图17a至图17e中所描绘的示例所示,开发界面的布局和自动义特征给予用户关于自定义或管理画布布局和行为以及项目数据和编辑工具的选择性呈现方面的相当大的灵活性。此外,用户接口部件204根据用户的当前开发任务或背景来智能地管理在给定时间对用户可用的编辑工具和视图,所述当前开发任务或背景可以基于当前具有焦点的画布940的身份和该画布940的内容来确定。例如,如果用户选择其中正在开发结构化文本程序的画布940,则将(例如,通过将对应于与结构化文本程序开发相关的内容面板的可见性图标添加至面板控制栏920)使仅与结构化文本程序开发相关的内容面板的界面的总库的子集对用户可用。
现在将讨论开发界面的一些实施方式支持的一些全局面板和内容面板。图18是当被调用时驻留在左侧全局面板922区域中的资源管理器面板910的视图。资源管理器面板910用作用于导航和查看系统项目的内容的手段,并且支持用于执行该导航的多种方式。资源管理器面板910本身支持多个不同的查看类别,这些不同的查看类别由在被钉住至资源管理器面板910的左侧边缘的资源管理器查看控制栏908上呈现的可选资源管理器图标1806表示。对资源管理器图标1806的选择确定要经由资源管理器面板910浏览的项目内容的类型或在资源管理器面板910上呈现可浏览的项目内容的格式中的一者或两者。
资源管理器面板910还包括面板标题1802,面板标题1802的文本标识当前可见的资源管理器工具集合(例如,图18中的“系统”)。对于提供由资源管理器图标1806表示的内容的替选演示格式的选择的资源管理器视图,水平堆叠的选项卡1804a和1804b位于面板标题1802之下,以用于从可用视图中进行选择。在选项卡1802a和1804b之下(或如果当前资源管理器工具集合具有仅一个视图则为在标题1802之下)是其中呈现当前选择的资源管理器工具的资源管理器面板内容区域1808。如将在下面讨论和示出的,在内容区域1808中呈现的内容是当前选择的资源管理器图标1806以及当前具有焦点的选项卡1804的函数。例如,所选择的资源管理器图标1806可以确定要在资源管理器面板910中呈现的可浏览项目内容,并且所选择的选项卡1804确定该可浏览项目内容的演示格式或组织形式。对于资源管理器面板910支持的一些视图,选择资源管理器图标1806可以设置要在内容区域1808中呈现的内容的类别,而选择选项卡可以设置在主类别内呈现的内容的特定子类别。
图19a至图19b是其中当前选择的系统视图的单独的资源管理器面板910的视图。可以通过选择资源管理器视图控制栏908中的系统图标1904来调用资源管理器面板的系统视图。系统视图提供两个带有选项卡的视图——逻辑(选项卡1804a)和执行(选项卡1804b)。图19a描绘了响应于选择逻辑选项卡1804a而呈现的逻辑系统视图。逻辑系统视图在内容区域1808中呈现包括分层地组织的可选节点的逻辑系统导航树1902。选择导航树1902中的与可查看项目内容相关联的节点之一使得对应于所选择的节点的内容被呈现在当前具有焦点的画布940中,或者使得适当的面板被呈现在开发界面902上以用于(根据所选择的节点和对应内容)显示内容。
可以经由逻辑系统导航树1902选择的项目方面可以包括但不限于控制程序或例程(例如,图19a中的RLL_01和ST_01节点,其分别在图19a中的Prog1和Prog2父节点下列出)、与程序相关联的标签和/或参数(例如,图19a中的标签/参数节点,其也在它们对应的控制程序的父节点下列出)、可视化、警报配置、设备配置或参数设置、动态、安全设置、测试结果或其他这样的项目方面。通常,在逻辑系统导航树1902中呈现的节点反映本自动化系统项目存在的元素。
通常,逻辑系统视图根据工业企业内的过程、生产区域或工厂设施来组织系统元素。图20是描绘用于示例自动化系统项目的逻辑系统导航树1902的示例资源管理器面板910。如该示例中所示,逻辑系统导航树1902可以分层地组织项目的各方面。用户可以定义表示工业企业内的不同过程、生产区域或工厂设施(例如,提取、发酵、蒸馏等)的父节点2002。如果过程、生产区域或工厂设施还要被分解到各部分中(例如,LIC551、P561、PIC535等),则子节点2004也可以定义为父节点2002的子节点。
在这些用户定义的节点中的一个或更多个之下是表示可以由用户查看和配置的父节点的各方面的可选择节点。这些节点可以包括表示与父节点相关联的控制编程的逻辑节点2006、表示与父节点相关联的HMI应用或其他类型的可视化应用的可视化节点2008、表示针对父节点定义或配置的标签和设备参数的标签和参数节点2010、表示与父节点相关联的设备(例如,工业控制器、马达驱动器等)或其他这样的系统项目部件的设备节点(图20中未示出)。通常,通过树1902到节点的路径表示到对应项目方面的逻辑路径,其根据用户的工厂布局或过程布局来限定。
图19b是其中响应于选择执行选项卡1804b而呈现的执行系统视图的资源管理器面板910的视图。该视图呈现与上面结合图19a和图20描述的逻辑系统视图的内容类似的内容,但是所述内容是根据自动化系统的各方面在其上驻留和执行的执行设备(例如,工业控制器)被组织在分层的执行系统导航树1906中。这不同于由逻辑系统导航树1902提供的基于工厂的组织。通过树1906到节点的路径表示到对应项目方面的执行路径。
在一些实施方式中,用户与系统导航树的节点交互的方式将确定如何展现与所选择的节点相关联的内容。图21a示出了当用户选择但未启动表示系统项目的梯形逻辑程序(RLL_01)的梯形逻辑节点2102时用户接口部件204的示例响应。例如,可以通过在节点2102上执行单次鼠标点击来选择节点2102使得节点被突出显示。当以这种方式选择节点2102时,关于所选择的梯形逻辑程序的信息将被呈现在属性面板936中(如果属性面板936当前可见的话)。
图21b示出了当用户例如通过双击节点2102启动梯形逻辑节点2102时用户接口部件204的示例响应。当系统导航树1902或1906中的节点被双击或以其他方式被指示启动时,与节点2102相关联的内容或工作空间被呈现在带有选项卡的画布940上。在节点2102上双击可以使得在画布区域930中打开新画布940,或者可以使得当前具有焦点的画布940呈现与节点2102相关联的内容。
图21c示出了当用户在节点2102上右击时用户接口部件204的示例响应。在系统导航树1902的节点上右击可以使背景菜单2104呈现在节点2102附近。背景菜单2104呈现特定于所选择的节点的类型的可选择选项的列表。例如,如果所选择的节点表示工业控制器,则背景菜单2104可以列出向控制器添加I/O模块的选项、向控制器添加设备(例如,驱动器)的选项或者用于其他特定于控制器的配置动作的选项。背景菜单2104还可以包括用于用于配置系统导航树1902本身的选项,例如复制节点、粘贴节点和删除节点。
图22a和图22b是其中当前选择了应用视图的资源管理器面板910的视图。通过选择资源管理器视图控制栏908中的应用图标2202来调用应用视图。应用视图以可浏览的格式列出构成自动化系统项目的应用(例如控制器程序、HMI应用)。在这个示例中,应用视图使得用户能够通过选择控制器选项卡1804a来查看控制器应用信息以及通过选择HMI选项卡1804b来查看HMI应用信息。
选择控制器选项卡1804a会在资源管理器面板内容区域1808中呈现控制器导航树2204。控制器导航树2204包括表示控制器标签、控制器参数、控制编程(例如,梯形逻辑、结构化文本、功能框图等)、处理程序例程(例如,故障处理程序、加电处理程序等)以及构成自动化系统项目的工业控制器的其他这样的方面的节点。根据与这些节点相关联的控制器将这些节点组织在控制器导航树2204中。选择控制器应用节点可以(例如,经由单击交互)在属性面板936中呈现针对所选择的控制器应用的属性信息或者可以(例如,经由双击交互)在画布940中呈现针对所选择的应用的代码。图23是响应于从控制器导航树2204或系统导航树1902选择结构化文本应用节点而在其上呈现示例结构文本程序的部分的画布940的视图。图24是响应于从控制器导航树2204或系统导航树1902选择功能框图应用节点而在其上呈现示例功能框图程序的部分的画布940的视图。
类似地,选择HMI选项卡1804b会在资源管理器面板内容区域1808中呈现HMI导航树2206。该树2206列出了根据HMI服务器组织的、与自动化系统项目相关联的任何HMI项目(或其他类型的可视化项目)。选择HMI应用节点可以使所选择的应用的属性呈现在属性面板936中,或者可以在画布940中呈现HMI应用。
图25是其中当前选择了设备视图的资源管理器面板910的视图。通过选择资源管理器视图控制栏908中的设备图标2502来调用设备视图。设备视图在资源管理器面板内容区域1808中呈现设备导航树2504。该树2504包括表示构成控制系统项目的设备(例如,控制器、驱动器、马达控制中心等)的节点。类似于其他资源管理器视图,可以通过与设备节点的适当交互在属性面板936中或在画布940上呈现用于所选择的设备的信息。图26是响应于从设备导航树2504选择控制器节点而在其上呈现用于示例控制器的信息的画布940的视图。如该示例中所示,可以针对所选择的设备呈现的信息可以包括但不限于设备的名称和型号、设备的网络地址、设备的概述、当前安装在设备上的固件版本、电子密钥的类型、连接类型或其他这样的设备信息。
图27是其中当前选择了库视图的资源管理器面板910的视图。通过选择资源管理器视图控制栏908中的库图标2702来调用库视图。库视图在资源管理器面板内容区域1808中呈现库导航树2704。库导航树2704包括表示软件对象例如自动化对象、附加指令、用户定义的数据类型、设备配置或其他这样的对象的节点。库视图可以包括使得用户能够选择要查看的软件对象的源的两个或更多个选项卡1804。在所示示例中,选项卡1804a呈现与当前自动化系统项目相关联的对象,选项卡1804b呈现在供应商库中可用的对象,以及选项卡1804c呈现来自外部源的对象。类似于其他资源管理器视图,可以通过与对象的节点的适当交互将关于所选择的对象的信息呈现在属性面板936中或画布940上。
图28是其中当前选择了扩展视图的资源管理器面板910的视图。通过选择资源管理器视图控制栏908中的扩展图标2802来调用扩展视图。扩展视图呈现当前安装在IDE系统202上的软件扩展的列表,所述软件扩展可以包括但不限于仪表板、系统查看器和设计器、梯形逻辑编辑器、功能框图编辑器、结构化文本编辑器、HMI画面编辑器或其他这样的扩展。
IDE系统的用户接口部件204的一些实施方式还可以支持项目开发环境的多实例状态,使得开发环境可以跨多个显示设备分布。这样的实施方式可以支持多实例工作流,所述多实例工作流帮助在开发环境内定向用户并且使得用户能够容易地在扩展和分布式工作空间内定位相关编辑器,并且能够跨开发界面902的多个实例流畅地工作。
图29a和图29b描绘了开发界面902的示例分布式、多实例实现方式。在该示例中,当前正在开发的自动化项目的开发环境已跨两个监视器或其他显示设备分布,从而跨两个分开但链接的实例——呈现在左侧监视器上的开发界面902a(图29a)和呈现在右侧监视器上的开发界面902b(图29b)——有效地扩展开发界面902。在所示示例中,左侧界面902a呈现第一画布940a(以及相关联的选项卡932a),在该第一画布940a上显示当前正在开发的控制例程。界面902a还在左侧全局面板区域922中呈现资源管理器面板910及其相关联的资源管理器视图控制栏908,在右侧全局面板区域928中呈现属性面板936a的第一实例,并且呈现与属性面板936a相邻的覆盖层面板2902a的第一实例。面板控制栏920a的第一实例被锚定在界面902a的右侧边缘。
右侧界面902b呈现包含系统项目的两个其他方面——分别为标签数据库和参数视图——的两个水平堆叠的画布940b和940c(以及它们的相关联的选项卡932a和932b)。属性面板936b和层面板2902b的第二实例被呈现在界面902b的右侧,以及面板控制栏920b的第二实例被锚定在界面902b的右侧边缘上。在该示例情景中,用户已经选择从第二界面902b的右侧全局面板区域中省略资源管理器面板910。
虽然在图29a至图29b所示的示例中描绘了界面902的仅两个实例,但是(例如,如果两个以上显示设备可用)用户接口部件204可以支持开发界面902跨任意数目的实例的扩展。此外,虽然所示示例描绘了跨两个实例分布的三个打开的画布940a至画布940c,但是可以在界面902的每个实例上呈现任意数目的带有选项卡的画布940。
两个界面902a和902b是彼此的扩展,使得将光标移动超过左侧界面902a的右边界会使光标经由右侧界面902b的左边界进入右侧界面902b,以及将光标移动超过右侧界面902b的左边界会使光标经由左侧界面902a的右边界进入左侧界面902a。因此,用户可以流畅地横穿三个画布940a至940c。通常,用户可以针对每个扩展界面902a和902b独立地配置面板可见性和布局。例如,用户可以选择在两个界面实例上呈现相同全局面板的副本,或者可以选择在一个界面上呈现给定的可见面板而从另一界面省略该面板。
为了帮助用户容易地在界面实例之间导航特别是在其中打开了若干带有选项卡的画布940的情景下导航,界面902的一些实施方式可以响应于对合适控件(例如,菜单栏904中的控件)的选择来呈现列出了当前打开且可用于选择焦点的选项卡932的可用选项卡菜单。图30是在这样的实施方式中可以调用的示例可用选项卡菜单3002。示例菜单3002根据名称(例如,梯形1、标签、参数等)列出当前活动的画布940并且根据相应画布n940当前驻留在其上的界面902的实例来分离列表。该列表可以被竖直地分离,使得第一部分3004列出在界面902的第一实例上可见的选项卡932并且第二部分3006列出在第二实例上可见的选项卡932。选择菜单3002上的选项卡中的任一个将使界面902将焦点移动至所选择的选项卡936(即,将所选择的选项卡带至工作空间的前面)。通过在一个菜单3002中列出所有活动选项卡,用户可以容易地选择期望的选项卡,该选项卡可以位于除用户当前正在查看的界面实例以外的界面实例上或者可以隐藏在其他覆盖的画布940或面板之下。这可以减轻在界面902的分布式实例中搜索以定位所期望的画布940的需要。
菜单3002还可以包括用于操纵选项卡932的其他控件。例如,合并菜单选项3008可以使跨多个界面实例的所有选项卡实例移动至当前正在被查看的界面实例(即,从其触发合并命令的实例)。在一些实施方式中,执行该合并功能还将使界面902的所有扩展实例关闭,从而仅使当前被查看的实例保持活动。
可以通过选择选项卡并将其从界面902的当前实例拖动至目标实例(例如,另一显示设备上的目标实例)来将选项卡932及其相关联的画布940从界面902的一个实例移动至另一实例。如果选项卡932被移动至已经包含一个或更多个可见画布940的界面902的实例,则现有画布将被调整尺寸以适应与重新定位的选项卡932相关联的画布940的添加。在这种情况下,画布940可以基于先前存在的选项卡的当前取向和重新定位的选项卡的放下位置来自动地确定画布940的水平和/或竖直堆叠的合适配置。
在一些实施方式中,开发界面902的布局和功能还可以响应于在其上呈现界面的屏幕或显示设备的尺寸。界面902在其内操作的边界的尺寸可以是设备显示屏的尺寸的函数,或者可以由用户通过调整IDE系统的开发环境窗口的尺寸来设置。在任一情况下,用户接口部件204可以被配置成基于界面边界的尺寸或纵横比来启用或禁用开发界面902的某些功能,以及根据需要重新组织开发界面902的元素以根据可用空间来填充可用的水平和竖直视口空间。
在示例实施方式中,开发界面902可以支持与屏幕或窗口宽度的相应范围相对应的多个布局模式。图31a至图31c是根据基于可用屏幕宽度的相应不同布局模式的开发界面902的示例实例。
图31a描绘了适用于其中没有宽度限制的情景的第一布局模式。如上所述,该第一布局模式为所有主要界面元素提供完全支持。
图31b描绘了当可用屏幕宽度低于第一阈值宽度时可以由用户界面部件204启动的第二布局模式。根据该第二布局模式,移除全局面板部分(例如,属性面板936),并且禁止钉住的面板(也就是说,所有面板被呈现为覆盖面板)。左侧面板和底部面板支持被禁用,并且仅允许呈现全局右侧覆盖面板。在给定时间仅允许呈现一个面板。通常在画布的工具栏上呈现的内容面板可见性图标被移动至全局面板控制栏920(例如,层可见性图标3102)。禁用对多个堆叠画布的支持。包括其相关资源管理器视图控制栏908的资源管理器面板910从界面902的左侧移动至右侧,与全局面板控制栏920相邻。
图31c描绘了当可用屏幕宽度低于比第一阈值宽度小的第二阈值宽度时可以由用户界面部件204启动的第三布局模式。该第三布局模式保持第二布局模式的所有限制和约束。另外,标题元素被折叠以减少同一时间可见的选择的数目。这包括将菜单栏904上的可见选择折叠成单个可选菜单图标3104,可以选择该单个可选菜单图标3104以将菜单栏选项呈现为下拉列表。类似地,工具栏908上的选择被折叠成单个工具图标3108,可以选择该单个工具图标3108以将工具栏选择呈现在另一下拉列表中。搜索栏934也被减小为可选择搜索图标3110。作为这些合并的结果,减少了可见选择的总数目,从而使有限的开发空间变得整洁。
本文描述的工业IDE开发界面902提供了高度自适应的工作空间布局,该布局根据用户的当前开发任务或焦点来智能地过滤在给定时间对用户可用的信息和编辑工具,这使得能够容易地定位与当前开发背景相关的期望的信息和编辑工具。另外,界面902向用户提供了对工作空间布局的自定义的大量控制,同时维持了可以容易地导航的干净且整洁的开发空间。IDE系统902及其相关联的开发界面902适合用于在同一多内容工作空间内开发工业自动化系统的多个方面例如控制编程、设备配置、警报配置、可视化画面开发,并且可以用于开发规模范围从单个控制器系统到包含跨不同工业设施的多个控制器的系统的项目。
图32a至图35b示出了根据本申请的一个或更多个实施方式的各种方法学。虽然出于简化说明的目的,本文所示的一个或更多个方法学被示出且描述为一系列动作,但是应当理解和明白,本发明不受动作的次序限制,因为根据本发明,一些动作可以按与本文所示和所述的次序不同的次序发生以及/或者与其他动作同时发生。例如,本领域技术人员将理解和明白,方法学可以替选地被表示为诸如状态图中的一系列相互关联的状态或事件。此外,并非所有示出的动作都是实现根据本发明的方法学所必需的。此外,当不同的实体制定方法学的不同部分时,交互图可以表示根据本公开内容的方法学或方法。此外,所公开的示例方法中的两个或更多个可以彼此结合地实现以实现本文描述的一个或更多个特征或优点。
图32a示出了用于在工业IDE系统的开发界面上自定义面板可见性和布局的示例方法学3200a的第一部分。初始地,在3202处,呈现包括工作空间画布和被钉住至IDE开发界面的边缘的全局面板控制栏的工业IDE界面。全局面板控制栏可以包括控制工业IDE系统支持的相应全局面板的可见性的可见性图标的集合。在一些实施方式中,开发界面可以包括分离的全局面板显示区域例如左侧全局面板区域、右侧全局面板区域和底部全局面板区域,并且可以根据相应面板已经被指定至的面板显示区域在全局面板控制栏上组织可见性图标。
在3204处,作出关于是否已经从全局面板控制栏的左侧面板区域中选择了面板可见性图标的确定。左侧面板区域是全局面板控制栏的其上呈现了与已经被指定至开发界面的左侧全局面板区域的全局面板的子集相对应的可见性图标的部分。如果已经从全局面板控制栏的左侧面板区域中选择了可见性图标(步骤3204处为是),则该方法学进行至步骤3206,在步骤3206处作出关于与在步骤3204处选择的可见性图标相对应的面板是否已经被设置为钉住的面板的确定。例如,面板可能先前已经由用户通过与关联于面板的属性菜单的适当交互而被设置为钉住。如果面板已经被设置为钉住(步骤3206处为是),则方法学进行至步骤3208,在步骤3208处在开发界面的左侧全局面板区域中将对应于可见性图标的面板呈现为钉住的面板。可替选地,如果面板没有被设置为钉住(步骤3206处为否),则该方法学进行至步骤3210,在步骤3210处在左侧全局面板区域中将该面板呈现为覆盖面板。
一旦已经呈现了面板,或者如果没有从全局面板控制栏的左侧面板区域中选择面板可见性图标(步骤3204处为否),则该方法学进行至图32b中所示的第二部分3200b。在3212处,作出关于是否已经从全局面板控制栏的底部面板区域中选择了面板可见性图标的确定。底部面板区域是全局面板控制栏的其上呈现了与已经被指定至开发界面的底部全局面板区域的全局面板的子集相对应的可见性图标的部分。如果已经从底部面板区域中选择了可见性图标(步骤3212处为是),则该方法学进行至步骤3214,在步骤3214处作出关于与在步骤3212处选择的可见性图标相对应的面板是否被设置为钉住的面板的确定。如果面板已经被设置为钉住(步骤3214处为是),则该方法学进行至步骤3216,在步骤3216处在开发界面的底部全局面板区域中将与所选择的可见性图标相对应的面板呈现为钉住的面板。可替选地,如果面板没有被设置为钉住(步骤3214处为否),则该方法学进行至步骤3218,在步骤3218处在底部全局面板区域中将面板呈现为覆盖面板。
一旦已经呈现了面板,或者如果没有从全局面板控制栏的底部面板区域中选择面板可见性图标(步骤3212处为否),则该方法学进行至图32c中所示的第三部分3200c。在3220处,作出关于是否已经从全局面板控制栏的右侧面板区域中选择了面板可见性图标的确定。右侧面板区域是全局面板控制栏的其上呈现了与已经被指定至开发界面的右侧全局面板区域的全局面板的子集相对应的可见性图标的部分。如果已经从右侧面板区域选择了可见性图标(步骤3220处为是),则该方法学进行至步骤3222,在步骤3222处作出关于与在步骤3220处选择的可见性图标相对应的面板是否已经被设置为钉住的面板的确定。如果面板已经被设置为钉住(步骤3222处为是),则该方法学进行至步骤3224,在步骤3224处在开发界面的右侧全局面板区域中将与所选择的可见性图标相对应的面板呈现为钉住的面板。可替选地,如果面板没有被设置为钉住(步骤3222处为否),则该方法学进行至步骤3226,在步骤3226处在右侧全局面板区域中将面板呈现为覆盖面板。
一旦已经呈现了面板,或者如果没有从全局面板控制栏的右侧面板区域中选择面板可见性图标(步骤3222处为否),则该方法学返回至步骤3202并且该方法学重复。
图33a示出了用于经由与工业IDE开发界面的交互来浏览和呈现工业自动化项目的各方面的示例方法学3300a的第一部分。初始地,在3302处,在开发界面上呈现资源管理器面板,其中资源管理器面板被配置成便于浏览和选择要在开发界面上呈现的工业自动化项目的各方面(例如,控制编程或例程、HMI开发画面、控制器标签数据库、工业设备参数配置、警报配置等)。资源管理器面板可以包括表示由资源管理器面板支持的相应查看类别的可选图标的集合,其中每个查看类别限定要在资源管理器面板中展现的选择的内容和格式。在一些实施方式中,可以使用上面结合图32a至图32c描述的方法将资源管理器面板选择性地呈现或隐藏。
在3304处,接收从所支持的查看类别的集合对表示查看类别之一的图标的选择。可以以这种方式选择的示例查看类别可以包括但不限于列出自动化系统项目的部件(例如,控制例程、标签、可视化应用或画面、警报等)的系统视图、列出构成自动化系统项目的应用(例如,控制编程应用、HMI应用等)的应用视图、列出构成自动化系统项目的设备视图、列出构成自动化系统项目的软件对象(例如,自动化对象、附加指令、用户定义的数据类型、设备配置等)的库视图以及列出已安装在工业IDE系统上的软件附加或扩展的扩展视图。与这些视图相关联的一些内容或全部内容可以以分层格式呈现,以使得用户能够更快速且容易地浏览和定位所期望的选择。
在3306处,响应于在步骤3304处对图标的选择,在资源管理器面板上呈现两个或更多个选项卡,所述两个或更多个选项卡表示用于与所选择的图标相对应的查看类别内的内容的相应两个或更多个呈现格式。例如,对应用视图图标的选择可以使资源管理器面板呈现表示可以被进行资源管理的相应不同类型的应用(例如,控制器应用、HMI应用等)的两个或更多个选项卡。在另一示例中,对库视图的选择可以使资源管理器面板呈现表示可以被进行资源管理的软件对象的相应源的两个或更多个选项卡。
在3308处,在资源管理器面板的内容窗口上呈现可选择的图标,其中所述图标对应于查看类别和与在步骤3306呈现的两个或更多个选项卡中的第一选项卡相对应的第一呈现格式。可选图标——其可以是图形的、基于文本的、或图形的和基于文本的两者的组合——表示可以被浏览和选择以供在开发界面中呈现的自动化系统项目的各方面,所述开发界面可以是工作空间或画布。
该方法学继续图33b中所示的第二部分3300b。在3310处,作出关于是否已经选择了在步骤3306处呈现的两个或更多个选项卡中的第二选项卡的确定。如果已经选择了第二选项卡(步骤3310处为是),则该方法学进行至步骤3312,在步骤3312处可选图标——可以包括在步骤3308处呈现的可选图标中的一些或全部或者不同的图标的集合——以对应于第二选项卡的第二呈现格式呈现在资源管理器面板的内容窗口中。
如果第二选项卡未被选择(步骤3310处为否)或在图标在步骤3312处以第二格式呈现之后,该方法学进行至步骤3314,在步骤3314处作出关于是否从资源管理器面板的内容窗口中选择图标的确定。如果选择了图标(步骤3314处为是),则该方法学进行至步骤3316,在步骤3316处呈现对应于该图标的自动化系统项目的方面。该方面可以是例如梯形逻辑例程、结构文本程序、功能框图、HMI开发画面、警报配置画面、设备参数配置画面、工程制图或示意图或另外的这样的方面。
图34a示出了用于操纵工业IDE开发界面内的工作空间画布的示例方法学3400a的第一部分。初始地,在3402处,在工业IDE开发界面的相应两个带有选项卡的画布中呈现自动化系统项目的两个不同方面。初始地呈现两个带有选项卡的画布,使得两个画布中的第一个覆盖在两个画布中的第二个上,使得在给定时间仅一个画布的内容可见,并且可以通过选择适当的选项卡来选择可见内容。可以在这些带有选项卡的画布中呈现的项目方面可以包括但不限于控制编程、标签数据库、设备配置、HMI开发画面、警报配置或其他这样的内容。
在3404处,作出关于是否已经接收到水平堆叠画布的命令的确定。如果接收到这样的命令(步骤3404处为是),则该方法学进行至步骤3406,在步骤3406处呈现两个画布,使得两个画布的内容同时显示并且画布水平排列。可替选地,如果没有接收到水平堆叠画布的命令(步骤3404处为否),则该方法学进行至步骤3408,在步骤3408处作出关于是否已经接收到竖直堆叠画布的命令的确定。如果接收到这样的命令(步骤3408处为是),则该方法学进行至步骤3410,在步骤3410处呈现两个画布,使得两个画布的内容同时显示并且所述画布水平排列。
然后,该方法学继续图34b中所示的第二部分3400b。在3412处,作出关于是否已经接收到跨两个显示设备分配带有选项卡的画布的命令的确定。可以在其中界面显示跨两个显示设备扩展以扩展可用工作空间的实现方式中接收该命令。如果接收到分配带有选项卡的画布的命令(步骤3412处为是),则该方法学进行至步骤3414,在步骤3414处在第一显示设备上的开发界面的第一实例上呈现第一画布并且在第二显示设备上的开发界面的第二实例上呈现第二画布。当以这种方式分配画布时,在步骤3416处作出关于是否接收到合并带有选项卡的画布的命令的确定。如果接收到这样的命令(步骤3416处为是),则该方法学进行至步骤3418,在步骤3418处将两个画布合并到从其接收到合并命令的开发界面的两个实例中的一个实例上。然后,该方法学返回至步骤3402。
如果在步骤3412处没有接收到分配带有选项卡的画布的命令(步骤3412处为否),也就是说,画布仍然被合并在界面显示的单个实例上并且水平或竖直堆叠,则该方法学进行至图34c中所示的第三部分3400c。在3420处,作出关于是否接收到覆盖带有选项卡的画布的命令的确定。如果没有接收到这样的命令(步骤3420处为否),则该方法学返回至步骤3404。可替选地,如果接收到覆盖画布的命令(步骤3420处为是),则该方法学返回至步骤3402,在步骤3402处画布再次被呈现为覆盖。
在一些实施方式中,图34a至图34c的画布操纵方法学可以与上面结合图32a至图32c和图33a至图33b描述的方法中的一种方法或两种方法组合。
图35a示出了用于基于用户正在执行的当前开发任务通过工业IDE开发界面自动地管理可用项目编辑工具的集合的示例方法学3500a的第一部分。初始地,在3502处,在包括一个或更多个工作空间画布的工业IDE开发界面上呈现全局面板控制栏。全局面板控制栏可以被钉住至开发界面的边缘,并且可以包括与由工业IDE支持的全局面板的第一集合相对应的可见性图标的第一集合,该全局面板的第一集合适用于工业IDE的所有设计背景。
在3504处,确定经由一个或更多个工作空间画布正在执行的当前自动化项目开发任务。例如,可以基于开发界面内当前具有焦点的工作空间画布的内容来确定任务。该任务可以是例如梯形逻辑控制编程、结构化文本控制编程、功能框图控制编程、HMI画面开发、设备配置、控制器标签编辑、警报配置或其他这样的任务。
在3506处,在开发界面上呈现可见性图标的第二集合。可见性图标的第二集合对应于由工业IDE支持的一个或更多个内容面板,这些内容面板不是全局适用的但是适用于在步骤3504处确定的当前开发任务。
该方法学继续图35b所示的第二部分3500b。在3508处,接收从可见性图标的第一集合或可见性图标的第二集合中对可见性图标的选择。在3510处,确定与在步骤3508处选择的图标相对应的面板是否被设置为钉住的面板。如果所选择的面板被设置为钉住(步骤3510处为是),则该方法学进行至步骤3512,在步骤3512处在开发界面上将对应于所选择的图标的面板呈现为钉住的面板。可替选地,如果所选择的面板未被设置为钉住(步骤3510处为否),则该方法学进行至步骤3514,在步骤3514处在开发界面上将对应于所选择的图标的面板呈现为覆盖面板。
在一些实施方式中,结合图35a至图35b描述的方法学可以与本文描述的其他方法学中的一个或更多个组合。
本文描述的实施方式、系统和部件以及可以在其中执行本说明书中阐述的各个方面的控制系统和自动化环境可以包括计算机或网络部件例如能够跨网络进行交互的服务器、客户端、可编程逻辑控制器(PLC)、自动化控制器、通信模块、移动计算机、用于移动车辆的车载计算机、无线部件、控制部件等。计算机和服务器包括一个或更多个处理器(采用电信号执行逻辑运算的电子集成电路),所述一个或更多个处理器被配置成执行存储在诸如随机存取存储器(RAM)、只读存储器(ROM)、硬盘驱动器以及可移动存储器设备的介质中的指令,所述可移动存储器设备可以包括存储棒、存储卡、闪存驱动器、外部硬盘驱动器等。
类似地,本文使用的术语PLC或自动控制器可以包括可以跨多个部件、系统和/或网络共享的功能。作为示例,一个或更多个PLC或自动化控制器可以与跨网络的各种网络设备通信并协作。这可以包括经由网络通信的基本上任何类型的控制器、通信模块、计算机、输入/输出(I/O)设备、传感器、致动器和人机接口(HMI),所述网络包括控制网络、自动化网络和/或公共网络。PLC或自动控制器还可以与各种其他设备通信并控制各种其他设备,所述各种其他设备例如包括模拟模块、数字模块、编程/智能I/O模块的标准或安全额定I/O模块、其他可编程控制器、通信模块、传感器、致动器、输出设备等。
网络可以包括公共网络例如因特网、内联网和自动化网络例如控制和信息协议(CIP)网络,所述控制和信息协议(CIP)网络包括DeviceNet、ControlNet、安全网络和以太网/IP。其他网络包括以太网、DH/DH+、远程I/O、现场总线、Modbus、Profibus、CAN、无线网络、串行协议等。另外,网络设备可以包括各种可能性(硬件部件和/或软件部件)。这些包括诸如具有虚拟局域网(VLAN)能力的交换机、LAN、WAN、代理、网关、路由器、防火墙、虚拟专用网(VPN)设备、服务器、客户端、计算机、配置工具、监测工具和/或其他设备的部件。
为了提供所公开的主题的各方面的背景,图36和图37以及下面的讨论旨在提供对其中可以实现所公开的主题的各方面的合适环境的简要、一般描述。虽然上面已经在可以在一个或更多个计算机上运行的计算机可执行指令的一般背景下描述了各实施方式,但是本领域的技术人员将认识到,实施方式也可以结合其他程序模块实现和/或被实现为硬件和软件的结合。
通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、部件、数据结构等。此外,本领域的技术人员将理解,本发明的方法可以用其他计算机系统配置来实践,所述其他计算机系统配置包括单处理器或多处理器计算机系统、小型计算机、大型计算机、物联网(IoT)设备、分布式计算系统以及个人计算机、手持式计算设备、基于微处理器的或可编程消费电子产品等,其中每一个都可以可操作地耦接至一个或更多个相关联的设备。
本文所示出的实施方式也可以在分布式计算环境中实践,在分布式计算环境中某些任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备两者中。
计算设备通常包括各种介质,其可以包括计算机可读存储介质、机器可读存储介质和/或通信介质,这两个术语在本文中如下彼此不同地使用。计算机可读存储介质或机器可读存储介质可以是可以由计算机访问的任何可用存储介质并且包括易失性介质和非易失性介质、可移动介质和不可移动介质两者。作为示例而非限制,计算机可读存储介质或机器可读存储介质可以结合用于存储诸如计算机可读或机器可读指令、程序模块、结构化数据或非结构化数据等信息的任何方法或技术来实现。
计算机可读存储介质可以包括但不限于随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术、光盘只读存储器(CD-ROM)、数字多功能盘(DVD)、蓝光盘(BD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、固态驱动器或其他固态存储设备或者可以用于存储期望信息的其他有形和/或非暂态介质。在这方面,应将如应用于存储装置、存储器或计算机可读介质的本文中的术语“有形”或“非暂态”理解为仅排除传播暂态信号本身作为修饰语并且不放弃对不是仅传播暂态信号本身的所有标准存储装置、存储器或计算机可读介质的权利。
计算机可读存储介质可以由一个或更多个本地计算设备或远程计算设备例如经由访问请求、查询或其他数据检索协议来访问以针对由介质存储的信息进行各种操作。
通信介质通常以数据信号例如经调制数据信号例如载波或其他传输机制来体现计算机可读指令、数据结构、程序模块或其他结构化或非结构化数据,并且包括任何信息传递或传输介质。术语“经调制数据信号”或信号指以在一个或更多个信号中编码信息的方式设置或改变其特征中的一个或更多个的信号。作为示例而非限制,通信介质包括有线介质例如有线网络或直接连线连接以及无线介质例如声学、RF、红外和其他无线介质。
再次参照图36,用于实现本文描述的各方面的各实施方式的示例环境3600包括计算机3602,计算机3602包括处理单元3604、系统存储器3606和系统总线3608。系统总线3608将包括但不限于系统存储器3606的系统部件耦接至处理单元3604。处理单元3604可以是各种可商购的处理器中的任何一种。也可以采用双微处理器和其他多处理器架构作为处理单元3604。
系统总线3608可以是若干类型的总线结构中的任一种,该总线结构还可以使用各种可商购的总线架构中的任一种来互连至存储器总线(带有存储器控制器或不带有存储器控制器)、外围总线和局部总线。系统存储器3606包括ROM 3610和RAM 3612。基本输入/输出系统(BIOS)可以存储在诸如ROM、可擦除可编程只读存储器(EPROM)、EEPROM的非易失性存储器中,该BIOS包含有助于例如在启动期间在计算机3602内的元件之间传输信息的基本例程。RAM 3612还可以包括诸如用于高速缓存数据的静态RAM的高速RAM。
计算机3602还包括内部硬盘驱动器(HDD)3614(例如,EIDE、SATA)、一个或更多个外部存储设备3616(例如,磁软盘驱动器(FDD)3616、存储棒或闪存驱动器读取器、存储卡读取器等)以及光盘驱动器3620(例如,其可以从CD-ROM盘、DVD、BD等读取或写入)。虽然内部HDD 3614被示为位于计算机3602内,但是内部HDD 3614还可以被配置成在合适的机箱(未示出)中在外部使用。另外,虽然在环境3600中未示出,但是除了HDD 3614以外或者代替HDD3614,还可以使用固态驱动器(SSD)。HDD 3614、外部存储设备3616和光盘驱动器3620可以分别通过HDD接口3624、外部存储接口3626和光盘驱动器接口3628连接至系统总线3608。用于外部驱动器实现方式的接口3624可以包括通用串行总线(USB)和电气与电子工程师协会(IEEE)1394接口技术中的至少一个或两者。其他外部驱动器连接技术在本文描述的实施方式的考虑内。
驱动器及其相关联的计算机可读存储介质提供数据、数据结构、计算机可执行指令等的非易失性存储。对于计算机3602,驱动器和存储介质以合适的数字格式容纳任何数据的存储。尽管上面对计算机可读存储介质的描述涉及相应类型的存储设备,但是本领域技术人员应当理解,也可以在示例操作环境中使用计算机可读的其他类型的存储介质,无论所述存储介质是当前存在的还是将来开发的,并且此外,任何这样的存储介质可以包含用于执行本文所描述的方法的计算机可执行指令。
多个程序模块可以被存储在驱动器和RAM 3612中,所述多个程序模块包括操作系统3630、一个或更多个应用程序3632、其他程序模块3634和程序数据3636。操作系统、应用、模块和/或数据中的全部或部分也可以被高速缓存在RAM 3612中。本文描述的系统和方法可以利用各种可商购的操作系统或操作系统的组合来实现。
计算机3602可以可选地包括仿真技术。例如,管理程序(未示出)或其他中间设备可以仿真用于操作系统3630的硬件环境,并且所仿真的硬件可以可选地不同于图36中所示的硬件。在这样的实施方式中,操作系统3630可以包括在计算机3602处托管的多个虚拟机(VM)中的一个VM。此外,操作系统3630可以为应用程序3632提供运行环境,例如Java运行环境或.NET框架。运行环境是使得应用程序3632能够在包括该运行环境的任何操作系统上运行的一致执行环境。类似地,操作系统3630可以支持容器,并且应用程序3632可以是容器的形式,所述容器是包括例如代码、运行时间、系统工具、系统库和应用的设置的轻量级、独立的、可执行的软件包。
此外,计算机3602可以用安全模块例如可信处理模块(TPM)来启用。例如,使用TPM,引导部件对时间上的下一引导部件进行哈希处理,并且在加载下一引导部件之前等待结果与安全值的匹配。该过程可以发生在计算机3602的代码执行栈中的任何层,例如,应用在应用执行级或操作系统(OS)内核级,从而在任何代码的执行级实现安全性。
用户可以通过一个或更多个有线/无线输入设备例如键盘3638、触摸屏3640和诸如鼠标3642的定点设备将命令和信息输入至计算机3602中。其他输入设备(未示出)可以包括麦克风、红外(IR)遥控器、射频(RF)遥控器、或其他遥控器、操纵杆、虚拟现实控制器和/或虚拟现实头戴式耳机、游戏垫、触摸笔、诸如摄像装置的图像输入设备、姿势传感器输入设备、视觉移动传感器输入设备、情绪或面部检测设备、诸如指纹或虹膜扫描仪的生物测定输入设备等。这些输入设备和其他输入设备通常通过可以耦接至系统总线3608的输入设备接口3644连接至处理单元3604,但也可以通过其他接口例如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口、接口等进行连接。
监测器3644或其他类型的显示设备也可以经由诸如视频适配器3648的接口连接至系统总线3608。除了监测器3644以外,计算机通常包括其他外围输出设备(未示出)例如扬声器、打印机等。
计算机3602可以使用经由到诸如远程计算机3648的一个或更多个远程计算机的有线和/或无线通信的逻辑连接在联网环境中操作。远程计算机3648可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他通用网络节点,并且通常包括相对于计算机3602所描述的许多或所有元件,尽管为了简明起见仅示出了存储器/存储设备3650。所描绘的逻辑连接包括到局域网(LAN)3652和/或更大的网络例如广域网(WAN)3654的有线/无线连接。这样的LAN和WAN联网环境在办公室和公司中是常见的,并且促进了诸如内联网的企业范围的计算机网络,所有这些计算机网络都可以连接至诸如因特网的全球通信网络。
当在LAN联网环境中使用时,计算机3602可以通过有线和/或无线通信网络接口或适配器3656连接至局域网3652。适配器3656可以促进到LAN 3652的有线或无线通信,LAN3652还可以包括布置在其上的无线接入点(AP)以用于以无线模式与适配器3656进行通信。
当在WAN联网环境中使用时,计算机3602可以包括调制解调器3658,或者可以经由用于通过WAN 3654建立通信的其他手段例如通过因特网来连接至WAN 3654上的通信服务器。调制解调器3658——其可以是内部的或外部的并且可以是有线设备或无线设备——可以经由输入设备接口3642连接至系统总线3608。在联网环境中,相对于计算机3602或其部分描绘的程序模块可以被存储在远程存储器/存储设备3650中。将理解,所示的网络连接是示例并且可以使用在计算机之间建立通信链路的其他手段。
当在LAN或WAN联网环境中使用时,除了或代替如上所述的外部存储设备3616,计算机3602还可以访问云存储系统或其他基于网络的存储系统。通常,可以例如分别通过适配器3656或调制解调器3658通过LAN 3652或WAN 3654来建立计算机3602与云存储系统之间的连接。在将计算机3602连接至相关联的云存储系统时,外部存储接口3626可以在适配器3656和/或调制解调器3658的帮助下如管理其他类型的外部存储一样管理由云存储系统提供的存储。例如,外部存储接口3626可以被配置成提供对云存储源的访问,就好像这些源物理地连接至计算机3602一样。
计算机3602能够被操作成与可操作地布置在无线通信中的任何无线设备或实体进行通信,所述无线设备或实体例如打印机、扫描仪、桌上型和/或便携式计算机、便携式数据助理、通信卫星、与无线可检测标签相关联的任何设备或位置(例如,亭、报摊、商店货架等)以及电话。这可以包括无线保真(Wi-Fi)和无线技术。因此,通信可以是如常规网络的预定义结构或者仅仅是至少两个设备之间的自组织通信。
图37是所公开的主题可以与之交互的样本计算环境1800的示意性框图。样本计算环境3700包括一个或更多个客户端3702。客户端3702可以是硬件和/或软件(例如,线程、进程、计算设备)。样本计算环境3700还包括一个或更多个服务器3704。服务器3704也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器3704可以容纳线程以通过采用例如本文所述的一个或更多个实施方式来执行变换。客户端3702与服务器3704之间的一种可能的通信可以是适于在两个或更多个计算机进程之间传输的数据分组的形式。样本计算环境3700包括可以用于促进客户端3702与服务器3704之间的通信的通信框架3706。客户端3702可操作地连接至可用于存储客户端3702本地的信息的一个或更多个客户端数据存储设备3708。类似地,服务器3704可操作地连接至可用于存储服务器3704本地的信息的一个或更多个服务器数据存储设备3710。
上面所描述的内容包括本发明的示例。当然,不可能为了描述所公开的主题而描述部件或方法学的每个可设想到的组合,但是本领域普通技术人员可以认识到,本发明的许多另外的组合和置换是可能的。因此,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的改变、修改和变型。
尤其是关于由上面描述的部件、设备、电路、系统等执行的各种功能,除非另外指出,否则用于描述这样的部件的术语(包括对“手段”的引用)旨在对应于执行所描述的部件的指定功能的任何部件(例如,功能上等效的任何部件),即使在结构上不等效于所公开的结构而该部件执行本文示出的所公开主题的示例性方面中的功能也是如此。在这点上,还将认识到,所公开的主题包括系统以及具有用于执行所公开的主题的各种方法的动作和/或事件的计算机可执行指令的计算机可读介质。
此外,虽然可能仅针对若干实现方式中的一个实现方式公开了所公开的主题的特定特征,但是这样的特征可以如针对任何给定应用或特定应用来说可能期望有利的与其他实现方式的一个或更多个其他特征组合。此外,就在说明书或权利要求书中使用术语“包含”和“具有”及其变型来说,这些术语旨在以类似于术语“包括”的方式是包含性的。
在本申请中,词语“示例性”用于表示用作示例、实例或说明。本文描述为“示例性”的任何方面或设计不一定被解释为比其他方面或设计优选或有利。在某种程度上,词语示例性的使用旨在以具体方式表现概念。
本文描述的各个方面或特征可以使用标准编程和/或工程技术实现为方法、装置或制品。如本文所使用的术语“制品”旨在涵盖可从任何计算机可读设备、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于磁存储设备(例如,硬盘、软盘、磁条…)、光盘(例如,压缩盘(CD)、数字多功能盘(DVD)…)、智能卡和闪存设备(例如,卡、棒、钥匙驱动器…)。

Claims (20)

1.一种用于开发工业应用的系统,包括:
存储器,其存储可执行部件;以及
处理器,其可操作地耦接至所述存储器,所述处理器执行所述可执行部件,所述可执行部件包括:
用户接口部件,其被配置成呈现工业集成开发环境IDE开发界面并且经由与所述开发界面的交互来接收限定工业自动化项目的各方面的工业设计输入,其中,所述开发界面包括:
一个或更多个工作空间画布,其被配置成促进所述工业自动化项目的所选择的方面的开发,以及
资源管理器面板,其促进所述工业自动化项目的元素的浏览;以及项目生成部件,其被配置成基于所述工业设计输入来生成系统项目数据,
项目部署部件,其被配置成:
识别工业设备,所述系统项目的相应部分要被发送至所述工业设备以供执行,
将所述相应部分转化成所述工业设备可理解的格式,以及
将转化后的相应部分部署至其对应的工业设备;
其中,
所述资源管理器面板包括呈现在资源管理器视图控制栏上的资源管理器图标,所述资源管理器图标表示所述资源管理器面板支持的相应不同查看类别,并且
对所述资源管理器图标中的资源管理器图标的选择使得与所述资源管理器图标的查看类别相关联的可浏览项目内容呈现在所述资源管理器面板中。
2.根据权利要求1所述的系统,其中,所述查看类别包括以下中的至少一个:
系统视图,其呈现系统导航树,所述系统导航树包括根据逻辑路径或执行路径组织的表示所述工业自动化项目的元素的节点,
应用视图,其列出与所述工业自动化项目相关联的应用,
设备视图,其列出所述工业自动化项目的设备,
库视图,其列出与所述工业自动化项目相关联或可用于包括在所述工业自动化项目中的软件对象,或者
扩展视图,其列出当前安装在所述工业集成开发环境系统上的软件扩展。
3.根据权利要求1所述的系统,其中,所述用户接口部件被配置成响应于确定所述资源管理器图标的查看类别与用于所述可浏览项目内容的多个可选呈现格式相关联而在所述资源管理器面板上呈现与所述多个可选呈现格式相对应的多个选项卡。
4.根据权利要求3所述的系统,其中,所述用户接口部件被配置成响应于对所述多个选项卡中的选项卡的选择而以所述多个可选呈现格式中的与所述选项卡相关联的一个可选呈现格式在所述资源管理器面板上呈现所述可浏览项目内容。
5.根据权利要求4所述的系统,其中
所述查看类别是呈现包括表示所述工业自动化项目的元素的节点的系统导航树的系统视图,并且
所述多个可选呈现格式至少包括根据工业企业的过程或区域将所述元素组织在分层逻辑系统导航树中的逻辑视图以及根据所述元素驻留在其上的设备将所述元素组织在分层执行系统导航树中的执行视图。
6.根据权利要求4所述的系统,其中
所述查看类别是呈现包括表示构成所述工业自动化项目的应用的节点的系统导航树的应用视图,并且
所述多个可选呈现格式至少包括呈现根据工业控制例程在其上执行的工业控制器组织的所述工业控制例程的控制器视图以及根据可视化应用在其上执行的可视化服务器呈现所述可视化应用的HMI视图。
7.根据权利要求1所述的系统,其中,所述资源管理器视图控制栏被钉住至所述资源管理器面板的边缘。
8.根据权利要求1所述的系统,其中,所述用户接口部件被配置成响应于对与所述资源管理器面板相关联的可见性图标的选择而选择性地呈现或隐藏所述资源管理器面板。
9.根据权利要求1所述的系统,其中,所述资源管理器面板包括将所述资源管理器面板设置为呈现为被钉住至所述开发界面的背景的钉住的面板或覆盖面板的控件。
10.根据权利要求1所述的系统,其中
所述可浏览项目内容包括表示所述工业自动化项目的元素的节点,并且
所述用户接口部件被配置成响应于对与所述工业自动化系统的元素相对应的节点中的一个节点的选择而在所述一个或更多个工作空间画布中的一个工作空间画布上或在所述开发界面内的面板上呈现关于所述元素的信息。
11.根据权利要求10所述的系统,其中,所述元素是工业控制程序、可视化应用、工业设备、标签数据库、警报数据库或工程制图中的至少一个。
12.一种用于浏览工业自动化项目的内容的方法,包括:
由包括处理器的工业集成开发环境IDE系统在客户端设备上显示开发界面,其中,所述显示包括:
显示相应开发任务在其上执行的一个或更多个工作空间画布,以及
显示促进对所述工业自动化项目的元素的资源管理的资源管理器面板,其中,显示所述资源管理器面板包括在所述资源管理器面板上呈现包括表示所述资源管理器面板支持的相应不同查看类别的资源管理器图标的资源管理器视图控制栏;
由所述工业集成开发环境系统接收对所述资源管理器图标中的资源管理器图标的选择;以及
响应于所述接收,由所述工业集成开发环境系统在所述资源管理器面板上显示与所述资源管理器图标的查看类别相关联的可浏览项目元素,
其中,基于经由与所述开发界面的交互而接收的工业设计输入来生成系统项目,其中,所述工业设计输入限定所述工业自动化项目的各方面,并且
其中,识别工业设备,所述系统项目的相应部分要被发送至所述工业设备以供执行,
其中,将所述相应部分转化成所述工业设备可理解的格式,并且
其中,将转化后的相应部分部署至其对应的工业设备。
13.根据权利要求12所述的方法,还包括响应于确定与所述资源管理器图标相关联的所述查看类别支持用于所述可浏览项目元素的多个呈现格式而在所述资源管理器面板上呈现与所述多个呈现格式相对应的多个选项卡。
14.根据权利要求13所述的方法,还包括:
响应于接收到对所述多个选项卡中的选项卡的选择,以所述多个呈现格式中的与所述选项卡相关联的一个呈现格式在所述资源管理器面板上呈现所述可浏览项目元素。
15.根据权利要求14所述的方法,其中
接收对所述资源管理器图标的选择包括接收对呈现包括表示所述工业自动化项目的元素的节点的系统导航树的系统视图图标的选择,并且
所述方法还包括:
响应于接收到对所述多个选项卡中的逻辑视图选项卡的选择,根据工业企业的过程或区域在所述资源管理器面板上将所述元素组织在分层逻辑系统导航树中;以及
响应于接收到对所述多个选项卡中的执行视图选项卡的选择,根据所述元素驻留在其上的设备在所述资源管理器面板上将所述元素组织在分层执行系统导航树中。
16.根据权利要求14所述的方法,其中
接收对所述资源管理器图标的选择包括接收对呈现包括表示构成所述工业自动化项目的应用的节点的系统导航树的应用视图图标的选择,并且
所述方法还包括:
响应于接收到对所述多个选项卡中的控制器视图选项卡的选择,在所述资源管理器面板上呈现根据工业控制程序在其上执行的工业控制器组织的所述工业自动化项目的所述工业控制程序的列表;以及
响应于接收到对所述多个选项卡中的HMI视图选项卡的选择,在所述资源管理器面板上呈现根据可视化应用在其上执行的可视化设备组织的所述工业自动化项目的所述可视化应用的列表。
17.根据权利要求12所述的方法,其中,显示所述资源管理器面板包括:
响应于接收到将所述资源管理器面板呈现为钉住的面板的第一命令,将所述资源管理器面板显示为被钉住至所述开发界面的背景,以及
响应于接收到将所述资源管理器面板呈现为覆盖面板的第二命令,将所述资源管理器面板显示为在由所述开发界面显示的内容的部分上的覆盖。
18.一种其上存储有指令的非暂态计算机可读介质,所述指令响应于执行而使包括处理器的工业集成开发环境IDE系统执行操作,所述操作包括:
在客户端设备上呈现开发界面,其中,所述呈现包括:
呈现相应开发任务在其上执行的一个或更多个工作空间画布,以及
呈现促进工业自动化项目的部件的浏览的资源管理器面板,其中,呈现所述资源管理器面板包括在所述资源管理器面板上呈现包括表示所述资源管理器面板支持的相应不同查看类别的资源管理器图标的资源管理器视图控制栏;
接收对所述资源管理器图标中的资源管理器图标的选择;以及
响应于所述接收,在所述资源管理器面板上显示与所述资源管理器图标的查看类别相关联的可浏览项目部件,
其中,基于经由与所述开发界面的交互而接收的工业设计输入来生成系统项目,其中,所述工业设计输入限定所述工业自动化项目的各方面,并且
其中,识别工业设备,所述系统项目的相应部分要被发送至所述工业设备以供执行,
其中,将所述相应部分转化成所述工业设备可理解的格式,以及
其中,将转化后的相应部分部署至其对应的工业设备。
19.根据权利要求18所述的非暂态计算机可读介质,还包括响应于确定与所述资源管理器图标相关联的所述查看类别支持用于所述可浏览项目部件的多个呈现格式,在所述资源管理器面板上呈现与所述多个呈现格式相对应的多个选项卡。
20.根据权利要求19所述的非暂态计算机可读介质,还包括:
响应于接收到对所述多个选项卡中的选项卡的选择,以所述多个呈现格式中的与所述选项卡相关联的一个呈现格式在所述资源管理器面板上呈现所述可浏览项目部件。
CN202010237604.3A 2019-09-27 2020-03-30 用户界面逻辑视图和执行视图导航和转换 Active CN112579226B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/585,887 2019-09-27
US16/585,887 US20210096704A1 (en) 2019-09-27 2019-09-27 User interface logical and execution view navigation and shifting

Publications (2)

Publication Number Publication Date
CN112579226A CN112579226A (zh) 2021-03-30
CN112579226B true CN112579226B (zh) 2024-07-23

Family

ID=70058177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010237604.3A Active CN112579226B (zh) 2019-09-27 2020-03-30 用户界面逻辑视图和执行视图导航和转换

Country Status (3)

Country Link
US (3) US20210096704A1 (zh)
EP (1) EP3798817B1 (zh)
CN (1) CN112579226B (zh)

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD869491S1 (en) * 2018-06-03 2019-12-10 Apple Inc. Electronic device with graphical user interface
US11048483B2 (en) 2019-09-24 2021-06-29 Rockwell Automation Technologies, Inc. Industrial programming development with an extensible integrated development environment (IDE) platform
US10942710B1 (en) 2019-09-24 2021-03-09 Rockwell Automation Technologies, Inc. Industrial automation domain-specific language programming paradigm
US11392112B2 (en) 2019-09-26 2022-07-19 Rockwell Automation Technologies, Inc. Virtual design environment
US11163536B2 (en) 2019-09-26 2021-11-02 Rockwell Automation Technologies, Inc. Maintenance and commissioning
US11080176B2 (en) 2019-09-26 2021-08-03 Rockwell Automation Technologies, Inc. Testing framework for automation objects
US11042362B2 (en) 2019-09-26 2021-06-22 Rockwell Automation Technologies, Inc. Industrial programming development with a trained analytic model
US11733687B2 (en) 2019-09-26 2023-08-22 Rockwell Automation Technologies, Inc. Collaboration tools
US11442439B2 (en) * 2019-09-27 2022-09-13 Rockwell Automation Technologies, Inc. System and method for industrial automation device library
USD940172S1 (en) 2019-10-14 2022-01-04 Roche Molecular Systems, Inc. Display screen or portion thereof with graphical user interface for interactive guidelines for multidisciplinary cancer treatment planning
USD931314S1 (en) * 2019-10-14 2021-09-21 Roche Molecular Systems, Inc. Display screen or portion thereof with graphical user interface for interactive guidelines for multidisciplinary cancer treatment planning
US11308447B2 (en) 2020-04-02 2022-04-19 Rockwell Automation Technologies, Inc. Cloud-based collaborative industrial automation design environment
USD988336S1 (en) 2020-07-31 2023-06-06 Salesforce, Inc. Display screen or portion thereof with graphical user interface
USD988351S1 (en) 2020-07-31 2023-06-06 Salesforce, Inc. Display screen or portion thereof with graphical user interface
US11449028B2 (en) 2020-09-03 2022-09-20 Rockwell Automation Technologies, Inc. Industrial automation asset and control project analysis
US11561517B2 (en) 2020-09-09 2023-01-24 Rockwell Automation Technologies, Inc. Industrial development hub vault and design tools
US11294360B2 (en) * 2020-09-09 2022-04-05 Rockwell Automation Technologies, Inc. Industrial automation project code development guidance and analysis
US11415969B2 (en) 2020-09-21 2022-08-16 Rockwell Automation Technologies, Inc. Connectivity to an industrial information hub
US11796983B2 (en) 2020-09-25 2023-10-24 Rockwell Automation Technologies, Inc. Data modeling and asset management using an industrial information hub
US11341473B2 (en) 2020-09-30 2022-05-24 Block, Inc. Context-based communication requests
US12008665B2 (en) 2020-09-30 2024-06-11 Block, Inc. Methods and system for sensor-based layout generation
US11803829B2 (en) 2020-09-30 2023-10-31 Block, Inc. Device-aware communication requests
CN113359617B (zh) * 2021-06-11 2022-10-04 中山凯旋真空科技股份有限公司 一种工艺流程控制方法及控制系统
CN113703738A (zh) * 2021-09-02 2021-11-26 工银科技有限公司 前端开发方法、装置、设备及介质
CN113566864A (zh) * 2021-09-03 2021-10-29 合肥米克光电技术有限公司 一种基于5g和边缘计算的分布式机器视觉系统
USD985594S1 (en) * 2021-10-11 2023-05-09 Hint, Inc. Display screen or portion thereof with a graphical user interface
USD999779S1 (en) * 2021-10-11 2023-09-26 Hint, Inc. Display screen or portion thereof with a graphical user interface
USD989791S1 (en) * 2021-10-11 2023-06-20 Hint, Inc. Display screen or portion thereof with a graphical user interface
USD989790S1 (en) * 2021-10-11 2023-06-20 Hint, Inc. Display screen or portion thereof with a graphical user interface
CN113918263B (zh) * 2021-11-11 2023-09-05 盐城天眼察微科技有限公司 视图组件的虚拟路由方法、装置、设备及计算机存储介质
USD1009895S1 (en) * 2021-11-17 2024-01-02 Google Llc Display screen or portion thereof with graphical user interface
USD1009894S1 (en) * 2021-11-17 2024-01-02 Google Llc Display screen or portion thereof with graphical user interface
USD1016849S1 (en) * 2021-12-06 2024-03-05 Pied Parker, Inc. Display screen with graphical user interface
USD995545S1 (en) * 2021-12-09 2023-08-15 Lemon Inc. Display screen or portion thereof with an animated graphical user interface
USD1021943S1 (en) * 2021-12-15 2024-04-09 Block, Inc. Display screen or portion thereof with a graphical user interface
US11914994B2 (en) 2021-12-17 2024-02-27 Rockwell Automation Technologies, Inc. Collaborative work in industrial system projects
CN114489616B (zh) * 2022-01-06 2024-08-20 深圳市友睿达科技有限公司 一种工控上位机运动控制系统及软件编辑方法
US11423193B1 (en) * 2022-04-27 2022-08-23 Inductive Automation, LLC Perspective piping for a human machine interface
CN115061671B (zh) * 2022-06-20 2023-05-09 北京数字冰雹信息技术有限公司 一种数字孪生应用页面与业务逻辑的配置方法及系统
US20240019851A1 (en) * 2022-07-12 2024-01-18 Rockwell Automation Technologies, Inc. Extensible profiles for industrial controller devices
CN117519540A (zh) * 2022-07-28 2024-02-06 北京小米移动软件有限公司 调节分屏窗口的方法、装置、电子设备及存储介质
US12079624B2 (en) * 2022-09-09 2024-09-03 Rockwell Automation Technologies, Inc. Method for connecting a web socket session with an object instance with automation device association
US12014172B2 (en) 2022-09-27 2024-06-18 Rockwell Automation Technologies, Inc. Presentation design dynamic generation from data model server
US20240176320A1 (en) * 2022-11-30 2024-05-30 Rockwell Automation Technologies, Inc. Automation program controller allocation
US20240176919A1 (en) * 2022-11-30 2024-05-30 Rockwell Automation Technologies, Inc. Smart object controller allocation in industrial design environment
US12056467B2 (en) 2022-11-30 2024-08-06 Rockwell Automation Technologies, Inc. Multiple controller smart object allocation in industrial design environment
CN115658215B (zh) * 2022-12-14 2023-03-31 网思科技股份有限公司 数字孪生的可视化操作方法、系统和可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102227692A (zh) * 2008-09-29 2011-10-26 费希尔-罗斯蒙特系统公司 过程控制系统的元件的高效设计和配置

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7548238B2 (en) * 1997-07-02 2009-06-16 Nvidia Corporation Computer graphics shader systems and methods
WO2000070417A1 (en) * 1999-05-17 2000-11-23 The Foxboro Company Process control configuration system with parameterized objects
US7165226B2 (en) * 2002-08-23 2007-01-16 Siemens Aktiengesellschaft Multiple coupled browsers for an industrial workbench
US7493310B2 (en) * 2002-12-30 2009-02-17 Fisher-Rosemount Systems, Inc. Data visualization within an integrated asset data system for a process plant
US7324856B1 (en) * 2003-09-25 2008-01-29 Rockwell Automation Technologies, Inc. Autogeneration of code via human-machine interfaces (HMI) and self-building HMI
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
CA2578385A1 (en) * 2004-09-10 2006-03-23 Graphlogic Inc. Object process graph application development system
US7925994B2 (en) * 2005-07-07 2011-04-12 Microsoft Corporation Task navigator including a user based navigation interface
WO2007030421A2 (en) * 2005-09-07 2007-03-15 Amx Llc Method and computer program for device configuration
US7729887B2 (en) * 2006-04-11 2010-06-01 Invensys Systems, Inc. System management user interface providing user access to status information for process control system equipment including a status monitor
US7702487B2 (en) * 2006-04-11 2010-04-20 Invensys Systems, Inc. System management user interface providing user access to status information for process control system equipment including displayed propagated status in a navigation pane
US7835805B2 (en) * 2006-09-29 2010-11-16 Rockwell Automation Technologies, Inc. HMI views of modules for industrial control systems
US8302006B2 (en) * 2007-02-28 2012-10-30 Rockwell Automation Technologies, Inc. Interactive tooltip to display and navigate to different resources of a data point
US8201096B2 (en) * 2007-06-09 2012-06-12 Apple Inc. Browsing or searching user interfaces and other aspects
US8910113B2 (en) * 2009-09-22 2014-12-09 Adobe Systems Incorporated Methods and systems for visual code refactoring
US8798775B2 (en) * 2011-06-28 2014-08-05 Rockwell Automation Technologies, Inc. Binding graphic elements to controller data
US8914794B2 (en) * 2011-06-30 2014-12-16 Rockwell Automation Technologies, Inc. Multiple deployment of applications with multiple configurations in an industrial automation environment
US9239573B2 (en) * 2012-04-16 2016-01-19 Rockwell Automation Technologies, Inc. Mapping between hierarchies in an industrial automation system
US10678225B2 (en) * 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
DE102014006699A1 (de) * 2013-12-23 2015-06-25 Sew-Eurodrive Gmbh & Co Kg Verfahren zur Zuordnung von Komponenten einer industriellen Anlage zu einem Navigationsbaum, Verfahren zur Parametrierung und/oder Inbetriebnahme von Komponenten einer industriellen Anlage, Zuordnungsvorrichtung und Parametrierungs- und/oder Inbetriebnahmevorrichtung
CN107533453B (zh) * 2015-03-06 2021-06-01 思科技术公司 用于生成数据可视化应用的系统和方法
US10740409B2 (en) * 2016-05-20 2020-08-11 Magnet Forensics Inc. Systems and methods for graphical exploration of forensic data
US20180113682A1 (en) * 2016-10-20 2018-04-26 Johnson Controls Technology Company Building control manager with integrated engineering tool and controller application file application program interface (api)

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102227692A (zh) * 2008-09-29 2011-10-26 费希尔-罗斯蒙特系统公司 过程控制系统的元件的高效设计和配置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
visual studio code用户界面.visual studio code用户界面.《http://web.archive.org/web/20190917151141/https://code.visualstudio.com /docs/getstarted/userinterface/》.2019,第1-18页. *
visual studio code用户界面;visual studio code用户界面;《http://web.archive.org/web/20190917151141/https://code.visualstudio.com /docs/getstarted/userinterface/》;第1-18页 *

Also Published As

Publication number Publication date
US20210096704A1 (en) 2021-04-01
US20240036708A1 (en) 2024-02-01
EP3798817A1 (en) 2021-03-31
US11816309B2 (en) 2023-11-14
US20220197454A1 (en) 2022-06-23
EP3798817C0 (en) 2023-08-30
CN112579226A (zh) 2021-03-30
EP3798817B1 (en) 2023-08-30

Similar Documents

Publication Publication Date Title
CN112579226B (zh) 用户界面逻辑视图和执行视图导航和转换
CN112579050B (zh) 工业应用开发系统、工业自动化项目开发方法和介质
US11681502B2 (en) Industrial automation domain-specific language programming paradigm
CN112631555A (zh) 具有开放api的可扩展ide平台
CN112579051B (zh) 开发工业应用的系统和管理工业开发工作空间的方法
US20230333822A1 (en) Graphical and text based co-design editor for industrial automation projects
EP4296803A1 (en) Device configuration object template with user interaction for device properties generator
US12025973B2 (en) Industrial automation controller project online/offline state separation
EP4345603A1 (en) Use of device profiles in automation projects
EP4345602A1 (en) Presentation design to automation device binding
US12014172B2 (en) Presentation design dynamic generation from data model server
EP4307105A1 (en) Extensible profiles for industrial control modules
US12079624B2 (en) Method for connecting a web socket session with an object instance with automation device association

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant