Bulk Import & Export
Building a plant model one tag at a time does not scale past a demo. QUBIQ imports and exports the whole namespace — folders, tags, bindings and alarm definitions — as a portable document.
The document is portable by design
The import/export document contains no database identifiers:
- A tag is identified by its path and name, not a UUID.
- Connections are referenced by name (
connection_name,storage_connection_name), resolved to the target system's connections on import. - If a connection of that name does not exist on the target, the binding is imported unbound rather than being silently dropped.
The consequence: a namespace exported from a development gateway imports cleanly into production, where the same logical connections have different internal identifiers.
What an item carries
Each item is a folder or a fully-specified tag:
| Group | Fields |
|---|---|
| Identity | name, path (breadcrumbs), is_folder |
| General | data_type, description, unit, enabled, writable, write_level, source |
| Scaling | raw_low, raw_high, eng_low, eng_high, invert_scaling, clamp_scaled |
| Quality | quality_default, deadband, stale_after_ms |
| History | enable_history, store_interval_ms, storage_connection_name |
| Display | format_string |
| Binding | connection name, protocol type, address, polling mode, sampling rate, protocol config |
| Alarms | Full alarm definitions — mode, setpoints, priority, message, deadband, delays, latch, ack |
An export is therefore a complete, faithful backup of the model — not just a list of names.
Importing
Import in the namespace panel (needs Bulk import tags). Supply the document and a target parent node; each item's path
is interpreted relative to that parent, so the same document can be imported into Site1 or
Site2 without editing.
Import is handled by a dedicated service so a large import does not block the interface.
Typical sources
| Source | How |
|---|---|
| A previous QUBIQ export | Direct — this is the round-trip case. |
| A spreadsheet of instrument tags | Transform into the item shape. One row per tag, with the path split into breadcrumbs. |
| A PLC symbol table | Export from the PLC vendor's tool, map columns to properties. |
| An OPC-UA server | Browse the address space and import the discovered nodes. |
| A Sparkplug plant | Sparkplug birth certificates already carry names, types and units — import them directly. |
Before importing
- Create the connections first, with the same names the document references.
- Import into a scratch folder on the first attempt and inspect the result.
- Check data types — a spreadsheet with everything as
floatwill produce booleans that never quite work. - Import in stages for very large models: one area at a time is easier to verify and easier to undo.
After importing
- Look for unbound tags in the binding statistics — usually a connection-name mismatch.
- Spot-check quality on a handful of tags per connection.
- Confirm alarm definitions came across, and that they are enabled on their tags.
Exporting
Export in the namespace panel (needs Export the namespace) exports the tree (or a subtree) as the same document.
Use it for:
| Purpose | Notes |
|---|---|
| Promoting a model from development to production | Combined with matching connection names |
| Version control | The document is text; commit it and diff releases |
| Templating a standard line | Export one line, edit the paths, import as the next |
| Review | Reading 2,000 tags as a document beats clicking through a tree |
For a full-system backup including users, connections and projects, use Backup & restore instead.
Other bulk operations
| Operation | Permission |
|---|---|
| Bulk delete nodes | Delete tags and folders |
| Bulk update nodes | Edit tags and folders |
| Bulk delete tags | Manage tags |
| Copy a subtree | Create tags and folders |
| Move a node | Edit tags and folders |
| Rename a node | Edit tags and folders |
Copy takes flags for what to bring along: children, the tag configuration, the binding. Copying a folder with children and tags but without bindings is the fast way to template a second identical line and then point it at a different PLC.
There is no namespace trash. Export first — an export is a one-request insurance policy against a mis-selected subtree.
Import or UDT?
| Use bulk import | Use a UDT |
|---|---|
| A one-time migration from an existing system | Equipment repeated across the plant |
| Tags from a spreadsheet with no repeating structure | Anything you would copy and edit |
| Bringing in a vendor's supplied tag list | A standard you will change and re-apply later |
They compose well: import the one-off instrumentation, model the repeated equipment as UDTs.