# TCP Communication to Domino Printer

**URL:** <https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680>\
**Category:** General Discussion\
**Created:** [April 16, 2021, 12:17pm UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680 "2021-04-16T12:17:45Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![grietveld](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/grietveld/32/6984_2.png) [@grietveld](https://forum.inductiveautomation.com/u/grietveld)\
**Post date:** [April 16, 2021, 12:17pm UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680/1 "2021-04-16T12:17:45Z")

</div>

Having some issues getting a TCP connection working and thought I’d ask here and see if anyone has any experience.

We are trying to send commands via TCP to a Domino V-Series Printer. We have confirmed that a command actually leaves ignition using both the TCP module and a Python script, and arrives at the printer port, but nothing ends up being updated. Using a third party TCP tool called Hercules, we are able to send commands to the printer and it works fine there.

I’m not sure if we aren’t sending command characters via the string correctly? Or if there is something else. At least in terms of human readable, it seems to transfer identically comparing between Ignition and Hercules’ commands. I’m just not sure if there is something going on behind the scenes.

we have tried using commands in the following formats

```auto
$01FillSerialVar=$0202$03,$02BB 05 2024$03$17

[SOH]FillSerialVar=[STX]02[ETX],[STX]BB 05 2024[ETX][ETB]
<SOH>FillSerialVar=<STX>02<ETX>,<STX>BB 05 2024<ETX><ETB>

```

---

<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:** [April 16, 2021, 12:36pm UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680/2 "2021-04-16T12:36:55Z")

</div>

Are you using the TCP & UDP driver?

Consider not, if so. Direct use of sockets is far more reliable, like the following discussion about sending commands to Zebra printers:

> [@Printing barcode to Zebra printer](http://forum.inductiveautomation.com/t/printing-barcode-to-zebra-printer/8957/11):
>
> Finally made it back to my desk. Here’s a chopped down version of what I use. from java.net import Socket from java.io import DataOutputStream partnum = 'ABCBEFGH' serialNum = '12345678' strMessage100 = "^XA" strMessage110 = "^BY3,3,60^FT065,120,^BCN,N,N,N,N^FDP%s^FS" % partNum strMessage111 = "^FT170,040^A0N,40,45^FD%s^FS" % partNum strMessage112 = "^FT065,260,^BCN,N,N,N,N^FDS%s^FS" % serialNum strMessage113 = "^FT170,170^A0N,40,45^FD%s^FS" % serialNum strMessage199 = "^PQ1,0,1,Y^XZ" strO…

---

<div class="post-metadata">

**Author:** ![grietveld](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/grietveld/32/6984_2.png) [@grietveld](https://forum.inductiveautomation.com/u/grietveld)\
**Post date:** [April 16, 2021, 12:38pm UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680/3 "2021-04-16T12:38:50Z")

</div>

> [@pturmel](#):
>
> Consider not, if so. Direct use of sockets is far more reliable, like the following discussion about sending commands to Zebra printers:

So far we have tried both routes. Using the TCP driver and using a script that looks very similar to that one. The device just doesn't seem to like the string we are sending across. I just started digging through some wireshark data to see if I can find anything there.

---

<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:** [April 16, 2021, 12:40pm UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680/4 "2021-04-16T12:40:23Z")

</div>

Are you using the actual ascii values? Perhaps something like:

```auto
soh = chr(1)
stx = chr(2)
etx = chr(3)
etb = chr(23)

strOut = soh + 'FillSerialVar=' + stx + '02' + etx + ',' + stx + 'BB 05 2024' + etx + etb

```

---

<div class="post-metadata">

**Author:** ![grietveld](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/grietveld/32/6984_2.png) [@grietveld](https://forum.inductiveautomation.com/u/grietveld)\
**Post date:** [April 16, 2021, 12:55pm UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680/5 "2021-04-16T12:55:32Z")

</div>

That was it. I wasn’t sure what the ASCII values were and was hoping the printer would still understand the hex values.

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:** [April 16, 2021, 1:31pm UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680/6 "2021-04-16T13:31:51Z")

</div>

Jython understands hex escapes in strings using the form `\xHH`, so the string could also be written:

```auto
strOut = "\x01FillSerialVar=\x0202\x03,\x02BB 05 2024\x03\x17"

```

---

<div class="post-metadata">

**Author:** ![Dung\_Nguyen](https://avatars.discourse-cdn.com/v4/letter/d/77aa72/32.png) [@Dung\_Nguyen](https://forum.inductiveautomation.com/u/Dung_Nguyen)\
**Post date:** [June 14, 2023, 10:28am UTC](https://forum.inductiveautomation.com/t/tcp-communication-to-domino-printer/45680/7 "2023-06-14T10:28:09Z")

</div>

Hi, i'm new to Domino V-series Printer, can you all give me communication protocol document for this.  
Thanks all.
