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.
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>
- 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.
- Each line starts with an asterisk (*).
- 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.
- 3. The next 2 digits, ss, are the source of the message (00-98).
- 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.
- 5. Each message line is terminated by a carriage return <cr> and
a line feed <lf> .
- 6. Undefined commands are absorbed.
- 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.

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.

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).

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)

Pic.4. Pressure data logger. A data query
parameters.
In this window you should type:
- 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 "#";
- 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;
- 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).

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.

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:
- 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;
- 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;
- 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);
- Default value - this value is being used when data can't
be extracted from a data block;
- 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;
- 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.

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).

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).