Configuring FOPI - Slow Control

In the following documents one can find a short (but hopefully complete) description what is necessary to configure for the FOPI Slow Control based on CS 2.10d4. Please refer to the Configuration Instruction in FopiCsComputers first!

How to configure the FOPI Slow Control

Mainly CAEN SY 1527 High Voltage, Beckhoff BC9000 Ethernet Controllers and LabVIEW DSC Module, excluding all CAMAC hardware and LowVoltage Devices

Required Software

  • LabVIEW 7.1 Runtime Engine
  • DSCModule 7.0
  • CAEN OPC server (for CAEN SY1527 hardware)
  • TwinCAT OPC server (for BC9000 Ethernet bus couplers: read out PT100 sensors and Brooks Gas Meters)

CAEN OPC server

  • Start the OPC server configurator (on KP1PC065 start/programme/CAEN/HV OPC server configurator) and edit the IP address of the CAEN SY 1527 crate (e.g. FOPICAEN1). Afterwards start the OPC server. There is no further configuration needed. To view the status of the OPC server, refer to the server configurator.
  • Later when creating tags connected to the server items assume the names of the OPC items for the DSC tags. This naming convention is elementary necessary for the control system.
  • Naming convention:
    , e.g.:

TwinCAT OPC server

  • Start the OPC server and create tags or group of tags. To connect them to the hardware double click on the tag and choose ADS connection. For the ADS address refer to the TwinCAT System Manager where one has to configure the


Refer to FopiDataLoggingSupervisoryControlModule first
  • Choose Tools -> DSC -> Configuring Tags ... from LabVIEW menu bar
  • For creating tags connected to CAEN OPC server select Edit -> Configuration Wizard and browse the network or your local machine for the appriopriate OPC server
  • Create tags connected to TwinCAT OPC server select the tag to be connected, double click and select Connection. Here you have to choose the tag access depending whether to read, write or r&w of the OPC item is possible. Afterwards search for the OPC server under Server name. Test the tag by using the tag monitor in the tag configurator (refer to the menu bar Tools -> Monitoring Tags...). Assume the tag name from the OPC item name and use the following naming convention:
    BusController.tagtype.parameter<verbatim>, e.g.<br><verbatim>FOPIBECK1.temperatures.temp1</verbatim> or <verbatim>FOPIBECK2.gas.RPC_argon</verbatim>
       * Another possibility to create all necessary tags for the control system is to set the whole tag configuration by loading a preconfigured text file (on in F:\FOPI\FOPI_tags.txt).<br>Therefor start the tag configurator and select *File -> Import* and choose the file mentioned above. Save and exit tag configurator.
    ---+++Editing CS_Start.ini
       * The SQL server on delivers access to the central CS configuration database (F:\FOPI\CSDB_FOPI.mdb). Each machine that should be part of the control system, both clients and servers, need a correct CS_Start.ini (on kp1pc065 it is located in E:\Program Files\National Instruments\LabVIEW DSC Run-Time System 7.1).<br>In the brackets fill in the name of the machine where you edit the ini-file. For the database name take CSDB_FOPI. If you want to set up the server machine the second entry is not important as long as the database on located on the server machine. Otherwise and for all client nodes it is neccessary to set <nop>UseSQLServer=1 and <nop>SqlServerNode=machine name where the SQLserver is running (currently both the database and the SQL server are located on
       * Here an example ini content (current server ini file)<br><verbatim>
    ---+++Central Server (
       * <nop>ReadSectorFromFile:
          * All <nop>PowerOn settings for the CAEN hardware are stored to a file, named after the sector, e.g. RPC.ini
          * One can edit these files manually or in the control system in the sector panel. The channel numeration (e.g. [CHAN1]) corresponds to the order of the physical addresses in the mapping file.
          * Parameters that are not included in the file will not be affected at <nop>PowerOn.
       * <nop>ReadUserList:
          * Database -> Address – Array
          * For details how to configure see 6.1 User Management
       * <nop>ReadIniFile:
          * Interface0 -> Directory path 
          * File name:   Alarm.ini 
          * How to edit file, see example file
       * <nop>ReadMappingFile:
          * Interface0 -> Directory path 
          * File name:   Mapping.txt
          * Contains mapping of CAEN SY1527 HV channels
          * The following table shows a correct configured mapping file:<br>
    |  *Crate*  |  *Board*  |  *Channel*  |  *<nop>TempNb*  |  *Tempctl*  |   *Sector*  |
    |  1  |  0  |  0  |   1  |  1  |  RPC  |
    |  1  |  0  |  1  |   2  |  1  |  RPC  |
    |  1  |  0  |  2  |   3  |  1  |  RPC  |
    |  1  |  0  |  3  |   4  |  1  |  RPC  |
    |  1  |  0  |  4  |      |     |  RPC  |
    |  1  |  1  |  0  |      |     |  CDC  |
    |  1  |  1  |  1  |      |     |  CDC  |
    |  1  |  1  |  2  |      |     |  CDC  |
    |  1  |  2  |  0  |      |     |  HEL  |
    |  1  |  2  |  1  |      |     |  HEL  |
    |  1  |  2  |  2  |      |     |  HEL  |
       * <nop>SetAlarmLimits<br>Limits are read from FoPi.ini:
          * Default Alarm Limits for all CAEN SY1527  HV channels,that are included in FoPi.txt. For the following parameters, limits can be edited:
             * VMon / IMon / V0Set / V1Set / I0Set / I1Set / Rup / RDWn / Trip / SVMax / Temp
             * Temp parameter stands for all tags connected to all PT100 temperature sensors included in mapping file.
          * Limits initialized with 0 are disabled by default
          * Before starting <nop>FoPi_Manager, start the <nop>DSCTagAttribute object, that will send the Alarm limits to the DSCEngine (name of the object has to be <nop>DSCTagAttribute)
          * Remark: 
             * HIHI & HI alarms will become active, if limit values are exceeded
             * LOLO & LO alarms will become active, if limit values are under-run
             * All limits have to be in increasing order, form LOLO to HIHI, otherwise limits will be disabled.
    Database configuration:
       * Interface0 -> directory path for <nop>AlarmLog.txt
          * containing the alarm history, read from the DSC Citadel database
          * content of the <nop>AlarmLog.txt can be sent, via event, across the network
       * Special0 -> default buffer size of alarm history
       * Address0 -> database URL pointing at the Citadel database (DSCEngine) that should be used by DSCAlarm object
          * leave empty: local database specified in the currently loaded  .scf file (refer to DSC Tag Configurator)
    Database configuration:
       * Special0:   object to querry for alarm settings
       * Special 1-X:   tag types (all tags in the currently loaded .scf file, including these strings will be observed)
       * Interface0-X:   multipliers a (y=a*x+b)
       * Address0_X:   offset b
       * Multipliers and Offset can be used to have a linear conversion for the different tag types. Refer to the array order (e.g. Special1 as tag type refers to Interface0 and address0 concerning the conversion).
    ---++Creating the detetcor hierarchy
       * Before starting the control system it is necessary to select the detector sub division of the detector sectors. That means how many sub groups of CAEN HV channels should be used in the control system and how these channels should be mapped.
       * According to the content of the mapping file (<nop>FoPi.txt), one has to create a database entry for each detect object that is included in each sector path.<br>For example, if there are only the three default sectors RPC, HEL and CDC, only four sectors (FOPI [the head object of the hierarchy] /RPC / HEL / CDC) are necessary to configure in the database. This is the default configuration.
       * If desired,one can build more sub groups for the detector sectors. Therefore it is necessary to edit the mapping file and to create a database entry. For example in the following line of the mapping file the sector path contains a further sub detector of the RPC,named RPC_0. In addition there has to be an entry in the database for this sub sector with the name RPC_0_ Detector.
       * There are two things each detector object has to know for a correct configured detector hierarchy:
          * Special0:   the upper layer detector object
          * Special1-X:   all detector objects one layer lower
          * Do not add “_Detector” at the names for the upper and lower detector objects. This is only needed for the database entry itself.<br>
    |  *Crate*  |  *Board*  |  *Channel*  |  *<nop>TempNb*  |  *Tempctl*  |   *Sector*  |
    |  1  |  0  |  0  |   1  |  1  |  RPC/RPC_0  |
       * If you do not want to edit the mapping file manually, there is a small <nop>LabVIEW programm that helps you to create a correct mapping file (see FOPI_Mapper on
    *Note*, that it is still necessary to edit the database when using the FOPI Mapper. This programm does not generate database entries.
    ---++User Management
       * The FOPI control system has a small build-in User Management that is configured via the CS database. It only manages the access to the detailled configuration of the CAN HV channels.
       * To configure the User Management refer to the database entry of the FOPI_Manager:
          * Syntax:  password(profile/sector path), e.g. max(a/RPC)
          * The sector path defines the permission range for the password. That means, for which detector sector and its sub sector the password is valid. 
             * Syntax for sector path:<br> e.g. RPC/sub sector1/subsector2/...
          * There are two user profile, admin(a) and user(u):
             * Admins have full read and write access to all parameters for a HV channel.
             * Users can only edit the V0Set and the V1Set parameter. All other parameters are read only, if logged in as user.
    ---+++ Other Readmes and FAQ
       * LambdaGenesysReadme: Low Voltage Control documentation
       * [[LeCroy1440_2132Readme][LeCroy1440 & 2132 Readme]]: Camac High Voltage documenatation
    *Remark:* Write an e-Mail to Main.MaximilianKugler for further questions.
    -- Main.HolgerBrand - 02 Nov 2006
Topic revision: r3 - 2006-11-28, PiotrKoczon
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
Imprint (in German)
Privacy Policy (in German)