Ejemplo n.º 1
0
    def Disconnect(self):
        if not self.simulation:
            self.handle.disconnect()
        self.addlog(Motion.Disconnect(self))

        return self.returnlog()
Ejemplo n.º 2
0
    def __init__(self, name):
        Motion.__init__(self, name)

        self.descriptors = list({*self.descriptors, 'Aerotech', 'A3200', 'sensor'})

        self.tasklog = {'task1': [], 'task2': [], 'task3': [], 'task4': []}
        self.commandlog = []
        self.defaulttask = 1
        self.handle = ''

        # Possible modes are cmd and loadrun
        self.axes = [
            'X',
            'x',
            'Y',
            'y',
            'ZZ1',
            'zz1',
            'ZZ2',
            'zz2',
            'ZZ3',
            'zz3',
            'ZZ4',
            'zz4',
            'i',
            'I',
            'j',
            'J',
            'k',
            'K',
        ]
        self.axismask = {}
        self.maxaxis = 4

        self.requirements['Set_Motion']['task'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'task being used for this operation',
        }
        self.requirements['Set_Motion']['length_units'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'length units for motion',
        }
        self.requirements['Set_Motion']['MotionRamp'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Ramp rate for a set of coordinated motions',
        }
        self.requirements['Set_Motion']['MaxAccel'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Maximum acceleration during coordinated motion',
        }
        self.requirements['Set_Motion']['LookAhead'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Activate multi-command motion planning',
        }
        self.requirements['Set_Motion']['axismask'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'how to convert between target and machine dimensions',
        }
        self.requirements['Set_Motion']['dtask'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'default task',
        }

        self.requirements['Move'] = {}
        self.requirements['Move']['point'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Information about where to move to',
        }
        self.requirements['Move']['motiontype'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'kind of path taken to point',
        }
        self.requirements['Move']['speed'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'speed of the motion',
        }
        self.requirements['Move']['task'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'task being used for this operation',
        }
        self.requirements['Move']['motionmode'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'cmd or loadrun to determine if it si stored in a buffer, commandlog, or run immediately',
        }

        self.requirements['set_DO'] = {}
        self.requirements['set_DO']['axis'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'IO axis',
        }
        self.requirements['set_DO']['bit'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'bit on IO axis',
        }
        self.requirements['set_DO']['value'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'value of that bit.  0 or 1',
        }

        self.requirements['Run'] = {}
        self.requirements['Run']['task'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Which task buffer to run',
        }

        self.requirements['getPosition'] = {}
        self.requirements['getPosition']['address'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Address of where to store result',
        }
        self.requirements['getPosition']['addresstype'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Type of address',
        }
        self.requirements['getPosition']['axislist'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'List of axes that will be reported',
        }

        self.requirements['getAI'] = {}
        self.requirements['getAI']['address'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Address of where to store result',
        }
        self.requirements['getAI']['addresstype'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Type of address',
        }
        self.requirements['getAI']['axis'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Axis of AI',
        }
        self.requirements['getAI']['channel'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Channel on that axis',
        }

        self.requirements['Load'] = {}
        self.requirements['Load']['cmstr'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'String of commands to load',
        }
        self.requirements['Load']['task'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'task being used for this operation',
        }
        self.requirements['Load']['mode'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'cmd or loadrun to determine if it si stored in a buffer, commandlog, or run immediately',
        }

        self.requirements['LogData_Start'] = {}
        self.requirements['LogData_Start']['file'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Where to store results',
        }
        self.requirements['LogData_Start']['points'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'Maximum number of points to collect',
        }
        self.requirements['LogData_Start']['parameters'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': '{axis: [pc, pf, vc, vf, ac, af]...}',
        }
        self.requirements['LogData_Start']['interval'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'cmd or loadrun to determine if it si stored in a buffer, commandlog, or run immediately',
        }
        self.requirements['LogData_Start']['task'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'task being used for this operation',
        }
        self.requirements['LogData_Start']['mode'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'cmd or loadrun to determine if it si stored in a buffer, commandlog, or run immediately',
        }

        self.requirements['LogData_Stop'] = {}
        self.requirements['LogData_Stop']['task'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'task being used for this operation',
        }
        self.requirements['LogData_Stop']['mode'] = {
            'value': '',
            'source': 'apparatus',
            'address': '',
            'desc': 'cmd or loadrun to determine if it si stored in a buffer, commandlog, or run immediately',
        }