Windmill Data Acquisition Software Logo
24 October 2013

Windmill Software Ltd
Data Acquisition Intelligence
Call now: +44 (0)161 833 2782

Monitor (ISSN 1472-0221) Issue 183

The Newsletter for PC-Based Data Acquisition and Control
Issue 183        October 2013
--------------------ISSN 1472-0221----------------------

Welcome to Monitor: thanks for subscribing.  Could you
help us decide the future of Monitor by answering a
couple of questions?

1. Would you rather have:
[ ] Full articles as now or
[ ] Snippets of articles and links to the website for
    more information

2. Would you prefer:
[ ] Plain format as now or
[ ] More fancy formatting with 2 columns, more pictures
    and so on

3. Any other comments?

Just reply to this email with your answers. Thank you!

Should you wish to remove yourself from our mailing list
please go to

Follow @DataAcquisition on Twitter Google+ Data Acquisition News Feed (RSS)
* ASCII, Decimal, Hex and Control Characters
* Communicating with Serial Instruments: Part 2
* Questions on Using Windmill: Logging the Cold Junction
* Excel Corner
* DAQ News Round-up

ASCII, Decimal, Hex and Control Characters

When you are logging data or controlling a measurement 
instrument plugged into the Com port, using software 
like ComDebug, you need to enter or extract data in 
ASCII characters or as hexadecimal. This is straight-
forward for letters and numbers, but what about special, 
non-printing, characters like linefeeds or 
carriage returns?

Char  Ctrl   Dec   Hex   Meaning
NUL   ^@     000   00    Null character
SOH   ^A     001   01    Start of Header
STX   ^B     002   02    Start of Text
ETX   ^C     003   03    End of Text
EOT   ^D     004   04    End of Transmission
ENQ   ^E     005   05    Enquiry
ACK   ^F     006   06    Acknowledge
BEL   ^G     007   07    Bell
BS    ^H     008   08    Backspace
HT    ^I     009   09    Horizontal tab
LF    ^J     010   0A    Line feed
VT    ^K     011   0B    Vertical tab
FF    ^L     012   0C    Form feed
CR    ^M     013   0D    Carriage return
SO    ^N     014   0E    Shift out
SI    ^O     015   0F    Shift in
DLE   ^P     016   10    Data link escape
DCL   ^Q     017   11    Xon
DC2   ^R     018   12    Device control 2
DC3   ^S     019   13    Xoff
DC4   ^T     020   14    Device control 4
NAK   ^U     021   15    Negative acknowledge
SYN   ^V     022   16    Synchronous idle
ETB   ^W     023   17    End of transmission
CAN   ^X     024   18    Cancel
EM    ^Y     025   19    End of medium
SUB   ^Z     026   1A    Substitute
ESC   ^[     027   1B    Escape
FS    ^\     028   1C    File separator
GS    ^]     029   1D    Group separator
RS    ^^     030   1E    Record separator
US    ^_     031   1F    Unit separator
SP           032   20    Space

The manuals for some instruments give Control characters 
which you would normally enter on a keyboard or using the 
instrument's front panel. Our table shows the decimal and 
hexadecimal values you can enter when controlling 
instruments from data logging software.

With ComDebug (free to subscribers) you can 
enter special characters as decimal values. Either use 
the NonPrint menu or your keyboard's numeric keypad. 
Alternatively just type the hexadecimal value straight 
into the Hex column.

Entering special ASCII characters

ASCII includes definitions for 128 characters, 33 of 
which are non-printing control characters. Originally 
these were used for instruments like teleprinters, so 
many of the codes are now obsolete.

Carriage Return, Line Feed and Escape are the three that 
you will most often come across.  Also look out for STX 
and ETX which are used to mark the start and end of 
messages from instruments.

Communicating with Serial Instruments: Part 2

Last month we discussed how to quickly edit the 
communication part of the set-up file for the free 
ComDebug data logging software. 

As we explained in the last issue, you can tell ComDebug 
about your measurement instrument by making selections 
in menus and dialogue boxes. ComDebug saves your settings 
in an *.imd file. Some advanced users, though, like to 
edit this file directly.

You will find your set-up file (*.imd) in the Windmill 
directory. You can edit it in any text editing program, 
like Notepad or Wordpad.

IMPORTANT: Before editing your imd file please make a backup.

The Message part of the file tells ComDebug how to grab
the data from the string of characters sent by
the instrument:

This looks like gobbledygook but with the help of the table above is actually quite easy to understand. [Message1] Name=Message_1 Prompt=W\C(013)\C(010) Parse=\I"0123456789"\E(0)"\C(013)" Ack= parsing a message
Using ComDebug to enter the Prompt and Parse string Prompt - The command sent to the instrument to ask for data. In the example above it is W followed by a carriage return - \C(013) - and a line feed - \C(010). Parse - ComDebug extracts the actual data from the superfluous characters around it. In our example above \I tells ComDebug to ignore everything until it reaches a numerical digit. \E tells ComDebug to extract characters until a carriage return - \C(013) - occurs. It stores the data in channel 0. Ack - Some instruments need an acknowledgement that they have sent data, which will be given in the Ack line. To tell ComDebug to look for non-printing characters, like carriage returns, use the format \C(013), where 013 is the decimal value of the character. See the previous section for a table of decimal values for various non-printing characters. Other options are available, for example: \I followed by a number not in quotes, means ignore the next n bytes Similarly, \E followed by a number means extract the next n bytes \S means search for all these characters, for example \S"data=" ComDebug can extract data in lots of ways - Extract Until or Extract the Next N are the most common but there are many other options including: \H - Extract N Bytes as Hex \J - Extract Integer LSB-MSB (16-bit 2s complement integer: 2 bytes, -32768 to +32767) \K - Extract Integer MSB-LSB (16-bit 2s complement integer: 2 bytes, -32768 to +32767) \L - Extract Word LSB-MSB (16-bit 2s complement integer: 2 bytes, 0 to 65535) \M - Extract Word MSB-LSB (16-bit 2s complement integer: 2 bytes, 0 to 65535) \N - Extract Signed Byte (A single byte of data interpreted as a value in the range -128 to +127) \O - Extract Byte (A single byte of data interpreted as a value in the range 0 to 255) \P - Extract Bit (A single bit of data, which can only have values of 1 or 0) \Q - Extract Float (Four byte floating point) \R - Extract Reverse Float (As Float, but the bytes are in reverse order) \T - Record Number (enables Windmill to know that a new reading has been taken, even if that reading is the same as the previous one) If you need any help setting up ComDebug to work with your instrument - we have a series of examples at Alternatively you could e-mail your *.imd file, together with details of your instrument and a description of the problem, to Further Reading: ================ Parsing Messages from RS232 Instruments ________________________________________________________ ________________________________________________________ Questions on Using Windmill ________________________________________________________ This month's question is about a Microlink 751-TC temperature measurement system which we sell in our on-line shop. Question: How can I log the temperature of the cold junction as well as the temperature reported by thermocouples? Answer: First some background. When monitoring thermocouples it is essential that the system knows the temperature of one of the thermocouple junctions. Housing this junction in the isothermal box keeps the temperature constant, and a cold junction sensor in the box tells the system the temperature. To log the cold junction temperature, open the SetupIML program and enable Channel 16. In Windmill Logger, select Channel 16 alongside the thermocouple channels. Windmill will now record the cold junction temperature, which should be stable. The Microlink 751-TC is currently on special offer, reduced from £730 to £360. ________________________________________________________ ________________________________________________________ Excel Corner: Quick Tips ________________________________________________________ You use the File > Open menu option in Excel to open a data file, and it always goes to the MyDocuments directory, which you don't use. You've been meaning to fix it for ages - do it now. Here's how: 1. From Excel's Tools menu choose Options 2. Select the General tab 3. Choose a new default file location While there you could also set more entries to be shown in the recent files list, and change the number of sheets in a new workbook from 3 to 1. Read more Excel tips for scientists and engineers at ________________________________________________________ ________________________________________________________ DAQ News Round-up ________________________________________________________ Welcome to our round-up of the data acquisition and control news. If you would like to receive more timely DAQ news updates then follow us on Twitter - @DataAcquisition or Google+ -

Killer Robots Slash Jellyfish Aquatic robots, communicating by ZigBee, are tracking and killing millions of jellyfish. Source: SCUBA News

New Sensor Could Prolong Life of High-Temperature Engines A new, highly-accurate thermocouple could save manufacturers millions in maintenance costs, lower fuel consumption, and prolong the lifespan of large gas turbine engines, according to engineers at the University of Cambridge. The thermocouple minimises drift: which causes faulty temperature readings and reduces the longevity of engine components. Source: University of Cambridge Cheating Light May Open Door to Faster Communication Laser pulses have been made to accelerate themselves around loops of optical fibre, seeming to break the Newton's law that every action must have an equal and opposite reaction. The work exploits a trick with light that only makes it appear to have mass, so it is a bit of a cheat, but it may one day lead to faster electronics and more reliable communications. Source: New Scientist Micro water sensor can aid growers Crop growers, vineyard owners and other fruit growers, all benefit from water sensors for accurate, steady and numerous moisture readings. Now, Cornell researchers have developed a microfluidic water sensor which measures moisture levels in soil and can be embedded in plant stems for accurate information on water stress. Source: Cornell University RFID Market to Grow The RFID market to grow to $9.2 billion in 2014, according to Research and Markets. RFID just in the form of tickets used for transport will demand 600 million tags in 2013. Source: Research and Markets ________________________________________________________ ________________________________________________________ * Copyright Windmill Software Ltd * Reprinting persmitted 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:


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

*  Email:
*  Format:

Previous Issue Next Issue