Introduction

The Common Tools & Definitions Component (CTD) of the Core Project, provides tools and some common definitions, e.g. constants of general interest to the IFW and instrument applications.

Overall two main branches of tools are provided for C++ and Python applications.

Note

The CTD Component will mostly like undergo some re-engineering when switching fully to the CII services.

Main Deliverables

The present version of CTD, provides the following C++ based packages/modules:

  • “ifw-hl/core/ctd/cpp/defines”: Constant definitions of common nature.

  • “ifw-hl/core/ctd/cpp/string”: Small tools to facilitate string manipulation.

  • “ifw-hl/core/ctd/cpp/conversion”: Tools to convert between various type representations.

  • “ifw-hl/core/ctd/cpp/system”: Contains small ‘system level’ tools.

  • “ifw-hl/core/ctd/cpp/time”: Contains utilities to handle time related aspects.

  • “ifw-hl/core/ctd/cpp/param”: Tools to handle parameters.

  • “ifw-hl/core/ctd/cpp/file”: Provides small tools for handling files.

The following Python based packages/modules are provided:

  • “ifw-hl/core/ctd/py/ctdUtils”: Various Python tools in the context of the ICS, of common interest. Example, a small function to locate files in the ICS directory structure.

  • “ifw-hl/core/ctd/py/ctdOpcua”: Various Python tools for handling OPC UA related aspects. Mostly it provides a client library, use for easily building OPC UA clients and an OPC UA server toolkit, based on an SCXML engine and an OPC UA profile (XML). This makes it possible to quickly implement an OPC UA server, e.g. for test purposes etc.