-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-visa.py
52 lines (43 loc) · 1.22 KB
/
test-visa.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#find GPIB interface and edit it accordingly
#emrea, Feb 2019
import visa
import time
rm = visa.ResourceManager()
print(rm.list_resources())
#it will appear a list like below
#('ASRL1::INSTR', 'ASRL2::INSTR', 'GPIB0::7::INSTR')
#this device is addressed as GPIBxxx
#open device and query IDN to find your device
inst = rm.open_resource('GPIB0::7::INSTR')
print(inst.query("*IDN?"))
#returns something like
#innco GmbH,CO2000,6011210,1.24
#below some raw command examples, you can read these details from device manual
#using table.py is more handy, check test-table.py
#current pos
#select device and send command
inst.write("LD 1 DV")
inst.write("CP")
val = inst.read()
print("Table position %s" % val)
#goto
print("Going to angle")
inst.write("LD 1 DV")
inst.write("LD 70.0 DG NP GO")
time.sleep(1)
#read motor status, 1 on, 0 off
inst.write("LD 1 DV")
inst.write("BU")
val = inst.read()
print("Motor status %s" % val)
time.sleep(10)
#read pos
inst.write("LD 1 DV")
inst.write("CP")
val = inst.read()
print("Table position %s" % val)
#read motor status, assume it reached angle and stopped
inst.write("LD 1 DV")
inst.write("BU")
val = inst.read()
print("Motor status %s" % val)