View 与仪表画面
View 页面:列出文件夹、画面和单元面板的可视化栏,打开画面上方带展开和全屏的那条命令栏,画面所依托的网格,以及谁可以在上面按什么。
View 是导航栏的第一项,也是工作站打开时停在的那一页。它列出这台工作站所显示的每一幅画面,并运行你挑中的那一幅:既包括你在网格上、在实时 Logic 地址空间之上搭出来的仪表画面,也包括 Process 各单元放到这里的操作面板。每一个角色都到得了这一页,因为“查看仪表画面”是每个角色都持有的那一项权限(见权限);一个角色随后在这一页上能做什么,是一条动词一条动词地从它别的权限读出来的。
这一页回答四个路由。/view 是规范地址,/ 打开同一页;/home 保留着,让一个旧的快捷方式仍然落在这里。/d/{id} 直接打开某一幅画面,平板上的书签或者别的页面来的链接就是这么到达它的;这条连接的角色不该看到的 id,或者一个已经不存在的 id,会不声不响地退回到这一页本来就会打开的那幅画面。/d/{id}?edit=true 直接在编辑器里打开这幅画面,复制之后或者从验证点了修复链接之后,落地的就是它;画面不能编辑时它被忽略。
可视化栏
左边那一栏的标题是可视化,工作站能显示的每一样东西在这里各占一行:
- 文件夹,最多两层深,每个带一个把这一组折起来的箭头,还有一个在舞台上打开文件夹本身的名称。文件夹那一行的末尾写着它装了多少幅画面,包括子文件夹里的。
- 画面,也就是你自己的仪表画面,可以归进文件夹,也可以站在顶层,每一幅带着在它的设置里挑的图标,它的说明则是这一行的提示。
- 单元面板,Process 各模型放到这里的那些条目,每个单元一项,命名为
模型 · 单元 · 界面。没有人归档过的那些,聚在树后面一个单元面板抬头底下;归了档的那一项,就和你的画面一起待在它的文件夹里。
一幅画面里只要有一个组件的点位此刻读不到,它的名称后面就带上一个安静的注意圆点,它上面的每一层文件夹也一样,于是即使各组都折起来了,故障也找得到。这个圆点不说别的:没有计数,也不动。
栏的底部带着新建…(只给可以编辑仪表画面的角色画出来,它打开一个菜单,里面是新建仪表画面和新建文件夹,两者都在顶层),接着,在编辑器打开期间,是针对打开画面的上移仪表画面和下移仪表画面,末尾那个角上则是对文件夹的全部展开和全部收起。在一幅画面或者一个文件夹的行上右击,打开的是归档、重命名和移除的那个菜单;那些全都写在画面与文件夹。
这一栏可以用它标题上的那个箭头收成一条窄条。按一下那条窄条,列表就作为一层浮层盖在舞台上打开,好让画布留住它刚赢来的每一个像素;选中一行它又关上,图钉则把固定的那一栏放回来。这一栏和舞台之间的分隔条可以在 260 到 600 px 之间拖动。你展开了哪些文件夹、栏有多宽、有没有收起,都只属于你这一次会话:它们按连接分别保存,所以浏览器里折起一组,绝不会把工作站自己窗口上的那一组也折起来,而且这些都不会被保存下来。
打开画面上方的那条命令栏
舞台上方那条命令栏写出打开的是什么,带着画面的图标和名称,也带着针对它的那些动词。编辑器打开期间,名称上戴着一个编辑中的徽标。
| 命令 | 作用 | 什么时候变灰(情形) | 什么时候不画出来(角色) |
|---|---|---|---|
| 复制 | 在打开的画面旁边、同一个文件夹里,做一个可编辑的副本,按原来的名字加上“(2)”“(3)”这样一直排到有一个名字空着为止,然后在编辑器里打开这个副本。 | 什么也没打开(“请先打开一个画面再复制。”)、工程已锁定、运行时已停止。 | 角色不可以编辑仪表画面,或者打开的这一项是一块单元面板或者一幅单元画面(没有东西可复制:它是在它的模型上排布的)。 |
| 编辑 / 结束编辑 | 对打开的画面进入编辑器,或者离开编辑器回到查看。离开从不被拒绝。 | 什么也没打开(“请先打开一个画面再编辑。”)、工程已锁定(“单元运行期间工程处于锁定状态”)、运行时已停止(“运行时已停止”)。 | 角色不可以编辑仪表画面,或者打开的这一项是一块单元面板或者一幅单元画面。 |
| 在 Process 里编辑 | 在 Process 工作区里打开这一项自己的定义:它那个模型的面板行或者画面行。 | 从不变灰;只有它跑得起来的时候才画出来。 | 打开的这一项是你自己的画面,或者角色不可以管理模型。 |
| 展开 | 把导航栏、标题栏和这条命令栏本身都藏起来,把整个窗口交给这幅画面;窗口本身保持原样。 | 什么也没打开。 | 从不隐藏,但编辑期间不提供。 |
| 全屏 | 来真的:工作站的窗口盖住整个显示器,浏览器则进入文档全屏。F11 做的是同一件事。 | 什么也没打开。 | 从不隐藏,但编辑期间不提供。 |
展开和全屏是为了操作一幅做好的画面,所以编辑器打开期间这条命令栏把两者都收起来,那时按 F11 也什么都不做。这两种模式、那个浮出菜单和状态栏的全部内容,写在全屏操作模式。
打开的是一个文件夹而不是一幅画面时,这条命令栏换了主语:它写出这个文件夹的名字,并带上重命名文件夹(在文件夹自己那一行上打开名称字段),以及右边用危险色写的移除文件夹(和行菜单里那一条同样的确认)。两者都只给可以编辑仪表画面的角色画出来,工程锁定期间变灰。
舞台
舞台画什么,跟着你挑的那一行走:
- 一幅画面在画布上运行:它的网格放大到铺满舞台,不出现滚动条,它的各个组件按这一页自己的节奏读取地址空间(工作站的窗口上每 150 ms 一次,远程浏览器上每 400 ms 一次)。
- 一个文件夹作为一份概览打开:一行说明这里归了什么,每个子文件夹一行并写着它的数量,每幅画面一张卡片,带着图标、名称和说明。按下一张卡片就打开那幅画面。
- 一块单元面板不是一份布局,而是一摞卡片,所以舞台变成它们竖着排的一根滚动列:见 View 上的单元面板。一幅单元画面(在 View 上显示的某个模型的画面)像任何画面一样在画布上运行,并且已经为它那个单元解析好了。
没有东西可显示时舞台会说出来:一台没有任何仪表画面的工作站写着“还没有仪表画面。创建一个,为你的试验台组合实时读数、图表和控件,然后全屏打开来操作。”,并给可以编辑的角色配一个新建仪表画面按钮;一个所有仪表画面都对它隐藏的角色读到“没有仪表画面对你的角色可见。”;而一份有文件夹却没有画面的列表,或者一个打开着却没挑中画面的文件夹,会说明是这两种当中的哪一种。
网格
每一幅仪表画面都有自己的列 × 行网格(在你改动之前是 24 × 12,每个数在 1 到 96 之间),它铺满舞台并随窗口缩放。一个组件占据一块矩形的单元格(它的 X、Y、宽和高);组件之间可以随意重叠,每个还带着一个图层编号(Z):图层高的画在上面,也接住点击。边框就是这样变成一个真正的背景的:把它移到最后,再把那一组画在它上面。摆放、定大小和图层次序属于编辑器;网格自身的大小则是一项仪表画面设置。
命令、权限和锁标记
每一种命令类组件都经由工作站唯一的 Logic 写入出口写入并记入日志,也都服从同一套权限模型。这既包括画面上任何按得下去的控件,也包括一块单元面板所带的那些流程类卡片,还包括在报警提示条上做的确认:
- 在你自己的仪表画面上按一个控件,需要角色的操作仪表画面权限,它在用户页面上按角色授予。
- 目标是一次 Process 改动的按下(一条单元运行命令、一个预选字段、一条运行备注、流程选择器、联锁的复位),另外还需要运行流程。一次按下需要什么,是从它解析出来的目标读出来的,绝不是从组件的种类读出来的:一个写入一个值或者打开另一幅仪表画面的按钮,仍然停在仪表画面那项权限上。
- 在一块单元面板或者一幅单元画面上,只由 Process 那项权限管着:运行流程,和仪表画面无关。
- 运行时停止期间,不管什么角色,每一条命令都以“运行时已停止”被拒绝。
登录的角色不可以按的命令仍然留在屏幕上,戴着那个安静的锁标记:组件角上一个小挂锁,完整的理由(“需要‘操作仪表画面’权限。”或者“需要‘运行流程’权限。”)写在组件的提示里。它是有意做得安静的,因为一个只能查看的角色会一下子在每个控件上都看到它,而一个运行正常的现场不该读起来像一幅满是警告的画面。授权在每一次按下的那一刻重新核对,所以画面开着的时候退出登录或者换了角色,都不会派发出一次过期的点击。
每一个命令类组件都在控件下面自己那条答复行上作答(“已写入”“成功 · 12 ms”,或者那句拒绝),它五秒之后过期。全屏的画面把状态栏藏起来之后,那一行是仅剩的那块地方,所以命令在那里作答,而不是在状态栏的操作记录条里。
各种锁
一个单元运行期间,这一页显示工程已锁定提示条:“有一项单元操作正在进行。在每个单元结束之前,配置保持只读;运行控制和其他操作员动作仍然可用。”新建、复制、编辑、归档、重命名和重排都以这个理由变灰,打开着的编辑器会关掉,而各幅画面照常运行、照常接受允许的命令。运行时停止会把同样这些动词关掉,连命令一起;外壳自己那条暂停通知会说明在哪里重新启动。
这一页不做什么
它从不编辑一块单元面板或者一幅单元画面(在 Process 里编辑会把你带到它们排布的地方),从不给它们重排顺序,也绝不让一个角色看到一幅对它隐藏的仪表画面,无论通过列表还是通过地址。它不为你保留任何超出这次会话的布局状态:折起来的文件夹、栏宽、图钉和选中的画面,都随着连接一起重置。删除一幅画面是在编辑器的仪表画面设置里做的,不是从这一栏做的。
本区域内
| 页面 | 涵盖 |
|---|---|
| 画面与文件夹 | 新建、复制、归档、重命名、重排和移除这一栏所列的东西,启动画面,以及谁看得到哪一幅画面。 |
| 仪表画面编辑器 | 那张工作台:面板、画布、选择、每个组件共有的属性分区,以及在图元连接点之间画出来的连线。 |
| 仪表画面设置 | 一幅画面对自己声明的东西:名称、说明、图标、网格、启动、全屏时的状态栏、可见的角色、删除。 |
| 全屏操作模式 | 展开和全屏、F11 和 Esc、浮出菜单以及状态栏偏好。 |
| View 上的单元面板 | 操作一个 Process 单元所用的那一摞卡片,在这里的样子。 |
| 图表 | 每张图表都带的那条工具栏,它的刻度、统计和参考面板,以及分离出去的图表窗口。 |
| 仪表画面组件 | 组件类型的目录、它们绑定的地址、读数如何绘制,以及每一种类型一页的参考。 |