VMS_EPICS.MEM 20-Mar-2003 ------------- VMS access to EPICS works ok. The following IDL functions have been implemented, emulating their description on web page: http://www.aps.anl.gov/~cha/catcher/ezcaIDLRef.html sts = caGet( pvname , dataBuf [,/STRING] [,MAX=maxCount] ) sts = caGetCountAndType( pvname , count , type ) Expected "sts" is zero. The following functions still exist, but are superseded by "caGet": epicsGetLong epicsGetFloat epicsGetString The IDL functions are maintained in cvs: NSTX$:[UTIL.SOURCE.IDL_CVS.EPICS] =========================================================== Examples: IDL> sts=caGet() Usage is: sts = caGet(pvname, dataBuf [,/STRING] [,MAX=n] ) Some example pvnames: ck_currshotSEL (double !) ck_DateTime_SI (string) vm_plc31_ig205_CALC (double) fw_echSts_MBBID (long) IDL> sts=caGet('ck_currshotSEL',v) & help,v V DOUBLE = 110301.00 ;Numeric Shotnumber IDL> sts=caGet('ck_currshotSEL',v,/STR) & help,v V STRING = '110301' ;String Shotnumber IDL> sts=caGet('ck_DateTime_SI',v) & help,v V STRING = '03/21/03 11:52:26' IDL> sts=caGet('vm_plc31_ig205_CALC',v) & help,v V DOUBLE = 1.4588143e-07 IDL> sts=caGet('fw_echSts_MBBID',v) & help,v V LONG = 33 ============================================= The shared library which contains the EPICS functions is SYS$SHARE:CAUTILSHR.EXE This shared library provides C-language functions which can be called by user-written code. Among these functions are: ezcaGet ezcaGetIEEE Calling "ezcaGet" is described in the EPICS documentation. It returns floating point values in the default VMS formats. "ezcaGetIEEE" is just the same as "ezcaGet", but it returns floating point values in IEEE format, as required by IDL. ============================================= Building CAUTILSHR: Refer to: NSTX$:[EPICS.EPICS_VMS_SOURCE]README.MEM Source code is in NSTX$:[EPICS.EPICS_VMS_SOURCE...]. ! 25-Jan-05 PR/PS The CA server address is hard-coded into the C ! shareable library: KEES$ sea NSTX$:[EPICS.EPICS_VMS_SOURCE.CHANNEL_ACCESS]envdata.c epics_ca_addr epicsShareDef READONLY ENV_PARAM EPICS_CA_ADDR_LIST = { "EPICS_CA_ADDR_LIST", "1 98.35.15.132" }; &EPICS_CA_ADDR_LIST,