Skip to main content
Version: 2.4.0

Omron FINS Nodes

Read and write Omron CV, CS/CJ, CP, and NJ/NX series PLCs directly from pipelines using FINS/UDP. Each function type authored on an Omron connection is available as a matching node in the Pipeline Designer.

For connection setup, memory-area reference, and per-function configuration fields, see the Omron FINS connection guide.

Configuration Quick Reference

FieldWhat you chooseDetails
ParametersConnection, Function, Function Parameters, Timeout OverrideSelect the Omron connection profile, pick a function, bind parameters with expression support, and optionally override the timeout.
SettingsDescription, Timeout (seconds), Retry on Timeout, Retry on Fail, On ErrorNode description, maximum execution time, retry behaviour on timeout or failure, and error strategy. All execution settings default to pipeline-level values.

Omron Read node configuration

Omron Read Node

Omron Read Node

Read one or more typed data points from Omron PLC memory in a single call. Contiguous same-area word points are automatically coalesced into minimal FINS frames to reduce round-trips.

Supported Function Type:

Function NamePurposeCommon Use Cases
Read Memory Points (omron.read)Fetch one or more typed data pointsProcess variables, recipes, batch data acquisition, status flags

Node Configuration

ParameterTypeRequiredDescription
ConnectionSelectionYesOmron connection profile to use
FunctionSelectionYesomron.read function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (dataPoints array). See the Omron connection functions for the full data-point field reference.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

All function parameters support expression syntax ({{ expression }}) and template placeholders (((paramName))) for dynamic values.

Input

The node receives the output of the previous node as input. Input data can be referenced in function parameter expressions using $input.

Output Structure

On success the node produces:

{
"success": true,
"functionId": "<function-id>",
"data": {
"results": {
"zone_temp": {
"values": [72.5],
"dataType": "Real",
"memoryArea": "DM",
"address": 100,
"count": 1
},
"setpoint": {
"values": [1024],
"dataType": "Word",
"memoryArea": "DM",
"address": 102,
"count": 1
},
"fan_running": {
"values": [true],
"dataType": "Bit",
"memoryArea": "CIO",
"address": 50,
"count": 1
}
}
},
"durationMs": 38,
"timestamp": "2026-04-21T08:30:00Z"
}
FieldTypeDescription
successbooleantrue when the function executed without errors
functionIdstringID of the executed function
data.resultsobjectMap keyed by data point name — every point configured in the function appears here
durationMsnumberExecution time in milliseconds
timestampstringISO 8601 / RFC 3339 UTC timestamp

Each data point entry contains:

FieldTypeDescription
valuesarrayDecoded values. Always an array — scalar types (Word/DWord/Real/Bit) return a single-element array; String and Bytes return a one-entry array containing the full blob.
dataTypestringEchoes the configured data type (Bit, Word, DWord, Real, Bytes, String).
memoryAreastringEchoes the configured memory area (CIO, WR, HR, AR, DM, EM, TIM_CT_PV, TIM_CT_FLAG, TASK_STATUS).
addressnumberEchoes the starting word address.
countnumberEchoes the configured count.

Access pattern in downstream nodes:

{{ $node["Omron Read"].data.results.zone_temp.values[0] }}
{{ $node["Omron Read"].data.results.fan_running.values[0] }}
Per-point errors

If a single data point fails (e.g. a decode error, or a per-point FINS end code), that point's entry contains error, category, and optionally endCode fields instead of values. Other data points in the same call still return successfully, and the node itself reports success: true.

Read Coalescing

Contiguous same-area points (within the same memory area and EM bank) are merged into a single FINS read frame. Points separated by a gap of 4 words or less are still merged — it's cheaper than a second round-trip. Bit reads are not merged with word reads because they use a different FINS frame shape.


Omron Write node configuration

Omron Write Node

Omron Write Node

Write a single value or a contiguous run of values to a writable Omron memory area. Read-only areas (AR 0..447, TIM_CT_FLAG, TASK_STATUS) are rejected client-side before the request hits the wire.

Supported Function Type:

Function NamePurposeCommon Use Cases
Write Memory (omron.write)Write a typed value or contiguous run of valuesSetpoints, recipe download, ASCII labels, bulk register updates

Node Configuration

ParameterTypeRequiredDescription
ConnectionSelectionYesOmron connection profile to use
FunctionSelectionYesomron.write function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (memoryArea, address, dataType, values, bitOffset?, emBank?). See the Omron connection functions for field-level details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

All function parameters support expression syntax ({{ expression }}) and template placeholders (((paramName))).

Input

The node receives the output of the previous node as input. Use expressions like {{ $input.payload.setpoint }} to pass dynamic values into values.

Output Structure

On success:

{
"success": true,
"functionId": "<function-id>",
"data": {
"memoryArea": "DM",
"address": 200,
"dataType": "Real",
"written": 1,
"timestamp": "2026-04-21T08:30:00Z"
},
"durationMs": 12,
"timestamp": "2026-04-21T08:30:00Z"
}
FieldTypeDescription
data.memoryAreastringEchoes the target memory area
data.addressnumberEchoes the starting word address
data.dataTypestringEchoes the data type
data.writtennumberNumber of units written (length of the values array)
data.timestampstringISO 8601 / RFC 3339 UTC timestamp of the write
Safety First

Always validate values in a condition node before writing to industrial equipment. Use parameter type/default/required settings to enforce ranges. For single bits, prefer the Omron Bit Control node — it's atomic at the PLC, so it won't clobber neighbouring bits in the same word.


Omron Bit Control node configuration

Omron Bit Control Node

Omron Bit Control Node

Atomically set, reset, or toggle a single bit on the PLC via Omron's Force Set/Reset FINS commands. Safer than a full-word write because no other bits in the same word are touched.

Supported Function Type:

Function NamePurposeCommon Use Cases
Bit Control (omron.bit.control)Set / Reset / Toggle a single bitStart/stop flags, alarm latch reset, test indicators

Node Configuration

ParameterTypeRequiredDescription
ConnectionSelectionYesOmron connection profile to use
FunctionSelectionYesomron.bit.control function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (memoryArea, address, bitOffset, action, emBank?). See the Omron connection functions.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Input

The node receives the output of the previous node as input. Bind action via a placeholder (((bitAction))) if you want to drive Set vs Reset from an upstream decision.

Output Structure

On success:

{
"success": true,
"functionId": "<function-id>",
"data": {
"memoryArea": "CIO",
"address": 100,
"bitOffset": 3,
"action": "Set",
"timestamp": "2026-04-21T08:30:00Z"
},
"durationMs": 9,
"timestamp": "2026-04-21T08:30:00Z"
}
FieldTypeDescription
data.memoryAreastringEchoes the target area
data.addressnumberEchoes the word address
data.bitOffsetnumberEchoes the bit position (0–15)
data.actionstringEchoes the action (Set / Reset / Toggle)
data.timestampstringISO 8601 / RFC 3339 UTC timestamp
Atomicity

Set and Reset use Omron's Force Set/Reset commands and are atomic at the PLC. Toggle is implemented as read-modify-write — if another writer updates the same word between the read and the write, the toggle may overwrite that change. Prefer Set/Reset whenever possible.


Omron Read Clock node configuration

Omron Read Clock Node

Omron Read Clock Node

Read the PLC's internal real-time clock. It takes no parameters, is the cheapest possible FINS frame, and doubles as a lightweight connectivity probe.

Supported Function Type:

Function NamePurposeCommon Use Cases
Read PLC Clock (omron.read.clock)Fetch the PLC clock valueLog PLC time, drift monitoring, lightweight health check

Node Configuration

ParameterTypeRequiredDescription
ConnectionSelectionYesOmron connection profile to use
FunctionSelectionYesomron.read.clock function from the selected connection
Timeout OverrideNumber (seconds)NoOverride the default function timeout

The function itself has no parameters.

Output Structure

On success:

{
"success": true,
"functionId": "<function-id>",
"data": {
"timestamp": "2026-04-21T08:30:42Z",
"dayOfWeek": 2
},
"durationMs": 6,
"timestamp": "2026-04-21T08:30:42Z"
}
FieldTypeDescription
data.timestampstringPLC clock value as ISO 8601 / RFC 3339 UTC
data.dayOfWeeknumberPLC-reported day of week (0 = Sunday, 1 = Monday, …, 6 = Saturday)

Memory Areas

Omron memory areas that the connector recognises:

AreaNameReadableWritableBit-addressable
CIOCore I/OYesYesYes
WRWork AreaYesYesYes
HRHolding Relay (retentive)YesYesYes
ARAuxiliary RelayYes0..447 read-only; 448+ writableYes
DMData MemoryYesYesYes
EMExpansion Memory (bank required, 0–12)YesYesYes
TIM_CT_PVTimer/Counter present valueYesYesNo (word only)
TIM_CT_FLAGTimer/Counter completion flagYesNo (read-only)Yes (bit only)
TASK_STATUSTask statusYesNo (read-only)No (word only)

Supported Data Types

Data TypeWords on Wire (per unit)Value Shape
Bit— (bit frame)boolean
Word1unsigned 16-bit integer (0–65535)
DWord2 (low word first)unsigned 32-bit integer
Real2 (low word first)IEEE 754 single-precision float
Bytes⌈N/2⌉single raw byte array (one blob)
String⌈N/2⌉single ASCII string (one blob)

See the Omron connection guide for detailed semantics and per-type examples.


Settings Tab

All Omron node types share the same Settings tab:

SettingTypeDefaultDescription
DescriptionTextOptional description displayed on the node
Timeout (seconds)NumberPipeline defaultMaximum time the node may run before timing out
Retry on TimeoutTogglePipeline defaultAutomatically retry the node if it times out
Retry on FailTogglePipeline defaultAutomatically retry the node if it fails
On ErrorSelectionPipeline defaultError strategy: stop the pipeline, continue to the next node, or follow the error output path

When left at their defaults, these settings inherit from the pipeline-level execution configuration.

Test before wiring

Use the Test button in the function form (on the connection page) to validate every Omron function against the live PLC before wiring it into a pipeline. It's the fastest way to catch wrong addresses, wrong data types, or routing mistakes.