CN116917862A - 用于跨控制对象执行工作流任务的方法和装置 - Google Patents

用于跨控制对象执行工作流任务的方法和装置 Download PDF

Info

Publication number
CN116917862A
CN116917862A CN202180094219.0A CN202180094219A CN116917862A CN 116917862 A CN116917862 A CN 116917862A CN 202180094219 A CN202180094219 A CN 202180094219A CN 116917862 A CN116917862 A CN 116917862A
Authority
CN
China
Prior art keywords
workflow
script
control object
control
runtime
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.)
Pending
Application number
CN202180094219.0A
Other languages
English (en)
Inventor
朱义鹏
吴剑强
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.)
Siemens Ltd China
Original Assignee
Siemens Ltd China
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 Siemens Ltd China filed Critical Siemens Ltd China
Publication of CN116917862A publication Critical patent/CN116917862A/zh
Pending legal-status Critical Current

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
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • 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/23278Program by data flow
    • 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/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31449Monitor workflow, to optimize business, industrial processes
    • 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/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36032Script, interpreted language

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Economics (AREA)
  • Quality & Reliability (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Automation & Control Theory (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

一种用于跨控制对象执行工作流任务的方法和装置。所述方法包括:从编程工具(110)接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据;从所述工作流描述数据提取与所述至少一个控制对象相关联的工作流任务模型;基于所述工作流任务模型,生成用于实现所述工作流任务的基于文本的脚本;以及经由脚本引擎解释并执行所述脚本。根据所述方法,可以动态地创建功能块而无需重新编译,提高了用户的编程效率,并提供良好的版本控制。

Description

用于跨控制对象执行工作流任务的方法和装置 技术领域
本公开涉及自动化系统领域,更具体地说,涉及用于跨控制对象执行工作流任务的方法、装置、计算设备、非暂时性机器可读存储介质、计算机程序和计算机程序产品。
背景技术
当前,自动化系统提供商通常将编程工具(engineering tool)提供给用户以编排针对控制对象(例如,机器人等)的工作流任务,同时编程工具需要特定的运行时环境或执行器(runtime)来执行编程工具所提供的工作流任务,例如,控制机器人的移动。因此,要有与编程工具合作的运行时执行器来解释用户的目的并控制相关的控制对象。
例如,4DIAC-RTE(FORTE)提供了符合IEC 61499标准的运行时环境的小型便携式C++实现,它支持在小型嵌入式设备上执行分布式控制程序。然而,这种实现方式存在以下不足:不能动态定义功能块,当添加新功能时需要重新编译运行时执行器;需要为开放性构建新的标准,导致开放性不强;如果存在功能块出错会导致执行过程崩溃,稳定性不够;执行逻辑不能被文本化,不利于版本控制;执行数据不容易可视化;由于功能块由C++定义,对于用户(例如,工程技术人员)而言编程效率较低。
发明内容
为了解决现有技术中的上述问题,本公开提供了用于跨控制对象执行工作流任务的解决方案。该解决方案通过提供针对工作流任务的可解释和可执行的文本描述,可以动态地创建功能块而无需重新编译,提高了用户的编程效率,并提供良好的版本控制。
根据本公开的第一方面,提供了一种用于跨控制对象执行工作流任务的 方法,所述方法包括:从编程工具接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据;从所述工作流描述数据提取与所述至少一个控制对象相关联的工作流任务模型;基于所述工作流任务模型,生成用于实现所述工作流任务的基于文本的脚本;以及经由脚本引擎解释并执行所述脚本。
根据本公开的第二方面,提供了一种用于跨控制对象执行工作流任务的装置,所述装置包括:通信接口,被配置为从编程工具接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据;解析器,被配置为从所述工作流描述数据提取与所述至少一个控制对象相关联的工作流任务模型;基于所述工作流任务模型,生成用于实现所述工作流任务的基于文本的脚本;以及经由脚本引擎解释并执行所述脚本。
根据本公开的第三方面,提供了一种用于跨控制对象执行工作流任务的系统,包括:编程工具;以及多个根据本公开的第二方面所述的装置。
根据本公开的第四方面,提供了一种计算设备,所述计算设备包括:至少一个处理器;以及与所述至少一个处理器耦合的存储器,用于存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行根据本公开的第一方面描述的方法。
根据本公开的第五方面,提供了一种非暂时性机器可读存储介质,具有存储在其上的可执行指令,所述可执行指令在被执行时使得机器执行根据本公开的第一方面描述的方法。
根据本公开的第六方面,提供了一种计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据本公开的第一方面描述的方法。
根据本公开的第七方面,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据本公开的第一方面描述的方法。
附图说明
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他 方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:
图1示出了根据本公开的实施例的其中可以用于跨控制对象执行工作流任务的示例性系统。
图2示出了包括在图1中的系统中的、用于跨控制对象执行工作流任务的示例性装置。
图3示出了根据本公开的实施例的用于跨控制对象执行工作流任务的方法的示例性方法的流程图。
图4示出了根据本公开的实施例的示例性工作流任务的示图。
图5示出了根据本公开的实施例的示例性基于文本的脚本。
图6示出了根据本公开的实施例的用于跨控制对象执行工作流任务的示例性计算设备的框图。
具体实施方式
以下参考附图详细描述本公开的各个示例性实施例。虽然以下所描述的示例性方法、装置包括在其他组件当中的硬件上执行的软件和/或固件,但是应当注意,这些示例仅仅是说明性的,而不应看作是限制性的。例如,考虑在硬件中独占地、在软件中独占地、或在硬件和软件的任何组合中可以实施任何或所有硬件、软件和固件组件。因此,虽然以下已经描述了示例性的方法和装置,但是本领域的技术人员应容易理解,所提供的示例并不用于限制用于实现这些方法和装置的方式。
此外,附图中的流程图和框图示出了根据本公开的各个实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语是开放性的术语,即“包 括/包含但不限于”,表示还可以包括其他内容。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”等等。
图1示出了其中可以用于跨控制对象执行工作流任务的示例性系统100。示例性系统100包括编程工具110、中间件120、以及多个运行时执行器200-1、200-2、200-3。运行在例如工程站主机上的编程工具110可以通过例如交互的人机界面(HMI)编写针对跨至少一个控制对象执行的工作流任务,根据工作流任务生成工作流描述数据,然后通过例如无线或有线连接将工作流描述数据发送给运行时执行器200-1、200-2、200-3。运行时执行器200-1、200-2、200-3可以将接收到的工作流描述数据转化为可由脚本引擎(例如,Python、CPython、Nodejs引擎等)执行的基于文本描述的脚本并执行该脚本,以实现工作流任务。不同的运行时执行器200-1、200-2、200-3可以以软件或硬件形式来实施,并运行在相同的设备上(例如,通过不同的端口进行区分)或运行在不同的设备上。
中间件120可以与编程工具110和运行时执行器200-1、200-2、200-3通信,以实现彼此之间的数据传输和控制调度,因此中间件120充当了编程工具110和运行时执行器之间、以及运行时执行器之间的数据总线。
应当理解,图1中编程工具、中间件、以及运行时执行器的数量仅仅是示例,在其他示例中,编程工具、中间件、以及运行时执行器的数量可以是其他合适的数量。例如,运行时执行器可以从多个不同类型的编程工具接收符合标准格式(例如,IEC 61499或其他未来可能的开放标准等)的工作流任务描述数据,并将其转化成可执行的脚本。
图2示出了包括在图1中的系统100中的、用于跨控制对象执行工作流任务的示例性装置200-1。示例性装置200-1包括通信接口(未示出)、解析器210、脚本生成器220、以及脚本引擎模块230。示例性装置200-1的通信接口被配置为从编程工具110接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据,并将工作流描述数据提供给解析器210。解析器220被配置为从工作流描述数据提取与所述至少一个控制对象相关联的工作流任务模型。脚本生成器220被配置为基于工作流任务模型来生成用于实现工作流任务的基于文本的脚本,并将脚本提供给脚本引擎模块230。脚本引 擎模块230被配置为解释并执行所生成的脚本。
在一个示例中,装置200-1可以经由中间件120与编程工具110通信以实现对所述工作流任务的执行过程的监视和控制,其可以包括以下中的至少一个:脚本引擎模块230被配置为向中间件120映射关于执行过程的状态数据和过程数据,以便编程工具110可以获取状态数据和过程数据;脚本引擎模块230被配置为通过中间件120从编程工具110接收关于执行过程的控制信息。通过中间件120提供装置200-1与编程工具110之间的通信交互,可以实现系统解耦,并适用于分布式控制系统,且可灵活地根据性能需要更换中间件,例如,可以将中间件实现为实时数据总线(例如DDS)以确保实时数据传输。例如,脚本引擎模块230可以基于发布/订阅关系或信息,向中间件120发布由编程工具110订阅的状态数据和过程数据(例如,功能块、控制对象、执行流程的状态数据(例如,运行、停止、执行到过程中的何处、执行时间等)、过程数据(例如,由功能块、控制对象在执行中生成的数据等))。例如,脚本引擎模块230被配置为通过中间件120从编程工具110接收关于执行过程的控制信息,以控制该过程的执行(例如,在何处、何时停止或继续执行、重新启动、异常处理等),例如编程工具110可以基于经由中间件120从运行时执行器200-1的脚本引擎230获取的状态数据和过程数据来生成控制信息以反向控制过程的执行。由于编程工具110可以通过中间件120方便地和运行时执行器交换数据,从而可以容易地在HMI中显示获取的状态和过程数据,因此,与现有的诸如FORTE的实现方式相比,可以不需要另外以C++语言编写数据通信,并解决数据不容易可视化和编程效率低的问题。
在一个示例中,工作流任务模型描述与至少一个控制对象相关联的多个功能块和该多个功能块之间的连接关系。例如,解析器210可以从工作流描述数据解析出功能块(节点)和功能块之间的连接关系,每个功能块可以与特定的运行时执行器及控制对象相关联,并且功能块之间的连接关系可以指示运行时执行器之间的协同关系。通过工作流任务模型描述的功能块可以具有例如输入/输出、功能逻辑(例如,事件等)。
在一个示例中,脚本可以包括:导入功能块的文本描述、重载功能块的文本描述、功能块参数设置的文本描述、事件调度的文本描述。下文将结合 图5详细描述文本化的脚本的细节。
在一个示例中,脚本引擎模块230可以被配置为在虚拟机230上实例化与至少一个控制对象相关联的功能块并执行功能块。例如,脚本引擎模块230可以是Python、CPython、Nodejs等高级语言引擎,通过在虚拟机230上调用与控制对象对应的模块(其可以是现有的或自动化系统提供商提供的)来实例化功能块。此外,脚本引擎模块230可以通过在虚拟机230上调用和/或下载来自引擎的社区库和生态系统的模块(其可以是由第三方提供的)来实例化功能块,从而极大地减低了用户的开发难度。例如,如果用户想要在工作流任务中添加用于控制PLC的模块(例如,modbus模块)但是并不熟悉该模块,则可以自定义功能以直接下载由社区库和生态系统提供的modbus模块并导入运行时执行器来实现相关的业务逻辑。利用成熟的各种脚本引擎及其内建的虚拟机机制和生态系统,可以避免功能块或模块出错导致的执行过程崩溃,并有着良好的开放性,因此,与现有的诸如FORTE的实现方式相比,可以解决开放性不强和稳定性不够的问题。
在一个示例中,至少一个控制对象包括协同操作的第一控制对象和第二控制对象,并且其中,脚本引擎模块230是在第一运行时执行器200-1上的第一脚本引擎模块并被配置为执行与第一控制对象相关的脚本,并且与第二控制对象相关的脚本经由第二运行时执行器(例如,200-2或200-3)上的第二脚本引擎模块执行,第一运行时执行器200-1与第二运行时执行器(例如,或200-3)之间的控制对象调度经由中间件120实现。在现有的诸如FORTE的实现方式中,多个运行时执行器之间的协同调度必须通过显式地添加协议通信模块(例如,socket通信模块,如成对的socket publish和subscribe模块等)来实现,相比之下,本公开通过提供中间件来避免了显式地添加协议通信模块的需要,使得用户不必关心运行时执行器之间的协同通信是如何实现的。
在一个示例中,工作流描述数据是根据IEC 61499标准来生成的。IEC 61499标准是国际电工委员会发布的是用于分布式工业过程测量与控制系统(IPMCS)的标准。通过提供严格遵循IEC标准的数据格式,可以解决不同厂商设备之间的互操作性。在其他示例中,工作流描述数据可以符合标准格式,例如,已有的各种开放标准或未来可能的开放标准等的数据格式。
图3示出了根据本公开的实施例的用于跨控制对象执行工作流任务的方法的示例性方法300的流程图。方法300可以由例如图1或图2中的任何运行时执行器200-1、200-2或200-3实现。
如图3所示,方法300从步骤301开始。在步骤301,从编程工具接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据。例如,步骤301可以由如图2所示的装置200-1的通信接口执行。
在一个示例中,工作流描述数据是根据IEC 61499标准来生成的。
接着,方法300行进到步骤302。在步骤302,从工作流描述数据提取与至少一个控制对象相关联的工作流任务模型。例如,步骤302可以由如图2所示的装置200-1的解析器210执行。
在一个示例中,工作流任务模型描述与至少一个控制对象相关联的多个功能块和该多个功能块之间的连接关系。
接着,方法300行进到步骤303。在步骤303,基于所述工作流任务模型,生成用于实现所述工作流任务的基于文本的脚本。例如,步骤303可以由如图2所示的装置200-1的脚本生成器220执行。
在一个示例中,步骤303可以包括:生成导入功能块的文本描述、重载功能块的文本描述、功能块参数设置的文本描述、事件调度的文本描述。
接着,方法300行进到步骤304。在步骤304,经由脚本引擎解释并执行所述脚本。例如,步骤304可以由如图2所示的装置200-1的脚本引擎模块230执行。
在一个示例中,步骤304可以包括:在虚拟机上实例化与至少一个控制对象相关联的功能块并执行功能块。
在一个示例中,方法300还可以包括以下步骤:经由中间件与编程工具通信以实现对工作流任务的执行过程的可视化监视和控制,其可以包括以下中的至少一个:经由脚本引擎向中间件映射关于执行过程的状态数据和过程数据,以便编程工具获取状态数据和过程数据;经由脚本引擎通过中间件从编程工具接收关于执行过程的控制信息。例如,该步骤可以由如图2所示的装置200-1的脚本引擎模块230执行。
在一个示例中,至少一个控制对象可以包括协同操作的第一控制对象和第二控制对象,并且其中,经由脚本引擎解释并执行脚本可以包括:经由第 一运行时执行器上的第一脚本引擎执行与第一控制对象相关的脚本,经由第二运行时执行器上的第二脚本引擎执行与第二控制对象相关的脚本;以及方法300还可以包括:经由中间件实现第一运行时执行器与第二运行时执行器之间的控制对象调度。
根据图2和图3所描述的用于跨控制对象执行工作流任务的装置和方法,具有以下优点:通过提供针对工作流任务的可解释和可执行的基于文本的脚本,可以动态地创建功能块而无需重新编译,提高了用户的编程效率,并提供良好的版本控制;通过提供中间件来更好地支持数据交换,容易实现数据可视化并提高编程效率;以及通过提供成熟的脚本引擎及其内建的虚拟机机制和生态系统,可以提供良好的开放性和稳定性。
图4示出了根据本公开的实施例的示例性工作流任务400的示图。如图4所示,利用编程工具(例如,编程工具110),在一个场景下,用户可以通过拖放多个功能块401、402、403、404、405、406来实现机器人臂和抓手的系统配置。功能块401和406分别表示工作流任务400的Start和Done,功能块402和404由和机器人臂相关的运行时执行器(例如,Runtime1)执行并且分别表示Robot_Init和Robot_Move,功能块403和405由和抓手相关的运行时执行器(例如,Runtime2)执行并且分别表示Gripper_Init和Gripper_Move。多个功能块401-406之间的连接表示彼此的协同关系,例如,功能块401的输出为done,功能块406的输入为done,并且功能块402-405中的每个功能块的输入为start且输出为done。即,功能块401-406和其连接示出了机器人臂和抓手相配合实现例如物体放置的过程,并且机器人臂和抓手需要协同操作。如前所述,不同运行时执行器之间的协同调度可以通过中间件来实现。运行时执行器的解析器可以从关于工作流任务的工作流描述数据提取工作流任务模型,工作流任务模型描述与至少一个控制对象(例如,机器人臂或抓手)相关联的多个功能块和该多个功能块之间的连接关系。例如,可以通过节点和链接来解析工作流任务400,将关于Robot_Init的功能块转化为功能块节点,并且在功能块401和402之间的连线将被转换成具有起始点(Start.done)和结束点(Robot_Init.start)的链接。
图5示出了根据本公开的实施例的示例性基于文本的脚本500。例如,脚本500可以由图2所示的装置200-1的脚本生成器220生成。脚本500可 以包括导入功能块的文本描述501、重载功能块的文本描述502、功能块参数设置的文本描述503、事件调度的文本描述504、以及可选的其他文本描述505(例如,线程安全、进程控制等)。
以下的伪代码给出了导入功能块的文本描述501的示例:
以下的伪代码给出了重载功能块的文本描述502的示例,例如重载功能块的输出实现:
以下的伪代码给出了功能块参数设置的文本描述503的示例,例如总线设置功能块默认参数值:
以下的伪代码给出了事件调度的文本描述504的示例,例如总线事件调度:
在本公开中,用于跨控制对象执行工作流任务的装置200-1、200-2、200-3可以由计算设备实现。图6示出了根据本公开的实施例的用于跨控制对象执行工作流任务的示例性计算设备600的框图。根据一个实施例,计算设备600可以包括处理器601,处理器601执行在计算机可读存储介质(即,存储器602)中存储或编码的至少一个计算机可读指令。
在一个实施例中,在存储器602中存储计算机可执行指令,当计算机可执行指令被执行时使得至少一个处理器601:从编程工具接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据;从所述工作流描述数据提取与所述至少一个控制对象相关联的工作流任务模型;基于所述工作流任务模型,生成用于实现所述工作流任务的基于文本的脚本;以及经由脚本引擎解释并执行所述脚本。
应该理解,在存储器602中存储的计算机可执行指令被执行时使得至少一个处理器601进行本公开的各个实施例中以上结合图1-图5描述的方 法和装置的各种操作和功能。
根据一个实施例,提供了一种非暂时性机器可读介质。该非暂时性机器可读介质可以具有机器可执行指令,该指令当被机器执行时,使得机器执行本公开的各个实施例中以上结合图1-图5描述的方法和装置的各种操作和功能。
根据一个实施例,提供了一种计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中以上结合图1-图5描述的方法和装置的各种操作和功能。
根据一个实施例,提供了一种计算机程序产品,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行本公开的各个实施例中以上结合图1-图5描述的方法和装置的各种操作和功能。
一般而言,本公开的各个示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
用于执行本公开的各个实施例的计算机可读程序指令或者计算机程序产品也能够存储在云端,在需要调用时,用户能够通过移动互联网、固网或者其他网络访问存储在云端上的用于执行本公开的一个实施例的计算机可读程序指令,从而实施依据本公开的各个实施例所公开的技术方案。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本公开内容的上述描述被提供来使得本领域任何普通技术人员能够实 现或者使用本公开内容。对于本领域普通技术人员来说,对本公开内容进行的各种修改是显而易见的,并且也可以在不脱离本公开内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本公开内容并不限于本文所描述的示例和设计,而是与符合本文公开的原理和新颖性特征的最广范围相一致。

Claims (19)

  1. 用于跨控制对象执行工作流任务的方法,包括:
    从编程工具接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据;
    从所述工作流描述数据提取与所述至少一个控制对象相关联的工作流任务模型;
    基于所述工作流任务模型,生成用于实现所述工作流任务的基于文本的脚本;以及
    经由脚本引擎解释并执行所述脚本。
  2. 根据权利要求1所述的方法,还包括:
    经由中间件与所述编程工具通信以实现对所述工作流任务的执行过程的可视化监视和控制,其包括以下中的至少一个:
    经由所述脚本引擎向所述中间件映射关于执行过程的状态数据和过程数据,以便所述编程工具获取所述状态数据和所述过程数据;
    经由所述脚本引擎通过所述中间件从所述编程工具接收关于执行过程的控制信息。
  3. 根据权利要求1所述的方法,其中,所述工作流任务模型描述与所述至少一个控制对象相关联的多个功能块和所述多个功能块之间的连接关系。
  4. 根据权利要求3所述的方法,其中,基于所述工作流任务模型,生成用于实现所述工作流任务的基于文本的脚本包括:生成导入功能块的文本描述、重载功能块的文本描述、功能块参数设置的文本描述、事件调度的文本描述。
  5. 根据权利要求3所述的方法,其中,经由脚本引擎解释并执行所述脚本包括:在虚拟机上实例化与所述至少一个控制对象相关联的功能块并执 行所述功能块。
  6. 根据权利要求1所述的方法,其中,所述至少一个控制对象包括协同操作的第一控制对象和第二控制对象,并且其中,
    经由脚本引擎解释并执行所述脚本包括:经由第一运行时执行器上的第一脚本引擎执行与所述第一控制对象相关的脚本,经由第二运行时执行器上的第二脚本引擎执行与所述第二控制对象相关的脚本;以及
    所述方法还包括:经由中间件实现所述第一运行时执行器与所述第二运行时执行器之间的控制对象调度。
  7. 根据权利要求1所述的方法,其中,所述工作流描述数据是根据IEC61499标准来生成的。
  8. 用于跨控制对象执行工作流任务的装置,包括:
    通信接口,被配置为从编程工具接收与跨至少一个控制对象执行的工作流任务相关联的工作流描述数据;
    解析器,被配置为从所述工作流描述数据提取与所述至少一个控制对象相关联的工作流任务模型;
    脚本生成器,被配置为基于所述工作流任务模型来生成用于实现所述工作流任务的基于文本的脚本;以及
    脚本引擎模块,被配置为解释并执行所述脚本。
  9. 根据权利要求8所述的装置,其中,所述装置经由中间件与所述编程工具通信以实现对所述工作流任务的执行过程的监视和控制,其包括以下中的至少一个:
    所述脚本引擎模块被配置为向所述中间件映射关于执行过程的状态数据和过程数据,以便所述编程工具获取所述状态数据和所述过程数据;
    所述脚本引擎模块被配置为通过所述中间件从所述编程工具接收关于执行过程的控制信息。
  10. 根据权利要求8所述的装置,其中,所述工作流任务模型描述与所述至少一个控制对象相关联的多个功能块和所述多个功能块之间的连接关系。
  11. 根据权利要求10所述的装置,其中,所述脚本包括:导入功能块的文本描述、重载功能块的文本描述、功能块参数设置的文本描述、事件调度的文本描述。
  12. 根据权利要求10所述的装置,其中,所述脚本引擎模块被配置为在虚拟机上实例化与所述至少一个控制对象相关联的功能块并执行所述功能块。
  13. 根据权利要求8所述的装置,其中,所述至少一个控制对象包括协同操作的第一控制对象和第二控制对象,并且其中,
    所述脚本引擎模块是在第一运行时执行器上的第一脚本引擎模块并被配置为执行与所述第一控制对象相关的脚本,并且与所述第二控制对象相关的脚本经由第二运行时执行器上的第二脚本引擎模块执行;以及
    所述第一运行时执行器与所述第二运行时执行器之间的控制对象调度经由中间件实现。
  14. 根据权利要求8所述的装置,其中,所述工作流描述数据是根据IEC61499标准来生成的。
  15. 用于跨控制对象执行工作流任务的系统,包括:
    编程工具;以及
    多个根据权利要求8-14中的任一项所述的装置。
  16. 计算设备,包括:
    至少一个处理器;以及
    与所述至少一个处理器耦合的存储器,用于存储指令,当所述指令被所 述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到7中任一所述的方法。
  17. 非暂时性机器可读存储介质,具有存储在其上的可执行指令,所述可执行指令在被执行时使得机器执行根据权利要求1到7中任一项所述的方法。
  18. 计算机程序,包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行如权利要求1到7中任一所述的方法。
  19. 计算机程序产品,所述计算机程序产品被有形地存储在计算机可读存储介质上,并且包括计算机可执行指令,所述计算机可执行指令在被执行时使至少一个处理器执行根据权利要求1到7中任一项所述的方法。
CN202180094219.0A 2021-03-31 2021-03-31 用于跨控制对象执行工作流任务的方法和装置 Pending CN116917862A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/084678 WO2022205173A1 (zh) 2021-03-31 2021-03-31 用于跨控制对象执行工作流任务的方法和装置

Publications (1)

Publication Number Publication Date
CN116917862A true CN116917862A (zh) 2023-10-20

Family

ID=83455183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180094219.0A Pending CN116917862A (zh) 2021-03-31 2021-03-31 用于跨控制对象执行工作流任务的方法和装置

Country Status (4)

Country Link
US (1) US20240184541A1 (zh)
EP (1) EP4300295A1 (zh)
CN (1) CN116917862A (zh)
WO (1) WO2022205173A1 (zh)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060212842A1 (en) * 2005-03-15 2006-09-21 Microsoft Corporation Rich data-bound application
CN102236679A (zh) * 2010-04-27 2011-11-09 杭州德昌隆信息技术有限公司 基于浏览器页面的工作流输出方法及装置
US8910166B2 (en) * 2011-09-09 2014-12-09 Microsoft Corporation Automatic transcoding and semantic adaptation between scripting and workflow systems
CN103942722A (zh) * 2014-03-14 2014-07-23 郁建林 一种基于工作流的网络化数据协同报送统计系统及方法
CN107103448A (zh) * 2016-02-23 2017-08-29 上海御行信息技术有限公司 基于工作流的数据集成系统

Also Published As

Publication number Publication date
US20240184541A1 (en) 2024-06-06
EP4300295A1 (en) 2024-01-03
WO2022205173A1 (zh) 2022-10-06

Similar Documents

Publication Publication Date Title
US10705511B2 (en) Abstraction layers for automation applications
US20060265469A1 (en) XML based scripting framework, and methods of providing automated interactions with remote systems
US7739696B2 (en) Message translation systems and methods
CN101957745B (zh) 梯形图语言转换为结构文本语言的方法
CN111736954B (zh) 多智能合约虚拟机实现方法、多智能合约虚拟机及系统
CN111026439B (zh) 应用程序的兼容方法、装置、设备及计算机存储介质
Theiss et al. Software agents in industry: A customized framework in theory and praxis
US20050055429A1 (en) System and method for providing data and services for appliances, and appliances which use the provided data and services
CN110187986B (zh) 一种命令管理方法、系统、装置及计算机可读存储介质
CN113454551A (zh) 用于工业生态系统之间互操作性的自动化代码生成器
CN109507991B (zh) 一种双轴伺服控制平台调试系统及方法
Podlubne et al. Model-based approach for automatic generation of hardware architectures for robotics
CN110109671B (zh) 一种webpack标签尺寸样式转换方法及装置
JP2014085732A (ja) 異なるタイプのロボットミドルウェア間を連携する変換モジュールの生成方法及び装置
EP2037374A1 (en) Method for translating a graphical workflow in a textual description
CN116917862A (zh) 用于跨控制对象执行工作流任务的方法和装置
CN114095303B (zh) 通信设备、数据传输方法及电子设备
Paronen A web-based monitoring system for the Industrial Internet
CN114938397A (zh) 一种基于kaitai的高效率协议解包组包方法、系统和可读存储介质
Fend et al. CPSAML: A language and code generation framework for digital twin based monitoring of mobile cyber-physical systems
CN108614447B (zh) 风电机组的联合仿真方法、装置、设备及存储介质
CN105335153A (zh) 一种自动生成动态脚本的方法
US20210141710A1 (en) Development support device
Lüders et al. Adopting a component-based software architecture for an industrial control system–a case study
CN112639730A (zh) 用于程序文件编写和运行处理的方法及装置、系统

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