PI-PhysikInstrumente / PIPython

Python Library for using PI controllers with GCS command language
28 stars 3 forks source link

Position not reached #15

Closed francdoc closed 1 year ago

francdoc commented 1 year ago

Hi, I am trying to reach XY position (0.1,0.1) but the system can't perform as requested. Here are the used commands:

      from pipython import GCSDevice

      pidevice = GCSDevice()
      devices = pidevice.EnumerateUSB()
      pidevice.ConnectUSB(devices[0]) # connect to the first device

      >>> print('connected: {}'.format(pidevice.qIDN().strip()))

      connected: (c)2015-2018 Physik Instrumente (PI) GmbH & Co. KG, E-727.3CDA, 120040681, 14.11.01.05

      >>> from pipython import pitools

      >>> len(pidevice.axes[:2])
      2
      >>> pitools.startup(pidevice,[],[])

      >>> pidevice.MOV(pidevice.axes[:2],(20,20))

      >>> pidevice.qPOS()
      OrderedDict([('1', 20.00016403), ('2', 19.99985313), ('3', 0.0)]) 

      >>> pidevice.MOV(pidevice.axes[:2],(45,45)) # max position in absoulte coordinates
      >>> pidevice.qPOS()
      OrderedDict([('1', 44.9998436), ('2', 44.9990654), ('3', 0.0)])

      >>> pidevice.MOV(pidevice.axes[:2],(0.1,0.1))

      >>> pidevice.qPOS()
      OrderedDict([('1', 7.110321045), ('2', 6.996693611), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.820139408), ('2', 6.710417747), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.773382664), ('2', 6.664360046), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.722932816), ('2', 6.614255905), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.693023682), ('2', 6.585497856), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.671704292), ('2', 6.562428474), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.649555206), ('2', 6.54163456), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.63082552), ('2', 6.522785187), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.617462158), ('2', 6.509446144), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.602602005), ('2', 6.494898796), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.591478825), ('2', 6.483504295), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.579800129), ('2', 6.471986771), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.56956768), ('2', 6.461724281), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.560307503), ('2', 6.452710152), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.550625801), ('2', 6.44343853), ('3', 0.0)])
      >>> pidevice.qPOS()
      OrderedDict([('1', 6.541518688), ('2', 6.434470177), ('3', 0.0)])
      >>> 

The system can't reach 0.1 (X) 0.1 (Y) position. Do you know why?

Thanks in advance

Software-PhysikInstrumente commented 1 year ago

Hello francdoc, for support requests regarding PI systems please contact service@pi.de. Please also provide information which stages you are using. Since the first question will probably be: "did you try to move the stages with PIMikroMove to this position" you could try this before sending the email. Also a first idea would be to query the error using qERR() to get further information. best regards from Karlsruhe

francdoc commented 1 month ago

Solved this, you can see the results here.