> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/workflows/tutorials/integrate-with-ignition/live-data.md).

# Live Data

Send Roboflow Workflow results to Ignition as OPC UA tags, or let Ignition trigger an inspection, so vision drives Ignition tags, scripts, and alarms.

Live data is the latest result of each inspection, as an Ignition tag: a pass or fail, a count, a confidence score. Tags drive Ignition's alarms, scripts, history, and PLC logic. Ignition shares data with PLCs and other systems through OPC UA, an open industrial protocol, and Roboflow speaks it too.

{% hint style="info" %}
The OPC UA Writer Sink, the OPC UA Reader, and the OPC UA Server are available exclusively for Enterprise customers. [Contact the Roboflow sales team](https://roboflow.com/sales) to learn more.
{% endhint %}

{% hint style="info" %}
These steps and screenshots are from Ignition 8.1 (Designer 8.1.55). Menu names, dialogs, and property names can differ in other versions, including 8.3.
{% endhint %}

## Choose a Path

Pick the path that matches who starts the action. You can use more than one on the same device.

![Diagram of the three paths: the device writes to Ignition's OPC UA server, Ignition reads the device's OPC UA Server, and Ignition triggers the device over HTTP](https://1126624165-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FoO0Ceoy9R0lHDZATcPyh%2Fuploads%2Fgit-blob-d0fd66fd5b380946799ec9df2e3932bb95a01ce9%2Fignition-opcua-paths.png?alt=media)

In the first path the device opens the connection to Ignition. In the other two, Ignition opens it to the device.

<table data-search="false"><thead><tr><th>Path</th><th>Use it when</th><th>Who connects</th><th>Port</th></tr></thead><tbody><tr><td><a href="/workflows/tutorials/integrate-with-ignition/live-data/write-results-to-ignition.md">Write Results to Ignition</a></td><td>Vision should start something in Ignition (ex: an alarm, a reject, a counter, a database record)</td><td>The device connects to Ignition's OPC UA server</td><td>62541</td></tr><tr><td><a href="/workflows/tutorials/integrate-with-ignition/live-data/read-the-roboflow-opc-ua-server.md">Read the Roboflow OPC UA Server</a></td><td>Ignition or a PLC should poll tags that live on the device</td><td>Ignition connects to the device's OPC UA Server</td><td>4840</td></tr><tr><td><a href="/workflows/tutorials/integrate-with-ignition/live-data/trigger-an-inspection-from-ignition.md">Trigger an Inspection from Ignition</a></td><td>Ignition decides when to inspect (ex: a part-present sensor, an HMI button, a recipe step)</td><td>Ignition calls the device over HTTP</td><td>8000</td></tr></tbody></table>

## Prerequisites

* An edge device with a camera, managed in [Deployment Manager](https://docs.roboflow.com/deployment/self-hosted/enterprise/deployment-manager). The OPC UA blocks run only on a self-hosted inference server, not on Roboflow's cloud-hosted APIs.
* Ignition with the OPC UA module, and access to the Gateway web page and Designer.
* A network path between the device and the Ignition gateway, on the port of the path you choose.

To pass a value from Ignition into a Workflow that already runs (ex: a `LineRunning` flag), see [Trigger an Inspection from Ignition](/workflows/tutorials/integrate-with-ignition/live-data/trigger-an-inspection-from-ignition.md#pass-a-value-into-a-running-workflow).

To connect Roboflow to other plant systems, see [Enterprise Integrations](/workflows/deploy/enterprise-integrations.md) and the [Enterprise blocks](/workflows/blocks/blocks/enterprise.md), which include MQTT and Modbus TCP.
