Epics@GSI Webhome

EPICS DIM Interface

Introduction

The basic idea of this device support module for EPICS is to provide an interface to the DIM protocol in order to read/write EPICS data seen from the DIM world and to act from EPICS as client/server for services and commands in the DIM regime.

Prerequisites

  1. If DIM is not yet installed see first Install DIM
    1. DIM GSI Installation (TODO, documentation)

Concept

support

up-to-now

EPICS record types

record DTYP Discription
ai devAiDimInterfaceSoft  

variable types

(structures and arrays are not yet supported)
type DIM representation
double "D:1"
float "F:1"
int "I:1"

Download

Git

git.gsi.de

GitHub (deprecated 05-2017)

CVS

:ext:lx-pool.gsi.de:/u/epics/cvs/repos/projects/projects/EPICS-DIM-interface/dev/caDIMInterface

Tarballs

-- PeterZumbruch - 2017-05-29

Settings

INP Field

The string provided in the INP field is disassembled according to the following Key words, which are of the form @K=:
(K:Key)
Key optional DescriptionSorted ascending values Examples Notes
Xg X Default Get Suffix string @Xp=_GET Server: default suffix to EPICS' PV for service service if @S is not used
(default: _CAGET)
Xp X Default Put Suffix string @Xp=_PUT Server: default suffix to EPICS' PV for command service if @C is not used
(default: _CAPUT)
C (only Server) DIM Command Name any string @C=CommandName
Cf (only Server) DIM Command Name
inkl. Format
name "T:N;T:N" @C=CommandName @Cf=D:1
@C=CommandName @Cf=F:1;C:20
A X DIM DNS Address URL @A=computerA
@A=computerA, computerB
@A=computerA:7655
default: given by DIM_DNS_NODE, if port is attached port is set to its value
P X DIM DNS Port URL @P=7643 default: 2505
S (only Server) DIM Service Name any string @S=ServiceName
Sf (only Server) DIM Service Name
inkl. Format
anyString "T:N;T:N" @S=ServiceName @Sf=D:1
@S=ServiceName @Sf=F:1;C:20
Ss (only Client) DIM Update Scan Mode [:TimeIntervall] M or T or M:xx T:xx
(xx:integer seconds)
@Ss=M
@Ss=MONITORED
@Ss=M:10
@Ss=T
@Ss=TIMED
@Ss=T:12
modes:
T(IMED): periodic update triggered by the client every xx seconds
M(ONITORED): update if value has changed, triggered by server, optional in addition periodic update triggered by the client every xx seconds
Si (only Client) DIM Update Scan Mode Time Intervall xx
(xx:integer seconds)
@Si=10 periodic update intervall triggered by the client every xx seconds
Xx X optional Extensions:
N X Server Name anyString @N=MyServerName7643 Client: Names are prepended by MyServerName
Server: Services are published to Server MyServerName
T   Tier type C S @T=Cxxxxx : Client
@T=Sxxxxx : Server
xxxx are ignored

-- PeterZumbruch - 31 Jan 2007

Features

default naming conventions

If T is set to S(ERVER),
then if either S or C or both are not specified, the following default naming convention are applied:
  1. Only S is set:
    1. The service name specified via S is copied to command name.
    2. Both names are either extended
      • by the default get (service:_CAGET) / put (command:_CAPUT) suffixes
      • or by the suffixes defined via the Xg (get) or Xp (put) keys.
  2. Only C is set:
    1. The command name specified via S is copied to service name
    2. Both names are either extended
      • by the default get (service:_CAGET) / put (command:_CAPUT) suffixes
      • or by the suffixes defined via the Xg (get) or Xp (put) keys.
  3. Neither S nor C are set:
    1. The record name of the EPICS record to be made available is copied to service name and command name.
    2. Both names are either extended
      • by the default get (service:_CAGET) / put (command:_CAPUT) suffixes
      • or by the suffixes defined via the Xg (get) or Xp (put) keys.

default update scan mode

  • If T is set to C(LIENT)
    • If Ss is not set then MONITORED is set as default, interval:0

-- PeterZumbruch - 31 Jan 2007

Obstacles

limited INP length
Be aware that in the current version (3.14.8.2) there is a limit of 80 characters.
  • Tips & Tricks:
    • DNS Address_ and DNS Port might be already set via the ENVIRONMENT variable DIM_DNS_NODE and DIM_DNS_PORT
    • default Suffixes (may be shorter than get (service:_CAGET) / put (command:_CAPUT))
      • the default suffixes can during compile overridden by setting DIM

-- PeterZumbruch - 24 Jan 2007

Errors and error handling

  • T is set to CLIENT
    • Ss and Si are both set no decision possible current is deactivated by setting PACT=0

-- PeterZumbruch - 18 May 2010

Extensions

-- PeterZumbruch - 28 Feb 2011

Previous Versions


-- PeterZumbruch - 2017-05-29
I Attachment Action Size Date Who Comment
EPICS-DIM-Interface.tar.bz2bz2 EPICS-DIM-Interface.tar.bz2 manage 279 K 2010-05-18 - 10:01 PeterZumbruch Tarball of the current cvs content, 18.05.2010
EPICS-DIM-InterfaceHADESRC1.tar.bz2bz2 EPICS-DIM-InterfaceHADESRC1.tar.bz2 manage 30 K 2010-05-18 - 10:02 PeterZumbruch Tarball of the HADES RC 1 , cvs date 2007/03/08
EPICS-DIM-Interface_modified_by_Bogdan_Lobodzinski_DESY.7z7z EPICS-DIM-Interface_modified_by_Bogdan_Lobodzinski_DESY.7z manage 48 K 2014-03-20 - 11:33 PeterZumbruch modified Version by EPICS-DIM-Interface, not yet checked/approved, by Bogdan_Lobodzinski DESY
Topic revision: r13 - 2017-05-29, PeterZumbruch
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)