Advanced Serial Data Logger

for Windows 9x/Me/NT/2000/XP x86,x64/2003 x86,x64/Vista x86,x64. Latest version: 3.2.3 build 21. May 29, 2008.

Trust In Confidence!

Pressure data logger. Log data from an intellectual pressure measuring device

Pressure data logger

We require a software, which can log data from a intellectual pressure measuring device from Paroscientific Inc into our data acquisition system. Paroscientific is the leader in the field of precision pressure measurement, resolution of better than 0.0001% and typical accuracy of 0.01% are achieved even under difficult environmental conditions.

When the Advanced Serial Data Logger receives the information from the serial port, he adds a date and time stamp.

We are using the Digiquartz ® pressure instrumentation. A RS-232 interface user manual for intelligent pressure devices exists on a corporate web-site.

Short hardware overview

Digiquartz ® Intelligent Transmitters, Portable Pressure Standards, Intelligent Depth Sensors, MET stations, and Water Stage Sensors consist of a standard Paroscientific pressure transducer and a digital interface board in an integral package. The digital interface boards are also available separately for customer systems where separate packaging of the transducer and interface board is desired.

Programming and operation are the same in all configurations. The digital board has a microprocessor-controlled counter and RS-232 port. The microprocessor operating program is stored in permanent memory (EPROM). User controllable parameters are stored in user writable memory (EEPROM). The user interacts with the unit via the two-way RS-232 interface.

The microprocessor monitors incoming commands from the computer. When a sampling command is received, the microprocessor selects the appropriate frequency signal source and makes a period measurement using a 14.74 MHz timebase counter. The counter integration time is user selectable. Some commands require measurements of both temperature and pressure signals. In that case, the temperature period is measured first, followed by the pressure period. When the period measurement is completed, the microprocessor makes the appropriate calculations and loads the data onto the RS-232 bus.

Short protocol overview

All commands have the form: *ddsscc__<cr><lf>

  1. Data framing is 8 data bits, no parity, with one stop bit or 7 data bits with even or odd parity, one stop bit. Set by command PT.
  2. Each line starts with an asterisk (*).
  3. The next 2 digits, dd are the destination for the command (00-99). The controller (IBM PC, etc.) is address 00, and the transmitters can be 01 through 98. Address 99 is for "global". A transmitter responds only to its own address or 99.
  4. 3. The next 2 digits, ss, are the source of the message (00-98).
  5. 4. The next 2 characters, cc, specify the type of message, and may be followed by more characters in some messages. Characters must be upper case. Reply messages may substitute data for the cc characters.
  6. 5. Each message line is terminated by a carriage return <cr> and a line feed <lf> .
  7. 6. Undefined commands are absorbed.
  8. 7. A command arriving before a previous command is completed cancels the previous command.

A typical message from the PC to transmitter #1 asking for pressure: *0100P3 <cr> <lf>

A typical reply from the transmitter to the PC: *000114.573 <cr> <lf>

Requirement:

  • Advanced Serial Data Logger (ASDL) Professional or a trial version;
  • ASCII data parser and query plugin for Advanced Serial Data Logger;
  • DDE server plugin for Advanced Serial Data Logger.

It is meant:

You know and can configure communication parameters (baud rate, number of data bits, flow control etc) in ASDL.

Solution:

Thanks to Paroscientific for a detailed description of RS-232 protocol. The description above shows, that a data flow contains non-printable characters (CR and LF). If you want to look it, please, set following options.

Pressure data logger. Serial data view setup

Pic.1. Pressure data logger. Serial data view setup

Click the "OK" button and try to receive data from a serial port. Nothing? Yes, of course, the protocol specification says, that pressure device require a request from a PC side. Ok. It's simple. We should configure additional modules. First, please, select the "ASCII data parser and query" plugin from two drop-down lists (pic.2, pos. 1 and 2). Then, enable a parsing option for data received (pic.2, pos. 3) and select necessary data publication plugins. The DDE server (pic.2, pos. 4) will help to check an accuracy of the parser's configuration. The "Local database" plugin will create Microsoft Excel files.

Pressure data logger. Plugins setup

Pic.2. Pressure data logger. Plugins setup.

Now, please, open the ASCII query configuration window (click the "Setup" button near a first drop-down box pos.1 on pic.2). A dialog window will appear on a screen (pic.3).

Pressure data logger. Data queries

Pic.3. Pressure data logger. Data queries.

This window can contain one or more request at same time. All available requests (pic. 3, pos. #1) are listed in a list (pic. 3, pos. #4). An each request has a few properties: a request data (pic. 3, pos. #2) and a request interval (pic. 3, pos. #3). You can edit requests - just double-click over a request in the list.

You will be adding a new data request by clicking the "Add request" button (pic.3, pos. 5). A new dialog window will appear (pic.4)

Pressure data logger. A data query parameters

Pic.4. Pressure data logger. A data query parameters.

In this window you should type:

  1. A request string (pic.4, pos. 1) - we simple type request from the specification above and add hexdecimal codes of termination characters CR and LF at the end of the request with a prefix character "#";
  2. Specify a request interval (pic.4, pos. 2). We need a continuous data from a device, then we set the "Every XX milliseconds" option and specify an interval of 1 second (1000 milliseconds = 1 second). In this case ASDL will poll our pressure measuring device every second for a new value;
  3. Click the "OK" button.

ASDL will add a new item in the requests list (pic. 3, pos. #1)

Note: You can add any byte to a request. For example, If you want to send byte with a hexdecimal code 0x02 to a device, then type a string #02.

Now, please, go to the next tab "Parser", then the "Data packet". A dialog window will appear on a screen (pic.5).

Pressure data logger. Parser configuration window

Pic.5. Pressure data logger. Parser configuration window.

A configuration process will very simple. You should type framing characters only and enable adding a date time stamp. The field #1 is the beginning of the data block (it is "*" in our case) and the field #2 is the end of him (#0D#0A in our case, same as in the request above). You can simply add a datetime stamp to an each record. Just enable the "Add date/time stamp" option in the pos. #3.

Ok. We are going to a next tab. It's the very important part of the parser configuration. Parser uses this information for data extracting from a data block. Our data block contains one data item only, which should be separated to different variable. Later, these variable will be used in the data publication.

Pressure data logger. Parser items

Pic.6. Pressure data logger. Parser items.

You will be adding a new item by clicking the "Add item" button (pic.6, pos. 7). Before adding an item the program will ask you about an item description. You can type any characters here, which will help you to remember a variable's content.

Each parser item has few properties:

  1. Item name - this name you'll bind with a column in the data publication plugin. It's a short representation of description and can't contain spaces or few other characters;
  2. Parser's type - it's a method, which the program will use for data extraction. Our parser has few methods from simple to most powerful. In our case, where data is being placed in fixed place, we can use one simple method - fixed position. This method allows to extract any number of characters from any fixed position of the data block;
  3. Data type - the data type of characters extracted. You can specify a real type of your data or specify the STRING data type, and then data will have been converted to other type later, in the data publication module. The data type here is being used on formatting of the value, by the way is being specified on "Data formats" tab. Our "Weight" field has the Float data type, the "Number" field - the Integer data type, the "Date" field - the String data type (because the plugin can't convert our string date to the date data type);
  4. Default value - this value is being used when data can't be extracted from a data block;
  5. Fixed position - It's a position of first variable's character in our data block (5 in our case, because ASDL will strip a first character "*"). A minimum value is 1;
  6. Fixed length - It's a number of characters, which will be copied to a variable. A minimum value is 1.

Other options is unnecessary in our case

Ok. Click the "OK". Now, our parser and quesry module is ready. And now, it's a time for testing it. Connect your devices and/or power it on and try to receive a data block from a serial port. Now, you'll get same as on an image below.

Pressure data logger. Raw data blocks

Pic.7. Pressure data logger. Raw data blocks.

It's an other view of data received. All non-printable characters was replaced with their code like #0D and #0A. All requests had been highlighted by yellow color.

If the parser had been correctly tuned up, then in the DDE server window you'll see our variables' names and their value (pic.8).

Pressure data logger. DDE server window

Pic.8. Pressure data logger. DDE server window.

Now, all variables are ready for a following usage. Now, you can export it to any database, Microsoft Excel or Microsoft Access. You can read about it in following examples:

Weight data logger and Microsoft Access;
Capture a serial data to Microsoft Excel;
Log scales weight data to Microsoft Excel.

Related articles:

Capture a serial data to a Microsoft Excel spreadsheet with regular expressions;
GPS data logger;
Weight data logger to a Microsoft Access database (data at a fixed position);
Barcode scanner data logger. Capture a barcode data from a serial port;
PBX data logger. Capture a serial data from PBX systems;
Log weight from a scale to a Microsoft Excel spreadsheet (data at a enumerated position);
Pressure data logger. Log data from an intellectual pressure measuring device;
Serial data acquisition in the Checkweigher Management Information System.
[NEW] Aircraft engine monitor (example of an usage).