# 可视化

> 一个模型里那个说明它怎么展示自己的分组，它的两个文件夹，仪表画面和操作面板，各定义一份，为每一个单元绘制。

**可视化**是 Process 树里一个模型的第三个分组（Process > 模型 > 某个模型 > 可视化）。它回答一个问题：这个流程怎么展示自己？它自己那一页用一行说清了：“这个过程怎么显示自己：定义在它上面的操作员仪表画面，以及操作它的单元所用的界面。每一样只定义一次，供模型的每一个单元使用。”这个分组属于模型的结构，因此编辑它的是**管理 Process** 权限；只查看模型或者只运行流程的角色看得到这个分组和它的那些行，但那些页面被按住只读，创建动作一个都不画。

## 分组页面 {#the-group-page}

选中**可视化**会打开这个分组的页面：标题栏带着上面那一行，以及一张**内容**卡片（“这个分组里有什么。点一项即可直接跳过去。”），每个文件夹一个方块。每个方块带着这个文件夹的图标、它的名称和它装着的行数。这一页上没有什么可加也没有什么可移：那两个文件夹是固定的，长大的是它们里面的东西。

| 文件夹 | 装着什么 | 页面 |
| --- | --- | --- |
| **仪表画面** | 定义在这个模型上的自由布局仪表画面：由和其他每一张仪表画面相同的组件拼起来、用同一个编辑器编辑，它们的绑定指名这个模型的通道，把单元留到以后再回答。 | [一个模型的仪表画面](process-dashboards) |
| **操作面板** | 那些操作面板：一组固定的卡片（运行命令、预选、运行状态、备注、事件条目、通道图表、产量、单条命令，以及这个模型的任何一张仪表画面作为一张卡片），为每一个单元排一次。 | [操作面板](process-panels) |

两个文件夹按这个顺序立着，因为这件事就是按这个顺序读的：先是有什么可展示的，再是怎么展示它。一张操作面板可以把一张仪表画面画成它的一张卡片，因此仪表画面得先存在，操作面板才放得下它。

## 一份定义，每一个单元 {#one-definition-every-unit}

这个分组里没有任何东西是按单元定义的。这个模型的一张仪表画面，在本来该写出某一个单元的地方写一个单元占位符，而一张操作面板则是一套对整个模型都成立的卡片排布。这个分组装的是那份定义；一个单元手里的，是那份定义为它解析出来的样子。

那次解析住在**操作**下面：每个单元的节点上，这个模型的每一张操作面板一行，随后是这个模型的每一张仪表画面一行，顺序和这个分组列出它们的顺序一样。打开一个单元的行，就把这张操作面板的卡片画在那个单元自己的运行和绑定上，或者把那张仪表画面跑起来，每一个占位符都由那个单元绑定的信号源回答。一个单元的行只展示；那里什么也不编辑，因为唯一那份定义是在这里编辑的。在这里保存的一次改动会立刻到达每一个单元的行。

同样这些行也能到达 **View** 页面。两个文件夹用同一个办法回答那个问题：仪表画面或操作面板详情栏上的一个**在 View 上显示**开关，会在 View 页面的可视化栏里为这个模型的每一个单元放一个条目，名字写作 `模型 · 单元 · 界面`。这个开关在各自文件夹那一页上说明，而这些条目在 View 页面上长什么样，写在 [View 上的单元面板](view-unit-panels)里。

## 那些动作 {#the-verbs}

详情栏带着选中那一行的动作，树的右键菜单把它们照样列一遍。

| 命令 | 在哪里 | 做什么 | 什么时候变灰（情形） | 什么时候不画出来（角色） |
| --- | --- | --- | --- | --- |
| **仪表画面** | 选中仪表画面文件夹时（右键：**添加仪表画面**） | 在这个模型上创建一张空的仪表画面，名叫 `仪表画面 <n>`，并把它的卡片在仪表画面页面上突出显示并滚动到可见处；它不会被打开。 | 这台工作站的任何一个单元上有运行，或者运行时已停止。 | 没有管理 Process 时。 |
| **新建操作面板** | 选中操作面板文件夹时（右键：**添加操作面板**） | 在这个模型已有的那些操作面板旁边创建一张名叫 `操作面板 <n>` 的操作面板。它被加进这个分组，在那里突出显示并滚动到可见处；用它的卡片打开它。 | 同上。 | 没有管理 Process 时。 |
| **编辑仪表画面** | 选中一张仪表画面时 | 在 Process 页面内部，把仪表画面编辑器打开在那份定义上。 | 任何一个单元上有运行。 | 没有编辑仪表画面时。 |
| **在 View 上显示** | 选中一张仪表画面或一张操作面板时 | 那个把这个界面为每一个单元放上 View 页面的开关。 | 任何一个单元上有运行，或者运行时已停止。 | 没有管理 Process 时。 |
| **删除仪表画面** / **删除操作面板** | 选中一张仪表画面或一张操作面板时（也在文件夹页面卡片上那个叉，以及右键菜单里） | 在一次确认之后删掉它。 | 同上。 | 没有管理 Process 时。 |

工程锁定是全工作站范围的那一把：只要任何一个模型的任何一个单元上有运行，这台工作站的每一个配置界面都是只读的，变灰的动作在它的悬停提示里这样说。操作一个单元所用的那些操作面板和仪表画面全程都仍然可用；被锁住的只是它们的定义。

## 这个分组不做的事 {#what-this-group-does-not-do}

- 它不按单元定义任何东西。一张由四台相同工位组成的试验台，拿到的是一张仪表画面和一套操作面板排布，不是四份。需要另一幅画面的单元，需要的是这个模型的另一张仪表画面或另一张操作面板，而那一张随后每个单元也都带着。
- 它不决定一个单元怎么被运行。启动、暂停、停止和写备注发生在[操作](process-operate)下面那个单元的行上；这个分组只决定那些行画什么。
- 它不装工作站自己的仪表画面。定义在一个模型上的仪表画面列在这里，永远不在 View 页面自己的文件夹里；它只通过在 View 上显示这个开关到达 View 页面，每个单元一个条目。
- 它不装一次运行由之构成的那些配方、判定、数据记录和流程。那些是[设定](process-setup)分组的东西。
