CN110928602B - Fbd程序的运行方法及装置 - Google Patents

Fbd程序的运行方法及装置 Download PDF

Info

Publication number
CN110928602B
CN110928602B CN201911241912.7A CN201911241912A CN110928602B CN 110928602 B CN110928602 B CN 110928602B CN 201911241912 A CN201911241912 A CN 201911241912A CN 110928602 B CN110928602 B CN 110928602B
Authority
CN
China
Prior art keywords
calculation
calculation module
function block
logic
target
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
CN201911241912.7A
Other languages
English (en)
Other versions
CN110928602A (zh
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.)
Zhejiang Supcon Technology Co Ltd
Original Assignee
Zhejiang Supcon Technology 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 Zhejiang Supcon Technology Co Ltd filed Critical Zhejiang Supcon Technology Co Ltd
Priority to CN201911241912.7A priority Critical patent/CN110928602B/zh
Publication of CN110928602A publication Critical patent/CN110928602A/zh
Application granted granted Critical
Publication of CN110928602B publication Critical patent/CN110928602B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/445Program loading or initiating
    • G06F9/44594Unloading

Abstract

本发明涉及计算机技术领域,特别是涉及一种FBD程序的运行方法及装置。该方法包括:获取目标功能图块FBD程序;解析目标FBD程序,确定目标FBD程序中的各个功能块的执行顺序;确定每个功能块对应的计算方法,并依据各个计算方法,将每个功能块转换成其对应的逻辑计算模块;按照运行周期次数,执行目标FBD程序中各个逻辑计算模块的计算过程;当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行目标FBD程序。应用该方法,在确定目标FBD程序中各个功能块的执行顺序后,将各个功能块转换成逻辑计算模块,使得该目标FBD程序可以在任意的计算机载体上运行,降低目标FBD程序运行的复杂性和局限性。

Description

FBD程序的运行方法及装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种FBD程序的运行方法及装置。
背景技术
功能图块FBD语言作为一种类似数字逻辑电路结构的编程语言,通过逻辑框图形成功能图块,并将各个功能图块连接实现对系统的控制。在应用FBD语言编写FBD程序后,需要再对FBD程序进行编译,获得FBD程序对应的二进制机器代码,通过执行该二进制机器代码实现对该FBD程序的运行。
现有技术中,将FBD程序进行编译成二进制机器代码后,需要通过支持二进制机器代码运行载体才能运行该FBD程序,例如可编程逻辑控制器PLC、单片机等嵌入式设备均支持运行FBD程序。但在PC端、企业服务器等电子计算机载体中,无法运行该FBD程序,因此,FBD程序的运行具有复杂性和局限性。
发明内容
有鉴于此,本发明提供一种FBD程序的运行方法,通过确定该FBD程序中各个功能块的执行顺序,将各个功能块进行转换后按照执行顺序执行各个逻辑计算模块,可以使该FBD程序在任意的计算机载体上运行,降低FBD程序运行的复杂性和局限性。
本发明还提供了一种FBD程序的运行装置,用以保证上述方法在实际中的实现及应用。
一种FBD程序的运行方法,包括:
获取待运行的目标功能图块FBD程序;
解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;
确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;
基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;
当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行所述目标FBD程序。
上述的方法,可选的,所述确定所述目标FBD程序中包含的各个功能块的执行顺序,包括:
读取所述目标FBD程序中每个所述功能块的功能块信息,所述功能块信息包含功能块名称、引脚名称及引脚数据类型;
基于每个所述功能块信息中的引脚名称及引脚数据类型,确定每个所述功能块引脚之间的关联关系;
依据每个所述功能块引脚之间的关联关系,确定所述目标FBD程序中包含的各个功能块的执行顺序。
上述的方法,可选的,所述确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块,包括:
确定所述目标FBD程序中每个功能块的功能块名称;
依据每个所述功能块的功能块名称,确定每个所述功能块对应的计算方法;
获取各个所述计算方法对应的逻辑转换器,并应用所述逻辑转换器依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块。
上述的方法,可选的,所述按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程,包括:
确定当前运行周期的初始计算值,并将所述初始计算值输入所述目标FBD程序的首个逻辑计算模块中,触发所述首个逻辑计算模块对所述初始计算值进行计算;
在所述当前运行周期中,判断当前已输入计算值的逻辑计算模块是否为最后一个逻辑计算模块;
若所述逻辑计算模块并非最后一个逻辑计算模块,则将所述逻辑计算模块的计算结果确定为输入下一个逻辑计算模块的计算值;
若所述逻辑计算模块为最后一个逻辑计算模块,则判断所述当前运行周期是否为最后一个运行周期;
当所述当前运行周期并非最后一个运行周期时,获取所述最后一个逻辑计算模块的计算结果;
判断所述最后一个逻辑计算模块的计算结果是否满足预设的计算条件;
若所述最后一个逻辑计算模块的计算结果满足预设的计算条件,则将所述计算结果确定为下一个运行周期的初始计算值;
若所述最后一个逻辑计算模块的计算结果不满足预设的计算条件,则获取预先设置的外部变量值,并将所述外部变量值确定为下一个运行周期的初始计算值;
当所述当前运行周期为最后一个运行周期时,在所述最后一个逻辑计算模块输出计算结果时,停止执行所述目标FBD程序中的各个所述逻辑计算模块。
上述的方法,可选的,还包括:
在执行所述目标FBD程序中各个所述逻辑计算模块的计算过程中,若存在任意一个所述逻辑计算模块执行失败,则向预先设置的信息接收端发送执行异常消息。
一种FBD程序的运行装置,包括:
获取单元,用于获取待运行的目标功能图块FBD程序;
确定单元,用于解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;
转换单元,用于确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;
执行单元,用于基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;
结束单元,用于当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行所述目标FBD程序。
上述的装置,可选的,所述确定单元,包括:
读取子单元,用于读取所述目标FBD程序中每个所述功能块的功能块信息,所述功能块信息包含功能块名称、引脚名称及引脚数据类型;
第一确定子单元,用于基于每个所述功能块信息中的引脚名称及引脚数据类型,确定每个所述功能块引脚之间的关联关系;
第二确定子单元,用于依据每个所述功能块引脚之间的关联关系,确定所述目标FBD程序中包含的各个功能块的执行顺序。
上述的装置,可选的,所述转换单元,包括:
第三确定子单元,用于确定所述目标FBD程序中每个功能块的功能块名称;
第四确定子单元,用于依据每个所述功能块的功能块名称,确定每个所述功能块对应的计算方法;
转换子单元,用于获取各个所述计算方法对应的逻辑转换器,并应用所述逻辑转换器依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块。
上述的装置,可选的,所述执行单元,包括:
输入子单元,用于确定当前运行周期的初始计算值,并将所述初始计算值输入所述目标FBD程序的首个逻辑计算模块中,触发所述首个逻辑计算模块对所述初始计算值进行计算;
第一判断子单元,用于在所述当前运行周期中,判断当前已输入计算值的逻辑计算模块是否为最后一个逻辑计算模块;
第五确定子单元,用于若所述逻辑计算模块并非最后一个逻辑计算模块,则将所述逻辑计算模块的计算结果确定为输入下一个逻辑计算模块的计算值;
第二判断子单元,用于若所述逻辑计算模块为最后一个逻辑计算模块,则依据预先设置的运行周期次数,判断所述当前运行周期是否为最后一个运行周期;
获取子单元,用于当所述当前运行周期并非最后一个运行周期时,获取所述最后一个逻辑计算模块的计算结果;
第三判断子单元,用于判断所述最后一个逻辑计算模块的计算结果是否满足预设的计算条件;
第六确定子单元,用于若所述最后一个逻辑计算模块的计算结果满足预设的计算条件,则将所述计算结果确定为下一个运行周期的初始计算值;
第七确定子单元,用于若所述最后一个逻辑计算模块的计算结果不满足预设的计算条件,则获取预先设置的外部变量值,并将所述外部变量值确定为下一个运行周期的初始计算值;
停止子单元,用于当所述当前运行周期为最后一个运行周期时,在所述最后一个逻辑计算模块输出计算结果时,停止执行所述目标FBD程序中的各个所述逻辑计算模块。
上述的装置,可选的,还包括:
发送单元,用于在执行所述目标FBD程序中各个所述逻辑计算模块的计算过程中,若存在任意一个所述逻辑计算模块执行失败,则向预先设置的信息接收端发送执行异常消息。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的FBD程序的运行方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的FBD程序的运行方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种FBD程序的运行方法,包括:获取待运行的目标功能图块FBD程序;解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;当获取到最后一个运行周期中最后一个逻辑计算模块输出计算结果时,结束运行所述目标FBD程序。应用该方法,在确定FBD程序中各个功能块的执行顺序后,将各个功能块转换成逻辑计算模块,使得该FBD程序可以在任意的计算机载体上运行,降低FBD程序运行的复杂性和局限性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种FBD程序的运行方法的方法流程图;
图2为本发明实施例提供的一种FBD程序的运行方法的又一方法流程图;
图3为本发明实施例提供的一种FBD程序的运行方法的又一方法流程图;
图4为本发明实施例提供的一种FBD程序的运行装置的装置结构图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种FBD程序的运行方法,该方法可以应用在多种系统平台,其执行主体可以为计算机终端或各种移动设备的处理器,所述方法的方法流程图如图1所示,具体包括:
S101:获取待运行的目标功能图块FBD程序;
在本发明实施例中,若需要将某个功能图块FBD程序在各个计算机设备上进行运行时,则确定待运行的FBD程序则为目标FBD程序,并获取目标FBD程序,其中,该目标FBD程序由FBD语言编写而成。
S102:解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;
在本发明实施例中,在获取该目标FBD程序后,由于FBD程序是由多个功能块组成的程序,对该目标FBD程序进行解析,获得该目标FBD程序中包含的各个功能块,并确定每一个功能块的执行顺序。
S103:确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;
在本发明实施例中,在目标FBD程序中,每个功能块都有其对应的计算方法,各个功能块的计算方法可以都相同,也可以都不相同,也可以是部分功能块的计算方法相同。其中,各个功能块的计算方法具体可以包括逻辑计算、算数计算、三角函数计算、高等数学计算等计算方法。根据每个功能块对应的计算方法,将各个功能块转换成对应的逻辑计算模块。
S104:基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;
在本发明实施例中,在将各个功能块按照其对应的计算方法转换成逻辑计算模块后,可以应用在各种电子计算机载体上运行各个逻辑计算模块,并可以按照每个功能块的执行顺序执行各个逻辑计算模块。在执行各个逻辑计算模块的过程中,依据该执行顺序及每个逻辑计算模块的计算方法运行该目标FBD程序。在运行目标FBD程序时,需要按照预先设置的运行周期次数运行,当该目标FBD程序中各个逻辑计算模块执行完成后,若当前运行周期还未达到该运行周期次数,则再从目标FBD程序的首个逻辑计算模块开始运行。
S105:当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行所述目标FBD程序。
在本发明实施例中,若当前运行该目标FBD程序的运行周期为最后一个运行周期,则在最后一个运行周期中的最后一个逻辑计算模块输出计算结果时,该目标FBD程序运行结束。
本发明实施例提供的FBD程序的运行方法中,当获取到需要运行的目标FBD程序后,对该目标FBD程序进行解析,以确定该目标FBD程序中各个功能块的执行顺序。其中,每个功能块都支持一种计算方法,在运行目标FBD程序时,需要按照一定的执行顺序运行该目标FBD程序中的各个功能块。为了使该目标FBD程序能够在各种电子计算机载体上运行,可根据每个功能块对应的计算方法,将各个功能块转换成可以在各个计算机载体上执行的逻辑计算模块,并按照预先设置的运行周期次数运行该目标FBD程序中的逻辑计算模块。当在最后一个运行周期的最后一个逻辑计算模块输出结算结果时,结束运行该目标FBD程序。
需要说明的是,在执行各个逻辑计算模块的过程中,可以调用预先设置的执行应用触发该目标FBD程序执行各个逻辑计算模块,该执行应用支持基本数据结构布尔值、整型值、字符串、数组等数据结构,同时也可以支持if/for循环、while循环、函数声明等逻辑控制语句。具体的,该执行应用可以通过已有的高级编程语言实现各个逻辑计算模块的执行和计算过程,该高级编程语言具体可以包括C++、Java等常用语言,在应用高级编程语言时,需要提供其对应的复用接口。
应用本发明实施例提供的方法,在确定目标FBD程序中各个功能块的执行顺序后,将各个功能块转换成逻辑计算模块,使得该目标FBD程序可以在任意的计算机载体上运行,降低目标FBD程序运行的复杂性和局限性。
本发明实施例提供的方法中,基于上述步骤S102的内容,所述确定所述目标FBD程序中包含的各个功能块的执行顺序的过程如图2所示,具体可以包括:
S201:读取所述目标FBD程序中每个所述功能块的功能块信息,所述功能块信息包含功能块名称、引脚名称及引脚数据类型;
在本发明实施例中,在获得目标FBD程序后,对该目标FBD程序进行解析,将该目标FBD程序进行分块,获得该目标FBD程序中的各个功能块,并读取每个功能块的功能块信息。
需要说明的是,每个功能块信息中包含功能块名称、引脚名称、引脚数据类型。具体还可以包括计算类型、计算方法等信息。
S202:基于每个所述功能块信息中的引脚名称及引脚数据类型,确定每个所述功能块引脚之间的关联关系;
在本发明实施例中,根据每个功能块的引脚名称以及引脚数据类型,确定每个功能块对应的输入和输出方向,并根据输入和输出方向及每个功能块引脚的引脚数据类型,确定各个功能块引脚之间的关联关系。例如功能块的引脚名称为“IN”表示该引脚为输入引脚,引脚名称为“OUT”的引脚则为输出引脚,除了“IN”和“OUT”引脚名称之外,还可以包括:AVDD和GND等引脚名称。引脚数据类型具体可以是FLOAT、SFLOAT及BOOL等。
S203:依据每个所述功能块引脚之间的关联关系,确定所述目标FBD程序中包含的各个功能块的执行顺序。
在本发明实施例中,在确定各个引脚之间的关联关系后,可以确定各个功能块之间的连接关系,根据各个功能块的连接关系确定各个功能块的执行顺序。
需要说明的是,各个功能块的执行顺序具体可以是先从左到右执行再从上到下执行;也可以是先从上到下执行再从左到右执行。
本发明实施例提供的FBD程序的运行方法中,在确定目标FBD程序的各个功能块之间的执行顺序的过程中,先读取每个功能块的功能块信息,依据每个功能块信息中的引脚名称及引脚数据类型,确定每个引脚之间的关联关系,通过各个引脚之间的关联关系确定各个功能块的执行顺序。
应用本发明实施例提供的方法,通过各个功能块中的各个引脚之间的关联关系确定功能块的执行顺序,保证在计算机载体上运行该目标FBD程序时,能够按照原有的执行顺序执行每个功能块对应的逻辑计算模块。
本发明实施例提供的方法中,基于上述步骤S103中的内容,所述确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块,包括:
确定所述目标FBD程序中每个功能块的功能块名称;
依据每个所述功能块的功能块名称,确定每个所述功能块对应的计算方法;
获取各个所述计算方法对应的逻辑转换器,并应用所述逻辑转换器依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块。
本发明实施例提供的FBD程序的运行方法中,在每个功能块的功能块信息中包含其对应的功能块的功能块名称,可通过每个功能块的功能块信息确定其功能块名称。每个功能块在编写和创建的过程中,均以其对应的计算方法进行命名,例如,功能块A用以实现逻辑计算中的异或计算,则该功能块A名称为异或图块;此时可以确定功能块名称为异或模块的功能块对应的计算方法为逻辑计算中的异或计算。其中,当存在多个功能块对应的计算方法相同时,会根据各个功能块的执行顺序,在每个功能块名称后进行设置标志符进行区别。在将每个功能块转换成逻辑计算模块时,需要应用预先设置的每个计算方法对应的逻辑转换器,将各个功能块进行转换成其对应的逻辑计算模块。
需要说明的是,每个计算方法对应的逻辑转换器可以相同,也可以互不相同。该逻辑转换器可以根据待转换的功能块的计算方法对应的计算性质,将该功能块进行转换。
可选的,在将各个功能块转换成逻辑计算模块的过程中,可以是在确定各个功能块的执行顺序后,将各个功能块同时进行转换。也可以是在确定各个功能块的执行顺序后,在执行当前的功能块之前,先将当前需要执行的功能块进行转换后,等待执行下一个功能块时,再将下一个功能块进行转换。
应用本发明实施例提供的方法,将各个功能块转换成可在电子的计算机载体上运行的逻辑计算模块,以保证该目标FBD程序可以在任意的计算机载体上运行,降低目标FBD程序运行的复杂性和局限性。
本发明实施例提供的方法中,基于上述实施例步骤S104,所述按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程如图3所示,具体可以包括:
S301:确定当前运行周期的初始计算值,并将所述初始计算值输入所述目标FBD程序的首个逻辑计算模块中,触发所述首个逻辑计算模块对所述初始计算值进行计算;
在本发明实施例中,在根据预设的运行周期次数运行该目标FBD程序的过程中,在每个运行周期运行该目标FBD程序时,先确定当前运行周期的初始计算值,该初始计算值是输入该目标FBD程序的首个逻辑计算模块的输入值。该首个逻辑计算模块为该目标FBD程序中第一个执行的功能块。当首个逻辑计算模块接收到该初始计算值后,应用其对应的计算方法对该初始计算值进行计算。
S302:在所述当前运行周期中,判断当前已输入计算值的逻辑计算模块是否为最后一个逻辑计算模块;
在本发明实施例中,在当前运行周期中,若当前的逻辑计算模块已输入计算值,则在当前的逻辑计算模块依据该计算值进行计算的过程中,判断当前的逻辑计算模块是否为最后一个逻辑计算模块。
需要说明的是,该当前执行的逻辑计算模块可以是首个逻辑计算模块,若该逻辑计算模块为首个逻辑计算模块时,该计算值为初始计算值。
S303:若所述逻辑计算模块并非最后一个逻辑计算模块,则将所述逻辑计算模块的计算结果确定为输入下一个逻辑计算模块的计算值;
在本发明实施例中,若该逻辑计算模块并非最后一个逻辑计算模块,可以确定该目标FBD程序并未完成在当前运行周期的运行。当逻辑计算模块在根据该计算值输出计算结果时,将该逻辑计算模块的计算结果确定为输入下一个逻辑计算模块的计算值,可以再次执行上述实施例步骤S302中判断已输入计算值的逻辑计算模块是否为最后一个逻辑计算模块的过程。
例如,若首个逻辑计算模块根据初始计算值输出一个计算结果时,将该首个逻辑计算模块所输出的计算结果作为第二逻辑计算模块的计算值,而第二逻辑计算模块所输出的计算结果,作为第三逻辑计算模块的计算值,此处将不复赘述。
S304:若所述逻辑计算模块为最后一个逻辑计算模块,则依据预先设置的运行周期次数,判断所述当前运行周期是否为最后一个运行周期;
在本发明实施例中,若该逻辑计算模块为最后一个逻辑计算模块,可以确定该目标FBD程序完成在当前运行周期的运行。由于已经设置了运行周期次数,则判断当前运行周期是不是最后一个周期。
可选的,在每个运行周期运行该目标FBD程序时,都会对当前运行的次数进行记录,以确定当前运行周期是否为最后一次运行周期。
S305:当所述当前运行周期并非最后一个运行周期时,获取所述最后一个逻辑计算模块的计算结果;
在本发明实施例中,当该当前运行周期不是最后一个运行周期时,即,当前运行周期对应的次数小于该运行周期次数时,在最后一个逻辑计算模块输出计算结果后,获取该最后一个逻辑计算模块的计算结果。
S306:判断所述最后一个逻辑计算模块的计算结果是否满足预设的计算条件;
在本发明实施例中,对该最后一个逻辑计算模块的计算结果进行判断,以确定该最后一个逻辑计算模块的计算结果是否满足预设的计算条件,即,判断该计算结果是否能应用到下一个周期的运行过程中。
需要说明的是,若需要将当前运行周期的最后一个逻辑计算模块的计算结果应用到下一个运行周期中,需要确定该计算结果是否会影响下一个运行周期的运行过程。
S307:若所述最后一个逻辑计算模块的计算结果满足预设的计算条件,则将所述计算结果确定为下一个运行周期的初始计算值;
在本发明实施例中,若该最后一个逻辑计算模块的计算结果满足预设的计算条件,表征该计算结果不会影响下一个运行周期的运行过程,可以将该最后一个逻辑计算模块的计算结果确定为下一个运行周期的初始计算值。即,在下一个运行周期的首个逻辑计算模块中,输入当前运行周期中最后一个逻辑计算模块的计算结果,可以再执行上述步骤S301的过程。
S308:若所述最后一个逻辑计算模块的计算结果不满足预设的计算条件,则获取预先设置的外部变量值,并将所述外部变量值确定为下一个运行周期的初始计算值;
在本发明实施例中,若该最后一个逻辑计算模块的计算结果不满足预设的计算条件,表征该计算结果会影响下一个运行周期的运行过程。获取预先设置的外部变量值,将该外部变量值作为下一个运行周期的初始计算值。即,在下一个运行周期的首个逻辑计算模块中,输入该外部变量值,可以再执行上述步骤S301的过程。
需要说明的是,该外部变量值可以是在第一个运行周期输入首个逻辑计算模块的初始计算值,也可以是在后续计算过程中进行调整的变量值。
S309:当所述当前运行周期为最后一个运行周期时,在所述最后一个逻辑计算模块输出计算结果时,停止执行所述目标FBD程序中的各个所述逻辑计算模块。
在本发明实施中,当该当前运行周期为最后一个运行周期时,在最后一个逻辑计算模块输出计算结果,结束运行该目标FBD程序。
本发明实施例提供的FBD程序的运行方法中,在各个逻辑计算模块的执行过程中,当前逻辑计算模块的计算结果,可以作为输入下一个逻辑计算模块的计算值。并且在每个逻辑计算模块执行的过程中,均判断该逻辑计算模块是否为最后一个逻辑计算模块,若是最后一个逻辑计算模块,则确定当前运行周期是否为最后一个运行周期,若非最后一个,则再确定该最后一个逻辑计算模块所输出的计算结果会不会影响下一个运行周期运行目标FBD程序,若不影响,则将该最后一个逻辑计算模块的计算结果作为下一个运行周期的初始计算值;若影响,则获取外部变量值作为下一个运行周期的初始计算值。对于每个运行周期中的第一个执行的首个逻辑计算模块,其输入的计算值则为初始计算值。在当前运行周期为最后一个运行周期时,在最后一个逻辑计算模块输出计算结果后,不再运行该目标FBD程序。
可选的,本发明实施例中,可以不设置运行周期次数,该目标FBD程序在启动时将会持续运行,指直接收到停止运行的指令再结束运行。该停止运行指令可以是用户通过客户端发送的命令,或运行该目标FBD程序的系统停止时发出的暂停指令。
应用本发明实施例提供的方法,根据上述步骤S301~S309的过程,可以确定该目标FBD程序在各个计算机载体上运行的过程,降低目标FBD程序运行的复杂性和局限性。
本发明实施例提供的方法中,该目标FBD程序在运行的过程中,具体还可以包括:
在执行所述目标FBD程序中各个所述逻辑计算模块的计算过程中,若存在任意一个所述逻辑计算模块执行失败,则向预先设置的信息接收端发送执行异常消息。
本发明实施例提供的方法中,在目标FBD程序运行的过程中,可以实时对各个逻辑计算模块的计算过程进行监控。当任意一个逻辑计算模块在当前执行计算过程中执行失败时,会向预先设置的信息接收端发送执行异常消息。其中,该信息接收端可以是与用户连接的客户端。
应用本发明实施例提供的方法,可以实时确定目标FBD程序运行过程的情况,并在逻辑计算模块执行失败时及时发送异常消息,保证目标FBD程序运行过程的安全性。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种FBD程序的运行装置,用于对图1中方法的具体实现,本发明实施例提供的FBD程序的运行装置可以应用计算机终端或各种移动设备中,其结构示意图如图4所示,具体包括:
获取单元401,用于获取待运行的目标功能图块FBD程序;
确定单元402,用于解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;
转换单元403,用于确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;
执行单元404,用于基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;
结束单元405,用于当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行所述目标FBD程序。
本发明实施例提供的装置中,由获取单元获取需要运行的目标FBD程序,再由确定单元确定该目标FBD程序中各个功能块的执行顺序,由转换单元将各个功能块转换成其对应的逻辑计算模块,并由执行单元按照预设的运行周期次数执行该目标FBD程序中的各个逻辑计算模块的计算过程。最后由结束模块在获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果候,结束运行目标FBD程序。本发明的装置中,根据该确定单元及转换单元将各个功能块转换成逻辑计算模块,使得该目标FBD程序可以在任意的计算机载体上运行,降低目标FBD程序运行的复杂性和局限性。
本发明实施例提供的装置中,所述确定单元,包括:
读取子单元,用于读取所述目标FBD程序中每个所述功能块的功能块信息,所述功能块信息包含功能块名称、引脚名称及引脚数据类型;
第一确定子单元,用于基于每个所述功能块信息中的引脚名称及引脚数据类型,确定每个所述功能块引脚之间的关联关系;
第二确定子单元,用于依据每个所述功能块引脚之间的关联关系,确定所述目标FBD程序中包含的各个功能块的执行顺序。
本发明实施例提供的装置中,所述转换单元,包括:
第三确定子单元,用于确定所述目标FBD程序中每个功能块的功能块名称;
第四确定子单元,用于依据每个所述功能块的功能块名称,确定每个所述功能块对应的计算方法;
转换子单元,用于获取各个所述计算方法对应的逻辑转换器,并应用所述逻辑转换器依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块。
本发明实施例提供的装置中,所述执行单元,包括:
输入子单元,用于确定当前运行周期的初始计算值,并将所述初始计算值输入所述目标FBD程序的首个逻辑计算模块中,触发所述首个逻辑计算模块对所述初始计算值进行计算;
第一判断子单元,用于在所述当前运行周期中,判断当前已输入计算值的逻辑计算模块是否为最后一个逻辑计算模块;
第五确定子单元,用于若所述逻辑计算模块并非最后一个逻辑计算模块,则将所述逻辑计算模块的计算结果确定为输入下一个逻辑计算模块的计算值;
第二判断子单元,用于若所述逻辑计算模块为最后一个逻辑计算模块,则依据预先设置的运行周期次数,判断所述当前运行周期是否为最后一个运行周期;
获取子单元,用于当所述当前运行周期并非最后一个运行周期时,获取所述最后一个逻辑计算模块的计算结果;
第三判断子单元,用于判断所述最后一个逻辑计算模块的计算结果是否满足预设的计算条件;
第六确定子单元,用于若所述最后一个逻辑计算模块的计算结果满足预设的计算条件,则将所述计算结果确定为下一个运行周期的初始计算值;
第七确定子单元,用于若所述最后一个逻辑计算模块的计算结果不满足预设的计算条件,则获取预先设置的外部变量值,并将所述外部变量值确定为下一个运行周期的初始计算值;
停止子单元,用于当所述当前运行周期为最后一个运行周期时,在所述最后一个逻辑计算模块输出计算结果时,停止执行所述目标FBD程序中的各个所述逻辑计算模块。
本发明实施例提供的装置中,还包括:
发送单元,用于在执行所述目标FBD程序中各个所述逻辑计算模块的计算过程中,若存在任意一个所述逻辑计算模块执行失败,则向预先设置的信息接收端发送执行异常消息。
以上本发明实施例公开的FBD程序的运行装置中的各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的FBD程序的运行方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述FBD程序的运行方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
获取待运行的目标功能图块FBD程序;
解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;
确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;
基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;
当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行所述目标FBD程序。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种FBD程序的运行方法,其特征在于,包括:
获取待运行的目标功能图块FBD程序;
解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;其中,所述确定所述目标FBD程序中包含的各个功能块的执行顺序,包括:读取所述目标FBD程序中每个所述功能块的功能块信息,所述功能块信息包含功能块名称、引脚名称及引脚数据类型;基于每个所述功能块信息中的引脚名称及引脚数据类型,确定每个所述功能块引脚之间的关联关系;依据每个所述功能块引脚之间的关联关系,确定所述目标FBD程序中包含的各个功能块的执行顺序;
确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;
基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;
当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行所述目标FBD程序。
2.根据权利要求1所述的方法,其特征在于,所述确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块,包括:
确定所述目标FBD程序中每个功能块的功能块名称;
依据每个所述功能块的功能块名称,确定每个所述功能块对应的计算方法;
获取各个所述计算方法对应的逻辑转换器,并应用所述逻辑转换器依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块。
3.根据权利要求1所述的方法,其特征在于,所述按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程,包括:
确定当前运行周期的初始计算值,并将所述初始计算值输入所述目标FBD程序的首个逻辑计算模块中,触发所述首个逻辑计算模块对所述初始计算值进行计算;
在所述当前运行周期中,判断当前已输入计算值的逻辑计算模块是否为最后一个逻辑计算模块;
若所述逻辑计算模块并非最后一个逻辑计算模块,则将所述逻辑计算模块的计算结果确定为输入下一个逻辑计算模块的计算值;
若所述逻辑计算模块为最后一个逻辑计算模块,则判断所述当前运行周期是否为最后一个运行周期;
当所述当前运行周期并非最后一个运行周期时,获取所述最后一个逻辑计算模块的计算结果;
判断所述最后一个逻辑计算模块的计算结果是否满足预设的计算条件;
若所述最后一个逻辑计算模块的计算结果满足预设的计算条件,则将所述计算结果确定为下一个运行周期的初始计算值;
若所述最后一个逻辑计算模块的计算结果不满足预设的计算条件,则获取预先设置的外部变量值,并将所述外部变量值确定为下一个运行周期的初始计算值;
当所述当前运行周期为最后一个运行周期时,在所述最后一个逻辑计算模块输出计算结果时,停止执行所述目标FBD程序中的各个所述逻辑计算模块。
4.根据权利要求1所述的方法,其特征在于,还包括:
在执行所述目标FBD程序中各个所述逻辑计算模块的计算过程中,若存在任意一个所述逻辑计算模块执行失败,则向预先设置的信息接收端发送执行异常消息。
5.一种FBD程序的运行装置,其特征在于,包括:
获取单元,用于获取待运行的目标功能图块FBD程序;
确定单元,用于解析所述目标FBD程序,并确定所述目标FBD程序中包含的各个功能块的执行顺序;
转换单元,用于确定每个所述功能块对应的计算方法,并依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块;
执行单元,用于基于所述执行顺序及各个所述逻辑计算模块的计算方法,按照预先设置的运行周期次数,执行所述目标FBD程序中各个所述逻辑计算模块的计算过程;
结束单元,用于当获取到最后一个运行周期中最后一个逻辑计算模块输出的计算结果时,结束运行所述目标FBD程序;
所述确定单元,包括:
读取子单元,用于读取所述目标FBD程序中每个所述功能块的功能块信息,所述功能块信息包含功能块名称、引脚名称及引脚数据类型;
第一确定子单元,用于基于每个所述功能块信息中的引脚名称及引脚数据类型,确定每个所述功能块引脚之间的关联关系;
第二确定子单元,用于依据每个所述功能块引脚之间的关联关系,确定所述目标FBD程序中包含的各个功能块的执行顺序。
6.根据权利要求5所述的装置,其特征在于,所述转换单元,包括:
第三确定子单元,用于确定所述目标FBD程序中每个功能块的功能块名称;
第四确定子单元,用于依据每个所述功能块的功能块名称,确定每个所述功能块对应的计算方法;
转换子单元,用于获取各个所述计算方法对应的逻辑转换器,并应用所述逻辑转换器依据各个所述计算方法,将每个所述功能块转换成其对应的逻辑计算模块。
7.根据权利要求5所述的装置,其特征在于,所述执行单元,包括:
输入子单元,用于确定当前运行周期的初始计算值,并将所述初始计算值输入所述目标FBD程序的首个逻辑计算模块中,触发所述首个逻辑计算模块对所述初始计算值进行计算;
第一判断子单元,用于在所述当前运行周期中,判断当前已输入计算值的逻辑计算模块是否为最后一个逻辑计算模块;
第五确定子单元,用于若所述逻辑计算模块并非最后一个逻辑计算模块,则将所述逻辑计算模块的计算结果确定为输入下一个逻辑计算模块的计算值;
第二判断子单元,用于若所述逻辑计算模块为最后一个逻辑计算模块,则依据预先设置的运行周期次数,判断所述当前运行周期是否为最后一个运行周期;
获取子单元,用于当所述当前运行周期并非最后一个运行周期时,获取所述最后一个逻辑计算模块的计算结果;
第三判断子单元,用于判断所述最后一个逻辑计算模块的计算结果是否满足预设的计算条件;
第六确定子单元,用于若所述最后一个逻辑计算模块的计算结果满足预设的计算条件,则将所述计算结果确定为下一个运行周期的初始计算值;
第七确定子单元,用于若所述最后一个逻辑计算模块的计算结果不满足预设的计算条件,则获取预先设置的外部变量值,并将所述外部变量值确定为下一个运行周期的初始计算值;
停止子单元,用于当所述当前运行周期为最后一个运行周期时,在所述最后一个逻辑计算模块输出计算结果时,停止执行所述目标FBD程序中的各个所述逻辑计算模块。
8.根据权利要求5所述的装置,其特征在于,还包括:
发送单元,用于在执行所述目标FBD程序中各个所述逻辑计算模块的计算过程中,若存在任意一个所述逻辑计算模块执行失败,则向预先设置的信息接收端发送执行异常消息。
CN201911241912.7A 2019-12-06 2019-12-06 Fbd程序的运行方法及装置 Active CN110928602B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911241912.7A CN110928602B (zh) 2019-12-06 2019-12-06 Fbd程序的运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911241912.7A CN110928602B (zh) 2019-12-06 2019-12-06 Fbd程序的运行方法及装置

Publications (2)

Publication Number Publication Date
CN110928602A CN110928602A (zh) 2020-03-27
CN110928602B true CN110928602B (zh) 2022-09-20

Family

ID=69857346

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911241912.7A Active CN110928602B (zh) 2019-12-06 2019-12-06 Fbd程序的运行方法及装置

Country Status (1)

Country Link
CN (1) CN110928602B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463148A (zh) * 2020-12-09 2021-03-09 浙江中控技术股份有限公司 一种功能块应用文件的生成方法、装置及设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103123590A (zh) * 2011-11-18 2013-05-29 中国科学院沈阳计算技术研究所有限公司 指令表il程序到c语言程序的编译方法
CN103617044A (zh) * 2013-12-10 2014-03-05 北京市计算中心 一种二次开发程序执行的控制方法
CN106200541A (zh) * 2015-05-08 2016-12-07 杭州电子科技大学 一种将功能块图转换为aov结构的方法
CN107229505A (zh) * 2017-06-07 2017-10-03 华东师范大学 一种基于虚拟机的程序运行方法
CN107423104A (zh) * 2017-06-09 2017-12-01 华东师范大学 一种基于虚拟机的程序运行系统
CN108829440A (zh) * 2018-05-31 2018-11-16 福州芝麻智能科技有限公司 一种将逻辑组态数组转为逻辑执行命令的方法和系统
CN109858721A (zh) * 2017-11-30 2019-06-07 中广核(北京)仿真技术有限公司 一种控制计算策略生成方法以及系统
CN109976760A (zh) * 2017-12-27 2019-07-05 北京东土科技股份有限公司 一种图形语言的交叉编译方法及交叉编译器
CN110119358A (zh) * 2019-05-15 2019-08-13 杭州电子科技大学 Fbd程序的测试方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103123590A (zh) * 2011-11-18 2013-05-29 中国科学院沈阳计算技术研究所有限公司 指令表il程序到c语言程序的编译方法
CN103617044A (zh) * 2013-12-10 2014-03-05 北京市计算中心 一种二次开发程序执行的控制方法
CN106200541A (zh) * 2015-05-08 2016-12-07 杭州电子科技大学 一种将功能块图转换为aov结构的方法
CN107229505A (zh) * 2017-06-07 2017-10-03 华东师范大学 一种基于虚拟机的程序运行方法
CN107423104A (zh) * 2017-06-09 2017-12-01 华东师范大学 一种基于虚拟机的程序运行系统
CN109858721A (zh) * 2017-11-30 2019-06-07 中广核(北京)仿真技术有限公司 一种控制计算策略生成方法以及系统
CN109976760A (zh) * 2017-12-27 2019-07-05 北京东土科技股份有限公司 一种图形语言的交叉编译方法及交叉编译器
CN108829440A (zh) * 2018-05-31 2018-11-16 福州芝麻智能科技有限公司 一种将逻辑组态数组转为逻辑执行命令的方法和系统
CN110119358A (zh) * 2019-05-15 2019-08-13 杭州电子科技大学 Fbd程序的测试方法及装置

Also Published As

Publication number Publication date
CN110928602A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
CN109739478B (zh) 前端项目自动化构建方法、装置、存储介质及电子设备
US9110682B2 (en) State machine control of a debugger
CN111427803B (zh) 自动化随机测试方法、装置、计算机设备及介质
CN110471663B (zh) 一种代码编译方法、装置及电子设备
US20130219226A1 (en) Distributed testing within a serial testing infrastructure
CN111008132B (zh) Android系统的应用调试方法、装置、计算机设备和存储介质
US9378054B2 (en) Testing system with methodology for background application control
CN110659198A (zh) 应用程序的测试用例执行方法、装置和软件测试系统
CN110928602B (zh) Fbd程序的运行方法及装置
CN104598267A (zh) 应用的调起方法及装置
CN103631585A (zh) 一种用于开发应用程序的方法及系统
TW202403541A (zh) 第三方行動應用程式中引入小程序的系統、方法、裝置及介質
CN116166457A (zh) 数据处理方法及相关设备
CN103577299A (zh) 监控方法和装置、数据处理方法和装置及分布式计算系统
CN110502439B (zh) 调试方法、装置、电子设备以及存储介质
CN113010177B (zh) 软件定义的仪器和信息采集方法、计算机、存储介质
CN110633254A (zh) 数据交互方法及装置
CN114281404A (zh) 一种工控机算法代码的移植方法及装置
CN114357428A (zh) 一种物联网设备的解绑方法及相关装置
CN103809995A (zh) 单片机及其在线升级方法和在线升级装置
CN111488152B (zh) 一种应用程序页面预览的方法和相关装置、系统
CN113918444A (zh) 崩溃源代码定位方法、装置、介质及电子设备
CN110378101A (zh) Bios密码设置方法、系统、装置及存储介质
CN111782196A (zh) 基于mvp架构的开发方法及装置
CN106919436B (zh) Dalvik虚拟机实现多任务的方法、装置及虚拟机

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