跳到主要内容

扫频分析应用

本文档主要介绍如何使用 AppStudio 构建 扫频分析应用 典型案例。

案例概述

扫频分析应用,针对 CloudPSS SimStudio 中的算例进行 1-10000Hz 的正序阻抗扫描。该应用主要由三大功能模块组成,分别为参数配置区运行状态区以及结果展示区,如下图所示。

应用功能模块
应用功能模块

扫频分析应用基于 CloudPSS SimStudio、FuncStudio 和 AppStudio 共同开发完成。其中,扫频算例使用 SimStudio 进行创建和管理。扫频内核(部署于 CloudPSS 云端执行器中的 sweep.py)基于CloudPSS SDK 批量调用电磁暂态仿真内核,计算出不同频率下的端口阻抗值。最终,借助 AppStudio 构建用户交互页面,实现扫频参数录入、扫频结果展示等功能。本文档主要围绕 “AppStudio 构建用户交互页面”环节,具体介绍如何搭建应用

创建应用

首先登录到 CloudPSS 的主页,点击 AppStudio 图标进入个人中心,点击新建空白项目,即创建一个空白项目,并进入 AppStudio 工作台。

AppStudio工作台
AppStudio工作台

配置基本信息

点击左上方标签栏总览,切换至总览标签页,配置应用名称、权限、描述等基本信息,编写应用文档,如下图所示。

配置基本信息
配置基本信息

配置资源

配置使用 FuncStudio 构建的扫频分析内核,以供调用:点击左上方标签栏资源,切换至资源标签页。然后点击新建资源,选择函数资源类型,新建资源。将函数名称命名为 sweep,然后点击选择资源,在弹出框中输入 sweep_python 搜索扫频分析内核,选择第一个搜索结果,并确定,完成资源配置。

新建资源
新建资源
配置资源
配置资源
资源配置结果
资源配置结果

设计场景

场景

点击左上方标签栏场景,切换至场景标签页。在默认 main 场景下,在右侧属性编辑板块中,将场景宽度设置为 1280,高度设置为 720,如下图所示。

场景控件属性配置
场景控件属性配置

标题

在左侧 控件库与场景板块 - 控件 中,点击 MarkDown 文本框控件,中央场景编辑板块会出现一个默认的 MarkDown 文本框。在右侧属性编辑板块 - 属性标签 - 内容 - 栏,点击编辑数据,在弹出框中输入该应用标题的 Markdown 文本 # Freq. Sweep Analyzer Suite

标题Markdown文本框编辑
标题Markdown文本框编辑

然后,将属性编辑板块状态切换至布局标签,设置标题控件大小和位置属性,如下图所示。

标题布局设置
标题布局设置

参数配置区

扫频分析应用需要的输入参数包括算例/内核(Project RID)、开始频率(Start Freq.)、停止频率(Stop Freq.)、(1-100Hz、100-1000Hz、1000-10000Hz)频率增量(Freq. Increment)。具体参数配置列表如下所示。

控件名称控件类型标签输入格式禁用后缀更改XY宽度高度
rid输入框Project RID字符串model/admin/PMSG-$sweep.args.rid = rid.value306027070
fs输入框Start Freq整数1Hz$sweep.args.fs = fs.value3014034070
fe输入框Stop Freq整数1000Hz$sweep.args.fe = fe.value3022034070
K1输入框Freq. Increment (1~100Hz)整数1Hz$sweep.args.K1 = K1.value3030034070
K2输入框Freq. Increment (100~1000Hz)整数10Hz$sweep.args.K2 = K2.value3038034070
K3输入框Freq. Increment (1000~10000Hz)整数100Hz$sweep.args.K3 = K3.value3046034070

接下来,我们将以 Project RID、Start Freq 参数控件为例,对参数配置区的控件构建进行详细介绍。

  • 构建Project RID 控件

在左侧 控件库与场景板块 - 控件 中,点击输入框控件,中央场景编辑板块会出现一个默认的输入框控件。在右侧 属性编辑板块 - 属性标签 中配置控件名称标签输入格式禁用后缀更改参数项。其中,输入 model/admin/PMSG,是配置资源时选择的扫频分析内核项目RID更改输入 $sweep.args.rid = rid.valuerid 为控件名称),作用是当用户更改输入内容后,新内容会被赋值给该控件,并同步给内核。

然后,将属性编辑板块状态切换至布局标签,配置控件大小和位置属性。

Project RID 控件搭建
Project RID 控件搭建
  • 构建打开算例控件

接下来,将介绍如何构建位于 Project RID 控件右侧的打开算例控件。用户在点击该控件后,浏览器会打开相应算例页面。

在左侧 控件库与场景板块 - 控件 中,点击超链接控件,中央场景编辑板块会出现一个默认的超链接控件。在右侧 属性编辑板块 - 属性标签 中配置下划线文本链接目标禁用参数项。其中,配置链接时,需要点击输入框右侧的 fx 按钮,切换为表达式输入模式后,再输入 print('https://cloudpss.net/$rid'),以实现点击控件打开链接功能。

最后,将属性编辑板块状态切换至布局标签,配置控件大小和位置属性。

打开算例控件构建
打开算例控件构建

运行状态区

运行状态区主要由一个开始扫频(Start Sweep)按钮控件、一个停止扫频(Stop Sweep)按钮控件和一个内核运行进度条控件组成。

  • 构建开始扫频控件

在左侧 控件库与场景板块 - 控件 中,点击按钮控件,中央场景编辑板块会出现一个默认的按钮控件。在右侧 属性编辑板块 - 属性标签中配置文本禁用点击参数项。其中,配置禁用时,需要点击输入框右侧的 fx 按钮,切换为表达式输入模式后,再输入 $sweep.running,以实现当内核 sweep 运行时,该控件为禁用状态,用户此时点击该按钮时无效的效果。在点击输入 $sweep.start(),以实现用户在点击该按钮时,调用 sweep 内核程序。最后,将属性编辑板块状态切换至布局标签,配置控件大小和位置属性,X、Y、宽度、高度分别配置为50、560、130、50。

停止扫频控件的构建方式与开始扫频控件的构建方式相同,不同的是:禁用需配置 not $sweep.running点击需配置 $sweep.terminate()X、Y、宽度、高度分别需配置为220、560、130、50。

开始扫频控件构建
开始扫频控件构建
  • 构建进度条控件

在左侧 控件库与场景板块 - 控件 中,点击进度条控件,中央场景编辑板块会出现一个默认的进度条控件。在右侧 属性编辑板块 - 属性标签中配置标签进度参数项(在配置前,需要点击输入框右侧的 fx 按钮,切换为表达式输入模式)。其中,配置标签时,输入 $sweep.running ? 'running' : $sweep.status,将内核的运行状态赋值给控件。例如,在当前状态下,运行状态为 waiting,效果如下图所示。进度配置 ($sweep.progress * 100).toFixed(1),将内核运行进度赋值给控件。

最后,将属性编辑板块状态切换至布局标签,配置控件大小和位置属性,X、Y、宽度、高度分别配置为30、630、340、40。

进度条控件构建
进度条控件构建

结果展示区

结果展示区由两个运行结果控件组成,分别展示 ZP 的扫频结果曲线图。接下来,将介绍如何分别通过配置消息 key 以及消息类型方式输出 ZP 的扫频结果曲线图。

在左侧 控件库与场景板块 - 控件 中,点击运行结果控件,中央场景编辑板块会出现一个默认的运行结果控件。在右侧 属性编辑板块 - 属性标签中配置结果 ID消息 key参数项(在配置前,需要点击输入框右侧的 fx 按钮,切换为表达式输入模式)。配置结果 ID 时,输入 $sweep.job.id,绑定内核。配置消息 key 时,输入 "plot-1",指定所有输出中的某一特定结果作为该控件要显示的结果。

最后,将属性编辑板块状态切换至布局标签,配置控件大小和位置属性,X、Y、宽度、高度分别配置为 400、40、950、340。

Z扫频结果控件构建
Z扫频结果控件构建

效果展示

通过以上步骤,用户可构建一个完整的扫频分析应用。构建完成后,用户可点击预览按钮,预览和使用应用,如下图所示。用户可点击保存发布按钮,对项目进行保存或发布。

预览效果展示
预览效果展示