Covers Engine 2.0.0
Overview
Understand configuration, execution, recording, and connections in the Engine.
The Engine is the part of DARTWIC that connects to devices, runs automation, and records what happens. It runs independently of the Interface, so closing a display does not stop the work running on it.
Architecture
The Engine brings together core services, automation, and extensions. Clients connect external applications to those services.
RAPID
RAPID is the Engine’s channel store. Drivers publish measurements, automation reads and writes values, and write authority determines who may control each signal. RAPID also records channel history.
Read Channels and Control for values and authority, and Recording and Telemetry for recording policies and history.
CAESAR
CAESAR runs tasks and loops. It schedules repeated work and manages start, hold, resume, and stop so device acquisition, controllers, and procedures share the same execution lifecycle.
Read Modules and Tasks for lifecycle and configuration, Execution and Timing for scheduling, inline reactions, and the prepared execution path.
ARGUS
ARGUS manages events and text logs. Events give operators conditions or occurrences to follow; logs explain what ran and what happened. ARGUS keeps live event state and records event/log history.
Read Events and Logs for event identity, operator state, and log streams. Diagnostics explains recording backlog and publication loss.
TEMPEST
TEMPEST connects the Engine to Interfaces, clients, and peer nodes. Operations carry requests and responses; telemetry delivers observations such as channel snapshots and event updates.
Read Networking and Peers for the TEMPEST architecture, clients, peers, operations, telemetry, and discovery. Using TEMPEST covers payloads and raw connections.
DCode
DCode is DARTWIC’s automation language. Use it to calculate channel values, run procedures, and react to conditions without building a plugin. The Engine loads scripts from your projects and manages their runtime definitions.
For compiled scripts, Native C++ Execution covers Builder preparation, logs, and troubleshooting.
Start with the DCode overview, then read Runtime Blocks and Activation for how scripts are loaded and replaced, or Tasks for periodic work, sequences, and state machines.
Plugins
Plugins add capabilities such as device drivers, native functions, and custom operator tools. Engine plugins run native code inside the Engine; an accompanying Interface plugin can provide configuration editors and controls.
Read the Plugins overview for the available extension types, Engine Plugin and Interface Plugin for configuration and registration, and Building a Hardware Driver for a complete device integration.
Clients
Clients let external applications read Engine data, send commands, and follow live updates. Use them for analysis scripts, dashboards, and other tools that connect to a running Engine.
The Clients overview helps you choose a library. Networking and Peers explains sessions and permissions; Using TEMPEST covers raw protocol connections.
Data Flow
For example, a device task publishes pressure to a channel, a controller calculates a valve request, and an output task sends it to the device. The guides below explain that path, how to configure it, and how to check its results.
Device → Module / task → Channels → Calculations and event reactions
├─ Commands → Driver → Equipment feedback
├─ Recording → History and saved runs
└─ Telemetry → Interfaces, clients, and peersEngine Guides
Start with the topic that matches the part of the system you are configuring or investigating.
| Topic | Guide |
|---|---|
| Installation, instance, and workspace files | Configuration and Storage |
| Channel values and write authority | Channels and Control |
| Device services and task lifecycle | Modules and Tasks |
| Synchronous work, scheduling, and timing | Execution and Timing |
| Recording policy, history, and retention | Recording and Telemetry |
| Events, operator state, and logs | Events and Logs |
| Client sessions and peer connections | Networking and Peers |
| Runtime diagnostics and troubleshooting | Diagnostics and Troubleshooting |
Advanced Topics
These guides are for applications implementing endpoint discovery or raw network connections. Native builds, execution timing, and recording configuration are covered in the guides above.
| Task | Guide |
|---|---|
| Find Engine addresses before connecting | Network discovery |
| Implement a raw operation and telemetry connection | Using TEMPEST |
Use First Session for installation and the first connection. The operation reference lists the current request and telemetry APIs.