CN117970843A - 自动化流程的编辑方法和控制方法、系统、电子设备 - Google Patents

自动化流程的编辑方法和控制方法、系统、电子设备 Download PDF

Info

Publication number
CN117970843A
CN117970843A CN202311791054.XA CN202311791054A CN117970843A CN 117970843 A CN117970843 A CN 117970843A CN 202311791054 A CN202311791054 A CN 202311791054A CN 117970843 A CN117970843 A CN 117970843A
Authority
CN
China
Prior art keywords
node
variable
application program
data
variable node
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
CN202311791054.XA
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.)
Megarobo Technologies Co Ltd
Original Assignee
Megarobo Technologies Co Ltd
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 Megarobo Technologies Co Ltd filed Critical Megarobo Technologies Co Ltd
Priority to CN202311791054.XA priority Critical patent/CN117970843A/zh
Publication of CN117970843A publication Critical patent/CN117970843A/zh
Pending legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G47/00Article or material-handling devices associated with conveyors; Methods employing such devices
    • B65G47/74Feeding, transfer, or discharging devices of particular kinds or types
    • B65G47/90Devices for picking-up and depositing articles or materials
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B65CONVEYING; PACKING; STORING; HANDLING THIN OR FILAMENTARY MATERIAL
    • B65GTRANSPORT OR STORAGE DEVICES, e.g. CONVEYORS FOR LOADING OR TIPPING, SHOP CONVEYOR SYSTEMS OR PNEUMATIC TUBE CONVEYORS
    • B65G43/00Control devices, e.g. for safety, warning or fault-correcting
    • B65G43/08Control devices operated by article or material being fed, conveyed or discharged
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67BAPPLYING CLOSURE MEMBERS TO BOTTLES JARS, OR SIMILAR CONTAINERS; OPENING CLOSED CONTAINERS
    • B67B3/00Closing bottles, jars or similar containers by applying caps
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B67OPENING, CLOSING OR CLEANING BOTTLES, JARS OR SIMILAR CONTAINERS; LIQUID HANDLING
    • B67BAPPLYING CLOSURE MEMBERS TO BOTTLES JARS, OR SIMILAR CONTAINERS; OPENING CLOSED CONTAINERS
    • B67B7/00Hand- or power-operated devices for opening closed containers
    • 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/0423Input/output
    • 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
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop

Landscapes

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

Abstract

本申请实施例提供了一种自动化流程的编辑方法和控制方法、系统、电子设备。该编辑方法包括:显示第一用户界面,第一用户界面中包括由多个设备节点组成的自动化流程的流程图,每个设备节点对应自动化流程中的一个主设备;基于用户对目标节点的第一操作的操作信息,在流程图中的第一位置添加变量节点,第一位置在目标节点之前或之后,变量节点对应目标设备执行主操作所涉及的变量,目标设备是目标节点对应的主设备;确定与变量节点对应的应用程序调用指令的脚本信息,以在执行变量节点时根据脚本信息调用对应的应用程序对变量关联的数据执行处理操作。实现了对自动化流程中的数据的自动、实时且准确处理。

Description

自动化流程的编辑方法和控制方法、系统、电子设备
技术领域
本申请涉及自动化技术领域,具体地,涉及一种自动化流程的编辑方法、一种自动化流程的控制方法、一种自动化流程的编辑系统、一种自动化流程的控制系统、一种电子设备及一种存储介质。
背景技术
在自动化技术领域,常常涉及对自动化流程中的数据的处理。在一些情况下,数据的处理通常还涉及保密的问题。以实验室自动化流程为例。随着生命科学实验信息化的发展,实验室将实验信息化数据应用于数据挖掘、数据复杂统计等复杂数据应用领域,但具体的使用和处理方法是实验室的保密内容,需要防止未经授权的访问和披露。因此,如何在保密的情况下实现对实验数据的处理,成为实验室要解决的一个重要问题。
现有技术中,通常需要人工将自动化流程中的实验数据导出,然后由人工将导出的实验数据导入到实验人员的数据处理程序中进行处理。这种导出导入的数据处理方式,需要花费大量的人力成本和一定的时间成本。并且还容易出错,同时依然存在数据泄密的风险。
发明内容
为了至少部分地解决现有技术中存在的问题,根据本申请的第一个方面,提供了一种自动化流程的编辑方法,包括:
显示第一用户界面,其中,第一用户界面中包括由多个设备节点组成的自动化流程的流程图,每个设备节点对应自动化流程中的一个主设备;
基于用户对目标节点的第一操作的操作信息,在流程图中的第一位置添加变量节点,其中,目标节点是多个设备节点中的任意一个,第一位置在目标节点之前或者在目标节点之后,变量节点对应目标设备执行主操作所涉及的变量,目标设备是目标节点对应的主设备;以及
确定与变量节点对应的应用程序调用指令的脚本信息,以在执行变量节点时根据脚本信息调用对应的应用程序对变量关联的数据执行处理操作,其中,处理操作与应用程序的功能相对应。
示例性地,变量节点包括第一节点,第一节点在目标节点之前,应用程序包括具有数据模板创建功能的第一应用程序,确定与变量节点对应的应用程序调用指令的脚本信息,包括:
确定在第一节点执行的第一指令的脚本信息,以在目标设备执行主操作之前调用第一应用程序创建关于变量的数据写入模板,并在目标设备执行主操作时将变量关联的数据写入至模板中;
其中,第一指令是对第一应用程序的调用指令。
示例性地,变量节点包括第二节点,第二节点在目标节点之后,应用程序包括具有数据统计功能的第二应用程序,确定与变量节点对应的应用程序调用指令的脚本信息,包括:
确定在第二节点执行的第二指令的脚本信息,以在目标设备执行主操作之后调用第二应用程序对变量关联的数据进行统计;
其中,第二指令是对第二应用程序的调用指令。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,还包括:
确定变量关联的数据的第一存储地址,以在启动应用程序时将第一存储地址作为应用程序的启动参数,以使应用程序从第一存储地址获取变量关联的数据并执行处理操作。
示例性地,确定变量关联的数据的第一存储地址,包括:
获取变量的表达式的名称;以及
对表达式的名称进行拼接处理,以确定变量关联的数据的第一存储地址。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,包括:
确定应用程序的存储路径和应用程序的存储名称,以在执行变量节点时从存储路径调用该存储名称的应用程序对变量关联的数据执行处理操作。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,还包括:
确定变量节点关联的下一操作的执行时机信息,其中,执行时机信息包括第一执行信息和第二执行信息,第一执行信息表示下一操作在应用程序执行完处理操作后才执行,第二执行信息表示下一操作与应用程序执行处理操作并行执行。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,还包括:
确定是否保存应用程序的执行结果的信息。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,还包括:
确定第二存储地址的信息,其中第二存储地址是应用程序的执行结果的存储地址。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,包括:
响应于第一操作,显示第二用户界面,其中,第二用户界面包括第一控件,第一控件用于为用户提供添加调用应用程序的脚本步骤的输入接口或选择接口;以及
基于用户对第一控件的第二操作的操作信息,确定与变量节点对应的应用程序调用指令的脚本信息。
示例性地,基于用户对第一控件的第二操作的操作信息,确定与变量节点对应的应用程序调用指令的脚本信息,包括:
响应于第二操作,显示第三用户界面,其中第三用户界面包括至少一个第二控件,第二控件用于为用户提供设置脚本步骤的参数的输入接口或选择接口;
响应于用户对第二控件的第三操作,获取参数;以及
基于参数,确定与变量节点对应的应用程序调用指令的脚本信息。
根据本申请的另一方面,还提供一种自动化流程的控制方法,包括:
在执行自动化流程之前,利用上述自动化流程的编辑方法在流程图中的第一位置添加变量节点,并确定与变量节点对应的应用程序调用指令的脚本信息;以及
在执行自动化流程的过程中,在执行变量节点时,根据脚本信息调用应用程序对变量关联的数据执行处理操作。
根据本申请的另一方面,还提供一种自动化流程的编辑系统,其特征在于,包括:
显示模块,用于显示第一用户界面,其中,第一用户界面中包括由多个设备节点组成的自动化流程的流程图,每个设备节点对应自动化流程中的一个主设备;
节点添加模块,用于基于用户对目标节点的第一操作的操作信息,在流程图中的第一位置添加变量节点,其中,目标节点是多个设备节点中的任意一个,第一位置在目标节点之前或者在目标节点之后,变量节点对应目标设备执行主操作所涉及的变量,目标设备是目标节点对应的主设备;以及
确定模块,用于确定与变量节点对应的应用程序调用指令的脚本信息,以在执行变量节点时根据脚本信息调用对应的应用程序对变量关联的数据执行处理操作,其中,处理操作与应用程序的功能相对应。
根据本申请的另一方面,还提供一种自动化流程的控制系统,其特征在于,包括:
编辑模块,用于在执行自动化流程之前,利用上述自动化流程的编辑方法在流程图中的第一位置添加变量节点,并确定与变量节点对应的应用程序调用指令的脚本信息;以及
处理模块,用于在执行自动化流程的过程中,在执行变量节点时根据脚本信息调用应用程序对变量关联的数据执行处理操作。
根据本申请的另一方面,还提供一种电子设备,包括处理器和存储器,其特征在于,存储器中存储有计算机程序指令,计算机程序指令被处理器运行时用于执行上述自动化流程的编辑方法和/或如上述自动化流程的控制方法。
根据本申请的另一方面,还提供一种存储介质,在存储介质上存储了程序指令,程序指令在运行时用于执行上述自动化流程的编辑方法和/或上述自动化流程的控制方法。
如前所述,在自动化技术领域,常常需要对自动化流程中的数据进行处理。在一些场景下,数据的处理主要在保密的条件下执行。现有技术中,通常采用人工导出导入数据的处理方式实现,不仅需要花费大量的人力成本和一定的时间成本,还容易出错,同时依然存在数据泄密的风险。并且,在另一些场景下,即使在非保密场景下,也需要实时提取实验过程中一些设备的运行数据,并将这些数据保存至方便用户查看的数据文件中,从而可以方便用户基于这些数据对后续流程进行优化管理等等。现有技术中的导入导出的数据处理方式也难以应对自动化流程运行过程中数据的实时处理问题。而根据本申请实施例的上述自动化流程的编辑方法,通过提供显示有流程图的用户界面,并根据用户与用户界面的交互操作,可以实现在自动化流程中的目标节点前后添加变量节点,并确定与变量节点对应的应用程序调用指令的脚本信息。这样,在执行自动化流程的过程中,在目标设备执行主操作前后,即可执行该应用程序调用指令的脚本,从而可以自动并实时地调用对应的第三方应用程序对变量关联数据进行处理。这种方案通过用户的人机交互操作,在自动化流程中用户期望获取数据的实验节点前后添加包含调用第三方应用程序的指令脚本的变量节点,在自动化流程运行至该实验节点时,即可通过自动执行该指令脚本实现对数据的实时且准确处理。不仅实现了在有效保证数据和算法的保密的基础上对数据的自动、实时且准确处理,降低了人工导入导出数据而消耗的人力和时间成本。此外,这种方案还可以满足各种场景下的数据处理需求,不仅可以满足数据保密场景下和数据实时场景下的需求,还可以实现在高通量且实验流程多变的场景下对数据的准确处理。从而,这种方案的拓展性更好,用户体验也更好。
在发明内容中引入了一系列简化形式的概念,这将在具体实施方式部分中进一步详细说明。本申请内容部分并不意味着要试图限定出所要求保护的技术方案的关键特征和必要技术特征,更不意味着试图确定所要求保护的技术方案的保护范围。
以下结合附图,详细说明本申请的优点和特征。
附图说明
本申请的下列附图在此作为本申请的一部分用于理解本申请。附图中示出了本申请的实施方式及其描述,用来解释本申请的原理。在附图中,
图1示出根据本申请一个实施例的自动化流程的编辑方法的示意性流程图;
图2示出了根据本申请一个实施例的自动化流程的流程图的局部;
图3示出了根据本申请一个实施例的自动化流程的控制方法的示意性流程图;
图4示出了根据本申请一个实施例的自动化流程的编辑系统的流程图;
图5示出了根据本申请一个实施例的自动化流程的控制系统的流程图;以及
图6示出根据本申请实施例的电子设备的示意性框图。
具体实施方式
在下文的描述中,提供了大量的细节以便能够彻底地理解本申请。然而,本领域技术人员可以了解,如下描述仅示例性地示出了本申请的优选实施例,本申请可以无需一个或多个这样的细节而得以实施。此外,为了避免与本申请发生混淆,对于本领域公知的一些技术特征未进行详细描述。
如上文所述,在自动化技术领域,常常需要对自动化流程中的数据进行处理。在一些场景下,数据的处理主要在保密的条件下执行。例如,在实验室的自动化流程中,需要在保密的情况下提取实验过程中的一些数据进行分析,并生成数学模型以作为实验室的研究成果等等。现有技术中,通常采用人工导出导入数据的处理方式实现,不仅需要花费大量的人力成本和一定的时间成本,还容易出错,同时依然存在数据泄密的风险。
为了至少部分地解决上述技术问题,根据本申请的一个方面,提供了一种自动化流程的编辑方法。这种方案通过用户的人机交互操作,在自动化流程中用户期望获取数据对应的节点前后添加包含调用第三方应用程序的指令脚本的变量节点,在自动化流程运行至该变量节点时,即可通过自动执行该指令脚本实现对数据实时且准确的处理。不仅实现了在有效保证数据和算法的保密的基础上对数据的自动、实时且准确处理,降低了人工导入导出数据而消耗的人力和时间成本。此外,这种方案还可以满足各种场景下的数据处理需求,不仅可以满足数据保密场景下和数据实时场景下的需求,还可以实现在高通量且实验流程多变的场景下对数据的准确处理。从而,这种方案的拓展性更好,用户体验也更好。
根据本申请实施例的编辑方法可以应用于各种领域中针对各种合适的目标的自动化流程。为了简便,下文以生物化学领域的自动化系统中的自动化流程为例进行展开阐释。
图1示出根据本申请一个实施例的自动化流程的编辑方法100的示意性流程图。如图所示,该方法100包括步骤S120、步骤S140和步骤S160。
步骤S120,显示第一用户界面。其中,第一用户界面中包括由多个设备节点组成的自动化流程的流程图,每个设备节点对应自动化流程中的一个主设备。
根据本申请实施例,在执行自动化流程之前,用户可以根据实际需求对自动化流程进行编辑。示例性地,用户可以利用任意合适的人机交互设备进行自动化流程的编辑。示例性地,该人机交互设备可以包括控制主体以及连接控制主体的输入装置和显示装置。例如,该控制主体是主机,在主机的操作系统可以预先安装有自动化流程的编辑软件。示例性地,可以响应于用户利用输入装置的输入操作,利用显示装置显示第一用户界面。该第一用户界面可以具有任意合适的显示形式,本申请不对其进行限制。
第一用户界面中至少包括流程图。该流程图可以是整个自动化流程的完整流程图或局部流程图。示例性而非限制性地,第一用户界面可以默认显示整个自动化流程的完整流程图。可以响应于用户利用输入装置的不同操作,对默认流程图进行放大或缩小,即显示放大。例如,在放大一定比例之后,显示在第一用户界面中的流程图可以是局部流程图。
流程图中可以是由多个节点按照一定的连接顺序连接而成的流程图。每个节点可以对应至少一个任务,不同的节点所对应的任务不同。此外,该多个节点可以包括不同类型的节点,不同类型的节点所对应的任务的类型不同。示例性地,在第一用户界面所显示的流程图中,不同类型的节点的显示样式可以不同。例如,可以用图标表示节点,不同类型的节点的图标的形状、填充颜色、边框颜色、边框粗度、边框大小可以不同。
步骤S140,基于用户对目标节点的第一操作的操作信息,在流程图中的第一位置添加变量节点。其中,目标节点是多个设备节点中的任意一个,第一位置在目标节点之前或者在目标节点之后。变量节点对应目标设备执行主操作所涉及的变量。目标设备是目标节点对应的主设备。
根据本申请实施例,流程图中的多个节点的节点类型至少包括设备节点。示例性地,流程图中的多个节点还可以包括耗材节点、循环节点等其他节点类型,本申请不对其进行限制。
每个设备节点对应的任务包括在该节点执行的设备操作。每个设备节点对应一个或多个设备。设备节点对应的设备中至少包括主要设备。在设备节点执行的设备操作至少包括主要设备所执行的主操作。示例性地,以离心机为例,离心机的主操作即为离心操作。在一些示例中,设备节点对应的设备还可以包括辅助设备。辅助设备用于执行辅助操作,辅助操作包括在主操作之前执行的前操作和/或在主操作之后执行的后操作。辅助设备可以包括诸如机械臂等转运设备、诸如开盖设备和关盖设备等的辅助主操作设备。可以理解,转运设备可以将用于承载样本的耗材从上一设备节点转运至当前设备节点,以使当前设备节点的主要设备能够对耗材所承载的样本进行操作。转运设备还可以将耗材从当前设备节点转运至下一设备节点。并且,每个设备节点关联至少一种耗材,不同的设备节点关联的耗材可以相同,也可以不同。
目标节点可以是第一用户界面所显示的流程图中所包含的多个设备节点中的任一个,用户可以根据实际的数据处理需求进行选择。例如,用户期望对某一设备节点所关联的设备、操作、样本、耗材等相关的数据进行统计,则可以针对该设备节点进行操作,以在流程中添加相应的变量节点。从而,用户操作的设备节点即为目标节点。
第一操作可以是任意合适的人机交互操作,本申请不对其进行限制。图2示出了根据本申请一个实施例的自动化流程的流程图的局部。该流程图中包括两个设备节点,该流程图表达的任务是,耗材1先进入设备节点1对应的设备进行相应的操作,而后进入设备节点2对应的设备进行相应的操作,该流程图中的两个变量节点可以是基于用户对其中的两个设备节点的第一操作的操作信息,而分别确定出的。示例性地,第一用户界面中还可以包括流程编辑控件。用户可以利用流程编辑控件对流程图进行编辑。该流程编辑控件可以至少包括变量节点添加控件。第一操作可以包括用户利用变量节点添加控件所执行的操作。可选地,该第一操作可以是用户拖动变量节点添加控件至该目标节点处的操作。具体地,流程图可以显示在界面的中间位置,在流程图的左右两侧均可以设置有包括变量节点添加控件的菜单栏。例如,用户期望在“设备节点1”之前添加变量节点,则可以从左侧的菜单栏中将变量节点添加控件向右拖动至“设备节点1”处。又例如,用户还期望在“设备节点2”之后添加变量节点,则可以从右侧的菜单栏中将变量节点添加控件向左拖动至“设备节点2”处。如图2所示,在用户拖动操作完成后,即可在流程图中的“设备节点1”之前显示出“变量节点1”并可以在“设备节点2”之后显示出“变量节点2”。替代地,该第一操作也可以是用户利用鼠标双击变量节点添加控件的操作。例如,在用户双击变量节点添加控件后,可以在图2中示出的流程图的任意位置显示一浮动的“变量节点3”(图中未示出)。示例性地,流程编辑界面中还可以包括有向线条控件。示例性地,可以在接收到用户利用鼠标依次单击有向线条控件、“设备节点2”和“变量节点3”的操作信息之后,可以将“设备节点2”和“变量节点3”通过有向线条连接起来,并显示新的流程图。在新的流程图中,“设备节点2”向后连接“变量节点3”。或者,在其他的示例中,还可以根据用户利用多个输入装置的第一操作,在流程图中添加变量节点。示例性而非限制性地,在用户利用鼠标单击选中任意设备节点之后,还可以利用键盘快捷键实现在设备节点之前或之后添加变量节点。例如,可以在识别到用户利用键盘按下快捷键“shift”+“←”之后,在设备节点之前添加变量节点;并可以在识别到用户利用键盘按下快捷键“shift”+“→”后,在设备节点之后添加变量节点。
在本申请实施例中,变量节点对应的任务包括在该节点执行的数据处理指令。每个变量节点均对应至少一个变量。该变量是关于自动化流程中的设备操作的数据的变量。这些数据可以是各种类型的数据,包括但不限于例如目标设备所操作样本和/或耗材的诸如名称二维码、类别等属性数据、目标设备的主操作、前操作、后操作等各种操作所涉及的时间、设备操作的执行次数、样本的体积、数量、含量等数值数据等,或者还可以包括变量关联的数据的目录等,本申请不对其进行限制。在变量节点所执行的数据处理指令的类型可以包括多种。数据处理指令的类型可以至少包括应用程序调用指令。容易理解,应用程序调用指令是调用第三方应用程序对变量关联的数据执行处理操作的指令。该处理操作可以是任意合适的数据处理操作,包括但不限于建立数据模板、数据汇总统计等处理操作。在一些其他的示例中,数据处理指令的类型还可以包括导出变量指令、修改变量指令、变量赋值指令等其他与变量相关的数据处理指令。
如上所述,第一位置在目标节点之前或者在目标节点之后。变量节点可以在目标节点之前,例如,基于上述第一操作的操作信息,可以将“变量节点1”连线连接到“设备节点1”的前端。变量节点也可以在目标节点之后,例如,基于上述第一操作的操作信息,可以将“变量节点2”连线连接到“设备节点2”的后端。示例性地,变量节点连接到目标节点的前端,变量节点对应的数据处理指令可以在目标设备(目标节点对应的主设备)的主操作开始之前执行。具体地,变量节点对应的数据处理指令(例如,应用程序调用指令)可以在目标设备的主操作和前操作之间完成,也可以与前操作并行完成。同理,变量节点连接到目标节点的后端,变量节点对应的数据处理指令则可以在设备节点的主操作之后执行,具体地,可以在目标设备的主操作和后操作之间完成,也可以与后操作并行完成。
可以理解,此步骤中用户可以根据实际需求通过第一用户界面自由添加变量节点,可以实现在自动化流程中的任意设备节点添加应用程序调用指令。这样,在执行自动化流程时,可以在执行到对应节点时,即执行相应的应用程序调用指令。从而,在这种方案中调用第三方应用程序以执行数据处理操作的时机是可以自由设置的,因此可以充分满足用户的个性化需求。
步骤S160,确定与变量节点对应的应用程序调用指令的脚本信息,以在执行该变量节点时根据脚本信息调用对应的应用程序对变量关联的数据执行处理操作。其中,处理操作与应用程序的功能相对应。
示例性地,变量节点可以在第一时刻执行,第一时刻可以在目标设备执行主操作之前或之后。
此步骤中,可以采用多种方法,确定与变量节点对应的应用程序调用指令的脚本信息。示例性地,在此步骤中,可以通过人机交互操作,在变量节点对应添加应用程序调用指令的脚本,这样,在自动化流程的执行过程中,在执行到该变量节点的第一时刻,即可通过执行该应用程序调用指令的脚本,实现对变量关联的数据执行处理操作。
在一个示例中,可以响应于用户对变量节点所执行的任意合适操作,显示用于确定应用程序调用指令的脚本信息的参数配置界面。例如,在参数配置界面中可以包括可输入文本框或各种合适的操作控件,可以进一步基于用户对可输入文本框和/或操作控件的操作信息,确定在该脚本执行节点执行的应用程序调用指令的脚本信息。
在另一示例中,在显示上述参数设置界面之前,还可以先显示指令设置界面。指令设置界面中可以包括指令类型设置区。如前所述,数据处理指令的类型可以具有多种,应用程序调用指令可以是其中一种。在此步骤中,可以响应于用户对变量节点的操作,先显示指令设置界面。示例性地,指令设置界面中可以包括多个指令类型选择控件,其中包括对应应用程序调用指令的第一指令类型选择控件。可以响应于用户对第一指令类型选择控件的选择操作,才显示上述参数设置界面。进而,可以根据用户对该参数设置界面中的各种控件、文本框的操作,确定应用程序调用指令的脚本信息。
示例性地,变量节点对应的变量是关于自动化流程中的设备操作的数据的变量。此步骤中,变量关联的数据可以是与目标设备相关的各种合适的数据,包括但不限于例如目标设备所操作样本和/或耗材的诸如名称二维码、类别等属性数据、目标设备的主操作、前操作、后操作等各种操作所涉及的时间、设备操作的执行次数、样本的体积、数量、含量等数值数据等,或者还可以包括变量关联的数据的目录等。
如前所述,在自动化技术领域,常常需要对自动化流程中的数据进行处理。在一些场景下,数据的处理主要在保密的条件下执行。现有技术中,通常采用人工导出导入数据的处理方式实现,不仅需要花费大量的人力成本和一定的时间成本,还容易出错,同时依然存在数据泄密的风险。并且,在另一些场景下,即使在非保密场景下,也需要实时提取实验过程中一些设备的运行数据,并将这些数据保存至方便用户查看的数据文件中,从而可以方便用户基于这些数据对后续流程进行优化管理等等。现有技术中的导入导出的数据处理方式也难以应对自动化流程运行过程中数据的实时处理问题。而根据本申请实施例的上述自动化流程的编辑方法,通过提供显示有流程图的用户界面,并根据用户与用户界面的交互操作,可以实现在自动化流程中的目标节点前后添加变量节点,并确定与变量节点对应的应用程序调用指令的脚本信息。这样,在执行自动化流程的过程中,在目标设备执行主操作前后,即可执行该应用程序调用指令的脚本,从而可以自动并实时地调用对应的第三方应用程序对变量关联数据进行处理。这种方案通过用户的人机交互操作,在自动化流程中用户期望获取数据的实验节点前后添加包含调用第三方应用程序的指令脚本的变量节点,在自动化流程运行至该实验节点时,即可通过自动执行该指令脚本实现对数据的实时且准确处理。不仅实现了在有效保证数据和算法的保密的基础上对数据的自动、实时且准确处理,降低了人工导入导出数据而消耗的人力和时间成本。此外,这种方案还可以满足各种场景下的数据处理需求,不仅可以满足数据保密场景下和数据实时场景下的需求,还可以实现在高通量且实验流程多变的场景下对数据的准确处理。从而,这种方案的拓展性更好,用户体验也更好。
示例性地,变量节点可以包括第一节点,第一节点在目标节点之前。应用程序包括具有数据模板创建功能的第一应用程序。确定与变量节点对应的应用程序调用指令的脚本信息,包括:确定与第一节点对应的第一指令的脚本信息,以在目标设备执行主操作之前调用第一应用程序创建关于变量的数据写入模板,并在目标设备执行主操作时将变量关联的数据写入至模板中。其中,第一指令是对第一应用程序的调用指令。
数据模板可能是根据用户习惯或规定制定的模板,其中可以包括原始数据的存储区、处理后数据的存储区,关于变量的数据以及诸如数据加减的公式等,这些可以由用户事先设定完成。
继续参考图2。例如,变量节点1为第一节点。应用程序可以包括具有数据模板创建功能的第一应用程序。数据模板例如是excel格式的模板文件,第一应用程序可以是能够创建excel格式的模板文件的第三方应用程序。
示例性地,第一指令的脚本信息可以是根据用户的人机交互操作,确定出的。例如,用户可以利用参数配置界面,配置待调用的第三方应用程序为具有数据模板创建功能的第三方应用程序。这样,在自动化流程运行至第一节点的第一时刻(也可以理解为在执行变量节点时),可以执行第一指令,从而可以调用具有数据模板创建功能的第三方应用程序,在指定的路径创建数据模板。示例性地,路径可以是程序中默认的,也可以如下文所述,是由用户在脚本中设置的。
示例性地,以目标设备为酶标仪为例,数据模板创建后,可以得到例如表1中的数据写入模板。变量关联的数据可以是变量关联的数据的目录,其可以是变量的名称目录,例如样品的个数、光密度值以及浓度值。例如,由于酶标仪的主操作还未执行,因此表1示出的数据模板中的数值一栏可能空缺或者为默认值。示例性地,在目标设备执行主操作时,目标设备的上位机可以将变量关联的数据,即获取到的数值一组一组地写入模板,例如将样本1的光密度值、浓度值等数值写入模板,再将样本2的光密度值、浓度值等数值写入至数据模板中,直至将全部样本的数据写入至模板。目标设备的上位机也可以在获取完全部样本的数值后,讲这些数值全部写入模板中。
表1
可以理解,现有技术中,设备的上位机可能生成某一种类型的文件格式,并保存在固定的文件夹中,而将数据保存至excel格式的模板文件通常需要操作人员找到这个文件夹,通过软件打开这个数据文件,将其中的内容转存至excel表模板之中。这个过程很可能因为人员的疏忽等原因出现错漏,或者出现泄密的情况。其他数据处理软件同样如此,因此,现有技术中的自动化流程管理系统并不能直接启动对应的软件并将数据自动导入其中。
而在本申请实施例的上述编辑方法,由于在编辑自动化流程的过程中将用户所设置的变量节点与目标节点进行了关联,且将变量节点与执行第一指令的脚本进行了绑定。因此,在执行自动化流程的过程中,可以在目标设备执行主操作前后执行第一指令的脚本,自动调用具有数据模板创建功能的第一应用程序,自动生成数据模板,并可以自动将主操作相关的数据存储进数据模板中。
需要说明的是,对于每个第一节点还可以设置多个调用第一指令的脚本,不同的脚本可以用于对应创建不同的数据模板。
可以理解,数据模板中的数据可以便于后续处理,且脚本编辑完成后,数据模板的生成与实验数据的存储无需人员参与,降低了人员的工作量,且降低了泄密风险。
示例性地,变量节点还可以包括第二节点,第二节点在目标节点之后。应用程序包括具有数据统计功能的第二应用程序,确定与变量节点对应的应用程序调用指令的脚本信息,包括确定于第二节点对应的第二指令的脚本信息,以在目标设备执行主操作之后调用第二应用程序对变量关联的数据进行统计。
如图2所示,第二节点例如是变量节点2,目标节点例如是设备节点2,变量节点2位于设备节点2之后。示例性地,如上所述,可以在变量节点1时执行第一指令的脚本,调用第一应用程序创建数据模板,随后执行设备节点1的主操作。设备节点1相关的数据写入到创建的数据模板中。随后,执行设备节点2对应的操作。由于设备节点2之后还连接变量节点2,变量节点2中包括执行第二指令的脚本。第二指令是针对具有数据统计功能的第二应用程序的调用指令。因此,在设备节点2的主操作完成后,可以执行该调用执行,从而启动第二应用程序进行数据统计处理。示例性地,第二应用程序所统计的数据可以是写入至变量节点1所创建的数据模板中的数据,也可以是其他数据模板中的数据。例如,第二设备节点本身具有数据模板创建功能,在主要设备执行完之后,变量关联的数据本身已经写入至在设备节点创建的数据模板中。则可以将期望统计的数据模板中的数据自动导入第二应用程序中进行统计处理。第二应用程序可以在执行对数据的处理后,将处理后的数据存入其他本地文件中,也可以根据设置将处理后的数据也写入至数据模板中。
需要说明的是,对于每个第二节点还可以设置多个调用第二指令的脚本,不同的脚本可以用于对应处理不同的实验数据,或者调用不同数据统计功能的第三方应用程序对数据进行不同的统计处理。
与第一节点的功能类似,在执行自动化流程的过程中,可以根据用户设置的变量节点的应用程序调用指令的脚本,自动调用第二应用程序执行数据统计处理操作,同样无需人员参与执行过程,减少了人员工作量,降低了泄密风险。
示例性地,步骤S160可以包括步骤S161。步骤S161,确定变量关联的数据的第一存储地址,以在启动应用程序时将第一存储地址作为应用程序的启动参数,以使应用程序从第一存储地址获取变量关联的数据并执行处理操作。
示例性地,设备在进行主操作之后,其上位机软件通常具有自带的数据存储功能,会在默认路径或者用户指定的路径将原始数据记录在一个文件中。例如,用户将数据的存储路径设置为D盘的data文件夹下,则上位机在每次实验结束后,会将原始数据文件存入D:\data路径中。换言之,路径通常可以指代文件夹的所在位置。
以应用程序为excel表格为例,示例性地,上位机在路径中存储的原始数据的存储格式可能为xml格式,这种格式的文件可以直接导入到excel表格中。因此,在脚本中可以确定第一存储地址,例如上述的D:\data路径。在启动应用程序excel表格时,脚本中的导入文件指令可以将xml文件自动导入excel表格中。这样可以实现第三方应用程序自动获取实验数据的功能,获取的数据不易出错。
示例性地,应用程序除了可以包括excel表格这种数据处理和存储的程序,也可以包括对数据进行统计学处理的程序。变量节点可以编辑脚本指令,脚本的指令可以包括启动相应的应用程序以及将数据自动导入对应的应用程序。以图2所示的变量节点1为例,其脚本信息对应的应用程序可以为excel表格,其连线在设备节点1前端,因此,在执行到变量节点1时,在第一时刻,即设备节点1的设备主操作未开始时,调用excel表格启动,并对变量关联的数据执行处理操作,例如建立数据模板。以变量节点2为例,其连线在设备节点2后端,因此,在第二时刻,即设备节点2的设备主操作结束时,调用第二应用程序启动,对数据执行处理操作,例如对数据进行合并统计等。
示例性地,步骤S161中,确定变量关联的数据的第一存储地址,还包括:获取变量的表达式的名称;以及对表达式的名称进行拼接处理,以确定变量关联的数据的第一存储地址。
示例性地,第一存储地址可以理解为是第三方应用程序所需要的参数,操作以变量类型为string类型为例。第三方应用程序相关的数据均可以是依托于变量模块,也就是说,是通过变量设置对应的表达式,而变量是预先定义的;对于自动化流程的控制,例如包括上位机、设备控制端、设备端,其中变量相关的内容都是通过PMS端实现的,也可以理解是PMS端设置了一个变量模块,用于调用第三方应用程序,同时也用于存储第三方应用程序相关的数据地址。实验流程执行过程中设备相关的数据均可以是对应存到设备的上位机上的,而变量模块只是给第三方应用程序传送存储数据的地址,该地址是在变量模块调用第三方应用程序的同时将地址作为入参数据给到第三方应用程序。第一存储地址的参数支持常量,变量、以及变量表达式等。
优选地,还可以提供变量表达式的编辑窗口,以供用户编辑变量表达式。示例性地,变量表达式的名称可以由用户通过人机交互界面进行设置。包括但不限于利用文本框输入或利用选择控件选择等。在一个示例中,前述参数配置界面还可以包括表达式编辑控件。可以响应于用户点击该表达式编辑控件的操作,弹出变量表达式编辑窗口,在该窗口中可以包括多个表达式编辑控件。这些控件可以分别对应例如变量范围、变量列表、集合变量索引、表达式操作符(+、-、*、\)等、条件表达式、内部变量、内置方法、内置方法参数、方法所需耗材、方法所需耗材属性等的设置控件。这样,在用户利用这些设置控件对变量表达式进行设置之后,可以确定该变量的表达式的信息。以方便系统根据表达式计算变量的表达式的值,并存储至相应地址相应格式的文件中。这样,在执行当前的应用程序调用指令时,可以将表达式执行结果作为第三方应用程序入参传递给第三方应用程序。表达式执行结果可以是指定类型的数据的存储地址,也可以是按照某种指定的数据格式文件(包括但不限于xml,exlcel,json,db等数据格式文件)的存储地址。可以理解,在执行当前的应用程序调用指令时,为了能获取到变量关联的数据(例如上述表达式执行结果),可以根据用户编辑表达式的操作,确定变量表达式的名称,并根据预设的规则通过对表达式的名称进行拼接处理,得到存储变量关联的数据的存储地址。可以理解,预设的规则是根据系统计算变量的表达式的值并存储文件的规则所设置的。从而,通过对表达式的名称进行拼接处理所得到的存储地址即为系统存储变量关联的数据的存储地址。
示例性地,为避免不同数据的文件名相同,出现新数据覆盖旧数据的情况,上位机软件会自动在原始数据的路径上添加日期进行区分。例如,在2021年1月1日执行完成的实验数据,上位机可以在路径下新建名称为20210101的文件夹,将文件存入其中。在2021年1月2日执行完成的实验数据,上位机可以在路径下新建名称为20210102的文件夹,将文件存入其中。这样不同时间完成的实验,实验数据不会被混淆和覆盖。当然,实际的上位机可能根据精确到秒的时间建立文件夹,文件夹的命名格式也可能不同,例如在2021年1月1日10:00:00执行完成的实验数据,上位机可以在路径下新建名称为2021.0101.10.00.00的文件夹,将文件存入其中。
因此,对于相关数据的第一存储地址,除了全部数据文件的保存路径,即上述的D:\data,还需要拼接变量的表达式的名称,得到例如D:\data\20210101的路径,应用程序即可在其中找到所需的原始数据文件。
这种通过自动拼接变量名确定变量关联数据的存储地址的方法可以降低用户设置存储地址的难度,并且,也可以快速实现对同一步骤中不同通量的数据的区分处理。用户体验更好。
示例性地,步骤S160确定与变量节点对应的应用程序调用指令的脚本信息,还包括:确定应用程序的存储路径和应用程序的存储名称,以在执行变量节点时从存储路径调用该存储名称的应用程序对变量关联的数据执行处理操作。
以上文创建excel格式的数据模板为例,脚本调用应用程序,需要确定能够创建excel格式数据模板的应用程序在哪里。以应用程序位于C盘excel文件夹下为例,类比用户手动启动excel表格:用户需要打开C盘,点开excel文件夹,找到excel.exe,并执行这个可执行文件。脚本的执行与之类似,脚本获取excel.exe所在的路径C:\excel,相当于打开excel文件夹。随后根据应用程序的存储名称,即excel.exe,在执行变量节点时通过指令将其启动。应用程序的存储路径和应用程序的存储名称可以通过下文所述的人机交互操作来确定,例如用户利用第二用户界面的操作控件进行输入应用程序的存储路径和名称。或者,也可以不区分存储路径和存储名称,例如用户输入C:\excel\excel.exe即可。也可以通过用户点击路径控件的操作来确定应用程序的存储路径和存储名称,即用户可以手动选择路径以及路径下的应用程序。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,还包括确定变量节点关联的下一操作的执行时机信息。其中,执行时机信息包括第一执行信息和第二执行信息,第一执行信息表示下一操作在应用程序执行完处理操作后才执行,第二执行信息表示下一操作与应用程序执行处理操作并行执行。
第一执行信息和第二执行信息可以根据用户的人机交互操作来确定,示例性地,参数配置界面中可以包括选择控件,在该选择控件之后包括“等待应用程序执行结束”。示例性地,如果用户用鼠标点击该选择控件进行勾选,则确定的执行时机信息对应第一执行信息,即表示后续的步骤在应用程序执行完处理操作后才执行。否则,如果未勾选,则确定当前应用程序调用指令的执行时机信息对应第二执行信息,即表示后续的步骤无需等待应用程序执行完处理操作,可以与应用程序执行数据处理操作并行执行。
以图2中的变量节点2为例,如果脚本中执行时机信息确定为第一执行信息,则在执行变量节点2时,第二指令控制第二应用程序启动并获取数据,随后对数据进行处理。第二应用程序处理数据需要一定时间,自动化流程需要等待第二应用程序处理完数据并返回或者保存结果后,才会继续后续的操作。这样可以便于用户根据处理后数据的情况,执行接下来的操作。示例性地,第二应用程序的数据合并统计可以确定样品中哪些为合格品,哪些为不合格品,后续操作包括对样品进行分拣,将合格品与不合格品进行分离,这个操作显然依据第二应用程序的统计结果,如果第二应用程序没有执行完成并返回结果,分拣操作也无法执行。
当脚本中执行时机信息确定为第二执行信息,在执行变量节点2时,第二指令控制第二应用程序启动并获取数据,随后对数据进行处理。第二应用程序的处理结果并不会影响后续操作,例如仅用于统计设备的工作时长等信息,也就无需等待第二应用程序的执行是否完成,耗材可以继续进行下一项操作。
由此,用户可以根据实际生产需求,在脚本中配置是否需要等待应用程序返回数据,这样配置更加方便和灵活,可以满足不同类型的数据处理需求。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,还包括:确定是否保存应用程序的执行结果的信息。
对于一些应用程序而言,其执行结果可以不进行保存,例如通过数据绘制图像和曲线,其执行结果可以实时显示出来,供操作者及时对设备和系统进行调整。这些数据占用空间大,且有一些无需实时保存。又或者,该应用程序计算的执行结果只是中间数据,会实时导入其他程序中或者控制设备执行操作,而无需进行保存。
示例性地,参数配置界面中可以包括选择控件,在该选择控件之后包括“是否保存结果”。对于这种情况,在用户通过例如鼠标勾选该控件的情况下,确定保存应用程序的执行结果的信息;在用户最终未通过例如鼠标勾选该控件的情况下,确定不保存应用程序的执行结果的信息。
由此,用户可以根据实际生产需求,在应用程序调用指令的脚本中配置是否保存应用程序执行结果,这样配置更加方便和灵活,可以满足不同类型的数据处理需求。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,还包括确定第二存储地址的信息。其中,第二存储地址是应用程序的执行结果的存储地址。
如上所述,用户可以选择是否保存应用程序的执行结果,当用户选择保存执行结果时,可以选择数据的存储地址。示例性地,存储地址可以如上文所述的路径。在应用程序执行完成后,脚本中的指令将控制其自动将执行结果保存在设定的存储地址。这样,可以将应用程序的执行结果对应存储至合适的位置,以方便用户查看或系统调用。
示例性地,确定与变量节点对应的应用程序调用指令的脚本信息,包括响应于第一操作,显示第二用户界面,其中,第二用户界面包括第一控件,第一控件用于为用户提供添加调用应用程序的脚本步骤的输入接口或选择接口;基于用户对第一控件的第二操作的操作信息,确定与变量节点对应的应用程序调用指令的脚本信息。
用户的第一操作可以包括将变量节点连接到目标节点上,在连线完成时,可以显示第二用户界面。用户可以对第一控件进行第二操作,第二用户界面可以是指令设置界面。指令设置界面中可以包括指令类型设置区。如前所述,数据处理指令的类型可以具有多种,应用程序调用指令可以是其中一种。在此步骤中,可以响应于用户对变量节点的操作,先显示指令设置界面。示例性地,指令设置界面中可以包括多个指令类型选择控件。其中包括对应应用程序调用指令的第一指令类型选择控件。第一控件可以是第一指令类型选择控件。可以基于用户对第一指令类型选择控件的选择操作的操作信息,确定与变量节点对应的应用程序调用指令的脚本信息。
在一个示例中,可以响应于用户对第一指令类型选择控件的选择操作,才显示参数设置界面。进而,可以根据用户对该参数设置界面中的各种控件、文本框的操作,确定应用程序调用指令的脚本信息。在另一示例中,指令设置界面中还可以包括针对应用程序调用指令的参数配置区域。在用户利用鼠标执行对第一指令类型选择控件的选择操作之后,针对应用程序调用指令的参数配置区域中的各个参数配置控件可以处于可操作状态,这样,用户可以直接对这些参数配置控件进行操作,从而可以配置应用程序调用指令的脚本信息。换言之,这些参数配置控件用于配置应用程序调用指令的脚本步骤的参数。参数配置控件可以包括上文所述的可输入文本框,用户可以将应用程序的存储路径和存储名称通过键盘输入,或者通过复制粘贴等形式输入。参数配置控件可以包括下拉选择框,用户可以通过操作下拉选择框选择存储路径和存储名称。参数配置控件可以包括变量表达式编辑控件。示例性地,在用户利用鼠标点击变量表达式编辑控件后,还可以弹出变量表达式的编辑窗口,该窗口中可以包括诸如变量范围控件、变量列表控件、集合变量索引控件等控件,这些控件可以是可供选择的列表形式,也可以是输入栏的形式。用户可以将需要输入的参数部分或全部输入,从而实现对应用程序调的输入参数(即变量关联数据的存储地址)的配置。参数配置控件还可以包括显示有“是否保存执行结果”的勾选框,在用户操作勾选框之后,可以确定保存执行当前应用程序调用指令所得到的数据处理结果……从而,可以完成对应用程序调用指令的脚本的配置。
示例性地,在此步骤中,用户也可以通过多次对第一控件的操作,在变量节点添加多个应用程序调用指令的脚本步骤。例如,用户期望在当前的变量节点添加3个应用程序调用指令以分别对不同的数据进行处理。则可以连续3次操作第一控件。示例性地,指令设置界面中还可以包括指令列表区,在用户操作一次第一控件之后,即可在指令列表区中显示一个应用程序调用指令的脚本步骤。在用户操作三次第一控件之后,可以在指令列表区中显示3个应用程序调用指令的脚本步骤,用户还可以利用鼠标拖动这些脚本步骤的先后顺序。从而,在自动化流程运行过程中,在执行到该变量节点时,可以按顺序依次执行这三个步骤。
上述人机交互逻辑更合理,根据人机交互,充分根据用户的个性化需求去配置应用程序处理数据的参数,从而使得所确定的应用程序调用指令的脚本更准确。并且,仅需要用户执行简单的操作即可自动生成脚本,复杂的脚本代码对于用户而言是不可见的,可以大幅简化操作的流程,降低操作的难度,并且降低对用户的技术要求。
示例性地,基于用户对第一控件的第二操作的操作信息,确定与变量节点对应的应用程序调用指令的脚本信息,还包括:响应于第二操作,显示第三用户界面;其中,第三用户界面包括至少一个第二控件,第二控件用于为用户提供设置脚本步骤的参数的输入接口或选择接口;响应于用户对第二控件的第三操作,获取参数;以及基于参数,确定与变量节点对应的应用程序调用指令的脚本信息。
示例性地,如前所述,可以在用户操作指令设置界面后,在变量节点添加应用程序调用指令的步骤。并可以同时显示第三用户界面。或者,也可以进一步响应于用户点击指令设置界面的某一控件(例如,在指令设置界面的指令列表区中,每个步骤的附近还设置有名称为“配置”的配置控件)的操作,显示第三用户界面。由此,第三用户界面可以与第二用户界面是相同的界面,也可以是一个新的界面。第二控件可以是前述示例中的参数配置控件。通过参数配置控件配置脚本步骤的参数的方式可以具有多种,本申请不对其进行限制。
通过用户利用第二控件配置的脚本步骤的参数,系统可以自动根据这些参数生成可执行的脚本执行参数。从而,在运行自动化流程的过程中,在运行至当前的变量节点时,可以根据这些执行参数执行脚本,从而实现利用第三方应用程序对数据进行实时处理的目的。
上述人机交互逻辑更合理,根据人机交互,充分根据用户的个性化需求去配置应用程序处理数据的参数,从而使得所确定的应用程序调用指令的脚本更准确。并且,仅需要用户执行简单的操作即可自动生成脚本,复杂的脚本代码对于用户而言是不可见的,可以大幅简化操作的流程,降低操作的难度,并且降低对用户的技术要求。
根据本申请的另一方面,还提供了一种自动化流程的控制方法。图3示出了根据本申请一个实施例的自动化流程的控制方法300的示意性流程图。如图所示,该控制方法300包括:
步骤S310,在执行自动化流程之前,利用上述自动化流程的编辑方法在流程图中的第一位置添加变量节点,并确定与变量节点对应的应用程序调用指令的脚本信息。
步骤S320,在执行自动化流程的过程中,在执行变量节点时根据脚本信息调用应用程序对变量关联的数据执行处理操作。
在一个示例中,再次参考图2,以设备节点1是酶标仪对应的节点为例,变量节点1中配置有第一指令的脚本。第一指令是对具有数据模板创建功能的第一应用程序的调用指令。示例性地,在运行至设备节点1时,先执行酶标仪的前操作。由于搬运耗材前需先将酶标仪门打开,因此需要先执行酶标仪开门操作。然后,执行机械臂搬运操作,即将耗材搬运到酶标仪中。之后执行变量节点1中的各个指令脚本。如果变量节点1中配置有多个指令脚本,则依次执行各个指令脚本。具体地,当执行到第一指令的脚本时,自动启动第一应用程序。此时,会用到用户通过指令设置界面和参数配置界面所配置的5个参数。参数1:应用程序路径和文件名。参数2:调用第三方程序的参数。参数3:是否等待应用程序执行结束。参数4:是否保存第一应用程序执行结果。参数5:存储第一应用程序执行结果的地址,具体可以是变量名称,即可以将结果作为某一变量的值。首先,可以根据参数1找到流程中配置的第一应用程序放入文件名;启动第一应用程序时会将参数2作为第一应用程序需要的启动参数;第一应用程序根据启动参数(如数据存储地址)去对应的地址读取参数,例如对于酶标仪(Gen51)的数据需要去酶标仪(Gen51)对应的上位机上读取对应的数据,以用于后续的数据合并;在第一应用程序驱动后根据配置的参数3用判断是否继续执行实验流程,当第一应用程序结束时根据参数4决定是否存储第一应用程序执行结果及将结果存储到参数5指定的变量中。接着,可以执行酶标仪的主操作,即酶标操作。执行酶标操作时,可以将酶标数据分别写入到第一应用程序处理数据生成的数据模板里(例如excel文件)。
在另一个示例中,再次参考图2,以设备节点1是酶标仪对应的节点为例,变量节点1中配置有第一指令的脚本。在设备节点1和设备节点2之间还可以包括变量节点3(图中未示出)。变量节点3中可以配置有第二指令的脚本。第二指令是对具有数据合并统计的第二应用程序的调用指令。示例性地,在上述酶标操作完成后,可以执行第二指令的脚本。与上述执行第一指令的脚本类似地,可以根据用户通过指令设置界面和参数配置界面针对该第二指令所配置的5个参数,执行第二指令。即,可以调用第二应用程序对存储至数据模板中的酶标数据进行合并统计。并可以将统计结果存储至对应的变量中。
上述方案中,通过提供显示有流程图的用户界面,并根据用户与用户界面的交互操作,可以实现在自动化流程中的目标节点前后添加变量节点,并确定与变量节点对应的应用程序调用指令的脚本信息。在执行自动化流程的过程中,在目标设备执行主操作前后,通过执行该应用程序调用指令的脚本,自动并实时地调用对应的第三方应用程序对变量关联数据进行处理。这种方案通过用户的人机交互操作,在自动化流程中用户期望获取数据的实验节点前后添加包含调用第三方应用程序的指令脚本的变量节点,在自动化流程运行至该实验节点时,通过自动执行该指令脚本实现对数据的实时且准确处理。不仅实现了在有效保证数据和算法的保密的基础上对数据的自动、实时且准确处理,降低了人工导入导出数据而消耗的人力和时间成本。此外,这种方案还可以满足各种场景下的数据处理需求,不仅可以满足数据保密场景下和数据实时场景下的需求,还可以实现在高通量且实验流程多变的场景下对数据的准确处理。从而,这种方案的拓展性更好,用户体验也更好。
根据本申请的另一方面,还提供了一种自动化流程的编辑系统。图4示出了根据本申请一个实施例的自动化流程的编辑系统400的流程图。如图所示,包括:
显示模块410,用于显示第一用户界面,其中,第一用户界面中包括由多个设备节点组成的自动化流程的流程图,每个设备节点对应自动化流程中的一个主设备;
节点添加模块420,用于基于用户对目标节点的第一操作的操作信息,在流程图中的第一位置添加变量节点,其中,目标节点是多个设备节点中的任意一个,第一位置在目标节点之前或者在目标节点之后,变量节点对应目标设备执行主操作所涉及的变量,目标设备是目标节点对应的主设备;以及
确定模块430,用于确定与变量节点对应的应用程序调用指令的脚本信息,以在执行变量节点时根据脚本信息调用对应的应用程序对变量关联的数据执行处理操作,其中,处理操作与应用程序的功能相对应。
根据本申请的另一方面,还提供了一种自动化流程的控制系统。图5示出了根据本申请一个实施例的自动化流程的控制系统500的流程图。如图所示,包括:
编辑模块510,用于在执行自动化流程之前,利用上述的自动化流程的编辑方法在流程图中的第一位置添加变量节点,并确定与变量节点对应的应用程序调用指令的脚本信息。
处理模块520,用于在执行自动化流程的过程中,在执行变量节点时根据脚本信息调用应用程序对变量关联的数据执行处理操作。
根据本申请的另一方面,还提供一种电子设备。图6示出根据本申请实施例的电子设备600的示意性框图。如图所示,电子设备600包括处理器610和存储器620。存储器620中存储有计算机程序指令,计算机程序指令被处理器610运行时用于执行上述自动化流程的编辑方法100和/或上述自动化流程的控制方法300。
根据本申请的另一方面,还提供一种存储介质。在存储介质上存储了程序指令,程序指令在运行时用于执行上述自动化流程的编辑方法100和/或上述自动化流程的控制方法300。所述存储介质例如可以包括可擦除可编程只读存储器(EPROM)、便携式只读存储器(CD-ROM)、USB存储器、或者上述存储介质的任意组合。所述存储介质可以是一个或多个计算机可读存储介质的任意组合。
本领域普通技术人员通过阅读上述有关自动化流程的编辑方法和自动化流程的控制方法的相关描述,可以理解上述自动化流程的编辑系统、自动化流程的控制系统、电子设备和存储介质的具体实现方案和有益效果,为了简洁,在此不再赘述。
尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本申请的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本申请的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本申请的范围之内。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本申请的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的自动化流程的编辑系统、自动化流程的控制系统中的一些模块的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
以上所述,仅为本申请的具体实施方式或对具体实施方式的说明,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。本申请的保护范围应以权利要求的保护范围为准。

Claims (16)

1.一种自动化流程的编辑方法,其特征在于,包括:
显示第一用户界面,其中,所述第一用户界面中包括由多个设备节点组成的自动化流程的流程图,每个设备节点对应所述自动化流程中的一个主设备;
基于用户对目标节点的第一操作的操作信息,在所述流程图中的第一位置添加变量节点,其中,所述目标节点是所述多个设备节点中的任意一个,所述第一位置在所述目标节点之前或者在所述目标节点之后,所述变量节点对应目标设备执行主操作所涉及的变量,所述目标设备是所述目标节点对应的主设备;以及
确定与所述变量节点对应的应用程序调用指令的脚本信息,以在执行该变量节点时根据所述脚本信息调用对应的应用程序对所述变量关联的数据执行处理操作,其中,所述处理操作与所述应用程序的功能相对应。
2.如权利要求1所述的自动化流程的编辑方法,其特征在于,所述变量节点包括第一节点,所述第一节点在所述目标节点之前,所述应用程序包括具有数据模板创建功能的第一应用程序,确定与所述变量节点对应的应用程序调用指令的脚本信息,包括:
确定与所述第一节点对应的第一指令的脚本信息,以在所述目标设备执行所述主操作之前调用所述第一应用程序创建关于所述变量的数据写入模板,并在所述目标设备执行所述主操作时将所述变量关联的数据写入至所述模板中;
其中,所述第一指令是对所述第一应用程序的调用指令。
3.如权利要求2所述的自动化流程的编辑方法,其特征在于,所述变量节点包括第二节点,所述第二节点在所述目标节点之后,所述应用程序包括具有数据统计功能的第二应用程序,所述确定与所述变量节点对应的应用程序调用指令的脚本信息,包括:
确定与所述第二节点对应的第二指令的脚本信息,以在所述目标设备执行所述主操作之后调用所述第二应用程序对所述变量关联的数据进行统计;
其中,所述第二指令是对所述第二应用程序的调用指令。
4.如权利要求1至3任一项所述的自动化流程的编辑方法,其特征在于,所述确定与所述变量节点对应的应用程序调用指令的脚本信息,还包括:
确定所述变量关联的数据的第一存储地址,以在启动所述应用程序时将所述第一存储地址作为所述应用程序的启动参数,以使所述应用程序从所述第一存储地址获取所述变量关联的数据并执行所述处理操作。
5.如权利要求4所述的自动化流程的编辑方法,其特征在于,所述确定所述变量关联的数据的第一存储地址,包括:
获取所述变量的表达式的名称;以及
对所述表达式的名称进行拼接处理,以确定所述变量关联的数据的第一存储地址。
6.如权利要求1至3任一项所述的自动化流程的编辑方法,其特征在于,所述确定与所述变量节点对应的应用程序调用指令的脚本信息,包括:
确定所述应用程序的存储路径和所述应用程序的存储名称,以在执行所述变量节点时从所述存储路径调用该存储名称的应用程序对所述变量关联的数据执行处理操作。
7.如权利要求1至3任一项所述的自动化流程的编辑方法,其特征在于,所述确定与所述变量节点对应的应用程序调用指令的脚本信息,还包括:
确定所述变量节点关联的下一操作的执行时机信息,其中,所述执行时机信息包括第一执行信息和第二执行信息,所述第一执行信息表示所述下一操作在所述应用程序执行完所述处理操作后才执行,所述第二执行信息表示所述下一操作与所述应用程序执行所述处理操作并行执行。
8.如权利要求1至3任一项所述的自动化流程的编辑方法,其特征在于,所述确定与所述变量节点对应的应用程序调用指令的脚本信息,还包括:
确定是否保存所述应用程序的执行结果的信息。
9.如权利要求1至3任一项所述的自动化流程的编辑方法,其特征在于,所述确定与所述变量节点对应的应用程序调用指令的脚本信息,还包括:
确定第二存储地址的信息,其中所述第二存储地址是所述应用程序的执行结果的存储地址。
10.如权利要求1至3任一项所述的自动化流程的编辑方法,其特征在于,所述确定与所述变量节点对应的应用程序调用指令的脚本信息,包括:
响应于所述第一操作,显示第二用户界面,其中,所述第二用户界面包括第一控件,所述第一控件用于为所述用户提供添加调用应用程序的脚本步骤的输入接口或选择接口;以及
基于所述用户对所述第一控件的第二操作的操作信息,确定与所述变量节点对应的应用程序调用指令的脚本信息。
11.如权利要求10所述的自动化流程的编辑方法,其特征在于,所述基于所述用户对所述第一控件的第二操作的操作信息,确定与所述变量节点对应的应用程序调用指令的脚本信息,包括:
响应于所述第二操作,显示第三用户界面,其中所述第三用户界面包括至少一个第二控件,所述第二控件用于为所述用户提供设置所述脚本步骤的参数的输入接口或选择接口;
响应于所述用户对所述第二控件的第三操作,获取所述参数;以及
基于所述参数,确定与所述变量节点对应的应用程序调用指令的脚本信息。
12.一种自动化流程的控制方法,其特征在于,包括:
在执行所述自动化流程之前,利用如权利要求1至11任一项所述的自动化流程的编辑方法在所述流程图中的第一位置添加变量节点,并确定与所述变量节点对应的应用程序调用指令的脚本信息;以及
在执行所述自动化流程的过程中,在执行所述变量节点时,根据所述脚本信息调用所述应用程序对所述变量关联的数据执行处理操作。
13.一种自动化流程的编辑系统,其特征在于,包括:
显示模块,用于显示第一用户界面,其中,所述第一用户界面中包括由多个设备节点组成的自动化流程的流程图,每个设备节点对应所述自动化流程中的一个主设备;
节点添加模块,用于基于用户对目标节点的第一操作的操作信息,在所述流程图中的第一位置添加变量节点,其中,所述目标节点是所述多个设备节点中的任意一个,所述第一位置在所述目标节点之前或者在所述目标节点之后,所述变量节点对应目标设备执行主操作所涉及的变量,所述目标设备是所述目标节点对应的主设备;以及
确定模块,用于确定与所述变量节点对应的应用程序调用指令的脚本信息,以在执行所述变量节点时根据所述脚本信息调用对应的应用程序对所述变量关联的数据执行处理操作,其中,所述处理操作与所述应用程序的功能相对应。
14.一种自动化流程的控制系统,其特征在于,包括:
编辑模块,用于在执行所述自动化流程之前,利用如权利要求1至11任一项所述的自动化流程的编辑方法在所述流程图中的第一位置添加变量节点,并确定与所述变量节点对应的应用程序调用指令的脚本信息;以及
处理模块,用于在执行所述自动化流程的过程中,在执行所述变量节点时根据所述脚本信息调用所述应用程序对所述变量关联的数据执行处理操作。
15.一种电子设备,包括处理器和存储器,其特征在于,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行如权利要求1至11任一项所述的自动化流程的编辑方法和/或如权利要求12所述的自动化流程的控制方法。
16.一种存储介质,在所述存储介质上存储了程序指令,其特征在于,所述程序指令在运行时用于执行如权利要求1至11任一项所述的自动化流程的编辑方法和/或如权利要求12所述的自动化流程的控制方法。
CN202311791054.XA 2023-12-22 2023-12-22 自动化流程的编辑方法和控制方法、系统、电子设备 Pending CN117970843A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311791054.XA CN117970843A (zh) 2023-12-22 2023-12-22 自动化流程的编辑方法和控制方法、系统、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311791054.XA CN117970843A (zh) 2023-12-22 2023-12-22 自动化流程的编辑方法和控制方法、系统、电子设备

Publications (1)

Publication Number Publication Date
CN117970843A true CN117970843A (zh) 2024-05-03

Family

ID=90860269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311791054.XA Pending CN117970843A (zh) 2023-12-22 2023-12-22 自动化流程的编辑方法和控制方法、系统、电子设备

Country Status (1)

Country Link
CN (1) CN117970843A (zh)

Similar Documents

Publication Publication Date Title
US11392752B2 (en) Visualized editing method, device and apparatus, and storage medium
Bitter et al. LabVIEW: Advanced programming techniques
US8386960B1 (en) Building object interactions
JP4058118B2 (ja) プログラム生成システム及び方法
CN108345456A (zh) 页面代码生成方法、装置、计算机设备和存储介质
US9910641B2 (en) Generation of application behaviors
EP4307106A1 (en) Visual software development system, method and apparatus, and computer storage medium
KR20150058237A (ko) 간략화된 지식공학 방법 및 시스템
CN108027721A (zh) 用于使用控件来配置通用程序的技术
EP3786810A1 (en) Automatic generation of computing artifacts for data analysis
US8788449B2 (en) Interface for creating and editing boolean logic
US20240020466A1 (en) Interactive form editor with concurrent automatic creation of schema files
US11094096B2 (en) Enhancement layers for data visualization
US20230004477A1 (en) Providing a pseudo language for manipulating complex variables of an orchestration flow
CN117970843A (zh) 自动化流程的编辑方法和控制方法、系统、电子设备
Cottingham Mastering AutoCAD VBA
de Paz Tkinter GUI Application Development Cookbook: A practical solution to your GUI development problems with Python and Tkinter
Freeman Pro jQuery 2.0
WO2018123039A1 (ja) プログラム比較装置およびプログラム差分照合方法
US12001501B1 (en) System and method for using inspect element framework for building mobile DAP content
Yemelin Making Visualization Work for You: Deriving Valuable Insights from Omics Data
Campagne et al. MetaR Documentation Booklet
Reynolds RootNav Portal
CN118377726A (zh) web应用自动化测试方法、计算机装置
Kok et al. Custom Editor with UI Toolkit

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