# Ignition & Logix Best Practice Tips for better communications

**URL:** <https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386>\
**Category:** Ignition\
**Tags:** rockwell\
**Created:** [June 5, 2022, 11:46pm UTC](https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386 "2022-06-05T23:46:38Z")\
**Posts on this page:** 1\
**Showing post:** 25

<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 18, 2023, 12:42pm UTC](https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386/25 "2023-12-18T12:42:37Z")

</div>

> [@y.parashchuk](#):
>
> best way to group data inside PLC

UDTs are very good for performance. Arrays of UDTs are especially good. With some constraints. I recommend you read the topics linked above, because they have a great deal of information about how this stuff works. The best summary is probably this one:

> [@How does the Logix driver divide the tags into request counts](https://forum.inductiveautomation.com/t/how-does-the-logix-driver-divide-the-tags-into-request-counts/67902/2):
>
> Optimization is per-tag. The services uses to make requests work, at most, per-tag. (Including aliases as tags.) Each service grabs contiguous bytes from the PLC's tag storage and deliver for decoding in Ignition. Where unambiguous, and no tag or member permissions problems interfere, and not an AOI, structures can be read in bulk. Saving much time on both ends. So too with arrays of structures. Many small services can be bundled into a larger (composite) service, which further reduces th…

Most importantly, for any given base tag in the controller (a controller tag, or a program tag, at the top level), use only _ **one** _ subscription pace. Optimization can only occur for OPC items that are part of the same tag, and at the same pace.

Things that are less important to your operation, and can operate at slower paces, should be in a completely separate tag hierarchy, preferably another array of UDTs.

If you must use AOI tags, and cannot do any InOut parameters nor tweak AOI locals into a nested UDT, you probably want to use my alternate driver.

---

_[View the full topic](https://forum.inductiveautomation.com/t/ignition-logix-best-practice-tips-for-better-communications/60386)._
