# TCP Drive tag access

**URL:** <https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791>\
**Category:** Ignition\
**Created:** [December 12, 2025, 4:36pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791 "2025-12-12T16:36:41Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![asmith](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@asmith](https://forum.inductiveautomation.com/u/asmith)\
**Post date:** [December 12, 2025, 4:36pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791/1 "2025-12-12T16:36:41Z")

</div>

First off I am brand new to the Ignition platform and struggling. What I am trying to accomplish is write a string tag to a TCP server using the TCP driver gateway. I have successfully created the gateway and when cycling the enable, disable I verified the connection is working. The problem I am having is for the life of me I can’t figure out how to send the data to the device. Any and all information would be greatly apricated.

---

<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:** [December 12, 2025, 4:40pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791/2 "2025-12-12T16:40:20Z")

</div>

Enable the "Writeable" setting, then write to the new tag that will be available: [UDP and TCP Driver | Ignition User Manual](https://docs.inductiveautomation.com/docs/8.3/ignition-modules/opc-ua/opc-ua-drivers/udp-and-tcp-driver#writing)

I'd take a step back and tell us about the TCP server and what the protocol/conversation looks like, because more often than not the TCP driver is not a good fit, and you should be using scripting for the comms instead.

---

<div class="post-metadata">

**Author:** ![asmith](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@asmith](https://forum.inductiveautomation.com/u/asmith)\
**Post date:** [December 12, 2025, 4:48pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791/3 "2025-12-12T16:48:07Z")

</div>

Yes, I have enabled the Writeable setting.

The process is, sending a string \02Telegram Type=Job\nJob ID=1\nRecipe Name=Standard Recipe\nProduct Serial Number=0815abc\03 to the device, this starts a process and then will send a result of the test performed. I have performed this successfully with a Allen Bradley PLC using socket comms, there is just so much information returning we thought that ignition could handle it better.

---

<div class="post-metadata">

**Author:** ![code\_skin](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@code\_skin](https://forum.inductiveautomation.com/u/code_skin)\
**Post date:** [December 12, 2025, 4:53pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791/4 "2025-12-12T16:53:58Z")

</div>

Have you visited [https://inductiveuniversity.com](https://inductiveuniversity.com) to learn more about Ignition and its capabilities?

You could benefit lots from the OPC-UA module to connect to PLCs and expose tags to read/write.

Some good starting videos relating to just that:

> **[Connecting to Logix v21+ Video at Inductive University](https://inductiveuniversity.com/videos/connecting-to-logix-v21/8.3)**
>
> Learn how to connect to Allen-Bradley Logix devices using firmware version 21 or higher.

> **[Creating OPC Tags Video at Inductive University](https://inductiveuniversity.com/videos/creating-opc-tags/8.3)**
>
> OPC Tags are the main tool you'll use to interact with device data in Ignition. Learn how OPC Tags are created in this lesson.

---

<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:** [December 12, 2025, 5:04pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791/5 "2025-12-12T17:04:13Z")

</div>

The TCP driver is meant to receive simple and regular input from things like barcode scanners or scales.

> [@asmith](#):
>
> and then will send a result of the test performed.

This is the most important part. If every single message that will be received from the device can't be parsed by the simple set of message delimiting options, e.g. "every message ends with \r\n", that's where you'll have trouble using the driver instead of a script.

---

<div class="post-metadata">

**Author:** ![asmith](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@asmith](https://forum.inductiveautomation.com/u/asmith)\
**Post date:** [December 12, 2025, 5:41pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791/6 "2025-12-12T17:41:23Z")

</div>

Ok, I’m not opposed to using script if it will be more suitable for the process. I have use structed text on several different processors, but I have never worked with python. Is there any examples you might have, I would just need to open socket, send, close socket.

---

<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 12, 2025, 5:47pm UTC](https://forum.inductiveautomation.com/t/tcp-drive-tag-access/112791/7 "2025-12-12T17:47:10Z")

</div>

> [@asmith](#):
>
> I would just need to open socket, send, close socket.

No, you also need to listen for the response before closing the socket. And maybe hold the socket open for the next request.

A long-lived thread to manage the socket is generally required, and unfortunately, can be tricky. Some references for you:

[https://forum.inductiveautomation.com/search?q=long-lived%20thread%20socket%20order%3Alatest](https://forum.inductiveautomation.com/search?q=long-lived%20thread%20socket%20order%3Alatest)

Whatever you do, do **NOT** use jython's `socket` library. Use **java** sockets.

[https://forum.inductiveautomation.com/search?q=java.net%20socket%20examples%20order%3Alatest](https://forum.inductiveautomation.com/search?q=java.net%20socket%20examples%20order%3Alatest)
