You are here: Home / RTLWS 1999-2017 / 
2023-06-11 - 01:58

Dates and Events:

OSADL Articles:

2023-03-01 12:00

Embedded Linux distributions

Results of the online "wish list"


2022-01-13 12:00

Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completed

Another important milestone on the way to interoperable Open Source real-time Ethernet has been reached


2021-02-09 12:00

Open Source OPC UA PubSub over TSN project phase #3 launched

Letter of Intent with call for participation is now available


2016-11-12 12:00

Raspberry Pi and real-time Linux

Let's have a look at the OSADL QA Farm data



Real Time Linux Workshops

1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010

Ninth Real-Time Linux Workshop on November 2 to 4, 2007, in Linz, Austria


A Client-Server Based Real-Time Control Tool for Complex Distributed Systems

Axenie Cristian, Stancu Alexandru, Zanoschi Aurelian, Pascalin Andrei, Perjeru Marius, Maftei Florentina

Todays trends in Control Engineering and Computer Engineering are blending gradually into a slightly challenging area, the improvement of Real-Time implementations. Applications should timely deliver synchronized data-sets, minimize latency and jitter in their response and by using a efficient scheduling algorithm to be able to determine various system resources to meet optimal allocation and their performance specifications. As Real-Time systems are increasing their complexity and safety-critical aspects, there is a new trend to raise software development level of abstraction from programming languages to concrete standard models.By accepting the challenge of developing a Real Time application we had been able to design and build a slightly alternative method to implement control algorithms in industrial distributed systems.The main application is designed on the client-server model because we are handling a homogeneous distributed system from the OS point of view, because each node of the system uses a similar OS but different programming languages.

The main node or the controller is a Linux OS based computer (Red Hat 9 distro) configured with the Real-Time patch (the RTAI modules) and it offers the possibility to implement the control algorithm, due to its direct connection with the controlled industrial process. The second important node in the distributed system is the data and command server, designed as a Linux OS based computer that hosts a second part of the application using a data server to modify the parameters of the control algorithm found in the running application on the main node(server). To complete the distributed architecture we included in our design some clients, Linux OS based computers that are only able to access logs, data charts from the process and other parameters needed for monitoring. The design pattern for developing the application uses a specific architecture , consisting in several concrete layers gathered in a stack like dependence. The base level is the physical level of the DAQ card that ensures communication directly with the controlled process. The raw or formatted data gathered from the process are sent to the next level application running on the Linux OS based server. The interface between the DAQ card and the application is ensured by a set of drivers from the Comedi/Comedilib library and the OS specific functions, to maintain and enhance the Real-Time features used in the data acquisition and processing. The second level introduces the C++ application specific. It reveals an OOP design pattern used to enhance productivity and flexibility. The center of the C++ application is based on the common use of the RTAI specific methods for real-time tasks in data handling and commands and of course the tool for implementing the control algorithm. To maintain the flexibility and portability of the application the Grafcet tool was chosen because its real advantages in dividing the process in sub-processes. Using this feature we are able to choose a soft real-time or hard real time implementation. Using the Grafcet we would be able to easily modify the specific controlled elements regarding the process components, implementing a good parallel execution tool by describing the evolution of the process and its actions offering a proven independence over the technology. The third level is the communication level between the C++ application and the Java application running on the data and command server. The communication channel uses a TCP/IP protocol that offer an efficient method to maintain parameters interchange and command communication. Between the two software applications we managed to create a certain compatibility pattern to easily ensure the communication, so we designed a similar class architecture using a data class, a grafcet class, a server control class, a sensor class, an actuator class and a system class that all are encapsuling functionality. The last two levels due to their resemblance in implementation are treated together so the Java application in responsible to send control commands to the grafcet class and also send/receive data from the process through the C++ application and via TCP/IP. The client nodes are based on a data client class that is designed as a Java GUI to permanently interact with the user that monitors the process at a certain time. The developed solution was designed to meet certain accessibility features, including portability, the use of free or low-cost auxiliary software(OS,SDK platforms)and practical use in a large area of industrial control processes.

 

Valid XHTML 1.0 Transitional