Seabird
Get eNewsletter    +1 425 643 9866    Ask Us

Enabling Inductive Modem Communication for the SeaFET V2 and SeapHOx V2 pH Sensors

The functionality on this page was blocked because content blocking is enabled.


Please use another browser to access the form. We recommend Google Chrome. [Learn More]

Greg Ikeda, April 2019

Integrating ISFET pH Sensors with the SBE 44

Illustration of a typical inductive modem mooring with a the SeaFET V2 and Deep SeapHOx V2 moored pH sensors

Introduction

Wrap a plastic jacket around a steel cable, tether one end to a surface mooring and the other to the seafloor. Presto—with this standard mechanical fixture, you’ve established a versatile link for real-time data transmission. Unlike RS-232, RS-485, or USB, inductive modem (IM) telemetry does not require a direct electrical connection to each instrument. Rather, up to 100 IM enabled sensors can employ a single mooring cable as the transmission medium, capable of sending their data to the surface in real time.

While inductive modem moorings are already widely used for real-time telemetry of standard oceanographic parameters, limitations in sensor technology have so far prevented pH sensors from joining the array of instruments found on long-term oceanographic moorings. The SeaFET V2, SeapHOx V2, and Deep SeapHOx V2—moored pH sensors that employ stable ion-sensitive field-effect transistor (ISFET) technology—are a natural fit for installation on existing inductive modem moorings. The ISFET sensor technology provides long-term stability required for unattended deployments unlike traditional glass electrode pH sensors.

Both the SeaFET V2 and SeapHOx V2 rely on serial RS-232 telemetry for configuration and data transmission. To install these instruments in an inductive modem system, the SBE 44 Underwater Inductive Modem must act as a translator between RS-232 and differential phase-shift keying (DPSK) telemetry utilized for IM communications and vice-versa. The SBE 44 is designed to provide a 2-way link between the Surface Inductive Modem (SIM) or Inductive Modem Module (IMM) and virtually any serial instrument.

This document outlines the proper configuration for the surface modem, SBE 44, and SeaFET V2 and SeapHOx V2 for different deployment scenarios.

 



Cable Diagram

 


Labeled diagram of the SeaFET V2/SBE 44 data cable. Critical for RS-232/inductive modem communication

 



Operational Diagram

 


Operational diagram of RS-232 and inductive modem data transmission to the SBE 44 and pH sensors

  1. The Buoy Controller sends serial commands to the surface modem, with the ID number of each SBE 44.
  2. The surface modem relays that command along the IM line via DPSK.
  3. The SBE 44 recieves the command that corresponds with its ID number and relays that command to the pH sensor.
  4. The pH sensor takes a sample and/or relays the response to the SBE 44 via RS-232.
  5. The SBE 44 converts the RS-232 response to DPSK and relays the response back to the surface modem.
  6. The surface modem sends the response to the buoy controller. The controller logs the data and transmits in real-time.

 



Initial Instrument Setup

 


Integrating the SeaFET V2/SeapHOx V2/Deep SeapHOx V2 with an IM system requires proper configuration of the SIM/IMM, SBE 44, and pH Sensor. Send these commands prior to configuring the system for one of the a specific deployment routines below. Note: all commands to the SBE 44 must be preceded with “!ii” where “ii” corresponds to the ID number of the particular SBE 44.

SIM / IMM Setup
DataNNmax=3000
SIM waits 3 seconds for a response from the SBE 44/sensor. Some responses require approximately 2.5 seconds to transmit.
*Init
*Init
SetConfigType=1
SetEnableBinaryData=0
Configures the IMM to emulate the SIM.
Consult the SBE 44 and IMM manuals for more information on making full use of the IMM on existing IMM-configured moorings.
SBE 44 Underwater Inductive Modem Setup
!iiBaud=19200
Default baud rate for the SeaFET V2. Configure for individual SeaFET V2s if their baud rate has been changed from the default value.
!iiTermChar=62
Configures the SBE 44 to stop listening for serial responses upon receiving the “>” character (decimal 62) from the serial sensor. Note: this will prevent the 44 from receiving command responses in XML format. Use termchar=none if XML responses are required.
!iiRTermMax=5000
Sets the SBE 44 to wait 5 seconds between RS-232 responses before timing out if the termination character defined by “!iiTermChar” is not received. A minimum of 5 seconds is recommended for polled sampling, which can have a delay of over 4 seconds.
!iiTimeout=120
Sets the SBE 44 to automatically enter sleep mode after 2 minutes of inactivity.
!iiRelayTermChar=CRLF
Appends carriage return and line feed to the end of commands sent to the serial sensor.
!iirstartwait=0
No delay after sending a command to the serial instrument.
SeaFET V2 / SeapHOx V2 / Deep SeapHOx V2 Setup
Baudrate=19200
Default baud rate for the SeaFET V2. Ensure this baud rate matches the baud rates set in the SBE 44 with !iiBaud=x
OutputExecutedTag=Y
Configures the SeaFET V2 to output “” after sending the response to a serial command. If OutputExecutedTag=N, it will output an “S>” after sending the response to a serial command.
OutputFormat=1
Configures the sensor to output data in converted decimal format.

 



Autonomous Sampling with a Periodic Request (Recommended)

 


In this sampling routine, the pH sensor will sample autonomously, logging data to its internal memory. The surface modem periodically sends a request for the latest sample, commanding the pH sensor to report the latest sample from its internal memory for transmission in real-time. All sampling is handled by the pH sensor’s autonomous sampling routine (triggered by sampleinterval=x and startnow); the pH sensor does not take new samples in response to commands from the controller and surface modem.

&nbsp

This routine is advantageous when power and bandwidth are limited: the pH sensor can create a high resolution time-series in its internal memory (e.g. sampling every 60 seconds), while the controller can request and transmit a sample less frequently (e.g. every 2 hours). This provides a reliable real-time dataset with higher resolution data when the instrument is retrieved.

Initial pH Sensor Setup
SampleInterval=x
Commands the pH Sensor to take a sample every “x” seconds. Samples are always logged to the memory.
TxRealTime=N
Disables real-time output of autonomous samples. Real-time output is not necessary for use with the SBE 44.
StartNow
Begins autonomous logging.
Periodic Sample Request
1. PWRON
Commands the SIM/IMM to wake all instruments connected to the IM line.
2. !iiSendChar=00
Sends a blank serial character to the pH sensor. This wakes it from sleep mode, readying it to receive commands.
3. #iiSL
Requests the latest sample from the SeaFET V2/SeapHOxV2/Deep SeapHOx V2 memory.
4. #iiQS
Sends the pH sensor into sleep mode between polled samples to conserve battery life. If not sent, the pH sensor will automatically enter sleep mode after 2 minutes of inactivity.
5. PWROFF
Commands the SIM/IMM to disable the transmitter on all instruments connected to the IM line.

 

NOTE: Sending SBE 44 commands must begin with “!ii” where “ii” corresponds with the SBE 44’s ID number. Sending commands to the serial instrument connected to the SBE 44 must begin with “#ii”, where “ii” still corresponds with the SBE 44’s ID number.

 



Polled Sampling

 


In this sampling scheme, the surface modem sends a polled sampling command to the SBE 44, which relays that command to the pH sensor. This is generally used when a controller can send a scheduled list of commands to a single SBE 44, or to request additional samples from the pH sensor.

Polled sampling does not work with the SeapHOx V2 or Deep SeapHOx V2, as the SBE 44 will time out before the instrument has completed the sequence of pump→sample→output data. The SBE 44 timeout is set by the !iiRTermMax=x command, which has a maximum value of 30 seconds. Sea-Bird Scientific recommends running the pump on the SeapHOx V2 and Deep SeapHOx V2 for a minimum of 38 seconds. For the SeapHOx V2 and Deep SeapHOx V2, use the Autonomous Sampling with Periodic Request routine instead.

Periodic Polled Sampling Routine
1. PWRON
Commands the SIM/IMM to wake all instruments connected to the IM line.
2. !iiSendChar=00
Sends a blank serial character to the pH sensor. This wakes it from sleep mode, readying it to receive a polled sampling command.
3. #iiTSS
The SBE 44 sends the “TSS” command to the pH sensor. Upon receiving this command, the SeaFET V2, SeapHOx V2, and Deep SeapHOx V2 will take a sample, save that data to its internal memory, and output the data to the SBE 44. The SBE 44 relays this response to the surface modem.
4. #iiQS
The pH sensor returns to sleep mode in between polled samples to conserve battery life. If not sent, the pH sensor will automatically enter sleep mode after 2 minutes of inactivity.
5. PWROFF
Commands the SIM/IMM to disable the transmitter on all instruments connected to the IM line.

NOTE: Sending SBE 44 commands must begin with “!ii” where “ii” corresponds with the SBE 44’s ID number. Sending commands to the serial instrument connected to the SBE 44 must begin with “#ii”, where “ii” still corresponds with the SBE 44’s ID number.


Global Sampling Commands

 


The surface modem and SBE 44 can send/receive the global “GData” command rather than specifying specific ID numbers on the IM line with #iiTSS or #iiSL commands. Each SBE 44 can be configured to send a specific string to the pH sensor upon receiving the GData command from the sufrace modem. Using the global GData command will send a command to every IM instrument simultaneously, facilitating a coordinated sampling event.

The sensor’s reply is stored in the SBE 44’s buffer, and must be retrieved by the “Dataii” command, where “ii” corresponds with the IM instrument’s ID number. If the response is not retrieved before the SBE 44 returns to sleep, the sample will be lost. This routine is useful when a single IM line has multiple sensors.

Initial SBE 44 Setup
!iiGDataStr=TSS
Configures the SBE 44 to send the “TSS” command to the pH sensor upon receiving the global “GData” command. Commands the pH sensor to take a sample, save that data to its internal memory, and output the data to the SBE 44. Not compatible with the SeapHOx V2 and Deep SeapHOx V2. See “Polled Sampling” above.
!iiGDataStr=SL
Configures the SBE 44 to send the “SL” command to the pH sensor upon receiving the global “GData” command. Requests the latest sample from the pH sensor’s memory. See “Autonomous Sampling with a Periodic Request” above.
!iiGTermMax=5000
Commands the 44 to wait 4 seconds after sending the GData string for a response. Compare to !iiRTermMax=x.
Periodic GData Sequence
1. PWRON
Commands the SIM/IMM to wake all instruments connected to the IM line.
2. !iiSendChar=00
Sends a blank serial character to the pH sensor. This wakes it from sleep mode, readying it to receive a polled sampling command.
3. GData
Sends the command associated with GData, as determined by “!iiGDataStr”. If this is “TSS”, this will replicate the polled sampling routine. If this is “SL”, this will replicate the “Autonomous Sampling with a Periodic Request” routine.
4. #iiQS
The pH sensor returns to sleep mode in between polled samples to conserve battery life.
5. Dataii
The pH sensor returns to sleep mode in between polled samples to conserve battery life. If not sent, the pH sensor will automatically enter sleep mode after 2 minutes of inactivity.
6. PWROFF
Commands the SIM/IMM to disable the transmitter on all instruments connected to the IM line.