- A History of Increasing Complexity
- Mechatronic System Organization
- Amplifiers and Isolation
- Scope: The Unit Machine
- Control
- Real-Time Software
- Nasty Software Properties
- Engineering Design and Computational Performance
- Control System Organization
- Software Portability
- Operator Interface
- Multicomputer Systems: Communication
- The Design and Implementation Process
1.9 Control System Organization
The division into system engineering and computational technology allows separation of these two aspects of a control system. However, still further modularization is needed to meet the need for a rational design procedure. A two-level organization is used on both the engineering and computational sides of the control software design.
On the engineering side, a job is organized into
- tasks
- states
Tasks represent semi-independent activities of the control system. The division of the control software into tasks is the first level of modularization. Because the activities the tasks control are semi-independent, the tasks must all be active (execute) at the same time.
The next level of modularization is to states. States describe specific, sequential activities within tasks. While a task, for example, might control a specific motor, the states within that task could correspond to the motor turned off, the motor operating at constant velocity, the motor decelerating to a stop, and so forth.
The breakdown of the engineering specification into tasks and then states is a subjective process, requiring considerable engineering judgment. This stage is the primary creative design step.
On the computational side, the computing process is organized into
- processes
- threads
This breakdown is done to utilize the computing resources as ePciently as possible. It is independent of the task-state design in the sense that many different process-thread configurations can be devised for exactly the same task-state specification. In the absence of any economic constraints it is normally possible to implement a control system design with a single process and single thread, while still meeting all real-time specifications. However, economics always plays a role in engineering design, so effective process-thread design is crucial to commercially successful projects.