状态
内置 OPC UA 服务器的那块面板:它的指示灯和状态、端点、启动、停止、重启和测试连接,以及六个实时计数。
状态是设置页面上 OPC UA 服务器分组的第一行,也是唯一一个用手启动和停止服务器的地方。它画成一块面板:上方是带着指示灯、状态文本、端点和电源控件的横幅,下方是一口凹进去的井,里面放着六个计数。这个页面每秒重绘一次,所以计数跟得上正在运行的服务器。打开这个页面需要更改设置权限。
上方那道横幅
| 元素 | 它显示什么 |
|---|---|
| 指示灯和状态文本 | 服务器起着、它的地址空间活着时是在线(绿色);从启动到那一刻之间是正在启动…(警示色调);宿主没在跑时是已停止(灰色)。卡片边上那条带子取同样的颜色,读的和指示灯是同一个数,所以两者不可能互相矛盾。 |
| 端点 | 客户端拨过来的那个网络地址:opc.tcp://<computer name>:<port>/UA/GanterLab。对外公告的是这台计算机稳定的名字,绝不是 0.0.0.0 或者一个 DHCP 地址;同一台机器上的另一个写法在客户端访问的连接地址下面。 |
这段状态文本和托盘图标提示文字、状态栏读的是同一段;见内置的 OPC UA 服务器。
那些命令
| 命令 | 作用 | 什么时候变灰(情形) | 什么时候不画出来(角色) |
|---|---|---|---|
| 启动 | 把当前配置落成实物,并启动通信宿主。状态栏写“正在启动 OPC UA 服务器…”,然后是“OPC UA 服务器已启动。”;宿主回来时还是停着的话,则写“OPC UA 服务器启动失败:<the last error the server logged>”(它什么都没记时写“…它可能无法绑定端口 N。请查看日志。”)。 |
另一条生命周期命令正在执行时、有单元在运行时(“有单元在运行时配置是锁住的。”)、运行时停止期间(“运行时已停止”)。 | 只在服务器停着的时候才画出来。 |
| 停止 | 优雅地停下宿主:每一个客户端会话都结束,宿主承载的设备通信也跟着停,所以在按下启动之前 Connector 一个数都不读。“正在停止 OPC UA 服务器…”,然后是“OPC UA 服务器已停止。” | 同样那三种情形。 | 只在服务器跑着的时候才画出来。 |
| 重启 | 先停后起,重新读一遍配置。“正在重启 OPC UA 服务器…”,然后是“OPC UA 服务器已重启。”或者上面那句失败的话。 | 同样那三种情形。 | 只在服务器跑着的时候才画出来。 |
| 测试连接 | 报出工作站对自己那个服务器知道些什么,什么都不改:“OPC UA 服务器已停止。启动它才能接受连接。”、“OPC UA 服务器正在启动,还没有就绪。”,或者“OPC UA 服务器在 <endpoint> 上可达,有 N 个活动会话。”它是正在运行的这个进程说出来的一句话,不是一次穿过网络的探测。 |
从不。 | 从不。 |
一次没有报错就返回的启动仍然要再查一遍:OPC UA 协议栈可能绑不上端口而只把这件事记进日志,所以操作记录条报的是这次失败,而不是一次成功。一次失败的启动让指示灯留在灰色;原因在事件上服务器的日志里。
那些计数
| 计数 | 它数的是什么 |
|---|---|
| 运行时长 | 服务器上次启动以来的时间,写成 2h 14m 5s、14m 5s 或者 5s;停着的时候是一个空缺记号。同一个时刻也喂着 Logic 地址空间的 Server.StartTime 和 Server.Uptime 两个点位。 |
| 会话 | 服务器此刻已经接受的那些客户端会话,和客户端访问上“当前已连接”显示的是同一份名单。 |
| 设备 | Connector 里配置好的设备,跨所有驱动,启用与否都算。 |
| 驱动 | 这些设备一共用到了多少种不同的驱动。 |
| 错误 | 通信宿主日志流里的错误行(服务器和驱动)。这个流保留最近 500 行;数字不为零时变红。 |
| 警告 | 同一个流里的警告行,不为零时是警示色调。对持有查看事件的角色,这个数字是一个按钮,在工作站自己的桌面上打开拆出去的事件窗口(“打开事件窗口”);在另一台设备的浏览器里它变灰,写着“仅在工作站本机的桌面应用中可用。”;对没有这项权限的角色,它就是一个普通数字。 |
这一节不做什么
它不会断开某一个会话(在客户端访问上撤销一份证书才会),它不会清掉那些日志计数(那个流有上限,自己滚),它也不会重启应用。一次失败之后它绝不自己把服务器起起来:绑定失败会被报出来,然后等着你按启动。端点在配置上改,而且只在服务器停着的时候。