Home Products Search


General Description

Aeon's Hardware Automation Control System (HACS) is an open source (GPL3) software framework specifically designed for automating vacuum-based gas-sample processing systems. The host software is written in C# using Microsoft Visual Studio. Embedded firmware on related micro-controller-based devices is written in Zilog C, and is also open source (GPL3).


A HACS application comprises four key architectural elements:

What is the development process?

Ideally, the hardware should be designed (and preferably, assembled, or mostly so) before beginning the software effort. Software development of a new system generally follows a "cut-n-paste, edit" paradigm:

  1. Edit an example Settings File. Identify your devices, fill in their properties and interconnections, and describe the physical configuration of the Chambers, Sections, GasSupplies, and so on, according to your design. Guidance for modeling your system in HACS is available on this page.

  2. Create a new ProcessManager-based class, starting from a copy of a class that derives from CEGS.cs or some other top-level ProcessManager. Follow the pattern from the copied class to create and connect your named devices. Make some entries in the BuildProcessDictionary() method and start writing some simple processes.

  3. Prepare a bitmap image of the system layout and insert it into an example UserInterface class. Arrange copies of the various user interface control and indicator objects (valves, temperature displays, etc.) to overlay your system diagram. Edit the properties of the added controls and indicators to reflect their function or purpose. In the UserInterface code, connect your named ProcessManager devices to the displayed control and indicator objects.

  4. Build and run the application, test each device's functionality, and ensure that the process control system works properly. Develop additional processes as needed. Construct ProcessSequences for each desired sample type or run profile.

About Us | Contact Us