From a01a68d045a6212a873f6745245902556ca66483 Mon Sep 17 00:00:00 2001 From: bliss administrator <blissadm@lid191.esrf.fr> Date: Mon, 10 Aug 2020 15:04:15 +0200 Subject: [PATCH] Uncommitted modifications from October 2019. --- SampleChangerDS/TomoSampleChanger.py | 41 ++++++++++++++++++++------- SampleChangerDS/TomoSampleChanger.xmi | 5 +++- 2 files changed, 35 insertions(+), 11 deletions(-) diff --git a/SampleChangerDS/TomoSampleChanger.py b/SampleChangerDS/TomoSampleChanger.py index a74a8bb..d336e8e 100644 --- a/SampleChangerDS/TomoSampleChanger.py +++ b/SampleChangerDS/TomoSampleChanger.py @@ -138,7 +138,7 @@ class TomoSampleChanger(Device): self.is_error = True self.is_moving = False - self.is_loaded = False + #self.is_loaded = False self.write_properties() # @@ -372,10 +372,21 @@ class TomoSampleChanger(Device): try: # initialise the robot access - self.robot = id19Controller.ID19Controller(controllerAssociated='id19robot', logOnController=False) + self.robot = id19Controller.ID19Controller(controllerAssociated='id19robot', logOnController=False) # Normal self.robot.cs8LibraryName = 'id19tomo' self.robot.autoFirmwareUpdate() + self.robot._prog_display.threadOnController() + self.robot._prog_key_handler.threadOnController() + + self.robot.allLightOn() + time.sleep(1) + self.robot.allLightOff() + + self.robot.torqueMaxAllowed = {'j1': 9990, 'j2': 9990, 'j3': 9990, 'j4': 9990, 'j5': 9990, 'j6': 9990} + + self.robot.torqueMonitor.threadOnController() # If emmergency function used, torque monitor must be reactivated. + # set the robot movements to full speed self.robot.speed = 100 print ("Controller initialized!!!!!!!") @@ -498,7 +509,11 @@ class TomoSampleChanger(Device): _state = PyTango.DevState.DISABLE else: if self.is_moving == True: - _state = PyTango.DevState.MOVING + # pause mode activated + if self.robot.power() == 0: + _state = PyTango.DevState.PAUSE + else: + _state = PyTango.DevState.MOVING else: if self.attr_ParkingPosition_read == False: _state = PyTango.DevState.FAULT @@ -527,14 +542,17 @@ class TomoSampleChanger(Device): if state == PyTango.DevState.DISABLE: self._status += "DISABLED" else: - if state == PyTango.DevState.MOVING: - self._status += "MOVING" - self._status += "\n\n" + self.last_task + if state == PyTango.DevState.PAUSE: + self._status += "PAUSE" else: - if state == PyTango.DevState.ON: - self._status += "ON" + if state == PyTango.DevState.MOVING: + self._status += "MOVING" + self._status += "\n\n" + self.last_task else: - self._status += "UNKNOWN" + if state == PyTango.DevState.ON: + self._status += "ON" + else: + self._status += "UNKNOWN" self._status += "\n" if state == PyTango.DevState.FAULT: @@ -569,7 +587,10 @@ class TomoSampleChanger(Device): self._status += "\nReading of the robot status failed\n" self._status += "\n" self._status += str(self.state_error) - + else: + if state == PyTango.DevState.PAUSE: + self._status += "\nGo to the robot teach pendant and follows instructions\n" + self.set_status(self._status) return self._status diff --git a/SampleChangerDS/TomoSampleChanger.xmi b/SampleChangerDS/TomoSampleChanger.xmi index 89b9830..7d8e092 100644 --- a/SampleChangerDS/TomoSampleChanger.xmi +++ b/SampleChangerDS/TomoSampleChanger.xmi @@ -211,10 +211,13 @@ <states name="MOVING" description="Moving to load, unload or align"> <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> </states> + <states name="PAUSE" description="Waiting for restart"> + <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> + </states> <states name="FAULT" description="Requested movement failed."> <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> </states> - <states name="DISABLE" description="annot move due to active interlock condition."> + <states name="DISABLE" description="Cannot move due to active interlock condition."> <status abstract="false" inherited="false" concrete="true" concreteHere="true"/> </states> <preferences docHome="./doc_html" makefileHome="/segfs/tango/cppserver/env"/> -- GitLab