Next: ZIY
Up: Introduction
Previous: Introduction
  Contents
The final selection of NT as a platform to host the ZIY has
many practical and historical reasons. When I originally
started work with
the Metrology Group, we were attempting a proof of concept
device, with little thought of interfacing it with anything.
Why, after all, work on interfacing something that doesn't
work? Our mission was to first prove that an open-air
laser based metrology system had some chance of working.
We thus concentrated on quickly and inexpensively putting
together a prototype instrument
using COTS (Commercial Off-The-Shelf) technology [4].
Using a PC
running DOS was a logical extension to this approach. PCs
then were relatively simple and inexpensive, and the programming
tools then available for DOS were excellent.
As it became clear that the laser metrology concept stood some
chance of success, emphasis was shifted to designing and refining
further prototype instruments, software and techniques. When
we added more than one instrument to our experiments, it became
clear that the software would have to be split into what would
become the ZY and ZIY modules. PCs running DOS were quite
adequate and convenient for the ZY software, and communication
between ZY and ZIY was over an RS-422 serial link. To this day,
the ZY software is a DOS application, and though Ethernet
has replaced the RS-422 link, this arrangement has been quite
satisfactory.
For the ZIY, however, DOS proved to be a rather limiting environment.
The precursor to the ZIY provided an interface to
multiple ZYs while providing a user interface, and it
became awkward to program this in the single tasking DOS environment.
At the time we had few alternatives for the environment that would
host the ZIY:
- VxWorks, on a Motorola 68000 based VME system
- QNX, on the PC architecture we were currently using
- Unix
All of these options involved a steep learning curve for members
in our group. At the time we were concentrating on the instrument
rather than
a metrology system as a whole, so we lived with the limited DOS
environment and put off dealing with this problem. The ZIY software
was strictly throw-away code. This throw-away ZIY eventually evolved
into a Windows 3.1 program that served the metrology group well.
At one point we did attempt a permanent ZIY hosted on a Unix system,
but for a variety of reasons this did not work out well, and before
we could work out the difficulties, we lost our Unix programmer.
We were back to the throw-away ZIY.
By this time Microsoft released Windows NT 3.1. It was touted
as a solid multitasking, multithreaded OS. It included TCP/IP
networking out of the box. It provided a familiar GUI. The Win32
Application Programming Interface (API) was familiar, in that it was based
on the Windows 3.11 API that I already knew. It ran
quite well on a 486 DX2/DX4 based PC, and was inexpensive,
relative to other x86 solutions. It seemed perfect for the job,
at least on an interim basis. As it turns out, it proved to
be as dependable and flexible as it promised to be. Though we
were still focused on the laser ranger instrument, in November of '95
I undertook to
develop a brand new ZIY for Windows NT, with the intention that
this would not be a throw-away version.
Next: ZIY
Up: Introduction
Previous: Introduction
  Contents
Ramon E. Creager
2002-03-11