FINS Overview
TheFINS route enables communication with Omron PLCs (CJ, CS, CP, and NJ/NX series) using the FINS (Factory Interface Network Service) protocol. It supports both TCP and UDP transport, multiple memory areas, and bit-level access.
Basic Syntax
Connection Configuration
FINS_CONFIG Parameters
string
required
Target Omron device IP address.
integer
FINS protocol port. Default: 9600.
string
Protocol type:
TCP or UDP. Default: TCP.integer
Local node address (0-255). Default: 0.
integer
Remote node address - target PLC (0-255). Default: 0.
integer
Connection timeout in seconds. Default: 2.
integer
Number of retries for FINS communication. Default: 5.
integer
Polling interval in milliseconds. Default: 200.
Connection Examples
- TCP Connection
- UDP Connection
Standard TCP connection (recommended):
TCP transport for FINS is currently in development. Use UDP for production deployments.
Memory Areas
Omron PLCs organize data in different memory areas:DM (Data Memory) is the most commonly used area for user data. CIO is typically used for I/O and internal relays.
Data Types
TAG Configuration
Complete TAG Example
TAG Parameters
Address Configuration
Address Configuration
string
required
Word address in PLC memory (e.g., 100, 200, 500).
integer
Bit address for bit-specific data types (0-15). Used for BOOL values within a word.
string
Memory area:
CIO, WR, HR, AR, DM, CNT, TIM, EM. Default: DM.string
required
FINS data type: BOOL, BYTE, INT, UINT, DINT, UDINT, LINT, ULINT, REAL, LREAL, ASCII, STRING.
integer
Size of string for STRING types. Default: 256.
Value Transformation
Value Transformation
Filtering
Filtering
Publishing
Publishing
string
required
Topic where PLC values are published. Subscribe here to receive sensor data.
string
Topic to send write commands. Publish a value here to write it to the PLC.
string
Output format:
VALUE_ONLY or JSON. Default: VALUE_ONLY.string
Engineering unit for documentation.
string
Human-readable description.
Write Configuration
Write Configuration
boolean
Allow writing to this address. Default: false.
Addressing Examples
Word Addressing
Access data at word level:Bit Addressing
Access individual bits within a word:32-bit Values
32-bit values span two consecutive words:REAL and DINT types use two consecutive words (e.g., DM200 and DM201).
Event-Based Operations
For on-demand FINS operations (not polling), use the EVENT syntax. Publish a message to SOURCE_TOPIC to trigger the operation; the route executes it and publishes the result to DESTINATION_TOPIC.Supported Operations
Query Parameters
Read Example
Read a REAL value from DM area on demand:Write Example
Write a REAL value to DM area on demand:Complete Examples
- Basic Data Memory Reading
- I/O and Work Areas
- Bit-Level Access
- Timers and Counters
- Bidirectional Control
- Holding Area
- Combined (Cyclic + On-Demand)
Read values from DM area:
Memory Area Details
CIO - Core I/O
CIO - Core I/O
- Used for I/O mapping and internal relays
- Words 0-99: Typically input/output modules
- Words 100-999: Work bits and internal relays
- Addresses are PLC model dependent
DM - Data Memory
DM - Data Memory
- Main user data storage
- Typically DM0-DM32767
- Best for process data, setpoints, configuration
- Retentive (battery-backed)
HR - Holding Area
HR - Holding Area
- Always retentive data
- Survives power cycles
- Use for counters, totals, settings
- Typically HR0-HR511
WR - Work Area
WR - Work Area
- General purpose work bits
- Non-retentive (cleared on power cycle)
- Fast access for temporary data
TIM/CNT - Timers and Counters
TIM/CNT - Timers and Counters
- TIM: Timer present values
- CNT: Counter present values
- Values are 16-bit unsigned
- Timer values often in 0.1s units
Troubleshooting
Connection Failed
Connection Failed
- Verify IP address is correct
- Check firewall allows port 9600
- Ensure PLC Ethernet module is configured
- Try both TCP and UDP protocols
- Verify node addresses match PLC configuration
Node Address Errors
Node Address Errors
- LOCAL_NODE should be unique on the network
- REMOTE_NODE is the target PLC’s node number
- Check PLC’s FINS settings for correct node configuration
- For direct connections, try 0 for both nodes
Memory Address Errors
Memory Address Errors
- Verify address is within valid range for memory type
- Check MEMORY_TYPE matches where data is stored
- For 32-bit types, ensure two consecutive words are available
- BIT_ADDRESS must be 0-15
Timeout Errors
Timeout Errors
- Increase TIMEOUT value
- Check network connectivity
- Verify PLC is in RUN mode
- Reduce POLLING rate if reading many tags
- Try TCP instead of UDP
Write Operations Fail
Write Operations Fail
- Ensure WRITABLE is “true”
- Verify memory area is writable (not AR)
- Check PLC is not in monitor mode
- Verify value is within data type range
Next Steps
Modbus TCP
Universal industrial protocol support.
Industrial Overview
Common patterns for all industrial routes.

