Skip to content

Commit 7d38f25

Browse files
committed
create draft blog for working with flow software
1 parent 3e5aa32 commit 7d38f25

1 file changed

Lines changed: 368 additions & 0 deletions

File tree

Lines changed: 368 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,368 @@
1+
---
2+
title: "From Edge to Analytics: Understanding the Industrial Data Stack"
3+
date: 2025-12-29 16:00:00
4+
categories: [Industry 4.0, Learning]
5+
tags: [flow-software, timebase, pi-af, highbyte, industrial-automation, iiot]
6+
description: "A hands-on comparison of PI Asset Framework, Timebase, and Flow Software—building a complete data pipeline from Ignition to enterprise analytics"
7+
toc: true
8+
mermaid: true
9+
---
10+
11+
## Introduction
12+
13+
Raw tag data from a PLC is useless to a plant manager.
14+
15+
That statement might sound harsh, but it's true. A tag named `Compressor_01.Discharge_Pressure` with a value of `127.3` means nothing without context. What unit? Is that good or bad? How does it relate to the compressor's health? What about the other 500 tags in the system?
16+
17+
As a SCADA developer expanding into data architecture, I kept hearing the same platforms mentioned: PI Asset Framework, HighByte, Flow Software, Litmus. But I couldn't articulate *when* to use each one or *why* they exist in different layers of the stack.
18+
19+
So I'm building something. Using Ignition's Dairy Simulator as my data source, I'm implementing a complete data pipeline from edge collection through analytics using Timebase and Flow Software. This post documents my learning journey—starting with Flow's training and certification program, then moving to hands-on implementation.
20+
21+
## Background & Context
22+
23+
The industrial data challenge is simple to state but difficult to solve: **data is collected at the edge, but value is created higher up.**
24+
25+
PLCs and sensors generate millions of data points. SCADA systems display them. But turning that raw data into actionable insights—OEE calculations, predictive maintenance alerts, energy optimization—requires something more.
26+
27+
That "something more" is the modern industrial data stack:
28+
29+
```mermaid
30+
graph TB
31+
Enterprise[Enterprise Analytics / BI<br/>Flow Software, PI AF]
32+
Historian[Historian / Time-Series Storage<br/>Timebase, PI Data Archive]
33+
Context[Data Contextualization<br/>HighByte, Litmus]
34+
SCADA[SCADA / Edge<br/>Ignition]
35+
Field[PLCs / Sensors<br/>Field Devices]
36+
37+
Field --> SCADA
38+
SCADA --> Historian
39+
SCADA -.-> Context
40+
Context -.-> Enterprise
41+
Historian --> Enterprise
42+
43+
style Enterprise fill:#cce5ff,stroke:#0066cc,stroke-width:2px,color:#000
44+
style Historian fill:#ffcccc,stroke:#cc0000,stroke-width:2px,color:#000
45+
style Context fill:#f5f5f5,stroke:#999,stroke-width:2px,stroke-dasharray:5 5,color:#666
46+
style SCADA fill:#ccffcc,stroke:#00cc00,stroke-width:2px,color:#000
47+
style Field fill:#f0f0f0,stroke:#666,stroke-width:1px,color:#000
48+
```
49+
50+
*Solid lines: The stack I built (Ignition → Timebase → Flow)*
51+
*Dashed lines: Optional contextualization layer (HighByte, Litmus)*
52+
53+
Each layer has a job. Understanding those jobs—and which tools belong where—is the key insight from this project.
54+
55+
> This post covers three platforms hands-on: Ignition (data collection), Timebase (historian with native Ignition integration), and Flow Software (analytics). I'll also discuss PI Asset Framework as the enterprise benchmark and HighByte as an optional contextualization layer.
56+
57+
---
58+
59+
## The Stack I Built
60+
61+
For this project, I kept the architecture simple:
62+
63+
```
64+
Ignition (Dairy Simulator) → Timebase (Historian) → Flow (Analytics)
65+
```
66+
67+
This mirrors the PI ecosystem structure (PI Interfaces → PI Data Archive → PI AF) but with modern, Ignition-native tools. No middleware, no message brokers, no contextualization layer—just a clean path from SCADA to analytics.
68+
69+
Why skip the contextualization layer? For many deployments, **Flow Software handles both contextualization AND analytics**. It builds asset hierarchies, creates templates, and adds ISA-95 structure. You don't always need a separate tool like HighByte—though there are cases where it makes sense (more on that later).
70+
71+
---
72+
73+
## PI Asset Framework: The Enterprise Benchmark
74+
75+
You can't understand the modern industrial data landscape without understanding PI Asset Framework. It's the dominant enterprise platform with 40+ years of OSIsoft heritage (now AVEVA).
76+
77+
### What PI AF Does
78+
79+
PI AF sits on top of the PI Data Archive (historian) and adds a context layer. Instead of just storing `Tag_123 = 127.3`, PI AF lets you say "This is the discharge pressure of Compressor 01, which is part of the Refrigeration system, which is in Building A."
80+
81+
**Core concepts:**
82+
83+
- **Asset Hierarchy:** Elements organized in parent-child relationships (Site → Area → Line → Equipment)
84+
- **Templates:** Reusable asset definitions (like UDTs, but for assets)
85+
- **Attributes:** Static data (nameplate info), dynamic data (linked to tags), and calculated data (formulas)
86+
- **Event Frames:** Capturing process events, batches, and state changes
87+
88+
### Why PI AF Matters
89+
90+
Even if you never use PI AF directly, understanding it helps you:
91+
92+
1. **Communicate with clients** who have existing PI installations
93+
2. **Position modern alternatives** like Flow Software
94+
3. **Understand asset modeling concepts** that appear in every industrial data platform
95+
96+
### PI AF Limitations
97+
98+
PI AF's dominance comes with tradeoffs:
99+
100+
- **Licensing costs:** Per-user fees add up quickly
101+
- **Deployment complexity:** On-premises infrastructure requirements
102+
- **Separate visualization:** PI Vision is a separate product
103+
- **Legacy architecture:** Not cloud-native or Docker-friendly
104+
105+
These limitations created the market opportunity for modern alternatives.
106+
107+
---
108+
109+
## Timebase: The Historian with Native Ignition Integration
110+
111+
Before data can be analyzed, it needs to be stored. That's where historians come in. Timebase is Flow Software's historian, and it has something that sets it apart: **native Ignition integration via a gateway module**.
112+
113+
### Where Timebase Fits
114+
115+
In the PI ecosystem, you have PI Data Archive (historian) + PI AF (context/analytics). In the Flow ecosystem, you have Timebase (historian) + Flow Information Hub (context/analytics).
116+
117+
```
118+
Ignition Tags → Timebase Module → Timebase Historian → Flow Information Hub
119+
```
120+
121+
The Timebase Module for Ignition acts as both a **Storage Provider** and **Tag History Provider**. This means Ignition treats Timebase like any other historian—you enable history on tags, and data flows automatically.
122+
123+
### Why Native Ignition Integration Matters
124+
125+
Most historians require additional configuration: OPC connections, data bridges, or custom scripting. The Timebase Ignition module eliminates this complexity.
126+
127+
**Key features:**
128+
129+
- **Automatic dataset creation:** When you enable history on a tag, Timebase creates the corresponding dataset automatically based on your Tag Provider structure
130+
- **Multi-gateway support:** Prefix datasets to prevent naming conflicts when multiple Ignition gateways share the same Tag Provider names
131+
- **Native retrieval:** Historical data is available directly in Perspective and Vision projects through standard Tag History bindings
132+
- **Deadband and sampling respect:** Ignition's configured deadbands and sampling rules are applied before logging—you're not storing redundant data
133+
134+
### Hands-On: Dairy Simulator with Timebase
135+
136+
Setting up Timebase with the Dairy Simulator was straightforward:
137+
138+
**Step 1: Install the Module**
139+
140+
Downloaded the free Timebase Module from Flow Software and installed it through Ignition's Gateway interface. Gateway restart required.
141+
142+
**Step 2: Configure Connection**
143+
144+
Pointed the module at my Timebase instance (default port 4511 for HTTP, 4512 for HTTPS). For production, you'd configure authentication through Timebase Pulse with Client ID and Secret.
145+
146+
**Step 3: Enable Tag History**
147+
148+
On the Dairy Simulator tags I wanted to historize (compressor pressures, tank levels, motor currents), I simply changed the History Provider from the default to Timebase. That's it.
149+
150+
**Step 4: Verify Data Flow**
151+
152+
Within minutes, I could query historical data in Perspective using standard Tag History bindings. The datasets appeared automatically in Timebase, named after my Tag Provider structure.
153+
154+
### Key Takeaway
155+
156+
Timebase solves the historian problem for Ignition-centric environments. No OPC bridges, no custom scripting—just install the module and enable history on your tags. The data flows to Timebase and becomes available to Flow for analytics.
157+
158+
---
159+
160+
## Flow Software Information Hub: The Analytics Platform
161+
162+
Flow Software competes directly with PI Asset Framework. It's a full analytics platform: asset modeling, KPI calculations, dashboards, and enterprise integration.
163+
164+
### Flow vs. PI AF
165+
166+
| Capability | PI Asset Framework | Flow Software |
167+
|------------|-------------------|---------------|
168+
| Asset Hierarchy |||
169+
| Templates |||
170+
| KPI Calculations |||
171+
| Event Detection | ✓ (Event Frames) | ✓ (Events) |
172+
| Visualization | Separate (PI Vision) | Built-in dashboards |
173+
| User Licensing | Per-user fees | Unlimited users |
174+
| Deployment | On-prem heavy | Cloud-native / Docker |
175+
| AI Integration | Limited | AI Gateway |
176+
| Native Ignition Historian || ✓ (Timebase Module) |
177+
178+
The unlimited user licensing alone makes Flow attractive for organizations where PI Vision seat costs have become prohibitive. And the native Ignition integration through Timebase simplifies the entire data pipeline.
179+
180+
### The 5-Step Workflow
181+
182+
Flow organizes its functionality into five steps:
183+
184+
1. **Model:** Build asset hierarchy with templates and instances
185+
2. **Connect:** Link to data sources (OPC UA, MQTT, Sparkplug B, Timebase)
186+
3. **Transform:** Calculate KPIs, aggregations, and derived values
187+
4. **Visualize:** Build dashboards with charts, gauges, and tables
188+
5. **Bridge:** Output to external systems (cloud, databases, APIs)
189+
190+
### Hands-On: Dairy Simulator in Flow
191+
192+
With Timebase already collecting historical data from the Dairy Simulator, connecting Flow was straightforward.
193+
194+
**Asset Model:**
195+
196+
Created an ISA-95 hierarchy for the dairy plant:
197+
198+
```
199+
Dairy_Plant (Enterprise)
200+
└── Main_Facility (Site)
201+
├── Refrigeration (Area)
202+
│ ├── Compressor_01
203+
│ ├── Compressor_02
204+
│ └── Chiller_Tank_01
205+
└── Processing (Area)
206+
├── Pasteurizer_01
207+
└── Storage_Tank_01
208+
```
209+
210+
Built templates for reusable equipment definitions:
211+
- Compressor Template (discharge pressure, suction pressure, running status, current)
212+
- Tank Template (level, temperature, pressure)
213+
- Motor Template (running, speed, current draw)
214+
215+
**Data Connection:**
216+
217+
Connected Flow directly to Timebase. The historical data collected through the Ignition module was immediately available for analysis—no additional configuration needed.
218+
219+
**KPI Calculations:**
220+
221+
Defined calculated fields that update automatically:
222+
- **Compressor Runtime Hours:** Accumulated running time
223+
- **Tank Fill Percentage:** Current level / max capacity
224+
- **Refrigeration Efficiency:** Output BTU / input kW
225+
226+
**Dashboard:**
227+
228+
Built an operational overview showing:
229+
- Compressor status cards (running/stopped, current load)
230+
- Tank level trends over 24 hours
231+
- KPI summary with threshold indicators
232+
233+
The entire process—from raw Ignition tags to executive dashboard—took an afternoon. Compare that to a PI AF + PI Vision deployment.
234+
235+
---
236+
237+
## What About HighByte? (The Contextualization Layer)
238+
239+
You might be wondering why I didn't include HighByte in my hands-on stack. The answer: **Flow Software already handles contextualization**.
240+
241+
HighByte Intelligence Hub is a dedicated data contextualization platform. It sits between your SCADA system and analytics platforms, transforming raw tag data into clean, structured payloads. It's similar to Litmus and Crosser.
242+
243+
**HighByte's core concepts:**
244+
- **Types:** Data model definitions (like UDTs for data payloads)
245+
- **Instances:** Actual assets created from types
246+
- **Flows:** Pipelines that transform and route data
247+
- **ISA-95 Structure:** Hierarchical organization of assets
248+
249+
### When You Need HighByte (or Similar)
250+
251+
HighByte makes sense when:
252+
253+
- **Multiple downstream consumers:** You're feeding data to Flow AND cloud platforms AND a UNS broker simultaneously
254+
- **Edge-heavy architecture:** You need contextualization at the edge before data leaves the site
255+
- **Unified Namespace (UNS):** You're building a Sparkplug B architecture with structured MQTT topics
256+
- **Non-Ignition sources:** You're aggregating data from multiple SCADA systems or protocols
257+
258+
### When Flow Is Enough
259+
260+
For many deployments, Flow handles both jobs:
261+
262+
- **Single analytics platform:** Flow is your only downstream consumer
263+
- **Timebase as historian:** Data flows directly from Ignition → Timebase → Flow
264+
- **Simpler architecture:** Fewer moving parts to maintain and troubleshoot
265+
266+
My Dairy Simulator project fell into the second category. Flow's built-in asset modeling, templates, and ISA-95 hierarchy covered everything I needed.
267+
268+
---
269+
270+
## Complete Integration Architecture
271+
272+
Here's the stack I built:
273+
274+
```mermaid
275+
graph TB
276+
subgraph Analytics ["FLOW SOFTWARE (Analyze & Visualize)"]
277+
FM[Asset Model / ISA-95]
278+
FK[KPI Calculations]
279+
FD[Dashboards]
280+
FA[AI Gateway]
281+
end
282+
283+
subgraph Storage ["TIMEBASE (Store & Retrieve)"]
284+
TH[Time-Series Storage]
285+
TR[Historical Retrieval]
286+
end
287+
288+
subgraph Edge ["IGNITION SCADA (Collect Data)"]
289+
DS[Dairy Simulator]
290+
TP[Tag Provider]
291+
TM[Timebase Module]
292+
end
293+
294+
DS --> TP
295+
TP --> TM
296+
TM --> TH
297+
TH --> TR
298+
TR --> FM
299+
FM --> FK
300+
FK --> FD
301+
FD --> FA
302+
303+
style Analytics fill:#cce5ff,stroke:#0066cc,stroke-width:2px,color:#000
304+
style Storage fill:#ffcccc,stroke:#cc0000,stroke-width:2px,color:#000
305+
style Edge fill:#ccffcc,stroke:#00cc00,stroke-width:2px,color:#000
306+
```
307+
308+
**Each layer has a distinct responsibility:**
309+
310+
| Layer | Tool | Responsibility |
311+
|-------|------|----------------|
312+
| Collection | Ignition | Read PLC data, expose tags |
313+
| Storage | Timebase | Store time-series data via native module |
314+
| Analytics | Flow | Model assets, calculate KPIs, visualize |
315+
316+
### Platform Comparison Summary
317+
318+
| Platform | Category | Similar To | When to Use |
319+
|----------|----------|------------|-------------|
320+
| Timebase | Historian | PI Data Archive, Canary | Native Ignition historian, feeding Flow |
321+
| Flow Software | Analytics | PI Asset Framework | KPIs, dashboards, asset modeling |
322+
| HighByte | Contextualization | Litmus, Crosser | Multi-consumer, UNS, edge transformation |
323+
324+
---
325+
326+
## Summary & Lessons Learned
327+
328+
This project clarified how industrial data platforms fit together. The key insight: **you don't always need every layer in the stack.**
329+
330+
**Three takeaways:**
331+
332+
1. **Timebase + Flow is a complete PI alternative.** The native Ignition module eliminates historian complexity. Flow handles contextualization AND analytics. For Ignition-centric deployments, this combination covers most use cases.
333+
334+
2. **Flow ≈ PI AF (enterprise analytics).** It's a full analytics platform competing with the industry incumbent. Unlimited user licensing, modern deployment options, and native Timebase integration are key differentiators.
335+
336+
3. **HighByte is optional, not required.** Dedicated contextualization tools like HighByte make sense for multi-consumer architectures and UNS deployments. But if Flow is your only analytics platform, it handles asset modeling natively.
337+
338+
Understanding PI Asset Framework—even without using it directly—provides context for positioning modern alternatives. When a client asks "How does this compare to PI?", you need an answer.
339+
340+
**Skills developed:**
341+
- ISA-95 asset modeling (practical application)
342+
- Historian integration with Ignition
343+
- KPI definition and calculation
344+
- Industrial analytics platform evaluation
345+
346+
For solution architects evaluating industrial data platforms, start simple. Ignition → Timebase → Flow covers most requirements. Add contextualization layers like HighByte when the architecture demands it.
347+
348+
---
349+
350+
## Resources & Links
351+
352+
**Platform Documentation:**
353+
- [Flow Software Information Hub](https://flowsoftware.com/)
354+
- [Timebase Module for Ignition](https://timebase.flow-software.com/en/knowledge-base/timebase-module-for-ignition)
355+
- [HighByte Intelligence Hub](https://highbyte.com/)
356+
- [AVEVA PI System](https://www.aveva.com/en/products/aveva-pi-system/)
357+
358+
**Training:**
359+
- [Flow Software Training](https://www.flow-software.com/training) - Free online courses, Flow Core Certification, and Advanced Certification
360+
361+
**Standards:**
362+
- [ISA-95 Overview](https://www.isa.org/standards-and-publications/isa-standards/isa-95-enterprise-control-system-integration)
363+
364+
**Data Source:**
365+
- [Ignition by Inductive Automation](https://inductiveautomation.com/)
366+
367+
**Writing Framework:**
368+
- [The Algorithmic Framework for Writing Good Technical Articles](https://www.theocharis.dev/blog/algorithmic-framework-for-writing-technical-articles/)

0 commit comments

Comments
 (0)