Omron FINS communication protocol

Supported device types and versions
Communication line configuration
Station configuration
I/O tag configuration
Literature
Changes and modifications
Document revisions

Supported device types and versions


The FINS protocol (Factory Interface Network Service) implements client (master) communication with Omron PLCs. The FINS/UDP protocol variant based on the UDP protocol (on the TCP/IP-UDP line) as well as the FINS/TCP protocol variant using the TCP protocol (on the TCP/IP-TCP line) are implemented. Read (MEMORY AREA READ) and write (MEMORY AREA WRITE) commands are supported.
Note: it is recommended to use the FINS/UDP protocol variant; FINS/TCP protocol has a higher overhead (16 bytes for each request and response) and is suitable for demanding network environments (firewalls, the need for address translation - NAT, etc.). Not every Omron PLC supports the FINS/TCP protocol variant.

Communication was tested against a CJ-series CJ2M CPU (both FINS/UDP and FINS/TCP protocol variant).

Communication line configuration



Station configuration



Station protocol parameters

Configuration dialog box - tab Parameter.
They influence some optional parameters of the protocol. The following station protocol parameters can be set:

Table 1

ParameterMeaningUnitDefault value
Source Parameters

Section of parameters describing the source address (D2000 KOM process)

Source Network Address (SNA)

This parameter specifies the network address number of the source device (D2000 KOM process). The Source Network Address is sometimes referred to as SNA in Omron FINS documentation.
The valid range is 0 to 127. Actual network numbers can range from 1 to 127. FINS interprets 0 as 'use the local network'; as such, 0 must not be used when data will be routed through gateway PLCs. The default value for network addresses is zero. This is interpreted by FINS as an instruction to use the local network. Actual network numbers can range from 1 to 127. Using zero is convenient if there is only one network level. When using gateway devices, however, specify the actual network number (1–127) to avoid routing ambiguities.
-0

Source Node (SA1)

This parameter specifies the node number of the source device (D2000 KOM process). The Source Node is sometimes referred to as SA1 in Omron FINS documentation. The valid range is 0 to 254. If the destination PLC is configured to use automatic address generation, then this number must be the host number portion of the host computer's IP address.
For example, if the host computer has an IP of 111.222.333.123 and the subnet mask is 255.255.255.000, the source node number should be 123. If the target PLC is configured to use an address table, then the table must have an entry for the host computer's IP. The node number in this table entry must agree with the source node number entered for the driver.
Note: if the line is configured as TCP/IP-TCP (FINS/TCP protocol), it is recommended to use a value of 0, which means that the node number of the source device will be assigned by the PLC during connection establishment.
-254

Source Unit (SA2)

This parameter specifies the number of the Unit at the source device (D2000 KOM process). The Source Unit is sometimes referred to as SA2 in Omron FINS documentation. It is an arbitrary number in range 0-255.-0
Destination ParametersSection of parameters describing the destination address (Omron PLC)

Destination Network Address (DNA)

This parameter specifies the network address number of the destination device. The Destination Network Address is sometimes referred to as DNA in Omron FINS documentation. The valid range is 0 to 127.
Actual network numbers can range from 1 to 127. FINS interprets 0 as use the local network; as such, 0 must not be used when data will be routed through gateway PLCs.
-0

Destination Node (DA1)

This parameter specifies the node number of the destination device. The Destination Node is sometimes referred to as DA1 in Omron FINS documentation. The valid range is 0 to 254.
Note: if the line is configured as TCP/IP-TCP (FINS/TCP protocol), this parameter is not used, as the node number of the destination device will be announced by the PLC during the connection establishment.
-0

Destination Unit (DA2)

This parameter specifies the destination device unit number, which is sometimes referred to as DA2. The valid range is 0 to 255. The default number for DA2 is 0.-0
Other ParametersOther communication parameters

4-byte Endian Mode

The parameter affects the work with 4-byte values ​​(DWORD, LONG, FLOAT), which are read in two consecutive registers. E.g. I/O tag with address DM28,FLOAT will read registers 28 and 29 from DM memory and interpret them as a 4-byte real number. The "4-byte Endian Mode" parameter specifies the order of the registers and bytes in the resulting number.
Meaning of letters and numbers in the parameter value name:

  • The numbers 1, 2, 3 and 4 indicate the byte order in the TCP/UDP packet in the communication (bytes are always received in the order 1,2,3,4, i.e. bytes 1 and 2 form a lower register, bytes 3 and 4 form a higher register).
  • b - register with lower address interpreted as big-endian (i.e. bytes 1,2 where 1st byte is more significant, 2nd byte is less significant)
  • B - register with higher address interpreted as big-endian (i.e. bytes 3,4 with 3rd byte is more significant, 4th byte is less significant)
  • l - register with lower address interpreted as little-endian (i.e. bytes 1,2 where 2nd byte is more significant, 1st byte is less significant)
  • L - register with higher address interpreted as little-endian (i.e. bytes 3.4 with 4th byte is more significant, 3rd byte is less significant)

The order of letters and numbers indicates the order of registers and bytes in the interpretation of the resulting 32-bit number, on the left is the most significant byte/register, on the right the least significant.

  • Bb (3412) - big-endian, 2nd register significant - byte order within the register is big-endian, 2nd register is more significant
  • bB (1234) - classic big-endian - byte order within the register is big-endian, 1. register is more significant
  • Ll (4321) - classic little-endian - byte order within the register is little-endian, 2. register is more significant
  • lL (2143) - little-endian, 1st register significant - byte order within the register is little-endian, 1st register is more significant

For example, if bytes <AA><BB><CC><DD> are received, the Bb (3412) order means that the hexadecimal value CCDDAABB will be interpreted, which in the case of DWORD type is a number 3 437 079 227. The IL (2143) order would mean interpretation as a hexadecimal value of BBAADDCC, which in the case of a DWORD type is a number 3 148 537 292.

Note: 2-Byte values are currently interpreted as big-endian. 

-Bb (3412) - big-endian, 2nd register significant

Data Size

Maximum count of data bytes that are requested in one request. The total size of a response is 14 bytes + Data Size.Byte512

Retry Count

Maximum count of request retries. If no reply returns after a request had been sent, the station will be in the status of a communication error.s2
Retry Timeout
Timeout before resending a request if no reply had not received.s0.1
Wait Timeout
Maximum wait time to receive a response.s0.1
Full debug
Logging of additional debug information about communication.YES/NONO

Note: the configuration of the network parameters for directly connected PLCs was as follows:


I/O tag configuration


Possible types of I/O tag values: Ai, Ao, Di, Do, Ci, Co.

I/O tag address:

In the Omron FINS protocol, the address space is divided into several areas. Work with the following areas is supported:

In each area, there is independent addressing with an address size of 2 bytes, i.e. addresses from 0 to 65535. The actual size of the address space depends on the particular PLC model.
The size of the register in the AR, DM, CIO, HR, WR areas is 2 bytes.

The address of the I/O tag format is <area><offset> [.<bit>] [,<type>] where:

Examples of configuration::



Literature



Changes and modifications


-

Document revisions


Communication protocols