Dates and Events: |
OSADL Articles:
2023-11-12 12:00
Open Source License Obligations Checklists even better nowImport the checklists to other tools, create context diffs and merged lists
2022-07-11 12:00
Call for participation in phase #4 of Open Source OPC UA open62541 support projectLetter of Intent fulfills wish list from recent survey
2022-01-13 12:00
Phase #3 of OSADL project on OPC UA PubSub over TSN successfully completedAnother 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 launchedLetter of Intent with call for participation is now available |
Real Time Linux Workshops
1999 - 2000 - 2001 - 2002 - 2003 - 2004 - 2005 - 2006 - 2007 - 2008 - 2009 - 2010 - 2011 - 2012 - 2013 - 2014 - 2015
13th Real-Time Linux Workshop from October 20 to 22 at the Faculty of Electrical Engineering, Czech Technical University in Prague
Announcement - Hotels - Directions - Agenda - Paper Abstracts - Presentations - Registration - Abstract Submission - Sponsoring - Gallery
A Status Report on REACT, a Control Engine that runs on top of GNU Linux for Creating SCADA and DCS Systems
Don Carr, Zapopan, Mexico
REACT is written in C/C++, and is a project that was started in about 2002 for Masters students at the University of Guadalajara, Mexico. The design was based on the experience of the author on large SCADA systems for natural gas pipelines, natural gas distribution systems, and water distribution systems, software for testing military, industrial, and light vehicle transmissions, and research on control systems in general. REACT was designed as a general purpose control engine to scale similar to how GNU Linux scales: from tiny embedded devices in the field, all the way up to large computers. Thus, REACT can run as the central software on a server as a SCADA system, and can also run on small hardened devices as the software for an RTU, or DCS controller. It can be installed on a PC with data acquisition card to control an instrument or small machine. The first project it was used for, by chance, was to control and analyze data for an instrument for liquid chromatography with robotic system for changing samples.
Recent work has been to improve scalability, moving the configuration to SQLite from delimited text files, and adding various data logging types. We are in the process developing a code generator to generate code / configuration for REACT running on a remote device, the web interface on a server that receives field the field data, and the. We are in the process of moving all control points (objects) to be loaded as shared objects using the dynamic linking loader API: dlopen(), dlclose(), dlsym(), dlerror(). This will keep the size down on tiny embedded systems as we will only need to load the point types required. We have previously moved the data acquisition / protocol drivers to load as shared objects.