Big Oops. I hope it is fixed now (The script library is downloaded from my website, this means I can update easily).
Thank was quick...
I don't have found installation procedure, so I just have installed latest Java version, and run the bat file of your program folder.
Does It require others things to work ?
I am using a HP33401 multi-meter (as many others here!) and it is connected to my computer
using original (I guess) Agilent IEE488 to USB interface.
It work great when I use Agilent software.
Anyway, I must say that I'm a little bit confused when trying to connect my instrument with your software.
I tried to load 34401 (in the list) and select the address, but that seem to do nothing. I probably miss something..
Is there a step by step "tuto" already made to explain how to configure our instrument ?
I have also a question about the operation of your software :
Does it allow to work with a trigger initiated by the instrument itself ?
The HP34401 measurement can be triggered by external signal from rear BNC,
I would like to record data each time this input is triggered.
The purpose is to make an external multichannel MUX box.
It would switch "N" measurements channels at programmable speed.
The box will provide trig pulses to the 34401 each time channel is changed.
Question: "Benchtop DMM with AC+DC true RMS value vs. TestController"
Another question: The Fluke 8808A probably does not have this feature, but as the Fluke 8846A is already part of the device list by TestController, I would like to know, whether this file can also be switched to a working one for the Fluke 8808A or does the RS-232 behave in a different way?
Starting
;; Start thread for: 192.168.10.37 - APLA800
;; 192.168.10.37: Tx: <*IDN?.> 2A 49 44 4E 3F 0A
;; 192.168.10.37: Rx: <AMREL,EL-NFP,0,CF:92.1CT,FV:2.41> 41 4D 52 45 4C 2C 45 4C 2D 4E 46 50 2C 30 2C 43 46 3A 39 32 2E 31 43 54 2C 46 56 3A 32 2E 34 31 0D
;; Found APLA800 on 192.168.10.37
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at dk.hkj.devices.SetupFormats$IndicatorField.getLabel(SetupFormats.java:2600)
at dk.hkj.devices.SetupFormats$IndicatorsField.addGridBag(SetupFormats.java:2761)
at dk.hkj.main.PopupSetupSelection.makePanel(PopupSetupSelection.java:206)
at dk.hkj.main.PopupSetupSelection.makeMainPanel(PopupSetupSelection.java:136)
at dk.hkj.main.PopupSetupSelection.<init>(PopupSetupSelection.java:79)
at dk.hkj.main.DeviceInterface.showSetupPopup(DeviceInterface.java:613)
at dk.hkj.main.PaneCommand.showSetupSelectionPopup(PaneCommand.java:1589)
at dk.hkj.main.PaneCommand$24.actionPerformed(PaneCommand.java:828)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
;; ALOAD: Tx <:inp?>
;; ALOAD: Rx <0>
Exception in thread "AWT-EventQueue-0" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at dk.hkj.devices.SetupFormats$IndicatorField.syncValue(SetupFormats.java:2672)
at dk.hkj.devices.SetupFormats$IndicatorsField.syncValue(SetupFormats.java:2787)
at dk.hkj.devices.SetupFormats.syncAll(SetupFormats.java:237)
at dk.hkj.main.PopupSetupSelection.initialSync(PopupSetupSelection.java:97)
at dk.hkj.main.PopupSetupSelection.timerUpdate(PopupSetupSelection.java:105)
at dk.hkj.main.PopupSetupSelection.access$3(PopupSetupSelection.java:103)
at dk.hkj.main.PopupSetupSelection$2.actionPerformed(PopupSetupSelection.java:72)
at javax.swing.Timer.fireActionPerformed(Unknown Source)
at javax.swing.Timer$DoPostEvent.run(Unknown Source)
at java.awt.event.InvocationEvent.dispatch(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
;; Found APLA800 on 192.168.10.37
#logcmds 0
;; Discharge with 5A to 13V
;; ALOAD: Tx <:CURR 5>
;; ALOAD: Tx <:meas:volt?>
;; ALOAD: Rx <OK>
;; ALOAD: Tx <:meas:curr?>
;; ALOAD: Rx <13.2121>
;; ALOAD: Tx <:meas:pow?>
;; ALOAD: Rx <0.0000>
;; ALOAD: Rx as numbers <0.0 13.2121 0.0>
;; ALOAD: Tx <:INP 1>
;;0.0000
;; ALOAD: Tx <:meas:volt?>
;; ALOAD: Rx <OK>
;; ALOAD: Tx <:meas:curr?>
;; ALOAD: Rx <13.2111>
;; ALOAD: Tx <:meas:pow?>
;; ALOAD: Rx <0.0000>
;; ALOAD: Rx as numbers <0.0 13.2111 0.0>
;; ALOAD: Tx <:INP 0>
;; Discharge terminated
;;0.0000
;;OK
I'm looking through the thread now to see if I can find the answer but when I click setup i get this error
at dk.hkj.devices.SetupFormats$IndicatorField.getLabel(SetupFormats.java:2600)
at dk.hkj.devices.SetupFormats$IndicatorsField.addGridBag(SetupFormats.java:2761)
I'm having another problem that has been hounding me with this load since I got it. It is returning an OK after set commands and it is messing up my scripts.
You can see here where I ran the battery discharge script how the OK messed up things. It pushed all the reading down 1 (volts is 13 not current)
Any suggestions?
Please find enclosed the latest definition file for the R&S HMO1022 scope.
Minor bug with #math functions. I deleted all #math functions on the Math tab. In re-starting TC and running a script that does not have any #math statements sometimes the last #math channel defined re-appears. I have tried a number of times to find a repeatable way to replicate the issue but have failed so far. Just thought I would mention it to you so you can watch for it also. I will continue to try and find a method to repeatedly show the issue.
I also have a question about chart auto scaling. I have a dc current being logged that is between 20 and 50 mA always positive and never actually 0. Why does the chart auto scale go from -1 to a small positive value like 0.06? I would have thought it would pick something like 0 to 0.06 or maybe -0.06 to +0.06. Not -1.0 to +0.06. Using -1 to small positive means the chart trace appears flat and you see no details. Perhaps it would be an improvement to pick -small to +small in this case when the Scales for chart has "Auto includes zero" checked?
I'm having another problem that has been hounding me with this load since I got it. It is returning an OK after set commands and it is messing up my scripts.
You can see here where I ran the battery discharge script how the OK messed up things. It pushed all the reading down 1 (volts is 13 not current)
Any suggestions?
This basically means you cannot use the SCPI definition format, but has to use the Ascii format (SCPIx may also work) where you redefine the commands.
Has anybody written one for the 3710A loads?
Check your "Auto bottom step" and "Auto min. range"
Bottom is the step size that is used for the bottom of the chart
min range is the minimum difference between top and bottom of the chart.
You can put them both to zero, then it will match the scaling very exactly to the data.
Ah, that is what those columns in the Scales for chart tab do. Sorry to bother you to explain the features already there.
Suggestion for a future version:
I use #SaveTable command at the end of scripts to save data. Sometimes I forget to close the data file when I run the script. TC then silently executes the #SaveTable command by doing nothing since the file is open/blocked from writing by Windows. It would be good if TC put an error message in the log screen when it can't do the write to remind the user to save the data manually.
Please find enclosed the latest definition file for the R&S HMO1022 scope.
I will include it in the next release
#cmdSetup number Voltage
:read: volt?
:write: volt
:update: mode
:tip: Load voltage for voltage mode
:buttontext: CV
Volt 0 60.000
So I got a file that seems to be working for my Amrel load. Of course I copied a lot of other config files.
2 questions
I can seem to get :update: to work am I missing something, or does in not work in ASCII mode? (example line 123 in file)
I am defining the scpi commands, but does every single iteration of a command need to be spelled out? I can define 2 commands say :meas and :volt? and they will both work individually, but when I do :meas:volt? it fails
#idString AMREL,EL-NFP
#name AMREL PLA
#handle PLA800-60-300
Please find enclosed the latest definition file for the R&S HMO1022 scope.