# 设定

> 一个模型里那个随试验台上产品变化而变化的分组，以及它按流程组合它们的顺序排列的七个文件夹。

**设定**是 Process 树里一个模型倒数第三个分组（Process > 模型 > 某个模型 > 设定）。它的页面说明它是干什么的：“试验台上的产品换了就要改的东西：监视什么、通道以什么名字读出、记录什么、一次运行记录套用哪些设定值、按什么来判，以及把这些拼在一起的流程。”[定义](process-definition)是流程的结构，只有流程本身变了才动；而设定通常是试验负责人的地盘：同一张试验台上换一件新产品，就意味着新的设定值、新的限值、新的名称，以及一个在同样那些通道上把它们组合起来的新流程。

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

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

| 顺序 | 文件夹 | 装着什么 | 页面 |
| --- | --- | --- | --- |
| 1 | **事件条目** | 对被测对象所监视的条件，在运行期间判，或者始终判。 | [事件条目](process-occurrences) |
| 2 | **别名** | 命名好的通道名称集，可以应用到某个单元，或者锁定到某个流程上。 | [别名集](process-aliases) |
| 3 | **数据记录** | 记录的配置：一个快照间隔和记录哪些通道。 | [数据记录](process-datalogs) |
| 4 | **配方** | 一次运行写入的那些设定值：一组即时值，或者一条时序的阶跃 / 斜坡 / 保持曲线。 | [配方](process-recipes) |
| 5 | **判定** | 用来判一次运行合格与否的那些判据。 | [判定](process-evaluations) |
| 6 | **动作** | 一次运行在它的边界上发出的标签、报告、Logic 动作和数据库行的命名组合。 | [动作](process-actions) |
| 7 | **流程** | 操作员在某个单元上启动的东西：运行的外壳，加上它从上面那些东西里组合出来的部分。 | [流程](process-procedures) |

## 流程为什么排在最后 {#why-the-procedure-comes-last}

前六个文件夹是一件件散件，而流程就是它们拼起来的地方：一个流程挑一份数据记录来记录、一份配方来施加、一份判定来判、一个别名集来锁定，还有它投入的那些事件条目和它发出的那些动作。这个分组按填写的顺序来读，因此等你走到流程时，每一个选择框都已经有东西可挑。动作排在判定之后、流程之前，因为它是唯一一件既不施加、也不记录、也不判定任何东西的散件：它只说一次运行往外拿出什么，而它是一个流程最后组合的那件东西。

每个文件夹都按名称列出它的行，**动作**除外，它保留列表自己的顺序，因为那个顺序就是每一个流程发出这些动作的顺序。

## 产品变了，什么跟着变 {#what-changes-when-the-product-changes}

设定里没有任何东西重新声明模型的结构。每一件散件都只按标识引用模型的那些抽象通道，别无其他：一份配方写通道，一份数据记录记录通道，一份判定判通道，一个事件条目读通道，一个别名集给通道命名。正是这一点，让这个模型的每一个单元在构造上就和每一件散件相容，也让一张试验台在产品来来去去的同时保住它的通道和绑定。给一条通道重命名，会改写这个分组里的每一处引用；删掉一条通道，则在一次会数清有多少东西要走的确认之后，把它的那些行从每一件散件里扫出去（见[通道与绑定](process-channels)）。

被删掉的散件，只是让引用它的东西降级，而不是把它弄坏：配方、数据记录、判定或别名集被移除的流程，只是把那处引用清空；被移除的事件条目，从每一个流程上撤下；被移除的动作，不再被那些选中它的流程发出。确认对话框在它离开之前会写出它的名字。

## 权限和锁 {#permissions-and-locks}

编辑这个分组的是 Process 那一区的**编辑配方与判定**权限：七个文件夹里的每一个创建动作、每一个字段和每一个删除动作都由它把关。对于持有它却没有**管理 Process** 的角色，树会收缩：每一个模型只显示它的设定那一支，模板根节点被去掉，因此这个角色够得着的正好就是它可以改的东西。只查看模型或者只运行流程的角色仍然看得到整棵树，但设定那些页面被按住只读，那些动作一个都不画。

| 命令 | 立在哪里 | 它创建出什么 |
| --- | --- | --- |
| **事件条目** | 选中事件条目文件夹时（右键**添加事件条目**） | `事件条目 <n>`，警告，仅在流程期间投入，已启用，条件为空。 |
| **别名集** | 选中别名文件夹时（右键**添加别名集**） | `别名集 <n>`，还没有给任何东西命名。 |
| **数据记录** | 选中数据记录文件夹时（右键**添加数据记录**） | `数据记录 <n>`，1000 ms，没有列。 |
| **配方** | 选中配方文件夹时（右键**添加配方**） | `配方 <n>`，即时，失败时暂停，没有设定值。 |
| **判定** | 选中判定文件夹时（右键**添加判定**） | `判定 <n>`，没有判据。 |
| **动作** | 选中动作文件夹时（右键**添加动作**） | `动作 <n>`（第一个空号），没有命令。 |
| **命令** | 选中一个动作时（右键**添加命令**） | 一条在完成时为合格运行发出的标签，还没有模板。 |
| **流程** | 选中流程文件夹时（右键**添加流程**） | `流程 <n>`，即时，什么都不引用。 |
| **删除……** | 选中那一行时：详情栏的危险组、右键菜单，以及文件夹页面卡片上的那个叉 | 在一次写出它名字的确认之后删掉那一行。 |

工作站拒绝配置期间，它们全都仍然画出来但变灰：这台工作站的任何一个单元被一次运行占着时，工程锁定就生效，而运行时停止时每一次改动都被拒绝。悬停提示会说是哪一种。这个分组里每一页都自动保存：一个字段在你离开它时生效，一个开关或一个选择框在你改动它时生效，而工作站拒绝的写入会把页面恢复原样，并在操作记录条上报出原因。

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

- 它不装任何按单元的东西。一个单元的绑定、别名、打印机和自动化在[定义](process-definition)那些屏幕上，一次一个单元。
- 它不装任何模板。一个动作所指名的报告版式和标签模板，是[模板](process-templates)下面那两个工作站范围的库。
- 它什么也不运行。预选和启动一个流程发生在[操作](process-operate)下面那个单元的行上。
