4. Feature List

This feature list provides a coarse overview of what components are implemented in various parts of CENA. If you want to make sure that a specific feature you are looking for exists, you might want to take a look at the project changelog.

4.1. Model Cores

Each model core realizes the given information model as a set of C++ classes. They include the model reflection of the model classes

4.1.1. Module Type Package

  • ModuleTypePackage base class

  • ServiceSet & Service

    • ConfigurationParameter

    • Procedure /w custom userland callbacks and ProcedureHealthView

      • ProcedureParameter

      • ProcessValueIn

      • ReportValue

      • ProcessValueOut

  • DataAssemblies

    • (Ana|Bin)Vlv /w user callbacks

    • (Ana|Bin)Man

    • (Ana|Bin)ManInt

    • (Ana|Bin|String)ServParam

    • (Ana|Bin|DInt|String)View

    • (Ana|Bin)ProcessValueIn

    • PIDCtrl

4.1.2. Process Automation Device Integration Model

  • PADIMType base class

  • SignalTypes and SignalVariableTypes

    • AnalogItemType, AnalogUnitRangeType and AnalogSignalVariableType

    • DiscreteItemType, DiscreteSignalVariableType

    • MultiStateValueDiscreteType, MultiStateDictionaryEntryDiscreteBaseType, MultiStateDiscreteSignalVariableType

    • TwoStateDiscreteType, TwoStateDiscreteSignalVariableType

    • ControlVariableType

4.2. I/O Drivers

Note that most of these drivers require special or additional hardware.

  • Pimorino AutomationHat and AutomationHat Mini

  • Foundation HART

  • Kunbus PiControl

  • Siemens S7

  • Bronkhorst ProPar/DataFlow MFC

  • Huber PilotOne

  • Fink Chem+Tech Ritmo R15

4.3. Operating System Abstraction & Utilities

  • UML state machines (hierarchical states, historizing, parallel execution)

  • Task abstraction (loop task, thread decorators, mutex)

  • Timer abstraction

  • Logging (file & shell sinks, log formatters, severity & filtering)

  • Messaging API (internal, thread-safe)