

|
Queue Message In |
|
Queue Message Out |
|
Business Logic Layer |


|
This page represents typical Control Client (CC) design, which I commonly implement. In order to reach maximum efficiency the CC has multithreaded design where: · Firmware Update Thread responsible for uploading of CC firmware to change CC logic. This functionality available only for embedded devices. Before starting to upload, Supervisor Thread shuts down all running threads to avoid the data loss and system crash. Supervisor Thread restart the device after firmware update process is completed · Configuration Update Service is responsible for tracking configuration changes , reloading the configuration, and restarting the device · Communication thread responsible for communication with Server in Client/Server architecture or directly with HMI/GUI application. It receives commands, which should be executed on CC such as “ Force Door Open/Close”, “Assign Specific Camera to Specific Monitor”, “Relay ON/OF”, “Turn Camera Left/Right”, “Get Status”, etc. Communication thread sends responses such as acknowledgments, status information, log files, etc. |
|
· Watch Dog Thread is responsible for sending the heartbeat continuously every defined time interval · Application Thread is responsible for operation on hardware such as communications and I/O operations · Supervisor thread responsible for the control of each thread running in the system such as thread processing time, thread starting/restarting, killing the thread, etc. Also it manages the system resources such as CPU usage, disk free space, and so on. To provide Inter Process Communication I use queues, maps, critical sections, mutexes, events, messages and others techniques |
|
Copyright © 2009 BitMan Inc. All rights reserved |
|
Software Engineering, Windows based Control System, Process Control, Security and Access Control Systems |
|
Vladimir Shishkov software engineer |