This commit is contained in:
gac-S_Changer
2018-04-23 08:18:18 +02:00
parent e48acd85b9
commit cdb602b7c7
20 changed files with 854 additions and 116 deletions

View File

@@ -4,15 +4,17 @@ import json
class Hexiposi(DiscretePositionerBase):
def __init__(self, name, url):
DiscretePositionerBase.__init__(self, name, ["1","2","3","4","5","6"])
DiscretePositionerBase.__init__(self, name, ["A","B","C","D","E","F"])
if not url.startswith("http://"):
url = "http://" + url
if not url.endswith("/"):
url = url + "/"
self.url = url
self.setState(State.Ready)
self.val = self.doReadReadback()
self.url = url
def doInitialize(self):
super(Hexiposi, self).doInitialize()
self.val = self.doReadReadback()
def get_response(self, response):
if (response.status_code!=200):
raise Exception (response.text)
@@ -28,16 +30,15 @@ class Hexiposi(DiscretePositionerBase):
self.pos = self.status["position"]
self.moving = self.status["moving"]
self.offset = self.status["offset"]
self.dpos = self.status["discretePosition"]
if self.dpos == 1: self.rback = 1
elif self.dpos == 2: self.rback = 2
elif self.dpos == 4: self.rback = 3
elif self.dpos == 8: self.rback = 4
elif self.dpos == 16: self.rback = 5
elif self.dpos == 32: self.rback = 6
else: self.rback = None
self.rbackstr = self.UNKNOWN_POSITION if ((self.rback is None) or (self.homed==False)) else str(self.rback)
self.dpos = self.status["discretePosition"]
if (self.homed==False): self.rback = self.UNKNOWN_POSITION
elif self.dpos == 1: self.rback = "A"
elif self.dpos == 2: self.rback = "B"
elif self.dpos == 4: self.rback = "C"
elif self.dpos == 8: self.rback = "D"
elif self.dpos == 16: self.rback = "E"
elif self.dpos == 32: self.rback = "F"
else: self.rback = self.UNKNOWN_POSITION
return self.status
def move_pos(self, pos):
@@ -65,10 +66,12 @@ class Hexiposi(DiscretePositionerBase):
def doReadReadback(self):
self.get_status()
return self.rbackstr
return self.rback
def doWrite(self, val):
val = int(val)
val = ord(val) - ord('A') +1
if val<1 or val>6:
raise Exception("Invalid value: " + str(val))
moving = val != self.val
self.val = val
self.move_pos(self.val)

View File

@@ -21,7 +21,7 @@ class RobotCartesianMotor (PositionerBase):
def doWrite(self, value):
if self.robot.cartesian_destination is not None:
print "Move " + ROBOT_MOTORS[self.index] + " to " + str(value)
#print "Move " + ROBOT_MOTORS[self.index] + " to " + str(value)
self.robot.cartesian_destination[self.index] = float(value)
self.robot.set_pnt(robot.cartesian_destination , "tcp_p")
self.robot.movel("tcp_p", self.robot.tool , DESC_SCAN)
@@ -49,7 +49,7 @@ class RobotJointMotor (PositionerBase):
return self.setpoint
def doWrite(self, value):
print "Move " + ROBOT_JOINT_MOTORS[self.index] + " to " + str(value)
#print "Move " + ROBOT_JOINT_MOTORS[self.index] + " to " + str(value)
self.setpoint = value
joint = self.robot.herej()
joint[self.index] = value

View File

@@ -8,16 +8,21 @@ DESC_SCAN = "mScan"
DESC_DEFAULT = DESC_FAST
DEFAULT_ROBOT_POLLING = 500
run("devices/RobotTCP")
simulation = True
simulation = False
joint_forces = False
class RobotSC(RobotTCP):
def __init__(self, name, server, timeout = 1000, retries = 1):
RobotTCP.__init__(self, name, server, timeout, retries)
RobotTCP.__init__(self, name, server, timeout, retries)
self.setPolling(DEFAULT_ROBOT_POLLING)
def mount(self, puck, sample):
return self.execute('mount',segment, puck, sample)
@@ -66,13 +71,6 @@ if simulation:
else:
add_device(RobotSC("robot", "129.129.110.100:1000"), force = True)
robot.high_level_tasks = ["mount", "firstmount"]
robot.set_tool(TOOL_CALIBRATION)
robot.setPolling(500)
robot.set_motors_enabled(True)
robot.set_joint_motors_enabled(True)
#robot.set_monitor_speed(20)

View File

@@ -368,7 +368,7 @@ class RobotTCP(TcpDevice, Stoppable):
def distance_p(self, pnt1, pnt2):
return self.eval_float("distance(" + pnt1 + ", " + pnt2 + ")")
def compose(self, pnt, frame, trsf):
def compose(self, pnt, frame = FRAME_DEFAULT, trsf = "tcp_t"):
return self.eval_pnt("compose(" + pnt + ", " + frame + ", " + trsf + ")")
def here(self, tool, frame):