# Modbus TCP - Registers NULL Value - Quality BAD

**URL:** <https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282>\
**Category:** Ignition\
**Tags:** modbus\
**Created:** [June 3, 2024, 12:24pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282 "2024-06-03T12:24:02Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marco\_Ciau](https://avatars.discourse-cdn.com/v4/letter/m/c2a13f/32.png) [@Marco\_Ciau](https://forum.inductiveautomation.com/u/Marco_Ciau)\
**Post date:** [June 3, 2024, 12:24pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/1 "2024-06-03T12:24:02Z")

</div>

Hi, I'm trying to integrate my Modbus TCP Server Device. I've tested it using ModScan32 but I have no success with Ignition.  
My device appears connected but I'm not able to read the registers values using the OPC Quick Client. I've tried different approaches: using and removing '4' prefix for modbus address, using different device Id and registers names, I didn't have luck!

I hope someone can support!

Regards!

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/8/986215e70f0d377c2180968b05ade3647e9b98cc.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/e/e/eef22680ff0062c558ed9660fcd98b793d5ee72d.png)  
 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/6/96925696f53d7f130f4be5cbb0f652d3c37c3ffb.jpeg)

---

<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:** [June 3, 2024, 12:31pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/2 "2024-06-03T12:31:18Z")

</div>

Modscan is polling four registers, but you are trying to poll five registers. Consider **not** using the address mapping feature of the driver (no longer recommended by the IA driver author), but use manually constructed OPC item paths in your Ignition tags.

---

<div class="post-metadata">

**Author:** ![Marco\_Ciau](https://avatars.discourse-cdn.com/v4/letter/m/c2a13f/32.png) [@Marco\_Ciau](https://forum.inductiveautomation.com/u/Marco_Ciau)\
**Post date:** [June 4, 2024, 1:08pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/3 "2024-06-04T13:08:10Z")

</div>

Thank you! I've tried with creating the constructed OPC item but I got the following. I'm missing something or should I try to setting OPC Server, enable firewall? I'm just stuck with this! ☹

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/0/2/02993e07f844418cd35d06e23569be17a9a8a22c.png)

Mi opc tag config:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/1/5/15a3a76a1f396a539592f4755b1d4638a6e64ad5.png)

---

<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:** [June 4, 2024, 1:27pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/4 "2024-06-04T13:27:39Z")

</div>

One screenshot shows `0.HR1`, while the other shows `1.HR1`. Which is it? (I would expect the latter to work.)

If it doesn't, you need to collect some packets with wireshark on the gateway to see if you have any firewall or network issues.

---

<div class="post-metadata">

**Author:** ![Marco\_Ciau](https://avatars.discourse-cdn.com/v4/letter/m/c2a13f/32.png) [@Marco\_Ciau](https://forum.inductiveautomation.com/u/Marco_Ciau)\
**Post date:** [June 4, 2024, 1:33pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/5 "2024-06-04T13:33:26Z")

</div>

Oh I'm sorry. I've updated the wrong screenshot. I've also tried with the following with no success:  
**ns=1;s=[esp\_demo]1.HR1**  
**ns=1;s=[esp\_demo]HR1**

I'm going to do the wireshark test and I'll keep you in the loop!

---

<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:** [June 4, 2024, 1:45pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/6 "2024-06-04T13:45:27Z")

</div>

> [@Marco\_Ciau](#):
>
> `[esp_demo]HR1`

This is equivalent to `[esp_demo]0.HR1` in Ignition's native driver. It defaults to slave unit #0 when the unit is omitted.

---

<div class="post-metadata">

**Author:** ![Marco\_Ciau](https://avatars.discourse-cdn.com/v4/letter/m/c2a13f/32.png) [@Marco\_Ciau](https://forum.inductiveautomation.com/u/Marco_Ciau)\
**Post date:** [June 4, 2024, 2:13pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/7 "2024-06-04T14:13:53Z")

</div>

Ok, I got it.

I've did some Wireshark test, this is the Ignition requests for OPC tag **ns=1;s=[esp\_demo]1.HR1** :

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/4/8/48eb4ed86ba2f879ff22931beb6ab8de2130469e.png)

The response:

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/8/7/87445f0d2d143d628da6a707ea1e94443c0115ce.png)

As you can see, we are reading the reg1 value 101, that's is correct, but why in the Ignition Designer - OPC tag shown **'bad'** value? My PC which running Ignition is connected to WiFi Adapter and not Ethernet, that would be the problem?

---

<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:** [June 4, 2024, 2:15pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/8 "2024-06-04T14:15:54Z")

</div>

No idea. Have you run tag diagnostics? (Upper right of the tag editor.)

---

<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:** [June 4, 2024, 2:17pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/9 "2024-06-04T14:17:08Z")

</div>

> [@Marco\_Ciau](#):
>
> connected to WiFi Adapter and not Ethernet

Not a problem for light loads. Not a good idea for a production system.

---

<div class="post-metadata">

**Author:** ![Jacob\_Leonard](https://avatars.discourse-cdn.com/v4/letter/j/919ad9/32.png) [@Jacob\_Leonard](https://forum.inductiveautomation.com/u/Jacob_Leonard)\
**Post date:** [June 4, 2024, 2:35pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/10 "2024-06-04T14:35:04Z")

</div>

![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/d/9dfe8f1b4f4250d4164d3403fe907c49b86ce0e0.png)  
Under "Status", "Connections", and "Devices" and your device; there is a running log for the connection. What does it say?

---

<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:** [June 4, 2024, 2:44pm UTC](https://forum.inductiveautomation.com/t/modbus-tcp-registers-null-value-quality-bad/91282/11 "2024-06-04T14:44:36Z")

</div>

Have you allowed your trial to expire? (You can keep designing when trial has expired, but most device data flow stops.)
