Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
L
leak analysis
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
vaclab
leak analysis
Commits
7f67736f
Commit
7f67736f
authored
1 year ago
by
Ute Becker
Browse files
Options
Downloads
Patches
Plain Diff
Die Werte aus dem Messprogramm TL1 werden in das cal-dokument übertragen
parent
8f420487
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
file-to-couchdb_tl1.py
+688
-0
688 additions, 0 deletions
file-to-couchdb_tl1.py
with
688 additions
and
0 deletions
file-to-couchdb_tl1.py
0 → 100644
+
688
−
0
View file @
7f67736f
# -*- coding: utf-8 -*-
"""
Created on Fri Jul 1 12:12:37 2022
@author: becker07
"""
import
sys
import
numpy
as
np
import
couchdb
import
pandas
as
pd
import
json
import
csv
import
re
from
matplotlib
import
pyplot
as
plt
import
pathlib
try
:
from
configparser
import
ConfigParser
except
ImportError
:
from
ConfigParser
import
ConfigParser
# ver. < 3.0
configtl
=
ConfigParser
()
ini_values
=
ConfigParser
()
# parse existing file
configtl
.
read
(
'
tl.ini
'
)
ini_values
.
read
(
'
inputs.ini
'
)
server
=
configtl
.
get
(
'
couch
'
,
'
couch
'
)
db_vl
=
configtl
.
get
(
'
couch
'
,
'
db
'
)
couch
=
couchdb
.
Server
(
server
)
db
=
couch
[
db_vl
]
# existing
## Eingabe von:
# - Kalibrierscheinnummer
# - Jahr der Kalibrierung
# - laufende Nummer der Kalibrierung
path
=
configtl
.
get
(
'
path
'
,
'
path_files
'
)
cal_cert
=
ini_values
.
get
(
'
input_cer
'
,
'
cal_cert
'
)
year
=
ini_values
.
get
(
'
input_gen
'
,
'
year
'
)
no
=
ini_values
.
get
(
'
input_gen
'
,
'
no
'
)
QMS
=
"
ja
"
######### ja beim Scan
kk_ik_pn
=
"
kk
"
######## kk,ik oder pn
json_file
=
"
cal-
"
+
year
+
"
-fm1-kk-
"
+
cal_cert
+
"
_
"
+
no
doc
=
db
.
get
(
json_file
)
print
(
json_file
)
#path='C:\\Users\\becker07\\python\\TL1\\'
dateiTab
=
path
+
cal_cert
+
"
_
"
+
no
#dateiTab='C:\\Users\\becker07\\python\\TL1\\75561'
print
(
dateiTab
)
dateiTab
=
pd
.
read_csv
(
dateiTab
,
sep
=
"
\t
"
,
decimal
=
'
,
'
)
L_ar
=
dateiTab
[
"
C
"
]
print
(
'
Leitwert j= 1, nein = 0 ::
'
,
L_ar
)
L
=
L_ar
[
0
]
print
(
'
Leitwert :
'
,
L
)
gauge
=
float
(
doc
[
"
Calibration
"
][
"
CustomerObject
"
][
"
Setup
"
][
"
CDG
"
])
print
(
gauge
)
fileQMS
=
path
+
"
QMS
"
+
cal_cert
+
"
_
"
+
no
+
"
.txt
"
dateiQMS
=
fileQMS
ScanQMS
=
path
+
"
Scan
"
+
cal_cert
+
"
_
"
+
no
+
"
.txt
"
ScanOffsQMS
=
path
+
"
ScanOffs
"
+
cal_cert
+
"
_
"
+
no
+
"
.txt
"
print
(
ScanQMS
)
# Die Daten aus dem File mit der entsprechenden Kalibrierscheinnummer werden eingelesen:
# datum, time, p_up und alle Temperaturen,
#datei = "N:\Abt_7\Fb75\Vakuum\Messplaetze\TL1\Kalibrierungen\\22\\TP7464.txt"
if
L
==
1
:
m1
=
dateiTab
[
"
m1
"
]
m2
=
dateiTab
[
"
m2
"
]
m3
=
dateiTab
[
"
m3
"
]
m4
=
dateiTab
[
"
m4
"
]
t1
=
dateiTab
[
"
t1
"
]
t2
=
dateiTab
[
"
t2
"
]
t3
=
dateiTab
[
"
t3
"
]
t4
=
dateiTab
[
"
t4
"
]
time1
=
dateiTab
[
"
time1
"
]
time2
=
dateiTab
[
"
time2
"
]
time3
=
dateiTab
[
"
time3
"
]
pmean
=
dateiTab
[
"
p-mean
"
]
*
100
pmin
=
dateiTab
[
"
p-min
"
]
*
100
pmax
=
dateiTab
[
"
p-max
"
]
*
100
h
=
dateiTab
[
"
distance
"
]
print
(
"
Constantes Volumen
"
,
h
)
else
:
print
(
"
Constanter Leitwert
"
)
datum
=
dateiTab
[
"
Datum
"
]
time
=
dateiTab
[
"
Zeit
"
]
gas
=
dateiTab
[
"
Gasart
"
]
if
gauge
==
0.01
:
p_offs_01
=
dateiTab
[
"
p-offset
"
]
*
100
p_fill_01
=
dateiTab
[
"
p-fill
"
]
*
100
p_fill_srg
=
dateiTab
[
"
p-max
"
]
p_offs_srg
=
dateiTab
[
"
p-min
"
]
else
:
p_offs
=
dateiTab
[
"
p-offset
"
]
*
100
p_fill
=
dateiTab
[
"
p-fill
"
]
*
100
#p_fill=np.genfromtxt(dateiTab,skip_header=1,delimiter='\t',usecols=(5))
p_ig
=
dateiTab
[
"
Kommentar
"
]
T_room
=
dateiTab
[
"
T-Raum
"
]
T_fm
=
dateiTab
[
"
T-FM
"
]
T_tl1
=
dateiTab
[
"
T-TL1
"
]
T_tl2
=
dateiTab
[
"
T-TL2
"
]
T_tl3
=
dateiTab
[
"
T-TL3
"
]
T_tl4
=
dateiTab
[
"
T-TL4
"
]
#print(T_fm,T_room,T_tl1, T_tl2,T_tl3,T_tl4)
I_TL_time
=
dateiTab
[
"
Time-TL
"
]
I_Offs_time
=
dateiTab
[
"
Time-offset
"
]
I_FM_time
=
dateiTab
[
"
Time-FM
"
]
#print(I_TL_time,I_Offs_time,I_FM_time)
Valve
=
dateiTab
[
"
Ventil
"
]
if
QMS
==
"
ja
"
:
I_TL_time
=
dateiTab
[
"
Time-TL
"
]
I_Offs_time
=
dateiTab
[
"
Time-offset
"
]
I_FM_time
=
dateiTab
[
"
Time-FM
"
]
#print(I_TL_time,I_Offs_time,I_FM_time)
####################### Der Scan des QMS ##############################################################################
############## die leeren Zeilen und Überschriften werden gelöscht ###################
with
open
(
ScanQMS
,
"
r
"
)
as
fp
:
tab
=
fp
.
read
()
with
open
(
'
ScanQMS.txt
'
,
'
w
'
)
as
fp
:
fp
.
write
(
tab
)
with
open
(
ScanOffsQMS
,
"
r
"
)
as
fp
:
tab
=
fp
.
read
()
with
open
(
'
ScanOffsQMS.txt
'
,
'
w
'
)
as
fp
:
fp
.
write
(
tab
)
del_def
=
[]
with
open
(
'
ScanQMS.txt
'
,
"
r
"
)
as
fp
:
del_def
=
fp
.
readlines
()
with
open
(
'
ScanQMS.txt
'
,
"
w
"
)
as
fp
:
for
number
,
line
in
enumerate
(
del_def
):
if
number
not
in
[
0
,
1
,
6
,
7
,
22
,
23
,
24
,
25
,
47
,
48
]:
fp
.
write
(
line
)
del_def
=
[]
with
open
(
'
ScanOffsQMS.txt
'
,
"
r
"
)
as
fp
:
del_def
=
fp
.
readlines
()
with
open
(
'
ScanOffsQMS.txt
'
,
"
w
"
)
as
fp
:
for
number
,
line
in
enumerate
(
del_def
):
if
number
not
in
[
0
,
1
,
6
,
7
,
22
,
23
,
24
,
25
,
47
,
48
]:
fp
.
write
(
line
)
########### Scan #####################
with
open
(
'
ScanQMS.txt
'
,
'
r
'
)
as
file
:
tab
=
file
.
read
()
lstdef
=
tab
.
rfind
(
"
Channel count
"
)
+
16
lsttab
=
tab
.
rfind
(
"
Scan Data (Pressures in mbar)
"
)
+
32
filetab
=
tab
[
lsttab
:]
### Das File wird getrennt und die Tabelle mit den Messwerten in das filetab übergeben
filedef
=
tab
[:
lstdef
]
### Das File wird getrennt und die Einstellungen und Infos in filedef übergeben
with
open
(
'
QMS-Def.txt
'
,
'
w
'
)
as
f
:
f
.
write
(
filedef
)
df_tab
=
pd
.
read_csv
(
"
QMS-Def.txt
"
,
sep
=
"
\t
"
,
#usecols=["Time"]
header
=
None
,
)
def_key
=
np
.
array
(
df_tab
[
0
])
l
=
len
(
def_key
)
print
(
l
)
#def_key=np.delete(def_key, l-1)
def_value
=
np
.
array
(
df_tab
[
1
],
dtype
=
str
)
#def_value=np.delete(def_value, l-1)
with
open
(
'
QMS-Scan.txt
'
,
'
w
'
)
as
f
:
f
.
write
(
filetab
)
df
=
pd
.
read_csv
(
"
QMS-Scan.txt
"
,
sep
=
"
\t
"
,
#usecols=["Time"]
header
=
None
,
)
df
=
df
.
replace
(
np
.
nan
,
0
)
l
=
len
(
df
)
print
(
l
)
mass_no
=
np
.
array
(
df
[
0
:
1
])
mass_unit
=
mass_no
[
0
]
if
l
==
3
:
mass_value
=
np
.
array
(
df
[
1
:
2
])
mass_value
=
mass_value
[
0
]
print
(
mass_value
())
else
:
mass_value
=
np
.
array
(
df
[
l
-
2
:
l
-
1
])
mass_value
=
mass_value
[
0
]
#############################################################################################################
########### Scan Offset #####################
with
open
(
'
ScanOffsQMS.txt
'
,
'
r
'
)
as
file
:
tab_offs
=
file
.
read
()
lstdef_offs
=
tab_offs
.
rfind
(
"
Channel count
"
)
+
16
lsttab_offs
=
tab_offs
.
rfind
(
"
Scan Data (Pressures in mbar)
"
)
+
32
filetab_offs
=
tab_offs
[
lsttab_offs
:]
### Das File wird getrennt und die Tabelle mit den Messwerten in das filetab übergeben
filedef_offs
=
tab_offs
[:
lstdef_offs
]
### Das File wird getrennt und die Einstellungen und Infos in filedef übergeben
with
open
(
'
QMS_Offs-Def.txt
'
,
'
w
'
)
as
f
:
f
.
write
(
filedef_offs
)
df_tab_offs
=
pd
.
read_csv
(
"
QMS_Offs-Def.txt
"
,
sep
=
"
\t
"
,
#usecols=["Time"]
header
=
None
,
)
def_key_offs
=
np
.
array
(
df_tab_offs
[
0
])
l
=
len
(
def_key_offs
)
def_value_offs
=
np
.
array
(
df_tab_offs
[
1
],
dtype
=
str
)
#def_value=np.delete(def_value, l-1)
with
open
(
'
QMS_Offs-Scan.txt
'
,
'
w
'
)
as
f
:
f
.
write
(
filetab_offs
)
df_offs
=
pd
.
read_csv
(
"
QMS_Offs-Scan.txt
"
,
sep
=
"
\t
"
,
#usecols=["Time"]
header
=
None
,
)
df_offs
=
df_offs
.
replace
(
np
.
nan
,
0
)
l
=
len
(
df_offs
)
print
(
l
)
if
l
==
3
:
mass_value_offs
=
np
.
array
(
df_offs
[
1
:
2
])
mass_value_off
=
mass_value_offs
[
0
]
print
(
mass_value_offs
())
else
:
mass_value_offs
=
np
.
array
(
df_offs
[
l
-
2
:
l
-
1
])
mass_value_off
=
mass_value_offs
[
0
]
#############################################################################################################
###################### Plot der Scans werden abgebildet und den json-dokument hinzugefügt #####################
I_Scan
=
np
.
float64
(
mass_value
[
2
:
-
2
])
I_Scan_Offs
=
np
.
float64
(
mass_value_off
[
2
:
-
2
])
Mass_Scan
=
mass_no
[
0
]
Mass_Scan
=
Mass_Scan
[
2
:
-
2
]
for
i
in
range
(
len
(
Mass_Scan
)):
Mass_Scan
[
i
]
=
re
.
sub
(
r
"
Mass
"
,
""
,
Mass_Scan
[
i
]).
strip
()
Mass_Scan
=
np
.
float64
(
Mass_Scan
)
fig
=
plt
.
figure
()
ax
=
fig
.
add_axes
([
0
,
0
,
4
,
2
])
ax
.
set_xlabel
(
'
Masse
'
)
ax
.
set_ylabel
(
'
QMS-Signal
'
)
ax
.
set_yscale
(
'
log
'
)
#plt.plot(1010,4.65e-10, 'bo')
plt
.
plot
(
Mass_Scan
,
I_Scan
,
label
=
r
'
Floww
'
)
plt
.
plot
(
Mass_Scan
,
I_Scan_Offs
,
label
=
r
'
Offset
'
)
plt
.
legend
()
plt
.
grid
()
fig
.
savefig
(
"
Scan.pdf
"
,
bbox_inches
=
'
tight
'
)
#############################################################################################################
from
collections
import
OrderedDict
def
getMassAverage
(
filename
,
tbegin
=
None
,
tend
=
None
,
trange
=
None
):
def
error_exit
(
x
):
print
(
'
ERROR:
'
,
str
(
x
),
file
=
sys
.
stderr
)
sys
.
exit
(
1
)
if
not
trange
and
(
not
tbegin
or
not
tend
):
error_exit
(
'
Missing time range
'
)
try
:
d
=
{}
with
open
(
filename
,
'
r
'
)
as
f
:
line
=
f
.
readline
()
dataValid
=
False
while
line
:
if
dataValid
:
# Ende der Daten
if
line
.
startswith
(
'"
[Annotations/User Records
'
):
dataValid
=
False
else
:
l
=
line
.
strip
()
a
=
l
.
split
(
'
\t
'
)
# An Tabulatoren trennen
# a[0] = "Time", a[1] = "Scan", a[2] = "Mass 4", a[3] = "Sum Scanned Masses"
if
a
[
0
]:
key
=
a
[
0
].
strip
(
'"'
)
# Timestamp als key für Dictionary
d
[
key
]
=
a
[
2
]
else
:
# Beginn der Daten
if
line
.
startswith
(
'"
Time
"'
):
dataValid
=
True
line
=
f
.
readline
()
except
:
error_exit
(
"
Can
'
t read file:
"
+
filename
)
finally
:
f
.
close
()
# Sortieren bei neueren Python-Versionen unnötig?
data
=
OrderedDict
(
sorted
(
d
.
items
()))
def
doAverage
(
beg
,
end
):
sum
=
0.0
cnt
=
0
for
key
in
data
:
if
key
>=
beg
and
key
<
end
:
#print(key, '-->', data[key])
cnt
+=
1
sum
+=
float
(
data
[
key
])
return
sum
/
cnt
tb
=
[]
te
=
[]
res
=
[]
if
trange
:
if
not
isinstance
(
trange
,
list
):
trange
=
[
trange
]
# Einzelwert zu Array machen
for
x
in
trange
:
a
=
x
.
split
(
'
-
'
)
tb
.
append
(
a
[
0
].
strip
())
te
.
append
(
a
[
1
].
strip
())
else
:
if
not
isinstance
(
tbegin
,
list
):
tb
=
[
tbegin
]
# Einzelwert zu Array machen
if
not
isinstance
(
tend
,
list
):
te
=
[
tend
]
# Einzelwert zu Array machen
i
=
0
while
i
<
len
(
tb
):
s
=
doAverage
(
tb
[
i
],
te
[
i
])
res
.
append
(
s
)
i
+=
1
if
len
(
res
)
==
1
:
return
res
[
0
]
# Bei nur einem Wert: kein Array
else
:
return
res
trangeArrayTL
=
list
(
I_TL_time
)
trangeArrayFM
=
list
(
I_FM_time
)
trangeArrayOff
=
list
(
I_Offs_time
)
xtrangeArray
=
[
'
28.07.2022 09:19:19 -28.07.2022 09:21:18
'
]
#trangeArray = I_TL_time
x1
=
getMassAverage
(
filename
=
dateiQMS
,
trange
=
trangeArrayTL
)
i
=
0
while
i
<
len
(
x1
):
print
(
i
,
'
Mass Avarage:
'
,
x1
[
i
])
i
+=
1
print
(
x1
)
x2
=
getMassAverage
(
filename
=
dateiQMS
,
trange
=
trangeArrayFM
)
i
=
0
while
i
<
len
(
x2
):
print
(
i
,
'
Mass Avarage:
'
,
x2
[
i
])
i
+=
1
print
(
x2
)
x3
=
getMassAverage
(
filename
=
dateiQMS
,
trange
=
trangeArrayOff
)
i
=
0
while
i
<
len
(
x3
):
print
(
i
,
'
Mass Avarage:
'
,
x3
[
i
])
i
+=
1
print
(
x3
)
I_TL
=
np
.
array
(
x1
)
I_FM
=
np
.
array
(
x2
)
I_Offs
=
np
.
array
(
x3
)
########################################################################################################################################
# Temperatur
lis_T_fm
=
T_fm
.
tolist
()
lis_T_room
=
T_room
.
tolist
()
lis_T_tl1
=
T_tl1
.
tolist
()
lis_T_tl2
=
T_tl2
.
tolist
()
lis_T_tl3
=
T_tl3
.
tolist
()
lis_T_tl4
=
T_tl4
.
tolist
()
# Druck
if
gauge
==
0.01
:
lis_p_offs_01
=
p_offs_01
.
tolist
()
lis_p_fill_01
=
p_fill_01
.
tolist
()
lis_p_offs_srg
=
p_offs_srg
.
tolist
()
lis_p_fill_srg
=
p_fill_srg
.
tolist
()
else
:
lis_p_offs
=
p_offs
.
tolist
()
lis_p_fill
=
p_fill
.
tolist
()
lis_p_ig
=
p_ig
.
tolist
()
# I-QMS
lis_I_TL_time
=
I_TL_time
.
tolist
()
lis_I_Offs_time
=
I_Offs_time
.
tolist
()
lis_I_FM_time
=
I_FM_time
.
tolist
()
# I-QMS
lis_I_TL
=
I_TL
.
tolist
()
lis_I_Offs
=
I_Offs
.
tolist
()
lis_I_FM
=
I_FM
.
tolist
()
# Datum
# Datum
lis_datum
=
datum
.
tolist
()
lis_time
=
time
.
tolist
()
# Ventil
lis_valve
=
Valve
.
tolist
()
datum_meas
=
lis_datum
[
0
:
1
]
if
L
==
1
:
#Leitwert
lis_c
=
L_ar
.
tolist
()
# Steigung SZ
lis_m1
=
m1
.
tolist
()
lis_m2
=
m2
.
tolist
()
lis_m3
=
m3
.
tolist
()
lis_m4
=
m4
.
tolist
()
# Zeitpunkte
lis_t1
=
t1
.
tolist
()
lis_t2
=
t2
.
tolist
()
lis_t3
=
t3
.
tolist
()
lis_t4
=
t4
.
tolist
()
# Zeit pro SZ
lis_time1
=
time1
.
tolist
()
lis_time2
=
time2
.
tolist
()
lis_time3
=
time3
.
tolist
()
# Druck der SZ
lis_pmean
=
pmean
.
tolist
()
lis_pmin
=
pmin
.
tolist
()
lis_pmax
=
pmax
.
tolist
()
# Druck der SZ
lis_h
=
h
.
tolist
()
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
Values
"
]
=
{
"
Temperature
"
:
[{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-FM
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_fm
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-Room
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_room
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL1
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl1
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL2
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl2
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL2
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl3
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL3
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl4
}],
"
Pressure
"
:
[{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
Offset pressure
"
,
"
Value
"
:
lis_p_offs
},
{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
pressure mean
"
,
"
Value
"
:
lis_p_fill
},
{
"
Unit
"
:
"
bar
"
,
"
Type
"
:
"
TL1 pressure
"
,
"
Value
"
:
lis_p_ig
}],
"
Date
"
:
[{
"
Unit
"
:
"
year-month-day
"
,
"
Type
"
:
"
Datum
"
,
"
Value
"
:
lis_datum
},
{
"
Unit
"
:
"
hh:mm:ss
"
,
"
Type
"
:
"
Messzeit
"
,
"
Value
"
:
lis_time
}],
"
Valve
"
:
[{
"
Unit
"
:
"
1
"
,
"
Type
"
:
"
Connection
"
,
"
Comment
"
:
"
Connection of the leak
"
,
"
Value
"
:
lis_valve
}],
"
Current
"
:
[{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-TL
"
,
"
Value
"
:
lis_I_TL
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-FM
"
,
"
Value
"
:
lis_I_FM
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-Offs
"
,
"
Value
"
:
lis_I_Offs
}],
"
CurrentTime
"
:
[{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-TL
"
,
"
Value
"
:
lis_I_TL_time
},
{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-FM
"
,
"
Value
"
:
lis_I_FM_time
},
{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-Offs
"
,
"
Value
"
:
lis_I_Offs_time
}]
}
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
Date
"
]
=
[{
"
Type
"
:
"
measurement
"
,
"
Value
"
:
datum_meas
}]
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
Values
"
][
"
Conductance
"
]
=
{
"
t
"
:
[{
"
Unit
"
:
"
s
"
,
"
Type
"
:
"
t1
"
,
"
Comment
"
:
"
Zeitpunkt t1 des 1.SZ
"
,
"
Value
"
:
lis_t1
},
{
"
Unit
"
:
"
s
"
,
"
Type
"
:
"
t2
"
,
"
Comment
"
:
"
Zeitpunkt t2 des 2.SZ
"
,
"
Value
"
:
lis_t2
},
{
"
Unit
"
:
"
s
"
,
"
Type
"
:
"
t3
"
,
"
Comment
"
:
"
Zeitpunkt t3 des 3.SZ
"
,
"
Value
"
:
lis_t3
},
{
"
Unit
"
:
"
s
"
,
"
Type
"
:
"
t4
"
,
"
Comment
"
:
"
Zeitpunkt t4 des 4.SZ
"
,
"
Value
"
:
lis_t4
}],
"
time
"
:
[{
"
Unit
"
:
"
s
"
,
"
Type
"
:
"
time1
"
,
"
Comment
"
:
"
Zeit t2-t1 von SZ
"
,
"
Value
"
:
lis_time1
},
{
"
Unit
"
:
"
s
"
,
"
Type
"
:
"
time2
"
,
"
Comment
"
:
"
Zeit t3-t2 von SZ
"
,
"
Value
"
:
lis_time2
},
{
"
Unit
"
:
"
s
"
,
"
Type
"
:
"
time3
"
,
"
Comment
"
:
"
Zeit t4-t3 von SZ
"
,
"
Value
"
:
lis_time3
}],
"
m
"
:
[{
"
Unit
"
:
"
Pa/s
"
,
"
Type
"
:
"
m1
"
,
"
Comment
"
:
"
Steigung m1 des 1.SZ
"
,
"
Value
"
:
lis_m1
},
{
"
Unit
"
:
"
Pa/s
"
,
"
Type
"
:
"
m2
"
,
"
Comment
"
:
"
Steigung m1 des 2.SZ
"
,
"
Value
"
:
lis_m2
},
{
"
Unit
"
:
"
Pa/s
"
,
"
Type
"
:
"
m3
"
,
"
Comment
"
:
"
Steigung m1 des 3.SZ
"
,
"
Value
"
:
lis_m3
},
{
"
Unit
"
:
"
Pa/s
"
,
"
Type
"
:
"
m3
"
,
"
Comment
"
:
"
Steigung m1 des 4.SZ
"
,
"
Value
"
:
lis_m3
}],
"
pressure
"
:
[{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
pmean
"
,
"
Comment
"
:
"
Mittelwert von p
"
,
"
Value
"
:
lis_pmean
},
{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
pmin
"
,
"
Comment
"
:
"
p_min des SZ
"
,
"
Value
"
:
lis_pmin
},
{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
pmax
"
,
"
Comment
"
:
"
p_max des SZ
"
,
"
Value
"
:
lis_pmax
}],
"
l
"
:
[{
"
Unit
"
:
"
mm
"
,
"
Type
"
:
"
l
"
,
"
Comment
"
:
"
Hub des Verdrängers
"
,
"
Value
"
:
lis_h
}],
"
C
"
:
[{
"
Unit
"
:
"
m^3/s
"
,
"
Type
"
:
"
Constanter Leitwert
"
,
"
Value
"
:
lis_c
}]
}
print
(
"
Constantes Volumen
"
)
else
:
lis_c
=
L_ar
.
tolist
()
if
gauge
==
0.01
:
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
Values
"
]
=
{
"
Temperature
"
:
[{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-FM
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_fm
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-Room
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_room
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL1
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl1
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL2
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl2
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL2
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl3
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL3
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl4
}],
"
Pressure
"
:
[{
"
Unit
"
:
"
DCR
"
,
"
Type
"
:
"
Offset pressure SRG
"
,
"
Value
"
:
lis_p_offs_srg
},
{
"
Unit
"
:
"
DCR
"
,
"
Type
"
:
"
Fill pressure SRG
"
,
"
Value
"
:
lis_p_fill_srg
},
{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
Offset pressure 01Torr
"
,
"
Value
"
:
lis_p_offs_01
},
{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
Fill pressure 01Torr
"
,
"
Value
"
:
lis_p_fill_01
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
TL1 pressure
"
,
"
Value
"
:
lis_p_ig
}],
"
Date
"
:
[{
"
Unit
"
:
"
year-month-day
"
,
"
Type
"
:
"
Datum
"
,
"
Value
"
:
lis_datum
},
{
"
Unit
"
:
"
hh:mm:ss
"
,
"
Type
"
:
"
Messzeit
"
,
"
Value
"
:
lis_time
}],
"
Valve
"
:
[{
"
Unit
"
:
"
1
"
,
"
Type
"
:
"
Connection
"
,
"
Comment
"
:
"
Connection of the leak
"
,
"
Value
"
:
lis_valve
}],
"
Current
"
:
[{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-TL
"
,
"
Value
"
:
lis_I_TL
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-FM
"
,
"
Value
"
:
lis_I_FM
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-Offs
"
,
"
Value
"
:
lis_I_Offs
}],
"
CurrentTime
"
:
[{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-TL
"
,
"
Value
"
:
lis_I_TL_time
},
{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-FM
"
,
"
Value
"
:
lis_I_FM_time
},
{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-Offs
"
,
"
Value
"
:
lis_I_Offs_time
}]
}
print
(
"
SRG
"
)
else
:
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
Values
"
]
=
{
"
Temperature
"
:
[{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-FM
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_fm
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-Room
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_room
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL1
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl1
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL2
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl2
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL2
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl3
},
{
"
Unit
"
:
"
C
"
,
"
Type
"
:
"
T-TL3
"
,
"
Comment
"
:
"
Temperatur T
"
,
"
Value
"
:
lis_T_tl4
}],
"
Pressure
"
:
[{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
Offset pressure
"
,
"
Value
"
:
lis_p_offs
},
{
"
Unit
"
:
"
Pa
"
,
"
Type
"
:
"
pressure fill
"
,
"
Value
"
:
lis_p_fill
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
TL1 pressure
"
,
"
Value
"
:
lis_p_ig
}],
"
Date
"
:
[{
"
Unit
"
:
"
year-month-day
"
,
"
Type
"
:
"
Datum
"
,
"
Value
"
:
lis_datum
},
{
"
Unit
"
:
"
hh:mm:ss
"
,
"
Type
"
:
"
Messzeit
"
,
"
Value
"
:
lis_time
}],
"
Valve
"
:
[{
"
Unit
"
:
"
1
"
,
"
Type
"
:
"
Connection
"
,
"
Comment
"
:
"
Connection of the leak
"
,
"
Value
"
:
lis_valve
}],
"
Current
"
:
[{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-TL
"
,
"
Value
"
:
lis_I_TL
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-FM
"
,
"
Value
"
:
lis_I_FM
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
I-Offs
"
,
"
Value
"
:
lis_I_Offs
}],
"
CurrentTime
"
:
[{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-TL
"
,
"
Value
"
:
lis_I_TL_time
},
{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-FM
"
,
"
Value
"
:
lis_I_FM_time
},
{
"
Unit
"
:
"
dd.mm.yy hh:mm:ss -dd.mm.yy hh:mm:ss
"
,
"
Type
"
:
"
I-Offs
"
,
"
Value
"
:
lis_I_Offs_time
}]
}
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
Values
"
][
"
Conductance
"
]
=
{
"
C
"
:
[{
"
Unit
"
:
"
m^3/s
"
,
"
Type
"
:
"
Constanter Leitwert
"
,
"
Value
"
:
lis_c
}]}
print
(
"
Constanter Leitwert
"
)
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
Date
"
]
=
[{
"
Type
"
:
"
measurement
"
,
"
Value
"
:
datum_meas
}]
lis_mass_no
=
mass_no
.
tolist
()[
0
]
lis_mass_value
=
mass_value
.
tolist
()
lis_mass_value_offs
=
mass_value_offs
.
tolist
()[
0
]
key_value
=
dict
(
zip
(
def_key
,
def_value
))
key_value_offs
=
dict
(
zip
(
def_key_offs
,
def_value_offs
))
doc
[
"
Calibration
"
][
"
Measurement
"
][
"
AuxValues
"
]
=
{
"
ScanQMS
"
:
[{
"
Unit
"
:
"
Mass
"
,
"
Type
"
:
"
QMS
"
,
"
Comment
"
:
"
Masse
"
,
"
Value
"
:
lis_mass_no
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
Current
"
,
"
Comment
"
:
"
Wert / Masse
"
,
"
Value
"
:
lis_mass_value
},
{
"
Unit
"
:
"
mbar
"
,
"
Type
"
:
"
Current Offset
"
,
"
Comment
"
:
"
Wert / Masse
"
,
"
Value
"
:
lis_mass_value_offs
}],
"
DefQMS
"
:
[{
"
Type
"
:
"
Scan QMS
"
,
"
Value
"
:
key_value
},
{
"
Type
"
:
"
Scan Offset QMS
"
,
"
Value
"
:
key_value_offs
}]}
#doc["Calibration"]["Measurement"]["AuxValues"]={"ScanQMS": [{"Unit": "Mass","Type": "QMS ","Comment":"Masse ","Value":lis_mass_no},
# {"Unit": "mbar","Type": "Current","Comment":"Wert / Masse","Value": lis_mass_value},
## {"Unit": "mbar","Type": "Current Offset","Comment":"Wert / Masse","Value": lis_mass_value_offs}],
# "DefQMS": [{"Type": "Scan QMS ","Value":key_value},
# {"Type": "Scan Offset QMS","Value": key_value_offs}]}
#db.save(doc)
content
=
pathlib
.
Path
(
'
Scan.pdf
'
).
read_bytes
()
db
.
put_attachment
(
doc
,
content
,
"
Scan.pdf
"
,
content_type
=
"'
application/pdf
"
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment