PS. A typical turnaround time to calibrate is 10mins.
Do you mean 10 min for 1 CAL point or all 11 points?
The Proportional gain method should save you the init calibration phase.
P.S. Looks like we got you working hard!
Regards.
Cool,
this will save you lots of time.
What will you do with all this free time?
or Scotch
Scottish yes, but Scotch no........it's the wife that likes her Whiskey. I'm just a simple beer/lager man.
Ian.
Tell us when you have it tested with two devices queried in parallel !
Here is the solution I came to (mainly suggested by pwlps if I didn't misunderstand him...) :
- Add a static flag to the PrologixDevice class this will tell us when the port has been open (by Device1)
private static bool PortOpen = false; -> Accessible from both devices
- Change commport definition to static so that it is common to both devices
protected static SerialPort commport = null;
- Rearrange OpenComm() to
Device 1 : Execute in full and set PortOpen flag
Device 2 : Get gpibaddr and return without opening the port (if PortOpen is true)
The drawback is that if one would like to use 2 separate Prologix adapters, it would'nt work, since the commport is now common to all Prologix instances!
Not sure I did it the right way but it works.
protected struct {public int comnumber; public SerialPort commport;} ComInfo;
protected static List<ComInfo> openports;
What about reading with eoi, it works well finally ?
You were right, at power-on, the 3457A is configured to NOT assert the EOI line.
Sending the "END ALWAYS" or "END 2" commands resolves the issue.
Hi there,
thanks for your answer.
it's Always a pleasure to read and learn from talented people! (There are a quite a few out there )What about reading with eoi, it works well finally ?
Yes, it works well if I send "END ALWAYS" each time I power up the HP3457A.
BTW, I noticed that IanJ uses the same instruction in the PRE RUN area of his HP3458A.You were right, at power-on, the 3457A is configured to NOT assert the EOI line.
Sending the "END ALWAYS" or "END 2" commands resolves the issue.
Regards
protected struct {public int comnumber; public SerialPort commport; public int numdevices;} ComInfo;
protected static List<ComInfo> openports;
Likewise, in the full multi-board version we would add a similar counter to the ComInfo structure:
But for the "multi-board" version, since each device uses its own board and COM port,
I am trying to connect 2 DMMs and a Temp logger
34401A via CH340 RS232 to USB
34461A via USB direct
TnH SHT-30 V3 Temp & Humidity
What changes do I need to make to the Widows program to accommodate these devices?
I set up the 34401A in testIODevice from PC CH340 properties as:
COM3:9600,N,8,1,CRLF
but got an error message on the DMM.
Also, how do I get any changes within the logging program to stick so they are there when I run the program again?
Also, how do I get any changes within the logging program to stick so they are there when I run the program again?
I don't know if it is possible to save settings, ask Ian.
Otherwise I have a very simple registry manager that can be integrated very easily in the code. If Ian has some more time for coding...
Just tried to connect to the 34461A using Visa and the instrument address via USB cable but it also came back with an error.
Format was USB0::10893::5121::MYxxxxxxxx::0::INSTR (number removed)
Don't know what else I can do?
I found that at least some of the settings can be saved by clicking on "Save Settings"! However, this must be done at the right time as the program freezes when I attempt to execute a wrong entry.