Part of the book: Automation
This chapter proposes the binary compatibility object model for C++ (BiCOMC) to provide the binary compatibility of software components in order to share objects among C++ based executable files such as .exe, .dll, and .so. In addition, the proposed model provides the method overriding and overloading, multiple inheritance, and exception handling. This chapter illustrates how to use the proposed model via a simple example in the Windows and Linux environment. The proposed method is validated by application examples and comparisons with known object models such as C++, COM, and CCC in terms of the call time of a method during execution and the binary compatibility such as reusability due to interface version and the types of compilers. Also this chapter shows that BiCOMC-based components compiled with Microsoft Visual C++ and GCC can call each other and the interface version problems are resolved.
Part of the book: Computer Methods and Programs in Biomedical Signal and Image Processing
In this study, a real-time scheduling algorithm, which supports periodic and sporadic executions with event handling, is proposed for the middleware of industrial automation devices or controllers, such as industrial robots and programmable logic controllers. When sensors and embedded controllers are included in control loops having different control periods, they should transmit their data periodically to the controllers and actuators; otherwise, fatal failure of the system including the devices could occur. The proposed scheduling algorithm manages modules, namely, the thread type (or .so type) and process type (or .exe type), for periodic execution, sporadic execution, and non-real-time execution. The program structures for the thread-type and process-type modules that can make the proposed algorithm manage the modules efficiently are suggested; then, they are applied in periodic and sporadic executions. For sporadic executions, the occurrences of events are first examined to invoke the execution modules corresponding to the events. The proposed scheduling algorithm is implemented using the Xenomai real-time operating system (OS) and Linux, and it is validated through several examples.
Part of the book: Scheduling Problems
In this study, we present the requirements of a real-time robot software (SW) platform that can be used for industrial robots and examine whether various kinds of existing middleware satisfy them. Moreover, we propose a real-time robot SW platform that extends RTMIA to various industrial applications, which is implemented on Xenomai real-time operating system and Linux. The proposed SW platform utilizes the timer-interrupt based approach to keep strict period and the shared memory for convenient usage, on which the shared variable is designed and used. We verify the proposed platform by showing that the robot task and the Programmable Logic Controller (PLC) program are performing with interlocking each other on the presented platform.
Part of the book: Industrial Robotics