Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
I
IC-Interface Control
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Mateus Goto
IC-Interface Control
Commits
06c39034
Commit
06c39034
authored
Aug 11, 2022
by
Mateus Goto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[TESTED AND FIXED] Inst Cap
parent
4af7ac90
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
68 additions
and
58 deletions
+68
-58
NHR9400series/NHR9400.py
NHR9400series/NHR9400.py
+58
-42
NHR9400series/__pycache__/NHR9400.cpython-310.pyc
NHR9400series/__pycache__/NHR9400.cpython-310.pyc
+0
-0
NHR9400series/__pycache__/NHR9430.cpython-310.pyc
NHR9400series/__pycache__/NHR9430.cpython-310.pyc
+0
-0
main.py
main.py
+10
-16
No files found.
NHR9400series/NHR9400.py
View file @
06c39034
...
...
@@ -174,43 +174,43 @@ class NHR9400():
# Query returns the number of output channels detected by the hardware.
def
instrumentSystemChanels
(
self
):
self
.
__s
.
send
((
"INST:CAP:SYST:CHAN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:SYST:CHAN
?
\r
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receive
Float
(
value
)
return
self
.
receive
String
(
value
)
# Query returns the number of chassis detected (Master + Auxiliaries)
def
instrumentSystemChassis
(
self
):
self
.
__s
.
send
((
"INST:CAP:SYST:CHAS
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:SYST:CHAS
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#Query returns the maximum number of commands which can be stored in a macro
def
instrumentSystemMacros
(
self
):
self
.
__s
.
send
((
"INST:CAP:MACR:COMM:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:MACR:COMM:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#Query returns the maximum delay time allowed for MACRo:WAIT[:TIME] within a single macro step.
def
instrumentSystemMacroDelay
(
self
):
self
.
__s
.
send
((
"INST:CAP:MACR:DEL:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:MACR:DEL:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#Query returns the default Regulation Gain setting set value used by the hardware.
def
instrumentSystemRGainNominal
(
self
):
self
.
__s
.
send
((
"INST:CAP:RGA:NOM
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:RGA:NOM
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#Query returns the maximum Regulation Gain setting set value used by the hardware.
def
instrumentSystemRGainMax
(
self
):
self
.
__s
.
send
((
"INST:CAP:RGA:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:RGA:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#Query returns the maximum trip time (seconds) for a safety limit settings
def
instrumentSystemTripMax
(
self
):
self
.
__s
.
send
((
"INST:CAP:TRIP:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:TRIP:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
...
...
@@ -218,10 +218,10 @@ class NHR9400():
#Query returns a list with the absolute maximum and minimum measurement aperture setting for the module.
def
instrumentSystemApertureRange
(
self
):
range
=
[]
self
.
__s
.
send
((
"INST:CAP:APER:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:APER:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:APER:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:APER:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
...
...
@@ -230,10 +230,10 @@ class NHR9400():
#Query returns the absolute peak current measurement capability for instrument selected.
def
instrumentSystemCurrent
(
self
):
range
=
[]
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
...
...
@@ -241,10 +241,10 @@ class NHR9400():
#Query returns maximum (minimum) peak current measurement for the selected instrument & range
def
instrumentSystemCurrentRange
(
self
):
range
=
[]
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:RANG:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:RANG:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:RANG:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:MEAS:RANG:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
...
...
@@ -252,10 +252,10 @@ class NHR9400():
#Query returns the waveform digitizer’s maximum (minimum) sample frequency in Hz.
def
instrumentSystemFreq
(
self
):
range
=
[]
self
.
__s
.
send
((
"INST:CAP:SAMP:FREQ:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:SAMP:FREQ:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:SAMP:FREQ:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:SAMP:FREQ:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
...
...
@@ -263,7 +263,7 @@ class NHR9400():
#Query returns the waveform digitizer’s maximum sample memory depth
def
instrumentSamplePoints
(
self
):
self
.
__s
.
send
((
"INST:CAP:SAMPl:POIN:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:SAMPl:POIN:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
...
...
@@ -272,16 +272,16 @@ class NHR9400():
#For AC multi-φ outputs: Query response is expressed as line-line equivalent value.
def
instrumentSystemVoltage
(
self
):
range
=
[]
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
return
range
def
instrumentSystemVoltage
(
self
,
phase
):
def
instrumentSystemVoltage
Phase
(
self
,
phase
):
if
phase
==
1
:
msg
=
"INST:CAP:VOLT:APH:"
elif
phase
==
2
:
...
...
@@ -291,10 +291,10 @@ class NHR9400():
else
:
return
-
1
range
=
[]
self
.
__s
.
send
((
msg
+
"MEAS:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
msg
+
"MEAS:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
msg
+
"MEAS:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
msg
+
"MEAS:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
...
...
@@ -302,16 +302,16 @@ class NHR9400():
#Query returns maximum (minimum) peak voltage measurement for the selected instrument & range
def
instrumentSystemVoltageRange
(
self
):
range
=
[]
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:RANG:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:RANG:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:RANG:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:VOLT:MEAS:RANG:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
return
range
def
instrumentSystemVoltageRange
(
self
,
phase
):
def
instrumentSystemVoltageRange
Phase
(
self
,
phase
):
if
phase
==
1
:
msg
=
"INST:CAP:VOLT:APH:"
elif
phase
==
2
:
...
...
@@ -321,10 +321,10 @@ class NHR9400():
else
:
return
-
1
range
=
[]
self
.
__s
.
send
((
msg
+
"MEAS:RANG:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
msg
+
"MEAS:RANG:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
msg
+
"MEAS:RANG:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
msg
+
"MEAS:RANG:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
...
...
@@ -334,22 +334,22 @@ class NHR9400():
# Query returns the absolute maximum current (ARMS or ADC) output capability for instrument selected.
def
instrumentCapCurrent
(
self
):
self
.
__s
.
send
((
"INST:CAP:CURR:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:MAX
?
\r
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#Query returns the maximum current (ARMS or ADC) set-point value for selected instrument & range
def
instrumentCapCurrentRange
(
self
):
self
.
__s
.
send
((
"INST:CAP:CURR:RANG:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:RANG:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#Query returns a list of maximum or minimum current (ARMS or ADC) ranges for the selected instrument.
def
instrumentCapCurrentRangeList
(
self
):
range
=
[]
self
.
__s
.
send
((
"INST:CAP:CURR:RANG:LIST:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:RANG:LIST:MIN
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveString
(
value
))
self
.
__s
.
send
((
"INST:CAP:CURR:RANG:LIST:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:CURR:RANG:LIST:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveString
(
value
))
...
...
@@ -358,10 +358,10 @@ class NHR9400():
#Query returns the maximum (minimum) allowable operating frequency.
def
instrumentCapFreqRange
(
self
):
range
=
[]
self
.
__s
.
send
((
"
INST:CAP:FREQ:RANG:MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"
:INST:CAP:FREQ:RANG:MIN?
\r
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:FREQ:RANG:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:FREQ:RANG:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
...
...
@@ -369,11 +369,11 @@ class NHR9400():
#Query returns the absolute maximum true power (Watts) setting value for the instrument selected.
def
instrumentCapPowerMax
(
self
):
self
.
__s
.
send
((
"INST:CAP:POW:ALL:MAX
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:POW:ALL:MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
# for each phase
def
instrumentCapPowerMax
(
self
,
phase
):
def
instrumentCapPowerMax
Phase
(
self
,
phase
):
if
phase
==
1
:
msg
=
"INST:CAP:POW:APH:"
elif
phase
==
2
:
...
...
@@ -382,24 +382,40 @@ class NHR9400():
msg
=
"INST:CAP:POW:CPH:"
else
:
return
-
1
self
.
__s
.
send
((
msg
+
"MAX
\n
"
).
encode
())
self
.
__s
.
send
((
msg
+
"MAX
?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveFloat
(
value
)
#These queries will retrieve the minimum (smallest positive) and maximum (largest positive) positive resistance setting for the Module. For example, the minimum = 1.5 and maximum = 1000.
def
instrmentCapResistencePos
(
self
):
self
.
__s
.
send
((
"INST:CAP:RES:POS:M
AX MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:RES:POS:M
IN?
\r
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveString
(
value
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:RES:POS:MAX?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
return
range
def
instrmentCapResistencenNeg
(
self
):
self
.
__s
.
send
((
"INST:CAP:RES:NEG:M
AX MIN
\n
"
).
encode
())
self
.
__s
.
send
((
"INST:CAP:RES:NEG:M
IN?
\r
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveString
(
value
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:RES:NEG:MAX?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
return
range
#Query returns the absolute maximum voltage (VRMS or VDC) output capability for instrument selected.
def
instrumentCapVoltageMaxMin
(
self
):
self
.
__s
.
send
((
"INST:CAP:VOLT:ALL:MAX MIN
\n
"
).
encode
())
range
=
[]
self
.
__s
.
send
((
"INST:CAP:VOLT:ALL:MIN?
\r\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
return
self
.
receiveString
(
value
)
range
.
append
(
self
.
receiveFloat
(
value
))
self
.
__s
.
send
((
"INST:CAP:VOLT:ALL:MAX?
\n
"
).
encode
())
value
=
self
.
__s
.
recv
(
1024
)
range
.
append
(
self
.
receiveFloat
(
value
))
return
range
################################# Setters and Getters ################################################
#set limit voltage of all phases
...
...
NHR9400series/__pycache__/NHR9400.cpython-310.pyc
View file @
06c39034
No preview for this file type
NHR9400series/__pycache__/NHR9430.cpython-310.pyc
View file @
06c39034
No preview for this file type
main.py
View file @
06c39034
...
...
@@ -10,7 +10,7 @@ def main():
interface
.
__init__
()
print
(
interface
.
getListIp
())
interface
.
newNhr
(
"9410"
)
interface
.
newNhr
(
"9430"
)
#
interface.newNhr("9430")
#interface.newNhr("9430")
nhr10
=
[]
...
...
@@ -20,27 +20,21 @@ def main():
for
elem
in
nhr10
:
print
(
"nhr10 ip: "
,
elem
.
getIp
())
elem
.
setVoltage
(
220
)
elem
.
setPower
(
5
)
elem
.
start
()
print
(
"nhr10 ip: "
,
elem
.
getIp
())
print
(
"nhr10 max current: "
,
elem
.
instrumentCapCurrent
())
print
(
"nhr10 max current range: "
,
elem
.
instrumentCapCurrentRange
())
print
(
"nhr10 max freq range: "
,
elem
.
instrumentCapFreqRange
())
print
(
"nhr10 max power range: "
,
elem
.
instrumentCapPowerMax
())
print
(
"nhr10 max voltage range: "
,
elem
.
instrumentCapVoltageMaxMin
())
print
(
"voltage:"
,
elem
.
getVoltage
())
print
(
"current:"
,
elem
.
getCurrent
())
print
(
"Power:"
,
elem
.
getPower
())
print
(
elem
.
checkErrors
())
for
elem
in
nhr30
:
print
(
"nhr30 ip: "
,
elem
.
getIp
())
elem
.
setCurrent
(
30
)
elem
.
start
()
print
(
"voltage:"
,
elem
.
getVoltage
())
print
(
"current:"
,
elem
.
getCurrent
())
print
(
"Power:"
,
elem
.
getPower
())
time
.
sleep
(
20
)
time
.
sleep
(
3
)
for
elem
in
nhr10
:
elem
.
close
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment