From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Thermocube 200 chiller - no termination character option for RS232

Solved!
Go to solution

I would like to ask what is the best approach to make a reliable serial driver for such device where the manufacturer made a questionable communication protocol. At least I do not see termination character mentioned in the manual, so I cannot follow the usual "request/reply-VISA Write/Read with term character" method. It also makes me worried when I see such lines in a manual as this: "If RS-232 communications does not seem to be functioning, cycle the main power to reset." 😄

 

I attach the manual (RS232 protocol from page 20.). If someone could give some guides, or a link where such approach was followed in similar case? I guess the key here is to "VISA write/read" not too frequent, and check whether enough data bytes arrived back as response, and whether the data makes sense. If not, dump data and retry...

Thanks for any advice!

0 Kudos
Message 1 of 12
(3,588 Views)
Solution
Accepted by topic author Blokk

You've got it. Just try to read the expected number of response bytes with a reasonable timeout (probably not more than a second), and once you receive the bytes make sure the value they contain is reasonable, that's about the best you can do. Don't send commands any more frequently than the three commands per second specified in the documentation. If any additional bytes are received beyond what you're expecting it can get you out of sync with the transmitter, so to be safe you may want to flush the receive buffer before sending each command. 

Message 2 of 12
(3,568 Views)
Solution
Accepted by topic author Blokk

Hi Blokk,

 

I guess the key here is to "VISA write/read" not too frequent, and check whether enough data bytes arrived back as response, and whether the data makes sense. If not, dump data and retry...

Yes, that's what I would do…

 

- Send command byte, read one or two byte response.

- Send command byte with one or two bytes parameter content.

- As it's pure polling you need to handle that request-response-game anyway…

 

such device where the manufacturer made a questionable communication protocol.

I'm more worried about devices using °F for temperature unit… 😄

Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 3 of 12
(3,561 Views)

Hi Blokk! Sorry to necro post but I came across this question looking for the exact same information using the same equipment (Thermocube 200). I'm still struggling with this thing's dodgy communication scheme, just wondering if you ever got it to work

 

Thanks

0 Kudos
Message 4 of 12
(2,969 Views)

Hello!

 

This is what I have found (attached zip). As i can recall, it was functional, but I left that lab quite some time ago.

If you get problems, I can contact my ex-colleagues and ask them if they still use this very lib for their ThermoCube.

Good luck!

regards,

Message 5 of 12
(2,954 Views)

Thank you so much for sharing this! And so quickly too! It looks quite similar to what I tried so maybe I have a hardware problem. I'll give it a shot tonight and see if I can get some traction

0 Kudos
Message 6 of 12
(2,930 Views)

Hi,

 

Any chance you could share these vi's in a format that my LV 2015 can open? 

 

Thanks,

 

Ben.

0 Kudos
Message 7 of 12
(1,740 Views)

Hey there, Ben. Attached is my final API, saved for LV 2015. Good luck!

0 Kudos
Message 8 of 12
(1,737 Views)

No termination character is covered in this video:

 

VIWeek 2020/Proper way to communicate over serial

========================
=== Engineer Ambiguously ===
========================
0 Kudos
Message 9 of 12
(1,687 Views)

Thanks so much!

 

 

0 Kudos
Message 10 of 12
(1,666 Views)