CN113361095B - 基于工业app集成开发平台的模型验证方法和系统 - Google Patents
基于工业app集成开发平台的模型验证方法和系统 Download PDFInfo
- Publication number
- CN113361095B CN113361095B CN202110613121.3A CN202110613121A CN113361095B CN 113361095 B CN113361095 B CN 113361095B CN 202110613121 A CN202110613121 A CN 202110613121A CN 113361095 B CN113361095 B CN 113361095B
- Authority
- CN
- China
- Prior art keywords
- fmu
- model
- server
- proxy
- proxy server
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及云平台领域,具体而言,涉及一种基于工业APP集成开发平台的模型验证方法和系统。方法包括:通过客户端页面将FMU模型发送至前端,并上传至代理服务器;代理服务器调用Reload FMUs方法生成空白的配置文件,解析到模型配置信息,写入配置文件;调用builder.Add Server将配置文件添加到NTNU‑IHB/Proxy包中类Thrift Fmu Servlet、Thrift FmuSocketServer、GrpcFmuServer实例中;代理服务器将FMU模型上传至主服务器。本实施例通过调用NTNU‑IHB/Proxy包对FMU模型进行解析,以及把解析功能整合到系统中。
Description
技术领域
本发明涉及云平台领域,具体而言,涉及一种基于工业APP集成开发平台的模型验证方法和系统。
背景技术
功能模型单元(Functional Mockup Unit,FMU)模型是基于FMI(FunctionalMockup Interface)接口标准封装的仿真模型,一个FMU模型能独立完成某个设计。
通过实现FMI标准,在不同的建模仿真工具中设计出的仿真模型有了统一的模型描述格式及数据存储方式,提高了模型的可用性和复用性。但是开发人员的开发熟练程度与封装方式各不相同,目前尚未出现一个专门FMU模型在线上传和测试方法及流程去验证模型的正确性。比如,目前FMU模型只能在本地部署的建模仿真工具中进行解析。在MATLAB&Simulink建模中封装的FMU模型,只能在Matlab里面进行解析,对于未安装Matlab软件、或者使用公共电脑的用于而言,解析FMU文件存在困难。
有鉴于此,特提出本发明。
发明内容
本发明的目的在于提供一种基于工业APP集成开发平台的模型验证方法和系统,通过调用NTNU-IHB/Proxy包对FMU模型进行解析,以及把解析功能整合到系统中。
第一方面,本发明提供了一种基于工业APP集成开发平台的模型验证方法,应用于基于工业APP集成开发平台的模型验证系统,所述系统包括:代理服务器、主服务器、前端和客户端页面;
所述方法包括:
通过所述客户端页面将FMU模型发送至所述前端,并通过所述前端上传至所述代理服务器;
所述代理服务器调用Reload FMUs方法生成所述FMU模型的空白的配置文件,解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件;调用builder.AddServer将所述配置文件分别添加到NTNU-IHB/Proxy包中类Thrift Fmu Servlet、ThriftFmuSocketServer、GrpcFmuServer的实例中;
所述代理服务器将所述FMU模型上传至所述主服务器;
所述主服务器加载所述FMU模型,执行所述FMU模型。
可选的,主服务器加载所述FMU模型,包括:
所述主服务器调用工具类FMU Http Server将所述FMU模型转换为FMU对象并加载,返回FMU类型的对象,使用NTNU-IHB/FMI包中的Abstract FMU接口接收所述FMU类型的对象。
可选的,在所述使用NTNU-IHB/FMI包中的Abstract FMU接口进行接收之后,还包括:
所述主服务器对所述FMU模型进行格式校验和访问路径校验。
可选的,所述代理服务器解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件,包括:
所述代理服务器调用针对所述FMU模型对象的get方法,获得模型名称和编号;
所述代理服务器描述信息和版本号;
所述代理服务器将模型编号、名称、描述信息和版本号存储至index对象中,并将所述index对象写入所述空白的配置文件。
可选的,在将所述模型配置信息写入所述空白的配置文件之后,还包括:
所述代理服务器根据解析成功与否确定模型状态;
所述代理服务器将模型状态和解析得到的模型名称和编号,添加到所述前端的当前模型列表中。
可选的,所述主服务器执行所述FMU模型,包括:
所述主服务器接收所述客户端页面发送的所述FMU的运行参数;
所述主服务器采用所述运行参数运行所述FMU模型,将所述FMU模型的运行结果反馈至所述客户端页面。
可选的,所述主服务器接收所述客户端页面发送的所述FMU的运行参数,包括:
所述主服务器调用NTNU-IHB/Proxy包中FMU Proxy类的start方法,传入所述客户端页面发送的所述FMU的运行参数。
可选的,所述主服务器采用所述运行参数运行所述FMU模型,将所述FMU模型的运行结果反馈至所述客户端页面,包括:
所述主服务器响应于用户的触发操作,调用start方法采用所述运行参数执行所述FMU模型,并将执行结果存储至list列表中;
所述代理服务器调用Reload FMU方法,将所述list列表转化为Array数组;
所述代理服务器将所述Array数组返回至所述客户端页面显示。
第二方面,本发明提供了一种基于工业APP集成开发平台的模型验证系统,系统包括:代理服务器、主服务器、前端和客户端页面;
客户端页面,用于将FMU模型发送至所述前端,并通过所述前端上传至所述代理服务器;
所述代理服务器,用于调用Reload FMUs方法生成所述FMU模型的空白的配置文件,解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件;调用builder.Add Server将所述配置文件分别添加到NTNU-IHB/Proxy包中类Thrift FmuServlet、Thrift FmuSocketServer、GrpcFmuServer的实例中;
所述代理服务器,用于将所述FMU模型上传至所述主服务器;
所述主服务器,用于加载所述FMU模型,执行所述FMU模型。
与现有技术相比,本发明的有益效果为:
本实施例提供的方法不依赖特定的FMU封装环境,例如Matlab没有依赖matlab环境,对于FMU模型的解析使用的是NTNU-IHB/Proxy包,依据代理设计模式,完成了FMU模型的解析和执行的最基本实现。而且,本实施例通过调用NTNU-IHB/Proxy包(用于实现FMU解析功能)中的相应方法可以对用户上传的FMU模型进行解析;以及把解析功能整合到系统中,通过远程调用的方式使用户可以在客户端页面上直接进行FMU模型的上传和解析。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的基于工业APP集成开发平台的模型验证方法的流程图;
图2是本发明实施例提供的基于工业APP集成开发平台的模型验证方法的信令图;
图3是本发明实施例提供的信息展示界面的示意图;
图4是本发明实施例提供的客户端页面上传入参数的示意图;
图5是本发明实施例提供的运行参数和结果的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整的描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
图1是本发明实施例提供的基于工业APP集成开发平台的模型验证方法的流程图,应用于基于工业APP集成开发平台的模型验证系统,参见图2,系统使用C#语言开发Web工程实现,包括:代理服务器(FMU RPC Proxy Service)、主服务器(FMU Proxy Server Demo)、前端(Web Demo)和客户端页面。客户端页面直接与前端交互。
工业互联网APP集成开发平台是为工业APP开发提供通用工业软件和硬件接口、更适用于表达工业技术特征的软件功能、以及更加便捷的操作方式。本实施例通过将模型验证方法集成在工业APP集成开发平台中,能够有效解决传统工业软件开发方法对开发人员要求高、开发效率低的问题,并加速汽车工业技术知识经验的转化。同时工业互联网APP集成开发平台能够为专业技术服务商和第三方开发者(尤其是FMU模型的开发用户)打造通用开发环境,有效缩短软件研发周期,灵活满足工业用户个性化定制需求。参见图1,本实施例包括以下操作:
S110、通过客户端页面将FMU模型发送至所述前端,并通过所述前端上传至所述代理服务器。
用户将基于FMI接口标准将多种建模工具下得到的模型封装成FMU模型,通过客户端页面将FMU模型文件在线上传至前端,FMU文件在代理服务器中被解析,生成模型的配置文件。
可选的,前端会对用户上传操作进行权限检查,通过与代理服务器文件App.config中的密钥对比,密钥正确才可上传,否则会显示错误信息,不予上传。
S120、代理服务器调用Reload FMUs方法生成所述FMU模型的空白的配置文件,解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件;调用builder.AddServer将所述配置文件分别添加到NTNU-IHB/Proxy包中类Thrift Fmu Servlet、ThriftFmuSocketServer、GrpcFmuServer的实例中。
用户上传的FMU模型以文件形式传输,FMU模型文件解析通过FMU RPC ProxyService中的Reload FMUs方法实现。具体而言,首先,通过用户上传的FMU模型文件,利用Properties.Setting生成FMU的空白配置文件FMUs.xml。然后,对FMU模型的模型编号(GUID)、名称(Name)、模型描述信息(Description)(包括作者,生成工具和生成时间)、FMI版本号(Version)进行提取。具体的,调用针对所述FMU模型对象的get方法,获得模型名称和编号。描述信息和版本号是使用MATLAB&Simulink等工具生成时,内置到FUM模型文件中的,都由生成模型的工具本身所决定(比如对于Simulink(R2020b)生成的模型,时间是操作系统当前时间,版本默认为2.0,作者默认为空)。其中GUID和Description不允许为空,否则会提示"不存在该GUID"和"获取模型描述错误"。接着,将上述模型配置信息存入index对象中,写入空白的配置文件FMUs.xml。
在主服务器Properties.Settings中获得服务器的端口信息,调用builder.AddServer将端口信息分别添加到NTNU-IHB/Proxy包中类Thrift Fmu Servlet、ThriftFmuSocketServer、GrpcFmuServer的实例中。上述三个实例对象共同组成了整个项目的Server组件,Server组件负责了服务器的启动和运行的维持。其中Thrift Fmu Servlet是运行在前端的Server程序,直接与客户端页面的生成相关;Thrift FmuSocketServer是运行在代理服务器上的Server程序,具有Socket套接字的功能,能够存储转发FMU文件;GrpcFmuServer是基于gRCP框架的实现类,运行在主服务器端,实现最底层的服务器启动和配置。三个实例的端口信息(即Properties.Settings中的端口号)只有保持相同,才能完成“主服务器-代理服务器-前端-客户端页面”的通信工作。
S130、代理服务器将所述FMU模型上传至所述主服务器。
如果能够成功解析FMU模型,则将FMU模型上传至主服务器。
S140、主服务器加载所述FMU模型,执行所述FMU模型。
所述主服务器调用工具类FMU Http Server(FMU Proxy Server Demo中定义了工具类FMU Http Server)将所述FMU模型使用Load FMU方法进行加载,该方法返回一个FMU类型的对象,使用NTNU-IHB/FMI包中的Abstract FMU接口接收所述FMU类型的对象。
其中,Load FMU方法的作用,是将用户上传的FMU模型(.fmu格式文件)封装成中的FMU类型的对象(C#类的对象)。Abstract FMU接口接收该FMU类型的对象,事实上,FMU类型就是根据该接口实现的。
NTNU-IHB/FMI包根据FMI标准完成了FMI接口的封装等操作,通过调用NTNU-IHB/FMI包中的相应方法实现FMU模型的加载。
进一步的,主服务器对所述FMU进行格式校验和访问路径校验。具体而言,上传操作通过FMU Proxy Server Demo中的button Add FMU_Click方法实现,该方法会对用户上传的FMU模型文件进行初步检查,如果不符合FMI格式要求,或用户选择的访问路径无法访问,则会显示错误信息"FMU读取错误"。访问路径是用户在客户端页面上选择的,前端在本地通过该访问路径检索得到FMU模型。
本实施例提供的方法不依赖特定的FMU封装环境,例如Matlab没有依赖matlab环境,对于FMU模型的解析使用的是NTNU-IHB/Proxy包,依据代理设计模式,完成了FMU模型的解析和执行的最基本实现。而且,本实施例通过调用NTNU-IHB/Proxy包(用于实现FMU解析功能)中的相应方法可以对用户上传的FMU模型进行解析;以及把解析功能整合到系统中,通过远程调用的方式使用户可以在客户端页面上直接进行FMU模型的上传和解析。
图2是本发明实施例提供的基于工业APP集成开发平台的模型验证方法的信令图,对整个方法流程进行详细介绍。
首先,用户通过客户端页面将FMU模型传输至前端,前端对用户权限检查通过后,将本地访问路径中的FMU模型上传至代理服务器。代理服务器对FMU模型进行解析,根据解析成功与否确定模型状态。如果解析成功则状态为正常,解析不成功则状态为失败。接着,代理服务器将模型状态和解析得到的模型名称和编号,添加到所述前端的当前模型列表(List View Item类型)中。具体以字符串形式表示FMU的名称(Name)、模型编号(GUID)和正常与否的状态(Status),并将这3个信息传输到客户端页面上并显示。用户可以在网页上查看自己模型的名称、编号和状态。如果用户需要查看更多的模型配置信息,需要借助客户端页面与主服务器之间的交互实现,客户端页面发送Http Web Request类型的POST请求,依次通过前端、代理服务器传递给主服务器,主服务器返回Http Web Response类型的响应。传递的信息被存储为json类型,请求和响应中都会携带json类型的信息,以此实现服务器端和客户端页面的通信。实际操作中,用户可以在客户端页面点击某个模型的“查看”控件。该按钮绑定了一个鼠标单击事件,会调用前端的Tool Strip Menu Item_Click方法。ToolStrip Menu Item_Click发送一个POST请求通过代理服务器传递给主服务器,主服务器响应该请求,并返回一个list View对象,该对象存储相应FMU模型配置信息;前端读取返回的list View对象中的信息,转换成字符串形式展现在客户端页面上。图3是本发明实施例提供的信息展示界面的示意图。上部分显示了模型配置信息。
另一方面,代理服务器解析成功后,将FMU模型及其配置文件上传至主服务器。主服务器加载所述FMU模型并对FMU模型进行格式校验和访问路径校验。校验通过后,FMU模型通过Load FMU加载,被封装为FMU对象,这一过程实现了对FMU模型的运行。
客户端页面可以远程控制FMU模型在主服务器中的运行。如图3所示,用户在客户端页面手动输入FMU的运行参数,包括开始时间(start Time)、停止时间(stop Time)、相对容差(tolerance)和步长(step Size)。客户端页面将运行参数以form-control类型依次通过前端、代理服务器传递给主服务器。主服务器接收运行参数。具体的,主服务器调用FMUProxy类的start方法,传入所述客户端页面发送的所述FMU的运行参数,此处start方法本身不需要传入参数,但FMU Proxy类的实例对象proxy需要通过server、port两个参数初始化,其中server包含用户输入的参数信息,port是端口号。然后,主服务器调用load FMU方法加载运行参数。
然后,主服务器采用所述运行参数运行所述FMU模型,将所述FMU模型的运行结果反馈至所述客户端页面。具体而言,主服务器响应于用户的触发操作,调用start方法运行所述FMU模型,并将运行结果存储至list列表中,传递给代理服务器;代理服务器调用Reload FMU方法,返回存储运行结果的Array数组(相对于list,Array可以更高效的访问和遍历数据)。方法执行后,代理服务器将Array类型数组传给前端,前端将其解析为msg格式信息,在客户端页面显示。
参见图4,用户单击“开始模拟”按钮,button Start_Click方法与用户操作绑定,会调用server(即Thrift FmuSocketServer、GrpcFmuServer类实例对象)的start方法,实现FMU模型文件的执行。执行结束之后,会生成的一个list View类型的变量,该变量存储FMU模型文件执行结束后返回的信息,包括执行过程和结果;对list View进行遍历,listView的元素仍然是列表,使用Sub Items[2].Text取出运行结果,存在list列表中。使用server的Reload FMU方法,将存储加载运行结果的list转化为Array数组。因为server可以与客户端页面进行通信,所以页面(结果栏)可以把运行结果显示出来。
参见图5,下面以一具体实施例详细描述运行参数和运行结果的内容。
运行参数的数量和类型,主要是由NTNU-IHB/Proxy包中FMU Proxy类build方法的形参列表决定,包括开始时间、停止时间、相对容差和步长。(1)开始时间和停止时间是指对于FMU模型运行的步骤数,一般取非负整数。其中开始时间的默认值是0,停止时间的默认值是10。如果模型在给定步骤内运行结束,则对模型进行周期性延拓;如果模型是非周期的,则重复上一步骤。
(2)相对容差是一个误差控制参数,是误差容限的一种。误差容限包括相对容差和绝对容差,它们是在变长算法中才出现的,当使用某种算法所得到的误差超过容许容限时,模型就会停止仿真或者进行自调整,两者分别规定了绝对误差和相对误差的限度。绝对误差指的是测量值与真实值之间的差值,而相对误差指的则是绝对误差与真实值之间的比值,是一个无量纲的数值。相对误差是不可以进行避免的,使用相对容差规定相对误差的限度,从而尽量减少相对误差。
(3)步长是执行步骤的跨度,一般取正整数。例如,对于开始和停止时间设为0-10的fmu模型,如果步长设为2,则输出结果只显示0、2、4、6、8步骤。
例如,FMU模型用于计算标准正弦信号sin和标准余弦信号cos相加后的结果,对于函数模型而言,simulink中默认执行1步,x取值分别从0-10。输出的结果值是执行结束后的(即x=10时)函数值,记为f(10);显示的函数图像是x在区间[0,10]的函数图像。
以用户设置的开始时间、停止时间为界,按照步长为跨度跳转。step0表示模型的初始状态,step1表示执行第一步、step2表示执行第二步,以此类推。
Out1表示FMU模型的第一个输出接口(本模型只有一个输出),默认在输出接口中显示执行的结果值(实际上输出窗口还可以显示图像、散点图等其他内容)。对于本模型而言,step=1的Out1对应simulink运行结束时的输出结果值,即x=10时的函数值f(10);由于sin和cos都是周期函数,step从2到9的Out1分别对应simulink中f(x)的周期性延拓,即f(20)、f(30)……f(90)。也就是说,步长设为1,并不是x的跨度为1,而是对simulink运行结果的延拓跨度为1,由于simulink中一次运行x跨度为10,所以本专利中x的跨度为10。同理可知,如果步长设为2,则step2、4、6、8会分别对应f(20)、f(40)、f(60)、f(80)。
根据上述描述,FMU Proxy Server Demo实现服务器端的主要功能,提供Server服务,主要是接收用户上传的FMU模型、运行FMU模型等操作;FMU RPC Proxy Service在服务器端正式执行之前,对用户上传的FMU模型文件进行解析,并反馈解析结果;Web层直接与客户端页面进行交互,实现在线FMU模型的上传与运行控制。
目前FMU模型只能在本地部署的建模仿真工具中进行解析,例如,在MATLAB&Simulink建模中封装的FMU模型,只能在Matlab里面进行解析,对于未安装Matlab软件、或者使用公共电脑的用于而言,解析FMU文件存在困难;因此提出本发明实现在线FMU模型的上传与运行,进而验证封装模型的准确性。
在线的FMU模型的上传与运行流程能够解决现有本地建模软件工具局限性大、不能脱离本地环境部署的问题,使得随时随地、在线的进行FMU模型的测试验证成为可能,B/S(Browser/Server)浏览器/服务器的模式实现FMU的在线上传与测试,不仅结构简单,易于理解,而且增强了网页的重用性和实用性,同时也提高了FMU模型运行解析的快速性。
本发明实施例还提供一种基于工业APP集成开发平台的模型验证系统包括:代理服务器、主服务器、前端和客户端页面。
客户端页面,用于将FMU模型发送至所述前端,并通过所述前端上传至所述代理服务器;
所述代理服务器,用于调用Reload FMUs方法生成所述FMU模型的空白的配置文件,解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件;调用builder.Add Server将所述配置文件分别添加到NTNU-IHB/Proxy包中类Thrift FmuServlet、Thrift FmuSocketServer、GrpcFmuServer的实例中;
所述代理服务器,用于将所述FMU模型上传至所述主服务器;
所述主服务器,用于加载所述FMU模型,执行所述FMU模型。
可选的,主服务器在加载所述FMU模型时,具体用于:调用工具类FMU Http Server将所述FMU模型转换为FMU对象并加载,返回FMU类型的对象,使用NTNU-IHB/FMI包中的Abstract FMU接口接收所述FMU类型的对象。
可选的,主服务器在所述使用NTNU-IHB/FMI包中的Abstract FMU接口进行接收之后,还用于:对所述FMU模型进行格式校验和访问路径校验。
可选的,代理服务器在解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件时,具体用于:调用针对所述FMU模型对象的get方法,获得模型名称和编号;描述信息和版本号;将模型编号、名称、描述信息和版本号存储至index对象中,并将所述index对象写入所述空白的配置文件。
可选的,代理服务器在将所述模型配置信息写入所述空白的配置文件之后,还用于:根据解析成功与否确定模型状态;将模型状态和解析得到的模型名称和编号,添加到所述前端的当前模型列表中。
可选的,主服务器执行所述FMU模型时,具体用于:接收所述客户端页面发送的所述FMU的运行参数;采用所述运行参数运行所述FMU模型,将所述FMU模型的运行结果反馈至所述客户端页面。
可选的,所述主服务器在接收所述客户端页面发送的所述FMU的运行参数时,具体用于:调用NTNU-IHB/Proxy包中FMU Proxy类的start方法,传入所述客户端页面发送的所述FMU的运行参数。
可选的,所述主服务器在采用所述运行参数运行所述FMU模型,将所述FMU模型的运行结果反馈至所述客户端页面时,具体用于:响应于用户的触发操作,调用start方法采用所述运行参数执行所述FMU模型,并将执行结果存储至list列表中;通过代理服务器调用Reload FMU方法,将所述list列表转化为Array数组;通过代理服务器将所述Array数组返回至所述客户端页面显示。
本实施例提供的系统能够执行上述任一实施例提供的基于工业APP集成开发平台的模型验证方法,具体相应的技术效果。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案。
Claims (9)
1.一种基于工业APP集成开发平台的模型验证方法,其特征在于,应用于基于工业APP集成开发平台的模型验证系统,所述系统包括:代理服务器、主服务器、前端和客户端页面;
所述方法包括:
通过所述客户端页面将FMU模型发送至所述前端,并通过所述前端上传至所述代理服务器;
所述代理服务器调用Reload FMUs方法生成所述FMU模型的空白的配置文件,解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件;调用builder.AddServer将所述配置文件分别添加到NTNU-IHB/Proxy包中类Thrift Fmu Servlet、ThriftFmuSocketServer、GrpcFmuServer的实例中;
所述代理服务器将所述FMU模型上传至所述主服务器;
所述主服务器加载所述FMU模型,执行所述FMU模型。
2.根据权利要求1所述的方法,其特征在于,所述主服务器加载所述FMU模型,包括:
所述主服务器调用工具类FMU Http Server将所述FMU模型转换为FMU对象并加载,返回FMU类型的对象,使用NTNU-IHB/FMI包中的Abstract FMU接口接收所述FMU类型的对象。
3.根据权利要求2所述的方法,其特征在于,在所述使用NTNU-IHB/FMI包中的AbstractFMU接口进行接收之后,还包括:
所述主服务器对所述FMU模型进行格式校验和访问路径校验。
4.根据权利要求1所述的方法,其特征在于,所述代理服务器解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件,包括:
所述代理服务器调用针对所述FMU模型对象的get方法,获得模型名称和编号;
所述代理服务器描述信息和版本号;
所述代理服务器将模型编号、名称、描述信息和版本号存储至index对象中,并将所述index对象写入所述空白的配置文件。
5.根据权利要求1所述的方法,其特征在于,在将所述模型配置信息写入所述空白的配置文件之后,还包括:
所述代理服务器根据解析成功与否确定模型状态;
所述代理服务器将模型状态和解析得到的模型名称和编号,添加到所述前端的当前模型列表中。
6.根据权利要求1所述的方法,其特征在于,所述主服务器执行所述FMU模型,包括:
所述主服务器接收所述客户端页面发送的所述FMU的运行参数;
所述主服务器采用所述运行参数运行所述FMU模型,将所述FMU模型的运行结果反馈至所述客户端页面。
7.根据权利要求6所述的方法,其特征在于,所述主服务器接收所述客户端页面发送的所述FMU的运行参数,包括:
所述主服务器调用NTNU-IHB/Proxy包中FMU Proxy类的start方法,传入所述客户端页面发送的所述FMU的运行参数。
8.根据权利要求6所述的方法,其特征在于,所述主服务器采用所述运行参数运行所述FMU模型,将所述FMU模型的运行结果反馈至所述客户端页面,包括:
所述主服务器响应于用户的触发操作,调用start方法采用所述运行参数执行所述FMU模型,并将执行结果存储至list列表中;
所述代理服务器调用Reload FMU方法,将所述list列表转化为Array数组;
所述代理服务器将所述Array数组返回至所述客户端页面显示。
9.一种基于工业APP集成开发平台的模型验证系统,其特征在于,所述系统包括:代理服务器、主服务器、前端和客户端页面;
客户端页面,用于将FMU模型发送至所述前端,并通过所述前端上传至所述代理服务器;
所述代理服务器,用于调用Reload FMUs方法生成所述FMU模型的空白的配置文件,解析得到模型配置信息,并将所述模型配置信息写入所述空白的配置文件;调用builder.AddServer将所述配置文件分别添加到NTNU-IHB/Proxy包中类Thrift Fmu Servlet、ThriftFmuSocketServer、GrpcFmuServer的实例中;
所述代理服务器,用于将所述FMU模型上传至所述主服务器;
所述主服务器,用于加载所述FMU模型,执行所述FMU模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110613121.3A CN113361095B (zh) | 2021-06-02 | 2021-06-02 | 基于工业app集成开发平台的模型验证方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110613121.3A CN113361095B (zh) | 2021-06-02 | 2021-06-02 | 基于工业app集成开发平台的模型验证方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113361095A CN113361095A (zh) | 2021-09-07 |
CN113361095B true CN113361095B (zh) | 2022-05-17 |
Family
ID=77531143
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110613121.3A Active CN113361095B (zh) | 2021-06-02 | 2021-06-02 | 基于工业app集成开发平台的模型验证方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113361095B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117632114B (zh) * | 2024-01-24 | 2024-05-17 | 浙江大学 | 一种基于文件分析的fmu文件的导入方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102427480B (zh) * | 2011-12-31 | 2015-01-14 | 北京新媒传信科技有限公司 | 一种多应用服务平台系统中的应用访问方法 |
US10079854B1 (en) * | 2015-12-18 | 2018-09-18 | Amazon Technologies, Inc. | Client-side protective script to mitigate server loading |
CN110493074B (zh) * | 2019-07-19 | 2021-02-02 | 珠海金山网络游戏科技有限公司 | 一种服务器与客户端的测试方法及系统 |
CN111367511B (zh) * | 2020-03-02 | 2023-05-23 | 北京中科宇航技术有限公司 | 一种仿真模型接口适配开发系统及其工作方法 |
CN111985102A (zh) * | 2020-08-19 | 2020-11-24 | 西安中锐创联科技有限公司 | 一种多源异构模型分布式集成仿真方法及系统 |
CN112084668B (zh) * | 2020-09-14 | 2023-11-14 | 北京世冠金洋科技发展有限公司 | 一种仿真测试方法、装置及电子设备 |
CN112612219A (zh) * | 2020-12-24 | 2021-04-06 | 中国航发控制系统研究所 | 一种基于模型开发中的联合仿真方法 |
-
2021
- 2021-06-02 CN CN202110613121.3A patent/CN113361095B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113361095A (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106254423B (zh) | 基于微服务架构实现Restful服务快速发布的方法 | |
CN106919509B (zh) | 一种客户端生成方法、装置及电子设备 | |
US8504913B2 (en) | Client-side components | |
US9886244B2 (en) | Rich tooling for rest application development | |
US9122650B1 (en) | Web server based on the same paradigms as web clients | |
CN104834595A (zh) | 一种可视化自动测试方法及系统 | |
US8239493B2 (en) | Automated server controlled client-side logging | |
CN106897153B (zh) | 调用应用编程接口的方法和系统 | |
CN110287109A (zh) | 协议接口的测试方法、装置、计算机设备及其存储介质 | |
US20080244062A1 (en) | Scenario based performance testing | |
US10367780B2 (en) | Communication message consolidation with content difference formatting | |
CN111581920A (zh) | 文档转换方法、装置、设备及计算机存储介质 | |
CN113361095B (zh) | 基于工业app集成开发平台的模型验证方法和系统 | |
KR102226463B1 (ko) | 프로세스자동화프로그램과 연동되는 ui/ux솔루션제공서버, 이를 포함하는 프로세스자동화시스템, 이를 이용한 프로세스자동화방법, 및 이를 실행하기 위한 컴퓨터 프로그램 | |
US10268456B2 (en) | Standardized approach to contextual code identification in editors and IDEs | |
CN113296653A (zh) | 一种仿真交互模型构建方法、交互方法及相关设备 | |
CN112363699B (zh) | 一种应用于多语言开发平台的交互方法及装置 | |
US6944851B1 (en) | Method and system for executing a computer program | |
CN113971251A (zh) | 网页输出方法、系统及计算机可读存储介质 | |
CN114968741A (zh) | 一种基于场景平台化的性能测试方法、系统、设备和介质 | |
CN114691486A (zh) | 程序调试方法、装置及计算机设备 | |
US7240295B2 (en) | XGL and dynamic accessibility system and method | |
US7861212B1 (en) | System, method, and computer readable medium for integrating an original application with a remote application | |
US9729397B2 (en) | Decision service manager | |
CN117270956B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |