file: simcmnd2.html
21 Feb 2007


Refer to Latest Version Information for reference info on latest firmware version numbers.

Note: commands sent are indicated in BOLD, responses in normal text. <crlf> represents ASCII carriage return and line feed.


The default address is SIM01.


This logger is a modification of the VOSHRH logger to poll and log data from four instruments, 3ea Sea-Bird SBE 37-IM ctd's and 1ea SonTek Argonaut current meter, using the Sea-Bird Inductive Modem (SIM) as the communications link. Data is polled from the instruments at a user specified interval (default of 5 minutes) and stored in a first-in/first-out buffer. When requested the last four hours of data are sent.

Polling the instruments consists of powering the local inductive modem. When powered the local modem will "awaken" all attached modems and it returns "S>" as a prompt. This "awakening" takes 5 seconds. After the prompt is received each instrument is polled once. The instrument should respond with data within 4 seconds. A response ends with carriage-return and linefeed. These characters indicate to the local modem that the communications are complete and it provides the "S>" which indicates to the logger to process the received message. If there is no response from the polled instrument within 4 seconds the logger sends an Esc, Escape character (0x1B) to the local modem, followed by carriage-return and linefeed. This character sequence breaks the local modem out of its listen mode and it returns a "S>" prompt indicating it is ready for new commands.

In the event of either no response or a corrupted message, the last "good" data is retained and written into the FIFO buffer.

Note that the polling sequence takes 20 seconds to complete if there are no communication errors and up to 30 seconds with errors. A user command entered while polling waits until the end of a polling sequence before being processed.


#99ADR       Magic address. Responds with logger address, usually "SIM01".

#SIM01A      Responds with the logger address "SIM01" to confirm module is alive.

#SIM01D      Goes to the clock setting function. A prompt showing the 
             format of the expected data/time is shown. The following is
             an example.
             Enter Date/Time as: 'YYYY/MM/DD HH:MM:SS'

             2007/01/31 09:04:50
             If the correct format is entered the function will display the time entered 
             as a verification of the clock being set.

             2007/01/31 09:04:50

#SIM01H     Responds with the following help message.

		Firmware SIM53 v1.10
		Module clock 2.4576 Mhz
		A - Address acknowledge
		D - Set RT clock date/time
		H - Display Help message
		L - Report ID, serial #, cal info
		P - Enter polled test mode
		R - Output 4 Hour data
		T - Enter test mode
		U - Update EEPROM constants - password 'OK'

#SIM01L      the 'L' command provides miscellaneous status information 
             about the module in a multi-line response.  The number of 
             lines in the response may vary depending upon the EEPROM.
             Normally, after an initial , 5 lines of info are provided, 
             as follows:
             module id from EEPROM
             module serial number from EEPROM
             firmware name and version from program EPROM
             crystal frequency from EPROM
             calibration date from EEPROM
             current date and time

#SIM01T      Goes to continuous test mode. In test mode the Sea-Bird 
             Inductive Modem is powered. When powered the local Sea-Bird 
             Inductive Modem will "awakens" all of the attached Inductive 
             modems. This requires at least 5 seconds. A "Wait" message 
             is shown indicating this power-up period. Then the Logger time 
             is displayed and the attached instruments are polled. As each 
             instrument is polled the command set is shown. The response 
             received from the instrument follows. The last line is the data 
             parsed from the received string. After all the instruments have 
             been polled a line of HEX-ASCII showing the data as a stored 
             record is displayed. And the sequence repeats.
             To stop test mode press the ESC (Escape) key. The current sequence 
             will complete and the remote and local modems will be powered OFF.
             If there is no response from an instrument the logger will display 
             a message indicating this error and re-establish communication with 
             the local modem.
             The following is an example of test output:
             Wait...6 Seconds for powerup
             2007/01/31  09:05:04

             00683,  22.8819,  0.00009, 31 Jan 2007, 14:05:01
             22.8819,   0.00009

             00685,  23.0124, -0.00003, 31 Jan 2007, 14:05:00
             23.0124,  -0.00003

             00684,  23.7044,  0.00004,   -0.079, 31 Jan 2007, 14:05:00
             23.7044,   0.00004

             2007 01 31 13 55 00    386     99   -638 136 136 142  29  28  29 100 2699 123 122  25  22  30   2217   16  0  51   5
             386   99 -638   29   28   29 2699 2217


             Powering Down the Modems and Quitting!

#SIM01P     is the polled version of the above test function. At the end of 
            each polling sequence the user may press the ESC key to stop the 
            test function or any other key to continue.

#SIM01R     This responds with the last 4 hours of collected data in a 
            first-in/first-out sequence. The number of records sent is determined 
            by the interval between polling the instruments.  For the default 5 
            minutes, this equals 12 samples per hour and 48 samples for four hours.
            The data is the HEX-ASCII representation of the binary data. It is in 
            the following format:
            Bytes 0-9 are hours, minutes, month, day and the last 2 digits of the year.
            The remaining data are made up of 8 bytes groups of HEX-ASCII representing 
            4 byte IEEE-754 standard floating point data. The 8 bytes decode in the 
            following way:
            Byte 0 is   SEEE    where S=sign, 1=negative. E=3 ms bits of Exponent offset by 127.

            Byte 1 is   EEEE    the next 4 bits of exponent.
            Byte 2 is   EMMM    the last bit of exponent and the 3 ms bits of the 23 bit mantissa.

            Bytes 3-7   MMMM    the remaining 20 bits of the mantissa.
            The 8 byte groups represent the following parameters:

            Bytes 10-17 = Temperature from the 03SL Sea-Bird CTD

                  18-25 = Conductivity from the 03SL CTD

                  26-33 = Temperature form the 04SL CTD

                  34-41 = Conductivity from the 04SL CTD

                  42-49 = Temperature from 07SL CTD
                  50-57 = Conductivity from 07SL CTD


           The remaining parameters are from the SonTek Argonaut current meter:

           Bytes 58-65 = velocity east

                 66-73 = velocity north

                 74-81 = velocity up

                 82-89 = beam 1 strength

                 90-97 = beam 2 strength

                 98-105 = beam 3 strength
                 106-113 = heading

                 114-121 = temperature

           The following are a few lines of record data:

#SIM01UOK    Brings up the EEPROM review and change functions shown below:

               EEPROM update functions

               0 - Quit without update
               1 - Enter module address
               2 - Enter module information
               3 - Enter sensor information
               4 - Enter software and mode information
               5 - Enter calibration information
               6 - Enter cal and raw data information
               7 - Display entire information area
               8 - Enter the Sample Interval
               9 - Exit and update EEPROM

          To change the Sample Interval type 8, as follows:

              Enter selection -> 8

          The current interval is displayed. Press the Enter key alone to retain the current 
          value or type in a new number of minutes from 5 to 60 and press enter. If the value 
          is changed the new value is shown. If it is NOT changed then a message indicating 
          this is shown.

              Sample Interval: 5
              Enter a new Interval Minutes (5-60):

              Sample Interval is UNCHANGED

          If you change the interval type 9 to exit and update the EEPROM; otherwise your 
          changes will be lost when power is cycled.

          NOTE: When changing the interval keep in mind that is best if the number of records 
          per hour divides evenly into 60. For example a 5 minute interval is 12 records per 
          hour. An interval of 6 minutes is 10 records per hour but an interval of 7 minutes 
          results in a calculated value of 8.57 records per hour but will actually be 8 records 
          per hour.