Connect your plant
CAPMAC listens to the numbers your control system already keeps and checks them for trouble. It reads only. It never changes a setting or sends a command.
What you need to know
Read onlyThree steps
- Send the checklist below to your IT team and ask for read-only access.
- Enter the server address and tick the signals to watch.
- Do a test read, then save the site file.
Try the connection steps
This page runs on a recorded answer from a test server, so you can see every step safely.
1. Endpoint and security
Needed only for secure connections. Your IT team will know these.
The server's administrator must trust the CAPMAC client certificate once (move it from "rejected" to "trusted" in the server's certificate store). A password, if the server wants a user name, is typed here and is never saved in the site file.
OPC DA servers (older plants) connect through a standard OPC UA gateway; there is no DA code in CAPMAC. If OPC UA is not allowed, use the file fallback in step 3.
2. Browse
Variables found under the server's Objects folder (the server's own diagnostics are left out). Tick the ones to use.
3. Map tags to units and checks
For each tag choose the unit (machine) it belongs to, the role it plays, its engineering unit, how often to read it, and how old a value may be before CAPMAC refuses it (it never fills a gap with an invented number).
| Node | Tag name | Unit (machine) | Role | Eng. unit | Scan ms | Stale after s | Valid range |
|---|
Checks these tags switch on
Fallback: CSV or historian file instead of OPC UA
Wide CSV (time column, one column per tag, optionaltag.qualitycolumn) or a long historian export (timestamp, tag, value, quality). Bad quality, text and non-numbers are refused and counted, never turned into numbers. Read in this browser only.
Technical details: building systems, software libraries and licences
Building automation: BACnet/IP (read only)
For a building management system, CAPMAC can read BACnet/IP points (present value of analog, binary and multi-state objects). It reads only: it never writes a point, overrides a value or releases one, and the connector has no write call. Write attempts are refused by name and covered by tests. Bad or non-numeric readings are refused, never turned into numbers.
Optional extra:pip install capmac[bacnet], imported only when a live client is built. Library: bacpypes3, MIT licence, shipped unmodified (BAC0 would be LGPL v3). Live BACnet polling is a pilot-site step; the connector is a stub that runs against a supplied test transport in the tests.
4. Test read
Every refusal is in words and the tag turns "not good" on the live dashboard; a downstream check never sees a made-up number. While the link is down CAPMAC keeps trying again after 1, 2, 4 … up to 30 seconds and spools what it has to a local file until the checks can take it (store-and-forward); at the file's size cap the oldest records are dropped and the count is shown.
Technical details: software and licences
· CAPMAC reads only · asyncua (OPC UA client library, optional extra) is LGPL v3+, shipped unmodified