Device folders
Folders under a driver: creating, renaming and removing them, filing devices into them, the two-level limit, the folder page, and how a folder becomes a level of the Logic address.
A folder groups devices under one driver in the Communication column, up to two levels deep. On the wire it changes nothing: polling, Process bindings and the public OPC UA namespace never see it. It is, however, a level of the address that Logic and dashboards use, so filing a device is an address change, and the app rewrites every reference for you. Folders exist for every driver except Modbus RTU, whose devices are filed by their serial line instead. Seeing folders takes View connector; every folder command takes Configure connector.
Creating a folder
| Gesture | Where it lands |
|---|---|
| New… > New folder in the column footer | At the driver's own level. With one folder-capable driver enabled it is a single entry; with several, a submenu of "Under <Driver>" entries. |
| New folder on an open folder's bar, or on its right-click menu | Inside that folder, as a second level. Greyed on a second-level folder: "This folder is already as deep as folders nest." |
| Right-click a device > Move to > A new folder | At the driver's level, and the device moves into it in the same gesture. |
| Right-click a device > Move to > A new subfolder here | Offered only for a device already inside a first-level folder; creates the subfolder and moves the device in. |
A new folder is called "New folder" (then "New folder 2", and so on), the branch above it opens, and its row turns into a name field right away: type the name and press Enter to commit; leaving the field keeps the name "New folder". The folder stands there empty until something is filed into it. It is recorded as created, so it survives reloads, the driver being disabled and re-enabled, and the last device leaving it. The action feed reports "Created folder 'New folder'."
The folder page
The header carries the folder's name and, for an empty folder, "A folder organizes the list and nothing else. Add a device here, or move one in from the tree."; otherwise "Groups 3 devices in this tree. A folder organizes the list and nothing else. Select a device inside it to inspect and edit it." The table lists the devices filed directly here (subfolders are rows in the tree, not in this table): Device, Endpoint (the Base URI), Tags, and an Open action. Empty: "No device is filed directly here. Add one, or move one in from the tree."
The command bar
| Command | What it does | Greyed when (situation) | Not drawn when (role) |
|---|---|---|---|
| New device | Creates "New device" inside this folder and opens it. | A run holds the station, the runtime is stopped, or a scan or a pairing is under way ("Finish the scan or the pairing under way before adding anything."). | Without Configure connector. |
| New folder | Creates a subfolder here and opens its name field. | The same, or this folder is already at the second level. | Without Configure connector. |
| Rename folder | Turns the folder's row into a name field. | A run holds the station or the runtime is stopped. | Without Configure connector. |
| Remove folder (danger ink, on the right) | Empties the folder back to the driver's level and withdraws it. | The same. | Without Configure connector. |
The right-click menu on a folder row offers the same four.
Renaming a folder
The rename re-files every device inside, subfolders included, through the same reference rewrite a device rename uses, then moves the folder's own record; the feed reads "Renamed folder 'Meters' to 'Utilities'. 4 references updated." A name is refused when it is blank or contains / ("A folder needs a name, and a name cannot contain '/'."), when a sibling folder already has it ("There is already a folder named 'Meters' here.": merging two folders is a move, and has to be asked for as one), or when a device at the same level owns the address segment the name maps to ("Folder name 'Pump 1' maps to address segment 'Pump_1', already used by device 'Pump-1' beside it."). Folder names compare case-insensitively, and the first spelling seen is the one the tree shows; changing only the case is still a real rename, because the address changes.
If a device inside cannot be moved (a pending edit that fails to save, a refused rewrite), the rename stops there and says how far it got: "Renaming folder 'Meters' stopped after 2 of 5 device(s): … The devices already moved stay in 'Utilities'."
Removing a folder
Remove folder asks first. For an empty folder: "Remove the folder 'Meters'?". Otherwise: "Remove the folder 'Meters'? Its 3 devices move back under Simulated. Nothing is deleted; every reference follows the new addresses automatically." Every device inside, subfolders included, returns to the driver's own level through the reference rewrite, and the folder's record goes with it: "Removed folder 'Meters'. 3 devices returned to the driver's own level. 4 references updated." Removing never deletes a device.
Moving a device
Right-click a device and open Move to. The submenu lists A new folder, A new subfolder here (when the device sits at the first level), then, after a separator, Under <Driver> (greyed when the device is already at the driver's level) and every existing folder path of that driver except the device's own. The move saves any pending edit on the device first, rewrites every reference to its tags' old addresses, and reports "Moved 'Pump' into 'Utilities/Meters'; 4 references updated." or "Moved 'Pump' out of its folder." A Modbus RTU device is offered no Move to at all. Copy device always lands the copy at the driver's own level, whatever folder the original is in. The device page has no folder field: filing is a command of the tree.
The folder in the address
A device filed under Utilities/Meters addresses its tags as Connector.<Driver>.Utilities.Meters.<Device>.<Tag>; each folder segment is sanitized like every other segment (characters that are not letters or digits become underscores, and a leading digit gets one in front). The wire key <Driver>.<Device>:<Tag> stays exactly as it was, so the embedded server, a running Process binding and an external OPC UA client notice nothing when a device is filed. Because the address is the tree path, a device moved into a folder spelled differently only in case joins the folder already drawn rather than opening a second one. The two identities are explained on Connector.
Folders in the tree
A folder row shows its device count ("2 devices", or "empty") and a health dot rolled up from every device below it, subfolders included; a disabled device is neutral and never pulls the folder amber or red. The search box matches folder names, and a matching folder keeps everything under it visible. Under the OK, Issues and Off chips a folder is drawn when something inside passes; an empty folder is drawn only under All. Folders come first under their driver, in name order, before the devices filed at the driver's own level.
What folders do not do
A folder has no settings of its own: no description, no icon, no per-folder polling or health rule. Nothing addresses a folder itself; an empty folder publishes no address. Folders do not nest past two levels, are not shared between drivers, and do not exist under Modbus RTU.