# How to create a 5000 element float array in UDT

**URL:** <https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584>\
**Category:** Ignition\
**Created:** [March 17, 2021, 3:46pm UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584 "2021-03-17T15:46:29Z")\
**Posts on this page:** 8\
**Page:** 2

<div class="post-metadata">

**Author:** ![jlandwerlen](https://avatars.discourse-cdn.com/v4/letter/j/bc8723/32.png) [@jlandwerlen](https://forum.inductiveautomation.com/u/jlandwerlen)\
**Post date:** [March 19, 2021, 12:46am UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/21 "2021-03-19T00:46:08Z")

</div>

In highly doubt scan rate is going to be a factor. You can buffer hundreds of tests which is kind of like store and forward in the PLC. Unless you are doing more than 4 tests a second scan is a non issue. If the tests are that fast, which no way they are, use @pturmel module.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [March 19, 2021, 11:16am UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/22 "2021-03-19T11:16:57Z")

</div>

I think before we devolve into a ‘which way is better’ thread, we should discuss the current method so as to properly define the problem. There’s not enough here to move beyond mostly speculation.

How is the data being handled right now? If we could see a sample data set, that would be helpful.

---

<div class="post-metadata">

**Author:** ![jfan](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@jfan](https://forum.inductiveautomation.com/u/jfan)\
**Post date:** [March 19, 2021, 12:26pm UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/24 "2021-03-19T12:26:17Z")

</div>

We currently don’t have a way to handle the data transfer yet and that is why I am trying to resolve this. Thanks for your time!

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [March 19, 2021, 12:28pm UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/25 "2021-03-19T12:28:55Z")

</div>

All right,

How long is each test?  
What is an acceptable sample rate (samples per second)?

---

<div class="post-metadata">

**Author:** ![jfan](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@jfan](https://forum.inductiveautomation.com/u/jfan)\
**Post date:** [March 19, 2021, 12:51pm UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/26 "2021-03-19T12:51:03Z")

</div>

100 ms for sampling rate, and test could be as long as 8 mins which is 5000 data points. From what I have seen, it is usually 300s.

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

---

<div class="post-metadata">

**Author:** ![peter](https://avatars.discourse-cdn.com/v4/letter/p/278dde/32.png) [@peter](https://forum.inductiveautomation.com/u/peter)\
**Post date:** [March 19, 2021, 1:21pm UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/27 "2021-03-19T13:21:06Z")

</div>

Another useful question would be: Is there a time constraint on getting the data from the PLC after a test?

---

<div class="post-metadata">

**Author:** ![jfan](https://avatars.discourse-cdn.com/v4/letter/j/e8c25b/32.png) [@jfan](https://forum.inductiveautomation.com/u/jfan)\
**Post date:** [March 19, 2021, 1:32pm UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/28 "2021-03-19T13:32:56Z")

</div>

1. Do not lock up the SCADA interface
2. Finish writing data before the next test starts

---

<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:** [March 19, 2021, 1:39pm UTC](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584/29 "2021-03-19T13:39:31Z")

</div>

I would use my module to feed the data directly into the DB as it arrives. I would restructure the sample storage in the PLC to be a 5000 element array of a UDT of the five elements. I would pull multiple samples into an I/O buffer for transfer to Ignition, advancing the tail of the FIFO as Ignition acks each buffer-full. I have a customer using a similar approach to collect 25ms samples with a 100ms RPI, and room in the I/O buffer for 10 samples. Usually transmitting 4 at a time, but can catch up rapidly if packets are dropped. Their FIFO can hold about 10 seconds of data.

FWIW, display of such high density data can be a challenge. Which is why I also created my TimeSeriesDBCache module, and added support for it to my NoteChart module.

[Previous page](https://forum.inductiveautomation.com/t/how-to-create-a-5000-element-float-array-in-udt/44584.md?page=1)
