SimpleDCS is a Distributed Control System made easy - fully configurable both on hardware and a software level. Experimental stage (alpha)

Features

  • Separation of hardware-level control and external soft-level control - different processes are used, and the HW-level control can be used without soft-level (external) control process.
  • Memory mapper module (mod_mmap) - allows to seamlessly exchange any kind of data between different physical devices (over network). This also allows to create network topologies of any kind, as any device can be mapped to any other device and vice-versa.
  • Network connections are encrypted, using custom symmetric encryption algorithm, which is ultra-fast (but of moderate strenght) - designed for small embedded systems.
  • Each of device/node module is running as a separate thread, with configurable priority and CPU affinity.
  • Supervisor thread: controls execution time of device/node module threads.
  • Thread-crash proof, thanks to use of C-exceptions (libcxc) - a crash in a sub-thread causes switching to a "SafeMode", where all the HW I/Os are set to a pre-configured state. See mod_crashtest code, which was used for testing :)
  • Low-level DAQ - Data Acquisition subsystem, with Time Compression and Dead Band support - works in the background, no human intervention needed.
  • High-level DAQ - Data Acquisition subsystem - implemented as a client application (DaqViewer) - allows to view, analyse and save historical records.
  • HAL: Hardware Abstraction Layer: currently only one HW platform is supported (BCM2835), but it allows to compile and run the whole project on an x86 PC for testing - all the HAL functions are stubs in such case.
  • MAL: Memory Abstraction Layer: allows to easily define/configure memory location address for exchanging data between different physical devices and for DAQ. The MAL implementation is based on a simplified absolute pointer structure (max segment size is 2MB).
  • Both MAL and HAL functions are accessible for device modules (trough plugin interface).

Project Samples

Project Activity

See All Activity >

License

GNU General Public License version 3.0 (GPLv3), GNU Library or Lesser General Public License version 3.0 (LGPLv3)

Follow SimpleDCS

SimpleDCS Web Site

Other Useful Business Software
Our Free Plans just got better! | Auth0 Icon
Our Free Plans just got better! | Auth0

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your security. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of SimpleDCS!

Additional Project Details

Operating Systems

Linux

Intended Audience

Advanced End Users, Developers

User Interface

Non-interactive (Daemon), wxWidgets

Programming Language

C++, C

Related Categories

C++ HMI Software, C++ SCADA Software, C++ Building Automation Software, C HMI Software, C SCADA Software, C Building Automation Software

Registered

2017-02-08