内置的 OPC UA 服务器
工作站在自己进程里跑着的那个 OPC UA 服务器:它发布什么、设置里守着它、配置它、把住它的那四行、它和托盘及状态栏共用什么,以及远程浏览器不可以做什么。
工作站本身就是一个 OPC UA 服务器。它跑在应用进程里面,随应用一起启动,窗口藏进通知区域之后照样提供服务,并在 opc.tcp://<computer name>:4840/UA/GanterLab 上发布 Connector 的设备和它们的点位(同一台机器上的另一个写法是 localhost)。网络上的 OPC UA 客户端在那里读取这些点位,并可以向接受写入的那些写值;一次写入和其他任何一次一样要过 Logic 的写入漏斗,所以信号源的锁和运行时的各种拒绝对它同样有效。设备通信由同一个宿主承载:停下服务器,驱动也跟着停。
设置左边索引里有四行属于它:OPC UA 服务器下面的状态、配置和客户端访问,以及 OPC UA 现场设备下面的现场设备访问。打开这个页面需要更改设置权限。
本区域内
| 页面 | 讲什么 |
|---|---|
| 状态 | 那块面板:指示灯和状态文本、端点、启动、停止、重启和测试连接,以及六个计数(运行时长、会话、设备、驱动、错误、警告)。 |
| 配置 | 应用程序名称、监听端口、客户端认证(已禁用、匿名、用户名和密码)、用户名和密码、应用并重启,以及这些字段为什么只有在服务器停着的时候才可编辑。 |
| 客户端访问 | 拨号连上这台工作站的那些应用程序的证书:添加客户端和它那道身份核对、待批准列表和它的上限、连接地址、Windows 防火墙那一行、当前已连接、带导入证书的受信任的客户端、被阻止的客户端。 |
| 现场设备访问 | Connector 拨号连接的那些 OPC UA 现场设备的证书:等待批准、带导入证书的已批准的现场设备、撤回批准、被阻止的现场设备,以及一台等着的设备在 Connector 里说什么。 |
两道关卡,分得清清楚楚
一次 OPC UA 会话要过两道检查,而这个区域是分开配置它们的。证书信任决定一个应用程序到底能不能够到服务器:未知的证书在它第一次尝试时就被拒绝并留给你审核,任何东西都不会被自动信任,而要核对的身份是指纹,绝不是证书自称的那个名字。客户端认证随后决定一个受信任的应用程序怎么登录:根本不登录(已禁用,也是默认值,它拒绝每一次会话)、匿名登录,或者用那唯一一对配置好的用户名和密码登录。同样的想法在现场设备访问那边指向另一个方向:证书你没有批准的 OPC UA 现场设备,工作站一个数都不读。
和托盘、状态栏共用什么
服务器的实时状态是一个准据,被好几处界面读着。状态上的指示灯和状态文本、托盘图标上的健康状态圆点和它的提示文字(“Ganter Lab:在线”)、托盘菜单里那行“服务器:在线”,以及状态栏上的健康状态圆点,读的都是同一个监视器;服务器不在线时状态栏报服务器(“服务器:正在启动…”、“服务器:已停止”),否则报最差的那台设备。运行标志、启动时刻、运行时长和会话数同时也是 Logic 地址空间里的点位,在它的服务器根节点下(Running、StartTime、Uptime、SessionCount),因此一幅仪表画面或者一个表达式都能读到它们。
这里每一条命令的结果都落到状态栏的操作记录条上,而关于证书的每一次拒绝和每一个决定都记进日志:服务器自己的日志行在事件的控制台标签页上,它们的错误数和警告数就是那块面板最后两个计数。
那两把锁
启动、停止、重启、应用并重启、配置的每一个字段和每一个证书决定,都是工程工作。有单元在运行时它们变灰,写着“有单元在运行时配置是锁住的。”:停掉现场的服务器是配置工作,不是操作。运行时停止期间它们也变灰,而挤过去的一次按下会被拒绝,写着“运行时已停止”。测试连接、那些计数、那些地址和那些名单,在这两把锁下面照样读得到。
远程浏览器不可以做什么
另一台设备上的浏览器,只要角色持有更改设置,看到的这四行和工作站的窗口完全一样,也可以启动、停止和重启服务器,并应用一份配置。它不可以做的是决定证书的事:添加客户端、信任、阻止、撤销信任、解除阻止、丢弃所有待处理的证书、导入证书、批准、撤回批准和那个 Windows 防火墙按钮,在那里都被拒绝,写着“客户端访问只能在工作站本机的桌面应用中更改。”(现场设备那边是对应的那一句),而每张卡片上都有一条信息提示条这么说:“要更改客户端访问,请打开桌面应用”。警告计数通往拆出去的事件窗口的那个入口变灰,写着“仅在工作站本机的桌面应用中可用。”。
证书放在哪里:服务器自己的应用程序证书,以及受信任、待审核和被阻止的客户端证书库,都在工作站数据根目录下的 ua\pki 里,现场设备的那些库在 ua\pki\southbound 里。它们挺过重启,而且不属于配置备份的一部分。