WHY
The data exists. It just cannot be reached.
Everything below solves one problem: the numbers your machine already produces are stuck where nobody can use them.
Trapped on the HMI
The readings live on a screen that only exists beside the machine. Walk away and you know nothing.
History is a CSV
Months of production sit in files on a PC nobody backs up and nobody can query.
You have to be there
Checking whether the line is running means physically going to the plant.
THE SHAPE OF IT
Three steps
There are only three things happening. We receive the data already landing on your server, turn it into a dashboard, and let your people look at it from wherever they are. Everything after this section opens up one of those three.
Where the boundary sits. How the data reaches that server in the first place — the PLC drivers, the tag addresses, the control network — is not in this scope. It already works. We start from the point where the data exists, and we never touch your control system. That single decision is what makes this project fast and low-risk.
STEP 1
Receive
Reading what is already there, checking it makes sense, giving each number a real identity, and keeping it with its history.
1.1 — WHERE IT COMES FROM
Your data will be sitting in one of three shapes and we handle all three: files appearing in a folder, rows added to a table, or an endpoint we can ask.
This is the one genuine blocker. We need the location and a read-only account, the exact format including the decimal separator and text encoding, which field carries the time and in which timezone, which field is which measurement, and how often new data appears. Get the decimal separator wrong and every value is silently a hundred times off. One document and one named owner unblocks everything else.
1.2 — WHAT WE DO TO EVERY VALUE
Read only what is new, never the same thing twice, and never a file still being written. Check that the value is physically possible and the timestamp is plausible — a thermocouple reading −270 °C is a broken sensor, not a cold bearing. Label it from the list you give us, so a raw number becomes bearing oil temperature in °C on a named machine. Store it once, with its history, never overwritten.
Nothing is dropped silently. If we cannot read something, we set it aside with the reason attached and tell someone the same day. A gap in a chart with no explanation is useless six months later when you are trying to work out why a machine failed.
1.3 — FAST SIGNALS
Temperature and pressure change slowly, so we keep every value. Vibration arrives ten thousand times a second, which is a different problem. We compute what a vibration engineer actually reads — overall level, worst spike, and how the energy spreads across frequencies — once per second, and store that.
The arithmetic. Keeping the raw signal for one channel is about 3.5 GB every day. The summary is roughly 5 MB — near 0.15% of it. The raw waveform is not kept continuously, but whenever something crosses a limit we automatically save the actual waveform around that moment, a few seconds either side, so the detail is there when it matters.
1.4 — HOW FAR BACK YOU CAN LOOK
Every single value for the last 7 days, second-by-second for 13 months, minute-by-minute for 5 years. All three are settings, not fixed in the software.
We keep the peaks, not just the average. If a temperature spiked to 200 °C for two seconds, an average over a minute makes it vanish. Storing the highest and lowest value in each period means that spike is still visible in five-year-old data. Most cheap historians keep only averages, which is exactly why their long-range data cannot be used for diagnosis.
STEP 2
Dashboard
Two kinds of data reach the screen two different ways, and the user never has to think about which is which.
The latest value of everything is held in memory and pushed to the screen as it changes — that is what makes live tiles update about once a second with nobody refreshing anything. History lives on disk and is only read when someone opens a chart or changes a date range. That split is why a hundred people watching live tiles puts almost no load on storage.
2.2 — WHAT IT LOOKS LIKE
Status at a glance across the top, the trend in the middle, alarms down the right. Click an alarm and it takes you to the trend at that moment so you can see what led up to it. The same screen works on a laptop, a tablet on the floor, or a phone — there is no separate app to install.
This is a layout, not a finished design. Which tiles, which signals, and what order gets built with your engineers around the machine you actually have.
2.3 — WHY IT STAYS FAST
Five years of data at full detail is hundreds of millions of points — no browser can draw that. So the chart tells the server both the time range and how wide it is in pixels, and the server picks the right level of detail automatically. Either way about 1,500 points come back, because that is roughly all a chart can usefully draw. A five-year view opens as fast as a one-hour view, and the user never chooses a detail level.
STEP 3
User
Same system, one source of truth, three completely different questions.
The manager, at home on a phone, wants to know whether the line is running — ten seconds, then the phone goes down. The engineer is investigating why it tripped at three in the morning and needs trends, alarm history, and the ability to compare signals. Maintenance is standing next to the machine with a tablet asking which bearing. Each person sees only the machines and signals you allow, so a contractor can be given one machine and nothing else.
3.2 — WHAT THEY CAN DO
See it live, look back over any period, put two signals on one chart, open an alarm and jump to what the data was doing, and export a range as CSV. Comparing two signals is often the whole investigation — did the temperature rise before or after the vibration?
Nobody can change anything. No setting on the machine, no starting or stopping. The system only reads. This is not an oversight — it means the dashboard can never cause a machine to do something unexpected, which keeps it entirely outside your safety systems. No risk assessment, no change to your control programs, no liability. If remote control is wanted later it is a separate project with its own safety review, and it should not be mixed into this one.
3.3 — WHEN SOMETHING GOES WRONG
A value crosses a limit and stays across it. An alarm is raised and recorded next to the data, so later you see the alarm and the signal that caused it on one timeline. A message goes out by email, SMS or LINE, and escalates if nobody responds. Whoever acknowledges it is recorded permanently.
A value has to stay bad before it alarms. Without that, a reading sitting right on its limit crosses back and forth hundreds of times an hour. Everyone mutes it within a week, and then a real alarm gets ignored too. These thresholds get tuned with your engineers during commissioning — they cannot be guessed from outside.
3.4 — HOW IT REACHES THEM SAFELY
Your data stays on your server, but people need to see it from outside, and your firewall correctly blocks anything coming in. So your server dials out, the browser dials out, and they meet in the middle. Nothing ever dials in — no port opened, no firewall rule, no VPN client on anyone's phone.
GETTING TO IT
Two ways to reach it online
The dashboard software is identical either way. Only how people reach it changes — which means choosing now costs almost nothing later.
OPTION 1 — VIA CLOUDFLARE
A small connector runs beside the dashboard server and dials out to Cloudflare, opening no port and accepting no incoming connection. Cloudflare gives you a proper address — monitor.yourcompany.com — with a real certificate, so it is plain https in any browser. Your people open it, log in, and see only what they are allowed to see.
Be precise with your IT team about this. Traffic passes through Cloudflare, and Cloudflare decrypts it at its edge in order to route it. It does not store your process data, but it does handle it in transit — do not claim they cannot see it. If a policy forbids any third party in the path, the same architecture runs with a relay we host ourselves instead.
OPTION 2 — REMOTE DESKTOP
A dedicated PC in the plant displays the dashboard full screen and does nothing else. A remote access tool on it dials out, and your people connect and see exactly that screen.
Monitor-only matters here. That PC has no engineering software and no PLC tools — nothing that could touch the machine. Even if someone got into it, there is nothing there to do damage with. It is a screen, not a control station.
The honest limits: normally one person at a time, and a second person joining fights for the same mouse. There are no individual accounts, so you cannot say who looked at what or give one person access to one machine only. On a phone it means pinching around a desktop screen. Commercial use needs a paid licence per seat.
CHOOSING BETWEEN THEM
We recommend Option 1. It is barely more work to set up, costs less to run than per-seat licences, and is the only one giving real accounts and per-person permissions. It also still works when you add a second machine or a second site.
Option 2 is the right call for a pilot, or a single supervisor who just wants to glance at it, or when an IT policy would take months to approve a public web address. It gets you running immediately, and moving to Option 1 later changes nothing about the dashboard itself.
ALL TOGETHER
The full picture
SCOPE
What we build, and what we don't
In
- Reading the raw data already on your server
- Checking, labelling and normalizing every value
- Storage with configurable retention at three levels
- Feature reduction and triggered waveform capture
- Live and historical dashboard
- Alarm rules, notifications and escalation
- Users, roles and per-machine access
- Secure outbound remote access
Out
- Any write-back or remote control of equipment
- PLC drivers and tag discovery — this is upstream
- OEE calculation
- Predictive maintenance and machine learning
- MES or ERP integration
- Guarantees about upstream data quality
Deferred items are natural second-phase additions, precisely because phase one will already own clean history.
TO START
What we need from you
Each item feeds a specific part of the system. The first one is the only genuine blocker — everything else can happen in parallel.
APPENDIX
The pipeline in detail
Step 1 above is a summary. For anyone who wants the engineering detail, this is the same work broken into its eleven actual stages.
STAGE 01 — ACQUIRE
STAGE 02 — PARSE
STAGE 03 — MAP
STAGE 04 — NORMALIZE
STAGE 05 — ROUTE
STAGE 06A — SLOW PATH
STAGE 06B — TRIGGER
STAGE 07 — WRITE
STAGE 08 — ROLL UP
LIFECYCLE
FAILURE HANDLING