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

0 Members and 4 Guests are viewing this topic.

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1600 on: April 22, 2021, 12:05:50 pm »
Thoughts on what I might be doing wrong or what might be going wrong inside TC?  Suggestions to try?

Looks like everything works correctly.  :)
You request 7 bytes and when you decode the eight byte you get a zero result.
It would, of course,  have been much more obvious if I had stripped the extra byte before the hex dump and not after.
 

Offline gby

  • Regular Contributor
  • *
  • Posts: 238
  • Country: us
Re: Program that can log from many multimeters.
« Reply #1601 on: April 22, 2021, 03:00:54 pm »
HKJ,

Thanks for pointing out my silly.  It works better when you actually tell it to do what you want it to do.

I modified a working 7 byte command and as you point out did not change the "7" to an "8".  Clear case of not seeing the tree for the forest of other details.

Sorry to bother you and thanks for spotting it for me.

 

Offline adso85swe

  • Contributor
  • Posts: 11
  • Country: se
Re: Program that can log from many multimeters.
« Reply #1602 on: April 29, 2021, 07:39:07 pm »
TestController do not support HID (Except for Brymen on Windows), but the RS232 and USB to RS232 will work. I have coded UT61D interface from a datasheet, i.e. if you find any problems please post it and I will look at it.

I have now done some initial tests of my UNI-T UT61D using the RS323 cable + usb adapter interface and it works fine. Haven’t encountered any issue yet.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1603 on: April 30, 2021, 06:55:22 pm »
I have now done some initial tests of my UNI-T UT61D using the RS323 cable + usb adapter interface and it works fine. Haven’t encountered any issue yet.

Thanks, nice to know it works.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1604 on: May 03, 2021, 12:24:56 pm »
I am working on adding a couple of multimeters:
CA 5292
CA 5293
CA 5292-BT
CA 5293-BT
MTX 3292B
MTX 3293B
MTX 3292B-BT
MTX 3293B-BT
They all use the same protocol, except the ID line is different. For the CA5293-BT is look like this:

Code: [Select]
2a 69 64 6e 3f 0d                                *idn?.
43 2e 41 35 32 39 33 2d 42 54 2c 20 48 56 20 41  C.A5293-BT, HV A
2c 20 46 56 20 31 2e 30 32 0a 0d                 , FV 1.02..

I send a *idn? command and get the meter model back, from this line I can guess all CA meters, but I would like to get a similar line from a Metrix meter.
I have use the program Termite with hex option enabled.

Anybody that can help?

The definition looks good, I have even added download of log data to TestController and screendump:


« Last Edit: May 03, 2021, 12:28:28 pm by HKJ »
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1605 on: May 08, 2021, 09:33:26 am »
Hello HKJ. I purchased a new Kunkin KP184 (2021.02.27). When I try to establish a connection, I get a message:
Quote
KP184 changed the protocol in V4, one part was swapping the checksum bytes, but there is something more that I have not found out.
The checksum bytes can be swapping by using "#subDriver Kunkinx", but something else is preventing it from working (May be handshake signals). I need somebody with a newer KP184 to help me finding out.
I'm ready to help.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1606 on: May 08, 2021, 10:57:17 am »
Hello HKJ. I purchased a new Kunkin KP184 (2021.02.27). When I try to establish a connection, I get a message:
I'm ready to help.

The message do not popup when you try to connect, but when you ask for a "Preview"
When you have selected the KP184 in the combobox, you have to press add, then click on the "Address" field and type in the comport. You may also have to modify the baudrate.
You can now try to "Reload" and if it a new firmware it will fail.

To test with the new firmware:
Open the file "Kunkin KP184.txt"

Change the subdriver line to:
#subDriver Kunkinx

Add a ; before the line: #verifyDevice 1840 model?
This line will have to be fixed later on, but for testing it is easier to disable it.

First try is adding some handshake signals to the baudrate on the load device page (Use the correct baudrate):
9600N81dr
9600N81Dr
9600N81dR
9600N81DR

Press Reconnect to try each setting
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1607 on: May 08, 2021, 11:53:03 am »
.....
Press Reconnect to try each setting
Code: [Select]
Starting
;; Start thread for: COM11 - Kunkin KP184
;; COM11: Set params: 9600
;; COM11: Tx <mode?>
;; COM11: Tx <holdingL? 0x0110>
;; COM11: Tx: 01 03 01 10 00 04 44 30
java.lang.NullPointerException: Cannot load from byte/boolean array because "ans
wer" is null
        at dk.hkj.devices.DeviceModbus$TranslatingCommInterface$ModbusRTUInterfa
ceKunkin.readHoldingInputL(DeviceModbus.java:396)
        at dk.hkj.devices.DeviceModbus$TranslatingCommInterface.write(DeviceModb
us.java:874)
        at dk.hkj.comm.CommInterface.writeRead(CommInterface.java:106)
        at dk.hkj.main.SCPICommand.writeReadDelay(SCPICommand.java:162)
        at dk.hkj.main.SCPICommand.writeReadInternal(SCPICommand.java:211)
        at dk.hkj.main.SCPICommand.writeRead(SCPICommand.java:256)
        at dk.hkj.main.DeviceInterface.doCommand(DeviceInterface.java:77)
        at dk.hkj.main.DeviceInterface.threadStarted(DeviceInterface.java:244)
        at dk.hkj.devices.DeviceSCPI.threadStarted(DeviceSCPI.java:28)
        at dk.hkj.main.InterfaceThreads$DeviceThread.initDevice(InterfaceThreads
.java:1380)
        at dk.hkj.main.InterfaceThreads$DeviceThread.run(InterfaceThreads.java:1
428)
;; COM11: Rx Timeout
;; Found Kunkin KP184 on USB2.0-Ser! (COM11)
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1608 on: May 08, 2021, 12:21:02 pm »
Try changing the subdriver to:
#subDriver RTU

And try the different handshake combinations again (Remember to restart TestController).
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1609 on: May 08, 2021, 12:30:26 pm »
Try changing the subdriver to:
#subDriver RTU

And try the different handshake combinations again (Remember to restart TestController).
Quote
Starting
;; Start thread for: COM11 - Kunkin KP184
;; COM11: Set params: 115200
;; COM11: Tx <mode?>
;; COM11: Tx <holdingL? 0x0110>
;; COM11: Tx: 01 03 01 10 00 02 C4 32
java.lang.NullPointerException: Cannot load from byte/boolean array because "ans
wer" is null
        at dk.hkj.devices.DeviceModbus$TranslatingCommInterface$ModbusRTUInterfa
ce.readHoldingInputL(DeviceModbus.java:259)
        at dk.hkj.devices.DeviceModbus$TranslatingCommInterface.write(DeviceModb
us.java:874)
        at dk.hkj.comm.CommInterface.writeRead(CommInterface.java:106)
        at dk.hkj.main.SCPICommand.writeReadDelay(SCPICommand.java:162)
        at dk.hkj.main.SCPICommand.writeReadInternal(SCPICommand.java:211)
        at dk.hkj.main.SCPICommand.writeRead(SCPICommand.java:256)
        at dk.hkj.main.DeviceInterface.doCommand(DeviceInterface.java:77)
        at dk.hkj.main.DeviceInterface.threadStarted(DeviceInterface.java:244)
        at dk.hkj.devices.DeviceSCPI.threadStarted(DeviceSCPI.java:28)
        at dk.hkj.main.InterfaceThreads$DeviceThread.initDevice(InterfaceThreads
.java:1380)
        at dk.hkj.main.InterfaceThreads$DeviceThread.run(InterfaceThreads.java:1
428)
;; COM11: Rx Timeout
;; Found Kunkin KP184 on USB2.0-Ser! (COM11)
I installed the program from a nearby thread. Without the "CRC LSB First - 2020 FW and above" checkbox, there is no connection at all.
« Last Edit: May 08, 2021, 12:39:06 pm by PaWill68 »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1610 on: May 08, 2021, 12:50:58 pm »
I installed the program from a nearby thread. Without the "CRC LSB First - 2020 FW and above" checkbox, there is no connection at all.

I do not know what you mean?

As long as TC says it is connected, you can try other commands, may be mode commands has a problem? This is done my typing the command on the command line in TC and pressing ENTER (Without the quotes):
Define current: "current 5"
Ask for defined current: "current?"
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1611 on: May 08, 2021, 01:55:33 pm »
Define current: "current 5"
Ask for defined current: "current?"


Quote
current 5
;; KP184: Tx <current 5>
;; KP184: Tx <holdingL 0x0116 5 *1000>
;; COM11: Tx: 01 10 01 16 00 02 04 00 00 13 88 72 4F
current?
;; KP184: Tx <current?>
;; KP184: Tx <holdingL? 0x0116 /1000>
;; COM11: Tx: 01 03 01 16 00 02 24 33
java.lang.NullPointerException: Cannot load from byte/boolean array because "ans
wer" is null
        at dk.hkj.devices.DeviceModbus$TranslatingCommInterface$ModbusRTUInterfa
ce.readHoldingInputL(DeviceModbus.java:259)
        at dk.hkj.devices.DeviceModbus$TranslatingCommInterface.write(DeviceModb
us.java:874)
        at dk.hkj.comm.CommInterface.writeRead(CommInterface.java:106)
        at dk.hkj.main.SCPICommand.writeReadDelay(SCPICommand.java:162)
        at dk.hkj.main.SCPICommand.writeReadInternal(SCPICommand.java:211)
        at dk.hkj.main.SCPICommand.writeRead(SCPICommand.java:256)
        at dk.hkj.main.DeviceInterface.doCommand(DeviceInterface.java:77)
        at dk.hkj.main.CommandProcessor.processCommands(CommandProcessor.java:28
34)
        at dk.hkj.main.PaneCommand.processCommand(PaneCommand.java:1437)
        at dk.hkj.main.PaneCommand.access$20(PaneCommand.java:1435)
        at dk.hkj.main.PaneCommand$31.keyTyped(PaneCommand.java:893)
        at java.desktop/java.awt.AWTEventMulticaster.keyTyped(AWTEventMulticaste
r.java:248)
        at java.desktop/java.awt.Component.processKeyEvent(Component.java:6569)
        at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2
849)
        at java.desktop/java.awt.Component.processEvent(Component.java:6391)
        at java.desktop/java.awt.Container.processEvent(Container.java:2263)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4990
)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321
)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
        at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFo
cusManager.java:1950)
        at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(De
faultKeyboardFocusManager.java:870)
        at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent
(DefaultKeyboardFocusManager.java:1139)
        at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions
(DefaultKeyboardFocusManager.java:1009)
        at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(Defau
ltKeyboardFocusManager.java:835)
        at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4871
)
        at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321
)
        at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2769)
        at java.desktop/java.awt.Component.dispatchEvent(Component.java:4822)
        at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:77
2)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
        at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
        at java.base/java.security.AccessController.doPrivileged(AccessControlle
r.java:391)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doInt
ersectionPrivilege(ProtectionDomain.java:85)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doInt
ersectionPrivilege(ProtectionDomain.java:95)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
        at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
        at java.base/java.security.AccessController.doPrivileged(AccessControlle
r.java:391)
        at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doInt
ersectionPrivilege(ProtectionDomain.java:85)
        at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
        at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Even
tDispatchThread.java:203)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDi
spatchThread.java:124)
        at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Even
tDispatchThread.java:113)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.java:109)
        at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThr
ead.java:101)
        at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.jav
a:90)
;; KP184: Rx Timeout

Ask for defined current: "current?" does not work
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1612 on: May 08, 2021, 02:14:38 pm »
I don't understand anything about it. Here is an excerpt from the instructions:
Quote
Instruction example:
The following instances suppose the communication be 01, data is hexadecimal
format.
1.Set up load current:
Send instruction: 01 06 01 16 00 01 04 00 00 07 D0 0C 9D
The meaning of each byte is:
01: equipment address.
06: instruction number written in the single register.
01 16: address written in the target register (load current register).
00 01: the number written in the target register
04: the byte number of data written in the target register. If the target register
is 4-byte register, the value is 4.
00 00 07 D0 : data, if it is 07D0, the current is set up as 2000mA.
0C 9D: check code. The high order is before the low order.
Load return data: 01 06 01 16 00 01 04 00 00 07 D0 0C 9D
When operating single register of the load, the load return data is returning the
instruction as original
;; COM11: Tx: 01 10 01 16 00 02 04 00 00 13 88 72 4F
« Last Edit: May 08, 2021, 02:16:11 pm by PaWill68 »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1613 on: May 08, 2021, 02:16:25 pm »
Define current: "current 5"
Ask for defined current: "current?"

Quote
current 5
;; KP184: Tx <current 5>
;; KP184: Tx <holdingL 0x0116 5 *1000>
;; COM11: Tx: 01 10 01 16 00 02 04 00 00 13 88 72 4F
current?
;; KP184: Tx <current?>
;; KP184: Tx <holdingL? 0x0116 /1000>
;; COM11: Tx: 01 03 01 16 00 02 24 33
java.lang.NullPointerException: Cannot load from byte/boolean array because "ans
wer" is null
Ask for defined current: "current?" does not work

You do not need to post the error message, I am perfectly satisfied with as much as I show above. The rest is due to the NullPointerException and is expected.

Do you have another software you can try setting and reading current, while capturing the messages?
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1614 on: May 08, 2021, 02:17:09 pm »
I don't understand anything about it. Here is an excerpt from the instructions:

Is this instruction valid for the old or the new firmware?
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1615 on: May 08, 2021, 02:26:19 pm »
I can only write the contents of the TC window, not the DOS window.
I only have this manual (Ver1.0 2017.09)
I do not know how to find out the firmware version.
« Last Edit: May 08, 2021, 02:28:46 pm by PaWill68 »
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1616 on: May 08, 2021, 02:36:56 pm »
I can only write the contents of the TC window, not the DOS window.
I only have this manual (Ver1.0 2017.09)
I do not know how to find out the firmware version.

This probably means the example in the manual are for the old software version.
TC with a unmodified Kunkin file is supposed to work directly with the old software.

What I would really like to get is the hex codes for a working set current and get current message, then I can be sure to setup the correct checksum and message format. I had hoped the different tests would have worked.
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1617 on: May 08, 2021, 02:47:03 pm »
Do you have another software you can try setting and reading current, while capturing the messages?
What software can do this?
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1618 on: May 08, 2021, 02:56:29 pm »
Do you have another software you can try setting and reading current, while capturing the messages?
What software can do this?

Somebody has made a software specifically for the Kunkin load (It is in this forum, but probably a few pages back) and it handles both software versions, I do not know if it can do a hex dump or you need to wire a computer in-between to capture it.
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1619 on: May 08, 2021, 04:54:27 pm »
I can install a com port sniffer. There is data from a running program. Will such data be suitable?
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1620 on: May 08, 2021, 05:06:52 pm »
I can install a com port sniffer. There is data from a running program. Will such data be suitable?

Yes, as long as include some message I can replicate (like set current and get current).
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1621 on: May 08, 2021, 05:16:23 pm »
Here, the current changes from 1a to 2a. Sorry that there is a lot of garbage in the log.
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1622 on: May 09, 2021, 10:11:01 am »
I checked the sniffer commands that are listed in the user guide in the "Communication Protocol" section. Here is the data obtained:
Code: [Select]
------ write 2000mA ------------------
01 06 01 16 00 01 04 00 00 07 D0 9D 0C - sniffer
01 06 01 16 00 01 04 00 00 07 D0 0C 9D - manual

------ write 20V ---------------------
01 06 01 12 00 01 04 00 00 4E 20 AB 2B - sniffer
01 06 01 12 00 01 04 00 00 4E 20 2B AB - manual

------ ON ---------------------------
01 06 01 0E 00 01 04 00 00 00 01 5F CA - sniffer
01 06 01 0E 00 01 04 00 00 00 01 CA 5F - manual

------ mode CV -----------------------
01 06 01 10 00 01 04 00 00 00 00 1E 8A

------ mode CC -----------------------
01 06 01 10 00 01 04 00 00 00 01 DF 4A

------ mode CR -----------------------
01 06 01 10 00 01 04 00 00 00 02 9F 4B

------ mode CW -----------------------
01 06 01 10 00 01 04 00 00 00 03 5E 8B
Maybe this will somehow help to understand the problem.
 

Offline HKJTopic starter

  • Super Contributor
  • ***
  • Posts: 2904
  • Country: dk
    • Tests
Re: Program that can log from many multimeters.
« Reply #1623 on: May 09, 2021, 10:39:15 am »
As far as I can see I generate the correct byte string when the #subDriver is "Kunkinx"
I just tried:
;; 12141.70ms KP184: Tx <current 2>
;; 12141.77ms KP184: Tx <holdingL 0x0116 2 *1000>
;; 12141.85ms COM15: Tx: 01 06 01 16 00 01 04 00 00 07 D0 9D 0C

This means the most likely reason is the handshake settings that I asked you to try before.
 

Offline PaWill68

  • Regular Contributor
  • *
  • Posts: 117
  • Country: ru
Re: Program that can log from many multimeters.
« Reply #1624 on: May 09, 2021, 11:07:14 am »
This means the most likely reason is the handshake settings that I asked you to try before.
I tried both #subDriver Kunkinx and #subDriver RTU. Also ;#verifyDevice 1840 model? commented out. Without this, the connection is not established. I didn't notice the difference. No data is received from KP184. Did another data acquisition from KP184:
Code: [Select]
01 03 03 01 00 00 14 4E
01 03 1F 02 05 00 00 00 00 00 00 00 00  00  00  FA  00  FA  00  03  E8  00 00 00 00 4E 20 00 00 00 00 00 00 00 00 E9 91 - 0v
01 03 1F 02 05 00 10 63 00 00 00 00 00  00  00  FA  00  FA  00  03  E8  00 00 00 00 4E 20 00 00 00 00 00 00 00 00 0E 8D - 4.195v
               |  volt |current|
01 03 30 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15 D16 D17 D18 CRCH CRCL - manual
« Last Edit: May 09, 2021, 11:21:25 am by PaWill68 »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf