To Consort website  |  Print page

User Tools

Site Tools


doc1

C30xx_ComputerControl

Original file

C30xx Digital communication

Introduction

The new range of electrochemical instrumentation C30xx from Consorthas been completely redesigned and is significantly improved compared to his predecessors. The digital communication allows more direct commands to be able to read faster and more accurate.

Digital ports

The devices ending on a '0' are equipped with an USB and a RS232 port, the device ending on '1' are equipped with an Ethernet and a RS232 port.

The Ethernet systems require some set up which is explained in the Ethernet Configuration document which can be downloaded from our websitehttp://www.consort.be, section Downloads>Software.

The USB driver can be downloaded from our website http://www.consort.be, section Downloads>Software.

After installing the Ethernet or USB driver, the instrument will appear, when connected, as a serial COMx port. Set the communication software to use this port. The default serial communication settings are 19200 baud, 8 data bits, 1 stop bit, No parity.

The device allows a baudrate up to 115200 bps. Most computers can operate at this high speed which might be interesting especially for transferring a large data table to the computer.

Command protocol to send

Commands are sent according to the next protocol:

'>' + Command + Data + Checksum + CR + LF

With:

'>'Start of command protocol.
CommandSingle byte. A specific character invoking a special action or requesting information from the device.
DataAdditional binary information to complete the command.
This is not always required. See the command table when data is required.
ChecksumSingle byte, the lowest binary byte of the sum of the previous bytes which have already been sent starting from '>'.
CR+LFCarriage return + Linefeed, or ASC(13)+ASC(10).
To indicate the termination of the command. These 2 bytes are not required for the receipt of the command and may be omitted.

- the single quote signs are only to indicate it is a character, the signs are not to be sent to the device.

- the + signs are to not to be sent either unless when placed between quotes.

- the function ASC() indicates the character with the ASCII value given between the brackets ought to be used.

- Simple commands that do not require additional data don't need to be completed with the checksum.

Command protocol to receive

Responses to the command are sent by the device follow the next protocol:

'<' + Command (+ Size + Data) + Checksum + CR + LF

With:

'<'Start of response.
Note the opposite direction of the character, compared to the protocol to send.
CommandSingle byte.
The command for which is being responded.
SizeBinary single byte value.
The amount of data bytes to follow. The size is only returned when data is following. See the outline|command table when size and data will follow.
DataThe requested information. This information can be ascii coded or binary. See the outline|command table when and which data will follow.
ChecksumSingle byte.
The lowest byte of the binary sum of the previous bytes which have already been sent starting from '<'.
CR+LFCarriage return + LineFeed, or ASC(13)+ASC(10), to indicate the termination of the response.
()Size and data are not always returned! See the outline|command table when and which data will follow.

Command table

CommandAdditional data bytesReturned data bytesPurposeSee
'?' Request to print last measurements in ASCII format outline|Print measurements
'-' Disable user keyboard outline|Keyboard
'+' Enable user keyboard outline|Keyboard
'B'1 Simulation of key outline|Key simulation
'S' yesRequest the settings from the device outline|Settings
'M'1yesRequest measurements from a channel outline|Request Measurement
'F'1 Change display Output outline|Display output
'G' yesReturn the GLP report from the current focused channel outline|GLP report
'D'4 Modify the data logger settings outline|Parameters Data log
'L' yesRequests complete Data table in ASCII format outline|Data table text
'l'8yesRequests Data information in binary format outline|Data table binary
'Y' yesRead date and time from device outline|Read Date/time
'y'6 Set date and time from device outline|Set Date/time
'X'1yesRead text row from display outline|Display text
'(', ')' Start and stop dumping of display text outline|Start/Stop Display dump
'I'1yesRequest specific device information outline|Device Information
'U'2yesRead specific user table outline|Read User table
'u'65 Store user table outline|Store User table
'R'4 Resets/Restarts the device outline|Reset

Command specifications + examples

Conventions

  • The examples are written in a coloured fixed pitch font (Courier).
  • The blue coloured text in the example highlights the text sent by the computer (see outline|Command protocol to send).
  • The magenta coloured text highlights the answer received from the device (see outline|Command protocol to receive).
  • Green text highlights additional comments or clarifications which are not sent or received.
  • The examples are either given in ASCII text or as binary codes, hexadecimally written. The ASCII coded examples don't always show the additional code for the checksum, carriage return and linefeed.

Send the command '?' to request the last measurements.

e.g.

?

<?{

31/05/2010 15:00:18 7.215 pH 18.2 °C

0.73 ng/l 18.2 °C

Keyboard

With the commands '-' and '+', it is possible to disable and enable the keyboard so the user cannot interact while the software communicates. This way the software can control the device completely. The keyboard is automatically re-enabled when the device restarts.

e.g.

-

←i /* the keyboard is now disabled */

+

<+g /* the keyboard is now enabled */

Key Simulation

With the commands 'B' and an additional code (see table below), it is possible to simulate the keyboard.

As soon as a 'B' command has been received, the keyboard will be automatically disabled and should be enabled again with the '+' command when required.

Table Key codes:

Code (binary!)Key
0UP (arrow)
1OK
2DOWN (arrow)
3STORE
4CAL
5HOLD
6MODE

e.g.

3E 42 00 80 0D 0A/* '>B'+CHR(0)+CS+CR+LF : Simulate up arrow */

3C 42 7E 0D 0A/* Device answer, command is accepted */

/* the keyboard is now disabled !! */

Request Settings

The command 'S' returns the binary settings of the device.

e.g.3E 53 91 0D 0A

3C 53 28 02 03 E8 05 FF 00 01 03 00 00 02 02 00 40 00 00 00 00 01 02 03 04 05 00 3C 2E E0 00 00 00 00

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

00 00 00 00 00 00 04 00 00 4D 0D 0A

34 35 36 37 38 39 40 41 42 43 44 45 : byte number offsets)

Data record structure

Byte 0, 1:

'<S' = start of answer from device

Byte 2:

number of bytes to follow, excluding checksum + termination code CR+LF,

here 40 bytes.

Byte 3:

Display focus number. The device has several display outputs which are selected manually using the arrow keys. These are indicated with a focus number starting from 0. This number can be checked this way. The focus can be changed using a specific command.

Byte 4, 5:

Temperature reference for conductivity measurements.

= 1000 for 25°C

= 896 for 20°C

Byte 6:

Display Contrast setting

Byte 7:

Standby setting. When 0, the device will stop operation after pressing the standby button or after a power failure, otherwise, the device will restart each time.

Byte 8:

Language setting. 0 = English, 1 = Dutch, 2 = French, 3 = German

Byte 9, 10, 11, 12, 13, 14:

Measurement settings of all the channels.

Here in the example are 6 bytes given for 6-channel model C3040, there are only 2 bytesfor the models C3010, C3020, C3030.

Byte 15: (11for the models C3010, C3020, C3030)

Display resolution settings.

Byte 16, 17, 18, 19: (12, 13, 14, 15for the models C3010, C3020, C3030)

32 bits Password settings. The highestbit (32nd) indicates the password is enabled.

Byte 20, 21, 22, 23, 24, 25: (16, 17for the models C3010, C3020, C3030)

Settings of the ATC channels. The byte sequence and the number contents indicates for which channel the °C measurement will be used as temperature compensation. In this example byte 20 indicates °C1 is used for CH1, byte 21 indicates °C2 is used for CH2, … byte 25 indicates °C6 is used for CH6. Also here are only 2 bytes for the models C3010, C3020, C3030.

Byte 26, 27: (18, 19for the models C3010, C3020, C3030)

Data log settings:

Highestbit (16th) = the data logger is enabled when 1.

Second highestbit (15th) = memory rotation or continuous data registration.

Remaining lower 14 bits: Time interval in seconds

Byte 28, 29: (20, 21for the models C3010, C3020, C3030)

Data log settings: irrelevant information

Byte 30, 31: (22, 23for the models C3010, C3020, C3030)

Data log settings: Number of logged data points

Byte 32, 33, 34, 35, 36: (24, 25, 26, 27, 28for the models C3010, C3020, C3030)

Data log settings: irrelevant information

Byte 37, 38, 39, 40, 41, 42: (29, 30, 31, 32, 33, 34for the models C3010, C3020, C3030)

Digital output settings of which byte 41 and 42 (33 and 34) returns the time interval in seconds.

Byte 43: (35for the models C3010, C3020, C3030)

lowest byte of Checksum of preceding data bytes

Byte 44, 45: (36, 37for the models C3010, C3020, C3030)

CR + LF, End of data block

Request measurement

The command to print the measurements (using '>?') returns ASCII coded measurement values of all active channels. This requires more time for the sending and can only be used during the regular measurement mode. To request the measurements during calibrations or to reduce communication time, use the command 'M' + (the channel number – 1) for which the data is requested. The device will return all measurement and status information for that channel as binary data.

Before device version 1.7:

e.g.Request the measurement from channel 1 (⇒ Send 'M'+0, see outline|command table)

3E 4D 00 8B 0D 0A /* send the request */

3C 4D 13 00 80 01 01 28 00 3E 7E 2A 00 00 94 E3 00 03 D0 90 03 E4 ED 0D 0A /* returned data */

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 : byte number offsets)

Data record structure

Byte 0 + 1 = '<M':

start of answer from device

Byte 2:

number of bytes follow, excluding checksum + termination code CR+LF,

here 19 bytes.

Byte 3+4: 16 bit information with measurement status of which:

bit 14:temperature out of range, when 1

bit 13:temperature probe connected, when 1

bit 11:measurement out of range, when 1

bit 7:measurement is found to be stable, when 1

Byte 5: Type of measurement. This will depend on the device model.

Byte 6, 7, 8, 9, 10: Internal information, not of use

Byte 11: Output format of measurement.

See the table outline|Measurement formats to find here the value 2A (= 42 decimal) corresponds with the format of '0,001 pH'.

Byte 12, 13, 14, 15:

32 bits with measurement data where the value 10000 corresponds to the unit 1. In this example, the hex value 00 00 94 E3 corresponds with 38115. Using the format from byte 11, this example returns thus the value of '3,811 pH'.

Byte 16, 17, 18, 19:

32 bits with temperature measurement where the value 10000 corresponds to the unit 1.

Here is the temperature 00 03 D0 90 corresponding to 250000 or 25,0°C.

Byte 20, 21: Not for the models C3010, C3050 and C3060(without Dissolved Oxygen Measurements)

16 Bits with air pressure measurement.

The value 03 E4 corresponds to an air pressure of 996 hPa.

Byte 22: lowest byte of Checksum of preceding data bytes

Byte 23, 24: CR + LF, End of data block

Starting from device version 1.7:

The returned data is reduced to only the useful information bytes. It also possible now to request the measurements of all channels at once by using 255 as channel number

e.g.Request the measurement from channel 2 (⇒ Send 'M'+1, see outline|command table)

3E 4D 01 8C 0D 0A/* send the request */

3C 4D 0E 20 00 09 1E 00 01 F4 C8 00 02 D1 E4 03 DE 33 0D 0A /* returned data

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 : byte number offsets) */

Data record structure

Byte 0 + 1 = '<M':

start of answer from device

Byte 2:

number of bytes follow, excluding checksum + termination code CR+LF,

here 14 bytes.

Byte 3+4: 16 bit information with measurement status of which:

bit 14:temperature out of range, when 1

bit 13:temperature probe connected, when 1

bit 11:measurement out of range, when 1

bit 7:measurement is found to be stable, when 1

Byte 5: Type of measurement. This will depend on the device model.

Byte 6: Output format of measurement.

See the table outline|Measurement formats to find here the value 1E corresponds with the format of '0,1 µg/l' (Ion measurement).

Byte 7, 8, 9, 10:

32 bits with measurement data where the value 10000 corresponds to the unit 1. In this example, the hex value 00 01 F4 C8 corresponds with 128200. Using the format from byte 1E, this example returns thus the value of '12,8 µg/l'.

Byte 11, 12, 13, 14:

32 bits with temperature measurement where the value 10000 corresponds to the unit 1.

Here is the temperature 00 02 D1 E4 corresponding to 184804 or 18,5°C.

Byte 15, 16: Not for the models C3010, C3050 and C3060(without Dissolved Oxygen Measurements)

16 Bits with air pressure measurement.

The value 03 DE corresponds to an air pressure of 990 hPa.

Byte 17: lowest byte of Checksum of preceding data bytes

Byte 18, 19: CR + LF, End of data block

e.g.Request the measurements from all available channels

3E 4D FF 8A 0D 0A

3C 4D 1C 00 80 02 00 00 25 E3 38 00 03 D0 90 03 E1 20 80 09 1E 00 01 F5 F4 00 02 D0 AC 03 E1 C1 0D 0A

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 /* offsets */

These returned data bytes contain the measurements from the 2 channels from the C3030 device. The measurements are returned in the order of the channels.

Bytes 0, 1 en 2:Start of answer and the number of returned bytes (here = 1C or 28 decimal)

Bytes 3 → 16:14 bytes of data from first channel. The analysis is similar to bytes 3 → 16 from the previous example.

Bytes 17 → 30:14 bytes of data from the second channel. The analysis is similar to bytes 3 → 16 from the previous example.

Bytes 31: lowest byte of Checksum of preceding data bytes

Bytes 31: CR + LF, End of data block

Set Display Output

The device has several display outputs which are normally selected by the user manually with the arrow keys. It is required to set the correct channel on the display to start the calibration or to request some info like the GLP report.

Use the command 'F' + (channel number) to set a specific channel measurement on the display. The display with measurement information of all channels has the number 0, the channels start from 1, the temperature displays start from 1+number of channels.

e.g.To set the display of CH2

3E 46 02 86 0D 0A

3C 46 82 0D 0A

To set the display of °C3 for the C3040 model (6 channels)

3E 46 09 8D 0D 0A

3C 46 82 0D 0A

Request GLP report

Request the GLP report from the current displayed channel. This is the same as selecting manually GLP>SEND REPORT from the calibration menu.

e.g.>G

GLP

Device : C3040

Version : 1.2

Serial nr. : 9999999

Channel : 2

Input : S/cm

Reference temp. : 25°C

Cap.Comp. : NO

CALIBRATION

Date : 00/00/2000

Time : 00:00:00

Reference temp. : 25°C

Standard 1 : 0.01M KCl

Value : 0.000µS/cm

CC : 0.000cm1

°C : 0.0

Time : 00:00

Standard 2 : 0.01M KCl

Value : 0.000µS/cm

CC : 1.000cm1

°C : 25.0

Time : 00:00

Standard 3 : 0.01M KCl

Value : 0.000µS/cm

CC : 1.000cm1

°C : 25.0

Time : 00:00

STATISTICS

CC1 : 1.000cm1

CC2 : 1.000cm1

CC3 : 1.000cm1

Set Parameters Data log

The command 'D' allows to adjust the data log parameters while measuring. Four additional bytes (32 bits) are required:

  • Highest bit: enable data log function
  • 2nd highest bit: log continuously when 1. The oldest data can be overwritten.
  • The next 14 bits is the Interval of time in seconds, max 14400 = 4 hours.
  • The next bit is irrelevant
  • The lowest 15 bits is the maximum number of data points to log. The device is technically limited to 12000 points.

e.g.Enable the data log function, have the values logged at an interval of 15 seconds and let it end when 10000 values have been logged.

3E 44 80 0F 27 10 48 0D 0A

3C 44 80 0D 0A

Enable the data log function, have the values logged at an interval of 1 minute and keep only the last 60 values in memory.

3E 44 C0 3C 00 3C BA 0D 0A

3C 44 80 0D 0A

Mind that these settings remain valid only as long as the measurement mode has not been canceled due to entering the settings or a calibration. The number of data points to log will then be reset to its maximum. Therefore it is advised to resend the settings when returning in measurement mode.

It is not really advised to log data continuously when less then 12000 points need to be logged. This leads to mixed time points in the data table.

Request Data table as text

The command 'L' is the same as manually selecting DATA>PROCESS>SEND from the SETTINGS menu.

It is required to use this command during a measurement display screen. This can be achieved by sending a outline|Set Display Output command first.

e.g.

<Lˆ

LOG.0000126/08/201008:10:39CH1 15.57pH 21.9°C

LOG.0000226/08/201008:10:39CH21060.µS/cm 22.3°C

LOG.0000326/08/201008:10:39CH3-501.5mV 25.0°C

LOG.0000426/08/201008:10:39CH4-501.5mV 25.0°C

LOG.0000526/08/201008:10:39CH5-501.5mV 25.0°C

LOG.0000626/08/201008:10:39CH6-501.5mV 25.0°C

LOG.0000726/08/201008:10:49CH1 15.57pH 21.9°C

LOG.0000826/08/201008:10:49CH21060.µS/cm 22.3°C

LOG.0000926/08/201008:10:49CH3-501.5mV 25.0°C

LOG.0001026/08/201008:10:49CH4-501.5mV 25.0°C

LOG.0001126/08/201008:10:49CH5-501.5mV 25.0°C

LOG.0001226/08/201008:10:49CH6-501.4mV 25.0°C

Request Data table as binary data

The command 'l' allows to read the data table as binary information. This is a lot faster but requires the receiver program to decode the information.

Additional required information are:

  • a 4 byte long number, the start record number,
  • a 4 byte long number, the number of records to send.

The device will first return the number of records which will be actually returned. This number can be different from the requested number depending on the amount of available records starting from the given start record number.

e.g.Read the first 100 data records, starting from 0

3E 6C 0 0 0 0 0 0 0 64 E 0D 0A' The request

3C 6C 0 0 0 64 C D A' the 4 byte number of records/lines (here 100) which will be returned

3C 6C A 3C CF 1 D A 82 A7 D2 2B 0 FB D A ' first record at address 0,

3C 6C A 4 24 11 11 A 82 A7 D2 7 0 8 D A ' address 1, record 2

3C 6C A EC 69 21 2C A 82 A7 D2 0 0 59 D A ' address 2, record 3

3C 6C A EC 69 31 2C A 82 A7 D2 0 0 69 D A ' address 3, record 4

3C 6C A EC 69 41 2C A 82 A7 D2 0 0 79 D A ' address 4, record 5

3C 6C A EC 69 51 2C A 82 A7 D2 0 0 89 D A' and so on …

… … …

3C 6C A EC 69 21 2C A 83 53 D2 0 0 6 D A ' address 98, record 99

3C 6C A EC 6A 31 2C A 83 53 D2 0 0 17 D A' address 99, record 100

Data record structure

The returned information from a data record contains 10 bytes with the following information.

Here's a description with the data from the first record as example: 3C CF 01 0D 0A 82 A7 D2 2B 00

or binary written:

  • First 2 bytes = The measured value.
    • 3C CF or 15567: This value needs to be multiplied with the 'Data value multiplicator', which can be found in the outline|measurement format table, to obtain a 32 bit measurement value based on 10000 as unit value. The required measurement format can be retrieved from the lower 6 bits from the 9th data byte.
      * Next 2 bytes contain the channel number minus 1 and the measured temperature:
    • highest 4 bits (b15 b12) = channel number minus 1
      The example is 0, this is the lowest channel number CH1.
    • lowest 12 bits (b11b0) = temperature.
      In the example: 1 0D or 269, this value has an offset of the minimal temperature (-5,0°C) and needs to be multiplied with the 'Data value multiplicator' for °C, which can be found in the outline|measurement format table, to obtain a 32 bit measurement value based on 10000 as unit value. The resulting °C value is (269-50)*1000 = 219000 or 21,9°C.
      * The 5th Byte contains the 'out of range flag' and the lowest 2 digits of the year.
    • The highest bit is 1 when the value or the temperature is out of range
      In the example: 0, No out of range measurements.
    • The lowest seven bits is a number for 0 to 99, indicating the last 2 digits of the year
      In the example: 0A, year 10 (lowest 2 digits from 2010).
      * The 6th , 7th , 8thand 9th byte (32 bits, starting from b31 down to b0) contain the date/time information and the measurement format range.
      In the example, this information is binary: 1000 0010 1010 0111 1101 0010 0010 1011
    • b31 → b28:4 bits with the Month (0..12), in example 1000 = 8, the month August
    • b27 → b22:6 bits with the Minutes (0..59), in example 0010 10 = 10
    • b21 → b16:6 bits with the Seconds (0..59), in example 10 0111 = 39
    • b15 → b11:5 bits with the date (day of the month, 0..31), in example 1101 0 = 26
    • b10 → b6:5 bits with the hour (0..23), in example 010 00 = 8
    • b5 → b0: 6 bits with the outline|measurement format table index, in example 10 1011 = 43 or the range 0.01 pH.
      * The 10th byte returns additional information which has the following values:
    • 0The data is recorded due to the timer
    • 1The data is recorded due to pressing the STORE button
    • 2The data is recorded due to pressing the HOLD button

The recorded data from the example is 15.57 pH, 21.9°C on the 26th of August, 2010 at 08:10:39. The value is recorded due to the timer.

Read Date/time

e.g.Send the 'Y' command to return the date and time

3E 59 0D 0A

3C 59 6 A B F 11 C 1D F9 D A

Returned information:

  • 3C 59 6First 3 bytes = start of answer + number of data bytes to follow.
  • A B F Next 3 bytes form the date in the order Year (10), month (11) and date (15).
  • 11 C 1DNext 3 bytes form the time in the order hour (17), minutes (12) and seconds (29).
  • F9 D ALast 3 bytes with checksum and closing codes.

The current date and time here is: 15 November (20)10, 17:12:29.

Set Date/time

e.g.Send the 'y' command +data to set the date and time to 15 Nov 10, 17:30:00

3E 79 A B F 11 1E 0 A 0D 0A' '>y' + year + month + date + hour + minutes + seconds + CS + cr + lf

3C 79 B5 D A

Read Display text

One line of the text on the display can be read using the command 'X' + line number (starting from 0).

Important:

- Only the regular text format will be returned, Bold characters and large font characters are not returned!

- The number of returned characters depend on the current action of the device. Some display outputs give also help information on the right side, which is not returned with this command.

e.g.Read line 0 during the display of the measurement of CH1:

3E 58 00 96 0D 0A/* 'X' + 0 + … */

3C 58 28 31 20 70 48 20 20 20 20 20 20 20 20 20 20 20 20 32 35 2E 30 F8 43 20 0D 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 0D 0A

40 bytes are returned for the line as ASCII formatted characters =

'1 pH 25.0øC '

Read line 2 during the display of the pH calibration menu:

3E 58 02 98 0D 0A

3C 58 15 20 20 42 75 66 66 65 72 32 3A 20 20 20 34 2E 30 30 20 70 48 20 C9 0D 0A

Only 21 bytes are returned for the line as ASCII formatted characters =

'Buffer2: 4.00 pH '

Start/Stop Display dump

When sending the command '(' the device starts to send all data written to the display, also to the serial port. The dumping will be stopped when sending the closing bracket command ')'.

Each string sent to the display will be terminated with a CR+LF combination on the serial port.

e.g.Start the dump during the pH measurement:

(f_' start the dump

<(d_

18/04/2012_08:47:05_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_' the characters '_'

18/04/2012_08:47:06_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_' are CR+LF combinations

18/04/2012_08:47:06_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:07_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:07_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:08_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:08_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:09_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:09_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:10_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

18/04/2012_08:47:10_1_ -10.5_mV_2_ 72.3_°C_ 0.61_ng/l_

)g_' stop the dump

<)e_

Mind that special characters such as battery symbols are given in the internal font code which is similar to the ASCII table, besides these special characters. Mind that characters with an ASCII code less then a space (0x20) are given as underscore '_'.

Device Information

Using the command 'I' with extra byte, it is possible to request some device specific information.

ByteReturned information
0Device model
1Version
2Serial number
199,99Special codes. See outline|Store User Table

e.g.Request model:

3E 49 00 87 0D 0A

3C 49 05 43 33 30 33 30 93 0D 0A/* '<I'+nr of data bytes+'C3030'+Checksum+CR+LF */

Request version:

3E 49 01 88 0D 0A

3C 49 04 20 31 2E 37 3F 0D 0A/* '<I'+nr of data bytes+' 1.7'+Checksum+CR+LF */

Read User table

There are 5 pH user tables and 3 Conductivity user tables available in these devices. It is possible to read these user tables using the command 'U' added with the table number – 1 and the table type (0x00 = pH, 0x01 = EC). More explanation is given in the following examples.

e.g.Read pH user table nr. 2

3E 55 01 00 94 0D 0A/* '>U'+0x01+0x00+Checksum+CR+LF = Read pH table 2 (BUF2)*/

3C 55 41 /* start of answer '<U' + 65 data bytes to follow */

42 55 46 32 00 00 /* 6 bytes: 5 characters with name('BUF2') + 0x00 as end of string*/

00 00 C3 50 00 09 27 C0 /* 10 bytes: 4 bytes as minimum and 4 bytes as maximum temperature,

(here 50000 (00 00 C3 50) and 600000 (00 09 27 00), or 5,0 and 60°C */

0B/* 1 byte as size of table -1: 0B=11 ⇒ 12 values of 4 bytes each, */

02/* 1 byte with irrelevant information, NOT USED */

00 00 71 A800 00 00 0000 00 00 0000 00 00 00/* 12 table values (4 bytes each)starting from 5

←—0—→ ←—1—→ ←—2—→ ←—3—→ / to 60°C. The value at 25°C (group 4)is*/

00 00 71 A800 00 00 0000 00 71 A800 00 00 00/* obligatory. Values equal to 0 are not used !

←—4—→ ←—5—→ ←—6—→ ←—7—→ / The representation of the values is in */

00 00 00 0000 00 00 0000 00 00 0000 00 00 00/* combination with the measurement format byte

←—8—→ ←—9—→ ←—10—> ←—11—> / (=last table byte = 2B) */

2B /* Format of the table values = '0,01 pH' (see outline|Measurement formats)*/

67 0D 0A/* checksum + CR +LF */

e.g.Read Conductivity (EC) user table nr. 1

3E 55 00 01 94 0D 0A/* '>U'+0x00+0x01+Checksum+CR+LF = Read EC table 1 (STD1) */

3C 55 41 /* start of answer '<I' + 65 data bytes to follow */

53 54 44 31 00 00 /* 6 bytes: 5 characters with name ('STD1') + 0x00 as end of string */

00 00 C3 50 00 05 57 30 /* 8 bytes: 4 bytes as minimum and 4 bytes as maximum temperature,

(here 50000 (00 00 C3 50) and 350000 (00 05 57 30), or 5,0 and 35°C

(see outline|Measurement formats) */

06/* 1 byte as size of table-1: 06 ⇒ 7 values of 4 bytes each */

02/* 1 byte with irrelevant information, NOT USED */

00 00 00 0000 9B A3 C000 AF 04 B000 C3 01 E0/* 12 table values (4 bytes each)starting from 5

←—0—→ ←—1—→ ←—2—→ ←—3—→ / to 35°C. The value at 25°C is obligatory. The */

00 D7 9B 5000 EC D1 0000 00 00 0000 00 00 00/* last 5 table values (marked X) are not used

←—4—→ ←—5—→ ←—6—→ ←—X—→ / but are required. */

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 /*

←—X—→ ←—X—→ ←—X—→ ←—X—→ / */

07 /* Format of the table values = '1 µS/cm' (see outline|Measurement formats) */

20 0D 0A/* checksum + CR +LF */

Store User table

It is also possible to store your user tables with the 'u' command. It is however required to follow the next procedure:

  1. Set the device in the SETTINGS menu mode using the 'B' command.
  2. Send the outline|Device Information command code with the first unlock code 0xC7.
  3. Send the outline|Device Information command code with the second unlock code 0x63.
  4. Send the table number, table type and the table information in the same format as one can read them with the 'U' command (mind the capital size or lower case of the command codes!). This table format requires : (see examples in outline|Read User Table)

    - 6 bytes for the table name,
    - 10 bytes with table information,
    - 48 bytes with table values, also required for EC for which the last 20 bytes are irrelevant !
    - 1 byte with the measurement format of the table values (Important for EC!)

e.g.Store the table 0,01 M KCl as EC table nr 3

3E 46 00 84 0D 0A/* Step1: '>F'+ 0x00 = command to get into the SETTINGS menu */

3C 46 82 0D 0A/* device confirmation */

3E 49 C7 4E 0D 0A/* Step2: '>I'+ 0xC7 (199) = First step of unlock code */

3C 49 85 0D 0A/* device confirmation */

3E 49 63 EA 0D 0A/* Step3: '>I'+ 0x63 (99) = Second step of unlock code */

3C 49 85 0D 0A/* device confirmation */

3E 75 02 01 /* Step4: '>u'+ 0x02 (= table number 3)+ 0x01 (=EC table) */

53 54 44 31 00 00 00 00 C3 50 00 05 57 30 06 02 /* table name + min/max°C+ … */

00 88 B8 00 00 9B A3 C0 00 AF 04 B0 00 C3 01 E0 /* first 4 values */

00 D7 9B 50 00 EC D1 00 00 00 00 00 00 00 00 00 /* next 4 values */

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 /* last 4 values */

07 /* Measurement format */

44 0D 0A /* checksum + CR + LF */

3C 75 B1 0D 0A/* device confirmation */

Mind that all these table elements (name, min/max, values, format, irrelevant values/bytes, …) are required but only the 12 values and the measurement format for conductivity tables will be stored. The measurement format cannot be changed for pH tables. The names, min/max temperature, number of table values… cannot be changed.

There is no control on the 12 table values or the measurement format when writing the table. The incorrectness of these are solely the responsibility of the user.

Restart the device

Send the Command '>R' followed by 'ESET'+Checksum to restart the device. There will be no answer given.

e.g.

3E 52 45 53 45 54 C1 0D 0A /* 'RESET' + Checksum + CR + LF */

The device restarts without any answer !

Measurement formats

The measurements returned as 32 bit numbers are based on the integer 10000 as unit value. The returned format number indicates which value is represented according to the following table. The values should rounded against the given format.

e.g. 1. The measured 32 bit value is 86932, the given format number is 43which is 0,01 pH according to the table. This value represents the measurement of 8,69 pH.

2. The measured 32 bit value is 1006325, the given format number is 9which is 0,1 mS/cm according to the table. This value represents the measurement of 100,6 mS/cm.

CodeFormatUnitData value MultiplicatorMeasurement
00.1 mV 1000Redox Potential
11mV 1000Redox Potential
20.1%O2100Dissolved Oxygen, saturation in water
31%O2100Dissolved Oxygen, saturation in water
40.001 µS/cm 10Conductivity
50.01 µS/cm 100Conductivity
60.1 µS/cm 1000Conductivity
71µS/cm 10000Conductivity
80.01 mS/cm 100Conductivity
90.1 mS/cm 1000Conductivity
101mS/cm 10000Conductivity
110.001 mg/l 10TDS (Total Dissolved Solids)
120.01 mg/l 100TDS (Total Dissolved Solids)
130.1 mg/l 1000TDS (Total Dissolved Solids)
141mg/l 10000TDS (Total Dissolved Solids)
150.01g/l 100TDS (Total Dissolved Solids)
160.1 g/l 1000TDS (Total Dissolved Solids)
171g/l 10000TDS (Total Dissolved Solids)
180.1 MΩ.cm1000Resistivity
190.01MΩ.cm100Resistivity
201 KΩ.cm10000Resistivity
210.1 KΩ.cm1000Resistivity
220.01 KΩ.cm100Resistivity
231 Ω.cm10000Resistivity
240.1 Ω.cm1000Resistivity
250.1 SAL100Salinity
260.01 ng/l100Ion
270.1 ng/l1000Ion
281ng/l10000Ion
290.01 µg/l100Ion
300.1 µg/l1000Ion
311µg/l10000Ion
320.01 mg/l100Ion
330.1 mg/l1000Ion
341mg/l10000Ion
350.01 g/l100Ion
360.1 g/l1000Ion
371g/l10000Ion
380.1 °C 1000Temperature in degrees Celsius
411hPa n.a.Air Pressure
420.001 pH 10pH
430.01 pH 10pH
440.1 pH 10pH
450.01 ppm O2100Dissolved Oxygen in ppm (=mg/l)
460.1 ppm O2100Dissolved Oxygen in ppm (=mg/l)
500.1%100General unit in percentage
511%100General unit in percentage
530.1mVH 1000Redox Potential, Normal Hydrogen Electrode reference
541mVH 1000Redox Potential, Normal Hydrogen Electrode reference
550.01rH2100 rH2, Hydrogen Potential
560.1rH2100rH2,Hydrogen Potential
570.001µW10Power in microWatts, quantification of Vincent
580.01µW100Power in microWatts, quantification of Vincent
590.1µW1000Power in microWatts, quantification of Vincent
601µW10000Power in microWatts, quantification of Vincent
611µW10000Power in microWatts, quantification of Vincent
621µW10000Power in microWatts, quantification of Vincent
631µW10000Power in microWatts, quantification of Vincent
doc1.txt · Last modified: 03/09/2014 07:30 by pieter