 |
| |
|
Fluke |
| |
| When power quality and reliability is vital. |
| |
|
 |
| |
| |
| Overview |
 |
| The 1750 Power Recorder (about the
size of a VCR) is a high end instrument that connects to power
generation equipment (power lines) to measure anomalies such as
spikes, transients, dips, and other fluctuations. It generally
stays connected from one week to one month recording data, at any
time during or after that period, it is downloaded to a PC for analysis. |
 |
| These fluctuations could be caused
by events such as a squirrel jumping on the power line, a power
generator about to fail, a malfunctioning transformer, or even too
much load on the line. The idea is to detect the problem(s) and
fix them or prevent their reoccurrence. This is data intensive
(over 2GB), so efficient processing is essential. |
 |
| There were three teams working on
the project: one working on the hardware and firmware, one in India
working mainly on the firmware and PDA software, and one working on
the PC software with some assistance from India. WinMac initially
started on the PC communication with the Recorder (TCP/IP) and went
on to lead the PC team. Also, when a new developer was hired,
WinMac assisted with the interview process and did the training. |
 |
| Notable Components / Improvements |
 |
| The PC client software that was
developed has three main functions: 1) configuring the instrument,
2) displaying live data, and 3) displaying recorded data. Since
the PC is less costly and more powerful than an embedded machine,
the PC does as much of the computations as possible and all the
post processing, leaving the instrument more capacity to do real
time data capture. |
 |
| The graph displays use a 3rd party
control from IOComp. This control is quite flexible allowing
multiple traces, labels, scaling, interpolation and so forth. The
data display uses a grid control from Dundas Grid. It allows cell
/ row / column formatting including colors and fonts. It also
allows windowing of the data. |
 |
| |
Refactoring: A major portion
of the client application was systematically refactored by WinMac.
There were many places where code was duplicated with slight
variations, lengthy superficially related clumps of code, and
exposed member variables. While this is understandable during
prototype phases, it is less desirable in released code. The
immediate benefits of refactoring were easier to understand code,
uncovering of existing bugs and less bugs for added features. The
additional long term benefits are easier maintenance, and easier
enhancement implementation. This goes hand in hand with agile
programming practices. WinMac is a big proponent of agile
programming and thank Fluke for supporting this view. More
information can be found on Scott Ambler’s site by
clicking here. |
 |
| |
Instrument communication: One
feature worth mentioning is that the client PC does a periodic IP
broadcast to detect available instruments on the local network.
The responding units are displayed in a drop down list. This a
useful network discovery feature to implement in many situations. |
 |
| |
Recorded Data: The client
was originally implemented for a much smaller dataset, performance
was unacceptably slow and large datasets would crash the client.
This was a “show stopper” issue. WinMac enhanced the client using
caching, decimation and other means to improve the performance by
orders of magnitude. The client crash was also corrected in the
process. |
 |
| |
Engineering Client: A
separate small application was created to assist firmware and
hardware Engineers. This application provided a direct front end
from which they could control the instrument (or the simulator).
This was used throughout development and saved a lot of hours
versus the alternative low level peek/poke type of tools
available. |
 |
| |
Simulator: A 1750 simulator
was also created. This allowed 1) testing of new PC client
functions when the instrument development wasn’t ready yet, 2)
development of the client when there was a shortage of instruments,
3) easier debugging since both ends of the process is under PC
control. This required a clear understanding of the interface
between the instrument and the PC client, and good judgment as to
what level of simulation was required. All throughout development,
this simulator was improved and it saved hundreds of hours. |
 |
| Technologies: |
VC++, TCP/IP,
IOComp graphics OCX, Dundas grid embedded spreadsheet. |
|
|
| |
| Partial List |
| Click below for details |
|