RPD Vaktari Measure reads the CSV files that a Visitri vision system writes while it inspects parts, and turns them into the statistics you need to decide whether the process is under control: percentage out of tolerance, capability, control charts, Pareto of defects and a full report you can print or hand over.
It does not measure anything and it does not touch the machine. It only reads a folder. If the program is stopped, production carries on exactly the same; you simply stop seeing the statistics until you start it again.
Copy the program folder anywhere on the PC — C:\RPD-Vaktari\Measurement analysis is the usual place — and open start_vaktari_measure.bat in a text editor to set the folder you want watched:
set CARPETA=C:\STATS\Vaktari
set PORT=8760
CARPETA is the folder where the measurement program leaves its CSV files. PORT only needs changing if another program is already using 8760. One instance of the program watches one folder; if you have two folders, run two copies on two different ports.
log_vaktari.log instead. This is the one for day-to-day use — put a shortcut to it in the Startup folder and it comes up with the PC.Once it is running, open http://localhost:8760 in the browser. From another PC on the same network, use the server PC's address instead, for example http://192.168.1.40:8760.
Everything above the tabs decides which data you are looking at. Everything below it is calculated from that selection.
* means every lot in the range.This is the shop-floor screen. It shows the last window that arrived and nothing else, so it answers one question: is what the machine is producing right now any good?
On each characteristic tile:
Not everything that is checked is measured. A thread is either there or it is not; a mark is either readable or it is not. These checks have no nominal and no tolerance — the CSV carries NA where the nominal would be — and the verdict comes from the Status field: 5 means the part passed, anything else means it failed.
They are shown apart from the measured characteristics because there is nothing to average: an attribute has no mean, no σ and no Cpk. A pass/fail check has no distribution.
When the vision tool cannot find what it is looking for, it writes −1 instead of a measurement. The same happens when one measurement depends on another and the first one failed.
These are counted separately and deliberately kept out of everything else. A −1 is not a bad measurement: it is no measurement at all. Averaging it in would drag the mean down by eleven millimetres and make the statistics meaningless, and calling it out of tolerance would blame the process for something the camera did.
Both charts rank the characteristics that are causing scrap. They look alike and they answer different questions, so it is worth being clear about which is which.
This is the classic one: what fails most often. The cumulative line is calculated over the total number of defects, so it always closes at 100 %.
This one answers the question that actually matters on the shop floor: what do I fix to save the most parts? A part can fail several characteristics at once, and fixing just one of them does not save it. This chart counts only the parts that fail that characteristic and nothing else — the parts a single correction would genuinely bring back.
The live tab shows one window. This tab puts the whole selected range together and is where you look when you want to know how the shift went, not how the last part came out.
The control limits are not the tolerance. They are what the process does when it is left alone. A point outside them, or a run of points on one side, means something changed — even if every part is still inside tolerance. That is the whole point of a control chart: it warns you before you make scrap, not after.
One row per day, with the hours of the day across it, and a coloured block wherever a reference was being verified. It answers « what did we check on Tuesday, and when did we change over? » without opening anything.
To the right of the legend is the View switch. Detail draws the runs of each camera separately: when two cameras verify the same lot at the same time their files alternate, and you get one block per file, as in the figure above. Grouped joins them into a single block per reference, with every camera and every lot inside. A block is only split when the reference changes or when more than 30 minutes pass without a file, so long stops remain visible.
The chosen view is remembered in this browser and only changes the drawing: the summary at the top, the figures for each day and the totals table are the same in both views. A run that goes past midnight is drawn up to 24:00 on the row of the day it started.
Click any block and that reference and lot are loaded into the other tabs. It is the quickest way into a particular run: find it on the timeline, click, and go to the full report. In Grouped view, a block with a single lot and a single camera selects them; if it holds more, the reference is opened with all its lots and the camera you had selected is kept.
Everything about the current selection, laid out to be printed and handed over — to a customer, to an audit, or into the lot file. The browser's print command turns it into a PDF.
The report also carries the summary table per characteristic, the correlations between characteristics, the attribute and not-found sections, both Pareto charts, and a written conclusion.
The CSV exports use the same separator and decimal mark as the files that came in, so they open cleanly in a Spanish or Catalan Excel without a conversion step.
If more than one vision system writes into the watched folder, their files arrive mixed together. The VIS field in the CSV says which camera a measurement came from, and the Camera selector in the top bar picks the one you are analysing.
Each camera numbers its parts from 1 and restarts whenever it feels like it. Part 7 on camera 1 and part 7 on camera 2 are not the same part, and the program never assumes they are. Parts are matched by number only inside a single window.
Cameras also do not always take the same number of photographs: they run on time, and if something happens one of them skips a cycle. So one file can hold more parts than another from the same minutes. That is normal and the program expects it.
If a part is missing a measurement inside its own window, it is left out of the conformity count rather than guessed at, and the report says how many parts that affected.
LSL = nominal + tol− and USL = nominal + tol⁺, taken from the CSV itself.Cp = (USL − LSL) / 6σ.Cp and Cpk are calculated on σw, the within-subgroup spread: what the process can do when nothing moves. Pp and Ppk use the global σ, which also contains every drift and every setting change over the range.
So a good Cpk with a poor Ppk is a clear message: the machine is capable, but it is moving. Look for the drift — tool wear, a temperature effect, an operator correcting between lots — rather than at the machine's precision.
Status are the machine's own verdict. They are kept out of the dimensional statistics and shown separately, so the machine's opinion never contaminates the measurements. For attribute characteristics the Status field is the verdict — see section 05.The banners at the top of the live tab are ordered by severity. The thresholds are set on the command line and these are the defaults:
| Banner | Fires when | Default |
|---|---|---|
| Out of tolerance | Too many parts outside the limits in this window | over 10 % |
| Warning | Fewer, but more than you would want | over 2 % |
| Mean shift | The mean moved between one window and the next | off by default |
| Control chart | A point outside the control limits, or 2 of 3 beyond 2σ | always on |
| Not found | Too many −1 measurements | over 1 % warning, over 5 % alarm |
| Machine status | The machine itself flagged measurements as NOK | any |
The two to act on first are mean shift and control chart. Both can fire while every single part is still inside tolerance, which is exactly when a correction is cheap. By the time the out-of-tolerance banner is red you are already making scrap.
To change a threshold, edit the start-up file. For example, to warn at 5 % and alarm on a mean shift of 15 µm:
vaktari_measure.py --dir "%CARPETA%" --port %PORT% ^
--pct-out-warn 5 --delta-mu-um 15
Inside the program folder there is a hist folder. That is the database. The CSV files in the watched folder are only the inbox.
hist and the CSV is no longer needed. You can archive or delete the watched folder's files without losing a single statistic. Moving them into a subfolder is better than deleting them, in case you ever need the raw data back.hist and you lose the history. The program would rebuild only what the CSV files it can still see contain — so if those have been archived too, that data is gone. Back up hist along with the rest of the PC.The history folder can be moved somewhere else with --state, which is useful if you would rather keep it on a network drive that is backed up.
The program is not running. Start it with the visible .bat and read what it prints, or open log_vaktari.log. The usual causes are Python not being installed and the port already being in use.
Another copy is already running — open the dashboard, it is probably there. If not, run STOP_vaktari_measure.bat and start again, or change PORT in the start-up file.
Check that CARPETA points at the right folder and that there really are CSV files in it. The top bar shows the folder being watched and the time of the last scan. Also check the range: the selection may be on today while the data is from yesterday — a banner tells you when there is data outside the range, with a button to jump to it.
The VIS field is missing or empty in that camera's files. The top bar shows the variables it found. If the field is not being written, it has to be fixed in the measurement program's output configuration.
Check the lot selector. With * you are looking at several lots at once, and a setting change between them widens σ and sinks Cpk. Pick a single lot and compare.
It is an attribute: a pass/fail check with no nominal, so there is nothing to average. See section 05.
Only the first time on a folder with a lot of history. The dashboard is usable while the scan runs. If every start is slow, the watched folder probably holds years of files — archive the old ones into a subfolder; the history keeps their data.