|
|
|
Minnesota Department of Transportation's Flashing Sign Server
| Description |
| The Minnesota Department
of transportation is responsible for all roadway-related matters for
the state of Minnesota. The Minneapolis control center can control
the flow of traffic onto highways and major roads through timed
lights at each entrance ramp. These lights are controlled remotely
and wirelessly. MnDot can also control informational signs remotely.
These signs are used to inform commuters of traffic conditions and
alert conditions. MnDot acquired a new type of sign used to inform
drivers and commuters of information by flashing lights on a fixed
message sign. These signs are controlled wirelessly from the control
center. MnDot was looking for an integrated, simple to use interface
to control all these various timing and informational signs.
|
| Project |
|
The project consisted
of integrating the new type of flashing signs into the existing sign
control application. The end user interface was to represent the
metro roadway system and display icons for each sign on that map.
The user would then right-click on a particular sign to control its
features. The user's selections would then be relayed to the
appropriate sign and acknowledged at the client workstation. The
flashing signs were controlled through a Motorola based Moscad unit
which uses a proprietary protocol called Modbus.
|
| Solution |
| The solution was
implemented as a custom client server application using named pipes
for connectivity. The client application was an OS/2 based
multithreaded presentation manager application displaying a map of
the metro area and the icons representing the various signs. The
application allowed users to right-click on one or more signs and
displayed context sensitive sign properties. A small database
maintenance application was developed to allow MnDot to add and
modify signs and sign placement on the map.
A multi-threaded server application
was developed to communicate with the various clients and the Moscad
unit. The server application was responsible for: 1) handling
requests from the clients, 2) sending those requests to the Moscad
unit, 3) polling the Moscad unit for status updates and 4) notifying
clients asynchronously of status changes. The server application
communicated with the Moscad controller though multiple asynchronous
/ serial ports (digiboard).
|
| Technologies |
Multithreaded C++, Named
Pipes, IBM Visual Age C++ for OS/2, Borland C++ for OS/2, OS/2 Warp
Connect, Multiport Asynch I/O.
Contact Us to discuss your next software
development project
|
|
|
|