Vichy (Vici) VC8145 Digital Multimeter - RS232 Protocol

I have a Vichy VC8145 Digital Multimeter. AFAIK it is also known under 'Vici' name. It has a Windows control soft, but it

So I took a sniffer and looked which commands the original soft sends to the device. And then tried to interpret responses. Here are the results.

General

RS232 connection: 9600 baud, no parity, 8 bits, 1 stop bit, no flow control.

The device answers to request, it never sends own packets without request. A request is one byte command code, without arguments.

In following description all numbers are hex.

Commands without response

Following commands don't generate any response. Actually, they emulate pressing of corresponding buttons on the panel.

Commands with response

Responses from different commands have similar structure:

Note: sometimes responses are corrupted, so one should check expected response length and format.

Note: meaning of the second last byte is unknown, m.b. some check-sum.

Device state

The tree bytes after command code represent actual state of the device.
byte 1 byte 2 byte 3
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
1 mode 0 select 1 auto-range range 2ndVIEW 1 max-min 0 rel

mode:

select: submode - actually, count of "select" button press.

range: exactly meaning depends on mode and 2nvVIEW.

2ndVIEW: mode of the second display.

max-min:

rel:

Command 8A

Value of the analog bar. 9 bytes response.
byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 byte 8
7 6 5 4 3 2 1 0
8A the device mode 0 sign 0 0 0 0 80 value unknown 0A

sign:

value: is equal to number of marks + 7F

Command 89

Value of the main display. 12 bytes response.
byte 0 byte 1 byte 2 byte 3 byte 4 byte 5 byte 6 byte 7 byte 8 byte 9 byte A byte B
7 6 5 4 3 2 1 0
89 the device mode 0 sign range? hold-mode value unknown 0A

sign: same as for the command 8A.

hold:

range?: possible range of the value, has to be inspected nearly

value: each byte represents one digit from the display. First nibble is always 3, second:

Command 8B

Value of the second display. Same format as for the command 89.

If the second display is disabled in actual mode, the response data is "40 3F 3F 3F 3F 3F 37".

Node: in continuous/diode mode, the "short/open" state is not reported.

Other commands

The device answers to commands 80-96 too. They have similar responses to 89, 8A, 8B. But I didn't inspect them.