INDUSTRIAL CONNECTIVITY / SCADA RUNTIME

Industrial data,
brought under control.

SyncFlow connects industrial devices to an authoritative real-time runtime: Go at the OPC UA edge, supervised C++ at the fault boundary, and clear value, quality, and timestamp semantics throughout the platform.

From device sessions to operator surfaces, every boundary has an explicit owner.

LIVE PATH / NOMINALBUILD 0.3.3
SOUTHBOUND SIGNAL PATHVALUE + QUALITY + TIME
  1. 01
    OPC UASecure session + subscription
  2. 02
    GO ADAPTERNormalize protocol semantics
  3. 03
    ISOLATED HOSTContain crashes and hangs
  4. 04
    C++ RUNTIMEOwn authoritative state
nsu=plant/LineA/Motor0772.4 HzGOOD14:32:08.412
GOOPC UA client connector
C++20server + supervised host
BOUNDEDqueues, IPC, and recovery
WIN + LINUXcross-platform boundaries

INDUSTRIAL DATA PIPELINE 01—04

Connect at the edge.
Operate with context.

SyncFlow carries each signal through acquisition, isolation, normalization, and runtime delivery—preserving identity, quality, and time along the way.

01

Go OPC UA southbound connector

Endpoint discovery, bounded Browse, monitored-item subscriptions, typed scalar writes, status and source-timestamp mapping, and reconnect recovery.

GOOPC UASUBSCRIPTIONS
02

Fault-contained driver boundary

The authoritative server never loads the Go runtime. External drivers execute behind a supervised C++ host with deadlines, restart budgets, and quarantine.

C++20C ABIPROCESS ISOLATION
03

Protocol-neutral runtime truth

Device identity, typed values, quality, timestamps, and sequencing cross a narrow boundary so history, alarms, UI, and writes remain independent of protocol details.

BOUNDED IPCQUALITYSEQUENCING
04

Northbound OPC UA gateway

A separate C++ sidecar projects normalized SyncFlow data into an OPC UA address space without coupling acquisition to external publication.

OPEN62541SIDECARSECURE MODE

EXTENSIBLE DEVICE CONNECTIVITY

Add protocols without rebuilding the platform.

A versioned driver contract keeps protocol code separate from the SyncFlow runtime. New device integrations can be implemented, described, tested, and deployed as focused driver packages while the Server continues to use the same device and datapoint model.

SIMULATORMODBUS TCPOPC UA CLIENT
01
Implement

Adapt protocol sessions, reads, writes, and discovery to the narrow driver contract.

02
Describe

Declare device types, configuration fields, and capabilities in a package manifest.

03
Validate

Exercise lifecycle, failure, and compatibility behavior through the certification suite.

04
Deploy

Load the driver behind a supervised process boundary without linking it into the core Server.

PRODUCT SURFACES DESIGN + LIVE

Runtime semantics,
made operable.

The connector is only useful when controls engineers can commission signals and operators can understand what the system is doing.

LOGIC WORKBENCH01 / AUTHORING
Transform device data visuallyScale, clamp, combine, compare, and calculate live device values, then expose the resulting signals to symbols and runtime workflows—without writing protocol-specific code.
SYMBOL RUNTIME02 / OPERATIONS
Quality-aware live symbolsReusable process symbols bind to device variables while design controls remain separate from live operation.

Product screenshots show the current local build. Sample HVAC data is simulated.

RUNNING SYSTEM DEVELOPMENT RUNTIME

Two processes. One explicit boundary.

OPC UA SIMULATION ENDPOINT01 / PROTOCOL
Protocol-facing test endpointLocal loopback sessions exercise connection and channel lifecycle. The visible anonymous/None warnings belong to the development profile; secure deployment uses certificate-based configuration.
SYNCFLOW SERVER02 / AUTHORITY
Authoritative runtimeThe C++ server owns project and runtime truth while reporting the hosted external driver as a separate process-level integration.

FAILURE SEMANTICS / INTERACTIVE TRACE

Failure is a state.
Not a surprise.

OT links will drop. Devices will stall. Libraries will hang. The system earns trust by stating what failed, limiting the blast radius, and returning with the right data—not by pretending failure will not happen.

Architecture simulation—no live plant connection.
  1. 01
    LINK LOSS

    Session stops producing samples

  2. 02
    MARK BAD

    Consumers see BadNotConnected—not a plausible stale value

  3. 03
    CONTAIN

    Bounded queues prevent memory growth

  4. 04
    BACK OFF

    Reconnect attempts respect a capped schedule

  5. 05
    RESYNC

    A fresh snapshot repairs any sequence gap

  6. 06
    RESTORE

    Subscriptions resume with explicit quality

DECISION LEDGER WHAT / WHY / COST

BOUNDARY

Keep Go out of the core server

A dedicated host adds IPC and packaging work. In return, protocol-library crashes, hangs, and runtime lifecycles stop at a restartable process boundary.

DATA

Normalize semantics, not devices

The adapter preserves protocol-specific identity while publishing a narrow value / quality / timestamp contract. Higher layers stay protocol-neutral.

RECOVERY

Resync instead of guessing

Queue overflow or a sequence gap invalidates the incomplete delta stream. Consumers request an authoritative snapshot rather than quietly accepting partial state.

SYSTEM FLOW FROM WIRE TO OPERATOR

One platform.
Clear ownership.

Each layer owns one kind of complexity so protocol behavior, runtime truth, and operator experience can evolve independently.

ACQUISITION + CONTAINMENT

Protocol work stays at the edge

The Go adapter owns OPC UA sessions, Browse, subscriptions, writes, and value conversion. A supervised host owns loading, deadlines, restart, and containment.

  • Secure endpoint and session lifecycle
  • Namespace-stable point identity
  • Restart budget and driver quarantine
RUNTIME + OPERATIONS

The server owns operational truth

The C++ runtime turns protocol samples into stable device identity, quality, timestamps, history, alarms, design bindings, and an optional northbound OPC UA projection.

  • Authoritative snapshot and delta stream
  • Quality-aware logic and symbols
  • Read-only northbound OPC UA gateway

RELIABILITY TEST COVERAGE

Built for failure.
Tested for recovery.

TESTED

Go unit and race tests; C++ unit, integration, process, and secure loopback paths covering Browse, subscriptions, writes, certificates, restart, and stream recovery.

BOUNDED

Queue capacity, request deadlines, continuation limits, restart budgets, and failure detail are explicit design inputs—not tuning left for production.

CURRENT TEST ENVIRONMENT

Automated integration uses simulators and secure loopback endpoints. A representative PLC vendor and firmware hardware-in-the-loop matrix is planned as the next product validation stage.

PRODUCT INQUIRIES

Bring SyncFlow
into your operation.

Planning an industrial data integration, evaluating a pilot, or looking for a closer product walkthrough? Contact Hongtao to discuss your devices, protocols, deployment needs, and next steps.

Discuss your use case