DataTS ingest contract
DataTS does not expose REST. It has no listen port and no /live, /ready, or /health. Supervision can see whether the Windows service is running.
The time-series page, the wait step that judges stability, and the observe step that evaluates objectives and constraints all read the time-series store. They do not connect to a DataTS process.
Current kinds
Only opc and dcct are registered. When point tables are scanned, a process file with Driver.time_interval_us is treated as dcct. Otherwise it is opc. An unregistered kind must not start.
| Id | Typical source | Interval key |
|---|---|---|
opc | Subscribe to field OPC | Driver.time_interval_ms (poll interval) |
dcct | Streaming points through ZeroMQ or a similar source | Driver.time_interval_us (sample interval; this key also selects the kind) |
During integration, VirtualPlant writes the store itself. Do not start another DataTS process to write the same paths.
Point rows
Each row is one point. The process reads these identity and address keys: group, system, device, tag, address, and datatype. The scripts key must be present. An empty string means no transform.
These switches decide where the point is written:
| Key | Meaning |
|---|---|
iotdb | Write to IoTDB |
stream | Write to the data stream |
cache | Cache recent values |
subscription | Subscribe to changes |
Process keys
Both kinds need Driver.server (the field address from that site’s point table) and the time-skew threshold Driver.max_allowed_timedelta.
OPC uses Driver.time_interval_ms as the poll interval. DCCT uses Driver.time_interval_us as the sample interval, and also needs Driver.cutoff_min_value, Driver.changes_deadband, and Driver.sub_sample_points.
The IoTDB block needs whether writing is on, the batch interval, whether only changes are stored, and whether a write still happens after a quiet interval. The Redis block must still exist when it is off. Turning it off does not block closed-loop reads of the main store.