FINS Node
x/finsRead / x/finsWrite component: v0.35.0+ Omron FINS protocol (UDP/TCP) for reading and writing CS/CJ/CP/NJ/NX series PLC memory areas.
Requires: rulego-components-iot (opens new window)
# Page Navigation
- Read: x/finsRead
- Write: x/finsWrite
- Universal acquisition entry: x/iotRead (driver=fins)
- Universal write entry: x/iotWrite (driver=fins)
- To time-series storage: x/tsdbWrite (measurement configured)
# Shared Connection Configuration
| Field | Type | Description | Default |
|---|---|---|---|
| server | string | PLC address IP[:port], FINS default port 9600 | 127.0.0.1:9600 |
| transport | string | Transport: udp / tcp (FINS/TCP with node handshake) | udp |
| network | int | FINS network number (DA1/SA1) | 0 |
| dstNode | int | Destination node number (DA2, PLC FINS node) | 0 |
| srcNode | int | Source node number (SA2, this client's node) | 0 |
| unit | int | Unit address (DA3, CPU unit number) | 0 |
| timeout | int | Request timeout (seconds) | 5 |
| points | array | Default point table; points passed in msg.Data take precedence for write operations | - |
# Point Table Fields
| Field | Description |
|---|---|
| name | Point name |
| addr | FINS memory address (see below) |
| type | Data type |
| scale / offset | Engineering conversion |
| endian | Multi-register byte order: ABCD/CDAB/BADC/DCBA |
Engineering formula: eng = raw * scale + offset. For an offset-only shift set scale=1 explicitly; when scale=0 the result is offset.
All fields support ${msg.xx} / ${metadata.xx} templates.
# Address Format
| Area | Word | Bit | Description |
|---|---|---|---|
| DM | DM100 | DM100.3 | Data memory (also shorthand D100) |
| CIO | CIO100 | CIO10.0 | CPU I/O area |
| WR | WR200 | WR200.5 | Work area (also shorthand W) |
| HR | HR50 | HR50.2 | Holding relay (also shorthand H) |
| AR | AR10 | AR10.7 | Auxiliary relay (also shorthand A) |
# Data Types
BOOL, INT16, UINT16, INT32, UINT32, FLOAT32 (per-point Endian: ABCD/CDAB/BADC/DCBA)
# Read vs Write
- Read: outputs unified
iot_points.Datalist tomsg.Data - Write: consumes point list from
msg.Dataas[{"name","addr","type","value"}] - Routing: success goes to
Success, failure goes toFailure
Edit this page on GitHub (opens new window)
Last Updated: 2026/08/01, 05:05:14