# system.tag.readAsync tag update slow

**URL:** <https://forum.inductiveautomation.com/t/system-tag-readasync-tag-update-slow/30551>\
**Category:** Ignition Early Access\
**Tags:** ignition80, scripting, perspective\
**Created:** [December 9, 2019, 6:44pm UTC](https://forum.inductiveautomation.com/t/system-tag-readasync-tag-update-slow/30551 "2019-12-09T18:44:11Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ecujak](https://avatars.discourse-cdn.com/v4/letter/e/839c29/32.png) [@ecujak](https://forum.inductiveautomation.com/u/ecujak)\
**Post date:** [December 9, 2019, 6:44pm UTC](https://forum.inductiveautomation.com/t/system-tag-readasync-tag-update-slow/30551/1 "2019-12-09T18:44:11Z")

</div>

When using, “system.tag.readAsync(paths, checkValues)”, it is not getting the current value on the device.

When using, “system.tag.writeAsync(paths, myValues)”, the **device and the tag browser** are immediately updated.

How do I force a tag to read a new value.

If I write a value of one tag, another tag changes. The device represents this immediately.

How can I script to update tag-b (immediately) if the value of tag-a a changes?

My wording may be off, please feel free to correct me.

---

<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:** [December 9, 2019, 6:51pm UTC](https://forum.inductiveautomation.com/t/system-tag-readasync-tag-update-slow/30551/2 "2019-12-09T18:51:07Z")

</div>

> [@ecujak](#):
>
> How do I force a tag to read a new value.

You cannot. Left alone (no writes), an OPC tag only gets its data from its OPC subscription. With the timing specified in its tag group. Anything else violates the OPC specification for subscriptions.

It sounds like you really want to use system. **opc**.read\*(), which bypasses subscriptions to get the latest information from the OPC server. But beware, this does _not_ update any tags subscribed to that same OPC item.

---

<div class="post-metadata">

**Author:** ![ecujak](https://avatars.discourse-cdn.com/v4/letter/e/839c29/32.png) [@ecujak](https://forum.inductiveautomation.com/u/ecujak)\
**Post date:** [December 9, 2019, 7:15pm UTC](https://forum.inductiveautomation.com/t/system-tag-readasync-tag-update-slow/30551/3 "2019-12-09T19:15:06Z")

</div>

My scanner class is using direct polling, with no subscriptions. The device is an OPCUA nano profile server. The value returned from the system.tag.read\*() is still an old value. It take about 15-30 seconds to get a new value.(note: my scan is set for 5000ms) Yet the system.tag.write\*() happens in milliseconds. The new values show on the device in milliseconds as well.

😮😲😅 I just got it. I just noticed your **bold** system. **opc**.read\*()…

Thank you sir. I will try this.

---

<div class="post-metadata">

**Author:** ![ecujak](https://avatars.discourse-cdn.com/v4/letter/e/839c29/32.png) [@ecujak](https://forum.inductiveautomation.com/u/ecujak)\
**Post date:** [December 9, 2019, 7:48pm UTC](https://forum.inductiveautomation.com/t/system-tag-readasync-tag-update-slow/30551/5 "2019-12-09T19:48:32Z")

</div>

> [@pturmel](#):
>
> It sounds like you really want to use system. **opc**.read\*()

Thank you

```auto
qValue = system.opc.readValue(“MyServer_008”, “ns=4;i=11”)

#first index of string array.
system.gui.messageBox(str(qValue.value[0]))

```
