Script execution

This commit is contained in:
gac-x03da
2020-03-10 12:28:26 +01:00
parent b48ceed405
commit 3fa94b75eb

View File

@@ -1,30 +1,33 @@
import ch.psi.pshell.device.PositionerConfig as PositionerConfig
import ch.psi.pshell.device.Speedable as Speedable
class PseudoMotor(PositionerBase, Speedable):
def __init__(self):
PositionerBase.__init__(self)
self.readback = 0.0
self.setpoint = 0.0
def __init__(self, name):
PositionerBase.__init__(self, name, PositionerConfig())
self.rbck = 0.0
self.setp = 0.0
self.settime = time.time()
def doRead(self):
self.setpoint
return self.setp
def doWrite(self, val):
self.settime = time.time()
self.setpoint = val
self.setp = val
def doReadReadback(self, val):
offset = self.setpoint - self.readback
def doReadReadback(self):
offset = self.setp - self.rbck
d = (self.speed * (time.time() - self.settime))
d = min(d, abs(offset))
self.position = self.readback + d if offset>0 else self.readback -d
return self.position
self.rbck = self.rbck + d if offset>0 else self.rbck -d
return self.rbck
def getSpeed(self):
return 3.0
positioner = PseudoMotor()
positioner = PseudoMotor("PseudoMotor")
add_device(positioner, True);
show_panel("PseudoMotor")
show_panel(PseudoMotor)
cscan(positioner, MachineCurrent, 0, 10, 1.0)