Пример #1
0
 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)
Пример #2
0
 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)
Пример #3
0
 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
Пример #4
0
 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)
Пример #5
0
 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))
Пример #6
0
 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)
Пример #7
0
 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