# Writing to Red Lion PLC via Modbus

**URL:** <https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849>\
**Category:** Ignition\
**Tags:** opcua, vision, ignition81, modbus\
**Created:** [September 22, 2025, 7:56pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849 "2025-09-22T19:56:06Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 22, 2025, 7:56pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/1 "2025-09-22T19:56:06Z")

</div>

Hello,

I’m trying to write to a Red Lion EtherTRAK E2 via Modbus in Ignition 8.1. The OPC Item Path starts with HR and I am able to read the tag but not write to it.

Anyone have any experience with this?

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [September 22, 2025, 8:09pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/2 "2025-09-22T20:09:38Z")

</div>

Do you have any security settings configured on the tag?

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 22, 2025, 8:16pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/3 "2025-09-22T20:16:02Z")

</div>

No, everything is public. I have tested both analog and discrete tags with no luck. Unfortunately I’m not well versed with Modbus or Red Lion so I am reaching out to Red Lion for support as well.

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [September 22, 2025, 8:23pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/4 "2025-09-22T20:23:55Z")

</div>

As long as the tag has `Read Only` False, then I can’t imagine why it wouldn’t write if the tags are correctly reading.

Maybe check into this

> [@Red Lion Data Converter DA30D outputs not switching](https://forum.inductiveautomation.com/t/red-lion-data-converter-da30d-outputs-not-switching/93073/9):
>
> I would check the configuration in the RedLion. We typically use them to pass tags directly between devices, but we also typically set them up for one-way communications. It's possible it's rejecting writes to those tags because it simply can't write back depending on the config.

---

<div class="post-metadata">

**Author:** ![David\_Stone](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/david_stone/32/79749_2.png) [@David\_Stone](https://forum.inductiveautomation.com/u/David_Stone)\
**Post date:** [September 23, 2025, 9:05am UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/5 "2025-09-23T09:05:26Z")

</div>

This could also be caused by the ability to read single registers as a single register, regardless of it being part of a multi-register tag, like a 32 bit integer or similar. You can read the integer as two 16 bit integers, but you can very seldom write to only one of those registers by itself, only both at the same time, because the device knows they are part of the same register data type. What settings are you using in the modbus driver, and also can you share the OPC paths you have tried?

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 24, 2025, 12:59pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/6 "2025-09-24T12:59:51Z")

</div>

I set up the Modbus device according to the manual–no settings specific to my project other than the device name and IP address. One specific tag I’m testing with is an Analog Output with address AY300 in Red Lion. The OPC path I am using is [_Device Name_]HR300. I can read the tag but not write to it.

---

<div class="post-metadata">

**Author:** ![Cody\_Morgan](https://avatars.discourse-cdn.com/v4/letter/c/db5fbb/32.png) [@Cody\_Morgan](https://forum.inductiveautomation.com/u/Cody_Morgan)\
**Post date:** [September 24, 2025, 2:33pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/7 "2025-09-24T14:33:06Z")

</div>

What sort of error are you seeing?

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 24, 2025, 3:00pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/8 "2025-09-24T15:00:36Z")

</div>

No errors. The value I enter sits in the numeric entry for about 3 seconds then reverts back to the current value of the tag. I was just using ModScan and Wireshark to test outside of Ignition and am getting similar results, so I suppose this is probably not an Ignition issue.

---

<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:** [September 24, 2025, 5:18pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/9 "2025-09-24T17:18:10Z")

</div>

> [@derek.stoddard](#):
>
> for about 3 seconds then reverts back to the current value of the tag

That is the normal behavior when using "optimistic writes" and the optimism is unfounded.

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 24, 2025, 5:54pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/10 "2025-09-24T17:54:27Z")

</div>

Optimistic writes are disabled.

---

<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:** [September 24, 2025, 7:47pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/11 "2025-09-24T19:47:12Z")

</div>

What happens if you try to write a value in the designer's tag browser?

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 24, 2025, 8:09pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/12 "2025-09-24T20:09:24Z")

</div>

Nothing.

Not sure if you’re familiar with Red Lion, but I’ve discovered that I can write to the tags if I am online with the PLC but have the program stopped in Red Lion Workbench. With the program stopped, I can write from Ignition and see the values change in SixNet Toolkit. I’m assuming this means that the program is overriding any changes I try to make with my writes, but I have no idea why that would be happening or what is causing it.

---

<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:** [September 24, 2025, 8:18pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/13 "2025-09-24T20:18:21Z")

</div>

> [@derek.stoddard](#):
>
> I’m assuming this means that the program is overriding any changes I try to make with my writes

Ooo! That would explain all of your symptoms. You will have to drill into the Crimson (?) software for that unit.

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 24, 2025, 8:37pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/14 "2025-09-24T20:37:53Z")

</div>

Sorry, I’m not sure what you mean…just for clarification, I’m trying to write to virtual I/O processed entirely by the CPU at this point. The configuration for this processor is set up with Sixnet I/O Toolkit, and the actual programming is done with Red Lion Workbench. I think Crimson is for Red Lion’s HMI? This is my first time dealing with Red Lion and I didn’t write the program.

---

<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:** [September 24, 2025, 9:22pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/15 "2025-09-24T21:22:01Z")

</div>

Ah, ok. I thought Crimson covered the DA30D as well, misled by another link. (Been a while.)

Anyways, something on the PLC side overwriting would have exactly your symptoms.

---

<div class="post-metadata">

**Author:** ![Nol](https://avatars.discourse-cdn.com/v4/letter/n/8e8cbc/32.png) [@Nol](https://forum.inductiveautomation.com/u/Nol)\
**Post date:** [September 25, 2025, 7:29pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/16 "2025-09-25T19:29:17Z")

</div>

This works fine for me writing to a Redlion via modbus.

OPC - Float - Item Path: {deviceId}{registerType}{register}

{deviceId} = ns=1;s=[site\_RedlionDA50]

{registerType} = HRF

{register} = 1002

The modbus address in the Redlion for this example is 41002

Edit: In the OPC UA device connection I do have:  
Reverse Word Order - enabled (default: false)

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 29, 2025, 3:21pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/17 "2025-09-29T15:21:57Z")

</div>

Is it necessary to set address configurations for the device in the Gateway? If it isn’t necessary are there benefits to doing it?

---

<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:** [September 29, 2025, 3:43pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/18 "2025-09-29T15:43:45Z")

</div>

> [@derek.stoddard](#):
>
> Is it necessary to set address configurations

No.

> [@derek.stoddard](#):
>
> are there benefits

One: mapped address ranges are **browsable** in Ignition, enabling drag-n-drop to Ignition tags in the designer. Also enabling some debugging with the gateway's Quick Client interface.

But you should limit drag-n-drop in the designer, so I only count the latter as a benefit.

You didn't ask if there are downsides, but note that all error logging in the driver will report problems using the underlying protocol addresses (zero based), not using the mapped aliases, so troubleshooting will be more difficult. Particularly when trying to correlate with external tools like Wireshark.

(My alternate driver doesn't use address mapping, and provides OPC browsing of the native address ranges.)

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [September 29, 2025, 4:02pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/19 "2025-09-29T16:02:39Z")

</div>

@Nol in the Red Lion workbench, Tag1 is labeled as a DINT. In the Sixnet Toolkit it’s labeled as an FOUT. How would you go about addressing this in Ignition?

---

<div class="post-metadata">

**Author:** ![derek.stoddard](https://avatars.discourse-cdn.com/v4/letter/d/7993a0/32.png) [@derek.stoddard](https://forum.inductiveautomation.com/u/derek.stoddard)\
**Post date:** [October 1, 2025, 1:40pm UTC](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849/20 "2025-10-01T13:40:16Z")

</div>

Solution:

I added float addresses 0-5000 to the Gateway and scrolled until I found the tag. It ended up being at address 3577. Maybe somebody with better Modbus understanding can parse that out.

Edit: Looks like it still doesn’t work if I try to map it directly using OPC-Float-[OPC Server]-[Device Path]HRF3577. Any ideas?

[Next page](https://forum.inductiveautomation.com/t/writing-to-red-lion-plc-via-modbus/110849.md?page=2)
