来自其他页面
Logic 那一栏所显示的 System、Server、Connector 和 Process 四个根、每一个固定点位及其含义、只读的点位面板和树枝面板,以及点名每个根由哪个页面编辑的那条通知。
Logic 那一栏的第二个小标题来自其他页面下面,放着这个页面只显示的那四个根:System、Server、Connector 和 Process,就是这个顺序。它们的点位对每一条表达式、每一段脚本、每一个仪表画面绑定和每一个代理工具都可读,但它们下面的东西一样都不在这里创建、编辑或删除。选中它们中任何一行,本该是命令的位置上会出现一行通知,并配一个打开拥有它那个页面的按钮。
“由别处编辑”的通知
| 根 | 命令栏上带的那一行 | 按钮 | 角色拥有什么时才画出来 |
|---|---|---|---|
| Connector | 在这里只读:驱动、设备和点位在 Connector 页面上编辑。 | “打开 Connector”,通往 Connector 页面 | 查看 Connector |
| Process | 在这里只读:模型、单元和通道在 Process 页面上编辑。 | “打开 Process”,通往 Process 页面 | 查看模型、运行流程或查看历史 |
| Server | 在这里只读:OPC UA 服务器在“设置”里配置。 | “打开设置”,落在服务器的配置那一节 | 更改设置 |
| System | 只读:应用发布的关于它自己的诊断值,哪里都不编辑。 | 无 |
这一行对这个根下面每一个节点都显示,不管多深;而按钮只在这个窗口的角色打得开那个去处时才显示,所以一个只能查看的人读到的是那句话,而不是一扇答复他“不行”的门。以拥有那个权限的角色登录进来,按钮就跟着来了。
System
| 地址 | 类型 | 读到什么 |
|---|---|---|
System.Now |
日期和时间 | 当前时刻。在一条表达式或一段脚本里,它是这次求值的时刻,所以一次运行里的每一处引用读到的是同一个时间。 |
System.StartTime |
日期和时间 | 应用进程启动的时刻。 |
System.Uptime |
小数 | 应用启动以来的秒数。 |
System.Version |
文本 | 应用版本。 |
这四个点位永远是良好。
Server
| 地址 | 类型 | 读到什么 |
|---|---|---|
Server.Running |
布尔值 | 内置 OPC UA 服务器起来了没有。永远是良好。 |
Server.StartTime |
日期和时间 | 服务器启动的时刻。它启动之前是一个不可用的空档。 |
Server.Uptime |
小数 | 服务器启动以来的秒数。它启动之前是一个不可用的空档。 |
Server.SessionCount |
整数 | 已连接的 OPC UA 会话数。服务器不在时是不可用。 |
同样这几个数字也显示在服务器的状态那一节上。
Connector
Connector 根画的是 Connector 页面所配置的那棵实时树:每一种驱动一个文件夹(Simulated、ModbusTcp、……),然后是设备归档所在的那些文件夹,然后是设备,再然后是它们的点位。只有已启用、并且点位在内置服务器里落地了的设备才出现;一台已禁用的设备,以及一台没有落地点位的设备,连同它们的地址一起缺席。一个点位的地址就是它的别名,Connector.<Driver>.<Folders…>.<Device>.<Tag>,每一段都规整过(见设备文件夹);Modbus RTU 的线路不加一层。驱动和文件夹带文件夹标记,设备带设备标记,点位带它所发布数值类别的标记(布尔、数值、文本、日期)。在“浏览…”选择器里展开一个点位,会列出它的可读面;栏里到点位就停下,选中它会打开点位面板。
Process
Process 根把每一个模型画成一个文件夹,把它的单元按顺序画成文件夹,每个单元下面再放五个固定的文件夹:
| 文件夹 | 点位 | 类型 |
|---|---|---|
| Channels | 这个模型的每一个通道各一个点位,通过这个单元的绑定来读;绑到点位上的通道提供点位那套面,绑到变量上的提供变量那套面,没有绑定的什么都不提供。 | 这个通道的数据类型 |
| Procedure | Status、Running、Busy、Verdict、Mode、ActiveProcedure、SegmentIndex、CycleIndex、CycleCount、Cycle、FailedCycles、SamplesEvaluated、SamplesOut、SamplesUnavailable、SamplesInvalid、Elapsed、StartedAt。 |
按各自名字所示,是文本、布尔值、整数、小数或者日期和时间 |
| Productivity | Today 和 Rolling,各带 Summary(ProductivityPercent、YieldPercent、TypicalElapsedSeconds、Finalized、OK、NOK、Indeterminate、Unclassified、Aborted、Failed)、Outputs(每一个产出输出一个文件夹,带 Quantity 和 RatePerHour)以及 Procedures(每一个开了产量统计的流程一个文件夹,带 Quantity、RatePerHour 和那些汇总点位)。 |
速率、百分比和时长是小数;计数是整数 |
| Commands | Start、Hold、Resume、Stop、Abort(每一个读的是这条命令此刻能不能执行)以及 Comment(没有读数)。 |
布尔值;Comment 是文本 |
| Next | Procedure(预选流程的名字)以及预选流程每一个元数据字段各一个点位;换一个流程预选之后这根树枝会重排,而一个序列字段会预告它的下一个值。 |
文本 |
每一个读数是什么意思,在单元的地址空间里讲。产量类点位只有在它自己的值存在时才是良好:一个还没有任何完成量的数量是一个真正的零,而一个没有占用时间的速率或者一个没有参照的百分比是一个不可用的空档。命令类点位在哪里都是只读的:仪表画面上的按钮下发命令,并读这个点位来决定要不要把自己置灰;脚本去调它会在校验时被拒绝。Logic 里写不了任何 Process 点位:配方、预选和备注属于运行界面。
点位面板
在这四个根中任何一个下面选中一个点位(一个诊断值、一个点位、一个通道、一个运行状态或产量点位),会打开一个只读面板,标题栏是这个点位的标记和名称,加上那一行“地址空间发布的一个读数:它此刻装着什么,以及一条表达式或一段脚本用来点名它的那个地址。”
| 字段 | 显示什么 |
|---|---|
| 地址 | 带根的地址,放在一个可以选中并复制的只读文本框里。 |
| 数值 | 当前的读数,大字;地址不再解析得出来时写“?”;空档写一道短横。 |
| 质量 | 良好或不可用。 |
| 更新时刻 | 对点位,是它的应用时间戳(没有时用源时间戳);对变量,是它上一次被写入或求值的时刻;对算出来的点位,就是现在。 |
这些读数每秒刷新两次。下面写着:“在一条表达式或一段脚本里使用这个地址(自动补全或者“浏览…”)。”这个面板没有任何命令:这里什么都写不了一个点位(要写就到点位的页面上写,或者从脚本里、从一个仪表画面控件里写),除了让你把文字选中之外也不会替你复制什么。
树枝面板
选中一个驱动、一个文件夹、一台设备、一个模型、一个单元或者那五个固定文件夹之一,会打开树枝面板:这根树枝的标记和名称、以一枚胶囊显示的它的地址、那一行“地址空间的一根树枝:它装着什么,以及每一个点位此刻读到什么。”,还有一张列出它直接子项的表格,带名称、地址和数值(空档或不可用的读数写一道短横,某一行不再解析得出来时写“?”),每秒刷新两次。
这些节点为什么没有命令
驱动、设备或点位是在 Connector 页面上配置的,它的那些字段、它的启用开关和它的删除都住在那里;模型、单元或通道在 Process 页面上;服务器在“设置”里;应用的诊断值哪里都不配置。筛选这一栏、展开、折叠和复制一个地址,是这些行接受的全部手势,右键点它们不会打开任何菜单。