设备文件夹

驱动下面的文件夹:新建、重命名和删除它们,把设备归进去,两层的上限,文件夹页面,以及一个文件夹如何成为 Logic 地址中的一级。

以 Markdown 查看

一个文件夹在通信栏里把同一个驱动下面的设备分组,最多两层深。在总线上它什么都不改:轮询、Process 绑定和对外的 OPC UA 命名空间都看不见它。但它是 Logic 和仪表画面所用的那个地址中的一级,所以把设备归档就是一次地址改动,应用会替你改写每一处引用。除 Modbus RTU 之外,每个驱动都有文件夹,Modbus RTU 的设备改由它们的串行线路来归档。看见文件夹需要“查看 Connector”;每一条文件夹命令都需要“配置 Connector”。

新建一个文件夹

手势 落在哪里
栏底的新建… > 新建文件夹 落在驱动的本级。只启用了一个接受文件夹的驱动时它是单独一项;启用了几个时,它是一个由“归入 <Driver>”各项组成的子菜单。
一个打开着的文件夹的命令栏上、或它右键菜单里的新建文件夹 落在那个文件夹里面,成为第二层。在第二层文件夹上置灰:“这个文件夹已经到了文件夹能嵌套的最深一层。”
右键点一台设备 > 移动到 > 一个新文件夹 落在驱动那一级,并且在同一个手势里把设备搬进去。
右键点一台设备 > 移动到 > 这里的一个新子文件夹 只对已经在第一层文件夹里的设备提供;建好子文件夹并把设备搬进去。

新文件夹叫“新文件夹”(然后是“新文件夹 2”,依此类推),它上面那根树枝会展开,它那一行马上变成一个名称字段:打上名字按回车确认;离开这个字段则保留“新文件夹”这个名字。在有东西归进去之前,文件夹就空着立在那里。它作为“已创建”被记录下来,所以它能挺过重新加载、驱动被禁用再启用,以及最后一台设备离开它。操作记录条里报告“已创建文件夹‘新文件夹’。”

文件夹页面

标题栏带着文件夹的名称;文件夹是空的时候写“文件夹只用来整理列表,别无他用。请在这里添加一台设备,或者从树里移一台进来。”,否则写“在这棵树里归类 3 台设备。文件夹只用来整理列表,别无他用。选中里面的一台设备即可查看和编辑它。”表里列的是直接归在这里的设备(子文件夹是树里的行,不是这张表里的行):设备端点(基础 URI)、点位,以及一个打开动作。空的时候:“没有设备直接归在这里。请添加一台,或者从树里移一台进来。”

命令栏

命令 作用 何时置灰(情况) 何时不画出来(角色)
新建设备 在这个文件夹里创建“新设备”并打开它。 有运行占住工作站,运行时已停止,或者正在进行扫描或配对(“添加任何东西之前,请先结束正在进行的扫描或配对。”)。 没有“配置 Connector”权限时。
新建文件夹 在这里创建一个子文件夹并打开它的名称字段。 同上,或者这个文件夹已经在第二层。 没有“配置 Connector”权限时。
重命名文件夹 把文件夹那一行变成名称字段。 有运行占住工作站,或运行时已停止。 没有“配置 Connector”权限时。
移除文件夹(危险色,靠右) 把文件夹里的东西都退回驱动那一级,并撤掉这个文件夹。 同上。 没有“配置 Connector”权限时。

文件夹行上的右键菜单提供同样这四项。

给文件夹重命名

重命名会把里面每一台设备(含子文件夹里的)重新归档,走的是设备重命名所用的那同一套引用改写,然后再挪动文件夹自己的记录;记录条里写着“已把文件夹‘Meters’重命名为‘Utilities’。已更新 4 处引用。”名字在这些情况下被拒绝:留空或含有 /(“文件夹需要一个名字,而名字里不能有‘/’。”);同一层已经有一个同名文件夹(“这里已经有一个叫‘Meters’的文件夹。”:把两个文件夹并成一个属于搬移,必须当作搬移来要求);或者同一层上有一台设备已经占了这个名字映射出来的地址段(“文件夹名‘Pump 1’映射到地址段‘Pump_1’,旁边的设备‘Pump-1’已经在用了。”)。文件夹名不区分大小写地比较,树里显示的是最先见到的那种写法;只改大小写仍然是一次真正的重命名,因为地址变了。

如果里面某台设备挪不动(一处保存失败的待存编辑,一次被拒绝的改写),重命名就在那里停下,并说清走到了哪一步:“重命名文件夹‘Meters’在处理完 5 台设备中的 2 台后停止:……已经移动过的设备留在‘Utilities’里。”

移除一个文件夹

“移除文件夹”会先问一句。空文件夹:“移除文件夹‘Meters’?”。否则:“移除文件夹‘Meters’?它的 3 台设备会退回到 Simulated 下面。什么都不会被删掉;每一处引用都会自动跟上新地址。”里面每一台设备(含子文件夹里的)都通过引用改写回到驱动的本级,文件夹的记录也随之消失:“已移除文件夹‘Meters’。3 台设备回到了驱动本级。已更新 4 处引用。”移除文件夹从不删掉设备。

搬动一台设备

右键点一台设备,打开移动到。子菜单里列着一个新文件夹这里的一个新子文件夹(设备位于第一层时才有),然后隔一条分隔线是归入 <Driver>(设备已经在驱动那一级时置灰)以及那个驱动的每一条现有文件夹路径,设备自己所在的那条除外。搬动会先保存设备上还没保存的编辑,再改写指向它那些点位旧地址的每一处引用,然后报告“已把‘Pump’移入‘Utilities/Meters’;更新了 4 处引用。”或“已把‘Pump’移出它的文件夹。”Modbus RTU 的设备根本不提供“移动到”。不管原件在哪个文件夹里,复制设备总是把副本放在驱动的本级。设备页面上没有文件夹字段:归档是树的命令。

地址里的文件夹

一台归在 Utilities/Meters 下面的设备,它的点位地址是 Connector.<Driver>.Utilities.Meters.<Device>.<Tag>;每一个文件夹段都和其他段一样被规整(不是字母也不是数字的字符变成下划线,开头是数字时前面补一个)。总线标识 <Driver>.<Device>:<Tag> 一个字都不变,所以设备被归档时,内置服务器、一个正在跑的 Process 绑定和一个外部 OPC UA 客户端什么都察觉不到。因为地址就是树里的路径,所以一台设备被搬进一个只有大小写不同的文件夹时,它进的是已经画出来的那个文件夹,而不是又开一个。这两个身份在 Connector 里讲。

树里的文件夹

文件夹那一行显示它的设备数量(“2 台设备”,或者“空”)和一个把它下面每台设备(含子文件夹里的)都汇总进去的健康状态圆点;已禁用的设备是中性的,永远不会把文件夹拉成琥珀色或红色。搜索框会匹配文件夹名称,被命中的文件夹让它下面的一切都保持可见。在“正常”“有问题”“已禁用”这几个筛选项下,只要里面有东西通过,文件夹就画出来;空文件夹只在“全部”下画出来。文件夹在自己的驱动下面排在最前,按名称排序,然后才是归在驱动本级的那些设备。

文件夹不做什么

文件夹没有自己的设置:没有说明,没有图标,没有按文件夹算的轮询或健康状态规则。没有任何东西以文件夹本身为地址;空文件夹不发布任何地址。文件夹不会嵌套超过两层,不在驱动之间共用,Modbus RTU 下面也没有文件夹。