May
2004, Issue 166
 |
Priority
Interrupt
by Steve Ciarcia
All
Washed Up
|
Ever
think about how dependent you have become on the guy
who writes the control program for a product and how
vulnerable you are if he doesn’t know what he’s doing?
Last week I had an interesting adventure thanks to a
company obviously still working out the bugs in the
transition from electromechanical cams and switches
to C++ and microcontrollers. I went to the car wash.
Ordinarily
I wash my car at home. I even installed hot and cold
water to a hose reel in the garage so I can do it more
easily. I don’t know whether I was weak-willed that
day or just feeling adventurous, but I decided to go
to the drive-through car wash down the street instead.
I
pulled up to the entrance of the car wash. The guy leaning
back reading the sports section really didn’t care that
I had driven up. He was determined to finish whatever
he was reading. As I was about to lean on the horn,
he finally got up and walked around the car. While I
was waiting for my change, I noticed a bunch of posted
disclaimers. Apparently SUVs do nasty things if they
fall off the tracks or something like that. With all
the signs warning me that the car wash wasn’t responsible
for all the damage they intended to perpetrate on my
vehicle after the process started, I figured I shouldn’t
care that my SUV would total the car wash as reprisal
either.
The
operator came to the conclusion that my SUV was tolerable
and he took my money. I don’t know why they call it
a "drive through," because that’s the last
thing they want you to do. Just put it in neutral, sit
back, and listen to music while everything gets clean.
Well,
so much for the music. Satellite radio doesn’t like
roofs and I was too far from a terrestrial transponder.
Ten feet into the tunnel, my XM Radio turned to pink
noise, and I was subjected to a soapy whiteout. The
marvel of mechanical ingenuity rotated nozzles, squirted
soap, and sprayed a mini hurricane of detergent and
water as I progressed through the washing stages. Maybe
this isn’t so bad after all, I thought.
The
car was slowly pushed to the next stage where rotating
cloth strips started beating on the car. "Beating"
might be a strong description, but it surely seemed
like that. I realized a long time ago that a "touchless"
car wash is useless without a little elbow grease. Let’s
just say this was robotic elbow grease.
Rotating
sprayers went up and down the side doors as the cloth
strips went wap, wap, wap against the hood and windshield.
I just wished this thing wasn’t washing my car quite
so hard, but I was consoled with the knowledge that
it would be only a few more seconds until the rinse
cycle started. Or at least that was how it was supposed
to work.
Suddenly,
the track stopped moving. For whatever reason, however,
the washing continued cycling through the same series
of maneuvers. Instead of the 90 seconds for the whole
wash, rinse, and dry, it had now been 2 minutes and
I was still seeing soap and spraying water. Something
had happened to the system and it was stuck. OK, operator.
Now is the time you get off your chair and go press
the reset button, I said to myself.
Through
the torrential assault I could see a control panel with
a bunch of colored lights mounted on the wall. A red
indicator blinked incessantly, but it didn’t seem to
do much else. The cleaning cycle and rotating cloth
continued to go wap, wap, wap as a monsoon raged all
around the car.
Where
the heck was the operator for this thing and how was
I supposed to get out of there? What was he doing back
there, sleeping? Didn’t he see that the line wasn’t
moving anymore? I honked the horn twice, waited 30 seconds,
and honked again. Where was this guy? I thought about
opening the door to find him, but getting 20 gallons
of water out of the upholstery quickly stifled that
consideration. I thought about using my cell phone,
but whom would I call? If this guy wasn’t in the office
to see that his conveyor system wasn’t moving, he wasn’t
there to answer the phone either. Then, the real anger
hit me. What idiot designed the control program for
this car wash system?! Didn’t he ever hear about closed-loop
control sensing or watchdog timers?
At
this point, I was starting to get ripped. At the 5-minute
point, I thought about climbing over the seats and going
out the hatchback. I’d get drenched, but perhaps it
wouldn’t be quite as soapy on that route. Then, I said
screw it. The most off-roading this car had ever seen
was the curb in a parking lot, but I wasn’t going to
sit there to the point where I’d have to argue with
the car wash owner to pay for a new paint job because
they washed it too well. I jammed the car in gear and
drove the 30 feet down the rest of the car wash and
out the exit. I did hear a few twangs and a ripping
sound, but whatever brushes, track linkage, etc. was
in the way, it was no match for a 3-ton SUV.
I
stopped just outside the car wash to clear the soap
off the windshield. The operator came running out yelling
I had broke his car wash. I said it had stopped working
long before I did anything to it and there weren’t any
signs prohibiting emergency exits. His reply was, "I
hate SUVs!"
Of
course he didn’t understand, but I replied, "Yeah,
and I hate dumb embedded-control programmers!"