设备文件夹

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

以 Markdown 查看

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

新建一个文件夹

手势 落在哪里
栏底的新建… > <Driver> > 新建文件夹 落在驱动的本级。出现在每一个设备可以放进文件夹的已添加驱动下面,也就是除 Modbus RTU 和 MQTT 以外的每一个驱动。
栏底的新建… > <Driver> > <Folder> > 新建子文件夹 在那个文件夹里,作为第二级。只出现在第一级文件夹上。
一个打开着的文件夹的命令栏上、或它右键菜单里的新建文件夹 落在那个文件夹里面,成为第二层。在第二层文件夹上,命令栏里的它置灰(“这个文件夹已经到了文件夹能嵌套的最深一层。”),菜单里也同样置灰。
右键点一台设备 > 移动到 > 一个新文件夹 落在驱动那一级,并且在同一个手势里把设备搬进去。
右键点一台设备 > 移动到 > 这里的一个新子文件夹 只对已经在第一层文件夹里的设备提供;建好子文件夹并把设备搬进去。

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

文件夹页面

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

命令栏

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

页面上

让文件夹那张表长出行的命令在那张表的标题右侧、它所添加的行上方。

命令 位置 作用 何时置灰(情况) 何时不画出来(角色)
新建设备 设备标题右侧。 在这个文件夹里创建“新建设备”,在这张表格里突出显示并滚动到可见处。在 Matter 下面,它改为在驱动页面上打开配对表单,配对的设备归入这个文件夹。 有运行占住工作站,运行时已停止,或者正在进行扫描或配对(“添加任何东西之前,请先结束正在进行的扫描或配对。”)。在 Matter 下面,还有没有可用于配对的网络时(“请先添加设备要加入的网络。”)。 没有“配置 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’移出它所在的文件夹。”串行线路上的设备,不论属于哪个驱动,根本不提供“移动到”。不管原件在哪个文件夹里,复制设备总是把副本放在驱动的本级。设备页面上没有文件夹字段:归档是树的命令。

地址里的文件夹

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

树里的文件夹

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

文件夹不做什么

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