Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

TCP read timeout error for Knopp KATC-C2/V2.

Hello all,

 

I'm attempting to interface with a Knopp KATC-V2 transformer tester, product sheet is here , operator manual is here , and most importantly the extremely poorly written TCP/JSON interface documentation is attached (KNOPP JSON Functional Command Sets RevA.pdf).

 

TL;DR, I can initiate a TCP Open, and perform a TCP Write on this device, but it always errors out to a timeout on the TCP Read no matter how the data is sent.

 

In the Functional Command Sets pdf, on document page 6 (Page 11 by a pdf viewer count), a network connection has 2 stipulations. First being that the IP address of both the KATC and computer must be on the same subnet. All of my testing and code is on a customer's computer that must be remoted into to do any work. But the device's IP is 192.168.123.125 and the host computer's IP is 192.168.123.220 with a subnet mask of 255.255.248.0. With that info, I believe the first requirement is taken care of.

 

Secondly, the connection must be on port 1235. You'll see in the following screenshots and the attached LabVIEW 2018 VI, this is taken care of.

 

Here is the front panel:

 

image.png

 

Here is the relevant portion of the block diagram. There is an enum that cycles all sorts of different strings that can be sent, as the documentation is not clear how this data is to be formatted.

 

image.png

Sending just a typed string as a tcp write to the device.

image.png

Sending the typed string with a carriage return appended.

 

image.png

Sending the typed string with a line feed appended.

image.png

Sending the typed string with a carriage return AND line feed appended.

image.png

Creating the string using flatten to JSON.

image.png

Creating the string using flatten to JSON with a carriage return.

image.png

Creating the string using flatten to JSON with a line feed.

image.png

Lastly, creating the string using flatten to JSON with a carriage return AND a line feed.

 

I use the TCP Write VI with timeout at the default value (25 seconds).

 

For an unknown reason (why I'm here.. 😅), the following TCP Read always times out.

 

The only thing I've found is this thread that was created a few months ago, but as internet help forums go, a followup was never provided. Obligatory XKCD: https://xkcd.com/979/

 

Is there some network magic or LabVIEW-ism that is not obvious to me that needs to be taken care of before I can initiate the read? Is there anything else I should try to get the device to communicate back and respond to the TCP Write?

 

This may be more of a general networking question, as I wrote a python script to do a TCP Write/Read and that also fails on timeout on the read.

 

As you see on the TCP Read, I selected Immediate with 1 byte to read, my thinking there is, if there is any response whatsoever, the TCP Read VI will respond.

 

Edit: I forgot to mention that if I open a command prompt (windows 10), and ping the IP of the device, it responds accordingly.

 

Thank you in advance,

Zach

0 Kudos
Message 1 of 1
(778 Views)