Introduction

The Common Tools & Definitions Component, CTD, 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 module is still in an early phase and most of the features are still to be implemented. Moreover, some of the features provided now, may be suppressed, because they are provided by the CII other by other toolkits.

Main Deliverables

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

  • “ifw/ctd/cpp/defines”: Constant definitions of common nature.
  • “ifw/ctd/cpp/string”: Small tools to facilitate string manipulation.
  • “ifw/ctd/cpp/conversion”: Tools to convert between various type representations.
  • “ifw/ctd/cpp/system”: Contains small ‘system level’ tools.
  • “ifw/ctd/cpp/time”: Contains utilities to handle time related aspects.
  • “ifw/ctd/cpp/param”: Tools to handle parameters.
  • “ifw/ctd/cpp/file”: Provides small tools for handling files.

The following Python based packages/modules are provided:

  • “ifw/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/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.