Windmill Software Ltd
Data Acquisition Intelligence

October 2009

The Newsletter for PC-Based Data Acquisition and Control
Issue 135     October 2009
--------------------ISSN 1472-0221----------------------

Welcome to Monitor, the data acquisition newsletter.  I 
hope you find it useful, but should you wish to remove 
yourself from our mailing list please go to 

* Windmill Notes: Interfacing an ICP DAS I-7000 Module
* Excel Corner: Automatic Chart Updates and Moving 
  Grid Lines
* DAQ News Roundup

Windmill Notes: Interfacing an ICP DAS I-7000 Module

ICP DAS I-7000 is a series of analogue and digital 
modules which connect to the computer over RS232 or 
RS485. You can use Windmill software to send and read 
data to and from these modules.

There are two Windmill programs which will get data from 
these modules: COMIML and LabIML. COMIML is part of the 
Windmill 6 suite of software and has many more 
facilities than LabIML - details are at

LabIML is part of the Windmill 4.3 suite of software and 
is free to Monitor subscribers.

Using Windmill with an ICP DAS I-7000 

Here is how to configure the free LabIML software to log 
data from an ICP DAS I-7000 analogue input module. There 
are three basic steps.

1. Run the Windmill ConfIML program and enter your 
   communication settings. 
2. Run the Windmill SetupIML program and choose names 
   and units for your data. 
3. Run the Windmill DDE Panel or Logger program to 
   display or save data.

Once you have configured the Windmill software you can 
in future go straight to logging data. 


Windmill ConfIML

This program detects and saves a record of the hardware 
you want to use. 

1. Start ConfIML and Press the Add button. 

2. Select LabIML RS232 ASCII Instrument Handler. 

3. Type a name for the module and a description.  Enter 
   the number of channels of data you will be collecting 
   (8 in our example below). Press OK.

4. Enter your module's settings:
   These depend on exactly what you want from your 
   system, but these settings should get you started.

  - Reading Protocol: Request/Response - Multi Background
  - Timeout: 1000 milliseconds
  - Data Persistence: 5000 milliseconds (assuming you 
    are taking readings more often than once every 
    5 seconds)
  - Returned Message Length: 58
  - Instrument Initialisation String: Leave blank.
The "Request/Response  Multi Background" sets the 
device to request data and respond while working in the 
background. The data persistence is how long Windmill 
will consider the data to be current. This must be 
longer than the rate at which you plan to read data. 

5. Click the Channels button and tell the software how 
   to extract the reading from the string of data 
   - Make sure that Read channel is checked
   - You can ignore the maximum and minimum settings: 
     these are just a guide for chart scaling etc.
   - Prompt String: enter the command needed to request 
     a reading. For example, to request an analogue 
     input reading from all channels of a module, you 
     would enter #AA\C013, where AA is the address of 
     the module and \C013 is a carriage return. 
     #04\C013 say. 
   - The module will send back a string of data in the format: 
     > tells you that you sent a valid command
     (Data) is the data string 
     (cr) is a carriage return. 
     For example, if a module had 8 channels it might send back
You need to tell Windmill how to extract the data from 
this reply. To do this for the first channel (channel 0) 
you could search for the > then extract the next 
7 characters. 

In the ConfIML Reply Parse String enter: \S">"\E7

For a request/response instrument, the parser goes back 
to the beginning of the string for each channel. So for 
the next channel, Channel 1, you could search for >, 
ignore the next 7 characters and then extract up to the 
next + or -. Repeat for the rest of the channels.  For 
more details on parsing see

6. Enter the communication settings your module is using, eg:
   - Baud: 9600
   - Data Bits: 8
   - Parity: None
   - Flow control: Xon/Xoff

7. Save your settings, close ConfIML and start SetupIML. 


Windmill SetupIML

With the SetupIML program you can name units, set alarms 
and so on.

1. Choose to Create a New Setup and enter a name and 
   description. This can be anything you like.

2. From the Device menu select LabIML.

3. Your data channels will be shown as a number, for 
   example 10000.  Double click a channel number.

4. Type name for your channel and make sure 
   Enable for Input is checked. 

5. Save your settings in a *.ims file, close SetupIML 
   and run DDE Panel or Logger


Windmill DDE Panel

1. From the File menu select Load Hardware Setup and 
   choose the *.ims file you just saved.

2. Connect your channels. You should see your readings 
   in DDE Panel.

3. Proceed similarly for the Logger programs. 


Getting the data into Excel

You can use the Windmill Logger program to collect data, 
and after collection has finished import it into Excel. 
Alternatively, you can collect data with Excel. For more 
details see our Excel page.



If you are having problems receiving data, right-click 
the LabIML icon on the tool bar and select 
"Debug Options". 

If the LabIML Debug window says "Parsing Failed", 
go back to the ConfIML window and edit your 
Reply Parse String.

Note that with RS232 connections Windmill can collect 
data at speeds of up to 5 readings per second, or one 
reading every 0.2 seconds.  Don't try to run Windmill 
any faster otherwise you may inadvertently slow the 
system down.

If you still have problems, or are interested in the 
Windmill settings for a different instrument, fill in 
the form at

Further Reading
Parsing Messages

Excel Corner: 
Automatic Chart Updates and Moving Grid Lines 

Recently a reader asked us how he could insert a 
horizontal grid line from the last data value of his 
Excel chart. His chart changed regularly as new rows of 
data were added to the spreadsheet.

We couldn't tell him how to insert such a grid line, but 
we have an easy work around which achieves the same 
result.  Read on to find how to draw a horizontal line 
across the chart which moves with the last data point.

You can download a spreadsheet illustrating this at

1. Create an xy scatter chart which automatically 
   updates when new data is added. For how to do this 
   when using Windmill to collect your data, see 
   Issue 62 of Monitor at

2. To draw a line across the chart you need to add 
   another series of data. This series has just two 
   points: one to define the start of the line and one 
   to define the end. Assuming you had the time the data 
   was collected in column A, data in column B and 
   columns C and D free:
   - In Cell C1 copy a reference to the first timestamp.
     For example =A1.
   - In Cell C2 insert a dynamic reference to the last 
     timestamp, which in our example is the last row of 
     column A. To do this enter
   - In Cells D1 and D2 enter a reference to the 
     last value. For example

3. Highlight and drag Cells C1 to D2 onto the chart. 
   This will draw a straight line between the last data 
   point on the chart and the y axis.

Notes on the Functions
The INDEX function returns a cell reference at the 
junction of a row and a column. It takes the form


where range is the range of cells containing the one 
in which you are interested, and row_num and 
column_num pinpoint the location of your cell in 
this range.

In our example we are interested in the last cell in 
column A. So our range is all of column A, namely A:A.
We now need to know the how many rows down the 
last data item occurs.  This is where the COUNTA function 
comes in.  COUNTA counts the number of non-empty cells 
in a range.  So assuming our data and headings form a 
continuous column from the top of the spreadsheet, the 
count will equal the row number of the last data item. 

If there is a gap in or above your data, just add the 
appropriate number of cells to the COUNTA function.  
For example, if your heading was in cell A4 with 
cells A1 to A3 being blank, you would use 

Any questions? Take a look at the example spreadsheet at

Further Reading
Excel Charting tips

Excel data acquisition tips

Automatically updating charts

DAQ News Roundup

Welcome to our roundup of the data acquisition and 
control news.  If you would like to receive more 
timely DAQ news updates then grab our RSS newsfeed 
at  Read for notes
on how to display the live news on your own web site.

Business Intelligence, like People Counting, Makes Sense for Intelligent Device Market
   Expectations for the video content analysis (VCA) 
   market have changed over the last twelve months.  
   Over-selling of the technology's capabilities, 
   coupled with technical limitations, such as high 
   false alarm rates, have slowed uptake of the 
   technology.  However, according to a report by IMS 
   Research, one application that has the potential to 
   drive growth is in business intelligence such as 
   people counting ( or 
   queue length monitoring.
   Source: IMS Research

New NIST Method Reveals All You Need to Know About Waveforms
   The National Institute of Standards and Technology 
   has unveiled a method for calibrating entire 
   waveforms - graphical shapes showing how 
   signals vary over time - rather than just parts of 
   waveforms as is current practice. The new method 
   improves accuracy in calibrations of oscilloscopes, 
   and potentially could boost performance and save 
   money in other fields like remote sensing.
   Source: NIST

Radio Waves "See through Walls"
   University of Utah engineers have shown that a 
   wireless network of radio transmitters can track 
   people moving behind solid walls. Their method uses 
   radio tomographic imaging (RTI), which can "see," 
   locate and track moving people or objects in an area 
   surrounded by inexpensive radio transceivers that 
   send and receive signals.
   Source: University of Utah

Universal link bids to solve home energy format wars
   A simple USB-style interface has been designed that 
   could realise the dream of intelligent energy meters 
   that would make electricity grids hugely more 
   efficient and usher in an era of micro-generation. 
   Smart meters are electricity and gas meters that can 
   communicate with energy suppliers and home appliances 
   to ensure that supply and demand match more evenly: 
   power stations can avoid generating excess power and 
   appliances can switch themselves on during cheaper, 
   low-demand periods.
   Source: New Scientist 

Sensor tools enable ocean observatories
   The National Science Foundation has announced 
   agreement for vast undersea observing network. Called 
   the Ocean Observatories Initiative it will provide a 
   network of undersea sensors for observing complex 
   ocean processes such as climate variability, ocean 
   circulation and ocean acidification at several 
   coastal, open-ocean and seafloor locations.
   Source: SCUBA News

* Copyright Windmill Software Ltd
* Reprinting permitted with this notice included
* For more articles see

We are happy for you to copy and distribute this 
newsletter, and use extracts from it on your own web site 
or publication, providing the above notice is 
included and a link back to our website is in place.

An archive of previous issues is at
and an index of articles at

Windmill Software Ltd, PO Box 58, North District Office,
Manchester, M8 8QR, UK
Telephone: +44 (0)161 833 2782
Facsimile: +44 (0)161 833 2190
E-mail: [email protected]


To receive Monitor every month please fill in your e-mail address below. We will not pass your address to any third parties, nor send you any unsolicited e-mail.

Subscribe Monitor

You will receive an e-mail confirming your subscription, with details of how to download the free software. If you don't receive this then your spam filter may be blocking our message. Make sure it is set to accept messages from [email protected] If you have problems contact the Editor.

Previous Issue Next Issue