SENSECAP S-pH-01A pH Sensor User Guide

October 30, 2023
SENSECAP

**SENSECAP S-pH-01A pH Sensor

**

Introduction

S-PH-01 transmitter measures the PH of solution or semi-solid substrate. The output signal can be RS485 and Analog Voltage. The sensor is applicable for industrial, water processing, sewerage system, irrigation, smart agriculture etc.

  • Can be used for PH measurement
  • Output Interface with RS485, Voltage
  • High impedance and isolated electrode input
  • High accuracy with excellent stability
  • Reverse power protection and Built-in TVS/ESD protection

Specificatio ns

Output Interface| Analog Voltage 0-2V

(Output resistance ~0ohm)

| RS485 Modbus-RTU
Power Supply| 3.9-30V/DC| 3.9-30V/DC
Power Consumption| 35mA@24V DC| 35mA@24V DC
Start-up time| < 2 seconds
PH Measurement| High impedance and isolated input; Range: 0-14PH, Resolution: 0.01PH, Accuracy: +/-0.1PH; Can be used for solution or semi-solid substrate
Temperature Measurement

(Option)

| Range: -40~80°C, Resolution: 0.1°C, Accuracy: +/-0.5°C
IP Ratings| Electrode: IP68; Transmitter: IP65
Operating Temperature| -40~85°C
Installation| Electrode: 3/4″NPT screw threads; Transmitter: Mounting hole
Cable Length| Power and Signal Cable:2 meters or Customize; Electrode Cable: 5 meters
Dimension| Electrode: WidthDiameter 16030mm; 3/4″NPT screw threads

Transmitter: 140mm65mm50mm

Wiring diagrams

Type Wiring diagram
Analog Voltage Output Red (V+): Power Supply + Black (G): Power Supply

– Blue (O1): Analog Output

RS485

Modbus

| Red     (V+):     Power

Supply   +   Black (G):

| Power Supply – Yellow
| (T+):      RS485+/A/T+
| White   (T-):   RS485-
| /B/T-

Dimension

Electrode Dimension

Installation Maintenance and Calibration

Installation

Installation locations of Electrodes will vary depending on the system design. The key is to monitor a good representative sample of the whole solution directly after introduction of chlorine. The installation location must allow for complete contact of the scrubber liquid with the probes. Some example installation locations for Electrodes include the following:

  • Outlet of packed tower
  • Outlet of recycle pump
  • Pump bypass line
  • Heat Exchanger bypass line
Maintenance

Under normal conditions, electrodes can last anywhere from several months to several years depending on the type of operation, rate of production, strength of product, and quality of the raw materials used in the process. Because each application is different, there is no average life expectancy.

Because the pH responsive glass bulb or flat surface is relatively thin, care should be taken so that the bulb does not become scratched or broken. It is also important that ORP measuring surfaces are not scratched or gouged. The suggestions in this sheet are intended to help avoid these problems. Coating of an electrode’s measuring surface can lead to erroneous readings including shortened span and slow response times. The type of coating determines the type of cleaning technique. Soft Coatings can be removed by vigorous stirring, by use of a squirt bottle or, very carefully, by gently wiping with a soft, clean non-abrasive paper or cloth. Hard Coatings should be chemically removed. The chemical used to remove the coating should be the least harsh chemical that dissolves the coating in 1 or 2 minutes and does not attack the electrode’s materials of construction. For example, a calcium carbonate coating might be removed with 5% HCl (muriatic acid). Oily or Organic Coatings are best removed with detergents or an appropriate solvent that does not attack the electrode’s materials of construction. For example, isopropyl alcohol might be used but acetone should be avoided if the electrode’s body is made of CPVC.

Output Signal Conversion

PH output conversion

Output Interface Parameters Range Conversion Formula
Analog Voltage Output 0-2V PH range: 0-14PH PH=7.00*VOLTAGE. When

VOLTAGE=1.0V,then PH

=7.00*1.00=7.

RS485| PH range: 0-14PH| PH= (REGISTER VALUE)/100.When REGISTER
Modbus-RTU| | VALUE=7000,then PH= 7000/100=7.00.
| Temperature range: -40-80°C| TEMPERATURE= (REGISTER
| | VALUE)/100.When
| | REGISTER VALUE=2013,then TEMPERATURE
| | = 2013/100=20.13°C.

NOTE: The unit of VOLTAGE is (V)

RS485 Modbus Protocol

Modbus Protocol is widely used to establish master-slave communication between intelligent devices or sensors. A MODBUS message sent from a master to a slave contains the address of the slave, the function code (e.g. ‘read register’ or ‘write register’), the data, and a check sum (LRC or CRC). The sensor is RS485 interface with Modbus protocol. The default serial communication settings is slave address 1, modbus rtu, 9600bps, 8 data bits and 1 stop bit. All communication settings can be changed with modbus command, and take effective after re-power up the sensor.

Following modbus function code are supported by sensor.
Modbus Function Code 0x03 : used for reading holding register.
Modbus Function Code 0x04 : used for reading input register. Modbus Function Code 0x06 : used for writing single holding register.
Modbus Function Code 0x10: used for writing multiple holding register.

Modbus Register

Parameters| Register Addr. (HEX/DEC)| Dat a Type| Modbus Function

Code(DEC)

| Range and Comments| Default Value
---|---|---|---|---|---
TEMPRATURE| 0x0000 /0| INT16

RO

| 3/4| -4000-8000 for –

40.00~80.00°C.

| N/A
PH

PHVALUE

| 0x0001 /1| UINT16

RO

| 3/4| 0-1400 for 0.00-14.00| N/A
 |  |  |  |  |
TEMPCOMPENSA TEE N| 0x0020 /32| UINT16

R/W

| 3/6/16| 0: External

Temperature sensor 1: Disabled

2:On board temperature sensor

| 1
 |  |  |  |  |
PHCALIBRAWAD0 PH calibration point for PH=4.01| 0x0030 /48| UINT16

R/W

| 3/6/16| -2000~2000 for – 2000~2000; Write 0xFFFF to calibrate.| N/A
PHCALIBRAWAD1 PH calibration point for PH=7.00| 0x0031 /49| UINT16

R/W

| 3/6/16| -2000~2000 for – 2000~2000; Write 0xFFFF to calibrate.| N/A
PHCALIBRAWAD2 PH calibration point for PH=10.01| 0x0032 /50| UINT16

R/W

| 3/6/16| -2000~2000 for – 2000~2000; Write 0xFFFF to calibrate.| N/A
 |  |  |  |  |
SLAVEADDRESS| 0x0200 /512| UINT16

R/W

| 3/6/16| 0-255| 1 or 12
BAUDRATE| 0x0201 /513| UINT16

R/W

| 3/6/16| 0-6

0:1200bps

1:2400bps

2:4800bps

3:9600bps

4:19200bps

5:38400bps

| 3:9600bps
PROTOCOL| 0x0202 /514| UINT16

R/W

| 3/6/16| 0-1

0:Modbus RTU

| 0:Modbus RTU
PARITY| 0x0203 /515| UINT16

R/W

| 3/6/16| 0-2

0:None

1:Even

2:Odd

| 0:None

Parity

DATABITS| 0x0204 /516| UINT16| 3/6/16| 1| 1:8 databits
R/W|  | 1:8 databits|
STOPBITS| 0x0205 /517| UINT16

R/W

| 3/6/16| 0-1

0:1 stopbit

1:2 stopbits

| 0:1 stopbit
RESPONSEDELAY| 0x0206 /518| UINT16

R/W

| 3/6/16| 0-255 for 0-2550 milliseconds| 0
ACTIVEOUTPUTINTER

VAL

| 0x0207 /519| UINT16

R/W

| 3/6/16| 0-255 for 0-255 seconds.| 0

NOTE: UINT16:16 bit unsigned integer, INT16:16bit signed integer NOTE: RO: Register is Read Only, R/W: Register is Read/Write NOTE: HEX is Hexadecimal (data with 0x/0X prefix), DEC is Decimal

Modbus Register Detail Description

TEMPERATURE

Data Range| -4000-8000 For -40.00~80.00°C| Default: N/A
Power Down Save| N/A|

Note: Temperature value (Binary complement). Example: When REGISTER = 0x0702 (HEX format), then
VALUE=(0x07256+0x02)/100=17.94°C.When REGISTER=FF05H (HEX format),then VALUE=((0xFF256+0x05)-0xFFFF-0x01)/100 =(0xFF05-0xFFFF- 0x01)/100=-2.51°C

PH VALUE

Data Range| 0-1400 for 0-14.00PH| Default: N/A
Power Down Save| N/A|

Note: PH value
Example: When REGISTER = 0x02BC (HEX format), then
VALUE=(0x02*256+0xBC)/100=7.00PH

TEMPCOMPENSATEEN

Data Range| 0 : External Temperature
sensor 1: Disabled
2: On board temperature sensor| Default: 1
Power Down Save| YES|

Note: Temperature compensation

PHCALIBRAWAD0

Data Range| -2000~2000| Default: N/A
Power Down Save| YES|

Note: PH calibration AD value for PH=4.01; Immerse the electrode into PH=4.01solutionand wait until the reading value being stable, then write 0xFFFF to this register to calibrate.

PHCALIBRAWAD1

Data Range| -2000~2000| Default: N/A
Power Down Save| YES|

Note: PH calibration AD value for PH=7.00; Immerse the electrode into PH=7.00solutionand wait until the reading value being stable, then write 0xFFFF to this register to calibrate.

Data Range -2000~2000 Default: N/A
Power Down Save YES

Note: PH calibration AD value for PH=10.01; Immerse the electrode into PH=10.01solutionand wait until the reading value being stable, then write 0xFFFF to this register to calibrate.

SLAVEADDRESS — Modbus Slave Address

Data Range| 0-255| Default: 1 or 12
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after set.

BAUDRATE — Serial Comm Baudrate

Data Range| 0-5
0:1200bps
1:2400bps
2:4800bps
3:9600bps
4:19200bp
s

5:38400bps| Default: 3
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after se

PROTOCOL — Serial Comm Protocol

Data Range| 0

0:Modbus RTU

| Default: 0
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after set.

PARITY — Serial Comm Parity

Data Range| 0-2

0:NONE

1:EVEN

2:ODD

| Default: 0
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after set.

DATABITS — Serial Comm Data bits

Data Range| 1

1:8 data bits

| Default: 1
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after set.

STOPBITS — Serial Comm Stop bits

Data Range| 0-1

0:1 stop bit

1:2 stop bits

| Default: 0
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after set.

RESPONSEDELAY — Serial Comm Response Delay

Data Range| 0-255 for 0-2550 milliseconds, 0 for disabled| Default: 0
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after set.
Note: Sensor will delay a period before response to master request command.
Example: When set to 5 and receive a request from master device, then sensor will delay 5*10ms=50ms, then response to master.

ACTIVEOUTPUTINTERVAL — Serial Comm Active Output Interval time

Data Range| 0-255 for 0-255 seconds, 0 for disabled| Default: 0
Power Down Save| YES|

Note: Please re-power on the sensor to take effective after set.
Note: Sensor will output the data actively without any master request command.
Note: Only ONE sensor should be on RS485 network, or there will be data collision and corrupt the data on line.
Note: Use key button to restore the serial comm parameters factory value to exit the active output mode. Example: When set to 5 then sensor will output the data every 5 seconds without any master request command.

Modbus Function Code

For description below, data started with 0X/0x means that it’s in HEX format

1 Function Code

Function Code 3 Protocol Example

Master Request: AA 03 RRRR NNNN CCCC

AA 1 byte Slave Address,0-255
0x03 1 byte Function Code 3
RRRR 2 byte Starting Register Addr
NNNN 2 byte Quantity of Register to read
CCCC 2 byte CRC CHECKSUM

Slave Response: AA 03 MM VV0 VV1 VV2 VV3… CCCC

AA 1 byte Slave Address,0-255
0x03 1 byte Function Code 3
MM 1 byte Register Data Byte Count
VV0,VV1 2 byte Register Value (High8bits first)
VV2,VV3 2 byte Register Value (High8bits first)
Register Value (High8bits first)
CCCC 2 byte CRC CHECKSUM

**** Example: Read register 0x0200-0x0201,that is slave address and
baudrate. Master Request:01 03 0200 0002 C5B3

Slave Addr. 1 byte 0x01
Function Code 1 byte 0x03

Starting Register

Addr.

| 2 byte| 0x0200
Quantity of Register

to read

| 2 byte| 0x0002
Checksum| 2 byte| 0xC5B3

Slave Response:01 03 04 00 01 00 03 EB F2

Slave Addr. 1 byte 0x01
Function Code 1 byte 0x03

Register Data Byte

Count

| 1 byte| 0x04
Register Value:

Address

| 2 byte| 0x00(HIGH 8 Bits)
| | 0x01(LOW8 Bits)
Register Value:

Baudrate

| 2 byte| 0x00(HIGH 8 Bits)
| | 0x03(LOW8 Bits)
Checksum| 2 byte| 0xEBF2

6.4.2 Function Code 4 Protocol Example

Master Request: AA 04 RRRR NNNN CCCC

AA 1 byte Slave Address,0-255
0x04 1 byte Function Code 4
RRRR 2 byte Starting Register Addr
NNNN 2 byte Quantity of Register to read
CCCC 2 byte CRC CHECKSUM

Slave Response: AA 04 MM VV0 VV1 VV2 VV3… CCCC

AA 1 byte Slave Address,0-255
0x04 1 byte Function Code 4
MM 1 byte Register Data Byte Count
VV0,VV1 2 byte Register Value (High8bits first)
VV2,VV3 2 byte Register Value (High8bits first)
Register Value (High8bits first)
CCCC 2 byte CRC CHECKSUM

Example: Read register 0x0000-0x0002,that is temperature, PH
value. Master Request: 01 04 0000 0002 71CB

Slave Addr. 1 byte 0x01
Function Code 1 byte 0x04

Starting Register

Addr.

| 2 byte| 0x0000
Quantity of Register

to read

| 2 byte| 0x0002
Checksum| 2 byte| 0x71CB

Slave Response: 01 04 04 08C3 029E 8910

Slave Addr. 1 byte 0x01
Function Code 1 byte 0x04

Register Data Byte

Count

| 1 byte| 0x04
Register Value:

Temperature

| 2 byte| 0x08(HIGH 8 Bits)
0xC3(LOW8 Bits)
Register Value:

PH

| 2 byte| 0x02(HIGH 8 Bits)
0x9E(LOW8 Bits)
Checksum| 2 byte| 0x8910

Temperature =(0x08256+0xC3)/100=2243/100=22.43 °C
PH=(0x02
256+0x9E)/100=670/100=6.70PH

6.4.3 Function Code 6 Protocol Example

Master Request: AA 06 RRRR VVVV CCCC

AA 1 byte Slave Address,0-255
0x06 1 byte Function Code 6
RRRR 2 byte Register Addr (High8bits first)
VVVV 2 byte Register Value (High8bits first)
CCCC 2 byte CRC CHECKSUM
Slave Response: AA 06 RRRR VVVV CCCC
AA 1 byte Slave Address,0-255
0x06 1 byte Function Code 6
RRRR 2 byte Register Addr (High8bits first)
VVVV 2 byte Register Value (High8bits first)
CCCC 2 byte CRC CHECKSUM
Example: Write Register 0x0020,that is set temperature compensation
Request: 01 06 0020 0000 8800
Slave Addr. 1 byte 0x01
Function Code 1 byte 0x06
Register Addr. 2 byte 0x0020 (High8bits first)
Register Value 2 byte 0x0000 (High8bits first)
Checksum 2 byte 0x8800

**** Response:01 06 0021 0001 1800

Slave Addr. 1 byte 0x01
Function Code 1 byte 0x06
Register Addr. 2 byte 0x0020 (High8bits first)
Register Value 2 byte 0x0000 (High8bits first)
Checksum 2 byte 0x8800

6.4.3   Function Code 16 Protocol Example

Master Request: AA 10 RRRR NNNN MM VVVV1 VVVV2 …CCCC
AA 1 byte Slave Address,0-255
0x10 1 byte Function Code 0x10
RRRR 2 byte Starting Register Addr
NNNN 2 byte Quantity of Register to write
MM 1 byte Register Data Byte Count
VVVV1 2 byte Register Value(High8bits first)
VVVV2 2 byte Register Value(High8bits first)
Register Value(High8bits first)
CCCC 2 byte CRC CHECKSUM
Slave Response: AA 10 RRRR NNNN CCCC
AA 1 byte Slave Address,0-255
0x10 1 byte Function Code 0x10
RRRR 2 byte Starting Register Addr
NNNN 2 byte Quantity of Register to write
CCCC 2 byte CRC CHECKSUM
Example: Write Register 0x0200-0x0201,that is set slave address to

1,andbaudrateto 19200bp. Master Request:01 10 0200 0002 04 0001 0004 BACC

0x01 1 byte Slave Addr.
0x10(HEX) 1 byte Function Code 0x10
0x0200 2 byte Starting Register Addr
0x0002 2 byte Quantity of Register to write
0x04 1 byte Register Data Byte Count
0x0001 2 byte Register Value: Slave Address 1
0x0004 2 byte Register Value: Baudrate 19200bps
0xBACC 2 byte CRC CHECKSUM

Salve Response: 01 10 0200 0002 4070

0x01 1 byte Slave Addr.
0x10(HEX) 1 byte Function Code 0x10
0x0200 2 byte Starting Register Addr(High8bits first)
0x0002 2 byte Quantity of Register to write(High8bits first)
0x4070 2 byte CRC CHECKSUM

Software Configuration Utility

You can use software listed below to try reading/writing the register of sensor:
https://github.com/ed-chemnitz/qmodbus/releases
http://qmodbus.sourceforge.net/

Document Version

Version Date Description Editor
V2.0 First edition
V2.1 11/18/2022 Add Note in chapter 3 Kelvin.Lee

References

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals