Compare commits

...

3 Commits

Author SHA1 Message Date
Tyrel Souza 44c3bcb8fc
fixing for windows, and such, more test splitting 2023-10-20 11:32:01 -04:00
Tyrel Souza ddb5e1087d
fix for windows or linux: 2023-10-20 11:06:20 -04:00
Tyrel Souza 43d968bd4c
remove django app 2023-10-16 21:45:53 -04:00
39 changed files with 1375 additions and 890 deletions

View File

@ -1,3 +1,6 @@
const twoNewLines = /\r\n\r\n|\r\r|\n\n/;
const oneNewLine = /\r\n|\r|\n/;
const inRange = (index, value, masterValues) => {
return (
masterValues[index]["Low Limit"] <= value && value <= masterValues[index]["High Limit"]
@ -8,16 +11,16 @@ const delta = (index, value, masterValues) => {
return Math.abs(masterValues[index]["Low Limit"] - value);
}
export default function parseTransducer(content, accuracy){
export default function parseTransducer(fileName, content, accuracy){
accuracy = accuracy / 100.0; // Comes in as Percent
const transducerData = [];
// Split the content into sections based on the blank line
const sections = content.trim().split("\n\n");
const sections = content.trim().split(twoNewLines);
for (const section of sections) {
// Split each section into lines
const lines = section.trim().split("\n");
const lines = section.trim().split(oneNewLine);
const filteredLines = lines.filter(
(line) => !line.startsWith("==") && line !== "|| Transducer Verify Report ||"
);
@ -40,10 +43,12 @@ export default function parseTransducer(content, accuracy){
[, value, unit] = match;
value = parseInt(value);
}
if (unit === "SCCM") {
// SCCM and LPM are Flow
if (unit === "SCCM" || unit === "LPM") {
transducerType = "Flow";
}
if (unit === "PSIA") {
// PSIA and PSID are pressure
if (unit === "PSIA" || unit === "PSID") {
transducerType = "Pressure";
}
}
@ -73,10 +78,7 @@ export default function parseTransducer(content, accuracy){
} else {
// Toss anything else where it belongs
const [cleanKey, _] = key.split(/\W\d/);
if (
cleanKey in transducerInfo ||
key.includes(`Instrument ${transducerType}`)
) {
if (cleanKey in transducerInfo || key.includes(`Instrument ${transducerType}`)) {
const value = parseInt(val.split(" ")[0]) * 1000;
// special case Master to get the limits
if (cleanKey.includes("Master")) {

View File

@ -0,0 +1,700 @@
|| Instrument Info ||
Instrument Name Blackbelt Pro
Serial Number BBP1854
Time 10:54:36
Date 09/12/2023
|| Hardware Calibration Report ||
Hardware 0
===============================================================
Test Port 1
===========================================================
Mass Flow Trans
===========================================================
Transducer CTS A12-403 3LPM
Input AIN 2
Setpoint Pressure 1 25.000 psig
Setpoint Pressure 2 25.000 psig
Setpoint Pressure 3 25.000 psig
Setpoint Pressure 4 25.000 psig
Setpoint Pressure 5 25.000 psig
Setpoint Pressure 6 25.000 psig
Setpoint Pressure 7 25.000 psig
Setpoint Pressure 8 25.000 psig
Setpoint Pressure 9 25.000 psig
Setpoint Pressure 10 25.000 psig
Setpoint Pressure 11 25.000 psig
Analog Value 1 8678585 cnts
Analog Value 2 9239034 cnts
Analog Value 3 9799055 cnts
Analog Value 4 10365768 cnts
Analog Value 5 10941413 cnts
Analog Value 6 11514385 cnts
Analog Value 7 12077765 cnts
Analog Value 8 12636569 cnts
Analog Value 9 13202439 cnts
Analog Value 10 13782423 cnts
Analog Value 11 14371807 cnts
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Linearity 0.346 %
Last Cal Date 09/13/2022
Last Cal Time 11:11:22
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 130.000
Xdcr Zero LL 0.000 cnts
Xdcr Zero HL 0.000 cnts
Xdcr Zero Lwin -134218.000
Xdcr Zero Hwin 134218.000
Xdcr Analog Min 1.000 cnts
Xdcr Analog Max 16777214.000 cnts
Xdcr Base Min -447392.000
Xdcr Base Max 5726623.000
Setpoint Pressure 1 5.000 psig
Setpoint Pressure 2 5.000 psig
Setpoint Pressure 3 5.000 psig
Setpoint Pressure 4 5.000 psig
Setpoint Pressure 5 5.000 psig
Setpoint Pressure 6 5.000 psig
Setpoint Pressure 7 5.000 psig
Setpoint Pressure 8 5.000 psig
Setpoint Pressure 9 5.000 psig
Setpoint Pressure 10 5.000 psig
Setpoint Pressure 11 5.000 psig
Instrument Pressure 1 5.217 psig
Instrument Pressure 2 5.201 psig
Instrument Pressure 3 5.201 psig
Instrument Pressure 4 5.188 psig
Instrument Pressure 5 5.170 psig
Instrument Pressure 6 5.149 psig
Instrument Pressure 7 5.125 psig
Instrument Pressure 8 5.099 psig
Instrument Pressure 9 5.070 psig
Instrument Pressure 10 5.039 psig
Instrument Pressure 11 5.119 psig
Instrument Flow 1 -0.095 sccm
Instrument Flow 2 299.646 sccm
Instrument Flow 3 599.741 sccm
Instrument Flow 4 900.069 sccm
Instrument Flow 5 1200.751 sccm
Instrument Flow 6 1499.991 sccm
Instrument Flow 7 1798.289 sccm
Instrument Flow 8 2101.286 sccm
Instrument Flow 9 2396.702 sccm
Instrument Flow 10 2695.689 sccm
Instrument Flow 11 2990.915 sccm
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Master Reading 1 0.000 sccm
Master Reading 2 300.000 sccm
Master Reading 3 600.000 sccm
Master Reading 4 900.000 sccm
Master Reading 5 1200.000 sccm
Master Reading 6 1500.000 sccm
Master Reading 7 1800.000 sccm
Master Reading 8 2100.000 sccm
Master Reading 9 2400.000 sccm
Master Reading 10 2700.000 sccm
Master Reading 11 3000.000 sccm
Verify Date 09/12/2023
Verify Time 10:48:34
Pressure Transducer
===========================================================
Transducer CTS D34-441 45PSIA
Input AIN 1
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Analog Value 1 10119416 cnts
Analog Value 2 10831868 cnts
Analog Value 3 11542843 cnts
Analog Value 4 12251908 cnts
Analog Value 5 12959532 cnts
Analog Value 6 13665552 cnts
Master Value 1 0.001 psig
Master Value 2 6.001 psig
Master Value 3 12.001 psig
Master Value 4 18.001 psig
Master Value 5 24.001 psig
Master Value 6 30.001 psig
XDCR Analog ATM 10119513
Atm Pressure 0.000 bar
Linearity 0.077 %
Last Cal Date 09/20/2021
Last Cal Time 13:21:16
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 51.000
Xdcr Zero LL 9654557.000 cnts
Xdcr Zero HL 10485333.000 cnts
Xdcr Zero Lwin -2.498 psig
Xdcr Zero Hwin 2.502 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 8589935.000
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Instrument Pressure 1 0.000 psig
Instrument Pressure 2 6.000 psig
Instrument Pressure 3 11.999 psig
Instrument Pressure 4 17.999 psig
Instrument Pressure 5 24.000 psig
Instrument Pressure 6 29.999 psig
Master Value 1 0.000 psig
Master Value 2 6.000 psig
Master Value 3 12.000 psig
Master Value 4 18.000 psig
Master Value 5 24.000 psig
Master Value 6 30.000 psig
Verify Date 09/12/2023
Verify Time 10:01:52
Test Port 2
===========================================================
Mass Flow Trans
===========================================================
Transducer CTS A12-403 3LPM
Input AIN 4
Setpoint Pressure 1 25.000 psig
Setpoint Pressure 2 25.000 psig
Setpoint Pressure 3 25.000 psig
Setpoint Pressure 4 25.000 psig
Setpoint Pressure 5 25.000 psig
Setpoint Pressure 6 25.000 psig
Setpoint Pressure 7 25.000 psig
Setpoint Pressure 8 25.000 psig
Setpoint Pressure 9 25.000 psig
Setpoint Pressure 10 25.000 psig
Setpoint Pressure 11 25.000 psig
Analog Value 1 8678692 cnts
Analog Value 2 9236254 cnts
Analog Value 3 9794099 cnts
Analog Value 4 10367908 cnts
Analog Value 5 10944038 cnts
Analog Value 6 11519685 cnts
Analog Value 7 12092725 cnts
Analog Value 8 12672548 cnts
Analog Value 9 13246649 cnts
Analog Value 10 13828330 cnts
Analog Value 11 14438962 cnts
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Linearity 0.578 %
Last Cal Date 09/13/2022
Last Cal Time 11:24:51
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 87.000
Xdcr Zero LL 0.000 cnts
Xdcr Zero HL 0.000 cnts
Xdcr Zero Lwin -134218.000
Xdcr Zero Hwin 134218.000
Xdcr Analog Min 1.000 cnts
Xdcr Analog Max 16777214.000 cnts
Xdcr Base Min -447392.000
Xdcr Base Max 5726623.000
Setpoint Pressure 1 5.000 psig
Setpoint Pressure 2 5.000 psig
Setpoint Pressure 3 5.000 psig
Setpoint Pressure 4 5.000 psig
Setpoint Pressure 5 5.000 psig
Setpoint Pressure 6 5.000 psig
Setpoint Pressure 7 5.000 psig
Setpoint Pressure 8 5.000 psig
Setpoint Pressure 9 5.000 psig
Setpoint Pressure 10 5.000 psig
Setpoint Pressure 11 5.000 psig
Instrument Pressure 1 5.227 psig
Instrument Pressure 2 5.202 psig
Instrument Pressure 3 5.226 psig
Instrument Pressure 4 5.215 psig
Instrument Pressure 5 5.196 psig
Instrument Pressure 6 5.174 psig
Instrument Pressure 7 5.147 psig
Instrument Pressure 8 5.118 psig
Instrument Pressure 9 5.128 psig
Instrument Pressure 10 5.095 psig
Instrument Pressure 11 5.055 psig
Instrument Flow 1 -0.171 sccm
Instrument Flow 2 301.123 sccm
Instrument Flow 3 598.856 sccm
Instrument Flow 4 897.859 sccm
Instrument Flow 5 1198.569 sccm
Instrument Flow 6 1497.172 sccm
Instrument Flow 7 1800.646 sccm
Instrument Flow 8 2100.242 sccm
Instrument Flow 9 2396.398 sccm
Instrument Flow 10 2684.685 sccm (recheck 2692.22)
Instrument Flow 11 2981.059 sccm (recheck 3006.48)
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Master Reading 1 0.000 sccm
Master Reading 2 300.000 sccm
Master Reading 3 600.000 sccm
Master Reading 4 900.000 sccm
Master Reading 5 1200.000 sccm
Master Reading 6 1500.000 sccm
Master Reading 7 1800.000 sccm
Master Reading 8 2100.000 sccm
Master Reading 9 2400.000 sccm
Master Reading 10 2700.000 sccm
Master Reading 11 3000.000 sccm
Verify Date 09/12/2023
Verify Time 10:54:18
Pressure Transducer
===========================================================
Transducer CTS D34-441 45PSIA
Input AIN 3
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Analog Value 1 10063871 cnts
Analog Value 2 10774443 cnts
Analog Value 3 11484127 cnts
Analog Value 4 12191776 cnts
Analog Value 5 12897606 cnts
Analog Value 6 13601548 cnts
Master Value 1 0.001 psig
Master Value 2 6.001 psig
Master Value 3 12.001 psig
Master Value 4 18.001 psig
Master Value 5 24.001 psig
Master Value 6 30.001 psig
XDCR Analog ATM 10063060
Atm Pressure -0.000 bar
Linearity 0.084 %
Last Cal Date 09/20/2021
Last Cal Time 14:21:04
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 45.000
Xdcr Zero LL 9654557.000 cnts
Xdcr Zero HL 10485333.000 cnts
Xdcr Zero Lwin -2.506 psig
Xdcr Zero Hwin 2.494 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 8589935.000
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Instrument Pressure 1 0.000 psig
Instrument Pressure 2 6.000 psig
Instrument Pressure 3 11.997 psig
Instrument Pressure 4 17.996 psig
Instrument Pressure 5 23.997 psig
Instrument Pressure 6 29.999 psig
Master Value 1 0.000 psig
Master Value 2 6.000 psig
Master Value 3 12.000 psig
Master Value 4 18.000 psig
Master Value 5 24.000 psig
Master Value 6 30.000 psig
Verify Date 09/12/2023
Verify Time 10:03:15
Test Port 3
===========================================================
Mass Flow Trans
===========================================================
Transducer CTS A12-403 3LPM
Input AIN 6
Setpoint Pressure 1 25.000 psig
Setpoint Pressure 2 25.000 psig
Setpoint Pressure 3 25.000 psig
Setpoint Pressure 4 25.000 psig
Setpoint Pressure 5 25.000 psig
Setpoint Pressure 6 25.000 psig
Setpoint Pressure 7 25.000 psig
Setpoint Pressure 8 25.000 psig
Setpoint Pressure 9 25.000 psig
Setpoint Pressure 10 25.000 psig
Setpoint Pressure 11 25.000 psig
Analog Value 1 8681687 cnts
Analog Value 2 9238619 cnts
Analog Value 3 9805134 cnts
Analog Value 4 10406223 cnts
Analog Value 5 10962501 cnts
Analog Value 6 11528765 cnts
Analog Value 7 12091315 cnts
Analog Value 8 12665276 cnts
Analog Value 9 13259378 cnts
Analog Value 10 13832120 cnts
Analog Value 11 14456123 cnts
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Linearity 0.728 %
Last Cal Date 09/13/2022
Last Cal Time 11:34:20
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 197.000
Xdcr Zero LL 0.000 cnts
Xdcr Zero HL 0.000 cnts
Xdcr Zero Lwin -134218.000
Xdcr Zero Hwin 134218.000
Xdcr Analog Min 1.000 cnts
Xdcr Analog Max 16777214.000 cnts
Xdcr Base Min -447392.000
Xdcr Base Max 5726623.000
Setpoint Pressure 1 5.000 psig
Setpoint Pressure 2 5.000 psig
Setpoint Pressure 3 5.000 psig
Setpoint Pressure 4 5.000 psig
Setpoint Pressure 5 5.000 psig
Setpoint Pressure 6 5.000 psig
Setpoint Pressure 7 5.000 psig
Setpoint Pressure 8 5.000 psig
Setpoint Pressure 9 5.000 psig
Setpoint Pressure 10 5.000 psig
Setpoint Pressure 11 5.000 psig
Instrument Pressure 1 5.172 psig
Instrument Pressure 2 5.142 psig
Instrument Pressure 3 5.135 psig
Instrument Pressure 4 5.118 psig
Instrument Pressure 5 5.098 psig
Instrument Pressure 6 5.073 psig
Instrument Pressure 7 5.043 psig
Instrument Pressure 8 5.010 psig
Instrument Pressure 9 4.969 psig
Instrument Pressure 10 4.927 psig
Instrument Pressure 11 5.009 psig
Instrument Flow 1 -0.210 sccm
Instrument Flow 2 299.695 sccm
Instrument Flow 3 599.178 sccm
Instrument Flow 4 897.002 sccm
Instrument Flow 5 1196.053 sccm
Instrument Flow 6 1495.848 sccm
Instrument Flow 7 1803.176 sccm
Instrument Flow 8 2092.537 sccm
Instrument Flow 9 2399.192 sccm
Instrument Flow 10 2708.358 sccm
Instrument Flow 11 2981.288 sccm (recheck 3008.78)
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Master Reading 1 0.000 sccm
Master Reading 2 300.000 sccm
Master Reading 3 600.000 sccm
Master Reading 4 900.000 sccm
Master Reading 5 1200.000 sccm
Master Reading 6 1500.000 sccm
Master Reading 7 1800.000 sccm
Master Reading 8 2100.000 sccm
Master Reading 9 2400.000 sccm
Master Reading 10 2700.000 sccm
Master Reading 11 3000.000 sccm
Verify Date 09/12/2023
Verify Time 10:32:04
Pressure Transducer
===========================================================
Transducer CTS D34-441 45PSIA
Input AIN 5
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Analog Value 1 10084970 cnts
Analog Value 2 10802020 cnts
Analog Value 3 11517010 cnts
Analog Value 4 12230658 cnts
Analog Value 5 12942500 cnts
Analog Value 6 13652524 cnts
Master Value 1 0.001 psig
Master Value 2 6.001 psig
Master Value 3 12.001 psig
Master Value 4 18.001 psig
Master Value 5 24.001 psig
Master Value 6 30.001 psig
XDCR Analog ATM 10084926
Atm Pressure 0.000 bar
Linearity 0.080 %
Last Cal Date 09/20/2021
Last Cal Time 13:43:26
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 58.000
Xdcr Zero LL 9654557.000 cnts
Xdcr Zero HL 10485333.000 cnts
Xdcr Zero Lwin -2.499 psig
Xdcr Zero Hwin 2.501 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 8589935.000
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Instrument Pressure 1 0.000 psig
Instrument Pressure 2 5.997 psig
Instrument Pressure 3 11.997 psig
Instrument Pressure 4 17.993 psig
Instrument Pressure 5 23.993 psig
Instrument Pressure 6 29.991 psig
Master Value 1 0.000 psig
Master Value 2 6.000 psig
Master Value 3 12.000 psig
Master Value 4 18.000 psig
Master Value 5 24.000 psig
Master Value 6 30.000 psig
Verify Date 09/12/2023
Verify Time 10:05:52
Test Port 4
===========================================================
Mass Flow Trans
===========================================================
Transducer CTS A12-403 3LPM
Input AIN 8
Setpoint Pressure 1 25.000 psig
Setpoint Pressure 2 25.000 psig
Setpoint Pressure 3 25.000 psig
Setpoint Pressure 4 25.000 psig
Setpoint Pressure 5 25.000 psig
Setpoint Pressure 6 25.000 psig
Setpoint Pressure 7 25.000 psig
Setpoint Pressure 8 25.000 psig
Setpoint Pressure 9 25.000 psig
Setpoint Pressure 10 25.000 psig
Setpoint Pressure 11 25.000 psig
Analog Value 1 8676718 cnts
Analog Value 2 9230735 cnts
Analog Value 3 9794943 cnts
Analog Value 4 10362480 cnts
Analog Value 5 10937105 cnts
Analog Value 6 11501313 cnts
Analog Value 7 12075038 cnts
Analog Value 8 12644378 cnts
Analog Value 9 13229048 cnts
Analog Value 10 13835538 cnts
Analog Value 11 14386497 cnts
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Linearity 0.523 %
Last Cal Date 09/13/2022
Last Cal Time 11:44:19
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 28.000
Xdcr Zero LL 0.000 cnts
Xdcr Zero HL 0.000 cnts
Xdcr Zero Lwin -134218.000
Xdcr Zero Hwin 134218.000
Xdcr Analog Min 1.000 cnts
Xdcr Analog Max 16777214.000 cnts
Xdcr Base Min -447392.000
Xdcr Base Max 5726623.000
Setpoint Pressure 1 5.000 psig
Setpoint Pressure 2 5.000 psig
Setpoint Pressure 3 5.000 psig
Setpoint Pressure 4 5.000 psig
Setpoint Pressure 5 5.000 psig
Setpoint Pressure 6 5.000 psig
Setpoint Pressure 7 5.000 psig
Setpoint Pressure 8 5.000 psig
Setpoint Pressure 9 5.000 psig
Setpoint Pressure 10 5.000 psig
Setpoint Pressure 11 5.000 psig
Instrument Pressure 1 5.257 psig
Instrument Pressure 2 5.219 psig
Instrument Pressure 3 5.205 psig
Instrument Pressure 4 5.175 psig
Instrument Pressure 5 5.135 psig
Instrument Pressure 6 5.088 psig
Instrument Pressure 7 5.031 psig
Instrument Pressure 8 5.039 psig
Instrument Pressure 9 5.005 psig
Instrument Pressure 10 5.020 psig
Instrument Pressure 11 5.019 psig
Instrument Flow 1 -0.202 sccm
Instrument Flow 2 301.355 sccm
Instrument Flow 3 600.977 sccm
Instrument Flow 4 899.290 sccm
Instrument Flow 5 1202.057 sccm
Instrument Flow 6 1503.597 sccm
Instrument Flow 7 1805.101 sccm
Instrument Flow 8 2100.563 sccm
Instrument Flow 9 2405.936 sccm
Instrument Flow 10 2701.836 sccm
Instrument Flow 11 3013.153 sccm (recheck 3004.25)
Master Value 1 0.000 sccm
Master Value 2 300.000 sccm
Master Value 3 600.000 sccm
Master Value 4 900.000 sccm
Master Value 5 1200.000 sccm
Master Value 6 1500.000 sccm
Master Value 7 1800.000 sccm
Master Value 8 2100.000 sccm
Master Value 9 2400.000 sccm
Master Value 10 2700.000 sccm
Master Value 11 3000.000 sccm
Master Reading 1 0.000 sccm
Master Reading 2 300.000 sccm
Master Reading 3 600.000 sccm
Master Reading 4 900.000 sccm
Master Reading 5 1200.000 sccm
Master Reading 6 1500.000 sccm
Master Reading 7 1800.000 sccm
Master Reading 8 2100.000 sccm
Master Reading 9 2400.000 sccm
Master Reading 10 2700.000 sccm
Master Reading 11 3000.000 sccm
Verify Date 09/12/2023
Verify Time 10:39:54
Pressure Transducer
===========================================================
Transducer CTS D34-441 45PSIA
Input AIN 7
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Analog Value 1 10110263 cnts
Analog Value 2 10821390 cnts
Analog Value 3 11530970 cnts
Analog Value 4 12239273 cnts
Analog Value 5 12945716 cnts
Analog Value 6 13650661 cnts
Master Value 1 0.001 psig
Master Value 2 6.001 psig
Master Value 3 12.001 psig
Master Value 4 18.001 psig
Master Value 5 24.001 psig
Master Value 6 30.001 psig
XDCR Analog ATM 10110138
Atm Pressure -0.000 bar
Linearity 0.074 %
Last Cal Date 09/20/2021
Last Cal Time 13:51:42
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 176.000
Xdcr Zero LL 9654557.000 cnts
Xdcr Zero HL 10485333.000 cnts
Xdcr Zero Lwin -2.500 psig
Xdcr Zero Hwin 2.500 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 8589935.000
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Instrument Pressure 1 -0.000 psig
Instrument Pressure 2 5.999 psig
Instrument Pressure 3 11.998 psig
Instrument Pressure 4 17.995 psig
Instrument Pressure 5 23.994 psig
Instrument Pressure 6 29.990 psig
Master Value 1 0.000 psig
Master Value 2 6.000 psig
Master Value 3 12.000 psig
Master Value 4 18.000 psig
Master Value 5 24.000 psig
Master Value 6 30.000 psig
Verify Date 09/12/2023
Verify Time 10:08:43

View File

@ -0,0 +1,264 @@
|| Instrument Info ||
Instrument Name Blackbelt Pro
Serial Number BBP1354
Time 09:34:48
Date 07/26/2023
|| Hardware Calibration Report ||
Hardware 0
===============================================================
Test Port 1
===========================================================
Pressure Transducer
===========================================================
Transducer CTS D34-440 20PSIA
Input AIN 1
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Analog Value 1 8894122 cnts
Analog Value 2 9560526 cnts
Analog Value 3 10227584 cnts
Analog Value 4 10895537 cnts
Analog Value 5 11563897 cnts
Analog Value 6 12232515 cnts
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
XDCR Analog ATM 12233332
Atm Pressure 0.000 bar
Linearity 0.031 %
Last Cal Date 06/11/2018
Last Cal Time 10:30:40
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 46.000
Xdcr Zero LL 11247200.000 cnts
Xdcr Zero HL 13114800.000 cnts
Xdcr Zero Lwin -2.497 psig
Xdcr Zero Hwin 2.503 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 2147484.000
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Instrument Pressure 1 -12.496 psig
Instrument Pressure 2 -9.997 psig
Instrument Pressure 3 -7.497 psig
Instrument Pressure 4 -4.998 psig
Instrument Pressure 5 -2.499 psig
Instrument Pressure 6 0.000 psig
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
Verify Date 07/26/2023
Verify Time 09:28:04
Test Port 2
===========================================================
Pressure Transducer
===========================================================
Transducer CTS D34-440 20PSIA
Input AIN 3
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Analog Value 1 8887041 cnts
Analog Value 2 9555883 cnts
Analog Value 3 10226078 cnts
Analog Value 4 10897254 cnts
Analog Value 5 11568951 cnts
Analog Value 6 12241139 cnts
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
XDCR Analog ATM 12242088
Atm Pressure 0.000 bar
Linearity 0.045 %
Last Cal Date 06/11/2018
Last Cal Time 10:37:51
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 45.000
Xdcr Zero LL 11247200.000 cnts
Xdcr Zero HL 13114800.000 cnts
Xdcr Zero Lwin -2.496 psig
Xdcr Zero Hwin 2.504 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 2147484.000
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Instrument Pressure 1 -12.498 psig
Instrument Pressure 2 -9.999 psig
Instrument Pressure 3 -7.500 psig
Instrument Pressure 4 -5.001 psig
Instrument Pressure 5 -2.500 psig
Instrument Pressure 6 0.000 psig
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
Verify Date 07/26/2023
Verify Time 09:31:34
Test Port 3
===========================================================
Pressure Transducer
===========================================================
Transducer CTS D34-440 20PSIA
Input AIN 5
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Analog Value 1 8890113 cnts
Analog Value 2 9558851 cnts
Analog Value 3 10228530 cnts
Analog Value 4 10899533 cnts
Analog Value 5 11571055 cnts
Analog Value 6 12243025 cnts
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
XDCR Analog ATM 12244347
Atm Pressure 0.000 bar
Linearity 0.045 %
Last Cal Date 06/11/2018
Last Cal Time 10:45:40
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 49.000
Xdcr Zero LL 11247200.000 cnts
Xdcr Zero HL 13114800.000 cnts
Xdcr Zero Lwin -2.495 psig
Xdcr Zero Hwin 2.505 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 2147484.000
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Instrument Pressure 1 -12.504 psig
Instrument Pressure 2 -10.004 psig
Instrument Pressure 3 -7.501 psig
Instrument Pressure 4 -5.002 psig
Instrument Pressure 5 -2.500 psig
Instrument Pressure 6 -0.000 psig
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
Verify Date 07/20/2022
Verify Time 14:16:39
Test Port 4
===========================================================
Pressure Transducer
===========================================================
Transducer CTS D34-440 20PSIA
Input AIN 7
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Analog Value 1 8923563 cnts
Analog Value 2 9594383 cnts
Analog Value 3 10266134 cnts
Analog Value 4 10938944 cnts
Analog Value 5 11612147 cnts
Analog Value 6 12285797 cnts
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
XDCR Analog ATM 12286594
Atm Pressure 0.000 bar
Linearity 0.039 %
Last Cal Date 06/11/2018
Last Cal Time 10:53:19
Xdcr Filter Code Med, J-Filter
Xdcr Typ Residual 49.000
Xdcr Zero LL 11247200.000 cnts
Xdcr Zero HL 13114800.000 cnts
Xdcr Zero Lwin -2.497 psig
Xdcr Zero Hwin 2.503 psig
Xdcr Analog Min 5699952.000 cnts
Xdcr Analog Max 15110248.000 cnts
Xdcr Base Min -4294967.000
Xdcr Base Max 2147484.000
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Instrument Pressure 1 -12.500 psig
Instrument Pressure 2 -10.000 psig
Instrument Pressure 3 -7.499 psig
Instrument Pressure 4 -5.000 psig
Instrument Pressure 5 -2.500 psig
Instrument Pressure 6 0.000 psig
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
Verify Date 07/26/2023
Verify Time 09:34:30

View File

@ -5,5 +5,5 @@ const file = fs.readFileSync("src/parsers/__tests__/hardware_calibration.txt", '
test('parseHardwareCalibration', () => {
const hardware = parseHardwareCalibration(file, 0.05)
console.log(hardware)
// console.log(hardware)
});

View File

@ -1,9 +1,46 @@
import {tr} from "date-fns/locale";
const fs = require('fs');
const path = require('path');
import parseTransducer from "../Transducer"
const file = fs.readFileSync("src/parsers/__tests__/transducer_verify.txt", 'utf8')
// const file = fs.readFileSync("src/parsers/__tests__/transducer_verify.txt", 'utf8')
test('parseTransducer', () => {
const transducer = parseTransducer(file, 0.05)
console.log(transducer)
});
function readFiles(dir) {
const files = [];
fs.readdirSync(dir).forEach(filename => {
const name = path.parse(filename).name;
const ext = path.parse(filename).ext;
const filepath = path.resolve(dir, filename);
const stat = fs.statSync(filepath);
const isFile = stat.isFile();
if (isFile) {
const content = fs.readFileSync(filepath, 'utf8');
files.push({ filepath, name, ext, stat, content });
}
});
return files;
}
describe("Test for all files", () => {
let files = readFiles("src/parsers/__tests__/transducer_verify/");
for (const file of files) {
test(`Can parse ${file.name}`, () => {
const transducers = parseTransducer(file.name, file.content, 0.05)
expect(transducers.length).toBeGreaterThan(0)
for (const transducer of transducers) {
expect(transducer).toHaveProperty("Part Number")
expect(transducer).toHaveProperty("Transducer Name")
expect(transducer).toHaveProperty("Gauge Reading")
expect(transducer).toHaveProperty("Master Value")
expect(transducer["Gauge Reading"].length).toBeGreaterThan(1);
expect(transducer["Master Value"].length).toBe(transducer["Gauge Reading"].length);
}
});
}
});

View File

@ -0,0 +1,86 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-442 115PSIA
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 20.000 psig
Setpoint Pressure 3 40.000 psig
Setpoint Pressure 4 60.000 psig
Setpoint Pressure 5 80.000 psig
Setpoint Pressure 6 100.000 psig
Instrument Pressure 1 -0.001 psig
Instrument Pressure 2 19.997 psig
Instrument Pressure 3 39.997 psig
Instrument Pressure 4 60.003 psig
Instrument Pressure 5 80.004 psig
Instrument Pressure 6 100.010 psig
Master Value 1 0.000 psig
Master Value 2 20.000 psig
Master Value 3 40.000 psig
Master Value 4 60.000 psig
Master Value 5 80.000 psig
Master Value 6 100.000 psig
Verify Date 06/01/22
Verify Time 11:11:35
TRANSDUCER2
===============================================================
Transducer 2 CTS A12-403 3LPM
Setpoint Pressure 1 25.000 psig
Setpoint Pressure 2 25.000 psig
Setpoint Pressure 3 25.000 psig
Setpoint Pressure 4 25.000 psig
Setpoint Pressure 5 25.000 psig
Setpoint Pressure 6 25.000 psig
Setpoint Pressure 7 25.000 psig
Setpoint Pressure 8 25.000 psig
Setpoint Pressure 9 25.000 psig
Setpoint Pressure 10 25.000 psig
Setpoint Pressure 11 25.000 psig
Instrument Pressure 1 25.231 psig
Instrument Pressure 2 25.205 psig
Instrument Pressure 3 25.184 psig
Instrument Pressure 4 25.168 psig
Instrument Pressure 5 25.151 psig
Instrument Pressure 6 25.133 psig
Instrument Pressure 7 25.112 psig
Instrument Pressure 8 25.087 psig
Instrument Pressure 9 25.064 psig
Instrument Pressure 10 25.035 psig
Instrument Pressure 11 25.005 psig
Instrument Flow 1 5.57 sccm
Instrument Flow 2 309.03 sccm
Instrument Flow 3 610.61 sccm
Instrument Flow 4 910.15 sccm
Instrument Flow 5 1203.70 sccm
Instrument Flow 6 1509.97 sccm
Instrument Flow 7 1812.97 sccm
Instrument Flow 8 2099.54 sccm
Instrument Flow 9 2405.21 sccm
Instrument Flow 10 2704.10 sccm
Instrument Flow 11 3004.61 sccm
Master Reading 1 0.00 sccm
Master Reading 2 300.00 sccm
Master Reading 3 600.00 sccm
Master Reading 4 900.00 sccm
Master Reading 5 1200.00 sccm
Master Reading 6 1500.00 sccm
Master Reading 7 1800.00 sccm
Master Reading 8 2100.00 sccm
Master Reading 9 2400.00 sccm
Master Reading 10 2700.00 sccm
Master Reading 11 3000.00 sccm
Master Value 1 0.00 sccm
Master Value 2 300.00 sccm
Master Value 3 600.00 sccm
Master Value 4 900.00 sccm
Master Value 5 1200.00 sccm
Master Value 6 1500.00 sccm
Master Value 7 1800.00 sccm
Master Value 8 2100.00 sccm
Master Value 9 2400.00 sccm
Master Value 10 2700.00 sccm
Master Value 11 3000.00 sccm
Verify Date 06/01/22
Verify Time 14:37:13

View File

@ -0,0 +1,25 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-441 45PSIA
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Instrument Pressure 1 -0.001 psig
Instrument Pressure 2 5.999 psig
Instrument Pressure 3 12.004 psig
Instrument Pressure 4 17.995 psig
Instrument Pressure 5 23.993 psig
Instrument Pressure 6 29.991 psig
Master Value 1 0.000 psig
Master Value 2 6.000 psig
Master Value 3 12.000 psig
Master Value 4 18.000 psig
Master Value 5 24.000 psig
Master Value 6 30.000 psig
Verify Date 10/02/23
Verify Time 10:27:24

View File

@ -0,0 +1,25 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-440 20PSIA
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Instrument Pressure 1 -12.495 psig
Instrument Pressure 2 -10.000 psig
Instrument Pressure 3 -7.501 psig
Instrument Pressure 4 -5.001 psig
Instrument Pressure 5 -2.500 psig
Instrument Pressure 6 -0.001 psig
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
Verify Date 08/08/22
Verify Time 08:20:23

View File

@ -0,0 +1,55 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-441 45PSIA
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Setpoint Pressure 7 6.000 psig
Setpoint Pressure 8 12.000 psig
Setpoint Pressure 9 18.000 psig
Setpoint Pressure 10 24.000 psig
Setpoint Pressure 11 30.000 psig
Instrument Pressure 1 -12.505 psig
Instrument Pressure 2 -10.005 psig
Instrument Pressure 3 -7.505 psig
Instrument Pressure 4 -5.003 psig
Instrument Pressure 5 -2.503 psig
Instrument Pressure 6 -0.001 psig
Instrument Pressure 7 6.001 psig
Instrument Pressure 8 12.004 psig
Instrument Pressure 9 18.007 psig
Instrument Pressure 10 24.009 psig
Instrument Pressure 11 30.010 psig
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
Master Value 7 6.000 psig
Master Value 8 12.000 psig
Master Value 9 18.000 psig
Master Value 10 24.000 psig
Master Value 11 30.000 psig
Verify Date 11/17/21
Verify Time 15:47:31
TRANSDUCER2
===============================================================
Transducer 2 CTS P10-075 5PSID
Setpoint Pressure 1 -4.500 psig
Setpoint Pressure 2 0.000 psig
Setpoint Pressure 3 4.500 psig
Instrument Pressure 1 -4.501 psig
Instrument Pressure 2 -0.002 psig
Instrument Pressure 3 4.497 psig
Master Value 1 -4.500 psig
Master Value 2 0.000 psig
Master Value 3 4.500 psig
Verify Date 02/03/22
Verify Time 11:25:00

View File

@ -0,0 +1,86 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-440 20PSIA
Setpoint Pressure 1 -12.500 psig
Setpoint Pressure 2 -10.000 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -5.000 psig
Setpoint Pressure 5 -2.500 psig
Setpoint Pressure 6 0.000 psig
Instrument Pressure 1 -12.502 psig
Instrument Pressure 2 -10.001 psig
Instrument Pressure 3 -7.502 psig
Instrument Pressure 4 -4.999 psig
Instrument Pressure 5 -2.500 psig
Instrument Pressure 6 -0.001 psig
Master Value 1 -12.500 psig
Master Value 2 -10.000 psig
Master Value 3 -7.500 psig
Master Value 4 -5.000 psig
Master Value 5 -2.500 psig
Master Value 6 0.000 psig
Verify Date 05/19/22
Verify Time 16:03:01
TRANSDUCER3
===============================================================
Transducer 3 CTS A12-220 50SCCM
Setpoint Pressure 1 -7.500 psig
Setpoint Pressure 2 -7.500 psig
Setpoint Pressure 3 -7.500 psig
Setpoint Pressure 4 -7.500 psig
Setpoint Pressure 5 -7.500 psig
Setpoint Pressure 6 -7.500 psig
Setpoint Pressure 7 -7.500 psig
Setpoint Pressure 8 -7.500 psig
Setpoint Pressure 9 -7.500 psig
Setpoint Pressure 10 -7.500 psig
Setpoint Pressure 11 -7.500 psig
Instrument Pressure 1 -7.566 psig
Instrument Pressure 2 -7.551 psig
Instrument Pressure 3 -7.533 psig
Instrument Pressure 4 -7.516 psig
Instrument Pressure 5 -7.500 psig
Instrument Pressure 6 -7.458 psig
Instrument Pressure 7 -7.536 psig
Instrument Pressure 8 -7.502 psig
Instrument Pressure 9 -7.492 psig
Instrument Pressure 10 -7.474 psig
Instrument Pressure 11 -7.461 psig
Instrument Flow 1 0.02 sccm
Instrument Flow 2 4.91 sccm
Instrument Flow 3 10.07 sccm
Instrument Flow 4 15.03 sccm
Instrument Flow 5 19.93 sccm
Instrument Flow 6 24.97 sccm
Instrument Flow 7 29.92 sccm
Instrument Flow 8 34.98 sccm
Instrument Flow 9 40.03 sccm
Instrument Flow 10 44.96 sccm
Instrument Flow 11 49.99 sccm
Master Reading 1 0.00 sccm
Master Reading 2 5.00 sccm
Master Reading 3 10.00 sccm
Master Reading 4 15.00 sccm
Master Reading 5 20.00 sccm
Master Reading 6 25.00 sccm
Master Reading 7 30.00 sccm
Master Reading 8 35.00 sccm
Master Reading 9 40.00 sccm
Master Reading 10 45.00 sccm
Master Reading 11 50.00 sccm
Master Value 1 0.00 sccm
Master Value 2 5.00 sccm
Master Value 3 10.00 sccm
Master Value 4 15.00 sccm
Master Value 5 20.00 sccm
Master Value 6 25.00 sccm
Master Value 7 30.00 sccm
Master Value 8 35.00 sccm
Master Value 9 40.00 sccm
Master Value 10 45.00 sccm
Master Value 11 50.00 sccm
Verify Date 05/19/22
Verify Time 17:04:11

View File

@ -0,0 +1,40 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-442 115PSIA
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 20.000 psig
Setpoint Pressure 3 40.000 psig
Setpoint Pressure 4 60.000 psig
Setpoint Pressure 5 80.000 psig
Setpoint Pressure 6 100.000 psig
Instrument Pressure 1 -0.001 psig
Instrument Pressure 2 19.997 psig
Instrument Pressure 3 39.999 psig
Instrument Pressure 4 60.002 psig
Instrument Pressure 5 79.996 psig
Instrument Pressure 6 100.008 psig
Master Value 1 0.000 psig
Master Value 2 20.000 psig
Master Value 3 40.000 psig
Master Value 4 60.000 psig
Master Value 5 80.000 psig
Master Value 6 100.000 psig
Verify Date 11/03/22
Verify Time 08:27:34
TRANSDUCER2
===============================================================
Transducer 2 CTS P10-075 5PSID
Setpoint Pressure 1 -4.500 psig
Setpoint Pressure 2 0.000 psig
Setpoint Pressure 3 4.500 psig
Instrument Pressure 1 -4.500 psig
Instrument Pressure 2 0.000 psig
Instrument Pressure 3 4.498 psig
Master Value 1 -4.500 psig
Master Value 2 0.000 psig
Master Value 3 4.500 psig
Verify Date 11/03/22
Verify Time 08:43:31

View File

@ -0,0 +1,40 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-441 45PSIA
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 6.000 psig
Setpoint Pressure 3 12.000 psig
Setpoint Pressure 4 18.000 psig
Setpoint Pressure 5 24.000 psig
Setpoint Pressure 6 30.000 psig
Instrument Pressure 1 -0.000 psig
Instrument Pressure 2 5.990 psig
Instrument Pressure 3 11.998 psig
Instrument Pressure 4 18.004 psig
Instrument Pressure 5 24.006 psig
Instrument Pressure 6 30.002 psig
Master Value 1 0.000 psig
Master Value 2 6.000 psig
Master Value 3 12.000 psig
Master Value 4 18.000 psig
Master Value 5 24.000 psig
Master Value 6 30.000 psig
Verify Date 03/23/23
Verify Time 15:47:14
TRANSDUCER2
===============================================================
Transducer 2 CTS P10-075 5PSID
Setpoint Pressure 1 -4.500 psig
Setpoint Pressure 2 0.000 psig
Setpoint Pressure 3 4.500 psig
Instrument Pressure 1 -4.469 psig
Instrument Pressure 2 0.028 psig
Instrument Pressure 3 4.523 psig
Master Value 1 -4.500 psig
Master Value 2 0.000 psig
Master Value 3 4.500 psig
Verify Date 03/23/23
Verify Time 15:49:23

View File

@ -1,16 +0,0 @@
"""
ASGI config for benchtopdevices project.
It exposes the ASGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/
"""
import os
from django.core.asgi import get_asgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'benchtopdevices.settings')
application = get_asgi_application()

View File

@ -1,134 +0,0 @@
"""
Django settings for benchtopdevices project.
Generated by 'django-admin startproject' using Django 4.2.3.
For more information on this file, see
https://docs.djangoproject.com/en/4.2/topics/settings/
For the full list of settings and their values, see
https://docs.djangoproject.com/en/4.2/ref/settings/
"""
from pathlib import Path
# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
# Quick-start development settings - unsuitable for production
# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'django-insecure-=$1$b*-dgj6+@&-=yl*xsw@if=t%em(u_-i_^p4+-k0^nsg=--'
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
# Application definition
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'debug_toolbar',
'sheets',
'rest_framework',
]
MIDDLEWARE = [
'debug_toolbar.middleware.DebugToolbarMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
ROOT_URLCONF = 'benchtopdevices.urls'
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
WSGI_APPLICATION = 'benchtopdevices.wsgi.application'
# Database
# https://docs.djangoproject.com/en/4.2/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
# Password validation
# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators
AUTH_PASSWORD_VALIDATORS = [
{
'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
},
{
'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
},
]
# Internationalization
# https://docs.djangoproject.com/en/4.2/topics/i18n/
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'America/New_York'
USE_I18N = True
USE_TZ = True
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/4.2/howto/static-files/
STATIC_URL = 'static/'
# Default primary key field type
# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field
DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField'
INTERNAL_IPS = [
# ...
"127.0.0.1",
# ...
]

View File

@ -1,24 +0,0 @@
"""
URL configuration for benchtopdevices project.
The `urlpatterns` list routes URLs to views. For more information please see:
https://docs.djangoproject.com/en/4.2/topics/http/urls/
Examples:
Function views
1. Add an import: from my_app import views
2. Add a URL to urlpatterns: path('', views.home, name='home')
Class-based views
1. Add an import: from other_app.views import Home
2. Add a URL to urlpatterns: path('', Home.as_view(), name='home')
Including another URLconf
1. Import the include() function: from django.urls import include, path
2. Add a URL to urlpatterns: path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('', include('sheets.urls')),
path('admin/', admin.site.urls),
path("__debug__/", include("debug_toolbar.urls")),
]

View File

@ -1,16 +0,0 @@
"""
WSGI config for benchtopdevices project.
It exposes the WSGI callable as a module-level variable named ``application``.
For more information on this file, see
https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/
"""
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'benchtopdevices.settings')
application = get_wsgi_application()

View File

@ -1,22 +0,0 @@
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'benchtopdevices.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()

View File

@ -1,4 +0,0 @@
django
psycopg2-binary
django-debug-toolbar
django-rest-framework

View File

@ -1,10 +0,0 @@
from django.contrib import admin
from .models import (
Sheet
)
class SheetAdmin(admin.ModelAdmin):
pass
admin.site.register(Sheet, SheetAdmin)

View File

@ -1,6 +0,0 @@
from django.apps import AppConfig
class SheetsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'sheets'

View File

@ -1,67 +0,0 @@
from django import forms
from django.forms.widgets import ClearableFileInput
from django.db import models
from django.utils.translation import gettext_lazy as _
from .models import Sheet
class SheetForm(forms.ModelForm):
class Meta:
model = Sheet
fields = [
"customer_name",
"onsite_cal",
"control_doc",
"technician",
"instrument_model",
"instrument_calibration_date",
"instrument_calibration_due_date",
"serial_number",
"channel",
"transducer_model",
"transducer_span",
"calibration_serial",
"calibration_model",
"calibration_date",
"calibration_due_date",
"calibration_cert_id",
"accuracy",
"barometric_pressure",
"temperature",
"humidity",
"report_type",
"transducer_type",
"as_found",
"as_left",
"both",
]
widgets = {
"accuracy": forms.NumberInput(attrs={'step': 0.01}),
"barometric_pressure": forms.NumberInput(attrs={'step': 0.01, 'max': 1100, 'min': 800}),
"temperature": forms.NumberInput(attrs={'step': 0.01, 'max': 1000.0, 'min': -459.67}),
"humidity": forms.NumberInput(attrs={'step': 0.01, 'max': 100.0, 'min': 0.0}),
"calibration_date": forms.SelectDateWidget(years=range(2020, 2030)),
"calibration_due_date": forms.SelectDateWidget(years=range(2020, 2030)),
"instrument_calibration_date": forms.SelectDateWidget(years=range(2020, 2030)),
"instrument_calibration_due_date": forms.SelectDateWidget(years=range(2020, 2030)),
}
def __init__(self, *args, **kwargs):
super(SheetForm, self).__init__(*args, **kwargs)
for name, field in self.fields.items():
# add v-model to each model field
if isinstance(field, forms.fields.FileField):
field.widget.attrs.update(
{
'v-on:change': f"change_{name}",
'v-if': f"show_{name}"
})
else:
field.widget.attrs.update({'v-model': name})

View File

@ -1,38 +0,0 @@
# Generated by Django 4.2.5 on 2023-09-18 17:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
]
operations = [
migrations.CreateModel(
name='Sheet',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('customer_name', models.CharField(max_length=256)),
('customer_address', models.CharField(max_length=256)),
('serial_number', models.CharField(max_length=256)),
('accuracy', models.FloatField()),
('barometric_pressure', models.FloatField()),
('temperature', models.FloatField()),
('humidity', models.FloatField()),
('report_type', models.CharField(choices=[('TV', 'Transducer Verify'), ('HC', 'Hardware Calibration')], max_length=256)),
('as_found', models.FileField(blank=True, upload_to='')),
('as_left', models.FileField(blank=True, upload_to='')),
('both', models.FileField(blank=True, upload_to='')),
('calibration_cert_id', models.CharField(default=0, max_length=100)),
('calibration_date', models.DateField(default=0)),
('calibration_due_date', models.DateField(default=0)),
('calibration_model', models.CharField(default=0, max_length=100)),
('calibration_serial', models.CharField(default=0, max_length=100)),
('channel', models.CharField(default=0, max_length=256)),
('instrument_model', models.CharField(default=0, max_length=256)),
('transducer_model', models.CharField(default=0, max_length=256)),
('transducer_span', models.CharField(default=0, max_length=256)),
],
),
]

View File

@ -1,58 +0,0 @@
# Generated by Django 4.2.5 on 2023-09-18 17:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sheets', '0001_initial'),
]
operations = [
migrations.AlterField(
model_name='sheet',
name='calibration_cert_id',
field=models.CharField(max_length=100),
),
migrations.AlterField(
model_name='sheet',
name='calibration_date',
field=models.DateField(),
),
migrations.AlterField(
model_name='sheet',
name='calibration_due_date',
field=models.DateField(),
),
migrations.AlterField(
model_name='sheet',
name='calibration_model',
field=models.CharField(max_length=100),
),
migrations.AlterField(
model_name='sheet',
name='calibration_serial',
field=models.CharField(max_length=100),
),
migrations.AlterField(
model_name='sheet',
name='channel',
field=models.CharField(max_length=256),
),
migrations.AlterField(
model_name='sheet',
name='instrument_model',
field=models.CharField(max_length=256),
),
migrations.AlterField(
model_name='sheet',
name='transducer_model',
field=models.CharField(max_length=256),
),
migrations.AlterField(
model_name='sheet',
name='transducer_span',
field=models.CharField(max_length=256),
),
]

View File

@ -1,34 +0,0 @@
# Generated by Django 4.2.5 on 2023-09-18 17:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sheets', '0002_alter_sheet_calibration_cert_id_and_more'),
]
operations = [
migrations.RemoveField(
model_name='sheet',
name='customer_address',
),
migrations.AddField(
model_name='sheet',
name='control_doc',
field=models.CharField(default=0, max_length=256),
preserve_default=False,
),
migrations.AddField(
model_name='sheet',
name='onsite_cal',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='sheet',
name='technician',
field=models.CharField(default=0, max_length=256),
preserve_default=False,
),
]

View File

@ -1,18 +0,0 @@
# Generated by Django 4.2.5 on 2023-10-05 03:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sheets', '0003_remove_sheet_customer_address_sheet_control_doc_and_more'),
]
operations = [
migrations.AddField(
model_name='sheet',
name='kind',
field=models.CharField(blank=True, choices=[('p', 'Pressure Transducer'), ('f', 'Flow Transducer')], max_length=256),
),
]

View File

@ -1,22 +0,0 @@
# Generated by Django 4.2.5 on 2023-10-05 03:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('sheets', '0004_sheet_kind'),
]
operations = [
migrations.RemoveField(
model_name='sheet',
name='kind',
),
migrations.AddField(
model_name='sheet',
name='transducer_type',
field=models.CharField(blank=True, choices=[('Pressure', 'Pressure Transducer'), ('Flow', 'Flow Transducer')], max_length=256),
),
]

View File

@ -1,26 +0,0 @@
# Generated by Django 4.2.5 on 2023-10-05 03:42
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('sheets', '0005_remove_sheet_kind_sheet_transducer_type'),
]
operations = [
migrations.AddField(
model_name='sheet',
name='instrument_calibration_date',
field=models.DateField(default=django.utils.timezone.now),
preserve_default=False,
),
migrations.AddField(
model_name='sheet',
name='instrument_calibration_due_date',
field=models.DateField(default=django.utils.timezone.now),
preserve_default=False,
),
]

View File

@ -1,54 +0,0 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
class Sheet(models.Model):
instrument_model = models.CharField(max_length=256)
instrument_calibration_date = models.DateField()
instrument_calibration_due_date = models.DateField()
serial_number = models.CharField(max_length=256)
channel = models.CharField(max_length=256)
transducer_model = models.CharField(max_length=256)
transducer_span = models.CharField(max_length=256)
customer_name = models.CharField(max_length=256)
onsite_cal = models.BooleanField(default=False)
control_doc = models.CharField(max_length=256)
technician = models.CharField(max_length=256)
accuracy = models.FloatField()
barometric_pressure = models.FloatField()
temperature = models.FloatField()
humidity = models.FloatField()
calibration_serial = models.CharField(max_length=100)
calibration_model = models.CharField(max_length=100)
calibration_date = models.DateField()
calibration_due_date = models.DateField()
calibration_cert_id = models.CharField(max_length=100)
CHOICES = [
('TV', _('Transducer Verify')),
('HC', _('Hardware Calibration'))
]
report_type = models.CharField(
max_length=256,
choices=CHOICES,
)
TRANSDUCER_TYPES = [
('Pressure', _('Pressure Transducer')),
('Flow', _('Flow Transducer'))
]
transducer_type = models.CharField(
max_length=256,
choices=TRANSDUCER_TYPES,
blank=True
)
as_found = models.FileField(blank=True)
as_left = models.FileField(blank=True)
both = models.FileField(blank=True)

View File

@ -1,2 +0,0 @@
from .hardware import parse_hardware_calibration
from .transducer import parse_transducer

View File

@ -1,68 +0,0 @@
import re
def parse_instrument_info(text):
instrument_info = {}
# Regex pattern for key-value pairs in the instrument info section
for line in text.split("\n")[2:]:
if line:
key, value = re.sub(r"\s\s+", "`", line.strip()).split("`")
instrument_info[key.strip()] = value.strip()
return instrument_info
def parse_ports(text):
text = f"{text}\n\n" # ensure extra newline to match on
pattern = r"(Test Port \d)"
matches = re.split(pattern, text)[1:]
m = dict(list(zip(matches[0::2], matches[1::2])))
calibration_data = {}
for port, calibration in m.items():
calibration_data[port] = parse_calibration_data(calibration)
return calibration_data
KEEP = {
"Mass Flow Trans": ("Instrument Flow", "Master Reading"),
"Pressure Transducer": ("Instrument Pressure", "Master Value"),
}
def parse_calibration_data(text):
# Regex pattern for each block in the calibration data section per Port
pattern = r"(Mass Flow Trans|Pressure Transducer)\n(.+?)\n\n"
matches = re.findall(pattern, text, re.DOTALL)
calibration_data = {}
for block_title, block_content in matches:
lines = block_content.strip().split("\n")
lines.pop(0) # Go away =======
device_name = lines.pop(0).strip().split(None, 1)[-1].strip()
device_data = {"name": device_name}
for line in lines:
key, value = re.sub(r"\s\s+", "`", line.strip()).split("`")
# Only keep the fields we want
for start in KEEP[block_title]:
key = key.strip()
if key.startswith(start):
device_data[key] = value.strip()
calibration_data[block_title] = device_data
return calibration_data
def parse_hardware_calibration(content, accuracy):
# Split the content into instrument info and calibration data sections
info_section, calibration_section = content.split(
"|| Hardware Calibration Report ||"
)
instrument_info = parse_instrument_info(info_section)
calibration_data = parse_ports(calibration_section)
return {"instrument": instrument_info, "calibration": calibration_data}
if __name__ == "__main__":
file_path = "./hardware_calibration.txt" # Replace with the actual file path
with open(file_path, "r") as file:
content = file.read()
data = parse_file(file_path)

View File

@ -1,129 +0,0 @@
import re
import json
def in_range(index, value, master_values):
return (
master_values[index]["Low Limit"] <= value <= master_values[index]["High Limit"]
)
def delta(index, value, master_values):
return abs(master_values[index]["Low Limit"] - value)
def parse_transducer(content, accuracy):
accuracy = accuracy/100.0 # Comes in as Percent
transducer_data = []
# Split the content into sections based on the blank line
sections = content.strip().split("\n\n")
for section in sections:
# Split each section into lines
lines = section.strip().split("\n")
lines = [
line.strip()
for line in lines
if not line.startswith("==") and line != "|| Transducer Verify Report ||"
]
lines.pop(0)
# Extract the Transducer number and Transducer type
transducer_line = lines.pop(0).strip()
_, transducer_name, part_number = transducer_line.split(None, 2)
# Get part number and values
value = None
unit = None
transducer_type = None
if part_number != "Custom":
value = part_number.split()[-1]
part_number = part_number.split()[1]
if match := re.match(r"([0-9]+)([A-Z]+)", value, re.I):
value, unit = match.groups()
value = int(value)
if unit == "SCCM":
transducer_type = "Flow"
if unit == "PSIA":
transducer_type = "Pressure"
# Create a dictionary to store the data for each transducer
transducer_info = {
"Accuracy": accuracy,
"Part Number": part_number,
"Value": value,
"Unit": unit,
"Limit ABS": int(value * accuracy * 1000),
"Transducer Name": transducer_name,
"Transducer Type": transducer_type,
"Gauge Reading": [],
"Master Value": [],
"Verify Date": "",
"Verify Time": "",
}
# Extract other information for the transducer
for line in lines:
key, value = re.sub(r"\s\s+", ",", line.strip()).split(",")
if "Verify Date" in key:
transducer_info["Verify Date"] = value
continue
elif "Verify Time" in key:
transducer_info["Verify Time"] = value
continue
# Toss anything else where it belongs
key = re.match(r"(.*)\W(\d)", key)[1]
if key in transducer_info or f"Instrument {transducer_type}" in key:
value = int(float(value.split()[0])*1000)
# special case Master to get the limits
if "Master" in key:
hi = value + transducer_info["Limit ABS"]
lo = value - transducer_info["Limit ABS"]
transducer_info[key].append(
{
"Low Limit": int(lo),
"Master Value": value,
"High Limit": int(hi),
}
)
# Turn both Instrument Pressure and Instrument Flow to Gauge Reading
elif f"Instrument {transducer_type}" in key:
transducer_info["Gauge Reading"].append(value)
else:
transducer_info[key].append(value)
# Once we have the readings, and master values, we can do the math
transducer_info["Gauge Reading"] = [
{
"Value": v,
"In Range": in_range(idx, v, transducer_info["Master Value"]),
"Delta": delta(idx, v, transducer_info["Master Value"])
}
for idx, v in enumerate(transducer_info["Gauge Reading"])
]
transducer_data.append(transducer_info)
return transducer_data
if __name__ == "__main__":
from pprint import pprint
file_path = "./transducer_verify.txt"
with open(file_path, "r") as file:
output = {
"Instrument": "CTS0JODFDASH",
"Customer Name": "Anthony Souza",
"Customer Address": "PO Box 357, West Chesterfield, NH 03466",
"Control Number": "123123",
"Serial Number": "123313",
"Accuracy": 0.5,
"Barometric Pressure": 1013.25,
"Temperature": 50.3,
"Humidity": 27,
"Transducers": parse_transducer(file.read(), 0.5)
}
print(json.dumps(output).replace('"', '""'))
pprint(output)

View File

@ -1,3 +0,0 @@
from django.test import TestCase
# Create your tests here.

View File

@ -1,6 +0,0 @@
from django.urls import path
from . import views
urlpatterns = [
path('', views.upload_file, name = 'upload'),
]

View File

@ -1,33 +0,0 @@
from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import render
from django.core.exceptions import ValidationError
from .forms import SheetForm, SheetForm
from .parsers import parse_transducer, parse_hardware_calibration
def upload_file(request):
if request.method == "POST":
f = SheetForm(request.POST, request.FILES)
if f.is_valid():
data = f.clean()
as_found = request.FILES.get('as_found')
as_left = request.FILES.get('as_left')
both = request.FILES.get('both')
if both:
if data['report_type'] == "TV":
tv = parse_transducer(both.read().decode(), data['accuracy'])
f.transducer_type = tv["Transducer Type"]
else:
hc = parse_hardware_calibration(both.read().decode(), data['accuracy'])
elif as_found and as_left:
# TODO: DO THIS
pass
else:
raise ValidationError("Please provide proper files")
f.save()
breakpoint()
return HttpResponseRedirect("/")
else:
form = SheetForm()
return HttpResponse("hi")

View File

@ -1,85 +0,0 @@
|| Transducer Verify Report ||
TRANSDUCER1
===============================================================
Transducer 1 CTS D34-442 115PSIA
Setpoint Pressure 1 0.000 psig
Setpoint Pressure 2 20.000 psig
Setpoint Pressure 3 40.000 psig
Setpoint Pressure 4 60.000 psig
Setpoint Pressure 5 80.000 psig
Setpoint Pressure 6 100.000 psig
Instrument Pressure 1 0.000 psig
Instrument Pressure 2 20.002 psig
Instrument Pressure 3 39.997 psig
Instrument Pressure 4 60.010 psig
Instrument Pressure 5 80.001 psig
Instrument Pressure 6 100.002 psig
Master Value 1 0.000 psig
Master Value 2 20.000 psig
Master Value 3 40.000 psig
Master Value 4 60.000 psig
Master Value 5 80.000 psig
Master Value 6 100.000 psig
Verify Date 07/20/22
Verify Time 11:20:26
TRANSDUCER2
===============================================================
Transducer 2 CTS A12-221 250SCCM
Setpoint Pressure 1 20.000 psig
Setpoint Pressure 2 20.000 psig
Setpoint Pressure 3 20.000 psig
Setpoint Pressure 4 20.000 psig
Setpoint Pressure 5 20.000 psig
Setpoint Pressure 6 20.000 psig
Setpoint Pressure 7 20.000 psig
Setpoint Pressure 8 20.000 psig
Setpoint Pressure 9 20.000 psig
Setpoint Pressure 10 20.000 psig
Setpoint Pressure 11 20.000 psig
Instrument Pressure 1 20.154 psig
Instrument Pressure 2 20.153 psig
Instrument Pressure 3 20.152 psig
Instrument Pressure 4 20.150 psig
Instrument Pressure 5 20.148 psig
Instrument Pressure 6 20.145 psig
Instrument Pressure 7 20.144 psig
Instrument Pressure 8 20.141 psig
Instrument Pressure 9 20.139 psig
Instrument Pressure 10 20.138 psig
Instrument Pressure 11 20.136 psig
Instrument Flow 1 -0.082 sccm
Instrument Flow 2 24.802 sccm
Instrument Flow 3 49.664 sccm
Instrument Flow 4 74.836 sccm
Instrument Flow 5 99.416 sccm
Instrument Flow 6 125.289 sccm
Instrument Flow 7 150.205 sccm
Instrument Flow 8 175.290 sccm
Instrument Flow 9 200.165 sccm
Instrument Flow 10 224.748 sccm
Instrument Flow 11 249.825 sccm
Master Reading 1 0.000 sccm
Master Reading 2 25.000 sccm
Master Reading 3 50.000 sccm
Master Reading 4 75.000 sccm
Master Reading 5 100.000 sccm
Master Reading 6 125.000 sccm
Master Reading 7 150.000 sccm
Master Reading 8 175.000 sccm
Master Reading 9 200.000 sccm
Master Reading 10 225.000 sccm
Master Reading 11 250.000 sccm
Master Value 1 0.000 sccm
Master Value 2 25.000 sccm
Master Value 3 50.000 sccm
Master Value 4 75.000 sccm
Master Value 5 100.000 sccm
Master Value 6 125.000 sccm
Master Value 7 150.000 sccm
Master Value 8 175.000 sccm
Master Value 9 200.000 sccm
Master Value 10 225.000 sccm
Master Value 11 250.000 sccm
Verify Date 07/15/21
Verify Time 14:55:10