Explore chapters and articles related to this topic
Computer-Controlled Systems
Published in Jitendra R. Raol, Ramakalyan Ayyagari, Control Systems, 2020
Jitendra R. Raol, Ramakalyan Ayyagari
Most discrete time (DT) controllers are implemented in a real time (RT) operating system, and in some systems, the different parts of the algorithms are distributed among different processors. The controller script/code is programmed in C or C. Ada (developed by the U.S. Department of Defence for computer-control applications) was the first language designed and developed for such programming. A code for the operator communication is larger than the control-only code. One can map several control loops as concurrent activities that are running in parallel, using special purpose software-real-time (SWRT) operating systems that can schedule tasks without making a strict sequential program. Here, the notions of process and task are basic concepts and represent activities that may be thought of as running in parallel in time. The processes may be scheduled to run periodically or in response to events like interrupts or completion of other tasks. In the case of shared variables/resources, it is necessary to ensure that the system does not enter the deadlock, where both the processes are waiting for each other. When there is an interaction with an operator, the control is considered as a foreground task/process, and the operator communication is called the background task/process. The real time operating systems are large programs written in assembly code and can handle more complex situations.
Interprocess Communication Based on Shared Variables
Published in Ivan Cibrario Bertolotti, Gabriele Manduchi, Real-Time Embedded Systems, 2017
Ivan Cibrario Bertolotti, Gabriele Manduchi
In order to work together toward a common goal, processes must be able to communicate, that is, exchange information in a meaningful way. A set of shared variables is undoubtedly a very effective way to pass data from one process to another. However, if multiple processes make use of shared variables in a careless way, they will likely incur a race condition, that is, a harmful situation in which the shared variables are brought into an inconsistent state, with unpredictable results.
Execution Models for Embedded Systems
Published in Ivan Cibrario Bertolotti, Tingting Hu, Embedded Software Development, 2017
Ivan Cibrario Bertolotti, Tingting Hu
In Section 4.3, a race condition was informally defined as an issue that hinders program correctness when two or more tasks are allowed uncontrolled access to some shared variables or, more generally, a shared object. As was remarked there, in a cyclic executive the issue can easily be kept under control because race condition zones appear only as a consequence of task splitting and, even in that case, their location in the schedule is well known in advance.
The development and tests of remote data acquisition and transmission system on civil engineering structural vibration
Published in Journal of Asian Architecture and Building Engineering, 2019
Ying-Qing Guo, Jie Zhang, Xing-Huai Huang
There are many ways in LabVIEW software to realize remote transmission, such as TCP/IP protocol, DataSocket protocol, UDP protocol, Shared variables, and so on. Integrating the characteristics of the above methods, the system has chosen the DataSocket protocol technology as the transmission method of the system.