# TCP connection - High Speed Logging

**URL:** <https://forum.inductiveautomation.com/t/tcp-connection-high-speed-logging/55399>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [January 26, 2022, 12:53pm UTC](https://forum.inductiveautomation.com/t/tcp-connection-high-speed-logging/55399 "2022-01-26T12:53:14Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jon\_Forbord](https://avatars.discourse-cdn.com/v4/letter/j/d9b06d/32.png) [@Jon\_Forbord](https://forum.inductiveautomation.com/u/Jon_Forbord)\
**Post date:** [January 26, 2022, 12:53pm UTC](https://forum.inductiveautomation.com/t/tcp-connection-high-speed-logging/55399/1 "2022-01-26T12:53:14Z")

</div>

We are looking at using the TCP-connection for high speed data logging with Ignition. The PLCs are set up to buffer data at 1ms intervals in an array, that is sent every 1 second via TCP to a custom app we’re using to log that data today. It arrives as buffered data with values and timestamps down to milliisecond (microsecond timestamps is also possible). I’m particularly wondering how to ensure that Ignition stores the history with the right timestamps. I’ve successfully done scripts to ingest values using system.tag.writeblocking with fully qualified values, but I’m wondering if there’s a way to format the TCP payload to make this happen natively. Similar to how OPC UA data will be ingested with the OPC timestamp into ignition (and the historian).

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [January 26, 2022, 12:57pm UTC](https://forum.inductiveautomation.com/t/tcp-connection-high-speed-logging/55399/2 "2022-01-26T12:57:09Z")

</div>

When you say “TCP Connection” do you mean the TCP driver?

The only way to get this bulk data into history would be to parse the entire String payload each time it changes and store it yourself using `system.tag.storeTagHistory`.

[https://docs.inductiveautomation.com/display/DOC81/system.tag.storeTagHistory](https://docs.inductiveautomation.com/display/DOC81/system.tag.storeTagHistory)

---

<div class="post-metadata">

**Author:** ![Jon\_Forbord](https://avatars.discourse-cdn.com/v4/letter/j/d9b06d/32.png) [@Jon\_Forbord](https://forum.inductiveautomation.com/u/Jon_Forbord)\
**Post date:** [January 26, 2022, 1:20pm UTC](https://forum.inductiveautomation.com/t/tcp-connection-high-speed-logging/55399/3 "2022-01-26T13:20:06Z")

</div>

Yes, TCP driver 🙂 ok, that’s fine, parsing was my backup-plan anyway. Thanks!

---

<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:** [January 26, 2022, 1:20pm UTC](https://forum.inductiveautomation.com/t/tcp-connection-high-speed-logging/55399/4 "2022-01-26T13:20:43Z")

</div>

You _ **really** _ want to use a connection that won’t mangle byte data. Consider using java’s native socket capabilities to listen for these messages.
