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
eProcurement Software Icon
eProcurement Software

Enterprises and companies seeking a solution to manage all their procurement operations and processes

eBuyerAssist by Eyvo is a cloud-based procurement solution designed for businesses of all sizes and industries. Fully modular and scalable, it streamlines the entire procurement lifecycle—from requisition to fulfillment. The platform includes powerful tools for strategic sourcing, supplier management, warehouse operations, and contract oversight. Additional modules cover purchase orders, approval workflows, inventory and asset management, customer orders, budget control, cost accounting, invoice matching, vendor credit checks, and risk analysis. eBuyerAssist centralizes all procurement functions into a single, easy-to-use system—improving visibility, control, and efficiency across your organization. Whether you're aiming to reduce costs, enhance compliance, or align procurement with broader business goals, eBuyerAssist helps you get there faster, smarter, and with measurable results.
Learn More
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