Datalogging & Supervisory Control (DSC) module


The DSC module of LabVIEW provides SCADA (Supervisory Control and Data Acquisition) functionality like alarming and trending and OPC connectivity. The DSC module is based on a real-time database and capable of maintaining up to 10,000 or more process variables. These process variables are also called "Shared Variables". The interface between the CS framework and the DSC module is provided by the DSCIntProc class.


The SCADA functionality of CS is encapsulated by the DSCIntProc class. The DSC module requires a Shared Variable configuration. Please have a look at a dedicated How-To describing the usage of Shared Variables within the CS framework.

The main idea is to use the DSCIntProc class for linking DSC tags to DIM services. When writing to a Shared Variable, the DSCIntProc class will subscribe to a DIM service published by CS and update the Shared Variable whenever the DIM service changes. When reading from a Shared Variable, the DSCIntProc class will publish a DIM service for that Shared Variable and update the DIM service whenever the value of the tag changes.

Typically, there will be one or more DSC runtime systems objects of the DSCIntProc class per control system. A separation of functions between the SCADA backend and OPC gateway should be considered.
  • one DSC runtime system + DSCIntProc serves as a SCADA backend. It just subscribes to DIM services with DIM services published by objects (like "OBJECTNAME_actVoltage"), writes that value to a Shared Variables and performs tasks like alarming and trending on that Shared Variable.
  • one or more DSC runtime system serve basically just as gateways between OPC servers and DIM. These gateways typically subscribe to the raw values published by OPC servers, like "\\localhost\IOServers\TwinCAT\TestOPC.PROFIBUS.OUTPUTS.AO1" and publish them as a DIM service (or vice versa).


The PC running the SCADA backend must have the LabVIEW DSC runtime system installed. The PC running the OPC gateway just requires a binary with DSC runtime support. Please refer to this How-To for more details on configuration. The PC used as development system must have the DSC development module of LabVIEW installed.

Some Hints for Development

In general, the link between objects and Shared Variables should be provied via DIM services. Only in special cases, user or device classes may use the "set value" and "get value" methods of the DSCIntProc class.

-- DietrichBeck - 22 Aug 2008
Topic revision: r9 - 2010-04-21, DietrichBeck
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)