04-28-2008 01:53 PM
04-28-2008 03:18 PM
04-29-2008 07:18 AM
05-01-2008 05:27 PM
05-01-2008 07:48 PM
Sput, I've added some comments and debug code to Carlos' code. It's really ugly now but serves the purpose...
-------------------------------
Carlos, I believe I figured out what the problem is. I'll try to explain it as best as I can; be sure to ask questions if I'm not being clear.
When a 'Read Inputs' command (x5F) is sent to the device, the entire 26 bytes is not always read, leaving the remaining bytes in the serial port buffer. On the next read command the serial port reports more than 26 bytes. The first bytes out are those left over from the previous read command. That is why they do not always start with xAA. If you run the LV85xx vi I modified and have the 'Bytes at port.vi" front panel open you can see it happening.
Here is the sequence that is supposed to happen:
This is what I'm seeing when the error occurs:
I have no idea why all the bytes in the port buffer are not being read. My solution, which I'll be implementing in my driver library, is to check and make sure all 26 bytes are read from the serial port before leaving that vi.
05-02-2008 01:27 AM - edited 05-02-2008 01:30 AM
05-02-2008 02:32 AM
11-20-2008 02:37 PM
I have a quick request / question for anyone reading here. I noticed that there is a .zip file within this thread that contains vis for a number of commands used to work with the BK 8500 load. Unfortunately, I am working with Labview 7.1 and when I unpack these, they request v8.5. I was wondering if anyone could be so kind as to take screenshots of these vis and email them to me as gifs or jpegs so that I may try and recreate them in 7.1. I am really stuck on a project right now trying to work with this BK 8500 load, and would be most appreciative for the assistance. Thanks ever so kindly.
James
08-22-2018 03:14 PM
I know I'm digging up a zombie thread here, but unfortunately I'm trying to get this beast working in a project as well. The approach I take when doing this is to write a state machine to control it completely as a virtual instrument, then pass in what I need either as a cluster or class.
I've got everything working, (after modifying the B&K drivers, they are a mess) except for the configure transient portion. This does appear to be a driver level problem as when I run their example code I'm getting the same error. I've attached a picture of their code (which is a mess, I haven't don much here besides connecting the byte count from the write in to the read, which fixed a read bug with their driving not counting the correct byte count then skipping the read altogether. Someone earlier was complaining about the same problem) along with the error message from their error handler and it's output after reading the output from the read.
This happens even when I run the example code, so I do think there is something else wrong here, just asking for some more eyes on it if you happen to be working with one of these beasts with the transient functionality.
If anyone is interested I can also upload the changes I made to the driver along with my VI to control the machine.
Thanks in advance,
Morris
08-23-2018 10:24 AM
I fixed my code by moving the function set after the voltage and timing set. When the function is set before the voltage and value, it does not operate correctly and throws the previously attached error message.
I'm still not sure why the BK example code was throwing the same error as the VI blocks are arranged in this linear pattern. Set A and B, then set the selected Function.