Windmill Data Acquisition Software Logo
15 August 2017

Windmill Software Ltd
Data Acquisition Intelligence

Technical Support for Data Acquisition and Control Software

Welcome to our technical support page for Windmill 7, ComIML and ComDebug. We hope you can find the answer to your question either here or in the software Help files. If not please get in touch.

ConfIML and your Hardware | ComDebug and ComIML | RS232 Settings | RS422 and RS485 Settings | Modbus Settings | TCP/IP Settings | USB and Windows 7, 8 and 10 | NMEA and GPS | Windmill Logger, Chart and DDE Panel | Excel | Request Technical Support

ConfIML and your Hardware

ConfIML runs when you install Windmill. It holds a list of the device drivers you will be using, and lets you configure some of your devices. In ConfIML, press the Add button and select the hardware you will be using. For RS232, RS422, RS485, TCP/IP or Modbus devices choose the ComIML Serial Instrument Handler. For other devices, like the 751 USB unit or the 840 Ethernet Logger, choose the appropriate driver.

For some devices you can choose some of their settings in ConfIML. For example, for the 751 unit you can choose the interval between recalibrating the hardware, and the resolution of the signal. See the ConfIML program Help for more details.


The software needs to be authorised for each computer on which it is being used. Run the ConfIML program and click the Software button. The Authorisation window appears. This shows a unique Request Key comprising a 7 character code. Email us this code and we will send you back a Release key (Licence key). Enter this in the window to authorise your software.

ComDebug and ComIML

ComIML reads data from almost any RS232, RS422, RS485, Modbus and TCP/IP devices. Use ComDebug to enter your serial settings. You can also use ComDebug on its own to monitor the serial port and log data from one instrument.

Getting Started

For tips on using ComDebug to enter your instrument's settings, which can then be read by the ComIML driver, see Getting Started with ComDebug and the ComIML Serial Driver.

Settings to Use

For example settings to use for specific instruments, see Windmill Serial Port Driver Settings.

"Failed to open the com port" Error Message

There three possible reasons for this error.

  1. The COM port is already in use. ComDebug needs sole control of the port: if other software has already opened the COM port, ComDebug will not be able to access it.
  2. You have selected a COM port that isn't present on your computer - choose a lower COM port number.
  3. If your are using a USB-Serial device that is "designed for Windows" then it will have a unique serial number. Windows reads this and uses it to remember which driver and what COM port number to use for that device. This means that when you unplug the converter, Windows continues to consider its COM port number in use. It also means that if you swap converters the port number assigned will be different. You can over-ride this with Device Manager. More details on USB-Serial Converters

In ComDebug, all bytes are sent but no reply is received

  1. Make sure you've entered your COM port settings correctly in ComDebug: baud rate, number of bits in the data byte and parity. These should match those used by your instrument or USB-to-Serial Converter. If you are not sure consult your manual or ask our advice. If you have information about the Stop Bits then use it, otherwise set them to 2. This will at worse slow the message down slightly.
  2. Check whether your device needs a command before it will send data, and whether you have entered this command properly in ComDebug. This might be an Initialisation message, which is only sent once to the instrument on start up; or more likely a Prompt which is sent each time the computer wants the instrument to send data. Enter the Prompt in the ComDebug Terminal screen. Make sure, for example, that you have entered any Carriage Return necessary - use the NonPrint menu to enter this.
  3. In ComDebug select the Status menu to see possible communication or wiring errors. For more help see our Trouble-shooting Serial Port Communication page.

In ComDebug, dashes not data

If, when pressing the Run button, you see dashes rather than data, you are trying to read your instrument too fast. ComDebug will be asking for data at the time specified (every second by default) but the instrument isn't able to communicate this quickly. Slow down your sample rate.

I can see data in ComDebug but not in DDE Panel or Logger

See When ComDebug shows the Data but Logger, DDE Panel and Chart do Not. Includes topics such as "I can see data from some channels but not all", "Bad IML device number", "Error 114", "Error 105" and "Windmill Debug Screen".

Slowing the Requests for Data

Some instruments do not like being read at too high a rate. In Background mode, use the Instrument Idle or Wait Time (in Instrument Timings) to set the delay between the end of one reading and the start of another. The actual reading rate will then be determined by the Wait (idle) time plus the time to send a prompt and to get a reply.

What do I do if my laptop has no RS232 COM ports?

Windmill ComIML and ComDebug work with serial instruments connected to the COM or TCP/IP port. If your computer is without COM ports, you can use a USB-to-Serial RS232 adaptor or, for Wi-Fi networks, a serial device server.

Using a USB-Serial converter

You need to make sure that your converter's serial settings match those of Windmill (or vice versa). For instance, if you have set Windmill to continually acquire data you must make sure that your USB-to-Serial converter is continually providing data and not buffering it. How you do this depends on your converter. For a 930-based Edgeport converter, for example, you need to use its utility program to set its ports for "low latency" and "fast read and writes". Use the Edgeport configuration utility program to do this (Port Flags button). More tips on using USB-to-Serial converters...

How to select virtual ports with higher number than 24 (COM24)?

Windmill ComDebug lets you choose from Com ports 1 to 24. There are two ways to deal with high virtual port numbers. 1. Use Windows Device Manager to reassign the COM port to a lower number. See Using a USB-Serial Converter for more details. 2. Within ComDebug, save your current ComDebug settings - select Save .IMD File from Main Menu. You can now edit this file manually. Use Notepad (or similar) to open the *.IMD file you have saved and edit the port parameter. So change Port=4 (for example) to, say, Port=25.

What to do when the start character in a message changes

When extracting data from the instrument's message, you need to pin-point where in the message string the data begins. For some instruments the start indicator may change each time. To detect this use the the Ignore Until action in Comdebug - adding all possibilites into the Parameters box. You might then need to Ignore a number of characters before starting to extract data. For more help see the Parsing Messages from RS232 Instruments page.

What's wrong with using multiple Ignore commands?

The Ignore Until Character command tells Windmill to ignore characters in the data string until one of the specified characters arrives. The next operation takes place at this character. So, if you repeatedly told Windmill to ignore everything until the next comma (meaning to skip several commas) it would get stuck on the first comma it found. For more help see the Parsing Messages from RS232 Instruments page.

My instrument sends data sporadically

Some instruments send data only once when an event occurs (such as pressing a key on the instrument) or when data changes. These should be read in the Background. When entering a Parse String, you should extract a Record Number as the final instruction of the parse. This is a value which increments whenever a new message is received. It can be rapidly read by Windmill programs since its value is always instantly available, telling them to log or chart new data. More details at

Can I monitor traffic signals to and from the modem?

No. As the software is designed to acquire data from measurement instruments it needs sole control of the serial device. Other applications cannot therefore access the modem whilst you're using ComDebug.

Why am I getting the message "Windmill is already on this computer" when I try to re-install

You can't re-install the free trial. If you just need the free ComDebug software, you can download a copy of this here. If you need the full Windmill package you will need to purchase a copy for just £50 from our data acquisition shop. We offer a money-back guarantee if it doesn't suit your application.

RS232 Settings

How to Communicate with RS232 Devices

Use the Windmill with ComIML package, or ComDebug, to collect data from RS232 devices. See above for quick answers, and these pages for more detailed articles.

RS422 and RS485 Settings

How to Communicate with R4S85 Devices

Use the Windmill with ComIML package, or ComDebug, to collect data from RS422 and RS485 devices. See our RS485 Wiring notes for more details.

Modbus Settings

How to Communicate with Modbus Devices

Use the Windmill with ComIML package, or ComDebug, to collect data from Modbus devices. See our Modbus settings page for more details.

TCP/IP Settings

How to Communicate with TCP/IP Devices

You can use the Windmill with ComIML package, or ComDebug, to collect data from devices over Ethernet or Internet. Windmill also has specific drivers for Ethernet hardware, such as the Microlink 840 data logger. See our TCP/IP data logger page for a tutorial on TCP/IP options.

USB and Windows 7, 8 and 10

Installing USB Devices under Windows 8 or Windows 10

With the release of Windows 8, Microsoft imposes more restrictions on what it will let you install. The casualties include legitimate USB device drivers. If Windows 8 or Windows 10 is not recognising your USB instruments, you need to disable Windows driver enforcement before installing your USB drivers.

Installing Hardware under Windows 7

Details of installing USB and other data acquisition hardware under Windows 7.

USB Hardware Suddenly Stops under Windows 7

In some systems, under Windows 7, occasionally the USB connection drops (in which case Windmill will show Error 22 - transmission timeout error). USB has no mechanism for recovery when this happens. The only thing you can do is unplug the cable and then plug it back in again, which re-initialises the Windows USB drivers. There are two remedies you can try to minimise the problem: 1. Prevent the computer from turning off USB devices and 2. Disable selective suspend settings in Advanced Power Options. More details of doing this are at What to do if Windows drops your USB connection?. The alternatives are to change to an Ethernet connection, upgrade to a later version of Windows or try with a different Windows 7 PC.


See also Connecting a GPS Receiver to a PC and Interfacing NMEA Devices to a PC.

Settings for instruments following the NMEA Standard

Instruments following the NMEA standard will generally work with these settings: baud rate - 4800; bits - 8; parity - none; stop bits - 1; flow control - Xon/Xoff or hardware (you may have to try both: consult your instrument's Manual), reading protocol - continuous flow, data persistence - 2 seconds. More on NMEA.

Why does my screen look funny when I plug my GPS in?

Sometimes when you plug a GPS receiver into the computers COM port, Windows detects the RS232 data as indicating that a serial mouse has been plugged in. This causes the screen to behave erratically. The solution is simply to wait until the Windows system has settled down before trying again.

Windmill SetupIML, Logger, Chart and DDE Panel

How to open program Help files downloaded off the internet?

You can download the Windmill programs' Help files here. However, Windows security features may prevent the text of the Help file being shown. If so, in the Open File-Security Warning box - which appears when you try to open the Help - clear the "Always ask before opening this file" check box then click Open. The Help appears as normal.

How fast can Windmill collect data?

When using ComIML or ComDebug you can run at a speed of up to 5 samples per second per channel, with a maximum of 200 readings per second. Make sure your sampling interval is not smaller than 0.2 seconds, otherwise Windmill may slow down considerably and only make a couple of readings per minute. Sampling interval is also known as logging interval or reading rate.

Where are the logged data files?

Windmill Logger saves the data in a *.wl file. By default these will be in the data directory, wherever you installed Windmill. For example
c:\program files\windmill software\data\.
However, if in Logger you enter the full directory path (rather than just the file name) then the log file will be stored there. Your choice will become the default directory for this session. Finally, if you wish to permanently change the default directory you can do so using the ConfIML program. Run this and choose the Directory button. Windmill will create two sub-directories under this choice, called setup and data. All the Windmill settings will be stored in "setup" and all the data you collect stored in "data". For example c:\testruns\data\.

Logger shows Error 114 - Data not yet Ready

For serial instruments, in ComDebug's Terminal screen press the Run button. Do you see your data appearing there? If not this is most likely due to you not parsing the instrument's message properly, but might also be caused by a problem with the cable. Here are some example parsing settings for a number of serial instruments.

If you can see data in ComDebug but not in DDE Panel or Logger then go to our debugging communications page for trouble-shooting suggestions.

Out of Memory Error

Go back to ConfIML and add your hardware devices there. If you don't see any hardware drivers, install them as detailed here for USB devices or here for RS232/RS485/Modbus/TCP-IP devices.

Cannot find imd files

The .imd files are generated by the ComDebug program and hold details about your hardware. They should be in the Windmill setups directory. Run the ConfIML program and choose the Directory button. It will tell you where the setups directory is, and let you change it to another location if you wish. If necessary move the .imd files to your chosen directory.

Error Codes

See a list of all error codes, for all Windmill drivers and applications. For error 114 - data not yet ready, error 105 - hardware is not supplying data and AID out of memory go to our debugging communications page for trouble-shooting suggestions.

Can I scroll the Chart?

The Windmill Chart program is designed to display data in "real-time", and so there is no scroll function. To show more data at a time, change the paper speed. Should you wish to review previously saved data, you can use the Windmill Replay software. This lets you scroll through, fast-forward, rewind, zoom in and out, see tables of data, etc. You could also use Excel.

Can I use Windmill Chart to display data from Excel?

To do this you need the Windmill Harvester program. Copy the contents of Excel cells to the clipboard and paste them into Harvester. Windmill Chart can now read and display your Excel values as though they were from normal hardware channels.

DDE Panel shows the Data but Chart shows a flat line

Look carefully at the data in DDE Panel. Are there any funny characters in it? If you extract control characters as well as data DDE Panel will show them, but Chart won't be able to chart the data properly. You need to edit your parse string in ConfIML. Remember, with the Ignore command the next action occurs ON the specified character but with the Search command the next action occurs AFTER the specified characters. So if you Ignored until a carriage return and then extracted data, the carriage return would be extracted. If you searched for a carriage return and then extracted data, it wouldn't.

I'm seeing "pulse", "sine", "triangle" rather than my data

The free trial is supplied with generated data for you to experiment with the Windmill programs. This "SigGen" driver shows 7 channels of data called such things as pulse, sine and triangle. To read real data from your instrument run the SetupIML program and from its Device menu select COMIML.

Can I plot an x-y diagram?

The free Windmill Chart program plots data against time. However, with Windmill you can collect data from your device and send it in real-time to other software like Excel. You can then create your x-y diagrams in Excel. For more details see our Excel Interfacing and Excel Charting Tips pages.


See also our Excel Interfacing and Excel Charting Tips pages.

How do I use Excel to send data to the serial port?

You can create an Excel macro which uses dynamic data exchange to send data to analogue or digital channels on your instrument. More information is in our Excel section.

Can I use Windmill Chart to display data from Excel?

To do this you need the Windmill Harvester program. Copy the contents of Excel cells to the clipboard and paste them into Harvester. Windmill Chart can now read and display your Excel values as though they were from normal hardware channels.

I've changed to Excel 13 and my DDE Links no longer work

Run both Excel and DDE Panel as an Administrator. In the Programs list right-click the name of the program, select Properties > Compatibility tab > Run this program as Administrator.

Request Technical Support

Make and model of instrument:

Using which Software:
ComDebug  Other  
   RS232   RS422/485   
  Modbus      TCP/IP   
Ethernet         USB 

Please give as many details as possible. 
For example:what steps you have taken 
so far, an example of your instrument's 
message string if you have it.


Alternatively e-mail techsupp @ giving details of the problem. It will also help if you attach these files to the e-mail - *.imd, *.ims, and iml.ini - which you will find in your windmill directory.

Iml.ini is saved by ConfIML and lists the hardware drivers you have on your system: COMIML, SigGen, etc. The *.ims file is created by SetupIML and describes how you want to use your hardware: channel names, engineering units, alarm settings, etc. The *.imd files are created by ComDebug and contain the communications settings for your individual instruments: for example you might have a gps.imd containing the settings for a GPS and a balance.imd containing the settings for a weighing scale.