LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Serial Communication with Agilent Vacuum Pump

I double checked and it is an RS232 to USB adapter. I also double checked how to put the controller into serial mode and I did that correctly too. The controller says it's in RS232 mode.

 

I tried getting that Portmon program to work but it isn't working. It's saying "Not Connected" and Error messages will pop up. Maybe there's another piece of software I could try?

0 Kudos
Message 31 of 42
(2,478 Views)

So I found out how to monitor the serial port while the Agilent program was running and here's what I found.

 

serialmonitor.PNG

 

I highlighted what seems to be the command I'm trying to send through LabView. So if had to make some sort of a guess, I'd say the command is correct, but the format I'm trying to send it in may not be? Maybe the wrong SubVI?

0 Kudos
Message 32 of 42
(2,459 Views)

Are you using WIn7 64bit? I was getting an error message on my PC (error code 2 I guess), but it got fixed by installing the Windows Help from here:

https://support.microsoft.com/en-us/kb/917607

I can start now the 'portmon' on my Win7 64, but I cannot see the list of the ports and it says also not connected.

 

The same program works fine on Win7 32bit. I can select the port which I want to monitor, start some software which communicates via this port to monitor it. It works fine.

 

One additional thing you could try is a terminal program. If it doesn't work with it, the problem is probably not in your code.

I use YAT: http://sourceforge.net/projects/y-a-terminal/. If you decide to try it, check the Terminal/Settings/Text Settings first and set the EOL sequence to 'none'.

Hexadecimal values can be send with \h(hex_value), i.e. in your case \h(02)\h(80)\h(32) ....  etc... in one row. The hit send.

 

 

 

0 Kudos
Message 33 of 42
(2,459 Views)

YOOOOOOOOO I GOT IT TO WORK. I tried everything on a different computer and plugged straight into the serial port on it (no adapter) and ran the program... and it worked. It must be the converter box. You guys are the best. Like for real I would be insane right now if I didn't have your guy's help. Aside from that I've learned so much from this thread that'll help me in the future.

 

Thank you all soooooo much.

 

TLDR; **bleep** this usb to serial converter box.

Message 34 of 42
(2,445 Views)

Congrats that you have gotten the pump to work. I've had many issues with those Serial to USB converters on Win 7 64-bit machines. I've had to order a PCI serial card to get the desired functionality that I want.

 

Just my two cents for what it's worth.

0 Kudos
Message 35 of 42
(2,438 Views)
Oh, yeah, those things are crap. They never work right.

Cheers


--------,       Unofficial Forum Rules and Guidelines                                           ,--------

          '---   >The shortest distance between two nodes is a straight wire>   ---'


0 Kudos
Message 36 of 42
(2,434 Views)

Hello colleagues,

 

I find this topic, because I am also currently working in this serial communication. Could you please share with the comunity your code?

 

It would be very helpfull to start new applications!

 

Thank you very much! 😃

0 Kudos
Message 37 of 42
(2,300 Views)

Hi All,

 

I've come across this post as it remains the most helpful post on this topic even after all this time! I found this thread very helpful while writing my Agilent vi and wanted to upload my finished version in case any body is still struggling. The hardest part I found was interpreting the response from the controller, I'll give a brief explanation of my process here.

 

I've included a combo box called 'Command' that selects the relevant message to send to the controller by indexing the array in the top left of the block diagram below.

Turbo_Status.PNG

 

The response from the controller is then sliced to isolate the data (the first 6 bytes are removed) and for each command I've written an interpretation case, that reads the Hex string and assigns an interpretation based on the manual. In the above example for the read status command, the hex number is used to index a string of statuses from the manual and displays this string on the front panel. In the cases for responses that are longer than 1 byte, I split the hex string according to my preference and simply display the string in 'Normal' display format on the front panel (with a unit concatenated onto the string). An example for the read temperature command is shown below, where the first integer is the number of bytes before the data and the second integer is the data length in bytes.

Turbo_temp.PNG

 Obviously, there are many more commands but these were all the ones I was interested in. I hope that this will be helpful to someone!

 

 

 

0 Kudos
Message 38 of 42
(1,152 Views)

Just a FYI, remove the sequence structure, the wait, and the OPEN VISA primitive. It's not needed since you are using data flow, have a termination character, and have one set (3). You may want to make sure that the termination charecter you have set is the correct one or you could be missing data.

 

The Configure Port VI automatically opens the communication to the device so it's not needed.

0 Kudos
Message 39 of 42
(1,139 Views)

Use this to calc CRC:

 

AGILENT_CRC.png

0 Kudos
Message 40 of 42
(506 Views)