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 Description values Examples NotesSorted ascending
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
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
T   Tier type C S @T=Cxxxxx : Client
@T=Sxxxxx : Server
xxxx are ignored
N X Server Name anyString @N=MyServerName7643 Client: Names are prepended by MyServerName
Server: Services are published to Server MyServerName
P X DIM DNS Port URL @P=7643 default: 2505
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
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
Xx X optional Extensions:
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
Xp X Default Put Suffix string @Xp=_PUT Server: default suffix to EPICS' PV for command service if @C is not used
(default: _CAPUT)
Xg X Default Get Suffix string @Xp=_GET Server: default suffix to EPICS' PV for service service if @S is not used
(default: _CAGET)

-- 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
This topic: Epics > WebHome > EpicsProjectsAndActivities > DriversAndInterfaces > EpicsDimInterface
Topic revision: 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)