Omron FINS (Factory Interface Network Service) is a network communication protocol developed by OMRON for industrial automation control. Omron FINS has a variety of benefits as it enables seamless communication between Ethernet, control network Controller Link, and RS232C/485 serial communication through FINS commands.
FINS protocol works on the application layer of the TCP/IP model, which ensures its good expandability, practicality, and real-time performance, thus connecting client applications, including HMI, SCADA, Historian, MES, ERP, and countless custom applications with controllers through Omron FINS Ethernet driver.
The FINS protocol has two variants: the FINS/UDP protocol uses UDP packets for communication, and the FINS/TCP protocol uses TCP connections.
FINS Session Process
The FINS session process is based on the TCP/IP protocol. The following diagram describes the role of several data frames at the beginning of the FINS session.
The initiator attaches its node parameters to the request frame during the FINS protocol session. The Server side (e.g., PLCS) will confirm and return its node parameters to the requester. Only FINS over TCP needs session process.
FINS Frame Structure
The FINS frame structure consists of three parts, namely FIN Header, FINS Command Code, and FINS Command Data.
A FINS header stores transfer control information, a FINS command field stores a command, and a FINS parameter/data field stores command parameters and transmission/response data in both command frames and response frames.
The command adds the response code (one byte each for MRES and SRES) at the beginning of the FINS parameter/data field in the response frame.
FINS Response Frame ConfigFINS over UDP consists of two parts: FINS Command Code and FINS Command Data.
FINS Read/Write IO Memory Area
The following table gives the addresses to use when reading or writing PC data.
- The Data area address column gives the normal addresses used in the PC program.
- The addresses used in CV-mode commands and responses (CV-mode command is an alias for FINS command) combine with the memory area codes to specify PC memory locations in the communications column. They are not the same as the actual memory addresses of the data.
- The No. of bytes column specifies the number of bytes to read or write data for that area. The number of bytes varies for the same area depending on the memory area code.
Different PLC CPU models have different memory areas. Take CV500 or CVM1-CPU01-E as an example.
FINS Command List
In the Command Code field column in the table below, each cell represents a byte (two hexadecimal digits). The following table outlines the FINS commands that CV-series PCs support and specifies the PC operating modes during which they are enabled.
Note: When the PC is in RUN mode, data transfers from files to the program area are not possible, but transfers from the program area to files are possible.
Why Bridge FINS to MQTT
With the arrival of the wave of Industry 4.0, there is a growing demand for data intelligence, interconnectivity, and cloud-edge collaboration in the industrial sector. Against this backdrop, the Omron FINS protocol may face some issues despite its benefits.
Firstly, FINS, as an intranet application protocol, was not designed with security in mind, and its communication methods are simple, making it susceptible to hacker attacks and data tampering that could pose a threat to the production environment.
In addition, FINS can only perform one-to-one communication in complex application architectures and cannot effectively support the development of distributed and cloud-native applications.
Compared to FINS, MQTT has significant advantages. IoT applications commonly use MQTT as a lightweight publish-subscribe message transport protocol for remote monitoring and communication.
It provides a simple and flexible way to transfer messages between devices while effectively handling a large number of concurrent connections. It is currently used in various fields such as IoT, mobile internet, smart hardware, connected vehicles, smart cities, remote medicine, power, oil, and energy.
In the IoT field, MQTT is more suitable for message transmission in distributed systems. Therefore, we can bridge FINS to MQTT to complement each other.