1 / 6

EPICS-DIM Interface

EPICS-DIM Interface. Peter Zumbruch Experiment control systems group GSI (KS/EE). Implementation as “ device support module” Running DIM SERVER Providing read/write access to EPICS variables DIM CLIENT

adanna
Download Presentation

EPICS-DIM Interface

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EPICS-DIM Interface Peter Zumbruch Experiment control systems group GSI (KS/EE)

  2. Implementation as “device support module” Running DIM SERVER Providing read/write access to EPICS variables DIM CLIENT Interfacing DIM services and commands for single variables to EPICS process variables Successfully used for 5 weeks continous HADES beam time On demand String transport mode (DIM provides strings converted by the Interface to single data types, easier to handle by EPICS) Array and structures support More EPICS records EPICS DIM (protocol) Client EPICS-DIM Interface Device Server EPICS DIM Interface EPICS - DIM Interface - Peter Zumbruch - GSI

  3. install embedded Linux on ETRAX chip CPU (axis.com) based front-end systems 2 step approach: Install DIM on ETRAX and use EPICS-DIM Interface to communicate via network with external EPICS clients or IOCs Suitable for development: DIM protocol also accessible via other controls software, i.e. LabVIEW, or CS, etc. But locally no (EPICS) logic (database, (fast) sequencing, alarming) provided Install EPICS Embedded on ETRAX Provides all features of EPICS Local fast EPICS based logic, network independent By „turning the direction of the interface“ users may still see a DIM device, mimicked by EPICS using the EPICS – DIM interface Embedded EPICS on ETRAX CS   EPICS - DIM Interface - Peter Zumbruch - GSI

  4. Contact: WWW - http://wiki.gsi.de Mail - epics_at_gsi.de (p.zumbruch_at_gsi.de) Download EPICS - DIM Interface - Peter Zumbruch - GSI

  5. Example general purpose record record($(record), "$(user):$(pvName)") { field(DESC, "caDIMInterface_$(record)") field(DTYP, "caDIMInterface") field($(INPOUT), "$(Type)$(serviceName)$(serviceFormat)$(commandName)$(commandFormat)$(dnsAddress)$(dnsPort)$(scanMode)$(scanInterval)$(serverName)$(defaultGet)$(defaultPut)$(any)") field(VAL, "$(value)") field(SCAN, "$(scanPeriod)") … field(PREC, "$(precision)") } Record database EPICS - DIM Interface - Peter Zumbruch - GSI

  6. Example startup file: #!../../bin/linux-x86/caDIMInterface < envPaths cd ${TOP} ## Register all support components dbLoadDatabase("dbd/caDIMInterface.dbd") caDIMInterface_registerRecordDeviceDriver(pdbbase) ## Load record instances dbLoadRecords("db/dbDIMInterface.db", "any=, record=ai, INPOUT=INP, user=$(USER), pvName=DoubleValClient, value=100, Type=@T\=C, serviceName=@S\=TEST/DOUBLEVAL, serviceFormat=@Sf\=D:1, commandName=, commandFormat=, serverName=, dnsAddress=, dnsPort=, defaultPut=, defaultGet=, scanMode=, scanInterval=, scanPeriod=Passive, precision=2") dbLoadRecords("db/dbDIMInterface.db", "any=, record=ai, INPOUT=INP, user=$(USER), pvName=IntValClient, value=0, Type=@T\=C, serviceName=@S\=TEST/INTVAL, serviceFormat=@Sf\=I:1, commandName=, commandFormat=, serverName=, dnsAddress=, dnsPort=, defaultPut=, defaultGet=, scanMode=, scanInterval=, scanPeriod=Passive, precision=0") dbLoadRecords("db/dbDIMInterface.db", "any=, record=ai, INPOUT=INP, user=$(USER), pvName=KillTestServer, value=0, Type=@T\=C, serviceName=, serviceFormat=, commandName=@C\=TEST-SERVER/EXIT, commandFormat=@Cf\=L:1, serverName=, dnsAddress=, dnsPort=, defaultPut=, defaultGet=, scanMode=, scanInterval=, scanPeriod=Passive, precision=2") dbLoadRecords("db/dbDIMInterface.db", "any=, record=ao, INPOUT=OUT, user=$(USER), pvName=ServerAo, value=10, Type=@T\=S, serviceName=, serviceFormat=, commandName=, commandFormat=, serverName=, dnsAddress=, dnsPort=, defaultPut=, defaultGet=, scanMode=, scanInterval=, scanPeriod=Passive, precision=2") cd ${TOP}/iocBoot/${IOC} iocInit() Startup command file EPICS - DIM Interface - Peter Zumbruch - GSI

More Related