DIM Interface


The DIMIntProc class is an alternative to the DSCIntProc class. It provides no trending and alarming but makes all "tag values" available via the DIM protocol (see DIM). In addition, it makes some events of created objects available as DIM commands. The DIMIntProc class can be used to partly replace the DSCIntProc class. On the one hand, the DIMIntProc class is restricted, since it does not provide SCADA functionality or OPC connectivity. On the other hand, the DIMIntProc class provides the link to the DIM communication layer.

It is recommended, that all CS systems run a process "DIMInterface" that is launched via the "SuperProc".


The DIMIntProc class does two things. There must be at maximum one object of the DIMIntProc class per execution system. The name of the object is fixed and "DIMInterface" by convention. All DIM services and commands are created on the fly. A configuration similar to the "scf" file of the DSC module is not required.

For "trending" and "alarming", status values and error message are sent via events to an DIMIntProc object. These values are then published as DIM services. Thus, the DIMIntProc class provides a DIM server. The DIM services can be accessed remotely by DIM clients. The values are only published, no SCADA treatment is done with the values. Only a simple console pops up and displays messages and errors for debugging purposes.

Event interface

Once an object is made known to the DIMInterface, the DIMInterface queries the object for its methods and events (see Class Documentation -> BaseProcess class). If a method has only one parameter that may be of type double, integer, unsigned integer, boolean or string, a DIM command is published for that method. Once the DIMInterface receives that command from one of its subscribed clients, the DIMInterface sends the corresponding event to the object.


The DIMIntProc class is part of the CS framework. Three properties can be configured via the database.

  1. "Path for tag array" (Special0): This allows for persistency of service names and objects that have registered to receive an event, once the value of that service changes. Since the DIMInterface is one of the first objects to be created and one of the last objects to be destroyed, this parameter is not of great importance.
  2. "Prefix nodename" (Special1): By default (=1), all DIM Services have the following naming convention: NODENAME/OBJECTNAME_TAGNAME. The "NODENAME/" is suppressed, if this value is set to "0".
  3. "Max length of string services" (Special2): Since the DIMIntProc is a general tool for generic creation of DIM services, it does not know the maximum string length of each individual service of type string. As a result, all string services have the same length. The length can be adjusted by this parameter.

Download and Documentation

The DIMIntProc class is included in the distribution of CS. However, it requires that DIM has been installed and downloaded. DIM has been developed at CERN. DIM is documented and can be downloaded from the DIM web site.

-- DietrichBeck - 06 Jul 2005
Topic revision: r2 - 2005-07-06, DietrichBeck - This page was cached on 2024-06-21 - 00:36.

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding GSI Wiki? Send feedback | Legal notice | Privacy Policy (german)