# 4. 软件操作与功能介绍

# 4.1 新建/打开项目

登录成功后可看到软件初始页面,可以进行新建项目或打开已有项目操作。

图4.1 新建项目
图4.1 新建项目

新建项目—填写相应的项目名称、项目路径与选择目标板型号。

目标板:内置软件的下位机程序,板型号不同所支持的节点也不同,具体板型号可登录AW Studio平台目标版型号管理观看。

图4.2 创建项目
图4.2 创建项目

打开项目—选择存储项目的文件,打开project文件。

图4.3 打开项目
图4.3 打开项目

# 4.2 操作界面介绍

创建项目成功后,即进入到软件操作页面中。操作界面主要分为以下模块:项目管理、节点管理、画布区域、流图操作区域、节点调试、节点状态、节点帮助。如下图所示。

图4.4 操作界面介绍
图4.4 操作界面介绍

# 4.3 项目结构介绍

结构层级主要分为了项目、流图、子流图。用户创建项目后,可自行根据目标版型号,而创建流图。并且可在流图中创建专属于该流图的子流图。

图4.5 项目结构
图4.5 项目结构

# 4.4 流图节点介绍

为了更好地理解和使用流图,先简单介绍一下 AWFlow 流图节点的基本信息。

# 4.4.1 节点说明

AWFlow 中有 4 类节点,详情如下:

(1) pump:“pump”节点是数据的来源,数据可能来自系统之外,如网络、文件系统、串口、无线或其它硬件,也可能由节点自己产生。例如,“timer”节点是“pump”类型的定时器节点,它会每隔一段时间,产生并输出一个数据对象,如下图所示:

图4.6 timer节点
图4.6 timer节点

(2) filter:“filter”节点是负责对收到的数据进行加工处理,然后传递到下一级节点。例如,“fscript”节点是“filter”类型节点,它在接收到数据对象时,会执行设置在节点里的fscript脚本,可以在脚本里对数据对象进行加工处理,然后传递出去,如下图所示:

图4.7 fscript节点
图4.7 fscript节点

(3) sink:“sink”节点位于数据流图的末端,通常将数据发送到系统外部,如用户界面、文件、网路或其它外部硬件。例如,“log”节点是“sink”类型节点,它在接收到数据对象时,会把数据对象的“payload”输出到控制台,如下图所示:

图4.8 log节点
图4.8 log节点

(4) config:“config”节点无输入也无输出,仅用于配置参数。例如,“serial”节点是“config”类型节点,用于配置串口的通信参数,“serial_in”节点与之绑定后可以按设定好的参数读取串口数据,如下图所示:

图4.9 serial节点
图4.9 serial节点

关于节点的帮助信息,可以点击 AWFlow Designer 节点列表上的节点进行查看。

# 4.4.2 规则说明

AWFlow 流图有如下规则:

  1. 流图通常从 pump 节点开始,经过一系列的 filter 节点的加工处理后,输出到 sink 节点;
  2. 节点之间通过名称为 msg 的数据对象进行传递数据,前一个节点的输出就是后一个节点的输入;
  3. msg 数据对象常见的属性详见下文,节点可以读取或者在输出时可以根据需要进行设置;
  4. 一个流图可以有多个 pump 节点;一个节点可以输出到多个节点,一个节点也可以接受多个节点的输入,此时流图有多个分支;
  5. 流图的分支是并列的关系;
  6. 流图的分支是排列组合后的所有可能的分支;
  7. 如果存在多个分支,运行时会根据节点创建的先后,按照深度优先的原则把所有分支执行完。

msg 数据对象的常见属性:

  • payload:这是最常见的一个属性,表示负载数据,通常用于传递二进制或字符串等数据。
  • topic:通常用于为 payload 属性设置额外的描述信息。比如,有多个节点输入到同一个节点时,可以用 topic 属性来区分 payload 是来自哪个节点。
  • istream:常见于网络相关的pump类型的节点,通常用于传递来自网络的数据。比如,“tcp_server”节点会将接收到的来自客户端的消息存储到 istream 属性并输出,后一个节点可以通过 istream 的 API 读取消息的内容并处理。
  • ostream:常见于网络相关的pump类型的节点,通常用于传递需返回给数据源的数据。比如,“tcp_server”节点在输出 istream 属性的同时会输出 ostream 属性,后一个节点可以通过 ostream 的 API 将数据返回给客户端。

# 4.5 添加流图

AWFlow使用标签栏来支持多流图,点击流图列表上的加号按钮弹出添加流图窗口,输入流图名称、选择流图类型和目标板型号便可创建一个新的流图进行编辑,通过编辑区上方标签栏可以快速切换流图。

图4.10 添加流图
图4.10 添加流图
图4.11 打开流图
图4.11 打开流图

# 4.6 编辑流图

用户在使用时并不需要了解内部代码的实现逻辑,只需知道节点的用途即可,将所需的节点从面板拖拽至画布中,然后将它们连接到一起,经过部署,形成一个完整的业务流程。

先行构思业务流程、并选定相应的节点,对节点完成配置,形成数据的逆转传递。它将以视觉化模型的形式展示,并可运行到开发板中。

如下图中的流图功能是定时输出一个随机数并打印到控制台或用户调试窗口。

选定并拖拽“timer”、“random_number”、“fscript”、“log”节点到画布中,通过鼠标操作将节点按业务逻辑相连。

图4.12 编辑流图
图4.12 编辑流图

# 4.7 节点参数配置与说明

双击节点可以打开节点参数编辑页面,在这里可以修改节点名称以及节点的参数项,例如定时器节点可以修改它的时间频率参数值,随机数生成节点可以修改它的随机数值生成范围等。

图4.13 timer节点参数配置与说明
图4.13 timer节点参数配置与说明

在选中节点时,右边侧边栏的帮助栏,拥有节点相关信息。用户可在此处了解到选中节点的功能作用、输入输出、例子等内容。

图4.14 random节点参数配置与说明
图4.14 random节点参数配置与说明

# 4.8 调试流图

编辑完流图后,可在操作界面的右上方,选择测试板进行流图调试。其可通过串口或IP地址下发流图到测试板中调试,AWFlow也提供了流图调试模拟器Flow Simulator方便用户进行调试。

测试板:为实体的调试板,可通过软件下发到测试板中,查看效果;

Flow Simulator:流图调试模拟器,供用户在软件内调试;

图4.15 调试流图
图4.15 调试流图

选择目标板后便可点击运行按钮进行流图调试,在右边侧边栏的调试栏可以看到流图在目标板或者模拟器上运行时返回的调试信息。

图4.16 调试信息
图4.16 调试信息

流图运行时选中节点,可以在右边侧边栏的状态栏看到节点运行时的参数信息。目前就选中了“timer”节点,右侧出现该节点的运行参数。

图4.17 节点运行参数信息
图4.17 节点运行参数信息

# 4.9 添加子流图

用户可能整体流图较复杂,对于流图想模块化与简便式处理。可以通过新增子流图,而对部分流图模块化处理。

子流图可以像流图一样通过拖动节点和连接节点编辑一段业务流程,然后在流图中拖动编辑好的子流图便可复用子流图内的业务流程栏。

点击流图列表栏右上方的添加按钮,选择添加子流图,并对子流图进行编辑。

图4.18 添加流图
图4.18 添加流图

子流图会呈现在列表处,可进行双击,进入到该子流图编辑页面。子流图可用户自行选择多个输出,但只允许一个输入。

图4.19 编辑子流图
图4.19 编辑子流图

待子流图编辑完成后,在回到主流图页面,对子流图进行连接。

图4.20 连接子流图
图4.20 连接子流图

# 4.10 流图下发

# 4.10.1 网络广播

可通过网络广播(网域内的自动广播搜索)的方式,连接到测试板。AWFlow在局域网中自动获取对广播有反馈的测试板,并显示其测试板IP地址,可由用户选定并进行连接。并将流图下发到测试版中。

图4.21 网络广播
图4.21 网络广播

# 4.10.2 串口连接

可在“Serial Port”下,看到相关连接的串口,可进行串口的选定。并对该选定的串口进行配置,配置波特率、数据位、停止位、校验位相关参数。。

图4.22 串口选定
图4.22 串口选定
图4.23 串口配置
图4.23 串口配置

# 4.10.3 IP连接

因网络广播未必精准寻找到目标设备,而可对IP地址与端口进行配置,自定向对IP与端口进行连接,借此定向连接测试板。

图4.24 IP配置
图4.24 IP配置

选定了连接方式,可对流图进行下发并运行到测试板中,或单独进行下发操作。

图4.25 流图操作按钮
图4.25 流图操作按钮

# 4.11 加载本地节点

节点分为云节点与本地节点,云节点由许可证绑定关联。用户个人业务所需自行加载本地节点。可将本地的自定义描述节点,引入到流图中,实现自定义的流图设计。

打开文件菜单点击加载本地节点,选择描述节点的文件,即可引进自定义节点。

图4.26 加载本地节点
图4.26 加载本地节点
图4.27 打开本地节点
图4.27 打开本地节点

加载后的本地节点,会以紫色的样式呈现在节点列表中。本地节点可进行累积,也可通过右键进行删除。

图4.28 本地节点
图4.28 本地节点

# 4.12 加载流图

# 4.12.1 加载本地流图

AWFlow支持加载本地电脑中存储的流图,其中载入的流图会替换当前流图的节点。通用点击菜单栏中的加载本地流图并选定想打开的文件。

图4.29 加载本地流图
图4.29 加载本地流图

打开测试板下的流图文件

图4.30 打开流图文件
图4.30 打开流图文件

# 4.12.2 加载测试板流图

AWFlow支持从测试板中加载流图,其中载入的流图会替换当前流图的节点。需先行选择与测试板进行IP或串口的连接,点击【导入】按钮,会从测试版中获取到流图,并呈现在画布中。

图4.31 加载测试板流图
图4.31 加载测试板流图

# 4.13 流图查看

点击【流图查看】按钮,可以看到当前流图的json/c格式数据,也可以通过目标板型号切换和流图切换,查看其他流图的json/c格式数据。通过复制将流图的数据复制到剪贴板中,或通过导出,以文件形式导出到本地电脑中。

图4.32 流图json查看
图4.32 流图json查看
图4.33 流图C查看
图4.33 流图C查看

# 4.14 Demo流图

AWFlow中拥有着Demo流图,可供用户进行学习或可作为模板补充或修改。点击菜单中的加载Demo流图,可打开存放着Demo流图的文件夹中进行选择。

图4.34 demo流图
图4.34 demo流图

# 4.15 目标板型号与节点管理

用户可使用的目标板型号和节点,是根据用户的账号权限决定的,用户可以在我们的AWStudio云平台网站对其进行管理。鼠标移到在菜单栏右上角的用户名处,在下拉菜单中可以看到目标板型号管理和节点管理选项,点击将跳转到对应到AWStudio云平台管理模块对目标板型号和节点进行管理。

图4.35 用户中心
图4.35 用户中心
图4.36 目标板型号管理
图4.36 目标板型号管理
图4.37 节点管理
图4.37 节点管理