# 工作区
在 Sysblock 中,工作区被分为基础工作区和模型工作区。它们都是存储和管理变量的地方,但有不同的作用和使用场景。以下是两者的简介和主要区别:
# 基础工作区
基础工作区是 Sysplorer 的默认工作区。它是 Sysplorer 命令窗口中交互式操作的默认环境,存储了当前 Sysplorer 会话中的所有变量。这些变量可以在 Sysplorer命令窗口中创建、修改和访问。
基础工作区有以下几个特点:
全局可见性:基础工作区中的变量在 Sysplorer 环境中是全局可见的,可以被 Sysplorer 命令窗口、脚本、函数以及 Sysblock 模型等访问。
与 Sysplorer 命令窗口互动:在 Sysplorer 命令窗口中创建的变量自动存储在基础工作区中,所有的 Sysplorer 代码和 Sysblock 模型可以通过该工作区访问这些变量。
在 Sysblock 中的使用:在 Sysblock 模型中,用户可以使用基础工作区的变量来配置参数、输入信号等。Sysblock 模块会从基础工作区读取数据。
# 模型工作区
模型工作区是与特定 Sysblock 模型关联的工作区。每个 Sysblock 模型都有一个独立的工作区,用于存储和管理该模型特有的变量,这些变量通常用于模型参数化。模型工作区中的变量只对当前的模型可见,不会影响基础工作区。
模型工作区有以下几个特点:
局部可见性:模型工作区中的变量只对当前模型内的块和模块可见,不能被 Sysplorer 命令窗口或其他模型直接访问。
与 Sysblock 模型关联:当你在 Sysblock 模型中设置模型参数或输入信号时,通常会使用模型工作区中的变量。这些变量在模型运行时被访问和修改。
参数传递:模型工作区中的变量可以通过参数设置传递给 Sysblock 模型中的模块,例如常量块的值、Gain 块的系数等。
不与基础工作区冲突:模型工作区中的变量不会覆盖基础工作区中的同名变量,二者相互独立。
# 模型工作区与基础工作区的差异
每个模型都带有自己的工作区以存储变量值,模型工作区类似于基础工作区,不同之处是:
模型工作区中的变量仅在该模型的作用域中可见。
模型工作区仅在 Sysblock 模型中使用,而物理模型中只能使用基础工作区。
模型工作区参数支持被升级为 Sysblock 模型的参数并在父模型中改动。
勾选模型工作区的数据的参数属性,即可在模型引用中修改对应数据的值:

基础工作区参数和模型工作区参数名一致时,优先使用模型工作区参数。
提示
当模型工作区和数据字典参数名一致时,优先使用模型工作区参数。
# 编辑工作区内容
编辑工作区内容详情请参阅编辑工作区变量。
# 使用场景
# 模块中使用参数
您可以通过以下两种方式达到在模块中使用工作区参数的目标:
- 使用数据管理器管理参数并在模块参数对话框中为模块数据赋值
在数据管理器中新建参数
打开模块参数对话框,修改模块参数为数据管理器中所创建的参数名称

- 在模块参数对话框中快速创建工作区变量
打开模块参数对话框,输入参数值
单击编辑框末尾按钮,创建变量
在创建变量对话框中指定参数的名称、值、类型和维度以及所在的工作区

单击创建,即可在对应工作区中看到新增的参数,此外参数对话框中的值也被替换成参数名称

# 模块中使用参数
在数据管理器中新建参数。

打开模块参数对话框,修改模块参数为数据管理器中所创建的参数名称。

# 状态机中使用参数
在状态机中使用参数有两种方式:
作用于状态变量:
打开状态机变量对话框,修改当前状态机变量的值为数据管理器中所创建的参数名称。

作用于状态语句:
创建状态,直接在状态内部使用数据管理器中创建的参数,即可使用对应的值。

# 物理模型中使用参数
和 Sysblock 模型不同,物理模型只能使用基础工作区数据,并且要在图形视图的右键菜单中勾选允许访问基础工作区选项。
您可以通过以下两种方式达到在物理模型中使用工作区参数的目标:
- 使用数据管理器管理工作区参数并在物理模型参数面板中赋值
在数据管理器的基础工作区内新建参数
打开物理模型参数面板,为物理参数或 Sysblock 模型参数赋值基础工作区参数

- 在物理模型参数面板中快速创建工作区变量
打开参数面板,输入参数值或参数名
单击编辑框末尾按钮,创建变量
在创建变量对话框中指定参数的名称、值、类型、维度(物理模型只能创建变量到基础工作区,故无法选择其他工作区)
单击创建,即可在数据管理器基础工作区中看到新增的参数

提示
若想在 Sysplorer 界面查看参数,需要在 Sysplorer 界面上单击编辑参数按钮,打开组件参数对话框。
