def __init__(self, pv_basename="SLAAR01-TSPL-EPL"): pvname = pv_basename + ":CURR_DELTA_T" PV.__init__(self, pvname) self._filename = os.path.join(_basefolder, pvname) self._pv_setvalue = PV(pv_basename + ":NEW_DELTA_T") self._pv_execute = PV(pv_basename + ":SET_NEW_PHASE.PROC") self._storage = Storage(pvname)
def __init__(self, pv_get, pv_set, pv_offset_get=None): pvname = pv_get PV.__init__(self, pvname) self._pv_offset_get = PV(pv_offset_get) self._pv_setvalue = PV(pv_set) self._filename = os.path.join(_basefolder, pvname) self._storage = Storage(pvname)
def __init__( self, pv_basename="SLAAR01-TSPL-EPL", dial_max=14.0056e-9, precision=100e-15 ): pvname = pv_basename + ":CURR_DELTA_T" PV.__init__(self, pvname) self._filename = os.path.join(_basefolder, pvname) self._pv_setvalue = PV(pv_basename + ":NEW_DELTA_T") self._pv_execute = PV(pv_basename + ":SET_NEW_PHASE.PROC") self._storage = Storage(pvname) self.dial_max = dial_max self.retry = precision
def __init__(self, pvname): if 'ESB' in pvname: rbv = pvname.split(':')[0] + ':CALC:' + ':'.join( pvname.split(':')[3:5]) + ':POS:MM' go = pvname.split(':')[0] + ':BO:' + ':'.join( pvname.split(':')[3:5]) + ':GO:POS' abort = pvname.split(':')[0] + ':BO:' + ':'.join( pvname.split(':')[3:5]) + ':STOP' pot_rbv = rbv_pv else: rbv = pvname.split(':')[0] + ':CALC:' + ':'.join( pvname.split(':')[2:3]) + ':POS:MM' go = pvname.split(':')[0] + ':BO:' + ':'.join( pvname.split(':')[2:3]) + ':GO:POS:ABS' abort = pvname.split(':')[0] + ':BO:' + ':'.join( pvname.split(':')[2:3]) + ':STOP' pot_rbv = rbv_pv PV.__init__(self, pvname) self.rbv = PV(rbv) self.go = PV(go) self.abort = PV(abort) self.pot_rbv = PV(pot_rbv)
def __init__(self, pvname, pvnumber=0, rbv=None): # If no name is entered, raise exception and quit: if not pvname: msgPv.put('Failed: Invalid PV') raise Exception('Invalid PV') PV.__init__(self, pvname) self.pvnumber = pvnumber if rbv: rbv = PV(rbv) self.rbv = rbv self.abort = '' if self.pvname and self.pvnumber: PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':VAL.INP').put(self.pvname + ' CPP') if self.rbv and self.pvnumber: PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':RBV.INP').put(self.rbv.pvname + ' CPP') if self.pvnumber: self.desc = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':DESC').get() if ' ' in self.desc: self.desc = self.desc.replace(' ','_') self.start = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':START').get() self.stop = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':STOP').get() self.nsteps = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':NSTEPS').get() self.inc = (self.stop - self.start)/(self.nsteps - 1) self.randomScanflag = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':RANDSCAN').get() randValStr = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':RAND_VALS').get(as_string=True) if not self.randomScanflag: self.scanPos = [x for x in frange(self.start, self.stop, self.inc)] else: self.scanPos = self.shuffleString(randValStr) self.offset = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':OFFSET').get() self.settletime = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':SETTLETIME').get() self.delta = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':DELTA').get() self.pre_start = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':PRE_START').get() self.pre_stop = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':PRE_STOP').get() self.pre_nsteps = PV(pvPrefix + ':SCANPV' + str(self.pvnumber) + ':PRE_NSTEPS').get() # Test for PV validity: if not self.status: print 'PV object: ', self print 'PV status: ', self.status printMsg('PV %s not valid' % (self.pvname))
def __init__(self, pv_basename): pvname = pv_basename + "-RB" PV.__init__(self, pvname) self._pv_setvalue = PV(pv_basename + "-SP") self._filename = os.path.join(_basefolder, pvname) self._storage = Storage(pvname)
def __init__(self, pvname, rbvpv=None, number=0): PV.__init__(self, pvname) self.rbv = PV(rbvpv) if rbvpv else '' if number: self.enabled = PV(pvPrefix + ':SHUTTER' + str(number) + ':ENABLE').get() self.number = number