# \[Feedback\] Omron FINS Driver

**URL:** <https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197>\
**Category:** Ignition Early Access\
**Created:** [January 9, 2020, 8:35pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197 "2020-01-09T20:35:45Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [January 9, 2020, 8:35pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/1 "2020-01-09T20:35:45Z")

</div>

Starting in the nightly build available 1/10/2020, code has been added to support Omron FINS devices. This driver does support both UDP and TCP transport protocols. This is a feature that is still being actively developed and there are a few items we are prioritizing, namely a UI to add OPC Nodes to Ignition’s OPC UA server (similar to the Omron NJ functionality).

## Quick Start

### To Connect Ignition to an Omron FINS Device via TCP

1. Go to the **Configure** section of the **Gateway** webpage.
2. Scroll down and select **OPC-UA Server \> Devices**.
3. On the **Devices** page, find the blue arrow and click on **Create new Device**.
4. On the **Add Device Step 1: Choose Type** page, select **Omron FINS/TCP** , and click **Next**.
5. On the **New Device** page, leave all the default values and type in the following fields:
  - Name: **FINS TCP**
  - Hostname: type the IP address, for example 74.125.224.72

6. Click **Create New Device**.

The **Devices** page is displayed showing the **FINS TCP** device is successfully created and added to Ignition.

### To Connect Ignition to an Omron FINS Device via UDP

1. Go to the **Configure** section of the **Gateway** webpage.
2. Scroll down and select **OPC-UA Server \> Devices**.
3. On the **Devices** page, find the blue arrow and click on **Create new Device**.
4. On the **Add Device Step 1: Choose Type** page, select **Omron FINS/UDP** , and click **Next**.
5. On the **New Device** page, leave all the default values and type in the following fields:
  - Name: **FINS UDP**
  - Bind Address: type the IP address of your Gateway, for example 74.125.225.10
  - Remote Address: type the IP address of your Omron FINS device, for example 74.125.224.72
  - Under FINS Settings:
    - FINS Source Node: The last octet of your IP address, for example 10 using the bind address above
    - FINS Destination Network: The address number of your FINS device typically configured in the routing table for your device. The valid range is 0-128
    - FINS Destination Node: The node number of your FINS device. This is typically the last octet of the IP address of the device, for example 72 in the example above
    - Fins Destination Unit: The unit number of your FINS device.

6. Click **Create New Device**.

The **Devices** page is displayed showing the **FINS UDP** device is successfully created and added to Ignition.

## Device Settings

| General | |
| --- | --- |
| **Name** | Device name. |
| **Description** | Device Description. |
| **Enabled** | Default is set to true. |

| Connectivity | | |
| --- | --- | --- |
| **Hostname** | The hostname or IP address of the device. | TCP Only |
| **Port** | The port your Omron Device is listening on. The default is 9600 | TCP Only |
| **Local Address** | Address of network adapter to connect from. | TCP Only |
| **Bind Address** | The hostname or IP address of the Gateway. | UDP Only |
| **Bind Port** | The port you wish to create a UDP connection on for the Gateway. The default is 9600 | UDP Only |
| **Remote Address** | The hostname or IP address of the Device. | UDP Only |
| **Remote Port** | The port your Omron Device is listening on. The default is 9600 | UDP Only |
| **Timeout** | The request timeout, specified in milliseconds. The default is 2,000. | UDP & TCP |

| FINS Settings | | |
| --- | --- | --- |
| **FINS Source Network** | The address number of the source network (the Ignition Gateway) | Valid value is an integer between 0 and 127. The default setting is 0. |
| **FINS Source Node** | The number of the source node (the Ignition Gateway), typically the last octet of the IP address. | Valid value in an integer between 0 and 254. The default setting is 0. |
| **FINS Source Unit** | The unit number of the source device (the Ignition Gateway) | Valid value is an integer between 0 and 255. The default setting is 0 |
| **FINS Destination Network** | The address number of the destination network (the FINS Device) | Valid value is an integer between 0 and 127. The default setting is 0. |
| **FINS Destination Node** | The number of the destination node (the FINS Device), typically the last octet of the IP address and set via dials on the front of the device. | Valid value in an integer between 0 and 254. The default setting is 0. |
| **Fins Destination Unit** | The unit number of the destination device (the FINS Device) | Valid value is an integer between 0 and 255. The default setting is 0 |

| Request Optimization | |
| --- | --- |
| **Concurrent Requests** | The number of requests that Ignition will try to send to the device at the same time. Increasing this number can sometimes help with your request throughput, however increasing this too much can overwhelm the device and hurt communications with the device. |
| **Max Request Size** | The Maximum size of a request in bytes. |
| **Max Gap Size** | The maximum address “gap” to span when optimizing requests to contiguous address locations. |
| **Write Priority Ratio** | The number of write requests to execute for every read request, when an abundance of both are queued for execution. |

## Addressing

Currently all tags must be addressed manually via an Ignition OPC tag in the Ignition Designer. OPC items can be created, but not within the Ignition UI. See **Ignition OPC UA Item Configuration** header for more information.

### Data Areas

| Area | Ignition Code | Omron Symbol Code | Native Size |
| --- | --- | --- | --- |
| CIO Area | CIO | | Int16/UInt16 |
| Work Area | WR or W | W | Int16/UInt16 |
| Holding Bit Area | HR or H | H | Int16/UInt16 |
| Auxiliary Bit Area | AR or A | A | Int16/UInt16 |
| Timer Area | TIM or T | T | Int16/UInt16 or Bool |
| Counter Area | CNT or C | C | Int16/UInt16 or Bool |
| Index Register Area | IR | IR | Int32/UInt32 |
| Data Register Area | DR | DR | Int16/UInt16 |
| DM area | DM or D | D | Int16/UInt16 |
| EM area | EM or Exx | E | Int16/UInt16 |

EM Area: use `EM` for the current bank, or `Exx` for bank `xx`, where `xx` is 2 hex digits. Valid banks are `E00` through `E18` (25 total).

| Data Types | | |
| --- | --- | --- |
| Bit | Bool | Int16 |
| Int32 | Int64 | UInt16 |
| UInt32 | Float | Double |
| String | BCD16 | BCD32 |

### Data Type Modifiers

| Modifier | Order |
| --- | --- |
| @BE | Big Endian Byte Order (default when not specified) |
| @LE | Little Endian Byte Order |
| @HL | High-Low Word Order |
| @LH | Low-High Word Order (default when not specified) |

### Syntax

OPC Item Path resembling:

```
ns=1;s=Area[<DataType>]Offset[.Bit]

```

items in `[]` are optional

Examples:

| Ignition OPC Item Path (OPC UA NodeId) | FINS Request |
| --- | --- |
| CIO0 | An Int16 at offset 0 in CIO area |
| CIO\<Int32\>1 | An Int32 at offset 1 in CIO area |
| CIO\<Int64\>3.0 | Bit 0 of an Int64 at offset 3 in CIO area |
| CIO\<Int64@HL\>3 | An Int64 at offset 3 in CIO area in High-Low word order |
| TIM0 | Present Value (16-bit) of Timer at offset 0 |
| TIM\<Bool\>0 | Completion Status (Bool) of Timer at offset 0 |
| CNT0 | Present Value (16-bit) of Counter at offset 0 |
| CNT\<Bool\>0 | Completion Status (Bool) of Counter at offset 0 |
| DR0 | An Int32 at offset 0 in DR area (32-bit by default) |
| DR\<Int64\>0 | An Int64 at offset in DR area |
| CIO\<Int16[3]\>0 | An Int16 array of size 3 at offset 0 in CIO area |
| CIO\<Int16[3]\>0[1] | Element 1 of an Int16 array of size 3 at offset 0 in CIO area |
| CIO\<String10\>0 | String of up to length 10 (string length in bytes) at offset 0 in CIO area |
| E001000 | An Int16 from EM bank 0 at offset 1000. |
| E00\<Int16\>1000 | Also an Int16 from EM bank 0 at offset 1000, but with the an explicit DataType to make the address look less confusing. |

### Ignition OPC UA Server Node Configuration

As mentioned before, a UI for creating an OPC Nodes in Ignition’s OPC UA server is not currently available. The current method to do this is via a CSV file on the Ignition Gateway itself with the following settings:

- File Name: `tags.csv`
- File Location: `$ignitionHome/data/opcua/devices/$deviceName`
- File Format: Comma separated value file with the following columns:
  - Browse Path
  - Address
  - Description

Example file:

```auto
Tag1, CIO0, A very nice tag indeed.
Foo/Tag2, CIO1, "Not as nice as Tag1, but still okay."
Foo/Bar/Tag3, CIO2, Total rubbish.

```

Use quotes on the description when it contains a comma (or whenever you like).

When adding or making changes to this file, **a restart of the device is necessary for the changes to be picked up**. This is done by editing the device and clicking **Save**

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [January 9, 2020, 8:35pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/2 "2020-01-09T20:35:56Z")

</div>

Pinned on January 9, 2020, 8:35pm UTC



---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 9, 2020, 9:01pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/3 "2020-01-09T21:01:15Z")

</div>

@JordanCClark @GreggCava @GreggCavazos @martinel3746 @Yfactor @harigobu.gb @xasga

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [January 9, 2020, 9:05pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/4 "2020-01-09T21:05:14Z")

</div>

Please don’t use the word “tag” for OPC items. That just makes a confusing mess for all but the most experienced among us.

---

<div class="post-metadata">

**Author:** ![martinel3746](https://avatars.discourse-cdn.com/v4/letter/m/e0b2c6/32.png) [@martinel3746](https://forum.inductiveautomation.com/u/martinel3746)\
**Post date:** [January 10, 2020, 3:50pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/5 "2020-01-10T15:50:50Z")

</div>

Thanks for the update @ggross and @Kevin.Herron.  
I look forward to replacing our Kepware Omron license with the Ignition FINS driver.

---

<div class="post-metadata">

**Author:** ![GreggCavazos](https://avatars.discourse-cdn.com/v4/letter/g/90db22/32.png) [@GreggCavazos](https://forum.inductiveautomation.com/u/GreggCavazos)\
**Post date:** [January 10, 2020, 6:39pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/6 "2020-01-10T18:39:59Z")

</div>

> [@ggross](#):
>
> ### Data Areas
> 
> | Area | Ignition Code | Omron Symbol Code | Native Size |
> | --- | --- | --- | --- |
> | CIO Area | CIO | | Int16/UInt16 |
> | Work Area | WR or W | W | Int16/UInt16 |
> | Holding Bit Area | HR or H | H | Int16/UInt16 |
> | Auxiliary Bit Area | AR or A | A | Int16/UInt16 |
> | Timer Area | TIM or T | T | Int16/UInt16 or Bool |
> | Counter Area | CNT or C | C | Int16/UInt16 or Bool |
> | Index Register Area | IR | IR | Int32/UInt32 |
> | Data Register Area | DR | DR | Int16/UInt16 |
> | DM area | DM or D | D | Int16/UInt16 |

For the data Areas, can we read Ex registers? Eg. E1\_1000 or E01:1000 (as defined in kepware)??

---

<div class="post-metadata">

**Author:** ![ggross](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/ggross/32/12668_2.png) [@ggross](https://forum.inductiveautomation.com/u/ggross)\
**Post date:** [January 10, 2020, 10:13pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/7 "2020-01-10T22:13:11Z")

</div>

@GreggCavazos, Accessing the expansion data memory of a FINS device is not currently possible with the driver. Is this something that would prevent you from being able to use this driver?

Garth

---

<div class="post-metadata">

**Author:** ![edm](https://avatars.discourse-cdn.com/v4/letter/e/f08c70/32.png) [@edm](https://forum.inductiveautomation.com/u/edm)\
**Post date:** [January 13, 2020, 11:30am UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/8 "2020-01-13T11:30:54Z")

</div>

Are there plans to support this driver in Ignition 7.9 as well?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [January 13, 2020, 12:15pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/9 "2020-01-13T12:15:15Z")

</div>

Hi Garth,

For me, expansion data memory is something we use pretty extensively here. I can work around it for now, but it would be great to be able to access it directly. 🙂

---

<div class="post-metadata">

**Author:** ![GreggCavazos](https://avatars.discourse-cdn.com/v4/letter/g/90db22/32.png) [@GreggCavazos](https://forum.inductiveautomation.com/u/GreggCavazos)\
**Post date:** [January 13, 2020, 1:30pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/10 "2020-01-13T13:30:41Z")

</div>

Hello Garth,

90% of the data interfaces we use with CJs comes from E1 registers. That being said, yest that would prevent us from using this driver in almost all our applications.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 13, 2020, 2:07pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/11 "2020-01-13T14:07:11Z")

</div>

No, the driver won’t be backported to 7.9.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 13, 2020, 2:08pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/12 "2020-01-13T14:08:19Z")

</div>

I’ll look into supporting the expansion memory areas. It may not happen before the 8.0.8 release but it should be soon if not.

---

<div class="post-metadata">

**Author:** ![martinel3746](https://avatars.discourse-cdn.com/v4/letter/m/e0b2c6/32.png) [@martinel3746](https://forum.inductiveautomation.com/u/martinel3746)\
**Post date:** [January 14, 2020, 7:28pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/13 "2020-01-14T19:28:34Z")

</div>

Will the Omron FINS Driver be available for 7.9?

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [January 14, 2020, 7:31pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/14 "2020-01-14T19:31:50Z")

</div>

From two posts above. 😉

> [@Kevin.Herron](#):
>
> No, the driver won’t be backported to 7.9.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 15, 2020, 10:14pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/15 "2020-01-15T22:14:44Z")

</div>

Support for the EM areas will be part of tonight’s build.

The byte order modifiers (`@LE` and `@BE`) were also fixed, and can now be used in combination with the word order modifiers.

---

<div class="post-metadata">

**Author:** ![GreggCavazos](https://avatars.discourse-cdn.com/v4/letter/g/90db22/32.png) [@GreggCavazos](https://forum.inductiveautomation.com/u/GreggCavazos)\
**Post date:** [January 15, 2020, 10:57pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/16 "2020-01-15T22:57:30Z")

</div>

Thank you!!

---

<div class="post-metadata">

**Author:** ![BrandonSHill](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/brandonshill/32/6805_2.png) [@BrandonSHill](https://forum.inductiveautomation.com/u/BrandonSHill)\
**Post date:** [January 16, 2020, 3:33pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/17 "2020-01-16T15:33:34Z")

</div>

same. We use them more often than not.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 16, 2020, 3:40pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/18 "2020-01-16T15:40:22Z")

</div>

There’s been a problem publishing nightlies and the last upload was on Jan 10. A new build that contains the previously mentioned changes should be available in the next hour or so.

---

<div class="post-metadata">

**Author:** ![tjcorbin](https://avatars.discourse-cdn.com/v4/letter/t/45deac/32.png) [@tjcorbin](https://forum.inductiveautomation.com/u/tjcorbin)\
**Post date:** [April 6, 2020, 7:08pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/19 "2020-04-06T19:08:42Z")

</div>

Is there a thread for issues with the FINS driver, I am having an intermittent problem which I would like help with. Thanks …

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [April 6, 2020, 7:23pm UTC](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197/20 "2020-04-06T19:23:57Z")

</div>

Go ahead and start a new one.

[Next page](https://forum.inductiveautomation.com/t/feedback-omron-fins-driver/31197.md?page=2)
