06-26-2015 11:02 AM
That was kinda my initial thought haha. I just wonder why this isn't working. Just to outline my steps:
1. I open a VISA session. All the settings, such as baud rate and parity, match.
2. I write the string of numbers (Hex display on) as indicated by the manual.
3. I expect a string of numbers back from the controller, but instead I get nothing back and then I timeout.
I'm really just at a loss here. At least I've learned a bunch of other stuff from this thread.
06-26-2015 11:02 AM
Your CRC "algorithm" is correct in post #8. However, take chembo's advice and display the radix of all your constants. I have a feeling you are entering them as decimal. i.e., 80 (decimal) is not the same as 80 (hex) and WILL give you a different CRC result. Secondly (but I don't think it will matter), you have a red coercion dot on your XOR indicator. Your constants should be defined as U8.
As far as developing a driver, read the manual. All the commands should be listed there. It is just a matter of figuring out what you want to do with the Vacuum Pump. Get the syntax of this command correct and working over the serial port, and the rest will be relatively easy.
06-26-2015 11:08 AM
06-26-2015 11:09 AM
Again, get the syntax correct. If you send it a bad command, the controller will ignore it and do nothing. That is probably why you time out. Double check, triple check the syntax, and also the serial port. Also, I've been bitten a few times by bad cables, or mis-wired connectors.
06-26-2015 11:21 AM - edited 06-26-2015 11:22 AM
I figured out the 84. You were right jamiva, I wasn't displaying hexdecimal on the front panel. Once I changed that I got 84 as the XOR. I believe I have the correct radix on my numbers, unless you see something wrong?
And I also did the NI I/O Trace like a few of you suggested, and from the looks of it it looks like nothing is being read, which is what we expected I assume. Here is a screenshot of what Trace told me.
Dennis, I'll go ahead and try out that portmon program you mentioned. I've never used it but I'm sure it's nothing a quick Google can't teach me. Then maybe I can compare what it is sending to the controller to mine.
06-26-2015 11:25 AM
06-26-2015 11:57 AM
Longshot: The VISA Configure Serial Port defaults to enabling a termination character. You manually set it to 0x03 and you already put it in the command string. The VISA write may be putting two termination characters in the command. Try disabling it (set to FALSE).
06-26-2015 12:02 PM
Or try leaving with the default termination character 0x0A
06-26-2015 12:07 PM
06-26-2015 01:24 PM - edited 06-26-2015 01:33 PM
Now it seems that the serial communication sequence and the data going to the controller is fine. You said also it is possible to connect to the controller with some Agilent software, so the cable should be fine.