Welcome to XC Decode

XConnect is Sutron Corporation's latest data collection, data processing and data storage software. Built on the strong principles of PcBase2, XConnect is compliant with today's 32-bit Windows operating systems and provides new tools and options for the user.

XConnect is a collection of executables designed to provide a complete solution for data collection, data handling, data viewing and data storage

The role of XC Decode within an XConnect data collection system is to read and decode satellite DCP messages stored in ASCII files by XC Mux. Sensor decoding parameters are configured by the user in XC Desktop. XC Decode then uses these parameters like a "road map" to the sensors' position in the satellite message. XC Decode applies any user-defined equations or lookup tables on data and then stores data to user selected data store option.

These ASCII files are called Raw files because that contain raw (undecoded) satellite messages. Actual creation of the raw files is the XC Mux program.

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Moving around in XC Decode

The XC Decode application consists of these main areas:

  • The Menu Bar provides access to all user-controllable functions within the application.

  • The Toolbar provides one-click access to important functions.

  • The Decoding Status Window provides the user with informational or error messages related to data decoding.

  • The Data Storage Status Window provides the user with informational or error messages related to data storage.

  • The Detail Level provides user with controls to increase the level of status messages displayed or pause the display.

Click an area on the image below for more information.

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Data Flow

Data flow in satellite systems using XC Mux is represented below.

  1. XC Mux and XC Decode retrieve setup information from XC Setup.

  2. XC Mux receives satellite messages from a DDRGS

  3. XC Mux saves messages into Raw files

  4. XC Decode reads Raw files and processes the data based on setup and sensor information

  5. XC Decode stores data to data storage option


Messages in the status window

All raw files have been checked for new satellite messages and decoded.

A raw file selected for decoding via the File|Open menu option is already in the decoding list of the current decoding cycle.

An internal error occurred while trying to add a manually selected raw file for decoding.

Indicates current raw file is being processed by XC Decode.

All satellite messages in the current raw file have been decoded. No new messages have been added since the last decoding interval.

Raw file has been processed and new satellite messages have been decoded.

Upon closing, XC Decode, if in a decoding cycle, will finish processing the current raw file before exiting.

In the Edit XC Decode Setup parameters window, first select/highlight a channel from the list. The settings will appear in the individual edit boxes for changes and updates.

XC Decode tried to read the message data length from the header. Invalid characters were written that could not be converted to a number.

No raw messages matching the selected satellite ID were found in the raw file.

For the selected station, no satellite ID is defined in XC Setup. Go to XC Desktop to enter the satellite ID.

In the Interactive Decoding window, sensor decoding parameters can be transferred to XC Setup only if decoding is enabled for the sensor. To enable sensor decoding:

  1. Go to XC Desktop.

  2. Select the station/sensor to open the Sensor Setup window.

  3. Check the enabled box for GoesTimed and/or GoesRandom.

In the Interactive Decoding window, as the user selects a sensor, XC Decode automatically tries to retrieve sensor decode parameters from XC Setup. If no sensors are defined, then default decoding parameters will be used.

In the Interactive Decoding window, in order to decode a message, a raw message must be displayed in the bottom panel Raw Message Header and Data section. If no message is displayed, click on the Find Raw Message button to search for one.

In the Interactive Decoding window, auto-decoding is only an option with Sutron satellite messages. There are distinctive markers and fixed patterns XC Decode can use to automatically decode sensor values. XC Decode does not know about markers or formats related to other DCP manufactures.

In the Interactive Decoding window, auto-decoding is only an option with Sutron satellite messages. There are distinctive markers and fixed patterns XC Decode can use to automatically decode sensor values. XC Decode does not know about markers or formats related to other DCP manufactures.

This notifies the user any data decoded from the satellite messages will not be stored. This will be due to an invalid data storage choice. Go to XC Desktop to correct data storage option.

Block data inserted into PcBase2 binary data file.

Individual sensor data value was inserted into a PcBae2 binary data file for a specific date/time stamp.

Individual sensor data value was inserted into a database for a specific date/time stamp. Datatype can be GoesSelfTimed (S), GoesRandom (R), Current (C), TimeTag (T) to reflect the source of data.

Individual sensor data value was updated into a database for a specific date/time stamp. Datatype can be GoesSelfTimed (S), GoesRandom (R), Current (C), TimeTag (T) to reflect the source of data.

Sensor data retrieved from a Current data poll was not selected to be stored in any PcBase2 binary data files. If this message was received in error, go to XC Desktop to make changes.

In XC Desktop,

  1. check System Init setup window to ensure real-time data should be stored.

  2. check Data Storage setup window to ensure sensor is selected in a PcBase2 binary data file.

Sensor data retrieved from a Date/Newest/Manual data poll was not selected to be stored in any PcBase2 binary data files. If this message was received in error, go to XC Desktop to make changes.

In XC Desktop,

  1. check System Init setup window to ensure timetag data should be stored.

  2. check Data Storage setup window to ensure sensor is selected in a PcBase2 binary data file.

Quality data was updated in ASCII quality log files (.LOG) for a satellite ID. ASCII quality log files are optionally generated for all data storage options other than relational databases (i.e., Oracle, Access).

XC Decode auto-archived a PcBase2 binary data file based on the user selected archive time parameter in XC Desktop.

XC Decode was unable to store the decoded sensor value to the XConnect data table. In case of this failure, the value is stored to a log file (.LOG) in the DataBackup subdirectory of the XConnect home directory.

XC Decode deleted the log file (.LOG) in the archive process. The user selected in XC Desktop only to keep x days of data.

XC Decode stored data in log files (.LOG) for a station.

XC Decode stored quality data in log files (.LOG) for a station.

XC Decode inserted quality data in the XConnect database for a station.

XC Decode updated quality data in the XConnect database for a station.

XC Decode updated the Last Update field in for a station in the XConnect database.

No data was decoded for this sensor. The sensor is missing or bad in raw file. Looking at the raw message, /// indicates missing data.

Messages in the status window

Below are the status messages XC Decode will display in the decoding status window as it decodes data from the raw files:

  • Finished decoding files.

  • xxx.raw is already scheduled to be decoded.

  • xxx.raw cannot be added to decoding list.

  • Starting processing file xxx.raw.

  • No more data to process in file xxx.raw.

  • Completed processing of file xxx.raw.

  • Waiting to finish processing current file...

  • No channel selected to update.

  • Illegal message data length xxx from xxx.

  • No raw messages found.

  • No Satellite ID configured for xxx.

  • Sensor decoding parameters are not enabled. Sensor will not be decoded.

  • Decoding parameters not defined, using default values.

  • No raw message selected to decode. Click Find Raw Message button.

  • Cannot auto-decode non-Sutron raw messages.

  • Cannot select Generic Values or Battery Only when decoding non-Sutron satellite messages.

Below are the status messages XC Decode will display in the data storage status window as it stores data in the user selected data storage option:

  • No data will be stored.

  • Inserted data into file xxx.dat.

  • Inserted data value: sensor for timestamp is xxx.

  • Inserted datatype data value: station.sensor for timestamp is xxx.

  • Updated datatype data value: station.sensor for timestamp is xxx.

  • No data file to store realtime data from station station for data data.

  • No data file to store timetag data from station station for data data.

  • Updated Quality data: satellite id - station at 00/00/0000 00:00:00.

  • Archived data file - xxx.

  • Unable to write data to xcdata1. Writing data to backup log file: station.sensor for timestamp is xxx.

  • Deleted Log file - xxx.log.

  • Logged data values for : station for timestamp.

  • Logged Quality data: satellite ID - station at timestamp.

  • Inserted Quality data: satellite ID - station at timestamp.

  • Updated Quality data: satellite ID - station at timestamp.

  • Updated Last Update data: station at timestamp.

  • Missing or bad data decoded for station.sensor for timestamp


POS files

A .POS file will be created for every .RAW file that XC Decode processes. The POS file is an ASCII file that contains the total number of bytes (characters) read by XC Decode for that RAW file. By keeping the last read position, XC Decode can resume on the next decode cycle and only read new satellite messages.

Thus, easily the entire raw file can be re-decoded by just deleting the POS file either from Windows Explorer, or select the Ignore POS option.

Tip: It is easy to forget to uncheck the Ignore POS option. If left checked, XC Decode will always decoded every message in every raw file on every decode cycle.


Clearing the status window

Clearing the status windows

The purpose of the status window is for XC Decode to display the informational and warning messages. To clear the decoding status and data storage status windows of existing messages:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the Options menu, select Clear Status Messages or from the toolbar click on the [image] icon.

  3. From the Options menu, select Clear Data Storage Status Messages.


On-Demand Decoding

XC Decode will automatically decode all raw messages in the Auto Decode Path on the based on the Auto Base Time and Auto Decode Interval. However, if the user does not want to wait for the Next Decode Time as displayed in the main status window, the user can force the next decoding cycle. To trigger an on-demand decoding interval:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the Options menu, select Decode Now or from the toolbar click on the [image] icon.


Pause Decoding

The user can choose to pause the decoding of data without shutting down XC Decode. Toggle to resume decoding data.

To pause decoding:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the Options menu, select Pause Decoding or from the toolbar click on the [image] icon.


Decoding all messages

The purpose of the Decode All messages is really for troubleshooting. Normally, XC Decode will only decode satellite messages with satellite IDs for stations defined in XC Desktop. The user will decode all messages if he/she would like to monitor transmissions and/or create a performance report on the DDRGS. Decoding all messages will allow the user to see the transmission quality parameters for all stations and all channels. Thus, if a particular channel appears to be problematic, a summary of all transmissions on that channel will provide a clear trend.

To decode all satellite messages:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the Options menu, select Decode All or from the toolbar click on the [image] icon.

Make sure the Decode All option is unchecked for normal decoding. Dynamic DDE and COM links will not be updated while Decode All is checked.


Manual Decoding

XC Decode will automatically decode all raw messages matching the Auto Decode File parameter in the Auto Decode Path. To decode a single file 1) not in the Auto Decode Path, 2) not matching the Auto Decode File or 3) not wait for the Auto Decode interval, the user can choose to manually decode the file. To manually decode a single raw file:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the File menu, select Open or from the toolbar click on the [image] icon. Browse and selected a raw file.


Editing setup parameters

In setting up XC Decoding, there are a number of critical parameters that must be configured properly. To set these parameters:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the Options menu, select Edit Setup Parameters or from the toolbar click the [image] button.

  3. The XC Decoder Setup Parameters window appears.

From this window you can make changes to the decoding setup as described below. When you are finished, click the OK button to save changes. Changes will be saved to XC Setup. Clicking Cancel will close the window without saving changes.

This parameters are the same as viewed and edited in XC Desktop - XC Decode Setup window. The user has the option to edit the parameters within XC Decode or in XC Desktop.

XC Decode Setup Parameters

  • Auto Decode Path - The directory(s) to read the raw NESDIS files for new satellite messages. The raw files are created by XC Mux.

  • Auto Decode File - The wildcard pattern (*.RAW) of the raw NESDIS files to read. XC Decode will search for files matching the Auto Decode file in the Auto Decode Path.

  • Decode to Local Time - XC Decode will automatically subtract the GMT offset based on Windows Regional Settings from satellite message time to store the data in the data storage option at local time.

  • Custom GMT Offset - Do not use Windows Regional Settings GMT offset, but use will enter will a custom offset to be used by XC Decode.

  • GMT/UTC (Hours) - Number of hours local time is ahead of Greenwich Mean Time when Custom GMT offset is checked. Prior to data storage, XC Decode will subtract the GMT from the message time. Value can be a positive or negative time difference.

  • Auto Base Time - Used in conjunction with the Auto Interval, this indicates how often XC Decode will check the Auto Decode Path for new messages in raw files. Auto Base Time represents an offset into the hour. As an example, if Auto Base Time is 00:05:00 and Auto Interval is 00:30:00, then XC Decode will check for new messages 00:05:00, 00:35:00, 01:05:00, 01:35:00...etc.

  • Auto Interval - Used in conjunction with the Auto Base Time, this indicates how often XC Decode will check the Auto Decode Path for new messages in raw files. Auto Base Time represents an offset into the hour. As an example, if Auto Base Time is 00:05:00 and Auto Interval is 00:30:00, then XC Decode will check for new messages 00:05:00, 00:35:00, 01:05:00, 01:35:00...etc.

  • Table Path - Location of rating/lookup tables. The table files have .TBL extensions are and are used in sensor equations.

  • Run Parameters - An optional list of programs to run when the XC Decode program is started. These programs will be started before XC Decodes begins processing messages. If the application does not reside in the XConnect home directory, list the file path with the executable name (i.e., c:\myapp\myapp.exe).

As an example, a custom client program may used to display decoded data in a specific layout. To ensure the client program is automatically running when XC Decode starts, add the client program executable name to the Run parameter list.

  • Clients - An optional list of applications (dependencies) required by XC Decode. Enter the name of the application as it appears on the title bar. As an example, the application executable is EXCEL.EXE, but the application name on the title bar is Microsoft Excel.

As an example, if a custom client application is required to perform additional processing or custom display using the decoded data, adding the application name to the Clients list will ensure that XC Decode will not begin decoding data unless the client (dependent) is running.

  • Store Quality - As satellite messages are decoded, the header portion of the message includes transmission quality information. This quality information can be optionally stored. For a database, the information is stored in the XC_QUALITY data tables. For all other data storage options, the information is stored in ASCII log files.

  • Quality File Path - For data storage options other than databases (Oracle or Access), quality information is stored in ASCII log files. The quality log files are stored in the Quality File path directory.

  • Quality File - This is field indicates the file name pattern of the log files. This parameter cannot be edited. These files will be created on a daily basis (QLyymmdd.log)

XC Decode Channel Setup Parameters

  • Channel - Satellite channel messages are received on. The Channel should always be 3 digits long, 000 -199 and is assigned to you with the satellite id.

  • Format - This indicates what type of satellite messages will be received on the channel. For database storage options, the source of the data (Self-Timed or Random) will be included in the data record.

Note: After adding or making changes to any of the channel, click on either the Add button (for a new channel) or Update button (for an existing channel).


Logging status messages

The purpose of the Log Status Messages is more for troubleshooting. Logging all messages, it will provide Sutron customer support as a historical log of all events to help troubleshoot any problems. To log all status messages:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the Options menu, select Log Status Messages or from the toolbar click on the [image] icon. The user will be required to enter/select the name of the file to store the status messages.


Refreshing Setup parameters

XC Decode gets the configuration data it needs from the XC Setup program. Since most of this information is requested at application startup, there needs to be a mechanism for propagating changes that are made to the setup after XC Decode is already running. This mechanism is provided via the Reinitialize [image] function which can be found in XC Decode on the toolbar or under the FILE menu. Clicking the Reinitialize [image] button causes XC Decode to flush the current setup information from its buffer and request new setup information from XC Setup.


Interactive Decoding

The Interactive Decoding tool assists the user in defining the decoding parameters for each sensor of each station. To use the decoding tool:

  1. Click the XC Decode icon on the desktop. The XC Decode application starts minimized.

  2. From the Tools menu, select Interactive Decoding or from the toolbar click on the [image] button. The "Interactive Decoding" window appears.

  3. The Interactive Decoder allows users to 1) auto decode, generically, all sensor values in Sutron satellite messages, 2) manually decode specific sensors or non-Sutron satellite messages.

The Interactive Decoder allows the user to try different combinations of decoding parameters to decode sensor values. XC Desktop can import Sutron DCP setups and automatically configure all station and sensor parameters. Though this tool allows users to confirm decoding parameters for Sutron satellite messages, this tool is most useful for non-Sutron satellite messages.

Auto Decoding with the Interactive Decoder

  1. Upon entering the Interactive Decoding window, the user must select a station or satellite ID. From the Select group box, click either the List Stations or List Satellite IDs button. This allows the user to select from the list of XConnect stations or their corresponding satellite IDs.

Note: Some users are more familiar with the satellite ID as identifiers than the station name.

  2. After selecting a station/satellite ID, select a Raw File in the Search group box. Click on the Browse button to explore the computer.

  3. Select the appropriate Message Type. Options are:

    • Sutron Binary SelfTimed

    • Sutron ASCII SelfTimed

    • Sutron Binary Random

    • Other Binary SelfTimed

    • Other ASCII SelfTimed

    • Other Binary Random

This selection will appropriately enable/disable decoding parameters and options.

  4. Click the 300/1200 Baud Message check box if the message was transmitted on a 300 or 1200 baud channel.

  5. Click the Find Raw Message button for XC Decode to search for an example satellite message in the designated raw file. The raw message will be displayed in the grid of the Raw Message Header and Data section. The message header is displayed first above the message data.

As you can see any embedded carriage returns and line feeds are displayed as CR and LF, respectively.

  6. Using the Message Type parameter, the Interactive Decoder sets the decoding parameters to appropriate defaults. Additionally, sensors defined for the selected station are available for selection in the Sensors selection box.

  7. If the Message Type is a Sutron satellite message, the user can select Generic values as the sensor and click Auto Decode button. Based on the know transmission format, the Interactive Decoder will generically decode and display every 3-byte binary value or space delimited ASCII value.

Using Generic Values allows the user to view all the data values of an unknown satellite ID that is still a Sutron DCP. It shows the sensor name or number, the value, the time stamp and the Pos value used.

Similiarly, if the user selects Battery Only from the Sensors list, the Interactive Decoder will extract the battery voltage reading that is appended as the last byte to every Sutron transmitted message.

Note: Keep in mind that the decimal scaling (Right Digits) has not applied to the decode data. While decoding Generic Values, decoding parameters cannot be saved to XC Setup. Parameters are saved when Manual decoding is selected.

Manual Decoding with the Interactive Decoder

Auto decoding allows the user to browse through all the decoded data and form ideas of what sensor values are associated with what sensors declared in XC Desktop and how they are ordered in the satellite message. Manual decoding allows the user to associated specific decoded values to a specific sensor and then save the decoding parameters to XC Setup.

  1. Follow steps 1-6 in the Auto Decoding section to select a station/satellite ID and find a satellite message to decode.

  2. Select a sensor from the Sensors list. If there are any decoding parameters defined in XC Setup for the select sensor, the Interactive Decoder will display the parameters.

Remember, there are many combinations of the sensor decoding parameters that will correctly decode the sensor. Understanding the how XC Decode uses the parameters will help facilitate the process.

  3. Click on the Manual Decode button. Using the displayed parameters, the Interactive Decoder will attempt to decode the selected sensor. Each time, the decoding values will be updated in the Decoded values window.

  4. Lastly, clicking the Save Parameters button will transfer the current decoding parameters to XC Setup, thus eliminating the need to re-enter them in XC Desktop.


Getting a station summary

Creating a station summary or performance reports

In order to provide you with an up-to-date report on the quality of your satellite data collection network, XC Decode can create a station summary on one more of your DCPs. To view station summaries or generate performance reports:

  1. Click the XC Decode icon on the desktop. The XC Decode application displays.

  2. From the Tools menu, select Station Summary or from the toolbar click on the [image] button. The "Station Summary" window appears.

The Station Summary window can be used in several different modes depending on the desired outcome. Performance data on an individual station and particular message can be retrieved and viewed using the top (Select) and middle (Station Results) panels of the window. A summary of all the good/bad/complete/incomplete messages for a specific station/satellite id is displayed in the middle panel of the Station Summary window. Each individual message can also be viewed.

Alternatively, a separate performance report file (.XLS) of aggregate data on all messages system-wide or by channel can be generated using the bottom panel of the window. The performance report summarizes variances of all the quality parameters in the headers of all messages for stations and channels.

The details for generating the summaries and performance reports are described below.

Creating a station summary

Viewing a summary by Station Name

  1. In the top Select panel, click on the List Stations button. All the stations configured in XC Desktop will appear in the drop-down list box.

  2. Select a station name from the drop-down list.

  3. Select a raw file by typing the name in the Raw File field or click on the Browse button and locate/select the desired raw file.

  4. Finally, click on the Get Results button. The results appear in the middle Station Results panel.

  5. All messages transmitted by the station name selected in step 2 contained in the raw file selected in step 3 will be counted and evaluated as good/bad/complete/total messages.

Viewing a summary by Satellite ID

  1. In the top Select panel, click on the List Satellite ID button. All the satellite IDs corresponding to stations configured in XC Desktop will appear in the drop-down list box.

  2. Select a satellite ID from the drop-down list.

  3. Select a raw file by typing the name in the Raw File field or click on the Browse button and locate/select the desired raw file.

  4. Finally, click on the Get Results button. The results appear in the middle Station Results panel.

  5. All messages transmitted by the station name selected in step 2 contained in the raw file selected in step 3 will be counted and evaluated as good/bad/complete/total messages.

Viewing a summary by Custom ID

  1. In the top Select panel, click on the Custom button.

  2. The user can type in a custom satellite ID in the edit box to the right. Use this option, if the satellite ID is not configured in XC Desktop.

  3. Select a raw file by typing the name in the Raw File field or click on the Browse button and locate/select the desired raw file.

  4. Finally, click on the Get Results button. The results appear in the middle Station Results panel.

  5. All messages transmitted by the station name selected in step 2 contained in the raw file selected in step 3 will be counted and evaluated as good/bad/complete/total messages.

Generating a performance report

TIP: Performance reports are generated from Quality log (.LOG) files. These files are generated if the Store Quality parameter is checked in the Decoder setup window of XC Desktop and the Data Storage option is not a database option. The database option will generate a different performance report using XC Reports.

Generating a performance report by channel

  1. In the bottom Performance Report panel, click on the List Channels button. All the channels configured in XC Desktop will appear in the drop-down list box.

  2. Select a channel from the drop-down list or click All Channels to generate report on all channels.

  3. Select a quality log file by typing the name in the Quality File field or click on the Browse button and locate/select the desired quality file.

  4. Finally, click on the Create Report button. An Excel file will be created containing the results. The performance report will be created in the same directory as the quality file with the same name but and XLS extension.

Generating a performance report by station

  1. In the bottom Performance Report panel, click on the List Stations button. All the stations configured in XC Desktop will appear in the drop-down list box.

  2. Select a channel from the drop-down list or click All Stations to generate report on all stations.

  3. Select a quality log file by typing the name in the Quality File field or click on the Browse button and locate/select the desired quality file.

  4. Finally, click on the Create Report button. An Excel file will be created containing the results. The performance report will be created in the same directory as the quality file with the same name but and XLS extension.

Generating a performance report by custom channel

  1. In the bottom Performance Report panel, click on the Custom Channel button.

  2. The user can type in a custom channel in the edit box to the right. Use this option, if the channel is not configured in XC Desktop.

  3. Select a quality log file by typing the name in the Quality File field or click on the Browse button and locate/select the desired quality file.

  4. Finally, click on the Create Report button. An Excel file will be created containing the results. The performance report will be created in the same directory as the quality file with the same name but with an .XLS extension.

Generating a performance report by custom station

  1. In the bottom Performance Report panel, click on the Custom Station button.

  2. The user can type in a custom station name in the edit box to the right. Use this option, if the station name is not configured in XC Desktop.

  3. Select a quality log file by typing the name in the Quality File field or click on the Browse button and locate/select the desired quality file.

  4. Finally, click on the Create Report button. An Excel file will be created containing the results. The performance report will be created in the same directory as the quality file with the same name but with an .XLS extension.


Sensor Decoding

Decoding data means decoding the value correctly and the time stamp of the data value. The key to successful decoding is understanding the parameters that XC Decode uses. These parameters are like a road map into the satellite message string of characters.

The first 37 characters from each satellite messages conform to a NESDIS header format defined by NESDIS (National Environment Satellite, Data and Information Service connected with NOAA).

Decoding sensor value

If the satellite messages is binary (as in the below examples), written documentation on the transmission format from the DCP/RTU manufacturer is vital.

Once the header is read, XC Decode positions itself at the beginning of the data portion of the messages. At this point, the position is 1.

CE12265402365235959G46-3NN052WFF000292DEAap@JAAap@JAAap@JAgri¨

                                     1

Parameters involved in sensor decoding are:

Bound 1 and Bound 2 are used in conjunction with Block ID.

The Block ID is an optional parameter that will advance the position closer to the sensor value position. Thus, in looking for the Block ID, XC Decode will stay within Bound 1 and Bound 2 positions. If Bound 1 and Bound 2 are both left as 0, then XC Decode will search the whole message data portion for the Block ID.

The Block ID also serves as an additional message format check. XC Decode will first verify that the satellite ID is part of the XConnect station list. Next, XC Decode will look for the Block ID. If the Block ID is not found for that sensor, decoding will abort and XC Decode will move to next sensor. Thus, if another rogue DCP/RTU is using your satellite ID by mistake, XC Decode will not decode the incorrect data because the Block ID was not found.

Example 1

NESDIS HDR...000042B1DEAap@JAAap@JAAap@JAgri@OG@@J@@@///¨

12 4

1 **New position after finding Block ID

This represents a Sutron self-timed binary message. As defined by Sutron, the first sensor value is at position 4. If the user chose to look for a Block ID, then XC Decode would be instructed to look for B1 between positions 1 and 2.

After finding the Block ID, position is reset to 1.

Example 2

NESDIS HDR...00059:PC 5 #15 9.62 9.62 :HG 5 #15 7.97 7.96 :Bat 0 12.1 ¨

1

1 **New position after Block ID

This represents a Sutron selftimed ASCII SHEF message. Each sensor is preceded by sensor label that will represent the Block ID. If we are trying to decode HG (stage) sensor, the Block ID would be :HG and Bound 1 and Bound 2 would both be 0. By these settings, XC Decode is instructed to look in the entire message for the label :HG.

After finding the Block ID, position is reset to 1.

Pos indicates start position number after the NESDIS header or Block ID to start reading characters. For Sutron VAX customers, Pos is the same as the OFV value (Offset for First Value).

Example 1

NESDIS HDR...000045B1DEAap@JAAap@JAAap@JAgri@OG@@J@@@//G@@/¨

12 5

After adjusting to start position relative to the Block ID and according to the Sutron self-timed binary format, the first sensor value starts at the letter E which is position 2. Thus the first sensor would have a Pos value of 2. If a Block ID was not used, the Pos value would be 4 since it is the 4th character after the NESDIS header.

Example 2

NESDIS HDR...00059:PC 5 #15 9.62 9.62 :HG 5 #15 7.97 7.96 :Bat 0 12.1 ¨

1 8

After adjusting to start position relative to the Block ID, according to the Sutron self-timed ASCII shef format, the first sensor value is 7.97 position 8. Thus the first sensor would have a Pos value of 8. If a Block ID was not used, the Pos value would be 31 since it is the 31st character after the NESDIS header.

Size indicates how many bytes to read that equals one sensor value once at the Pos position.

The value of size is dependent on manufacturer transmission format.

Example 1

NESDIS HDR...000045B1DEAap@JAAap@JAAap@JAgri@OG@@J@@@//G@@/¨

2345

According to the Sutron self-timed binary format, the size of all binary encoded sensor value is 3.

Example 2

NESDIS HDR...00059:PC 5 #15 9.62 9.62 :HG 5 #15 7.97 7.96 :Bat 0 12.1 ¨

1 8

In the case of ASCII, the Size can have two possibilities. Some DCP/RTU manufacturer will format the sensor values in a message all with the same width (i.e., 5 characters) and pad with 0's. For example, the sensor values can appear as 07.97, 07.96, 07.97. For this example the size will be 5 (account for the decimal space).

If the width of the sensor value will vary, enter 0 for the Size. The special value of 0 will instruct XC Decode to continue to read until either a space, carriage turn or line feed is encountered. Using 0 as the Size, proves less prone to counting errors.

Next indicates how many characters to skip from Pos to reach the next occurrence of the sensor value if the number of sensor values to decode (Amount) is > 1. For Sutron VAX customers, Next is the same as the ONV (Offest to Next Value) value.

Example 1

NESDIS HDR...000045B1DEAap@JAAap@JAAap@JAgri@OG@@J@@@//G@@/¨

23456789AB

Using this example and according to the Sutron self-timed interleaved binary format, the Next value is equal to the total number of sensors multiplied by 3. As shown above, each sensor is color-coded. There are three sensors (shown in blue, fushia and green). The distance between the sensors shown in blue is 9 (3 sensors x Size of 3).

Example 2

NESDIS HDR...00059:PC 5 #15 9.62 9.62 :HG 5 #15 7.97 7.96 :Bat 0 12.1 ¨

89ABCD

In the case of ASCII, if a non-zero Size was used, such as 5 in the previous section, then the Next distance would be 6. Again, Next is the number of characters to skip to reach the next occurrence of the same sensor.

If 0 is used for the Size, then using the 0 for Next will indicated to XC Decode that the second occurrence of the sensor is immediately after the first.

Amount - How many values of each sensor does XC Decode need to decode. For Sutron VAX customers, Amount is the same as the NV value (Number of Values).

The number values for each sensor is determined by the DCP/RTU setup. If the sensor is measured every 15 minutes and the satellite transmission interval (provided by NESDIS) is 4 hours, then the amount of sensors is 16. There are 4-15 minute measurements per hour over 4 hours, thus 16.

Example 1

NESDIS HDR...000045B1DEAap@JAAap@JAAap@JAgri@OG@@J@@@//G@@/¨

23456789AB

Using this example and with the assistance of the color-coded sensors, there are 4 interleaved sets of sensors. Thus, the Amount for this example is 4.

Example 2

NESDIS HDR...00059:PC 5 #15 9.62 9.62 :HG 5 #15 7.97 7.96 :Bat 0 12.1 ¨

89ABCD

In the case of ASCII, it is very easy to count the number of sensor values. Thus, the Amount for this example is 3.

SkipLF, SkipComma, and SkipBlank all help advance the position closer to the starting position (Pos) of the sensor.

These parameters are useful if the satellite message contains line feeds (LF), comma, or blanks. These, like, the Block ID help provide an accurate road map closer to the starting position of the sensor. SkipBlank can be used in decoding the Sutron self-time ASCII SHEF message. Let's revisit Example 2 using SkipBlank.

Example 2

NESDIS HDR...00059:PC 5 #15 9.62 9.62 :HG 5 #15 7.97 7.96 :Bat 0 12.1 ¨

B B B1

Using the Block ID and SkipBlank parameters, we can quickly advance to the beginning of the sensor value. We will still use the :HG as the Block ID. Additionally, we can see that there 3 blanks between finding the Block ID and the beginning of the sensor value. Thus, without having to count any characters, we easily advance to the sensor value by using SkipBlank = 3. Finally, the Pos is then 1. The Size and Next parameters will remain 0 as above.

Example 3

45505E7202071110330G50-5NN019EFF00096

02.075 02.075 02.074

12.38 12.41 12.38

283 283 283

-25.1 -25.7 -26.3

064 064 064

The message in Example 3 is not a Sutron message. As you can see from the message, the data is separated into multiple lines. The easiest way to retrieve all the data is to use the SkipLF parameter. The sensor data on the second line is battery (12.38 12.41 12.38). Thus, using the parameters to quickly advance to the beginning of the line would be: SkipLF = 2, Pos = 1, Size = 0, Next = 0, and Amount = 3.

Each time a new line is started, there is an embedded character representing a Line Feed. It is an unprintable character, thus unseen, but still accounted for.

The parameters for the last line of data (064 064 064) would be:

SkipLF = 5, Pos = 1, Size = 0, Next = 0, and Amount = 3.

As you can see in this case, there is not unique block identifier or label to distinguish one set of numbers or the messages, thus Block ID is left blank (not used), Bound 1 and Bound 2 are 0.

Alternate decoding parameters option 2:

If SkipLF was not used, you could have counted the characters to the beginning of the each line. Do not forget that there is a blank space, a CR (carriage return) and LF (line feed) at the end of each line that need to be counted! In that case the battery decoding parameters would be:

Pos = 27, Size = 0, Next = 0, and Amount = 3.

Alternate decoding parameters option 3:

Further, if you chose not use the Size equal to 0, the decoding parameters would be:

Pos = 27, Pos = 1, Size = 5, Next = 6, and Amount = 3.

All three sets of decoding parameters will decode the same value. The second and third set require more counting and is more prone to errors.

Decoding sensor time stamp

Written documentation on the transmission format from the DCP/RTU manufacturer is also vital for understanding the time order of the sensor values. As seen in the examples above, many satellite messages do not contain time information with the sensors. It is key to remember that each transmission must be complete within XX seconds.

Interval represents the measurement time difference between the decoded sensor values.

As indicated in the Sutron transmission format, the newest measured data is ordered first and the oldest measured data last. So, for Sutron, the value will always be the negative of the measurement interval in the DCP/RTU, typically -00:15:00.

For some DCP/RTU manufacturers, the sensor ordering is oldest to newest, so the Interval will be a positive value, 00:15:00.

Offset represents the time difference between the message transmission time and the measurement time of first sensor value in message.

In many cases, the only reference to any time in the satellite messages is in the NESDIS header. This time can help XC Decode derive the measurement time of the sensor values. If the transmission time of a DCP is 18:47:50, and the measurement cycle of the sensor is 00:15:00, then the Offset time will be 00:02:50. If the sensor is measured every 15 minutes, then the last time of measurement before transmission was 18:45:00. The difference between 18:47:50 minus 18:45:00 is 00:02:50.

RoundOff helps round the calculated time to whole minutes or hours before storing to data storage option.

The rounding of the time stamp is more important with the PcBase2 binary file data storage option. The binary data files are essentially, fixed interval files. The fixed interval file is determined by the XC Desktop Data Storage setup parameters. In creating a binary data file, the user must specify the Start date/Time and Interval of the file. Thus, if the Interval of the binary file is 00:15:00, then the only available storage times in the file will be 00:00:00, 00:15:00, 00:30, 00:45:00, 01:00:00, 01:15:00...etc. So, the time and date calculated for the sensor values will have to be stored in one of the pre-determined time slots. Rounding the calculated time ensures no confusion on the part of XC Decode with regard to accurate data storage. Without rounding, XC Decode will determine the closes time slot to store the sensor data.

The rounding of time for the database data storage option provides a nice consistent, incremental time stamp for all the sensor values.

Example

CE12265402305205014G46-3NN052WFF00059:PC 5 #15 9.62 9.62 :HG 5 #15 7.97 7.96...¨

        YYDDDHHMMSS                         O  I

The above message, according to the header, the message was transmitted year 2002, julian day 305 (November 1) at 20:50:14 (8:50:14 pm). According to the Sutron self-timed ASCII SHEF format, the position marked with the yellow 'O' represents the offset value.

Actual sensor measurement time = Transmission time - Offset (minutes).

20:45:14 = 20:50:14 - 00:05:00

The yellow 'I' represents the data interval. The Interval indicates that the sensor values were measured 15 minutes apart. For Sutron data, the 15 is negative. So, the :

First sensor value (:PC or :HG) was measured at 20:45:14.

Second sensor value (:PC or :HG) was measured at 20:30:14.

Third sensor value (:PC or :HG) was measured at 20:15:14.

Using an optional RoundOff value of 00:15:00 which matches the measurement interval will adjust the time to: 20:45:00. 20:30:00, 20:15:00 prior to data storage.


NESDIS Header and Message Description

CE12265402365235959G46-3NN052WFF00029@DEAap@JAAap@JAAap@JAgri¨

1       2 3  4 5 6 78 9 ABC  DE F    G                       H

Field #

Byte Length

Range

Description

1

8

0-9,A-F

Satellite ID (also referred as: Platform ID, NESDIS ID, DCP Address)

2

2

00-99

Year message was received relative to GMT/UCT

3

3

000-365

Julian day message was received relative to GMT/UCT

4

2

00-23

Hour message was received relative to GMT/UCT

5

2

00-59

Minute message was received relative to GMT/UCT

6

2

00-59

Second message was received relative to GMT/UCT

7

1

G,?,W,A,B,T,U, M,I,N,Q,C,S

Failure Code

G - Good Message

? - Message received with parity errors

M - Missing message

S - Short or Truncated message (Sutron Only)

THE FOLLOWING CODES ARE USED BY NESDIS ONLY:

W - Message received on wrong channel

D - Message received on multiple channel (duplicate)

A - Message received with address error(s) (correctable)

B - Message received with bad address (not correctable)

T - Message received late/early (time error)

U - Unexpected message

I - Invalid address

N - PDT entry for platform not complete

Q - Bad quality measurements

C - Comparison error on test transmission

Note: The PDT is NESIDS's platform description table.

8

2

32-57

Signal Strength of received message in dB.

Normal operation is 44-48.

Reliable data can be received as low as 37 if no other signal problem exists.

9

2

0,1,2...9,A

-1,-2...-9,-A

Frequency Offset in 50 Hz increments.

0=0-49 Hz, 1=40-99 Hz,...8=400-449 Hz, A=500-549 Hz.

A minus sign indicates the same range only below the center frequency.

A

1

N,H,L

Modulation Index or Phase Deviation

N = Normal, 60 +/- 5 degrees

H = High, > 70 degrees

L = Low, < 50 degrees

B

1

N,H,P

Modulation Quality

N = Normal, error rate better than 1x10-6

F = Fair, error rate between 1x10-4 and 1x10-6

P = Poor, error rate worse than 1x10-4

C

3

000-999

Channel message was received on

D

1

E,W,C,A

Satellite Spacecraft Location

E - GOES East

W = GOES West

C = GOES Central (not currently used)

THE FOLLOW CODES HAVE BEEN DEFINED BY SUTRON TO SUPPORT NON-GOES SATELLITES:

A = ARGOS (Never see this from NESDIS)

E

2

FF

Uplink carrier status (not used, always FF)

F

5

00000-15750

Message Data Length (plus 4 bytes to account for satellite ID which used to be contained in the message + 1 byte for the EOT stored as a blank space at the end).

In the example, there are acutally only 24 bytes of data, however, 24+4+1 or 29 is the actual number stored in the data length.

G

Message Data Length minus 5

!-~,CR,LF, SPACE

Message data.

Can be continued on multiple lines separated by a CR and a LF.

H

1

¨

Blank space representing EOT (End of Transmission) at end of message.


Sutron transmission format

Sutron Satellite Transmission format

The Sutron dataloggers support 4 different transmission formats, they are:

  1. Random Binary (6-bit binary code)

  2. Self Timed Binary Interleaved (6-bit binary code)

  3. Self Timed ASCII SHEF (Standard Decimal Format, similar to SHEF)

  4. Self Timed Binary Non-Interleaved (6-bit binary code - XPERT/XLITES only)

Below is first describes the general transmission format followed by details on each of the formats transmitted by the Sutron dataloggers.

RANDOM BINARY DATA FORMAT

This format is used when the Sutron RTU makes a random or alarm transmission. The format of the transmission data is:

<GROUP-ID> <OFFSET>

<SENSOR1-DATA> <SENSOR2-DATA> ... <SENSOR(N)-DATA>

<SENSOR1-DATA> <SENSOR2-DATA> ... <SENSOR(N)-DATA>

<SENSOR1-DATA> <SENSOR2-DATA> ... <SENSOR(N)-DATA>

...

<EXTERNAL DATA><COUNTER><BATTERY><LAT/LONG>

where:

GROUP-ID

The GROUP-ID is a one byte character, in the range 2 to 9, indicating the random group which caused the transmission.

OFFSET

OFFSET is a 1 byte binary encoded number indicating the number of minutes ago the most recent data was recorded.

SENSOR-DATA

The actual SENSOR-DATA contains only those sensors belonging to the random group which caused the alarm. The data values are 3 byte binary encoded signed numbers allowing a range of: -131072 to +131071. The actual 6-bit binary encoded format is described later. The Sutron RTU will only transmit numbers in the range -32768 to +32767. The value transmitted is taken directly from the log of the Sutron RTU which was scaled by Rightdigits before being placed in the log. The value transmitted will be value * 10^RightDigits. The string "///" will be sent if the data was never recorded or was erased.

For 8200/8210 data loggers, the number of sensors values transmitted depends on the number of sensors in the random group, and the number of log records sent depends on #Data/TX RR selected in the Sutron RTU. The most recent data is always sent first. Note: if #Measmnt/Log is set > 1, the first value transmitted is the last measured value, not the last logged value. This has been done to support users who want data logged hourly (to conserve space) and still transmit randomly a value collected more often. Since the number of values transmitted for each sensor is the same, the values are interleaved (a set of sensors values are transmitted at a time).

For XPert/XLite/SatLink data loggers, the number of sensor values is set separately for each measurement in the Random Transmisssions, Num values to Tx field. As a result, the Satlink will send all the required values for one sensor (most recent first) before proceeding to the next sensors. These values are non-interleaved.

EXTERNAL DATA

For SatLink data loggers only, this is data given to the SatLink by a device through the RS-232 port. This is untouched by the SatLink Logger. It gets transmitted in the same way it was received.

LAT/LOG

For data loggers using SatLink transmitters only, this is an optional field. It will only be included if the Append Lat/Long parameter is selected for random transmissions. XConnect cannot decode LAT/LONG.

LAT/LONG can manually be decoded into D:M:S format by converting the binary values to decimal and applying the following formula:

  • Degrees latitude = 64 * ( 1st-byte AND 63 ) + ( 2nd-Byte AND 63) - 180.

  • Minutes latitude = 3rd-byte AND 63Seconds latitude = 4th-byte AND 63.

  • Degrees longitude = 64 * ( 5th -byte AND 63) + ( 6th -Byte AND 63) - 180.

  • Minutes longitude = 7th-byte AND 63Seconds longitude = 8th-byte AND 63.

  • For example BAAODAXe would be decoded as Lat N 39o 1' 15.79" Long W 77o 24' 37.19".

COUNTER

COUNTER is a 2 byte binary encoded number which indicates the transmission number and increments after every transmission. The number will be between 0 and 4095.

BATTERY

BATTERY is a 1 byte binary encoded number representing the battery voltage of the Sutron RTU before the transmission. The range of the number will be -32 to +31 and can be converted to volts by multiplying by 0.234 and adding 10.6 allowing a range of 3.1 to 18.1 volts.

EXAMPLE 1:

Here is a message with 2 data items per transmission and with three sensors enabled in random group 2.

This message assumes that #measmnt/log = 1.

2@@Gt@Sx@@i@Gs@Sr@@i@GI

||| | | | | | | |

||| | | | | | | +- Battery Voltage

||| | | | | | +--- Random Counter

||| | | | | +------ Temp #2

||| | | | +--------- Precip #2

||| | | +------------ Stage #2

||| | +--------------- Temp #1

||| +------------------ Precip #1

||+--------------------- Stage #1

|+---------------------- Delta Time

+----------------------- Group ID

The time stamp for the values is based on DatTimRR and DatIntRR. A transmission made at 10:28 would have the 10:15 (#1) and 10:00 (#2) data if DatTimRR=00:00:00 and DatIntRR=00:15:00. If DatTimRR=00:00:00 and DatIntRR=01:00:00 the data would be at 10:00 (#1) and 9:00 (#2)

EXAMPLE 2:

If #measmnt/log were > 1, the message would appear as follows:

Here is a message with 2 data items per transmission and with

three sensors enabled in random group 2:

2@@Gt@Sx@@i@Gs@Sr@@i@GI

||| | | | | | | |

||| | | | | | | +- Battery Voltage

||| | | | | | +--- Random Counter

||| | | | | +------ Temp #1 (based on DatTimRR and DatIntRR)

||| | | | +--------- Precip #1 (based on DatTimRR and DatIntRR)

||| | | +------------ Stage #1 (based on DatTimRR and DatIntRR)

||| | +--------------- Temp #1 (last measured value)

||| +------------------ Precip #1 (last measured value)

||+--------------------- Stage #1 (last measured value)

|+---------------------- Offset Time

+----------------------- Group ID

EXAMPLE 3:

2@@Gt@Gs@Sx@Sr@@i@@iEXTBAAODAXe@GI

||| | | | | | | | | |

||| | | | | | | | | +- Battery Voltage

||| | | | | | | | +--- Random Counter

||| | | | | | | +----------- Latitude/Longitude (optional)

||| | | | | | +-------------- External Data (EXT given by external RS-232 device)

||| | | | | +----------------- Temp #2

||| | | | +-------------------- Temp #1

||| | | +----------------------- Precip #2

||| | +-------------------------- Precip #1

||| +----------------------------- Stage #2

||+-------------------------------- Stage #1

|+--------------------------------- Delta Time

+---------------------------------- Group ID = 2

The time stamp for these values is a bit different than that in the first example. In this later case, the Sutron RTU sends the last measured value for each sensor first. The time stamp for these sensors would be the last nearest measurement time. The first data from the log (#1) would have the same time stamp as before.

SELF TIMED BINARY INTERLEAVED DATA FORMAT

This format is used when the Sutron RTU makes a self-timed transmission and the format has been set to BINARY. The format of the transmission data is:

<BLOCK-IDENTIFIER> <GROUP-ID> <OFFSET>

<SENSOR1-DATA> <SENSOR2-DATA> ... <SENSOR(N)-DATA>

<SENSOR1-DATA> <SENSOR2-DATA> ... <SENSOR(N)-DATA> ...

<SENSOR1-DATA> <SENSOR2-DATA> ... <SENSOR(N)-DATA>

<EXTERNAL DATA><COUNTER><BATTERY><LAT/LONG>

where:

BLOCK-IDENTIFIER

BLOCK-IDENTIFIER is always sent as "B" to indicate the start of a binary data group.

GROUP-ID

GROUP-ID is always sent as "1" to indicate the self timed group.

OFFSET

After the group id, the actual data from the Sutron RTU's log are sent. Each record is prefixed with an <OFFSET>, which is a 1 byte binary encoded number indicating the number of minutes ago the most recent data was recorded.

SENSOR-DATA

SENSOR-DATA contains only those sensors belonging to the self timed group (number 1). The data values are 3 byte binary encoded signed numbers allowing a range of: -131072 to +131071. The actual 6-bit binary encoded format is described later. The Sutron RTU will only transmit numbers in the range -32768 to +32767. The value transmitted is taken directly from the log of the Sutron RTU which was scaled by RightDigits before being placed in the log. The value transmitted will be value * 10^RightDigits. The string "///" will be sent if the data was never recorded or was erased.

For 8200/8210 data loggers, the number of sensors values transmitted depends on the number of sensors in the random group, and the number of log records sent depends on #Data/TX ST selected in the Sutron RTU. The most recent data is always sent first. Note: if #Measmnt/Log is set > 1, the first value transmitted is the last measured value, not the last logged value. This has been done to support users who want data logged hourly (to conserve space) and still transmit randomly a value collected more often. Since the number of values transmitted for each sensor is the same, the values are interleaved (a set of sensors values are transmitted at a time).

EXTERNAL DATA

For SatLink data loggers only, this is data given to the SatLink by a device through the RS-232 port. This is untouched by the SatLink Logger. It gets transmitted in the same way it was received.

BATTERY

BATTERY is a 1 byte binary encoded number representing the battery voltage of the Sutron RTU before the transmission. The range of the number will be -32 to +31 and can be converted to volts by multiplying by 0.234 and adding 10.6 allowing a range of 3.1 to 18.1 volts.

LAT/LONG

For data loggers using SatLink transmitters only, this is an optional field. It will only be included if the Append Lat/Long parameter is selected for random transmissions. XConnect cannot decode LAT/LONG.

LAT/LONG can manually be decoded into D:M:S format by converting the binary values to decimal and applying the following formula:

  • Degrees latitude = 64 * ( 1st-byte AND 63 ) + ( 2nd-Byte AND 63) - 180.

  • Minutes latitude = 3rd-byte AND 63Seconds latitude = 4th-byte AND 63.

  • Degrees longitude = 64 * ( 5th -byte AND 63) + ( 6th -Byte AND 63) - 180.

  • Minutes longitude = 7th-byte AND 63Seconds longitude = 8th-byte AND 63.

  • For example BAAODAXe would be decoded as Lat N 39o 1' 15.79" Long W 77o 24' 37.19".

EXAMPLE 1:

Here is a message with 2 data items per transmission and with three sensors enabled in the self-timed group:

B1@@Gt@Sx@@i@Gs@Sr@@iI

|||| | | | | | +--- Battery Voltage

|||| | | | | +------ Temp #2

|||| | | | +--------- Precip #2

|||| | | +------------ Stage #2

|||| | +--------------- Temp #1

|||| +------------------ Precip #1

|||+--------------------- Stage #1

||+---------------------- Delta Time

|+----------------------- Group ID

+------------------------ Block ID

SELF TIMED BINARY NON-INTERLEAVED DATA FORMAT

This format is used when the XPERT/XLITE makes a self-timed transmission and the format has been set to BINARY/NON-INTERLEAVED. The format of the transmission data is:

<BLOCK-IDENTIFIER> <GROUP-ID> <OFFSET>

<SENSOR1-DATA> <SENSOR1-DATA> ... <SENSOR1-DATA>

<SENSOR2-DATA> <SENSOR2-DATA> ... <SENSOR2-DATA> ... <SENSOR2-DATA>

<SENSOR(N)-DATA> <SENSOR(N)-DATA>

<BATTERY>

where:

BLOCK-IDENTIFIER

BLOCK-IDENTIFIER is always sent as "B" to indicate the start of a binary data group.

GROUP-ID

GROUP-ID is always sent as "1" to indicate the self timed group.

OFFSET

After the group id, the actual data from the Sutron RTU's log are sent. Each record is prefixed with an <OFFSET>, which is a 1 byte binary encoded number indicating the number of minutes ago the most recent data was recorded.

SENSOR-DATA

SENSOR-DATA contains only those sensors belonging to the self timed group (number 1). The data values are 3 byte binary encoded signed numbers allowing a range of: -131072 to +131071. The actual 6-bit binary encoded format is described later. The Sutron RTU will only transmit numbers in the range -32768 to +32767. The value transmitted is taken directly from the log of the Sutron RTU which was scaled by RightDigits before being placed in the log. The value transmitted will be value * 10^RightDigits. The string "///" will be sent if the data was never recorded or was erased.

For XPert/XLite/SatLink data loggers, the number of sensor values is set separately for each measurement in the Scheduled Transmisssions, Num values to Tx field. As a result, the Satlink will send all the required values for one sensor (most recent first) before proceeding to the next sensors. These values are non-interleaved.

BATTERY

BATTERY is a 1 byte binary encoded number representing the battery voltage of the Sutron RTU before the transmission. The range of the number will be -32 to +31 and can be converted to volts by multiplying by 0.234 and adding 10.6 allowing a range of 3.1 to 18.1 volts.

LAT/LONG

For data loggers using SatLink transmitters only, this is an optional field. It will only be included if the Append Lat/Long parameter is selected for random transmissions. XConnect cannot decode LAT/LONG.

LAT/LONG can manually be decoded into D:M:S format by converting the binary values to decimal and applying the following formula:

  • Degrees latitude = 64 * ( 1st-byte AND 63 ) + ( 2nd-Byte AND 63) - 180.

  • Minutes latitude = 3rd-byte AND 63Seconds latitude = 4th-byte AND 63.

  • Degrees longitude = 64 * ( 5th -byte AND 63) + ( 6th -Byte AND 63) - 180.

  • Minutes longitude = 7th-byte AND 63Seconds longitude = 8th-byte AND 63.

  • For example BAAODAXe would be decoded as Lat N 39o 1' 15.79" Long W 77o 24' 37.19".

EXAMPLE 1:

Here is a message with three sensors enabled each with a different number of data items in the selftimed group:

B1@@Gt@Gs@Sx@Sr@@i@@iEXTIBAAODAXe

|||| | | | | | | ||

|||| | | | | | | |+-------- Latitude/Longitude (optional)

|||| | | | | | | +--------- Battery Voltage (optional)

|||| | | | | | +------------ External

|||| | | | | +--------------- Temp #2

|||| | | | +------------------ Temp #1

|||| | | +--------------------- Precip #2

|||| | +------------------------ Precip #1

|||| +--------------------------- Stage #2

|||+------------------------------ Stage #1

||+------------------------------- Delta Time

|+-------------------------------- Group ID

+--------------------------------- Block ID

SELF TIMED ASCII SHEF DATA FORMAT

This format is used when the Sutron RTU makes a self-timed transmission and the format has been set to SHEF. The format of the transmission data is:

":" <NAME1> <OFFSET> "#"<INTERVAL> <DATA1> <DATA1> ... <DATA1>

":" <NAME2> <OFFSET> "#"<INTERVAL> <DATA2> <DATA2> ... <DATA2> ...

":" <NAME(N)> <OFFSET> "#"<INTERVAL> <DATA(N)> <DATA(N)> ... <DATA(N)>

":" <EXTERNAL DATA>

":" <BATTERY-NAME> <OFFSET> <BATTERY>

<LAT/LONG>

where:

NAME

NAME is the sensor name or SHEF CODE as entered in the Sutron RTU in the enable sensor menu. SHEF CODES are usually two digit codes and you will have to look up the appropriate codes for your sensors. So, for instance the SHEF CODE for gage height is HG, cumulative precipitation is PC, air temperature is TA, and battery voltage is VB.

OFFSET

OFFSET After the group id, the actual data from the Sutron RTU's log are sent. Each record is prefixed with an <OFFSET>, which is an ASCII number indicating the number of minutes ago the most recent data was recorded.

INTERVAL

INTERVAL indicates the interval in minutes between transmitted sensor data items. The Sutron RTU always uses the same interval for every sensor. The interval is called the Data Interval in the Sutron RTU GOES setup menu.

SENSOR-DATA

Unlike the binary formats, the SHEF format groups all the related sensor <DATA> together. So, the data line for precipitation would contain the most recent precip data first followed by the next oldest, etc. One entry is generated for each sensor in the self timed group (number 1). The data is transmitted in ASCII with sign and decimal point (if needed). If a data value has not yet been recorded (or has been erased) the letter "M" for missing data will be sent.

The number of sensors transmitted depends on the number of sensors in the self timed group, and the number of log records sent depends on the Number of Data Items selected in the Sutron RTU. The most recent data is always sent first.

EXTERNAL DATA

For SatLink data loggers only, this is data given to the SatLink by a device through the RS-232 port. This is untouched by the SatLink Logger. It gets transmitted in the same way it was received.

BATTERY

After all of the sensors and data have been sent on last entry will be transmitted containing the battery voltage. <BATTERY-NAME> will contain the SHEF code assigned to Battery voltage in the Sutron RTU. <OFFSET> will be the same as for other entries and <BATTERY> will contain the Sutron RTU battery voltage as measured just before transmitting.

LAT/LONG

For data loggers using SatLink transmitters only, this is an optional field. It will only be included if the Append Lat/Long parameter is selected for random transmissions. XConnect cannot decode LAT/LONG.

LAT/LONG can manually be decoded into D:M:S format by converting the binary values to decimal and applying the following formula:

  • Degrees latitude = 64 * ( 1st-byte AND 63 ) + ( 2nd-Byte AND 63) - 180.

  • Minutes latitude = 3rd-byte AND 63Seconds latitude = 4th-byte AND 63.

  • Degrees longitude = 64 * ( 5th -byte AND 63) + ( 6th -Byte AND 63) - 180.

  • Minutes longitude = 7th-byte AND 63Seconds longitude = 8th-byte AND 63.

  • For example BAAODAXe would be decoded as Lat N 39o 1' 15.79" Long W 77o 24' 37.19".

EXAMPLE:

Here is a message with 2 data items per transmission and with three sensors enabled in the selftimed group, notice how much longer this message is compared to the earlier binary examples:

:HG 0 #15 10.20 10.15 :PC 0 #15 50 49 :TA 0 #15 -22.1 -22.0 :VB 0 12.2

| | | | | | | | | | | | | | | | | |

| | | | | | | | | | | | | | | | | +- VB reading

| | | | | | | | | | | | | | | | + -- Offset time

| | | | | | | | | | | | | | | +------ Sensor Name, VB

| | | | | | | | | | | | | | +------------- TA #2

| | | | | | | | | | | | | +------------------- TA #1

| | | | | | | | | | | | +---------------------- Interval

| | | | | | | | | | | +------------------------- Offset time

| | | | | | | | | | +---------------------------- Sensor Name, TA

| | | | | | | | | +-------------------------------- PC #2

| | | | | | | | +----------------------------------- PC #1

| | | | | | | +-------------------------------------- Interval

| | | | | | +----------------------------------------- Offset time

| | | | | +-------------------------------------------- Sensor Name, PC

| | | | +--------------------------------------------------- HG #2

| | | +--------------------------------------------------------- HG #1

| | +------------------------------------------------------------ Interval

| +--------------------------------------------------------------- Offset time

+------------------------------------------------------------------ Sensor Name, HG

Note: the names HG, PC, TA are the sensor names assigned by the person setting up the Sutron RTU. If the default names are used they might be Encoder1 (HG), Counter (PC), Analog1 (TA), Battery (VB).

SIX-BIT BINARY ENCODED FORMAT

The six bit binary format is used to encode numbers into displayable ASCII characters. Notice that fractional numbers cannot be represented, so for instance a battery voltage of 13.04 volts setup with 2 right digits will be sent as 1304.

  • A 1 byte encoded number can range from -32 to +31.

  • A 2 byte encoded number can range from -2048 to +2047

  • A 3 byte encoded number can range from -131072 to +131071

Binary encoded numbers are always sent most significant bytes first. The number itself is broken down into 6-bit digits, and each digit is placed in one byte of data. The number 64 (ASCII "@") is added to each digit to make it fall within the range of displayable ASCII characters. The only exception is that 127 (ASCII <DEL>) is sent as 63 (ASCII "?")

Example 1. Encoding the number 10 in 1 byte:

  • Since 10 will fit in 6-bits we only have to add 64 which would yield 74. So the number 10 would appear as ASCII 74 or the letter "J".

Example 2. Encoding the number 12345 in 3 bytes:

  • First we have to convert 12345 into binary in 6-bit pieces:

12345 (base 10) = 11 000000 111001 (base 2)

  • Now we can convert each piece back to base 10:

11 000000 111001 (base 2) = 3, 0, 57

  • Finally, we add 64 to each piece and convert to ASCII:

67, 64, 121 = ASCII "C@y"

Example 3. Encoding the number -12345 in 3 bytes:

  • First we have to convert -12345 into two's complement 18-bit binary:

-12345 (base 10) = 111100 111111 000111 (base 2)

  • Now we can convert each piece back to base 10:

111100 111111 000111 (base 2) = 60, 63, 7

  • Finally, we add 64 to each piece and convert to ASCII (since the second piece is 63 we leave it alone):

124, 63, 71 = ASCII "|?G"

Example 4. Decoding the 3 byte string "@SW":

This is just like encoding except we follow the steps backwards.

  • First we convert all the characters to ASCII decimal codes:

ASCII "@SW" = 64, 83, 87

  • Now we subtract 64 from each piece and convert to 6 bit binary:

0, 19, 23 = 000000 010011 010111

  • Finally, we combine all the bits to form one 18-bit twos complement number and convert to base 10:

000000010011010111 = 1239


Troubleshooting Tips

XC Decode's role is to decode satellite messages and then store the data. XC Decode is controlled by the Auto Base Time and Auto Interval parameters to determine how often to check for new satellite messages. The area most errors will occur will be in data decoding. The advantage of reading satellite messages from raw files (.RAW) is that the data can be re-decoded if decoding errors are found.

Decoding data means decoding the value correctly and the time stamp of the data value. The key to successful decoding is understanding the parameters that XC Decode uses. These parameters are like a road map into the satellite message string of characters. Using the Interactive Decoding window will help resolve most of these issues.

Problem: Stored sensor data not correct (Decoding errors).

XC Decode uses the parameters in the XC Desktop - Sensor Setup window - Decoding Sensor Setup section. Check the parameters used to determine the sensor value and the time stamp. Check the Bound #1, Bound #2, Pos parameters.

When decoding Sutron Binary interleaved (6-BIT) data, the:

  1. Size parameter should always be 3.

  2. Bound #1 and Bound #2, should be 1 and 2, respectively.

  3. Block ID is B1 for GOESTimed and the alarm group number (i.e, 2 or 3) or GOESRandom.

  4. Pos for the first sensor will be 3; for the second sensor 5; for the third sensor 8 ...etc. The difference of 3 is because the Size of the data is 3.

  5. Next will be equal to the total number of sensors multiplied by 3 (Size).

  6. Amount will be total number of values transmitted for each sensor.

The Pos will always start at 2 when using the above Bound#1, Bound#2 with Sutron binary data. If not using and BlockID/Bound #1/Bound #2, the Pos will start at 4. All other Pos values will be an increment of 3 since the Size of Sutron binary data always 3. The order of the sensors will always follow the order in which the values are logged in the 8210/8200. Thus, the first logged value in the 8210 will have the Pos value of 2. The second logged value in the 8210/8200 will have a Pos value of 5, the third logged value a Pos value of 8 and so forth. In the 8210/8200 go to View Data|Newest Data on the menu, to verify view the logging order.

If the first sensor value is decoded correctly but second value of the same sensor is not, then the Next parameter is incorrect. The Next parameter is equal to then total number of sensors transmitted multiplied by 3 (i.e., 4 sensors X 3 = 12).

When decoding Sutron ASCII SHEF data, the:

  1. Size parameter should always be 0.

  2. Bound #1 and Bound #2, should be 0 and , respectively.

  3. Block ID is the name of the sensor as configured/named in the 8210/8200/XPert/XLite.

  4. Pos for the first sensor will be 1.

  5. Next should always be 0, if Size is 0.

  6. SkipBlank should always be 3, except for the last automatically appended battery sensor.

  7. Amount will be the total number of sensors transmitted for each sensor.

When decoding ASCII data, the Size parameter for Sutron data is always 0. The Bound #1 and Bound #2 parameters should both be 0. This indicates to XC Decode search the whole message for the Block ID. The Block ID must match the name of sensor as defined in the 8210/8200/XPert/XLite. It is case-sensitive, unless the Ignore Case parameter is checked. The SkipBlank parameter is always 3 for the sensors and the Size is 0. The Next parameter is not used in decode ASCII data when the Size is 0.

To verify new settings, use the Interactive Decoder to manually decode the message with the new settings.

Problem: Sensor Data in data files/database is correct but logged at the wrong time.

If the values in the data files/database are being decoded correctly, but appear stored at the wrong time, there are two possibilities. The parameters that control how the time is calculated are Offset, Interval and Round Off in the XC Desktop - Sensor Setup window - Decoding Sensor Setup section.

Make sure the Offset is correctly entered for all the sensors. For the Sutron binary messages, the Offset is calculated to be the time difference between the message transmission (in header part of message) and time measurement of first sensor value in message. For Sutron ASCII messages, the offset is the number following the sensor label (i.e., :RAIN).

Next, make sure the Interval parameter is negative and corresponds to the correct interval of data as set in the 8210/8200. Typically the interval is equal to the logging interval of the data in the 8210/8200. Review each sensor and verify the Offset and Interval parameter. The Round Off parameter should be equal to the Interval. This parameter is optional and is used to round the time stamp to a full minute or hour.

To verify new settings, use the Interactive Decoder to manually decode the message with the new settings.

The other possibility is if all the data seems to be shifted by the same hourly offset. In this case, check the GMT/UTC offset in the XC Desktop - Decoder Setup window.

Problem: Sensor data is not being stored in data storage option.

In XC Desktop - Data Storage Setup window, verify all the setup parameters are correct for the selected storage option.

  • For PcBase2 binary files, verify all the data files are listed in the Files parameter list.

  • For ASCII/EXCEL files, verify the File Path is correct and exists.

  • For XConnect database, verify the Data Source selection is correct and the ODBC settings are correct.

Next, select High Detail on XC Decode. Either manually decode a .RAW file, force the next decoding cycle, or wait for the next decoding interval. The detailed error messages will be displayed on the Data Storage status window of XC Decode.

Problem: No new data being decoded in XC Decode.

If there are no new satellite messages being decoded in the XC Decode decoding status window:

  1. Verify the Auto Decode Path in XC Desktop - Decoder setup window exists.

  2. In XC Desktop - Mux Setup, check to make sure the Raw Path listed is the same location as the Auto Decode Path.

  3. View XC Mux to see if new messages are being received from the DDRGS.


Error messages

Troubleshooting steps:

Reasons for error:

  • User name is not configured for read/write privilege.

Return to XC Desktop to configure user privileges.

Troubleshooting steps:

Ensure that:

  • User name and password are entered correctly.

  • Caps lock key is on (User name and passwords are case-sensitive).

Troubleshooting steps:

Potential reasons for error:

  • Application on Run parameter line does not exist.

Make sure the correct path and name are typed (i.e. c:\myapp\mynewapp.exe)

  • First application on Run parameter is run but others are not.

If all paths and filenames are correct, make sure each application name is separated by a comma only and not a comma and space.

Troubleshooting steps:

A COM interface connection is made by each XConnect application to XC Setup. This allows the applications to retrieve and send configuration parameters related to XC Mux.

Potential reasons for error:

  • XC Setup is not running.

Close current application and restart. XC Setup should start automatically.

  • XC Setup does not start automatically with XConnect application.

Close current application. Start XC Setup manually from Start Menu. Then re-start XConnect application.

If error still persists, reboot computer.

Troubleshooting steps:

XC Setup must be running for all other XConnect applications to function properly. Various parameters are retrieved and stored by the XConnect applications.

Each XConnect application will attempt to start XC Setup if it is not running.

Ensure that:

  • XC Setup (XCSetup.exe) is in XConnect home directory.

Using Windows Explorer or My Computer, ensure that XC Setup was not accidentally deleted from the XConnect install directory. If not present, insert XConnect installation CD to repair.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Ensure that:

  • Current XConnect application is part of the purchased XConnect license.

Refer to the original purchase order.

Troubleshooting steps:

Potential reasons for error:

  • Current XConnect application is not valid for use with existing XConnect license.

Call Sutron Sales to upgrade XConnect license.

Troubleshooting steps:

Ensure that:

  • File name exists in the directory. Verify using Windows Explorer or My Computer.

Troubleshooting steps:

Potential reasons for error:

  • File may be corrupt. If it is an ASCII file, try to open the file in Notepad.

  • File may be correct extension by wrong expected format. Choose another file.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the selected station does not have a satellite id configured.

Open XC Desktop. Select the station and open the station setup window. Verify/enter the satellite ID. Click Reset [image] after saving changes.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the raw message found for the selected contained invalid characters for the date and time.

Review the message in the list box displaying the messages. Verify corrupted characters in the header.

Click Find Next to retrieve the next satellite message in the raw file.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the raw message found for the selected contained invalid characters in the header.

Review the message in the list box displaying the messages. Verify corrupted characters in the header.

Click Find Next to retrieve the next satellite message in the raw file.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the raw message found for the selected contained invalid characters for the message length.

Review the message in the list box displaying the messages. Verify any characters in the header.

Click Find Next to retrieve the next satellite message in the raw file.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the satellite ID entered in the Custom ID edit box is less than 8 characters.

All satellite IDs must be 8 characters in length, as dictated by NESDIS.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the quality log file selected to generate a performance report contained no quality data.

Open the quality log (.LOG) file in Notepad. Verify the file with the .LOG extension contains quality data/messages.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the custom channel entered for the performance summary is invalid.

Valid channels are 000-999.

Troubleshooting steps:

Potential reasons for error:

  • While in the Station Summary window, the custom station entered for the performance summary is invalid.

The station name cannot be blank.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Potential reasons for error:

  • If data storage option is a database, ensure that the Data Sources (ODBC) is properly configured.

  • If data storage options is PcBase2 binary files, ensure that directory location entered in the XC Desktop Data Storage setup window for the binary files exists.

Troubleshooting steps:

The error preceding this one was a critical error, thus, the decoding of data has been stopped. Investigate the prior error to resume decoding.

Troubleshooting steps:

Ensure that:

  • All client applications are running on the Windows taskbar.

  • Application window title is typed correctly on the Clients parameter field. Go to the Windows Task Manager, Applications tab. The client name should match the application task on the Task Manager.

Troubleshooting steps:

This message should almost never appear.

Potential reasons for error:

  • Disconnect and re-connect of serial cable.

The temporary disconnect and re-connect resulted in a loss of some characters while XC Mux was saving data into raw files. The disruption caused an error in the reception of the header of the satellite message.

Troubleshooting steps:

While using the interactive decoding tool, XC Decode needs to retrieve sensor parameters from XC Setup to assist with sensor decoding.

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

While using the interactive decoding tool, XC Decode needs to retrieve sensor parameters from XC Setup to assist with sensor decoding.

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

While using the interactive decoding tool, XC Decode validates all decoding parameters prior to using them in decoding. A decoding parameter is in error and highlighted in red. Correct parameter and try to decode.

Troubleshooting steps:

The data storage option selection is invalid with the XConnect installation. Potential reasons for error:

  • XConnect Lite was purchased. The database data storage option is an invalid option for XConnect Lite.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Potential reasons for error:

  • XC Setup is not running.

Ensure that XC Setup is shown on the Windows taskbar.

  • COM connection to XC Setup is corrupted. Close current application and re-start.

Troubleshooting steps:

Potential reasons for error:

  • For Excel/ASCII log file storage option, an error in the file directory will prevent the creation of the data storage option.

Using Windows Explorer, ensure the file directory exists and can be viewed.

  • For PcBase2 binary file and database storage option, a memory error will prevent the creation of the data storage option.

Close all unnecessary applications and XConnect modules and re-start XConnect. If error continues after re-start of XConnect, re-boot computer.

Troubleshooting steps:

For the PcBase2 binary file data storage option, the header of every binary file must be read in the XConnect system.

Potential reasons for error:

  • Binary file may be corrupt.

Go to XC Desktop and the Data Storage setup window. Try to select the binary file.

Recreate data file in XC Desktop.

Troubleshooting steps:

Potential reasons for error:

  • PcBase2 binary file may be corrupt.

Go to XC Desktop and the Data Storage setup window. Try to select the binary file.

  • Insufficient disk space to store data.

Open My Computer. Right click on the properties of the drive (i.e., C:) that XConnect is installed. Check disk space used.

Troubleshooting steps:

Potential reasons for error:

  • PcBase2 binary file may be corrupt.

Go to XC Desktop and the Data Storage setup window. Try to select the binary file.

  • Insufficient disk space to store data.

Open My Computer. Right click on the properties of the drive that XConnect is installed. Check disk space used.

Troubleshooting steps:

For the PcBase2 binary file data storage option, the header of every binary file must be read in the XConnect system to properly initialize the data storage option.

Potential reasons for error:

  • Binary file may be corrupt.

Go to XC Desktop and the Data Storage setup window. Try to select the binary file.

Delete or deactivate corrupt binary data file. Recreate binary data file in XC Desktop.

Troubleshooting steps:

In order for XC Decode to store data, it will first extract the date and time from the data string. If the date and time is corrupt, then the data will not be stored.

Potential reasons for error:

  • XConnect modules are automation servers. Client applications can control and send data to XC Decode to decode and store.

Verify any client applications connected with XC Decode and the format of the data being sent.

Troubleshooting steps:

For the PcBase2 binary data storage option, XC Decode needs to determine which data file to store the sensor value. XC Decode could not find a data file to store the sensor

Potential reasons for error:

  • XConnect modules are automation servers. Client applications can control and send data to XC Decode to decode and store.

Verify any client applications connected with XC Decode and the format of the data being sent.

Troubleshooting steps:

For the database storage option, XC Decode could not insert the quality record into the XC_GOESQC data table.

Potential reasons for error:

  • Ensure the ODBC data source is configured correctly and the database has sufficient data space to store data.

Troubleshooting steps:

For the database storage option, XC Decode could not update the quality record into the XC_GOESQC data table.

Potential reasons for error:

  • Ensure the ODBC data source is configured correctly.

Troubleshooting steps:

For the database storage option, XC Decode/XC Rtu could not update the Last Update field in for the station the XC_SITES data table.

Potential reasons for error:

  • Ensure the station record exists in the XC_SITES data table.

Go to XC Desktop, open Station Setup window for station with error. Click on the Database Fields button. Verify the window opens without error.

  • Ensure the ODBC data source is configured correctly and the database has sufficient data space to store data.

Troubleshooting steps:

For the PcBase2 binary file data storage option, XC Decode/XC Rtu archives the data files based on the XC Desktop Data Storage setup parameter Data Storage Limit.

Potential reasons for error:

  • Binary file may be corrupt.

Go to XC Desktop and the Data Storage setup window. Try to select the binary file.

Delete or deactivate corrupt binary data file. Recreate binary data file in XC Desktop.

Troubleshooting steps:

For the database storage option, XC Decode/XC Rtu failed to insert/update the sensor data into the XC_DATA1 data table. If the insert/update fails, XC Decode/XC Rtu will try to store the data to backup log (.LOG) files in the DataBackup subdirectory.

Potential reasons for error:

  • Ensure the DataBackup directory exists.

Troubleshooting steps:

For the database storage option, XC Decode/XC Rtu could not store data into the XC_DATA1 data table.

Potential reasons for error:

  • Ensure the Data Sources (ODBC) is configured correctly and the database has sufficient data space to store data.

Troubleshooting steps:

For the database storage option and the current XConnect database schema, this error should never occur.

If the XConnect database schema expands to include multiple XC_DATA tables (i.e, XC_DATA1, XC_DATA2...etc), the sensor records in XC_SITESSENSORS will contain which data table the specific sensor is stored.

Troubleshooting steps:

For the PcBase2 binary file data storage option, after decoding the sensor, XC Decode must then determine which binary file to store the data.

Potential reasons for error:

  • Ensure sensor is assigned to a binary data file.

Go to XC Desktop and the Data Storage setup window. Verify sensor is selected to be stored in one of the binary data files.

Troubleshooting steps:

For the database storage option and the current XConnect database schema, this error should never occur.

If the XConnect database schema expands to include multiple XC_DATA tables (i.e, XC_DATA1, XC_DATA2...etc), the sensor records in XC_SITESSENSORS will contain which data table the specific sensor is stored.

Troubleshooting steps:

For the ASCII Log/Excel data storage option, XC Decode/XC Rtu will delete the log/excel files based on the XC Desktop Data Storage setup parameter Data Storage Limit.

Potential reasons for error:

  • File may be opened by another application (i.e. Notepad, Microsoft Excel).

Troubleshooting steps:

For the ASCII Log data storage option, XC Decode/XC Rtu failed to store the data to log files in the File Path directory.

Potential reasons for error:

  • Ensure the ASCII Log File Path directory exists.

Troubleshooting steps:

For the database storage option, XC Decode's/XC Rtu's request for data failed for the station the XC_DATA1 data table.

Potential reasons for error:

  • Ensure the station record exists in the XC_SITES data table.

Go to XC Desktop, open Station Setup window for station with error. Click on the Database Fields button. Verify the window opens without error.

  • Ensure the ODBC data source is configured correctly and the database has sufficient data space to store data.

Troubleshooting steps:

For the database storage option, XC Decode/XCRtu archives the data files based on the XC Desktop Data Storage setup parameter Data Storage Limit.

Potential reasons for error:

  • No "old" data was found in XC_DATA1.

  • Ensure the ODBC data source is configured correctly and the database has sufficient data space to store data.

Troubleshooting steps:

For the database storage option, XC Decode/XCRtu archives the data files based on the XC Desktop Data Storage setup parameter Data Storage Limit.

Potential reasons for error:

  • No "old" data was found in XC_RTUQC.

  • Ensure the ODBC data source is configured correctly and the database has sufficient data space to store data.

Troubleshooting steps:

For the database storage option, XC Decode/XCRtu archives the data files based on the XC Desktop Data Storage setup parameter Data Storage Limit.

Potential reasons for error:

  • No "old" data was found in XC_GOESQC.

  • Ensure the ODBC data source is configured correctly and the database has sufficient data space to store data.

Troubleshooting steps:

For the database storage option, XC Rtu could not insert the quality record into the XC_RTUQC data table.

Potential reasons for error:

  • Ensure the ODBC data source is configured correctly and the database has sufficient data space to store data.

Error Messages

Potential error messages generated by XC Decode during decoding are:

Error 1: User does not have correct privileges to perform action.

Error 2: Invalid user/password settings.

Error 3: Unable to run - xxx.

Error 4: An instance of the "XCSetup.Applications" OLE Automation class could not be created. Is XC Setup running?

Error 5: XC Setup is not running. Process halted.

Error 6: An error occurred while retrieving parameters from XC Setup.

Error 7: Unable to retrieve General Setup parameters.

Error 8: Invalid License Key. Please verify XConnect is properly installed.

Error 9: Invalid License Key. Exiting now...

Error 100: Unable to open file xxx.

Error 101: Unable to read file xxx.

Error 429: No Satellite ID configured for xxx.

Error 430: Invalid date/time in message - xxx.

Error 431: Errors in header for - xxx.

Error 432: Errors in message data length - xxx.

Error 433: Satellite ID must be 8 characters in length.

Error 434: No data. No performance analysis generated.

Error 435: Invalid channel number.

Error 436: Invalid station.

Error 500: Unable to retrieve XC Decode setup parameters.

Error 501: Unable to update XC Decode setup parameters.

Error 502: Unable to retrieve XC Decode channel parameters.

Error 503: Unable to update XC Decode channel parameters.

Error 504: Unable to connect to XConnect data storage option.

Error 505: Decoding of files stopped.

Error 506: xxx client is not running. Decoding of files stopped.

Error 507: Invalid header format - xxx.

Error 508: Unable to retrieve decoding parameters, using default values.

Error 509: Unable to retrieve sensor parameters, using default values.

Error 510: Error(s) in decoding parameters.

Potential error messages generated by during data storage or data retrieval are:

Error 600: Data storage option invalid with XConnect installation.

Error 601: Unable to retrieve Data Storage Setup parameters.

Error 602: Unable to update Data Storage Setup parameters.

Error 603: Unable to create data store option.

Error 604: Unable to read header from file xxx.

Error 607: Unable to write data for file xxx.

Error 609: Unable to insert data into xxx.dat for station.sensor for 00/00/0000 00:00:00.

Error 610: Unable to open all data files.

Error 611: Unable to decode date/time in station.sensor data for data xxx.

Error 612: Unable to decode realtime/timetag data station.sensor

Error 613: Unable to insert Quality data for satellite id at 00/00/0000 00:00:00.

Error 614: Unable to update quality data for satellite id at 00/00/000 00:00:00.

Error 615: Unable to update Last Update data: station.

Error 617: Unable to archive/split data files.

Error 618: Unable to write data to data store option and backup log files: station.sensor for 00/00/0000 00:00:00 is xxx.

Error 619: Unable to insert/update xc_data data value: station.sensor for 00/00/0000 00:00:00 is xxx.

Error 620: Unable to locate station.sensor in database.

Error 621: No data file found to store station.sensor.

Error 622: No data table found to store station.sensor.

Error 623: Unable to delete Log file - xxx.log.

Error 624: Unable to write to Log file - xxx.log data for: xxx.

Error 625: Unable to read data from datatable for station.sensor for xxx.

Error 626: Unable to purge old data from database.

Error 627: Unable to purge old Rtu Quality data from database.

Error 628: Unable to purge old GOES Quality data from database.

Error 629: Unable to insert RTU Quality data for station at 00/00/0000 00:00:00.

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


custom summary results

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Data storage Status window

The Data Storage Status Window

The Data Storage (middle panel) Status window gives a list of data storage events performed by the XC Decode program.

The Data Storage displays the data storage option chosen in XC Desktop. Return to XC Desktop to modify data storage option.

This list of status is in time order with each entry stamped with the date and time. Newest messages will appear at the top. Scroll bars will appear as needed to allow an operator to view parts of the display that may not fit in the window.


Decoding Status Window

The Decoding Status Window

The Decoding (top panel) Status window gives a list of decoding events performed by the XC Decode program.

The Next Decode Time indicates the next time XC Decode will check the raw (.RAW) files for new satellite messages. If new messages have been stored by XC Mux, XC Decode will attempt to decode the data.

This list of status messages is in time order with each entry stamped with the date and time. Newest messages will appear at the top. Scroll bars will appear as needed to allow an operator to view parts of the display that may not fit in the window.


Decoding window

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Detail Panel

The Detail Panel

The Detail panel allows the user to control the level of messages displayed in the status windows.

Message Detail options are:

  • Low - indicates only error messages will be displayed.

  • Med - indicates error messages, warning messages and brief status messages will be displayed.

  • High - indicates all messages will be displayed. In High detail, actual decoded values and their corresponding time stamps will be displayed.

The Decoding field will display the name of the raw file currently being decoded.

The Pause Status button will temporarily prevent additional messages from being added to the decoding and data storage status windows.


Edit Decode Settings Window

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Interactive Decoder Auto decoded data

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Interactive Decoder Manual decoded data

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Interactive Decoder Select Message

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Interactive Decoder Select sensor

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Menu Bar

The Menu Bar

The Menu Bar provides access to the following menus:

File

  • Open -- selects a setup file for XC Setup to access.

  • Refresh -- reloads the latest setup information from XC Setup.

  • Login -- user login for XConnect system.

  • Exit -- terminates the application.

Options

  • Decode Now -- forces auto-decoding interval now instead of waiting for next scheduled interval.

  • Ignore Pos -- ignores and deletes position (.POS) before decoding. This will cause the entire file to be decoded instead of only new satellite messages.

  • Pause Decoding -- pauses decoding process.

  • Decode All -- decodes all messages in the raw file instead of only messages with satellite IDs matching XConnect stations.

  • Edit Setup Parameters -- edits the setup parameters for XC Decode.

  • Clear Status Messages -- clears the decoding status window.

  • Clear Data Storage Messages -- clears data storage status window.

  • Log Status Messages -- logs all status messages to a disk file.

Tools

  • Interactive Decoding -- opens Interactive Decoding window to assist in setting up sensor decoding parameters.

  • Station Summary -- opens Station Summary window and generate a report on one or more satellite IDs.

Help

  • XC Decode Help -- accesses this help system an defaults to Index tab.

  • XC Decode Contents -- accesses this help system an defaults to Contents

  • About -- gets version information for this application.


peformance summary screen

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


performance summary example

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


satellite id summary results

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


station summary results

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


Station Summary Window

Copyright © 2003 - 2006 Sutron Corporation. All rights reserved.


StatusBar

The Status Bar

The Status Bar is divided in two sections. The left-hand panel displays the user logged in and his/her privileges. The right-hand panel displays parameter hints.

If no users are defined, the user logged in will be NONE and the privileges will be FULL. As soon as a user is defined in XC Desktop, the current/privileges user initially displayed will be NONE and NONE.


Toolbar

The XC Decode Toolbar

The toolbar area allows you to quickly access various XC Decode functions.

The following tools are provided:

Refresh setup parameters. Flush local buffers and reload the latest setup information from XC Setup.

Open individual raw file for decoding.

Force auto-decoding interval now instead of waiting for next scheduled interval.

Ignore and delete position (.POS) before decoding. This will cause the entire file to be decoded instead of only new satellite messages

Pause decoding process.

Decode all messages in the raw file instead of only messages with satellite IDs matching XConnect stations.

Edit the setup parameters for XC Decode.

Clear status messages in status windows.

Log all status messages in log file.

Open the Interactive Decoding window to assist in setting up sensor decoding parameters.

Open the Station Summary window and generate a report on one or more satellite IDs.

Open the on-line help (this document).