Functional Locations
Concept overview
- FunctionalLocation: a place in the plant/site hierarchy where work happens.
Functional locations provide the structure for where equipment resides and where activities occur.
Design Decision: Asset & Location Hierarchies
Industry Approaches
When modeling the relationship between physical equipment and plant locations, several industry patterns exist:
Option 1: Location-Centric (Pure Functional Location Hierarchy)
Used in some process industries and utility companies where location stability is paramount.
Location Tree:
Site → Unit → Area → Room
Assets are simply "installed at" a location (flat list per location)
Pros: Simple model, locations rarely change, easy to model static plants. Cons: Doesn't capture equipment assemblies (pump contains motor, bearings, seals).
Option 2: Asset-Centric (Pure Asset Hierarchy)
Common in maritime, aviation, and heavy manufacturing where equipment moves between locations.
Asset Tree:
Ship → Engine Room → Main Engine → Cylinder 1 → Piston Assembly
Location is just a property on the asset (or tracked separately)
Pros: Strong bill-of-materials, tracks sub-components well. Cons: Loses plant topology, harder to organize rounds by area.
Option 3: SAP PM / ISO 14224 Pattern (Dual Hierarchy)
The industry standard approach used in SAP Plant Maintenance, Maximo, and aligned with ISO 14224.
Location Tree: Asset Tree:
Site Pump Assembly
├── Unit A ├── Motor
│ ├── Pump Room ├── Bearings
│ └── ... └── Mechanical Seal
Assets have:
- ParentAssetId (for assemblies)
- FunctionalLocationId (where installed)
Pros: Full flexibility, captures both plant structure AND equipment assemblies. Cons: More complex model, requires understanding of both concepts.
Implemented Design
Blueprint implements Option 3: SAP PM / ISO 14224 Pattern with dual hierarchies:
-
FunctionalLocation Hierarchy: Self-referential tree for plant structure
- Site → Unit → Area → Room
- Represents where work happens
-
Asset Hierarchy: Self-referential tree for equipment assemblies
- Pump → Motor → Bearings
- Represents what equipment is maintained
-
Installation Relationship: Asset → FunctionalLocation
- Links equipment to its current location
- Can be null (asset in storage, being repaired, etc.)
- Can change over time as assets move
Rationale
This design was chosen because:
- Industry Standard: Aligns with SAP PM, Maximo, and ISO 14224 (petroleum/natural gas industries reliability data standard)
- Flexibility: Supports both fixed-plant scenarios (paper mill) and mobile-asset scenarios (fleet management)
- Complete Modeling: Captures sub-components (motor in a pump) while maintaining plant organization
- Future-Proof: Enables advanced features like spare parts tracking, equipment history across locations
Alternative Considered: Maritime/Fleet Pattern
For mobile assets (ships, vehicles, aircraft), some systems merge location into the asset hierarchy:
Vessel (Asset + Location)
├── Engine Room (Location within vessel)
│ └── Main Engine (Asset)
This was not chosen for Blueprint because the primary use case is fixed industrial plants, but the model could support this pattern by creating FunctionalLocations that represent areas within mobile assets.
Data Model
Core Fields
- Title (required): Descriptive name for the location.
- ParentFunctionalLocationId (optional): Reference to parent location for hierarchy.
- IDs/keys: Standard unique identifiers (Id, Uuid).
Hierarchy Support
Functional locations support a self-referential hierarchy, enabling:
- Location Trees: Site → Unit → Area → Room
- Parent/Child Navigation: Each location can have one parent and many children
- Unlimited Nesting: No limit on hierarchy depth
Relationships
- Assets → FunctionalLocation: Assets are installed at functional locations
- OperatorRounds → FunctionalLocations: Rounds reference locations for inspection
- FunctionalLocation → FunctionalLocation: Parent/child hierarchy (self-referential)
Usage in Blueprint
- CRUD list for FunctionalLocations with parent column showing hierarchy.
- Forms to add/edit records with optional parent selection dropdown.
- Detail pages showing parent location and child locations.
- Offline support similar to WorkItem and OperatorRounds: create/edit offline, sync later.
Example Functional Locations from Blueprint Paper Mill
To illustrate how functional locations organize a facility, here's the hierarchy at Blueprint Paper Mill, a mid-sized pulp and paper production facility:
Plant Hierarchy
Blueprint Paper Mill (Site)
├── Unit A – Pulping
│ ├── Digester Area
│ ├── Pump Room
│ └── Black Liquor Storage
├── Unit B – Screening & Cleaning
│ ├── Screening Area
│ └── Cleaner Room
├── Unit C – Paper Machine Line
│ ├── Headbox Section
│ ├── Press Section
│ ├── Dryer Section
│ └── Finishing Area
└── Unit D – Utilities
├── Boiler House
├── Compressor Room
├── Cooling Water System
└── Electrical Substation
Functional Location Details
Unit A – Pulping
- Purpose: Converting raw wood chips into pulp through cooking process
- Assets: Digester D-101, Feed Pump P-404, Black Liquor Tank BL-02, various valves and instruments
- Operator Rounds: Morning Shift - Pulping Round (daily), Night Shift - Pulping Check (daily)
- Characteristics: Basement location, poor cellular connectivity, high humidity, steam environment
Unit B – Screening & Cleaning
- Purpose: Removing contaminants and preparing clean pulp for paper machine
- Assets: Screen S-05, Cleaner Pump CP-12, pressure screens, centrifugal cleaners
- Operator Rounds: Screening System Inspection (every 4 hours during production)
- Characteristics: Moderate noise level, good connectivity, access to multiple floors
Unit C – Paper Machine Line
- Purpose: Converting prepared pulp into finished paper through forming, pressing, and drying
- Assets: Headbox HB-01, Dryer Can DC-12, Felt Roll FR-07, Press Section Drive Motor PM-03
- Operator Rounds: Paper Machine Line Inspection (every 2 hours during production)
- Characteristics: Very high noise level, good connectivity, safety equipment required (hearing protection)
Unit D – Utilities
- Purpose: Providing steam, compressed air, cooling water, and electrical power for the mill
- Assets: Steam Boiler B-01, Air Compressor AC-12, Cooling Tower CT-03, transformers, switchgear
- Operator Rounds: Morning Shift - Utilities Round (daily), Utility System Checks (every 8 hours)
- Characteristics: Mix of indoor/outdoor locations, variable connectivity, confined spaces
Why Functional Locations Matter
At Blueprint Paper Mill, functional locations enable:
-
Organized Asset Hierarchy: All assets are assigned to specific locations, making it easy to find equipment (e.g., "Where is Feed Pump P-404?" → "Unit A – Pulping, Pump Room")
-
Round Design: Operator rounds are designed by functional location, creating logical routes (e.g., "Morning Shift - Pulping Round" covers all assets in Unit A)
-
Reporting and Analytics: Metrics can be grouped by location (e.g., "Show me all observations from Unit C this week")
-
Maintenance Planning: Work can be scheduled by area to minimize travel time and coordinate with production schedules
-
Safety and Access: Some locations require special PPE, permits, or training (e.g., confined space entry for Digester Area)
-
Connectivity Planning: Knowing which locations have poor connectivity helps plan offline-first workflows
Example: Assets by Functional Location
| Functional Location | Asset | Asset Type | Inspection Frequency |
|---|---|---|---|
| Unit A – Pulping, Digester Area | Digester D-101 | Continuous Digester | Daily |
| Unit A – Pulping, Pump Room | Feed Pump P-404 | Centrifugal Pump | Daily |
| Unit A – Pulping, Black Liquor Storage | Black Liquor Tank BL-02 | Storage Tank | Daily |
| Unit C – Paper Machine, Dryer Section | Dryer Can DC-12 | Paper Machine Dryer | Every 2 hours |
| Unit C – Paper Machine, Press Section | Felt Roll FR-07 | Rotary Equipment | Every 2 hours |
| Unit D – Utilities, Boiler House | Steam Boiler B-01 | Recovery Boiler | Daily |
| Unit D – Utilities, Compressor Room | Air Compressor AC-12 | Air Compressor | Daily |
For a hands-on guide to setting up functional locations and organizing assets, see the Blueprint Paper Mill Tutorial.
See also:
- Assets - Equipment located at functional locations
- Asset Types - Categories of assets found in different locations