# readBlocking, readOPCValues - how long can be path?

**URL:** <https://forum.inductiveautomation.com/t/readblocking-readopcvalues-how-long-can-be-path/69929>\
**Category:** Ignition\
**Tags:** ignition81, scripting\
**Created:** [February 16, 2023, 11:20am UTC](https://forum.inductiveautomation.com/t/readblocking-readopcvalues-how-long-can-be-path/69929 "2023-02-16T11:20:16Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Zbigniew\_Krukowski](https://avatars.discourse-cdn.com/v4/letter/z/a6a055/32.png) [@Zbigniew\_Krukowski](https://forum.inductiveautomation.com/u/Zbigniew_Krukowski)\
**Post date:** [February 16, 2023, 11:20am UTC](https://forum.inductiveautomation.com/t/readblocking-readopcvalues-how-long-can-be-path/69929/1 "2023-02-16T11:20:16Z")

</div>

I use system.tag.readBlocking and system.opc.readValues for bulk read of datas from PLC.  
Inside loop, I generate one long path to be read which is sum of all paths together.  
Then, outside the loop, I make one call for system.tag.readBlocking or system.opc.readValues, which really makes such script much faster, but wonder how many tags or OPC addresses can I make in one call?  
I've already made it with 70 opc addresses read via one call, but I know I will have blocks which are 640 adresses to be read - and wonder if one call can cope with that? If now - how should I share it to make it still working and be sure no datas are lost?

---

<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:** [February 16, 2023, 1:31pm UTC](https://forum.inductiveautomation.com/t/readblocking-readopcvalues-how-long-can-be-path/69929/2 "2023-02-16T13:31:59Z")

</div>

Many thousands. There's no specific limit to how many tag paths or opc items can be in one of these calls. More is usually better, particularly for OPC calls, as the drivers behind those calls generally have to optimize one call at a time.

---

<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:** [February 16, 2023, 1:32pm UTC](https://forum.inductiveautomation.com/t/readblocking-readopcvalues-how-long-can-be-path/69929/3 "2023-02-16T13:32:32Z")

</div>

> [@Zbigniew\_Krukowski](#):
>
> If now - how should I share it to make it still working and be sure no datas are lost?

Check each return value's quality.
