Author Topic: Program that can log from many multimeters.  (Read 583079 times)

sbeckert and 1 Guest are viewing this topic.

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3375 on: February 25, 2024, 12:27:03 pm »
Recently, I acquired a Hioki DM7275 Precision DC Voltmeter and made a DIY temperature probe for it.
(https://lajtronix.eu/2024/02/21/diy-hioki-dm7275-76-temp-probe-z2001/)
Wanted to use TC for logging but DM7275 doesn't seem to be supported so I made a device file (attached).

Device file is as simple as it gets. Connection is only through LAN (since I have a basic model).
It will recognize DM7275 & DM7276 in all configurations.

It will be included in the next release.
 

Offline Gulftown

  • Contributor
  • Posts: 41
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3376 on: February 26, 2024, 06:46:07 am »
Unfortunatly i still get exactly the same error as soon as the socket is connected.

I doubt it was the exact same error, but I have fixed a bit more.

Code: [Select]
java.lang.ClassCastException: dk.hkj.comm.SocketPacketInterface cannot be cast to dk.hkj.comm.SerialPacketInterface
        at dk.hkj.devices.DeviceDMM2$DriverInterface.readFromSerialPort(DeviceDMM2.java:71)
        at dk.hkj.devices.DeviceDMM2$DriverInterface$1.run(DeviceDMM2.java:46)
        at java.lang.Thread.run(Unknown Source)
;; VC870: Tx <VALUE?>
;; VC870: Rx <0.0>
;; VC870: Rx as numbers <0.0>
java.lang.ClassCastException: dk.hkj.comm.SocketPacketInterface cannot be cast to dk.hkj.comm.SerialPacketInterface
        at dk.hkj.devices.DeviceDMM2$DriverInterface.readFromSerialPort(DeviceDMM2.java:71)
        at dk.hkj.devices.DeviceDMM2$DriverInterface$1.run(DeviceDMM2.java:46)
        at java.lang.Thread.run(Unknown Source)

Thanks, but still...
« Last Edit: February 26, 2024, 06:48:47 am by Gulftown »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3377 on: February 26, 2024, 10:23:36 am »
Thanks, but still...

I made a mistake and the latest did not get uploaded, it is up now.
I always update the version number for test releases , it is now v2.43
 

Offline Gulftown

  • Contributor
  • Posts: 41
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3378 on: February 26, 2024, 04:46:59 pm »
It's working now, thank you!
 

Offline jorgemef

  • Regular Contributor
  • *
  • Posts: 137
  • Country: pt
Re: Program that can log from many multimeters.
« Reply #3379 on: February 26, 2024, 04:55:56 pm »
Hello,
Not sure if already addressed in the 129 pages. :) I have keitley2000 and 2001 TSC scan multiplex card. It works with SPI protocol. Any simple way to use the multiplex channel wit Testcontroller? I would like to use it to monitor 3 different voltage reference signals from some boards I am setting up. :)
Thanks, Jorge

Test controller do not have the concept of multichannel device only returning one channel value at a time, it always needs all channels simultaneous. If you can setup a couple of commands to return all values, you are on (That may mean a low log rate).

If you do not require high precision, you can make a alternate solution very cheaply, that works with TC: https://lygte-info.dk/project/TestControllerUserProjects1%20UK.html#10_channel_12bit_ADC_module_addition_by_Pukker

Hello,

For opening the different channels on the keithley2000 multiplex card it requires these specific SPCI commands (IEEE-488 bus):
*RST; :rout:close (@2); :rout:open (@2); :rout:scan:int:func (@2), ‘volt:dc’ // example for Channel #2

How can I send such commands through TestController? It identifies it as Java Exception whenever pipes () are open.

Thanks,
Jorge

 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3380 on: February 28, 2024, 02:00:53 pm »
For opening the different channels on the keithley2000 multiplex card it requires these specific SPCI commands (IEEE-488 bus):
*RST; :rout:close (@2); :rout:open (@2); :rout:scan:int:func (@2), ‘volt:dc’ // example for Channel #2

How can I send such commands through TestController? It identifies it as Java Exception whenever pipes () are open.

Anything in () are processes as expressions, there are two ways to get around that:
Use quotes: ":rout:close (@2);"
or use a expression: (":rout:close (@2);")
 
The following users thanked this post: jorgemef

Offline jorgemef

  • Regular Contributor
  • *
  • Posts: 137
  • Country: pt
Re: Program that can log from many multimeters.
« Reply #3381 on: February 28, 2024, 03:49:19 pm »
For opening the different channels on the keithley2000 multiplex card it requires these specific SPCI commands (IEEE-488 bus):
*RST; :rout:close (@2); :rout:open (@2); :rout:scan:int:func (@2), ‘volt:dc’ // example for Channel #2

How can I send such commands through TestController? It identifies it as Java Exception whenever pipes () are open.

Anything in () are processes as expressions, there are two ways to get around that:
Use quotes: ":rout:close (@2);"
or use a expression: (":rout:close (@2);")

The first way the equipment gets as error as " " is sent in the stream.
The second way works. :) Thanks HKJ.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3382 on: February 28, 2024, 06:25:58 pm »
The first way the equipment gets as error as " " is sent in the stream.
The second way works. :) Thanks HKJ.

The first method do not work everywhere, but the second do.
 

Offline the Chris

  • Contributor
  • Posts: 39
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3383 on: March 09, 2024, 09:56:28 am »
Hey HKJ.

Does TestController take care of the serial port configuration under Linux? I tried to get it running with my 34401A over RS232 but failed to do so, since a few hours actually. Whatever I do, TestController will report:

"Physical Port S1 (ttyS1) Device HEWLETT-PACKARD,34401A, do not match: null"

Depending on the way I configure the 34401A to, I can provoke the following Errors, partially in combination:
  • 410 "Query INTERRUPTED"
  • 513 "RS-232 parity error"
  • one additional regarding characters, that I missed to write down.

Using CuteCom, I can establish a connection using 9600 baud, FlowControl None, DataBits 7, Parity Even, StopBits 2.

If I configure the 34401A to use no Parity and 8 DataBits and then configure CuteCom in the same way, I can also establish a connection.

Is there some known issue in Linux when trying to establish an RS232 connection besides being in the Dialout member group?

Best wishes,
Christian
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3384 on: March 09, 2024, 10:38:24 am »
Does TestController take care of the serial port configuration under Linux?

I does, you have to give access privileges to serial ports and you must use the correct port name.
To get the correct port name: right click the mouse when the address field is in edit mode (Can be invoked with F2 or by typing into the field).
 
The following users thanked this post: the Chris

Offline the Chris

  • Contributor
  • Posts: 39
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3385 on: March 09, 2024, 01:48:25 pm »
Yes, this has worked right from the beginning. The correct ttyS0 and ttyS1 are offered in the context menu. ttyS1 is the one the 34401A is connected to. But TestController just reports ";; Physical Port S1 (ttyS1) Device HEWLETT-PACKARD,34401A, do not match: null" without the device going into REMote mode or anything, not even an error.

However, If I change the parity on the device intentionally from NONE (8 Data Bits) to EVEN (7 Data Bits), I can provoke ERROR 513 on the device when TestController tries to connect, followed again by TestController outputting ";; Physical Port S1 (ttyS1) Device HEWLETT-PACKARD,34401A, do not match: null".

So the connection seems possible, but still TestController does not seem to be able to retrieve anything.

EDIT: I will check the cable. I have the suspicion that receiving data from device is not possible at all, just sending commands to it.


« Last Edit: March 09, 2024, 01:51:08 pm by the Chris »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3386 on: March 09, 2024, 02:23:14 pm »
";; Physical Port S1 (ttyS1) Device HEWLETT-PACKARD,34401A, do not match: null" without the device going into REMote mode or anything, not even an error.

However, If I change the parity on the device intentionally from NONE (8 Data Bits) to EVEN (7 Data Bits), I can provoke ERROR 513 on the device when TestController tries to connect, followed again by TestController outputting ";; Physical Port S1 (ttyS1) Device HEWLETT-PACKARD,34401A, do not match: null".

TC did not get an answer from the device. Default baudrate is 9600N81, you can always type something else in the baudrate field, it accept more than just baudrate, other parameters can be used.

TC uses a package for serial communication, there is a link to it on the about page. They list supported OS and CPU's somewhere (It need to support each OS/CPU combination, because it uses a machine code stub for interfacing).
 
The following users thanked this post: the Chris

Offline the Chris

  • Contributor
  • Posts: 39
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3387 on: March 10, 2024, 07:54:32 am »
Thanks for you help, HKJ. It nailed the possible causes down to a hardware related issue and at the end of the day, that's what solved the problem: the RS232 crossover cable was missing a bridge between pin 1 and 6. Soldering one in led to TC now happily reporting ";; Found Agilent 34401A on Physical Port S1 (ttyS1)"  :D

One cable finished, two more to fix  ::)
 

Offline the Chris

  • Contributor
  • Posts: 39
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3388 on: March 12, 2024, 01:23:02 pm »
HKJ, according to the notes, the E3632A via RS232 is supposed to work only on Windows due to the missing DTR/DSR support on Linux. However, the DTR/DTS support is said to be mandatory for the 34401A as well (with respect to its note inside TC) and after bridging PIN1 and PIN6 on the connectors of the cable, the 34401A works in Linux (albeit, obviously, now with faked hardware handshake).

Can I expect an E3632A to work as well considering what I saw on the 34401A? Both device config files of TC show an identical RS232 configuration.

I noticed that 34401A is using the SCPIx protocoll whereas the E3632A is set to use Std. SCPI. Is that intentionally? The SCPIx is described as originally intended for being used in combination with chinese device implementations.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3389 on: March 12, 2024, 03:53:34 pm »
Can I expect an E3632A to work as well considering what I saw on the 34401A? Both device config files of TC show an identical RS232 configuration.

The issue is that 34401A sometimes is in a state where it do not read the serial port, any commands send during that time will be lost. I have no idea how serious this issue is on different versions of 34401A or if it exist on E3632A

I noticed that 34401A is using the SCPIx protocoll whereas the E3632A is set to use Std. SCPI. Is that intentionally? The SCPIx is described as originally intended for being used in combination with chinese device implementations.

The SCPIx add a layer in the communication, that can handle user define command (#scpiCmd), in this case it is done to get access to TC's programming and add a conditional command (Condition being it is only send in GPIB mode).
SCPIx also add a few more tricks that can be used to handle devices that do not follow SCPI completely, this is very common on Chinese implementation, but is not exclusive for them.

 
The following users thanked this post: the Chris

Offline Finnaaah

  • Contributor
  • Posts: 21
  • Country: au
Re: Program that can log from many multimeters.
« Reply #3390 on: March 22, 2024, 12:48:36 pm »
Hey,
I've spent the last few days putting together a device definition file for the Array 372xA line of electronic loads. I've only tested it with the 3720A which works perfectly. It allows all standard operations as well as transient operations. Hopefully this if of use to others :popcorn:
I'll attach the file + a repo for it  :-+

EDIT: Added trigger subsystem for transient operation. Sorry if it's a bit complex looking, the way the device deals with ranges is a huge pain  :scared:
https://github.com/FinnKrass/Array-372xA-TC
« Last Edit: March 23, 2024, 03:52:46 am by Finnaaah »
 

Offline pope

  • Frequent Contributor
  • **
  • Posts: 329
  • Country: pl
Re: Program that can log from many multimeters.
« Reply #3391 on: March 23, 2024, 01:58:57 pm »
Sorry if this has been discussed already but on the installation notes I read tha you should download some files/libraries.

I have a PC that it's offline and I'm wondering whether it's possible to use the program on this PC and if so, whether there would be any limitation in terms of functionality/ libraries/ etc...
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3392 on: March 23, 2024, 02:04:23 pm »
Hey,
I've spent the last few days putting together a device definition file for the Array 372xA line of electronic loads. I've only tested it with the 3720A which works perfectly. It allows all standard operations as well as transient operations. Hopefully this if of use to others :popcorn:
I'll attach the file + a repo for it  :-+

EDIT: Added trigger subsystem for transient operation. Sorry if it's a bit complex looking, the way the device deals with ranges is a huge pain  :scared:
https://github.com/FinnKrass/Array-372xA-TC

I will include it in the next release, thanks
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3393 on: March 23, 2024, 02:11:59 pm »
Sorry if this has been discussed already but on the installation notes I read tha you should download some files/libraries.

I have a PC that it's offline and I'm wondering whether it's possible to use the program on this PC and if so, whether there would be any limitation in terms of functionality/ libraries/ etc...

TC is supposed to work fine without internet connection, what you loses are:
1) Some predefined scripts
2) Some command help text (Very minor except for # commands)
3) Skeleton driver definitions when using the "Create SCPI definition" function.
4) Automatic notification when I release a new version
5) The F1 help to all forms and pages.

You can get 1) by running TC once with internet connection, the downloaded files will be saved in the settings directory and can be copied to other instances of TC (All files starting with "settings" are configuration, nearly everything else in this directory is downloaded)
« Last Edit: March 23, 2024, 05:04:46 pm by HKJ »
 
The following users thanked this post: pope

Offline the Chris

  • Contributor
  • Posts: 39
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3394 on: March 24, 2024, 02:27:04 pm »
I got the 34401A running flawless under Linux, but the E3632A beeps and reports an error 101 whenever new values are retrieved.

Error 101: Invalid character
An invalid character was found in the command string. You may have inserted
a character such as #, $, or % in the command keyword or within a parameter.
Example: OUTP:STAT #ON

I setup a Windows PC for TestController but the behavior is the same. Any idea?

Edit: just had the idea to look for similar problems and found this: https://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/msg3503332/#msg3503332 I will try to replicate the findings if single commands run through without an error.

Edit2: Single commands do indeed work as Ian found out. I also noticed, in addition to his findings, that finishing the current request with a semicolon seems to update voltage and current successfully, albeit still with an error and an accompanied beep.
I did not have the time to test his alternative suggestion before I had to leave for work so I will do it afterwards (https://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/msg3503440/#msg3503440) However, transmitting a number in square brackets doesn't seem to make sense in relation to SCPI protocol.
« Last Edit: March 25, 2024, 06:43:34 am by the Chris »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3395 on: March 25, 2024, 11:07:26 am »
Edit2: Single commands do indeed work as Ian found out. I also noticed, in addition to his findings, that finishing the current request with a semicolon seems to update voltage and current successfully, albeit still with an error and an accompanied beep.
I did not have the time to test his alternative suggestion before I had to leave for work so I will do it afterwards (https://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/msg3503440/#msg3503440) However, transmitting a number in square brackets doesn't seem to make sense in relation to SCPI protocol.

The [2] is a 2ms delay before next SCPI command.
 

Offline the Chris

  • Contributor
  • Posts: 39
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3396 on: March 25, 2024, 11:53:32 am »
Thanks HKJ. It did not occure to me that this might be a TestController parameter until your response and I found it in the manual now as well ("If a delay is needed between the SCPI commands use [delay]").
 

Offline kblue

  • Contributor
  • Posts: 17
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3397 on: March 27, 2024, 04:22:54 pm »
Greetings!

I've encountered a strange problem while using this software together with my good old Fluke 45 (Serial-USB-Adapter). During power on, the Fluke 45 goes into VDC mode and the TestController Software shows "Fluke 45.Voltage DC" and "Fluke 45.Frequency" under "Current Values"-Tab. But if i switch to e.g. Ohms or Diode via "Modes"-Panel, the Fluke 45 itself does switch to the correct mode but in the "Current Values"-Tab it always shows "Fluke 45.Frequency" with the Unit "Hz" :D And nothing else.

VDC, VAC, ADC and AAC seem to work. Diode and Ohms does not in Software (it sure does with the actual unit/display).

I tested the "command" ability like typing "Ohms" and the Fluke 45 does switch to Ohms. Sending "Func1?" to the Fluke 45 returns the currently selected Mode ... Ohms. So the communication seems to work?

Any advice?

Thanks and best wishes from germany!
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2975
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #3398 on: March 27, 2024, 06:33:39 pm »
Greetings!

I've encountered a strange problem while using this software together with my good old Fluke 45 (Serial-USB-Adapter). During power on, the Fluke 45 goes into VDC mode and the TestController Software shows "Fluke 45.Voltage DC" and "Fluke 45.Frequency" under "Current Values"-Tab. But if i switch to e.g. Ohms or Diode via "Modes"-Panel, the Fluke 45 itself does switch to the correct mode but in the "Current Values"-Tab it always shows "Fluke 45.Frequency" with the Unit "Hz" :D And nothing else.

VDC, VAC, ADC and AAC seem to work. Diode and Ohms does not in Software (it sure does with the actual unit/display).

I tested the "command" ability like typing "Ohms" and the Fluke 45 does switch to Ohms. Sending "Func1?" to the Fluke 45 returns the currently selected Mode ... Ohms. So the communication seems to work?

Any advice?

Thanks and best wishes from germany!

Sound like there may be some bugs in the definition file.
First: Use TC in debug mode when fixing this kind of stuff.

TC uses the command:
#askMode func1?
to check the actual mode of the meter

The returned value must match the second parameter on these commands:
#cmdMode VAC VAC

With debug mode on, see what the correct answer is and correct the #askMode lines.

When everything works correctly please post the finished file here.


If some modes are missing, there are two steps to add them:
#cmdMode VAC VAC
First parameter is the displayed mode name and is also used to select the column
Each column is defined with, fourth parameter is the displayed mode name:
#value VoltageAC V D4 VAC

There is mode about #value definitions here: https://lygte-info.dk/project/TestControllerConfigDevice%20UK.html#Data_type_definitions



 

Offline kblue

  • Contributor
  • Posts: 17
  • Country: de
Re: Program that can log from many multimeters.
« Reply #3399 on: March 27, 2024, 07:49:41 pm »
Hello again!

It seems to work now, thanks! I modded the already existing file and added a changelog. Continuity is now an option too (strangely the meter returns values in volts rather than ohms).

Best wishes!
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf