模型与文件夹
模型根节点和它的卡片、一个模型自己那一页上的标识与结构、复制模型和删除模型,以及模型、报告和标签归入的那些文件夹。
一个模型就是那个类型:定义一个流程所用的抽象通道、元数据目录、自动化、产量规则和打印机,再加上一件产品向它索取的那些库和流程。它落实在单元(那些物理工位)上,而每一个单元都拿自己的信号源把整份定义跑一遍。这一页讲模型根节点、一个模型自己的页面、复制和删除一个模型,以及工作区栏里的那些文件夹。模型页面上的单元表格另有一页:单元。
每一个 Process 层级都能读模型;创建、重命名、复制、归档和删除一个模型则需要管理 Process。
模型根节点
选中模型会打开一面卡片墙,上面那行写着“每个模型把抽象通道定义一次,再把它们具体化到单元上,跑出有记录、有判定的试验。”一个模型或一个文件夹一张卡片,带着那一行的图标和名称;点一张卡片就打开它。模型的卡片上带一个危险色的删除图标,按它就走删除模型(见下);文件夹的卡片上没有,因为文件夹不是一个能从这里删掉的行。一个模型都没有时,这面墙写着“还没有模型。添加一个。”
| 命令 | 做什么 | 什么时候变灰 | 什么时候不画出来 |
|---|---|---|---|
| 新建模型(命令栏) | 在模型根节点上创建“新建模型”并选中它。 | 工作站被锁住时(“有单元在运行时配置被锁定。”或者“运行时已停止”)。 | 角色没有管理 Process。 |
| 新建模型(新建……菜单;根节点上的右键菜单) | 同上,只是从栏的页脚或者根节点的菜单发起。 | 同上。 | 同上。 |
一个模型生下来是空的:没有通道、没有单元、没有库、没有流程。它的四个分组和它们那些行立刻就在,因此这一栏已经显示出每样东西该往哪里放;只有它的操作面板那一行一开始就读作一张默认操作面板,直到你自己声明一张为止。
一个模型的页面
选中一个模型会打开那一页,它说清这是什么、跑在哪里,上面那行写着“一个流程模型:声明一次的抽象通道、试验台上的产品向它们索取的东西,以及它跑在哪些单元上。”标题栏上带两枚小药丸:rev <revision> 和单元数。
标识
| 字段 | 是什么 | 取值 / 默认 | 效果 |
|---|---|---|---|
| 名称 | 对外的地址前缀:这个模型的每一个单元都在 Process.<Model>.<Unit> 上作答。 |
自由文本;创建时是“新建模型”。地址段保留字母和数字,其余一律变成 _,开头是数字时前面补一个 _。 |
提交(回车,或者离开该字段)是一次协调的重命名:每一处指向旧地址的活引用都会随之改写。你输入的时候,字段下面那一行预告它够得着多远:“正在检查引用…”,然后是“重命名会更新读取这个地址的 3 处位置。”“没有任何引用使用当前地址。”或者“有效地址不会改变,没有引用需要更新。”名称的地址段和另一个模型映射到同一个时,会在字段上被拒绝:“Process 模型名称‘X’映射到的地址段‘Y’已经被‘Z’占用。” |
| 修订 | 自由文本,为了可追溯而带进每一次运行的快照。 | 任意文本;默认为空。 | 显示在 rev 小药丸里,并冻结进此后启动的每一次运行。没有任何东西强制或递增它。 |
| 附注 | 给人看的自由文本。 | 任意文本;默认为空。 | 没有任何东西读它。 |
没有管理 Process 时,以及工作站被锁住时,名称字段是禁用的;修订和附注在你离开字段时自动保存。
单元
单元卡片立在标识和结构之间,只对管理 Process 画出来:这个模型落实到哪些工位上,每一个带着它的名称、代号、附注和通道覆盖情况。它写在单元那一页上。
结构
最后那张卡片写着“这个模型由什么组成,按各自变动的频繁程度排列:流程的结构、它怎么展示自己、试验台上的产品向它索取什么,以及它跑在哪些单元上。点一个就打开它。”,下面是四个方块:定义、可视化和设定只写名字,操作还带上它的单元数。点一个方块就在栏里选中那个分组。
复制模型
复制模型立在模型的命令栏上,也在它的右键菜单里(需要管理 Process;工作站被锁住时变灰)。它用选中的那个模型造出一个属于你自己的模型,选中这个副本,并报出“已把‘X’复制为‘Y’。这个副本归你编辑。”
跟着走的东西,每一行都带上全新的标识,行与行之间的每一处引用也重新映射到副本上:
- 标识那一行:修订、附注、外部停止开关连同它的默认信号和极性、默认滚动周期和那些命名数量、四个默认打印队列;
- 那些通道,连同它们的编号、名称、别名、别名作用范围、角色、类型、工程单位、颜色和分组;
- 元数据目录,连同它的流水号组成部分;
- 那些操作面板连同它们的卡片,以及这个模型的那些仪表画面(每一张都存成副本的仪表画面,它的地址从旧的模型名改写成新的);
- 那些数据记录、带设定值和曲线段的配方、带判据的判定、事件条目、带条目的别名集、带命令和标记映射的动作,以及带各项选择的流程;
- 那些单元,连同它们的绑定、它们自己的数量、它们自己的打印机槽位和联锁信号源,以及它们的自动化(命令信号源、选择器代码、元数据映射、PLC 回写)。
不跟着走的东西:流水号计数器的状态(复制过来的字段从它的初始值起算,绝不与原来那个共用已预留的号),文件夹(副本落在模型根节点上),以及随产品附带模型的示例标记。凡是指向模型之外的东西(绑定的点位和变量、联锁和自动化的信号源、报告和标签模板、打印队列名称)都保留原值,因此副本指向的正是原来那个指向的东西;验证会把你可能想换掉的那些引用列出来。
副本在源模型的名称还空着时取它,否则取“名称 (2)”“名称 (3)”;显示名称和它的地址段都必须是空着的。保存被拒绝时报出“模型没有复制成功:…”,什么也不留下;某张仪表画面存不下来时,副本就少了那一个界面,并报出“画面‘S’没有复制成功:…”。
删除模型
删除模型是模型命令栏和菜单里的结束动作,也是它在模型根节点上或它所在文件夹里那张卡片上的删除图标(需要管理 Process;锁住时变灰)。它先确认:“要删除‘X’吗?这会删除模型和定义在它下面的一切。正在使用的模型无法删除。此操作无法撤销。”
工作站在操作记录条上拒绝时会说“它的某个单元正忙于一次运行操作时,无法删除这个模型。”和“它的某个单元的联锁处于锁定状态时,无法删除这个模型。”被删掉的模型把它的单元、库、流程、操作面板和仪表画面一并带走;它已记录的运行仍原封不动地留在历史里,因为一个运行记录文件与产生它的配置无关。删除之后,选择退回到模型根节点,操作记录条写着“已删除。”
文件夹
模型、报告和标签各自都接受你自己的文件夹,最多嵌套两层。文件夹只是行被列出来的地方,别无他用:它永远不进入地址(不管一个模型坐在哪个文件夹里,它的单元仍然是 Process.<Model>.<Unit>),归档也不改写任何引用。名称比较时不分大小写,因此“Benches”和“benches”是同一个文件夹,按先看到的那种拼法绘制。文件夹画在最前,按名称排,排在没人归档的那些行上面。
| 命令 | 在哪里 | 做什么 | 什么时候被拒绝 |
|---|---|---|---|
| 新建文件夹 > 模型 / 报告 / 标签 | 栏的新建……菜单 | 在那个根节点上打开一个空文件夹,名叫“新建文件夹”(然后是“新建文件夹 2”,……),名称字段在那一行上就绪。按 Esc 就让它叫“新建文件夹”。 | 工作站被锁住;缺少管理 Process。 |
| 新建文件夹 | 一个文件夹的命令栏;它右键菜单里的新建文件夹 | 在选中的文件夹里面打开一个子文件夹。 | 在第二层文件夹上写“这个文件夹已经到了允许的嵌套深度。” |
| 新建模型 / 新建报告 / 新建标签 | 一个文件夹的命令栏;它菜单里的新建模型 / 新建报告 / 新建标签 | 在那个文件夹里面创建那一行。 | 工作站被锁住。 |
| 移动到 | 一个模型、报告或标签的右键菜单 | 一个子菜单:一个新文件夹(生下来就装着这一行)、这里的一个新子文件夹(只有从一级文件夹里面才有)、模型根目录 / 报告根目录 / 标签根目录(这一行已经在那里时变灰),然后是这一类里除当前那个之外的每一个已有文件夹。 | “那个文件夹的嵌套层数超过了这里允许的深度。” |
| 重命名文件夹 | 一个文件夹的命令栏和菜单 | 在那一行上打开名称;里面的每一行,子文件夹也在内,都改归到新名下,你原本打开的东西仍然开着。 | “文件夹必须有名称,而且名称里不能包含‘/’。”;“这里已经有一个名为‘X’的文件夹。”(把两个文件夹并到一起是移动,不是重命名)。把同一个名字重新拼一遍是允许的。 |
| 删除文件夹 | 一个文件夹的命令栏(危险组)和菜单 | 确认“删除文件夹‘X’?”,或者“删除文件夹‘X’?它里面的 3 个模型会回到模型根目录。什么都不会被删掉。”,然后把里面的每一行都送回那一类的根节点,并把文件夹撤掉。 | 工作站被锁住。 |
一个文件夹的页面把归进它里面的东西作为卡片列出来,上面写着“归入这里的模型。文件夹只是整理这一列,别无他用。”(或者报告,或者标签)。空的那种写着“这个文件夹里还什么都没有。往里面添加,或者从列里把一行移进来。”每张卡片打开它那一行;模型、报告或标签的卡片上带着删除那一行的删除图标(删除模型、“删除报告”、“删除标签”,各有各的确认)。
处在编辑配方与判定层级的角色,仍然保留它透过其看到模型的那些文件夹,但不能创建、重命名、移动或删除文件夹。
四个分组页面
定义、可视化和设定打开的是同一种面板:分组的名称、它那一行说明(引在 Process 上)和一张内容卡片,“这个分组里有什么。点一个就直接跳过去。”,每一行一个方块。代表一个列表的方块显示它的计数(通道、元数据、仪表画面、操作面板、事件条目、别名、数据记录、配方、判定、动作、流程);自动化、产量和打印机显示它们的名称,因为每一个都是一项设置,而不是若干行。操作打开的是另一种面板,也就是那些单元连同它们的实时状态,写在单元那一页上。
这四页都不带命令栏,也不编辑任何东西。
这一页不做的事
- 关于一个单元,这里除了名称、代号和附注之外什么都不配置:绑定、计数器、联锁、自动化、产量和打印机都在五个定义屏幕上配置,每一个屏幕都一次显示全部单元。
- 模型不重新排序,它的名称也不从树里编辑。
- 文件夹里的模型不通过文件夹来寻址,移动它也不会改变任何读取它的东西。
- 什么都不会被撤销:复制模型是留住一个版本的办法,而一份已记录的运行记录,不管那个模型后来怎么样,都保留着产生它的那份配置。