Daviteq MBRTU-SAL Salinity Sensor Modbus RTU Output

Daviteq MBRTU-SAL Salinity Sensor Modbus RTU Output

This document is applied for the following products.

Introduction

MBRTU-SAL is a salinity sensor based on electrodeless inductive measurement. It uses the generator to generate an alternating magnetic field in the primary coil to generate an induced current in the medium. The intensity of the induced current depends on the concentration of ions in the medium. The induced current creates another magnetic field in the secondary coil. The receiver measures the induced current on the coil to determine the salinity of the medium. At the same time, the built-in temperature sensor can automatically compensate the temperature, which is suitable for online long-term monitoring of the environment.

Application scope: Marine, industrial wastewater, pharmaceutical, biotechnology, industrial manufacturing and other online whole process monitoring.

Features

  1. The built-in temperature sensor can automatically compensate the temperature
  2. There is no electrode, so there is no polarization reaction
  3. The measurement and the medium are completely electrically isolated, which can be used for high-precision measurement of heavy and easily precipitated medium or solution with low cost of use and maintenance
  4. Low power consumption and anti-interference design of internal circuit

Specifications

ItemSpecifications
OutputRs-485,MODBUS/RTU
Measuring MethodNon contact electromagnetic principle
Range0 ~ 70PSU
Accuracy±1%F.S. or ±0.2PSU(Below 10psu)
Resolution0.1PSU
Working Environment0 ~ 65℃; < 0.6MPa
Calibration MethodTwo point calibration
Respond Time10 seconds T90
Temperature CompensationAutomatic temperature compensation(PT1000)
Power Supply12-24VDC±10%, 10mA;
SizeDiameter 30mm; Length 185.5mm;
Protection levelIP68; The water depth is 20 meters; Other customization
Service Life3 years or above
Cable5m
Sensor housing materialPVC;PEEK;

Wiring

Please wiring as shown below:

Wire colorDescription
BrownPower (12-24VDC)
BlackGND
BlueRS485A
WhiteRS485B
Bare lineShielding Layer

Wiring

Maintenance and Precautions

Maintenance
  • Inductive electrode is basically maintenance free; It is recommended to clean up the sensor probe attachment every 30 days; Avoid the use of hard objects to cause the damage of the light guide part of the measuring probe during cleaning; Please wipe with a soft damp cloth.
  • It is recommended to clean the outer surface of the sensor with water flow. If there is still debris residue, please wipe it with a wet soft cloth.
Note
  • Installation measurement: avoid the installation measurement at the place where the water flow is turbulent, and reduce the influence of water bubbles on the measurement. Keep the measuring probe 2cm away from the bottom.
  • The probe of the sensor is fouling or attached with more organisms, so the cleaning force can be increased appropriately. Slight scratch on the probe surface does not affect the normal use of the sensor. But pay attention not to penetrate the shell of the probe.
  • Suggestion: the protective cover of our company should be selected to prevent the influence of microbial attachment on the measurement results.
Other
ProblemPossible CausesSolution
The operation interface cannot be connected or the measurement results are not displayed are not displayedWrong cable connectionCheck the wiring mode
Wrong sensor addressCheck the address for errors
The measured value is too high, too low or the value is continuously unstable.The sensor probe is attached by
foreign objects
Clean the sensor probe surface
OtherContact after sales

Modbus RTU Protocol

Information frame form

The default data format for Modbus communication of this sensor is:

MODBUS-RTU

Baud rate9600 (default)
Device address1 (default)
Data bits8 bit
Parity checkNone
Stop bit1bit
  • Function code 03: read (R) register value
  • Function code 06: write (W) single register value
Register Address
Register Address (hex)

Symbol

NameR/WIntroductionsNumber of   registers (byte)Data type
0x0100Temperature valueR℃ value x10 (for example: the temperature of 25.6℃ is displayed as 256, the default is 1 decimal.)1 (2 bytes)unsigned short

Symbol

0x0101Salinity valueRPSU value x10 (for example, the salinity value of 12.1psu is displayed as 121, with 1 decimal place by default.)1 (2 bytes)unsigned short

Symbol

0x1000Temperature calibrationR/WTemperature calibration: the written data is the actual temperature value X10; Read out data is temperature calibration offset X10.1 (2 bytes)unsigned short

Symbol

0x1001Zero point calibrationR/WZero point calibration in air. The data written during calibration is 0.1 (2 bytes)unsigned short

Symbol

0x1003Slope calibrationR/WCalibrate in the known standard solution (50% – 100% range), and write the data as the actual value of the standard solution × 10.1 (2 bytes)unsigned short

Symbol

0x2000Sensor addressR/WThe default is 1, and the data range is 1-127.1 (2 bytes)unsigned short

Symbol

0x2003Baud rate settingR/WThe default is 9600. Write 0 is 4800; Write 1 is 9600; Write 2 is 19200.1 (2 bytes)unsigned short

Symbol

0x2020Restore
factory settings
WThe calibration value is restored to the default value and the written data is 0. Note that the sensor needs to be calibrated again after reset.1 (2 bytes)unsigned
shortSymbol
Data structure type

Integer

unsigned int (unsigned short).

The data consists of two integers.

XXXX XXXXXXXX XXXX
Byte1Byte0

Float

Float, According to IEEE 754 (single precision);

The data consists of 1 sign bit, 8-bit exponent, and a 23 bit mantissa.

XXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXX
Byte3Byte2Byte1Byte0
Sign bitExp digitF decimal
Modbus RTU command

Function code 03h: read register value

Host send

12345678
ADR03HStart register high byteStart register low byteRegister number high byteNumber of registers low byteCRC low byteCRC high byte

The first byte ADR: slave address code (= 001 ~ 254)
Byte 2 03h: read register value function code
Byte 3 and 4: start address of register to be read
To read the FCC instrument,
Bytes 5 and 6: number of registers to read
Bytes 7 and 8: CRC16 checksums from bytes 1 to 6

Slave return 

1234 , 56 , 7M-1 , MM+1M+2
ADR03Htotal bytesRegister data 1Register data 2……Register data MCRC low byteCRC high byte

The first byte ADR: slave address code (= 001 ~ 254)
Byte 2 03h: return to read function code
The third byte: the total number of bytes from 4 to m (including 4 and m)
Bytes 4 to m: register data
Byte m + 1, M + 2: CRC16 check sum from byte 1 to M

When the slave receives an error, the slave returns the error:

12345
ADR83HInformation codeCRC low byteCRC high byte

The first byte ADR: slave address code (= 001 ~ 254)
Byte 2 83h: error reading register value
Byte 3 information code: 01 – function code error
03 – data error
Bytes 4 and 5: CRC16 checksums from bytes 1 to 3

Function code 06h: write single register value

Host send 

12345678
ADR06Register high byte addressRegister low byte addressData high byteData low byteCRC code Low byteCRC code High byte

When the slave receives correctly, the slave sends back:

12345678
ADR06Register high byte addressRegister low byte addressData high byteData low byteCRC code Low byteCRC code High byte

When the slave receives an error, the slave returns:

12345
ADR86HError code information codeCRC code Low byteCRC code High byte

The first byte ADR: slave address code (= 001 ~ 254)
The second byte 86h: write register value error function code
Byte 3 error code information code: 01 – function code error
03 – data error
Byte 4 and 5: CRC checksum from byte 1 to 3

Command example

Default register:

a) Change slave address: 

Address: 0x2000 (42001)
Number of registers: 1
Function code: 0x06
Default sensor address: 01

Change the Modbus device address of the sensor, and change the device address from 01 to 06. The example is as follows:

Send command: 01 06 20 00 00 06 02 08
Respond: 01 06 20 00 00 06 02 08; Note: the address is changed to 06 and stored after power failure.

b) Baud rate:

Address: 0x2003 (42004)
Number of registers: 1
Function code: 0x06
Default value: 1 (9600bps)
Supported values: 0-2 (4800-19200bps)

The baud rate can be changed by the upper computer setting, and it can work without restart after the change. The baud rate saves the upper computer setting after power failure. Baud rate support 4800 9600 19200. The baud rate of integer value allocation is as follows:

IntegerBaud rate
04800 bps
19600 bps
219200 bps

Send command: 01 06 20 03 00 02 F3 CB
Respond: 01 06 20 03 00 02 F3 CB Note: the baud rate is changed to 19200bps and saved after power failure

Function register:

a) Measuring temperature command:

Address: 0x0100 (40101)
Number of registers: 1
Function code: 0x03
Read sample values: 19.2℃

Send command: 01 03 01 00 00 01 85 F6
Respond: 01 03 02 00 C0 B8 14
Returns hexadecimal unsigned integer data, temperature value = integer / 10, 1 bit decimal place is reserved.

b) Salinity measurement instruction:

Address: 0x0101 (0x40102)
Number of registers: 1
Function code: 0x03
Read sample values: 9.1PSU

Send command: 01 03 01 01 00 01 D4 36
Respond: 01 03 02 00 5B F9 BF
Register returns hexadecimal unsigned integer data, salinity value = integer / 10, 1 decimal place reserved.

c) Continuous reading of temperature and salinity instructions: 

Address: 0x0100 (40101)
Number of registers: 2
Function code: 0x03
Read sample values: Temperature 19.2 ℃ and salinity 9.1 PSU

Send command: 01 03 01 00 00 02 C5 F7
Respond: 01 03 04 00 C0 00 5B BB F4
Register returns hexadecimal unsigned integer data, temperature value = integer / 10, 1 decimal place reserved
Register returns hexadecimal unsigned integer data, salinity value = integer / 10, 1 decimal place reserved.

d) Humidity measurement command:

Address: 0x0107 (40108)
Number of registers: 1
Function code: 0x03
Read sample values: relative humidity 40%

Send command: 01 03 01 07 00 01 34 37
Respond: 01 03 02 01 90 B9 B8
Register returns hexadecimal unsigned integer data, humidity value = integer / 10, 1 decimal place reserved.

Calibration instruction:

a) Temperature calibration 

Address: 0x1000 (41001)
Number of registers: 1
Function code: 0x06

Calibration example: calibration at 25.8 ° C
Send command: 01 06 10 00 01 02 0D 5B
Respond: 01 06 10 00 01 02 0D 5B
The sensor needs to be calibrated in a constant temperature environment after the temperature indication no longer fluctuates.

b) Salinity zero calibration

Address: 0x1001 (41002)
Number of registers: 1
Function code: 0x06

Calibration example: calibration in air
Send command: 01 06 10 01 00 00 DC CA
Respond: 01 06 10 01 00 00 DC CA

c) Salinity slope calibration 

Address: 0x1003 (41004)
Number of registers: 1
Function code: 0x06

Calibration example: calibration in 50 PSU salinity solution
Send command: 01 06 10 03 01 F4 7D 1D
Respond: 01 06 10 03 01 F4 7D 1D

Dimensions

Dimensions

Contact

Manufacturer
LofoNo.11 Street 2G, Nam Hung Vuong Res., An Lac Ward, Binh Tan Dist., Ho Chi Minh City, Vietnam.
Tel: +84-28-6268.2523/4 (ext.122)
Email: info@daviteq.com | www.daviteq.com

Logo

Documents / Resources

Daviteq MBRTU-SAL Salinity Sensor Modbus RTU Output [pdf] Owner's Manual
MBRTU-SAL Salinity Sensor Modbus RTU Output, MBRTU-SAL, Salinity Sensor Modbus RTU Output, Sensor Modbus RTU Output, Modbus RTU Output, RTU Output, Output

References

Leave a comment

Your email address will not be published. Required fields are marked *