145 lines
3.1 KiB
Markdown
145 lines
3.1 KiB
Markdown
# Functional Requirements: Circuit List Inside a Distribution Board
|
|
|
|
## Scope
|
|
|
|
This specification focuses only on the circuit list inside one distribution board.
|
|
|
|
Out of scope for this document:
|
|
|
|
- project management
|
|
- user accounts
|
|
- permissions
|
|
- full tender export
|
|
- CAD integration
|
|
- full norm-compliant electrical calculation
|
|
- cloud deployment
|
|
|
|
The first goal is a fast, spreadsheet-like editor for creating, editing, sorting and restructuring circuit lists.
|
|
|
|
## Sections
|
|
|
|
The circuit list is grouped into sections.
|
|
|
|
Default sections:
|
|
|
|
| Section | Default prefix |
|
|
|---|---|
|
|
| Lighting | `-1F` |
|
|
| Single-phase circuits | `-2F` |
|
|
| Three-phase circuits | `-3F` |
|
|
|
|
Sections are displayed as separator rows in the table, not as normal visible data columns.
|
|
|
|
Example:
|
|
|
|
```text
|
|
Lighting
|
|
-1F1 Beleuchtung Flur
|
|
-1F2 Beleuchtung Außen
|
|
|
|
Single-phase circuits
|
|
-2F1 Arbeitsplatzsteckdosen Büro
|
|
-2F2 Handtrockner WC
|
|
|
|
Three-phase circuits
|
|
-3F1 Durchlauferhitzer
|
|
```
|
|
|
|
Internally, every circuit belongs to a section. In the UI, the section is shown as a grouping separator.
|
|
|
|
## Future Section Configuration
|
|
|
|
Sections and numbering prefixes should later be configurable per project.
|
|
|
|
Future project configurations may support:
|
|
|
|
- one continuous numbering sequence without lighting/single-phase/three-phase separation
|
|
- numbering grouped by RCD
|
|
- numbering grouped by functional area
|
|
- custom prefixes and suffixes
|
|
- custom section names
|
|
|
|
The first implementation may use the default sections, but the structure must not permanently hardcode them.
|
|
|
|
## Circuit Numbering / Equipment Identifiers
|
|
|
|
Each circuit has an equipment identifier.
|
|
|
|
Examples:
|
|
|
|
- `-1F1`
|
|
- `-1F2`
|
|
- `-2F1`
|
|
- `-2F2`
|
|
- `-3F1`
|
|
|
|
Default convention:
|
|
|
|
- `-1Fx` = lighting circuits
|
|
- `-2Fx` = single-phase circuits
|
|
- `-3Fx` = three-phase circuits
|
|
|
|
When a new circuit is created, the next identifier is calculated as:
|
|
|
|
```text
|
|
highest existing number in the section + 1
|
|
```
|
|
|
|
Example:
|
|
|
|
Existing identifiers in single-phase section:
|
|
|
|
- `-2F1`
|
|
- `-2F2`
|
|
- `-2F5`
|
|
|
|
New circuit receives:
|
|
|
|
- `-2F6`
|
|
|
|
Gaps are not filled automatically.
|
|
|
|
Gaps may be closed only by:
|
|
|
|
- manually editing equipment identifiers
|
|
- explicitly using a renumbering action
|
|
|
|
## Renumbering
|
|
|
|
The app must never automatically renumber existing circuits after:
|
|
|
|
- inserting a circuit
|
|
- deleting a circuit
|
|
- moving a circuit
|
|
- moving a device
|
|
- sorting a section
|
|
- dragging rows
|
|
- changing a device
|
|
- synchronizing a linked project device
|
|
|
|
Renumbering only happens through an explicit user action.
|
|
|
|
Each section has a "Renumber section" action.
|
|
|
|
The renumbering action:
|
|
|
|
- keeps the current visual order
|
|
- updates only circuits in that section
|
|
- ignores device rows for numbering
|
|
- does not affect other sections
|
|
- uses the section prefix
|
|
|
|
## Reserve / Empty Circuits
|
|
|
|
Empty circuits are allowed.
|
|
|
|
An empty circuit may be used as a reserve circuit.
|
|
|
|
If the last device is removed from a circuit, the user may choose:
|
|
|
|
- keep empty circuit as reserve
|
|
- delete circuit completely
|
|
- cancel
|
|
|
|
Reserve circuits remain visible and keep their equipment identifier unless manually changed or explicitly renumbered.
|