Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
586a800d04
63
config/instruction_images/st-ten-5/5803034807.svg
Normal file
63
config/instruction_images/st-ten-5/5803034807.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 387 KiB |
BIN
config/label_designs/E-DAILY/MB1.nlbl
Normal file
BIN
config/label_designs/E-DAILY/MB1.nlbl
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
config/label_designs/E-DAILY/MI2.nlbl
Normal file
BIN
config/label_designs/E-DAILY/MI2.nlbl
Normal file
Binary file not shown.
BIN
config/label_designs/E-DAILY/RB1.nlbl
Normal file
BIN
config/label_designs/E-DAILY/RB1.nlbl
Normal file
Binary file not shown.
BIN
config/label_designs/E-DAILY/RB2.nlbl
Normal file
BIN
config/label_designs/E-DAILY/RB2.nlbl
Normal file
Binary file not shown.
BIN
config/label_designs/E-DAILY/RM1.nlbl
Normal file
BIN
config/label_designs/E-DAILY/RM1.nlbl
Normal file
Binary file not shown.
BIN
config/label_designs/E-DAILY/RM2.nlbl
Normal file
BIN
config/label_designs/E-DAILY/RM2.nlbl
Normal file
Binary file not shown.
BIN
config/label_designs/IVECO ETA30x16/ETA30x16_203dpi.nlbl
Normal file
BIN
config/label_designs/IVECO ETA30x16/ETA30x16_203dpi.nlbl
Normal file
Binary file not shown.
Binary file not shown.
BIN
config/label_designs/STANDARD/EtichettaR5_Montaggio_1prova.nlbl
Normal file
BIN
config/label_designs/STANDARD/EtichettaR5_Montaggio_1prova.nlbl
Normal file
Binary file not shown.
Binary file not shown.
14
config/label_templates/ETA30x16_203dpi.prn
Normal file
14
config/label_templates/ETA30x16_203dpi.prn
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD20^JUS^LRN^CI0^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW256
|
||||||
|
^LL0144
|
||||||
|
^LS0
|
||||||
|
^FT148,125^BQN,2,4
|
||||||
|
^FH\^FDLA,{PART}^FS
|
||||||
|
^FT19,40^A0N,23,21^FH\^FD{PART}^FS
|
||||||
|
^FT19,71^A0N,23,21^FH\^FDNum:{SN5}^FS
|
||||||
|
^FT19,101^A0N,23,21^FH\^FD{DATE}^FS
|
||||||
|
^FT19,126^A0N,23,21^FH\^FD{TIME}^FS
|
||||||
|
^PQ1,0,1,Y^XZ
|
||||||
45
config/label_templates/EtichettaR5_Montaggio_1prova.prn
Normal file
45
config/label_templates/EtichettaR5_Montaggio_1prova.prn
Normal file
|
|
@ -0,0 +1,45 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD20^JUS^LRN^CI0^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW320
|
||||||
|
^LL1119
|
||||||
|
^LS0
|
||||||
|
^FT263,1045^A0I,39,36^FH\^FDERRECINQUE^FS
|
||||||
|
^FT209,1017^A0I,20,19^FB156,1,0,C^FH\^FDFluid System^FS
|
||||||
|
^FT209,993^A0I,20,19^FB156,1,0,C^FH\^FDVia Meucci 31/A^FS
|
||||||
|
^FT209,969^A0I,20,19^FB156,1,0,C^FH\^FD10079 Mappano(TO)^FS
|
||||||
|
^FT235,932^A0I,25,24^FH\^FDCliente:^FS
|
||||||
|
^FT233,767^A0I,20,16^FH\^FD{DD}/{MO}/{YY}^FS
|
||||||
|
^FT104,767^A0I,20,16^FH\^FD{HH}:{MI}:{SS}^FS
|
||||||
|
^FT302,106^A0I,31,28^FH\^FDESITO:^FS
|
||||||
|
^FT176,106^A0I,31,28^FH\^FDCONFORME^FS
|
||||||
|
^FT235,907^A0I,20,19^FH\^FD{CLIENT}^FS
|
||||||
|
^FT233,878^A0I,25,24^FH\^FDNumero Disegno:^FS
|
||||||
|
^FT233,853^A0I,20,19^FH\^FD{PART}^FS
|
||||||
|
^FT233,792^A0I,26,24^FH\^FDData/Ora Prova^FS
|
||||||
|
^FT233,733^A0I,25,24^FH\^FDStazione:^FS
|
||||||
|
^FT232,824^A0I,25,24^FH\^FDN. Pezzo:^FS
|
||||||
|
^FT130,827^A0I,20,19^FH\^FD{SN4}^FS
|
||||||
|
^FT233,693^A0I,25,24^FH\^FDOPERATORE:^FS
|
||||||
|
^FT138,736^A0I,23,16^FH\^FD{STATION}^FS
|
||||||
|
^FT103,696^A0I,23,16^FH\^FD{BADGE_NUM}^FS
|
||||||
|
^FO53,636^GB215,0,8^FS
|
||||||
|
^FT301,578^A0I,28,26^FH\^FDProva 1:^FS
|
||||||
|
^FT301,551^A0I,23,21^FH\^FDP. rilevata:^FS
|
||||||
|
^FT129,548^A0I,20,19^FH\^FD{RESPSET}^FS
|
||||||
|
^FT301,528^A0I,23,21^FH\^FDCaduta ammessa:^FS
|
||||||
|
^FT129,526^A0I,20,19^FH\^FD{PMIN} mbar^FS
|
||||||
|
^FT301,506^A0I,23,21^FH\^FDCaduta rilevata:^FS
|
||||||
|
^FT141,505^A0I,20,19^FH\^FD{RESLEAK} mbar^FS
|
||||||
|
^FT301,418^A0I,23,21^FH\^FDT.Prova^FS
|
||||||
|
^FT113,417^A0I,20,19^FH\^FD{TTEST} s^FS
|
||||||
|
^FT302,462^A0I,23,21^FH\^FDT.Riempim.^FS
|
||||||
|
^FT113,465^A0I,20,19^FH\^FD{TFILL} s^FS
|
||||||
|
^FT301,440^A0I,23,21^FH\^FDT.Stabilizzaz.^FS
|
||||||
|
^FT113,441^A0I,20,19^FH\^FD{TSET} s^FS
|
||||||
|
^FT308,990^A0B,23,21^FH\^FD{YY}{MO}{DD}{HH}{MI}{SS}{SN4}^FS
|
||||||
|
^BY1,3,39^FT281,999^BCB,,N,N
|
||||||
|
^FD>:{YY}{MO}{DD}{HH}{MI}{SS}{SN4}^FS
|
||||||
|
^FT192,578^A0I,28,26^FH\^FD{PTEST} mbar^FS
|
||||||
|
^PQ1,0,1,Y^XZ
|
||||||
|
|
@ -1,70 +1,59 @@
|
||||||
CT~~CD,~CC^~CT~
|
CT~~CD,~CC^~CT~
|
||||||
^XA
|
^XA~TA000~JSN^LT0^MNW^MTT^PON^PMN^LH0,0^JMA^PR2,2~SD20^JUS^LRN^CI0^XZ
|
||||||
~TA000
|
|
||||||
~JSN
|
|
||||||
^LT0
|
|
||||||
^MNW
|
|
||||||
^MTT
|
|
||||||
^PON
|
|
||||||
^PMN
|
|
||||||
^LH0,0
|
|
||||||
^JMA
|
|
||||||
^PR2,2
|
|
||||||
~SD20
|
|
||||||
^JUS
|
|
||||||
^LRN
|
|
||||||
^CI27
|
|
||||||
^PA0,1,1,0
|
|
||||||
^XZ
|
|
||||||
^XA
|
^XA
|
||||||
^MMT
|
^MMT
|
||||||
^PW320
|
^PW320
|
||||||
^LL1119
|
^LL1119
|
||||||
^LS0
|
^LS0
|
||||||
^FT57,74^A0N,39,38^FH\^CI28^FDERRECINQUE^FS^CI27
|
^FT263,1045^A0I,39,36^FH\^FDERRECINQUE^FS
|
||||||
^FT71,102^A0N,20,20^FB249,1,5,C^FH\^CI28^FDFluid System^FS^CI27
|
^FT209,1017^A0I,20,19^FB156,1,0,C^FH\^FDFluid System^FS
|
||||||
^FT71,127^A0N,20,20^FB249,1,5,C^FH\^CI28^FDVia Meucci 31/A^FS^CI27
|
^FT209,993^A0I,20,19^FB156,1,0,C^FH\^FDVia Meucci 31/A^FS
|
||||||
^FT71,152^A0N,20,20^FB249,1,5,C^FH\^CI28^FD10079 Mappano(TO)^FS^CI27
|
^FT209,969^A0I,20,19^FB156,1,0,C^FH\^FD10079 Mappano(TO)^FS
|
||||||
^FT85,187^A0N,25,25^FH\^CI28^FDCliente:^FS^CI27
|
^FT235,932^A0I,25,24^FH\^FDCliente:^FS
|
||||||
^FT87,359^A0N,20,18^FH\^CI28^FD{DD}/{MO}/{YY}^FS^CI27
|
^FT233,767^A0I,20,16^FH\^FD{DD}/{MO}/{YY}^FS
|
||||||
^FT216,359^A0N,20,18^FH\^CI28^FD{HH}:{MI}:{SS}^FS^CI27
|
^FT104,767^A0I,20,16^FH\^FD{HH}:{MI}:{SS}^FS
|
||||||
^FT18,1013^A0N,31,30^FH\^CI28^FDESITO:^FS^CI27
|
^FT302,106^A0I,31,28^FH\^FDESITO:^FS
|
||||||
^FT144,1013^A0N,31,30^FH\^CI28^FDCONFORME^FS^CI27
|
^FT176,106^A0I,31,28^FH\^FDCONFORME^FS
|
||||||
^FT85,212^A0N,20,20^FH\^CI28^FD{CLIENT}^FS^CI27
|
^FT235,907^A0I,20,19^FH\^FD{CLIENT}^FS
|
||||||
^FT87,241^A0N,25,25^FH\^CI28^FDNumero Disegno:^FS^CI27
|
^FT233,878^A0I,25,24^FH\^FDNumero Disegno:^FS
|
||||||
^FT87,266^A0N,20,20^FH\^CI28^FD{PART}^FS^CI27
|
^FT233,853^A0I,20,19^FH\^FD{PART}^FS
|
||||||
^FT87,333^A0N,26,25^FH\^CI28^FDData/Ora Prova^FS^CI27
|
^FT233,792^A0I,26,24^FH\^FDData/Ora Prova^FS
|
||||||
^FT87,386^A0N,25,25^FH\^CI28^FDStazione:^FS^CI27
|
^FT233,733^A0I,25,24^FH\^FDStazione:^FS
|
||||||
^FT88,295^A0N,25,25^FH\^CI28^FDN. Pezzo:^FS^CI27
|
^FT232,824^A0I,25,24^FH\^FDN. Pezzo:^FS
|
||||||
^FT223,296^A0N,20,20^FH\^CI28^FD{SN4}^FS^CI27
|
^FT136,826^A0I,23,24^FH\^FD{SN4}^FS
|
||||||
^FT87,426^A0N,25,25^FH\^CI28^FDOPERATORE:^FS^CI27
|
^FT233,693^A0I,25,24^FH\^FDOPERATORE:^FS
|
||||||
^FT196,388^A0N,17,13^FH\^CI28^FD{STATION}^FS^CI27
|
^FT140,736^A0I,23,16^FH\^FD{STATION}^FS
|
||||||
^FT236,427^A0N,17,13^FH\^CI28^FD{OPERATOR}^FS^CI27
|
^FT103,696^A0I,23,16^FH\^FD{BADGE_NUM}^FS
|
||||||
^FO52,475^GB215,0,8^FS
|
^FO53,636^GB215,0,8^FS
|
||||||
^FT19,541^A0N,28,28^FH\^CI28^FDProva 2 (Alta)^FS^CI27
|
^FT301,578^A0I,28,26^FH\^FDProva 1:^FS
|
||||||
^FT19,568^A0N,23,23^FH\^CI28^FDPress.Max(mbar)^FS^CI27
|
^FT301,551^A0I,23,21^FH\^FDP. rilevata:^FS
|
||||||
^FT207,571^A0N,20,20^FH\^CI28^FD{PSETMAXP2}^FS^CI27
|
^FT129,548^A0I,20,19^FH\^FD{RESPSET}^FS
|
||||||
^FT19,596^A0N,23,23^FH\^CI28^FDPress.Min(mbar)^FS^CI27
|
^FT301,528^A0I,23,21^FH\^FDCaduta ammessa:^FS
|
||||||
^FT207,599^A0N,20,20^FH\^CI28^FD{PSETMINP2}^FS^CI27
|
^FT129,526^A0I,20,19^FH\^FD{PMIN} mbar^FS
|
||||||
^FT19,626^A0N,23,23^FH\^CI28^FDCaduta(mbar)^FS^CI27
|
^FT301,506^A0I,23,21^FH\^FDCaduta rilevata:^FS
|
||||||
^FT207,629^A0N,20,20^FH\^CI28^FD{RESLEAK2}^FS^CI27
|
^FT141,505^A0I,20,19^FH\^FD{RESLEAK} mbar^FS
|
||||||
^FT19,668^A0N,28,28^FH\^CI28^FDProva 1 (Bassa)^FS^CI27
|
^FT301,418^A0I,23,21^FH\^FDT.Prova^FS
|
||||||
^FT19,695^A0N,23,23^FH\^CI28^FDPress.Max(mbar)^FS^CI27
|
^FT113,417^A0I,20,19^FH\^FD{TTEST} s^FS
|
||||||
^FT207,698^A0N,20,20^FH\^CI28^FD{PSETMAXP}^FS^CI27
|
^FT302,462^A0I,23,21^FH\^FDT.Riempim.^FS
|
||||||
^FT19,723^A0N,23,23^FH\^CI28^FDPress.Min(mbar)^FS^CI27
|
^FT113,465^A0I,20,19^FH\^FD{TFILL} s^FS
|
||||||
^FT207,726^A0N,20,20^FH\^CI28^FD{PSETMINP}^FS^CI27
|
^FT301,440^A0I,23,21^FH\^FDT.Stabilizzaz.^FS
|
||||||
^FT19,753^A0N,23,23^FH\^CI28^FDCaduta(mbar)^FS^CI27
|
^FT113,441^A0I,20,19^FH\^FD{TSET} s^FS
|
||||||
^FT207,756^A0N,20,20^FH\^CI28^FD{RESLEAK}^FS^CI27
|
^FT308,990^A0B,23,21^FH\^FD{YY}{MO}{DD}{HH}{MI}{SS}{SN4}^FS
|
||||||
^FT19,851^A0N,23,23^FH\^CI28^FDT.Pulizia(sec)^FS^CI27
|
^BY1,3,39^FT281,999^BCB,,N,N
|
||||||
^FT207,854^A0N,20,20^FH\^CI28^FD{PSETMAXP}^FS^CI27
|
^FD>:{YY}{MO}{DD}{HH}{MI}{SS}{SN4}^FS
|
||||||
^FT18,879^A0N,23,23^FH\^CI28^FDT.Riempim.(sec)^FS^CI27
|
^FT192,578^A0I,28,26^FH\^FD{PTEST} mbar^FS
|
||||||
^FT207,882^A0N,20,20^FH\^CI28^FD{PSETMINP}^FS^CI27
|
^FT301,344^A0I,28,26^FH\^FDProva 2:^FS
|
||||||
^FT19,909^A0N,23,23^FH\^CI28^FDT.Stabilizzaz.(sec)^FS^CI27
|
^FT301,317^A0I,23,21^FH\^FDP. rilevata:^FS
|
||||||
^FT207,912^A0N,20,20^FH\^CI28^FD{RESLEAK}^FS^CI27
|
^FT129,314^A0I,20,19^FH\^FD{RESPSET2}^FS
|
||||||
^FT19,941^A0N,23,23^FH\^CI28^FDCaduta Tollerata max:^FS^CI27
|
^FT301,294^A0I,23,21^FH\^FDCaduta ammessa:^FS
|
||||||
^FT18,969^A0N,20,20^FH\^CI28^FD{PMIN} bar^FS^CI27
|
^FT129,293^A0I,20,19^FH\^FD{PMIN2} mbar^FS
|
||||||
^FT12,129^A0R,23,23^FH\^CI28^FD{YY}{MO}{DD}{HH}{MI}{SS}{SN4}^FS^CI27
|
^FT301,272^A0I,23,21^FH\^FDCaduta rilevata:^FS
|
||||||
^BY1,3,39^FT39,120^BCR,,N,N
|
^FT141,271^A0I,20,19^FH\^FD{RESLEAK2} mbar^FS
|
||||||
^FH\^FD>:{YY}{MO}{DD}{HH}{MI}{SS}{SN4}^FS
|
^FT301,185^A0I,23,21^FH\^FDT.Prova^FS
|
||||||
^PQ1,0,1,Y
|
^FT113,184^A0I,20,19^FH\^FD{TTEST2} s^FS
|
||||||
^XZ
|
^FT302,228^A0I,23,21^FH\^FDT.Riempim.^FS
|
||||||
|
^FT113,231^A0I,20,19^FH\^FD{TFILL2} s^FS
|
||||||
|
^FT301,207^A0I,23,21^FH\^FDT.Stabilizzaz.^FS
|
||||||
|
^FT113,208^A0I,20,19^FH\^FD{TSET2} s^FS
|
||||||
|
^FT192,344^A0I,28,26^FH\^FD{PTEST2} mbar^FS
|
||||||
|
^PQ1,0,1,Y^XZ
|
||||||
|
|
|
||||||
38
config/label_templates/MB1.prn
Normal file
38
config/label_templates/MB1.prn
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD25
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FT137,171^A0B,42,41^FH\^CI28^FDMB 1^FS^CI27
|
||||||
|
^FO148,111^GB8,61,4^FS
|
||||||
|
^FT394,171^A0B,42,41^FH\^CI28^FDMB 1^FS^CI27
|
||||||
|
^FO405,111^GB8,61,4^FS
|
||||||
|
^FT239,59^A0R,42,41^FH\^CI28^FDMB 1^FS^CI27
|
||||||
|
^FO220,57^GB8,61,4^FS
|
||||||
|
^FT504,59^A0R,42,41^FH\^CI28^FDMB 1^FS^CI27
|
||||||
|
^FO485,57^GB8,61,4^FS
|
||||||
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
|
^LRY^FO100,57^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO357,57^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO220,119^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO485,119^GB56,0,53^FS^LRN
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
38
config/label_templates/MB2.prn
Normal file
38
config/label_templates/MB2.prn
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD25
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FT137,171^A0B,42,41^FH\^CI28^FDMB 2^FS^CI27
|
||||||
|
^FO148,111^GB8,61,4^FS
|
||||||
|
^FT394,171^A0B,42,41^FH\^CI28^FDMB 2^FS^CI27
|
||||||
|
^FO405,111^GB8,61,4^FS
|
||||||
|
^FT239,59^A0R,42,41^FH\^CI28^FDMB 2^FS^CI27
|
||||||
|
^FO220,57^GB8,61,4^FS
|
||||||
|
^FT504,59^A0R,42,41^FH\^CI28^FDMB 2^FS^CI27
|
||||||
|
^FO485,57^GB8,61,4^FS
|
||||||
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
|
^LRY^FO100,57^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO357,57^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO220,119^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO485,119^GB56,0,53^FS^LRN
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
|
|
@ -10,7 +10,7 @@
|
||||||
^LH0,0
|
^LH0,0
|
||||||
^JMA
|
^JMA
|
||||||
^PR2,2
|
^PR2,2
|
||||||
~SD20
|
~SD25
|
||||||
^JUS
|
^JUS
|
||||||
^LRN
|
^LRN
|
||||||
^CI27
|
^CI27
|
||||||
|
|
@ -18,21 +18,21 @@
|
||||||
^XZ
|
^XZ
|
||||||
^XA
|
^XA
|
||||||
^MMT
|
^MMT
|
||||||
^PW575
|
^PW679
|
||||||
^LL288
|
^LL200
|
||||||
^LS0
|
^LS0
|
||||||
^FT120,224^A0B,68,68^FH\^CI28^FDMI 1^FS^CI27
|
^FT137,161^A0B,42,41^FH\^CI28^FDMI 1^FS^CI27
|
||||||
^FO133,145^GB8,79,4^FS
|
^FO148,111^GB8,61,4^FS
|
||||||
^FT198,69^A0R,68,68^FH\^CI28^FDMI 1^FS^CI27
|
^FT394,161^A0B,42,41^FH\^CI28^FDMI 1^FS^CI27
|
||||||
^FO178,69^GB8,79,4^FS
|
^FO405,111^GB8,61,4^FS
|
||||||
^FT371,224^A0B,68,68^FH\^CI28^FDMI 1^FS^CI27
|
^FT239,64^A0R,42,41^FH\^CI28^FDMI 1^FS^CI27
|
||||||
^FO384,145^GB8,79,4^FS
|
^FO220,57^GB8,61,4^FS
|
||||||
^FT449,69^A0R,68,68^FH\^CI28^FDMI 1^FS^CI27
|
^FT506,69^A0R,42,41^FH\^CI28^FDMI 1^FS^CI27
|
||||||
^FO428,69^GB8,79,4^FS
|
^FO487,60^GB8,61,4^FS
|
||||||
^LRY^FO52,86^GB89,0,59^FS^LRN
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
^LRY^FO178,149^GB89,0,59^FS^LRN
|
^LRY^FO100,57^GB56,0,53^FS^LRN
|
||||||
^LRY^FO303,86^GB89,0,59^FS^LRN
|
^LRY^FO357,57^GB56,0,53^FS^LRN
|
||||||
^LRY^FO428,149^GB89,0,59^FS^LRN
|
^LRY^FO220,119^GB56,0,53^FS^LRN
|
||||||
^LRY^FO0,0^GB575,288,145^FS^LRN
|
^LRY^FO487,121^GB56,0,53^FS^LRN
|
||||||
^PQ1,0,1,Y
|
^PQ1,0,1,Y
|
||||||
^XZ
|
^XZ
|
||||||
|
|
|
||||||
38
config/label_templates/MI2.prn
Normal file
38
config/label_templates/MI2.prn
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD25
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FT137,161^A0B,42,41^FH\^CI28^FDMI 2^FS^CI27
|
||||||
|
^FO148,111^GB8,61,4^FS
|
||||||
|
^FT394,161^A0B,42,41^FH\^CI28^FDMI 2^FS^CI27
|
||||||
|
^FO405,111^GB8,61,4^FS
|
||||||
|
^FT239,64^A0R,42,41^FH\^CI28^FDMI 2^FS^CI27
|
||||||
|
^FO220,57^GB8,61,4^FS
|
||||||
|
^FT506,69^A0R,42,41^FH\^CI28^FDMI 2^FS^CI27
|
||||||
|
^FO487,60^GB8,61,4^FS
|
||||||
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
|
^LRY^FO100,57^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO357,57^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO220,119^GB56,0,53^FS^LRN
|
||||||
|
^LRY^FO487,121^GB56,0,53^FS^LRN
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
38
config/label_templates/RB1.prn
Normal file
38
config/label_templates/RB1.prn
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD25
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FT393,174^A0B,42,43^FH\^CI28^FDRB 1^FS^CI27
|
||||||
|
^FO404,113^GB8,61,4^FS
|
||||||
|
^FT138,174^A0B,42,43^FH\^CI28^FDRB 1^FS^CI27
|
||||||
|
^FO149,113^GB8,61,4^FS
|
||||||
|
^FT245,59^A0R,42,43^FH\^CI28^FDRB 1^FS^CI27
|
||||||
|
^FO226,57^GB8,61,4^FS
|
||||||
|
^FT501,59^A0R,42,43^FH\^CI28^FDRB 1^FS^CI27
|
||||||
|
^FO484,57^GB8,61,4^FS
|
||||||
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
|
^LRY^FO356,57^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO101,57^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO226,118^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO484,118^GB56,0,56^FS^LRN
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
38
config/label_templates/RB2.prn
Normal file
38
config/label_templates/RB2.prn
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD25
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FT393,174^A0B,42,43^FH\^CI28^FDRB 2^FS^CI27
|
||||||
|
^FO404,113^GB8,61,4^FS
|
||||||
|
^FT138,174^A0B,42,43^FH\^CI28^FDRB 2^FS^CI27
|
||||||
|
^FO149,113^GB8,61,4^FS
|
||||||
|
^FT245,59^A0R,42,43^FH\^CI28^FDRB 2^FS^CI27
|
||||||
|
^FO226,57^GB8,61,4^FS
|
||||||
|
^FT501,59^A0R,42,43^FH\^CI28^FDRB 2^FS^CI27
|
||||||
|
^FO484,57^GB8,61,4^FS
|
||||||
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
|
^LRY^FO356,57^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO101,57^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO226,118^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO484,118^GB56,0,56^FS^LRN
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
38
config/label_templates/RM1.prn
Normal file
38
config/label_templates/RM1.prn
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD25
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FT139,175^A0B,42,43^FH\^CI28^FDRM 1^FS^CI27
|
||||||
|
^FO149,109^GB8,66,4^FS
|
||||||
|
^FT245,50^A0R,42,43^FH\^CI28^FDRM 1^FS^CI27
|
||||||
|
^FO226,53^GB8,66,4^FS
|
||||||
|
^FT397,175^A0B,42,43^FH\^CI28^FDRM 1^FS^CI27
|
||||||
|
^FO407,109^GB8,66,4^FS
|
||||||
|
^FT503,50^A0R,42,43^FH\^CI28^FDRM 1^FS^CI27
|
||||||
|
^FO484,53^GB8,66,4^FS
|
||||||
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
|
^LRY^FO101,54^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO226,119^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO359,54^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO484,119^GB56,0,56^FS^LRN
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
38
config/label_templates/RM2.prn
Normal file
38
config/label_templates/RM2.prn
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
CT~~CD,~CC^~CT~
|
||||||
|
^XA
|
||||||
|
~TA000
|
||||||
|
~JSN
|
||||||
|
^LT0
|
||||||
|
^MNW
|
||||||
|
^MTT
|
||||||
|
^PON
|
||||||
|
^PMN
|
||||||
|
^LH0,0
|
||||||
|
^JMA
|
||||||
|
^PR2,2
|
||||||
|
~SD25
|
||||||
|
^JUS
|
||||||
|
^LRN
|
||||||
|
^CI27
|
||||||
|
^PA0,1,1,0
|
||||||
|
^XZ
|
||||||
|
^XA
|
||||||
|
^MMT
|
||||||
|
^PW679
|
||||||
|
^LL200
|
||||||
|
^LS0
|
||||||
|
^FT139,175^A0B,42,43^FH\^CI28^FDRM 2^FS^CI27
|
||||||
|
^FO149,109^GB8,66,4^FS
|
||||||
|
^FT245,50^A0R,42,43^FH\^CI28^FDRM 2^FS^CI27
|
||||||
|
^FO226,53^GB8,66,4^FS
|
||||||
|
^FT397,175^A0B,42,43^FH\^CI28^FDRM 2^FS^CI27
|
||||||
|
^FO407,109^GB8,66,4^FS
|
||||||
|
^FT503,50^A0R,42,43^FH\^CI28^FDRM 2^FS^CI27
|
||||||
|
^FO484,53^GB8,66,4^FS
|
||||||
|
^LRY^FO2,1^GB676,0,198^FS^LRN
|
||||||
|
^LRY^FO101,54^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO226,119^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO359,54^GB56,0,56^FS^LRN
|
||||||
|
^LRY^FO484,119^GB56,0,56^FS^LRN
|
||||||
|
^PQ1,0,1,Y
|
||||||
|
^XZ
|
||||||
|
|
@ -8,6 +8,7 @@ digital_io: absent
|
||||||
second_leak_test: absent
|
second_leak_test: absent
|
||||||
; archive_synchronizer: present
|
; archive_synchronizer: present
|
||||||
; label_printer: present
|
; label_printer: present
|
||||||
|
; extra_label_printer: absent
|
||||||
; multicomp: present
|
; multicomp: present
|
||||||
; neo_pixels: present
|
; neo_pixels: present
|
||||||
; remote_api: present
|
; remote_api: present
|
||||||
|
|
@ -61,7 +62,7 @@ printer: ttp247
|
||||||
|
|
||||||
[tecna_t3]
|
[tecna_t3]
|
||||||
model: t3l
|
model: t3l
|
||||||
; port: ?
|
port: COM4
|
||||||
baudrate: 115200
|
baudrate: 115200
|
||||||
admin_pin: 603
|
admin_pin: 603
|
||||||
modify_pin: 603
|
modify_pin: 603
|
||||||
|
|
@ -114,7 +115,6 @@ r nominale: 1000000000
|
||||||
tolleranza_resistenza_pos: 10
|
tolleranza_resistenza_pos: 10
|
||||||
tolleranza_resistenza_neg: 5
|
tolleranza_resistenza_neg: 5
|
||||||
prova_tenuta_abilitata: x
|
prova_tenuta_abilitata: x
|
||||||
config_elettrovalvole: 0
|
|
||||||
warning_img:
|
warning_img:
|
||||||
tempo_pre_riempimento: 0
|
tempo_pre_riempimento: 0
|
||||||
pressione_pre_riempimento: 1000
|
pressione_pre_riempimento: 1000
|
||||||
|
|
@ -124,23 +124,25 @@ percentuale_minima_pressione_assestamento: 5
|
||||||
percentuale_massima_pressione_assestamento: 5
|
percentuale_massima_pressione_assestamento: 5
|
||||||
tempo_di_test: 10
|
tempo_di_test: 10
|
||||||
pressione_di_test_delta_minimo: 30
|
pressione_di_test_delta_minimo: 30
|
||||||
pressione_di_test: 15000
|
pressione_di_test: 1111
|
||||||
pressione_di_test_delta_massimo: 30
|
pressione_di_test_delta_massimo: 30
|
||||||
tempo_svuotamento: 1
|
tempo_svuotamento: 1
|
||||||
pressione_svuotmento: 100
|
pressione_svuotamento: 100
|
||||||
|
config_elettrovalvole: 0
|
||||||
prova_tenuta_abilitata_2:
|
prova_tenuta_abilitata_2:
|
||||||
tempo_pre_riempimento_2: 0
|
tempo_pre_riempimento_2: 0
|
||||||
pressione_pre_riempimento_2: 1000
|
pressione_pre_riempimento_2: 1000
|
||||||
tempo_riempimento_2: 5
|
tempo_riempimento_2: 10
|
||||||
tempo_assestamento_2: 5
|
tempo_assestamento_2: 10
|
||||||
percentuale_minima_pressione_assestamento_2: 5
|
percentuale_minima_pressione_assestamento_2: 5
|
||||||
percentuale_massima_pressione_assestamento_2: 5
|
percentuale_massima_pressione_assestamento_2: 5
|
||||||
tempo_di_test_2: 5
|
tempo_di_test_2: 10
|
||||||
pressione_di_test_delta_minimo_2: 200
|
pressione_di_test_delta_minimo_2: 200
|
||||||
pressione_di_test_2: 1000
|
pressione_di_test_2: 2222
|
||||||
pressione_di_test_delta_massimo_2: 200
|
pressione_di_test_delta_massimo_2: 200
|
||||||
tempo_svuotamento_2: 1
|
tempo_svuotamento_2: 1
|
||||||
pressione_svuotmento_2: 100
|
pressione_svuotamento_2: 100
|
||||||
|
config_elettrovalvole_2: 0
|
||||||
test_visione_abilitato:
|
test_visione_abilitato:
|
||||||
ricetta_visione: termorestringente_923578.ini
|
ricetta_visione: termorestringente_923578.ini
|
||||||
stampa_etichetta_abilitata: x
|
stampa_etichetta_abilitata: x
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ description = ST-TEN-5 IVECO DAILY ELETTRICO
|
||||||
archive_synchronizer: absent
|
archive_synchronizer: absent
|
||||||
uvc_camera: absent
|
uvc_camera: absent
|
||||||
label_printer: present
|
label_printer: present
|
||||||
|
extra_label_printer: present
|
||||||
remote_api: absent
|
remote_api: absent
|
||||||
tecna_t3: present
|
tecna_t3: present
|
||||||
digital_io: present
|
digital_io: present
|
||||||
|
|
@ -16,7 +17,7 @@ model: t3l
|
||||||
|
|
||||||
[recipe]
|
[recipe]
|
||||||
recipe_name_field: codice_ricetta
|
recipe_name_field: codice_ricetta
|
||||||
part_number_field: codice_prodotto
|
part_number_field: codice_ricetta
|
||||||
label_template_field: modello_etichetta
|
label_template_field: modello_etichetta
|
||||||
description_field: descrizione
|
description_field: descrizione
|
||||||
|
|
||||||
|
|
@ -33,6 +34,8 @@ printer: xlp504
|
||||||
id: USB-5862,BID#0
|
id: USB-5862,BID#0
|
||||||
|
|
||||||
[recipes_defaults]
|
[recipes_defaults]
|
||||||
|
|
||||||
|
|
||||||
codice_ricetta: specificare ricetta
|
codice_ricetta: specificare ricetta
|
||||||
cliente: IVECO
|
cliente: IVECO
|
||||||
part_number: specificare part number
|
part_number: specificare part number
|
||||||
|
|
@ -48,17 +51,17 @@ numero sensori presenza (sp):0
|
||||||
|
|
||||||
prova_tenuta_abilitata: x
|
prova_tenuta_abilitata: x
|
||||||
tempo_pre_riempimento: 0
|
tempo_pre_riempimento: 0
|
||||||
pressione_pre_riempimento: 1000
|
pressione_pre_riempimento: 5000
|
||||||
tempo_riempimento: 10
|
tempo_riempimento: 5
|
||||||
tempo_assestamento: 10
|
tempo_assestamento: 10
|
||||||
percentuale_minima_pressione_assestamento: 5
|
percentuale_minima_pressione_assestamento: 5
|
||||||
percentuale_massima_pressione_assestamento: 5
|
percentuale_massima_pressione_assestamento: 5
|
||||||
tempo_di_test: 10
|
tempo_di_test: 10
|
||||||
pressione_di_test_delta_minimo: 30
|
pressione_di_test_delta_minimo: 30
|
||||||
pressione_di_test: 6000
|
pressione_di_test: 5000
|
||||||
pressione_di_test_delta_massimo: 30
|
pressione_di_test_delta_massimo: 30
|
||||||
tempo_svuotamento: 1
|
tempo_svuotamento: 1
|
||||||
pressione_svuotmento: 100
|
pressione_svuotamento: 100
|
||||||
|
|
||||||
prova_tenuta_abilitata_2:
|
prova_tenuta_abilitata_2:
|
||||||
tempo_pre_riempimento_2: 0
|
tempo_pre_riempimento_2: 0
|
||||||
|
|
@ -72,8 +75,8 @@ pressione_di_test_delta_minimo_2: 200
|
||||||
pressione_di_test_2: 1000
|
pressione_di_test_2: 1000
|
||||||
pressione_di_test_delta_massimo_2: 200
|
pressione_di_test_delta_massimo_2: 200
|
||||||
tempo_svuotamento_2: 1
|
tempo_svuotamento_2: 1
|
||||||
pressione_svuotmento_2: 100
|
pressione_svuotamento_2: 100
|
||||||
|
|
||||||
stampa_etichetta_abilitata: x
|
stampa_etichetta_abilitata: x
|
||||||
modello_etichetta: ETA30x16.prn
|
modello_etichetta: ETA30x16_203dpi.prn
|
||||||
descrizione: inserire descrizione ricetta
|
descrizione: inserire descrizione ricetta
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
description = ST-TEN-6 DOPPIA PROVA PRESSIONE 6/20 BAR
|
description = ST-TEN-6 DOPPIA PROVA PRESSIONE 6/20 BAR
|
||||||
|
|
||||||
[hardware_config]
|
[hardware_config]
|
||||||
archive_synchronizer: absent
|
archive_synchronizer: present
|
||||||
; galaxy_camera: present
|
; galaxy_camera: present
|
||||||
uvc_camera: present
|
uvc_camera: present
|
||||||
label_printer: present
|
label_printer: present
|
||||||
|
|
@ -27,31 +27,37 @@ recipe_name_field: codice_ricetta
|
||||||
part_number_field: codice_prodotto
|
part_number_field: codice_prodotto
|
||||||
label_template_field: modello_etichetta
|
label_template_field: modello_etichetta
|
||||||
description_field: descrizione
|
description_field: descrizione
|
||||||
|
|
||||||
|
[recipes_defaults]
|
||||||
|
dimensione_lotto_abilitata:
|
||||||
tempo_pre_riempimento: 0
|
tempo_pre_riempimento: 0
|
||||||
pressione_pre_riempimento: 1000
|
pressione_pre_riempimento: 1000
|
||||||
tempo_riempimento: 10
|
tempo_riempimento: 15
|
||||||
tempo_assestamento: 10
|
tempo_assestamento: 15
|
||||||
|
tempo_di_test: 10
|
||||||
percentuale_minima_pressione_assestamento: 5
|
percentuale_minima_pressione_assestamento: 5
|
||||||
percentuale_massima_pressione_assestamento: 5
|
percentuale_massima_pressione_assestamento: 5
|
||||||
tempo_di_test: 10
|
|
||||||
pressione_di_test_delta_minimo: 30
|
pressione_di_test_delta_minimo: 30
|
||||||
pressione_di_test: 15000
|
pressione_di_test: 7000
|
||||||
pressione_di_test_delta_massimo: 30
|
pressione_di_test_delta_massimo: 30
|
||||||
tempo_svuotamento: 1
|
tempo_svuotamento: 1
|
||||||
pressione_svuotmento: 100
|
pressione_svuotamento: 100
|
||||||
prova_tenuta_abilitata_2: x
|
config_elettrovalvole: 1
|
||||||
|
prova_tenuta_abilitata_2:
|
||||||
tempo_pre_riempimento_2: 0
|
tempo_pre_riempimento_2: 0
|
||||||
pressione_pre_riempimento_2: 1000
|
pressione_pre_riempimento_2: 1000
|
||||||
tempo_riempimento_2: 5
|
tempo_riempimento_2: 15
|
||||||
tempo_assestamento_2: 5
|
tempo_assestamento_2: 15
|
||||||
|
tempo_di_test_2: 10
|
||||||
percentuale_minima_pressione_assestamento_2: 5
|
percentuale_minima_pressione_assestamento_2: 5
|
||||||
percentuale_massima_pressione_assestamento_2: 5
|
percentuale_massima_pressione_assestamento_2: 5
|
||||||
tempo_di_test_2: 5
|
pressione_di_test_delta_minimo_2: 30
|
||||||
pressione_di_test_delta_minimo_2: 200
|
pressione_di_test_2: 15000
|
||||||
pressione_di_test_2: 1000
|
pressione_di_test_delta_massimo_2: 30
|
||||||
pressione_di_test_delta_massimo_2: 200
|
|
||||||
tempo_svuotamento_2: 1
|
tempo_svuotamento_2: 1
|
||||||
pressione_svuotmento_2: 100
|
pressione_svuotamento_2: 100
|
||||||
|
config_elettrovalvole_2: 2
|
||||||
|
modello_etichetta: EtichettaR5_Montaggio_1prova.prn
|
||||||
|
|
||||||
[label_printer]
|
[label_printer]
|
||||||
platform: windows
|
platform: windows
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ set SCRIPT="%TEMP%\%RANDOM%-%RANDOM%-%RANDOM%-%RANDOM%.vbs"
|
||||||
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
|
echo Set oWS = WScript.CreateObject("WScript.Shell") >> %SCRIPT%
|
||||||
echo sLinkFile = "%USERPROFILE%\Desktop\AVVIO PROGRAMMA COLLAUDO.lnk" >> %SCRIPT%
|
echo sLinkFile = "%USERPROFILE%\Desktop\AVVIO PROGRAMMA COLLAUDO.lnk" >> %SCRIPT%
|
||||||
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
|
echo Set oLink = oWS.CreateShortcut(sLinkFile) >> %SCRIPT%
|
||||||
echo oLink.TargetPath = "%userprofile%\PycharmProjects\st-ten-1\runme.sh" >> %SCRIPT%
|
echo oLink.TargetPath = "%userprofile%\PycharmProjects\st-ten-1\runme.bat" >> %SCRIPT%
|
||||||
echo oLink.IconLocation = "%userprofile%\PycharmProjects\st-ten-1\src\ui\imgs\neo.ico"
|
echo oLink.IconLocation = "%userprofile%\PycharmProjects\st-ten-1\src\ui\imgs\neo.ico"
|
||||||
echo oLink.Save >> %SCRIPT%
|
echo oLink.Save >> %SCRIPT%
|
||||||
cscript /nologo %SCRIPT%
|
cscript /nologo %SCRIPT%
|
||||||
|
|
|
||||||
4
runme.bat
Normal file
4
runme.bat
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
echo on
|
||||||
|
SET mypath=%~dp0
|
||||||
|
cd %mypath%
|
||||||
|
.\venv\Scripts\activate.bat && python -O "./src/main.py" --no-edgetpu --no-tflite --no-autotest
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
from ctypes import (CFUNCTYPE, POINTER, byref, c_char, c_int32, c_uint8,
|
from ctypes import (CFUNCTYPE, POINTER, byref, c_char, c_int32, c_uint8,
|
||||||
c_void_p, cast, create_string_buffer, pointer)
|
c_void_p, cast, create_string_buffer, pointer)
|
||||||
|
|
||||||
|
from src.components.Automation.BDaq import *
|
||||||
buffer = {}
|
buffer = {}
|
||||||
|
|
||||||
out_data =[0b00000101,0b00000101]
|
out_data =[0b00000101,0b00000101]
|
||||||
|
|
@ -25,7 +25,7 @@ def InstantDoCtrl_WriteBit(useless, byte, bit, val):
|
||||||
b = int(int.from_bytes(val, "big") != 0) << bit
|
b = int(int.from_bytes(val, "big") != 0) << bit
|
||||||
buffer[byte] &= 0b11111111 & ~(1 << bit)
|
buffer[byte] &= 0b11111111 & ~(1 << bit)
|
||||||
buffer[byte] |= b
|
buffer[byte] |= b
|
||||||
return 0
|
return ErrorCode.Success
|
||||||
|
|
||||||
|
|
||||||
@CFUNCTYPE(c_void_p)
|
@CFUNCTYPE(c_void_p)
|
||||||
|
|
|
||||||
|
|
@ -12,14 +12,14 @@ is_win = platform.system() == "Windows"
|
||||||
|
|
||||||
if "--sim-io" not in sys.argv:
|
if "--sim-io" not in sys.argv:
|
||||||
if is_win:
|
if is_win:
|
||||||
from Automation.BDaq import *
|
from components.Automation.BDaq import *
|
||||||
from Automation.BDaq.InstantDoCtrl import InstantDoCtrl
|
from components.Automation.BDaq.InstantDoCtrl import InstantDoCtrl
|
||||||
from Automation.BDaq.InstantDiCtrl import InstantDiCtrl
|
from components.Automation.BDaq.InstantDiCtrl import InstantDiCtrl
|
||||||
else:
|
else:
|
||||||
libbiodaq = ctypes.CDLL("/opt/advantech/libs/libbiodaq.so")
|
libbiodaq = ctypes.CDLL("/opt/advantech/libs/libbiodaq.so")
|
||||||
else:
|
else:
|
||||||
is_win=False
|
is_win=False
|
||||||
import src.components.dummies.libbiodaq as libbiodaq
|
import components.dummies.libbiodaq as libbiodaq
|
||||||
|
|
||||||
|
|
||||||
class USB_586x(Component):
|
class USB_586x(Component):
|
||||||
|
|
@ -36,7 +36,7 @@ class USB_586x(Component):
|
||||||
def __init__(self, config=None, name=None, period=1, lazy=True, paused=False, threaded=True):
|
def __init__(self, config=None, name=None, period=1, lazy=True, paused=False, threaded=True):
|
||||||
super().__init__(config=config, name=name, period=period, lazy=lazy, paused=paused, threaded=threaded)
|
super().__init__(config=config, name=name, period=period, lazy=lazy, paused=paused, threaded=threaded)
|
||||||
self.mutex = QMutex()
|
self.mutex = QMutex()
|
||||||
|
self.simulate="--sim-io" in sys.argv
|
||||||
# DEVICE INFORMATION
|
# DEVICE INFORMATION
|
||||||
self.id=config["digital_io"]["id"]
|
self.id=config["digital_io"]["id"]
|
||||||
if "5860" in self.id:
|
if "5860" in self.id:
|
||||||
|
|
@ -147,7 +147,7 @@ class USB_586x(Component):
|
||||||
read = []
|
read = []
|
||||||
if is_win:
|
if is_win:
|
||||||
ret = self.di_read(0, self.in_size)
|
ret = self.di_read(0, self.in_size)
|
||||||
if ret[0] == ErrorCode.Success:
|
if ret[0].value == ErrorCode.Success.value:
|
||||||
self.buffer = ret[1]
|
self.buffer = ret[1]
|
||||||
for byte_num in range(len(self.buffer)):
|
for byte_num in range(len(self.buffer)):
|
||||||
byte = self.buffer[byte_num]
|
byte = self.buffer[byte_num]
|
||||||
|
|
@ -192,8 +192,8 @@ class USB_586x(Component):
|
||||||
retry=0
|
retry=0
|
||||||
max_retry = 3
|
max_retry = 3
|
||||||
while not ok and retry <max_retry:
|
while not ok and retry <max_retry:
|
||||||
ret = self.components["digital_io"].set_bit(byte, bit, val)
|
ret = self.set_bit(byte, bit, val)
|
||||||
if ret != ErrorCode.Success:
|
if ret.value != (ErrorCode.Success.value) and not self.simulate:
|
||||||
self.log.error(f"SET BIT ERROR")
|
self.log.error(f"SET BIT ERROR")
|
||||||
self.open_device()
|
self.open_device()
|
||||||
retry+=1
|
retry+=1
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ class Users(BaseModel):
|
||||||
username = TextField(unique=True, null=False)
|
username = TextField(unique=True, null=False)
|
||||||
password = TextField(null=False) # enable nulling to enable passwordless login
|
password = TextField(null=False) # enable nulling to enable passwordless login
|
||||||
roles = JSONField(null=True, json_dumps=json_dumps_roles, json_loads=json_loads_roles)
|
roles = JSONField(null=True, json_dumps=json_dumps_roles, json_loads=json_loads_roles)
|
||||||
|
badge_number = TextField(unique=False,null=True,default="")
|
||||||
@classmethod
|
@classmethod
|
||||||
def get_users(cls):
|
def get_users(cls):
|
||||||
return cls.select().where(cls.password != b"").execute()
|
return cls.select().where(cls.password != b"").execute()
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import argparse
|
||||||
import faulthandler
|
import faulthandler
|
||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
import platform
|
||||||
# import pdb
|
# import pdb
|
||||||
import signal
|
import signal
|
||||||
import sys
|
import sys
|
||||||
|
|
@ -11,6 +12,9 @@ import weakref
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
|
if platform.system() == "Windows":
|
||||||
|
sys.path.append(f"{os.getcwd()}\src\components")
|
||||||
|
|
||||||
from components.usb_586x import USB_586x
|
from components.usb_586x import USB_586x
|
||||||
|
|
||||||
app = None
|
app = None
|
||||||
|
|
@ -93,6 +97,7 @@ try:
|
||||||
self.components_specs = {
|
self.components_specs = {
|
||||||
"archive_synchronizer": {"c": ArchiveSynchronizer},
|
"archive_synchronizer": {"c": ArchiveSynchronizer},
|
||||||
"label_printer": {"c": Os_Label_Printer, "t": False},
|
"label_printer": {"c": Os_Label_Printer, "t": False},
|
||||||
|
"extra_label_printer": {"c": Os_Label_Printer, "t": False},
|
||||||
"multicomp": {"c": Multicomp730424, "k": {"paused": True}},
|
"multicomp": {"c": Multicomp730424, "k": {"paused": True}},
|
||||||
"remote_api": {"c": RemoteAPI, "k": {"main": self}},
|
"remote_api": {"c": RemoteAPI, "k": {"main": self}},
|
||||||
"screwdriver": {"c": TecnaScrewdriver, "k": {"paused": True}},
|
"screwdriver": {"c": TecnaScrewdriver, "k": {"paused": True}},
|
||||||
|
|
|
||||||
191
src/test/csv_import/Tabella_e_daily.csv
Normal file
191
src/test/csv_import/Tabella_e_daily.csv
Normal file
|
|
@ -0,0 +1,191 @@
|
||||||
|
codice_ricetta,Priorita,etichette_supplementari,Numero nastri (N),Numero sensori anello (SA),Numero sensori presenza (SP)
|
||||||
|
5803034806,1,,,,
|
||||||
|
5803037204,1,,,,
|
||||||
|
5803037206,1,,,,
|
||||||
|
5803037207,1,,,,
|
||||||
|
5803048121,1,,,,
|
||||||
|
5803048122,1,,,,
|
||||||
|
5803048123,1,,,,
|
||||||
|
5803048125,1,RM2,,,
|
||||||
|
5803048126,1,MI2,,,
|
||||||
|
5803048127,1,"MI1,MI2",,,
|
||||||
|
5803048128,1,"RM1,RM2",,,
|
||||||
|
5803048131,1,"MI1,MI2",,,
|
||||||
|
5803048132,1,"RM1,RM2",,,
|
||||||
|
5803098374,1,,,,
|
||||||
|
5803098375,1,,,,
|
||||||
|
5803119920,1,,,,
|
||||||
|
5803119921,1,,,,
|
||||||
|
5803119922,1,,,,
|
||||||
|
5803119923,1,,,,
|
||||||
|
5803119924,1,,,,
|
||||||
|
5803119925,1,,,,
|
||||||
|
5803119926,1,,,,
|
||||||
|
5803119927,1,,,,
|
||||||
|
5802850925,1,"RM1,MI1",3,2,2
|
||||||
|
5802850926,1,,,,
|
||||||
|
5802850929,1,,4,3,1
|
||||||
|
5802850932,1,,,,
|
||||||
|
5802850933,1,,,,
|
||||||
|
5802850941,1,,,,
|
||||||
|
5802963590,1,,,,
|
||||||
|
5802963591,1,RB1,,,
|
||||||
|
5802963593,1,,,,
|
||||||
|
5802963597,1,,,,
|
||||||
|
5802963598,1,MB1,,,
|
||||||
|
5802963599,1,,,,
|
||||||
|
5802963600,1,,,,
|
||||||
|
5802963679,1,,,,
|
||||||
|
5802963681,1,,,,
|
||||||
|
5802963683,1,,,,
|
||||||
|
5802963684,1,,,,
|
||||||
|
5802963685,1,,,,
|
||||||
|
5803025107,1,"MI1,MI2",,,
|
||||||
|
5803025111,1,"MB1,MB2",,,
|
||||||
|
5803025112,1,"RB1,RB2",,,
|
||||||
|
5803025113,1,"MI1,MI2",,,
|
||||||
|
5803025114,1,"RM1,RM2",,,
|
||||||
|
5803025116,1,"MI1,MI2",,,
|
||||||
|
5803025117,1,"RM1,RM2",,,
|
||||||
|
5803025127,1,"MI1,MI2",,,
|
||||||
|
5803025130,1,,,,
|
||||||
|
5803025131,1,,,,
|
||||||
|
5803025134,1,,,,
|
||||||
|
5803025135,1,,,,
|
||||||
|
5803025136,1,,,,
|
||||||
|
5803025137,1,,,,
|
||||||
|
5803033719,1,"MI1,MI2",,,
|
||||||
|
5803034025,1,"RM1,RM2",,,
|
||||||
|
5803034029,1,,,,
|
||||||
|
5803034807,1,"RM1,RM2",2,1,
|
||||||
|
5803036737,1,,,,
|
||||||
|
5803041432,1,,,,
|
||||||
|
5803041433,1,,,,
|
||||||
|
5802850935,1,,,,
|
||||||
|
5802850936,1,,,,
|
||||||
|
5803025108,1,"RM1,RM2",,,
|
||||||
|
5803025109,1,MI2,,,
|
||||||
|
5803025110,1,RM2,,,
|
||||||
|
5803025115,1,MB2,,,
|
||||||
|
5803025118,1,RB2,,,
|
||||||
|
5803025132,1,,,,
|
||||||
|
5803025133,1,,,,
|
||||||
|
5803033717,1,MI1,,,
|
||||||
|
5803034002,1,,,,
|
||||||
|
5803034005,1,,,,
|
||||||
|
5803034011,1,,,,
|
||||||
|
5803034015,1,RM1,,,
|
||||||
|
5803034017,1,MB2,,,
|
||||||
|
5803034020,1,,,,
|
||||||
|
5803034021,1,,,,
|
||||||
|
5803034022,1,,,,
|
||||||
|
5803034026,1,"RB1,RB2",,,
|
||||||
|
5803034027,1,MB2,,,
|
||||||
|
5803034028,1,RB2,,,
|
||||||
|
5803034770,1,,,,
|
||||||
|
5803034771,1,,,,
|
||||||
|
5803034772,1,"MB1,MB2",,,
|
||||||
|
5803036730,1,RB2,,,
|
||||||
|
5803036731,1,"RM1,RM2",,,
|
||||||
|
5803036732,1,MI2,,,
|
||||||
|
5803036733,1,RM2,,,
|
||||||
|
5803036734,1,MB2,,,
|
||||||
|
5803036735,1,RB2,,,
|
||||||
|
5803036741,1,MI1,,,
|
||||||
|
5803036742,1,RM1,,,
|
||||||
|
5803036743,1,MI1,,,
|
||||||
|
5803036744,1,RM1,,,
|
||||||
|
5803036746,1,RB1,,,
|
||||||
|
5803036747,1,MB1,,,
|
||||||
|
5803036751,1,,,,
|
||||||
|
5803036753,1,,,,
|
||||||
|
5803041434,1,MB1,,,
|
||||||
|
5803041435,1,RB1,,,
|
||||||
|
5803048129,1,MI2,,,
|
||||||
|
5803048130,1,RM2,,,
|
||||||
|
5803041436,2,RM2,,,
|
||||||
|
5803041437,2,MI2,,,
|
||||||
|
5803036748,2,MI2,,,
|
||||||
|
5803036749,2,RM2,,,
|
||||||
|
5803034810,2,MI1,,,
|
||||||
|
5803034811,2,RM1,,,
|
||||||
|
5803101533,2,"RM1,RM2",,,
|
||||||
|
5803101535,2,"MI1,MI2",,,
|
||||||
|
5803101537,2,RM1,,,
|
||||||
|
5803101538,2,MI1,,,
|
||||||
|
5803108304,2,,,,
|
||||||
|
5803108310,2,,,,
|
||||||
|
5803101534,2,RM2,,,
|
||||||
|
5803101536,2,MI2,,,
|
||||||
|
5803033718,2,,,,
|
||||||
|
5803034812,2,,,,
|
||||||
|
5803034813,2,,,,
|
||||||
|
5803108305,2,,,,
|
||||||
|
5803108311,2,,,,
|
||||||
|
5803007806,2,,,,
|
||||||
|
5803007807,2,,,,
|
||||||
|
5803007808,2,,,,
|
||||||
|
5803034023,2,RM1,,,
|
||||||
|
5803034024,2,MI1,,,
|
||||||
|
5803101541,2,RM1,,,
|
||||||
|
5803101542,2,MI1,,,
|
||||||
|
5803034778,2,MB2,,,
|
||||||
|
5803034780,2,RB2,,,
|
||||||
|
5803037200,2,RM1,,,
|
||||||
|
5803037201,2,MI1,,,
|
||||||
|
5803104802,2,,,,
|
||||||
|
5803104803,2,,,,
|
||||||
|
5803104804,2,,,,
|
||||||
|
5803104806,2,,,,
|
||||||
|
5803104807,2,,,,
|
||||||
|
5803104808,2,,,,
|
||||||
|
5803025103,2,MB2,,,
|
||||||
|
5803025105,2,RB2,,,
|
||||||
|
5802815391,2,,,,
|
||||||
|
5802815400,2,,,,
|
||||||
|
5803047088,2,MB2,,,
|
||||||
|
5803047079,2,MB2,,,
|
||||||
|
5803047080,2,RB2,,,
|
||||||
|
5803047095,2,MB2,,,
|
||||||
|
5803047096,2,RB2,,,
|
||||||
|
5803034808,2,"MI1,MI2",,,
|
||||||
|
5803034809,2,"RM1,RM2",,,
|
||||||
|
5803108365,2,,,,
|
||||||
|
5803108368,2,,,,
|
||||||
|
5803034007,2,,,,
|
||||||
|
5803034009,2,,,,
|
||||||
|
5803037202,2,,,,
|
||||||
|
5803037203,2,,,,
|
||||||
|
5803108366,2,,,,
|
||||||
|
5803108369,2,,,,
|
||||||
|
5803025123,2,"MI1,MI2",,,
|
||||||
|
5803025124,2,"RM1,RM2",,,
|
||||||
|
5803025125,2,MI1,,,
|
||||||
|
5803025126,2,RM1,,,
|
||||||
|
5803034773,2,RM1,,,
|
||||||
|
5803033716,2,RM1,,,
|
||||||
|
5803034013,2,MI1,,,
|
||||||
|
5803025100,2,"MI1,MI2",,,
|
||||||
|
5803025101,2,"RB1,RB2",,,
|
||||||
|
5803047093,2,"MB1,MB2",,,
|
||||||
|
5803025099,2,"MB1,MB2",,,
|
||||||
|
5803025102,2,"RM1,RM2",,,
|
||||||
|
5803025104,2,"MI1,MI2",,,
|
||||||
|
5803025106,2,"RM1,RM2",,,
|
||||||
|
5803047087,2,"MI1,MI2",,,
|
||||||
|
5803047090,2,"RM1,RM2",,,
|
||||||
|
5803047092,2,"MI1,MI2",,,
|
||||||
|
5803025128,2,,,,
|
||||||
|
5803025129,2,,,,
|
||||||
|
5803047075,2,RM2,,,
|
||||||
|
5803047076,2,MI2,,,
|
||||||
|
5803034776,2,,,,
|
||||||
|
5803047073,2,RM1,,,
|
||||||
|
5803047074,2,MI1,,,
|
||||||
|
5803034774,2,MI1,,,
|
||||||
|
5803036739,2,MI1,,,
|
||||||
|
5803036740,2,RM1,,,
|
||||||
|
5803047098,2,,,,
|
||||||
|
5803047099,2,,,,
|
||||||
|
5802815398,2,,,,
|
||||||
|
5803047091,2,RB2,,,
|
||||||
|
|
|
@ -1,191 +0,0 @@
|
||||||
,codice_ricetta,Priorità,descrizione,etichette_supplementari,Numero nastri (N),Numero sensori anello (SA),Numero sensori presenza (SP)
|
|
||||||
,5803034806,1,priorità 1,,,,
|
|
||||||
,5803037204,1,priorità 1,,,,
|
|
||||||
,5803037206,1,priorità 1,,,,
|
|
||||||
,5803037207,1,priorità 1,,,,
|
|
||||||
,5803048121,1,priorità 1,,,,
|
|
||||||
,5803048122,1,priorità 1,,,,
|
|
||||||
,5803048123,1,priorità 1,,,,
|
|
||||||
,5803048125,1,priorità 1,,,,
|
|
||||||
,5803048126,1,priorità 1,,,,
|
|
||||||
,5803048127,1,priorità 1,,,,
|
|
||||||
,5803048128,1,priorità 1,,,,
|
|
||||||
,5803048131,1,priorità 1,,,,
|
|
||||||
,5803048132,1,priorità 1,,,,
|
|
||||||
,5803098374,1,priorità 1,,,,
|
|
||||||
,5803098375,1,priorità 1,,,,
|
|
||||||
,5803119920,1,priorità 1,,,,
|
|
||||||
,5803119921,1,priorità 1,,,,
|
|
||||||
,5803119922,1,priorità 1,,,,
|
|
||||||
,5803119923,1,priorità 1,,,,
|
|
||||||
,5803119924,1,priorità 1,,,,
|
|
||||||
,5803119925,1,priorità 1,,,,
|
|
||||||
,5803119926,1,priorità 1,,,,
|
|
||||||
,5803119927,1,priorità 1,,,,
|
|
||||||
,5802850925,1,priorità 1,"RM1,MI1",3,2,2
|
|
||||||
,5802850926,1,priorità 1,,,,
|
|
||||||
,5802850929,1,priorità 1,,4,3,1
|
|
||||||
,5802850932,1,priorità 1,,,,
|
|
||||||
,5802850933,1,priorità 1,,,,
|
|
||||||
,5802850941,1,priorità 1,,,,
|
|
||||||
,5802963590,1,priorità 1,,,,
|
|
||||||
,5802963591,1,priorità 1,,,,
|
|
||||||
,5802963593,1,priorità 1,,,,
|
|
||||||
,5802963597,1,priorità 1,,,,
|
|
||||||
,5802963598,1,priorità 1,,,,
|
|
||||||
,5802963599,1,priorità 1,,,,
|
|
||||||
,5802963600,1,priorità 1,,,,
|
|
||||||
,5802963679,1,priorità 1,,,,
|
|
||||||
,5802963681,1,priorità 1,,,,
|
|
||||||
,5802963683,1,priorità 1,,,,
|
|
||||||
,5802963684,1,priorità 1,,,,
|
|
||||||
,5802963685,1,priorità 1,,,,
|
|
||||||
,5803025107,1,priorità 1,,,,
|
|
||||||
,5803025111,1,priorità 1,,,,
|
|
||||||
,5803025112,1,priorità 1,,,,
|
|
||||||
,5803025113,1,priorità 1,,,,
|
|
||||||
,5803025114,1,priorità 1,,,,
|
|
||||||
,5803025116,1,priorità 1,,,,
|
|
||||||
,5803025117,1,priorità 1,,,,
|
|
||||||
,5803025127,1,priorità 1,,,,
|
|
||||||
,5803025130,1,priorità 1,,,,
|
|
||||||
,5803025131,1,priorità 1,,,,
|
|
||||||
,5803025134,1,priorità 1,,,,
|
|
||||||
,5803025135,1,priorità 1,,,,
|
|
||||||
,5803025136,1,priorità 1,,,,
|
|
||||||
,5803025137,1,priorità 1,,,,
|
|
||||||
,5803033719,1,priorità 1,,,,
|
|
||||||
,5803034025,1,priorità 1,,,,
|
|
||||||
,5803034029,1,priorità 1,,,,
|
|
||||||
,5803034807,1,priorità 1,,,,
|
|
||||||
,5803036737,1,priorità 1,,,,
|
|
||||||
,5803041432,1,priorità 1,,,,
|
|
||||||
,5803041433,1,priorità 1,,,,
|
|
||||||
,5802850935,1,priorità 1,,,,
|
|
||||||
,5802850936,1,priorità 1,,,,
|
|
||||||
,5803025108,1,priorità 1,,,,
|
|
||||||
,5803025109,1,priorità 1,,,,
|
|
||||||
,5803025110,1,priorità 1,,,,
|
|
||||||
,5803025115,1,priorità 1,,,,
|
|
||||||
,5803025118,1,priorità 1,,,,
|
|
||||||
,5803025132,1,priorità 1,,,,
|
|
||||||
,5803025133,1,priorità 1,,,,
|
|
||||||
,5803033717,1,priorità 1,,,,
|
|
||||||
,5803034002,1,priorità 1,,,,
|
|
||||||
,5803034005,1,priorità 1,,,,
|
|
||||||
,5803034011,1,priorità 1,,,,
|
|
||||||
,5803034015,1,priorità 1,,,,
|
|
||||||
,5803034017,1,priorità 1,,,,
|
|
||||||
,5803034020,1,priorità 1,,,,
|
|
||||||
,5803034021,1,priorità 1,,,,
|
|
||||||
,5803034022,1,priorità 1,,,,
|
|
||||||
,5803034026,1,priorità 1,,,,
|
|
||||||
,5803034027,1,priorità 1,,,,
|
|
||||||
,5803034028,1,priorità 1,,,,
|
|
||||||
,5803034770,1,priorità 1,,,,
|
|
||||||
,5803034771,1,priorità 1,,,,
|
|
||||||
,5803034772,1,priorità 1,,,,
|
|
||||||
,5803036730,1,priorità 1,,,,
|
|
||||||
,5803036731,1,priorità 1,,,,
|
|
||||||
,5803036732,1,priorità 1,,,,
|
|
||||||
,5803036733,1,priorità 1,,,,
|
|
||||||
,5803036734,1,priorità 1,,,,
|
|
||||||
,5803036735,1,priorità 1,,,,
|
|
||||||
,5803036741,1,priorità 1,,,,
|
|
||||||
,5803036742,1,priorità 1,,,,
|
|
||||||
,5803036743,1,priorità 1,,,,
|
|
||||||
,5803036744,1,priorità 1,,,,
|
|
||||||
,5803036746,1,priorità 1,,,,
|
|
||||||
,5803036747,1,priorità 1,,,,
|
|
||||||
,5803036751,1,priorità 1,,,,
|
|
||||||
,5803036753,1,priorità 1,,,,
|
|
||||||
,5803041434,1,priorità 1,,,,
|
|
||||||
,5803041435,1,priorità 1,,,,
|
|
||||||
,5803048129,1,priorità 1,,,,
|
|
||||||
,5803048130,1,priorità 1,,,,
|
|
||||||
,5803041436,2,priorità 2,,,,
|
|
||||||
,5803041437,2,priorità 2,,,,
|
|
||||||
,5803036748,2,priorità 2,,,,
|
|
||||||
,5803036749,2,priorità 2,,,,
|
|
||||||
,5803034810,2,priorità 2,,,,
|
|
||||||
,5803034811,2,priorità 2,,,,
|
|
||||||
,5803101533,2,priorità 2,,,,
|
|
||||||
,5803101535,2,priorità 2,,,,
|
|
||||||
,5803101537,2,priorità 2,,,,
|
|
||||||
,5803101538,2,priorità 2,,,,
|
|
||||||
,5803108304,2,priorità 2,,,,
|
|
||||||
,5803108310,2,priorità 2,,,,
|
|
||||||
,5803101534,2,priorità 2,,,,
|
|
||||||
,5803101536,2,priorità 2,,,,
|
|
||||||
,5803033718,2,priorità 2,,,,
|
|
||||||
,5803034812,2,priorità 2,,,,
|
|
||||||
,5803034813,2,priorità 2,,,,
|
|
||||||
,5803108305,2,priorità 2,,,,
|
|
||||||
,5803108311,2,priorità 2,,,,
|
|
||||||
,5803007806,2,priorità 2,,,,
|
|
||||||
,5803007807,2,priorità 2,,,,
|
|
||||||
,5803007808,2,priorità 2,,,,
|
|
||||||
,5803034023,2,priorità 2,,,,
|
|
||||||
,5803034024,2,priorità 2,,,,
|
|
||||||
,5803101541,2,priorità 2,,,,
|
|
||||||
,5803101542,2,priorità 2,,,,
|
|
||||||
,5803034778,2,priorità 2,,,,
|
|
||||||
,5803034780,2,priorità 2,,,,
|
|
||||||
,5803037200,2,priorità 2,,,,
|
|
||||||
,5803037201,2,priorità 2,,,,
|
|
||||||
,5803104802,2,priorità 2,,,,
|
|
||||||
,5803104803,2,priorità 2,,,,
|
|
||||||
,5803104804,2,priorità 2,,,,
|
|
||||||
,5803104806,2,priorità 2,,,,
|
|
||||||
,5803104807,2,priorità 2,,,,
|
|
||||||
,5803104808,2,priorità 2,,,,
|
|
||||||
,5803025103,2,priorità 2,,,,
|
|
||||||
,5803025105,2,priorità 2,,,,
|
|
||||||
,5802815391,2,priorità 2,,,,
|
|
||||||
,5802815400,2,priorità 2,,,,
|
|
||||||
,5803047088,2,priorità 2,,,,
|
|
||||||
,5803047079,2,priorità 2,,,,
|
|
||||||
,5803047080,2,priorità 2,,,,
|
|
||||||
,5803047095,2,priorità 2,,,,
|
|
||||||
,5803047096,2,priorità 2,,,,
|
|
||||||
,5803034808,2,priorità 2,,,,
|
|
||||||
,5803034809,2,priorità 2,,,,
|
|
||||||
,5803108365,2,priorità 2,,,,
|
|
||||||
,5803108368,2,priorità 2,,,,
|
|
||||||
,5803034007,2,priorità 2,,,,
|
|
||||||
,5803034009,2,priorità 2,,,,
|
|
||||||
,5803037202,2,priorità 2,,,,
|
|
||||||
,5803037203,2,priorità 2,,,,
|
|
||||||
,5803108366,2,priorità 2,,,,
|
|
||||||
,5803108369,2,priorità 2,,,,
|
|
||||||
,5803025123,2,priorità 2,,,,
|
|
||||||
,5803025124,2,priorità 2,,,,
|
|
||||||
,5803025125,2,priorità 2,,,,
|
|
||||||
,5803025126,2,priorità 2,,,,
|
|
||||||
,5803034773,2,priorità 2,,,,
|
|
||||||
,5803033716,2,priorità 2,,,,
|
|
||||||
,5803034013,2,priorità 2,,,,
|
|
||||||
,5803025100,2,priorità 2,,,,
|
|
||||||
,5803025101,2,priorità 2,,,,
|
|
||||||
,5803047093,2,priorità 2,,,,
|
|
||||||
,5803025099,2,priorità 2,,,,
|
|
||||||
,5803025102,2,priorità 2,,,,
|
|
||||||
,5803025104,2,priorità 2,,,,
|
|
||||||
,5803025106,2,priorità 2,,,,
|
|
||||||
,5803047087,2,priorità 2,,,,
|
|
||||||
,5803047090,2,priorità 2,,,,
|
|
||||||
,5803047092,2,priorità 2,,,,
|
|
||||||
,5803025128,2,priorità 2,,,,
|
|
||||||
,5803025129,2,priorità 2,,,,
|
|
||||||
,5803047075,2,priorità 2,,,,
|
|
||||||
,5803047076,2,priorità 2,,,,
|
|
||||||
,5803034776,2,priorità 2,,,,
|
|
||||||
,5803047073,2,priorità 2,,,,
|
|
||||||
,5803047074,2,priorità 2,,,,
|
|
||||||
,5803034774,2,priorità 2,,,,
|
|
||||||
,5803036739,2,priorità 2,,,,
|
|
||||||
,5803036740,2,priorità 2,,,,
|
|
||||||
,5803047098,2,priorità 2,,,,
|
|
||||||
,5803047099,2,priorità 2,,,,
|
|
||||||
,5802815398,2,priorità 2,,,,
|
|
||||||
,5803047091,2,priorità 2,,,,
|
|
||||||
|
3
src/test/csv_import/test_doppia_prova_tenuta.csv
Normal file
3
src/test/csv_import/test_doppia_prova_tenuta.csv
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
codice_ricetta,codice_prodotto,cliente,descrizione,prova_tenuta_abilitata,prova_tenuta_abilitata_2,config_elettrovalvole,config_elettrovalvole_2,modello_etichetta
|
||||||
|
5802820548,5802820548,IVECO,Tubo doppio,x,x,0,1,EtichettaR5_Montaggio_2prove.prn
|
||||||
|
5802820549,5802820549,IVECO,Tubo singolo,x,,0,1,EtichettaR5_Montaggio.prn
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
codice_ricetta,cliente,codice_prodotto,descrizione,avvitatura_abilitata,viti,prova_tenuta_abilitata,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotmento,stampa_etichetta_abilitata,modello_etichetta
|
codice_ricetta,cliente,codice_prodotto,descrizione,avvitatura_abilitata,viti,prova_tenuta_abilitata,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotamento,stampa_etichetta_abilitata,modello_etichetta
|
||||||
FUGA,,FUGA,Fuga calibrata,,,x,5,10,10,10,10,5,7000,5,1,100,x,ETA30x16.prn
|
FUGA,,FUGA,Fuga calibrata,,,x,5,10,10,10,10,5,7000,5,1,100,x,ETA30x16.prn
|
||||||
R54080,IVECO,5802860939 R.03,Daily Himatic,,,x,5,5,10,10,5,30,5000,30,1,100,x,ETA30x16.prn
|
R54080,IVECO,5802860939 R.03,Daily Himatic,,,x,5,5,10,10,5,30,5000,30,1,100,x,ETA30x16.prn
|
||||||
R54081,IVECO,5802831453 R.03,Daily Himatic,,,x,5,5,10,10,5,30,5000,30,1,100,x,ETA30x16.prn
|
R54081,IVECO,5802831453 R.03,Daily Himatic,,,x,5,5,10,10,5,30,5000,30,1,100,x,ETA30x16.prn
|
||||||
|
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
codice_ricetta,cliente,codice_prodotto,prova_tenuta_abilitata,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotmento,stampa_etichetta_abilitata,modello_etichetta
|
codice_ricetta,cliente,codice_prodotto,prova_tenuta_abilitata,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotamento,stampa_etichetta_abilitata,modello_etichetta
|
||||||
5802831451,IVECO,5802831451 R.02,x,5,1,5,10,5,30,5000,0,1,100,x,ETA37x13.prn
|
5802831451,IVECO,5802831451 R.02,x,5,1,5,10,5,30,5000,0,1,100,x,ETA37x13.prn
|
||||||
5802831453,IVECO,5802831453 R.02,x,5,1,5,10,5,30,5000,0,1,100,x,ETA37x13.prn
|
5802831453,IVECO,5802831453 R.02,x,5,1,5,10,5,30,5000,0,1,100,x,ETA37x13.prn
|
||||||
5802860512,IVECO,5802860512 R.02,x,5,1,5,10,5,30,5000,0,1,100,x,ETA37x13.prn
|
5802860512,IVECO,5802860512 R.02,x,5,1,5,10,5,30,5000,0,1,100,x,ETA37x13.prn
|
||||||
|
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
pn,rc,cliente,codice_prodotto,prova_tenuta_abilitata,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotmento,stampa_etichetta_abilitata,modello_etichetta
|
pn,rc,cliente,codice_prodotto,prova_tenuta_abilitata,tempo_riempimento,tempo_assestamento,percentuale_minima_pressione_assestamento,percentuale_massima_pressione_assestamento,tempo_di_test,pressione_di_test_delta_minimo,pressione_di_test,pressione_di_test_delta_massimo,tempo_svuotamento,pressione_svuotamento,stampa_etichetta_abilitata,modello_etichetta
|
||||||
5802850925,5802850925,IVECO,j5802850925,x,5,10,10,10,10,30,5000,5,0,0,x,6
|
5802850925,5802850925,IVECO,j5802850925,x,5,10,10,10,10,30,5000,5,0,0,x,6
|
||||||
5802850926,5802850926,IVECO,j5802850926,x,5,10,10,10,10,30,5000,5,0,0,x,6
|
5802850926,5802850926,IVECO,j5802850926,x,5,10,10,10,10,30,5000,5,0,0,x,6
|
||||||
5802850929,5802850929,IVECO,j5802850929,x,5,10,10,10,10,30,5000,5,0,0,x,6
|
5802850929,5802850929,IVECO,j5802850929,x,5,10,10,10,10,30,5000,5,0,0,x,6
|
||||||
|
|
|
||||||
|
|
|
@ -11,4 +11,5 @@ class Print_Step_Editor(Editor):
|
||||||
"labeltxt_3": self.labeltxt_3,
|
"labeltxt_3": self.labeltxt_3,
|
||||||
"labeltxt_4": self.labeltxt_4,
|
"labeltxt_4": self.labeltxt_4,
|
||||||
"labeltxt_5": self.labeltxt_5,
|
"labeltxt_5": self.labeltxt_5,
|
||||||
|
"extra_label": self.extra_label,
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -75,13 +75,6 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
|
||||||
<widget class="QLabel" name="label_34">
|
|
||||||
<property name="text">
|
|
||||||
<string>Campo testo 5</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="1" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QLineEdit" name="labeltxt_1">
|
<widget class="QLineEdit" name="labeltxt_1">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
|
|
@ -132,6 +125,30 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
|
<widget class="QLabel" name="label_35">
|
||||||
|
<property name="text">
|
||||||
|
<string>Campo testo 5</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="0">
|
||||||
|
<widget class="QLabel" name="label_34">
|
||||||
|
<property name="text">
|
||||||
|
<string>Etichette supplementari</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="6" column="1">
|
||||||
|
<widget class="QLineEdit" name="extra_label">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>200</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
||||||
|
|
@ -91,8 +91,8 @@ class Recipe_Selection(Widget):
|
||||||
"resistance": len(self.config.get("recipes_defaults", noner)["verifica_resistenza_connettore_abilitata"]) and "resistance" not in self.unsupported_steps,
|
"resistance": len(self.config.get("recipes_defaults", noner)["verifica_resistenza_connettore_abilitata"]) and "resistance" not in self.unsupported_steps,
|
||||||
"screws": len(self.config.get("recipes_defaults", noner)["avvitatura_abilitata"]) and "screws" not in self.unsupported_steps,
|
"screws": len(self.config.get("recipes_defaults", noner)["avvitatura_abilitata"]) and "screws" not in self.unsupported_steps,
|
||||||
"instruction": len(self.config.get("recipes_defaults", noner)["istruzione_abilitata"]) and "instruction" not in self.unsupported_steps,
|
"instruction": len(self.config.get("recipes_defaults", noner)["istruzione_abilitata"]) and "instruction" not in self.unsupported_steps,
|
||||||
"leak_1": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata"]) and "leak" not in self.unsupported_steps,
|
"leak_1": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata"]) and "leak_1" not in self.unsupported_steps,
|
||||||
"leak_2": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata_2"]) and "leak" not in self.unsupported_steps,
|
"leak_2": len(self.config.get("recipes_defaults", noner)["prova_tenuta_abilitata_2"]) and "leak_2" not in self.unsupported_steps,
|
||||||
"vision": len(self.config.get("recipes_defaults", noner)["test_visione_abilitato"]) and "vision" not in self.unsupported_steps,
|
"vision": len(self.config.get("recipes_defaults", noner)["test_visione_abilitato"]) and "vision" not in self.unsupported_steps,
|
||||||
"print": len(self.config.get("recipes_defaults", noner)["stampa_etichetta_abilitata"]) and "print" not in self.unsupported_steps,
|
"print": len(self.config.get("recipes_defaults", noner)["stampa_etichetta_abilitata"]) and "print" not in self.unsupported_steps,
|
||||||
"step_editors": step_defaults,
|
"step_editors": step_defaults,
|
||||||
|
|
@ -209,8 +209,8 @@ class Recipe_Selection(Widget):
|
||||||
},
|
},
|
||||||
"instruction": {
|
"instruction": {
|
||||||
"num_tape": int(self.get_def(row,"numero nastri (n)")),
|
"num_tape": int(self.get_def(row,"numero nastri (n)")),
|
||||||
"num_piece": int(self.get_def(row,"numero sensori anello (sa)")),
|
"num_ring": int(self.get_def(row,"numero sensori anello (sa)")),
|
||||||
"num_ring": int(self.get_def(row,"numero sensori presenza (sp)"))
|
"num_piece": int(self.get_def(row,"numero sensori presenza (sp)"))
|
||||||
},
|
},
|
||||||
"leak_1": {
|
"leak_1": {
|
||||||
"pre_filling_time": int(row.get("tempo_pre_riempimento", defaults["tempo_pre_riempimento"])),
|
"pre_filling_time": int(row.get("tempo_pre_riempimento", defaults["tempo_pre_riempimento"])),
|
||||||
|
|
@ -224,7 +224,7 @@ class Recipe_Selection(Widget):
|
||||||
"test_pressure": int(row.get("pressione_di_test", defaults["pressione_di_test"])),
|
"test_pressure": int(row.get("pressione_di_test", defaults["pressione_di_test"])),
|
||||||
"test_pressure_max_delta": int(row.get("pressione_di_test_delta_massimo", defaults["pressione_di_test_delta_massimo"])),
|
"test_pressure_max_delta": int(row.get("pressione_di_test_delta_massimo", defaults["pressione_di_test_delta_massimo"])),
|
||||||
"flush_time": int(row.get("tempo_svuotamento", defaults["tempo_svuotamento"])),
|
"flush_time": int(row.get("tempo_svuotamento", defaults["tempo_svuotamento"])),
|
||||||
"flush_pressure": int(row.get("pressione_svuotmento", defaults["pressione_svuotmento"])),
|
"flush_pressure": int(row.get("pressione_svuotamento", defaults["pressione_svuotamento"])),
|
||||||
"relay_config": int(row.get("config_elettrovalvole", defaults["config_elettrovalvole"]))
|
"relay_config": int(row.get("config_elettrovalvole", defaults["config_elettrovalvole"]))
|
||||||
},
|
},
|
||||||
"leak_2": {
|
"leak_2": {
|
||||||
|
|
@ -239,8 +239,8 @@ class Recipe_Selection(Widget):
|
||||||
"test_pressure": int(row.get("pressione_di_test_2", defaults["pressione_di_test_2"])),
|
"test_pressure": int(row.get("pressione_di_test_2", defaults["pressione_di_test_2"])),
|
||||||
"test_pressure_max_delta": int(row.get("pressione_di_test_delta_massimo_2", defaults["pressione_di_test_delta_massimo_2"])),
|
"test_pressure_max_delta": int(row.get("pressione_di_test_delta_massimo_2", defaults["pressione_di_test_delta_massimo_2"])),
|
||||||
"flush_time": int(row.get("tempo_svuotamento_2", defaults["tempo_svuotamento_2"])),
|
"flush_time": int(row.get("tempo_svuotamento_2", defaults["tempo_svuotamento_2"])),
|
||||||
"flush_pressure": int(row.get("pressione_svuotmento_2", defaults["pressione_svuotmento_2"])),
|
"flush_pressure": int(row.get("pressione_svuotamento_2", defaults["pressione_svuotamento_2"])),
|
||||||
"relay_config": int(row.get("config_elettrovalvole", defaults["config_elettrovalvole"]))
|
"relay_config": int(row.get("config_elettrovalvole_2", defaults["config_elettrovalvole_2"]))
|
||||||
},
|
},
|
||||||
"vision": {
|
"vision": {
|
||||||
"recipe": row.get("ricetta_visione", defaults["ricetta_visione"]),
|
"recipe": row.get("ricetta_visione", defaults["ricetta_visione"]),
|
||||||
|
|
@ -252,6 +252,7 @@ class Recipe_Selection(Widget):
|
||||||
"labeltxt_3": row.get("testo_etich_3", ""),
|
"labeltxt_3": row.get("testo_etich_3", ""),
|
||||||
"labeltxt_4": row.get("testo_etich_4", ""),
|
"labeltxt_4": row.get("testo_etich_4", ""),
|
||||||
"labeltxt_5": row.get("testo_etich_5", ""),
|
"labeltxt_5": row.get("testo_etich_5", ""),
|
||||||
|
"extra_label": row.get("etichette_supplementari", ""),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -296,7 +297,8 @@ class Recipe_Selection(Widget):
|
||||||
recipe_is_new = True
|
recipe_is_new = True
|
||||||
for step_name, step_spec in steps_specs.items():
|
for step_name, step_spec in steps_specs.items():
|
||||||
step = steps[step_name]
|
step = steps[step_name]
|
||||||
step.type = re.sub(r"^(.*)_[0-9]+$", r"\1", step_name)
|
#step.type = re.sub(r"^(.*)_[0-9]+$", r"\1", step_name)
|
||||||
|
step.type = step_name
|
||||||
step.spec = step_spec
|
step.spec = step_spec
|
||||||
if recipe_is_new:
|
if recipe_is_new:
|
||||||
step.save(force_insert=True)
|
step.save(force_insert=True)
|
||||||
|
|
@ -312,8 +314,8 @@ class Recipe_Selection(Widget):
|
||||||
"resistance": len(row.get("verifica_resistenza_connettore_abilitata", defaults["verifica_resistenza_connettore_abilitata"])) and "resistance" not in self.unsupported_steps,
|
"resistance": len(row.get("verifica_resistenza_connettore_abilitata", defaults["verifica_resistenza_connettore_abilitata"])) and "resistance" not in self.unsupported_steps,
|
||||||
"screws": len(row.get("avvitatura_abilitata", defaults["avvitatura_abilitata"])) and "screws" not in self.unsupported_steps,
|
"screws": len(row.get("avvitatura_abilitata", defaults["avvitatura_abilitata"])) and "screws" not in self.unsupported_steps,
|
||||||
"instruction": len(row.get("istruzione_abilitata", defaults["istruzione_abilitata"])) and "instruction" not in self.unsupported_steps,
|
"instruction": len(row.get("istruzione_abilitata", defaults["istruzione_abilitata"])) and "instruction" not in self.unsupported_steps,
|
||||||
"leak_1": len(row.get("prova_tenuta_abilitata", defaults["prova_tenuta_abilitata"])) and "leak" not in self.unsupported_steps,
|
"leak_1": len(row.get("prova_tenuta_abilitata", defaults["prova_tenuta_abilitata"])) and "leak_1" not in self.unsupported_steps,
|
||||||
"leak_2": len(row.get("prova_tenuta_abilitata_2", defaults["prova_tenuta_abilitata_2"])) and "leak" not in self.unsupported_steps,
|
"leak_2": len(row.get("prova_tenuta_abilitata_2", defaults["prova_tenuta_abilitata_2"])) and "leak_2" not in self.unsupported_steps,
|
||||||
"vision": len(row.get("test_visione_abilitato", defaults["test_visione_abilitato"])) and "vision" not in self.unsupported_steps,
|
"vision": len(row.get("test_visione_abilitato", defaults["test_visione_abilitato"])) and "vision" not in self.unsupported_steps,
|
||||||
"print": len(row.get("stampa_etichetta_abilitata", defaults["stampa_etichetta_abilitata"])) and "print" not in self.unsupported_steps,
|
"print": len(row.get("stampa_etichetta_abilitata", defaults["stampa_etichetta_abilitata"])) and "print" not in self.unsupported_steps,
|
||||||
"steps": [], # should be pks of the enabled steps
|
"steps": [], # should be pks of the enabled steps
|
||||||
|
|
@ -392,7 +394,7 @@ class Recipe_Selection(Widget):
|
||||||
"pressione_di_test",
|
"pressione_di_test",
|
||||||
"pressione_di_test_delta_massimo",
|
"pressione_di_test_delta_massimo",
|
||||||
"tempo_svuotamento",
|
"tempo_svuotamento",
|
||||||
"pressione_svuotmento",
|
"pressione_svuotamento",
|
||||||
"prova_tenuta_abilitata_2",
|
"prova_tenuta_abilitata_2",
|
||||||
"tempo_pre_riempimento_2",
|
"tempo_pre_riempimento_2",
|
||||||
"pressione_pre_riempimento_2",
|
"pressione_pre_riempimento_2",
|
||||||
|
|
@ -405,7 +407,7 @@ class Recipe_Selection(Widget):
|
||||||
"pressione_di_test_2",
|
"pressione_di_test_2",
|
||||||
"pressione_di_test_delta_massimo_2",
|
"pressione_di_test_delta_massimo_2",
|
||||||
"tempo_svuotamento_2",
|
"tempo_svuotamento_2",
|
||||||
"pressione_svuotmento_2",
|
"pressione_svuotamento_2",
|
||||||
"test_visione_abilitato",
|
"test_visione_abilitato",
|
||||||
"ricetta_visione",
|
"ricetta_visione",
|
||||||
"stampa_etichetta_abilitata",
|
"stampa_etichetta_abilitata",
|
||||||
|
|
@ -442,7 +444,7 @@ class Recipe_Selection(Widget):
|
||||||
"pressione_di_test": steps["leak_1"].spec["test_pressure"],
|
"pressione_di_test": steps["leak_1"].spec["test_pressure"],
|
||||||
"pressione_di_test_delta_massimo": steps["leak_1"].spec["test_pressure_max_delta"],
|
"pressione_di_test_delta_massimo": steps["leak_1"].spec["test_pressure_max_delta"],
|
||||||
"tempo_svuotamento": steps["leak_1"].spec["flush_time"],
|
"tempo_svuotamento": steps["leak_1"].spec["flush_time"],
|
||||||
"pressione_svuotmento": steps["leak_1"].spec["flush_pressure"],
|
"pressione_svuotamento": steps["leak_1"].spec["flush_pressure"],
|
||||||
"prova_tenuta_abilitata_2": "x" if recipe.spec["leak_2"] else "",
|
"prova_tenuta_abilitata_2": "x" if recipe.spec["leak_2"] else "",
|
||||||
"tempo_pre_riempimento_2": steps["leak_2"].spec["pre_filling_time"],
|
"tempo_pre_riempimento_2": steps["leak_2"].spec["pre_filling_time"],
|
||||||
"pressione_pre_riempimento_2": steps["leak_2"].spec["pre_filling_pressure"],
|
"pressione_pre_riempimento_2": steps["leak_2"].spec["pre_filling_pressure"],
|
||||||
|
|
@ -455,7 +457,7 @@ class Recipe_Selection(Widget):
|
||||||
"pressione_di_test_2": steps["leak_2"].spec["test_pressure"],
|
"pressione_di_test_2": steps["leak_2"].spec["test_pressure"],
|
||||||
"pressione_di_test_delta_massimo_2": steps["leak_2"].spec["test_pressure_max_delta"],
|
"pressione_di_test_delta_massimo_2": steps["leak_2"].spec["test_pressure_max_delta"],
|
||||||
"tempo_svuotamento_2": steps["leak_2"].spec["flush_time"],
|
"tempo_svuotamento_2": steps["leak_2"].spec["flush_time"],
|
||||||
"pressione_svuotmento_2": steps["leak_2"].spec["flush_pressure"],
|
"pressione_svuotamento_2": steps["leak_2"].spec["flush_pressure"],
|
||||||
"test_visione_abilitato": recipe.spec["vision"],
|
"test_visione_abilitato": recipe.spec["vision"],
|
||||||
"ricetta_visione": steps["vision"].spec["recipe"],
|
"ricetta_visione": steps["vision"].spec["recipe"],
|
||||||
"stampa_etichetta_abilitata": "x" if recipe.spec["print"] else "",
|
"stampa_etichetta_abilitata": "x" if recipe.spec["print"] else "",
|
||||||
|
|
|
||||||
|
|
@ -59,14 +59,14 @@ class Recipe_Spec_And_Step_Editor(Editor):
|
||||||
"tab": self.instruction_t,
|
"tab": self.instruction_t,
|
||||||
},
|
},
|
||||||
"leak_1": {
|
"leak_1": {
|
||||||
"type": "leak",
|
"type": "leak_1",
|
||||||
"enable": self.leak_enabled_1_cb,
|
"enable": self.leak_enabled_1_cb,
|
||||||
"widget": "leak_editor_1_w",
|
"widget": "leak_editor_1_w",
|
||||||
"editor": Leak_Step_Editor(),
|
"editor": Leak_Step_Editor(),
|
||||||
"tab": self.leak_1_t,
|
"tab": self.leak_1_t,
|
||||||
},
|
},
|
||||||
"leak_2": {
|
"leak_2": {
|
||||||
"type": "leak",
|
"type": "leak_2",
|
||||||
"enable": self.leak_enabled_2_cb,
|
"enable": self.leak_enabled_2_cb,
|
||||||
"widget": "leak_editor_2_w",
|
"widget": "leak_editor_2_w",
|
||||||
"editor": Leak_Step_Editor(),
|
"editor": Leak_Step_Editor(),
|
||||||
|
|
|
||||||
|
|
@ -13,7 +13,8 @@ class Step_Spec_JEDECW(QPushButton, Cell):
|
||||||
def __init__(self, action=None, readonly=True, autocomplete=None, field_name=None, field_alias=None, field=None, row_number=None, crud=None):
|
def __init__(self, action=None, readonly=True, autocomplete=None, field_name=None, field_alias=None, field=None, row_number=None, crud=None):
|
||||||
self.editors = {
|
self.editors = {
|
||||||
"vision": Vision_Step_Editor(cell_widget=self),
|
"vision": Vision_Step_Editor(cell_widget=self),
|
||||||
"leak": Leak_Step_Editor(cell_widget=self),
|
"leak_1": Leak_Step_Editor(cell_widget=self),
|
||||||
|
"leak_2": Leak_Step_Editor(cell_widget=self),
|
||||||
}
|
}
|
||||||
self.editor = None
|
self.editor = None
|
||||||
self.editor_type = None
|
self.editor_type = None
|
||||||
|
|
@ -75,7 +76,8 @@ class Steps_Management(Widget):
|
||||||
fields_aliases=crud_aliases,
|
fields_aliases=crud_aliases,
|
||||||
autocomplete={
|
autocomplete={
|
||||||
"type": [
|
"type": [
|
||||||
"leak",
|
"leak_1",
|
||||||
|
"leak_2",
|
||||||
"vision",
|
"vision",
|
||||||
],
|
],
|
||||||
"spec": {
|
"spec": {
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,8 @@ class Test(Widget):
|
||||||
"instruction":{"digital_io"},
|
"instruction":{"digital_io"},
|
||||||
"screws": {"screwdriver", "tecna_t3", },
|
"screws": {"screwdriver", "tecna_t3", },
|
||||||
"resistance": {"multicomp", },
|
"resistance": {"multicomp", },
|
||||||
"leak": {"tecna_t3", },
|
"leak_1": {"tecna_t3", },
|
||||||
|
"leak_2": {"tecna_t3", },
|
||||||
"vision": {("uvc_camera", "galaxy_camera", ), "vision", "vision_saver", }, # "neo_pixels", },
|
"vision": {("uvc_camera", "galaxy_camera", ), "vision", "vision_saver", }, # "neo_pixels", },
|
||||||
"print": {"label_printer", },
|
"print": {"label_printer", },
|
||||||
}
|
}
|
||||||
|
|
@ -84,8 +85,9 @@ class Test(Widget):
|
||||||
"done": Test_Assembly(img_path=self.select_step_img("success"), text=u"COLLAUDO COMPLETATO", widget=None),
|
"done": Test_Assembly(img_path=self.select_step_img("success"), text=u"COLLAUDO COMPLETATO", widget=None),
|
||||||
"emergency": Test_Assembly(img_path=self.select_step_img("reset_emergency"), text=u"EMERGENZA INTERVENUTA - RIPRISTINARE PULSANTE E SELEZIONARE \"RESET EMERGENZA\" DAL MEN\u00d9 \"STRUMENTI\"", widget=None),
|
"emergency": Test_Assembly(img_path=self.select_step_img("reset_emergency"), text=u"EMERGENZA INTERVENUTA - RIPRISTINARE PULSANTE E SELEZIONARE \"RESET EMERGENZA\" DAL MEN\u00d9 \"STRUMENTI\"", widget=None),
|
||||||
"fail": Test_Assembly(img_path=self.select_step_img("fail"), text=u"CICLO INTERROTTO, PREMERE CONTINUA PER COMINCIARE UN NUOVO CICLO", widget=Test_Fail()),
|
"fail": Test_Assembly(img_path=self.select_step_img("fail"), text=u"CICLO INTERROTTO, PREMERE CONTINUA PER COMINCIARE UN NUOVO CICLO", widget=Test_Fail()),
|
||||||
"leak": Test_Assembly(img_path=None, text=None, widget=Test_Leak(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)),
|
"leak_1": Test_Assembly(img_path=None, text=None, widget=Test_Leak(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)),
|
||||||
"instruction": Test_Assembly(img_path=None, text=u"ESEGUIRE LE OPERAZIONI DI MONTAGGIO INDICATE IN FIGURA", widget=Test_Instructions(components=self.components, recipe=self.recipe,bench_name=self.config.machine_id, step=self.step,run_once=True)),
|
"leak_2": Test_Assembly(img_path=None, text=None, widget=Test_Leak(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)),
|
||||||
|
"instruction": Test_Assembly(img_path=None, text=u"ESEGUIRE LE OPERAZIONI DI MONTAGGIO INDICATE IN FIGURA", widget=Test_Instructions(components=self.components, recipe=self.recipe,bench_name=self.config.machine_id, step=self.step)),
|
||||||
"print": Test_Assembly(img_path=self.select_step_img("print"), text=u"STAMPA ETICHETTA IN CORSO", widget=None),
|
"print": Test_Assembly(img_path=self.select_step_img("print"), text=u"STAMPA ETICHETTA IN CORSO", widget=None),
|
||||||
"resistance": Test_Assembly(img_path=None, text=u"COLLEGARE CONNETTORE ELETTRICO PER EFFETTUARE PROVA RESISTENZA", widget=Test_Resistance(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)),
|
"resistance": Test_Assembly(img_path=None, text=u"COLLEGARE CONNETTORE ELETTRICO PER EFFETTUARE PROVA RESISTENZA", widget=Test_Resistance(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)),
|
||||||
"screws": Test_Assembly(img_path=None, text=u"AVVITARE TUTE LE VITI COME INDICATO", widget=Test_Screws(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)),
|
"screws": Test_Assembly(img_path=None, text=u"AVVITARE TUTE LE VITI COME INDICATO", widget=Test_Screws(components=self.components, recipe=self.recipe, step=self.step, pieces=self.pieces)),
|
||||||
|
|
@ -356,7 +358,7 @@ class Test(Widget):
|
||||||
}),
|
}),
|
||||||
] if "resistance" not in self.unsupported_steps else []),
|
] if "resistance" not in self.unsupported_steps else []),
|
||||||
*([
|
*([
|
||||||
Steps(type="leak", spec={
|
Steps(type="leak_1", spec={
|
||||||
"pre_filling_time": 0,
|
"pre_filling_time": 0,
|
||||||
"pre_filling_pressure": 1000,
|
"pre_filling_pressure": 1000,
|
||||||
"filling_time": 5,
|
"filling_time": 5,
|
||||||
|
|
@ -371,9 +373,9 @@ class Test(Widget):
|
||||||
"flush_pressure": 100,
|
"flush_pressure": 100,
|
||||||
"autotest": True,
|
"autotest": True,
|
||||||
}),
|
}),
|
||||||
] if "leak" not in self.unsupported_steps else []),
|
] if "leak_1" not in self.unsupported_steps else []),
|
||||||
*([
|
*([
|
||||||
Steps(type="leak", spec={
|
Steps(type="leak_1", spec={
|
||||||
"pre_filling_time": 0,
|
"pre_filling_time": 0,
|
||||||
"pre_filling_pressure": 1000,
|
"pre_filling_pressure": 1000,
|
||||||
"filling_time": 5,
|
"filling_time": 5,
|
||||||
|
|
@ -388,7 +390,7 @@ class Test(Widget):
|
||||||
"flush_pressure": 100,
|
"flush_pressure": 100,
|
||||||
"autotest": False,
|
"autotest": False,
|
||||||
}),
|
}),
|
||||||
] if "leak" not in self.unsupported_steps else []),
|
] if "leak_1" not in self.unsupported_steps else []),
|
||||||
Steps(type="done"),
|
Steps(type="done"),
|
||||||
Steps(type="wait"),
|
Steps(type="wait"),
|
||||||
]
|
]
|
||||||
|
|
@ -499,17 +501,23 @@ class Test(Widget):
|
||||||
self.log.info("cycle printed already compiled label")
|
self.log.info("cycle printed already compiled label")
|
||||||
# LABEL PRINT
|
# LABEL PRINT
|
||||||
recipe = archived.test_data.get("recipe", {})
|
recipe = archived.test_data.get("recipe", {})
|
||||||
leak_test_1 = archived.test_data.get("leak", {}).get("0", {})
|
leak_test_1 = archived.test_data.get("leak_1", {}).get("0", {})
|
||||||
leak_test_1_step = leak_test_1.get("step", {})
|
leak_test_1_step = leak_test_1.get("step", {})
|
||||||
leak_test_1_step_spec = leak_test_1_step.get("spec", {})
|
leak_test_1_step_spec = leak_test_1_step.get("spec", {})
|
||||||
leak_test_1_results = leak_test_1.get("results", {})
|
leak_test_1_results = leak_test_1.get("results", {})
|
||||||
leak_test_1_results_data = leak_test_1_results.get("data", {})
|
leak_test_1_results_data = leak_test_1_results.get("data", {})
|
||||||
leak_test_2 = archived.test_data.get("leak_2", {}).get("0", {})
|
leak_test_2 = archived.test_data.get("leak_2", {}).get("0", {})
|
||||||
leak_test_2_step = leak_test_1.get("step", {})
|
leak_test_2_step = leak_test_2.get("step", {})
|
||||||
leak_test_2_step_spec = leak_test_1_step.get("spec", {})
|
leak_test_2_step_spec = leak_test_2_step.get("spec", {})
|
||||||
leak_test_2_results = leak_test_1.get("results", {})
|
leak_test_2_results = leak_test_2.get("results", {})
|
||||||
leak_test_2_results_data = leak_test_1_results.get("data", {})
|
leak_test_2_results_data = leak_test_2_results.get("data", {})
|
||||||
printer_fields=self.step.spec
|
|
||||||
|
psetminp_a = leak_test_1_step_spec.get("test_pressure", 0) * (100+leak_test_1_step_spec.get("test_pressure_min_delta", 0)/100)
|
||||||
|
psetmaxp_a = leak_test_1_step_spec.get("settling_pressure_max_percent", 0) * (100+leak_test_1_step_spec.get("test_pressure_max_delta", 0)/100)
|
||||||
|
psetminp2_a = leak_test_2_step_spec.get("settling_pressure_min_percent", 0) * (100+leak_test_2_step_spec.get("test_pressure_min_delta", 0)/100)
|
||||||
|
psetmaxp2_a = leak_test_2_step_spec.get("settling_pressure_max_percent", 0) * (100+leak_test_2_step_spec.get("test_pressure_max_delta", 0)/100)
|
||||||
|
|
||||||
|
printer_fields = self.step.spec
|
||||||
context = {
|
context = {
|
||||||
# RECIPE DATA
|
# RECIPE DATA
|
||||||
"RECIPE": self.labellify(recipe.get("name", "-")),
|
"RECIPE": self.labellify(recipe.get("name", "-")),
|
||||||
|
|
@ -520,13 +528,24 @@ class Test(Widget):
|
||||||
"PPREFILL": self.labellify(leak_test_1_step_spec.get("pre_filling_pressure", "-")),
|
"PPREFILL": self.labellify(leak_test_1_step_spec.get("pre_filling_pressure", "-")),
|
||||||
"TFILL": self.labellify(leak_test_1_step_spec.get("filling_time", "-")),
|
"TFILL": self.labellify(leak_test_1_step_spec.get("filling_time", "-")),
|
||||||
"TSET": self.labellify(leak_test_1_step_spec.get("settling_time", "-")),
|
"TSET": self.labellify(leak_test_1_step_spec.get("settling_time", "-")),
|
||||||
|
"TPREFILL2": self.labellify(leak_test_2_step_spec.get("pre_filling_time", "-")),
|
||||||
|
"PPREFILL2": self.labellify(leak_test_2_step_spec.get("pre_filling_pressure", "-")),
|
||||||
|
"TFILL2": self.labellify(leak_test_2_step_spec.get("filling_time", "-")),
|
||||||
|
"TSET2": self.labellify(leak_test_2_step_spec.get("settling_time", "-")),
|
||||||
"PSETMINP": self.labellify(leak_test_1_step_spec.get("settling_pressure_min_percent", " -")),
|
"PSETMINP": self.labellify(leak_test_1_step_spec.get("settling_pressure_min_percent", " -")),
|
||||||
"PSETMAXP": self.labellify(leak_test_1_step_spec.get("settling_pressure_max_percent", " -")),
|
"PSETMAXP": self.labellify(leak_test_1_step_spec.get("settling_pressure_max_percent", " -")),
|
||||||
"PSETMINP2": self.labellify(leak_test_2_step_spec.get("settling_pressure_min_percent", " -")),
|
"PSETMINP2": self.labellify(leak_test_2_step_spec.get("settling_pressure_min_percent", " -")),
|
||||||
"PSETMAXP2": self.labellify(leak_test_2_step_spec.get("settling_pressure_max_percent", " -")),
|
"PSETMAXP2": self.labellify(leak_test_2_step_spec.get("settling_pressure_max_percent", " -")),
|
||||||
|
"PSETMINP_A": self.labellify(psetminp_a),
|
||||||
|
"PSETMAXP_A": self.labellify(psetmaxp_a),
|
||||||
|
"PSETMINP2_A": self.labellify(psetminp2_a),
|
||||||
|
"PSETMAXP2_A": self.labellify(psetmaxp2_a),
|
||||||
"TTEST": self.labellify(leak_test_1_step_spec.get("test_time", "-")),
|
"TTEST": self.labellify(leak_test_1_step_spec.get("test_time", "-")),
|
||||||
|
"TTEST2": self.labellify(leak_test_2_step_spec.get("test_time", "-")),
|
||||||
"PMIN": self.labellify(leak_test_1_step_spec.get("test_pressure_min_delta", "-")),
|
"PMIN": self.labellify(leak_test_1_step_spec.get("test_pressure_min_delta", "-")),
|
||||||
|
"PMIN2": self.labellify(leak_test_2_step_spec.get("test_pressure_min_delta", "-")),
|
||||||
"PTEST": self.labellify(leak_test_1_step_spec.get("test_pressure", "-")),
|
"PTEST": self.labellify(leak_test_1_step_spec.get("test_pressure", "-")),
|
||||||
|
"PTEST2": self.labellify(leak_test_2_step_spec.get("test_pressure", "-")),
|
||||||
"PMAX": self.labellify(leak_test_1_step_spec.get("test_pressure_max_delta", "-")),
|
"PMAX": self.labellify(leak_test_1_step_spec.get("test_pressure_max_delta", "-")),
|
||||||
"TFLUSH": self.labellify(leak_test_1_step_spec.get("flush_time", "-")),
|
"TFLUSH": self.labellify(leak_test_1_step_spec.get("flush_time", "-")),
|
||||||
"PFLUSH": self.labellify(leak_test_1_step_spec.get("flush_pressure", "-")),
|
"PFLUSH": self.labellify(leak_test_1_step_spec.get("flush_pressure", "-")),
|
||||||
|
|
@ -534,6 +553,7 @@ class Test(Widget):
|
||||||
"RESTPB": self.labellify(leak_test_1_results_data.get("Running test: phase backwards time", "-")),
|
"RESTPB": self.labellify(leak_test_1_results_data.get("Running test: phase backwards time", "-")),
|
||||||
"RESPFILL": self.labellify(leak_test_1_results_data.get("Running test: filling pressure", "-")),
|
"RESPFILL": self.labellify(leak_test_1_results_data.get("Running test: filling pressure", "-")),
|
||||||
"RESPSET": self.labellify(leak_test_1_results_data.get("Running test: pressure at the end of settling", "-")),
|
"RESPSET": self.labellify(leak_test_1_results_data.get("Running test: pressure at the end of settling", "-")),
|
||||||
|
"RESPSET2": self.labellify(leak_test_2_results_data.get("Running test: pressure at the end of settling", "-")),
|
||||||
"RESPB": self.labellify(leak_test_1_results_data.get("Running test: burst pressure", "-")),
|
"RESPB": self.labellify(leak_test_1_results_data.get("Running test: burst pressure", "-")),
|
||||||
"RESLEAK": self.labellify(leak_test_1_results_data.get("Running test: measured leak", "-")),
|
"RESLEAK": self.labellify(leak_test_1_results_data.get("Running test: measured leak", "-")),
|
||||||
"RESLEAK2": self.labellify(leak_test_2_results_data.get("Running test: measured leak", "-")),
|
"RESLEAK2": self.labellify(leak_test_2_results_data.get("Running test: measured leak", "-")),
|
||||||
|
|
@ -560,6 +580,8 @@ class Test(Widget):
|
||||||
"SHIFT": str(get_shift(archived.time)),
|
"SHIFT": str(get_shift(archived.time)),
|
||||||
"STATION": str(self.config.machine_id),
|
"STATION": str(self.config.machine_id),
|
||||||
"OPERATOR": str(archived.user.username),
|
"OPERATOR": str(archived.user.username),
|
||||||
|
"BADGE_NUM": str(archived.user.badge_number),
|
||||||
|
|
||||||
# RESULT
|
# RESULT
|
||||||
"RESULT": str("CONFORME" if leak_test_1_results.get("ok", False) else "SCARTO") + str(" FORZATO" if self.data.get("overridden", False) else ""),
|
"RESULT": str("CONFORME" if leak_test_1_results.get("ok", False) else "SCARTO") + str(" FORZATO" if self.data.get("overridden", False) else ""),
|
||||||
"RESULT_L1": "ESITO" + str(" FORZATO" if self.data.get("overridden", False) else ""),
|
"RESULT_L1": "ESITO" + str(" FORZATO" if self.data.get("overridden", False) else ""),
|
||||||
|
|
@ -576,6 +598,9 @@ class Test(Widget):
|
||||||
|
|
||||||
# PRINT EXTRA LABELS IF NEEDED
|
# PRINT EXTRA LABELS IF NEEDED
|
||||||
if "extra_label_printer" in self.components.keys():
|
if "extra_label_printer" in self.components.keys():
|
||||||
self.components["extra_label_printer"].print_label(label, context=context)
|
if len(printer_fields["extra_label"])>0:
|
||||||
|
labels=printer_fields["extra_label"].split(",")
|
||||||
|
for label in labels:
|
||||||
|
self.components["extra_label_printer"].print_label(f"{label}.prn", context=context)
|
||||||
self.log.info(f"cycle printed: {context!r}")
|
self.log.info(f"cycle printed: {context!r}")
|
||||||
return compiled_label
|
return compiled_label
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ class Test_Instructions(Test_Test):
|
||||||
self.layout = QVBoxLayout()
|
self.layout = QVBoxLayout()
|
||||||
self.layout.addWidget(self.svg_widget)
|
self.layout.addWidget(self.svg_widget)
|
||||||
self.svg_w.setLayout(self.layout)
|
self.svg_w.setLayout(self.layout)
|
||||||
|
self.svg_path=os.path.join("config","instruction_images",self.bench_name,"")
|
||||||
self.timer = QTimer()
|
self.timer = QTimer()
|
||||||
self.timer.timeout.connect(self.toggle_icons)
|
self.timer.timeout.connect(self.toggle_icons)
|
||||||
|
|
||||||
|
|
@ -33,26 +33,34 @@ class Test_Instructions(Test_Test):
|
||||||
show = super().start(recipe=recipe, step=step)
|
show = super().start(recipe=recipe, step=step)
|
||||||
ring_ids=[f"ring_{i+1}" for i in range(step.spec["num_ring"])]
|
ring_ids=[f"ring_{i+1}" for i in range(step.spec["num_ring"])]
|
||||||
piece_ids=[f"piece_{i+1}" for i in range(step.spec["num_piece"])]
|
piece_ids=[f"piece_{i+1}" for i in range(step.spec["num_piece"])]
|
||||||
|
tape_ids=[f"tape_{i+1}" for i in range(step.spec["num_tape"])]
|
||||||
self.ids=ring_ids+piece_ids
|
self.ids=ring_ids+piece_ids
|
||||||
self.inputs= {idx: {"id":id,"status":False} for idx,id in enumerate(self.ids)}
|
self.inputs= {idx: {"id":id,"status":False} for idx,id in enumerate(self.ids)}
|
||||||
|
self.tapes = {idx: {"id": id, "status": False} for idx, id in enumerate(tape_ids)}
|
||||||
self.timer.start(1000)
|
self.timer.start(1000)
|
||||||
# setup test loop
|
# setup test loop
|
||||||
self.get_connection = self.components["digital_io"].out.connect(self.get)
|
self.get_connection = self.components["digital_io"].out.connect(self.get)
|
||||||
|
|
||||||
if step is not None:
|
if step is not None:
|
||||||
svg_path=f"config/instruction_images/{self.bench_name}/{self.recipe}.svg"
|
svg_path=f"{self.svg_path}{self.recipe}.svg"
|
||||||
if not os.path.exists(svg_path):
|
if not os.path.exists(svg_path):
|
||||||
svg_path=f"config/instruction_images/{self.bench_name}/DEFAULT.svg"
|
svg_path=f"{self.svg_path}DEFAULT.svg"
|
||||||
self.svg_root = etree.parse(svg_path)
|
self.svg_root = etree.parse(svg_path)
|
||||||
self.svg_str = etree.tostring(self.svg_root)
|
self.svg_str = etree.tostring(self.svg_root)
|
||||||
self.svg_str=etree.tostring(self.svg_root)
|
self.svg_str=etree.tostring(self.svg_root)
|
||||||
|
self.done = False
|
||||||
return show
|
return show
|
||||||
|
|
||||||
def toggle_icons(self):
|
def toggle_icons(self):
|
||||||
self.flag = not self.flag
|
self.flag = not self.flag
|
||||||
|
|
||||||
|
for idx,tape in self.tapes.items():
|
||||||
|
elem = self.svg_root.findall(f'''.//*[@id='{tape["id"]}']''')[0]
|
||||||
|
if self.flag:
|
||||||
|
self.show_tape(elem)
|
||||||
|
else:
|
||||||
|
self.hide_tape(elem)
|
||||||
|
|
||||||
for idx,input in self.inputs.items():
|
for idx,input in self.inputs.items():
|
||||||
elem = self.svg_root.findall(f'''.//*[@id='{input["id"]}']''')[0]
|
elem = self.svg_root.findall(f'''.//*[@id='{input["id"]}']''')[0]
|
||||||
if input["status"]:
|
if input["status"]:
|
||||||
|
|
@ -68,9 +76,9 @@ class Test_Instructions(Test_Test):
|
||||||
self.show_svg()
|
self.show_svg()
|
||||||
|
|
||||||
def show_ok(self,id):
|
def show_ok(self,id):
|
||||||
id.attrib["{http://www.w3.org/1999/xlink}href"]= "ok.png"
|
id.attrib["{http://www.w3.org/1999/xlink}href"]= f"{self.svg_path}ok.png"
|
||||||
def show_ko(self,id):
|
def show_ko(self,id):
|
||||||
id.attrib["{http://www.w3.org/1999/xlink}href"]= "arw-yel-down.png"
|
id.attrib["{http://www.w3.org/1999/xlink}href"]= f"{self.svg_path}arw-yel-down.png"
|
||||||
|
|
||||||
def show_icon(self,id):
|
def show_icon(self,id):
|
||||||
id.set("display", "inline")
|
id.set("display", "inline")
|
||||||
|
|
@ -78,6 +86,13 @@ class Test_Instructions(Test_Test):
|
||||||
def hide_icon(self,id):
|
def hide_icon(self,id):
|
||||||
id.set("display", "none")
|
id.set("display", "none")
|
||||||
|
|
||||||
|
def show_tape(self,id):
|
||||||
|
id.attrib["{http://www.w3.org/1999/xlink}href"]= f"{self.svg_path}tape_black.png"
|
||||||
|
id.set("display", "inline")
|
||||||
|
|
||||||
|
def hide_tape(self,id):
|
||||||
|
id.set("display", "none")
|
||||||
|
|
||||||
def show_svg(self):
|
def show_svg(self):
|
||||||
self.svg_str = etree.tostring(self.svg_root)
|
self.svg_str = etree.tostring(self.svg_root)
|
||||||
self.svg_widget.load(self.svg_str)
|
self.svg_widget.load(self.svg_str)
|
||||||
|
|
@ -93,10 +108,11 @@ class Test_Instructions(Test_Test):
|
||||||
|
|
||||||
#check if all sensor are ok
|
#check if all sensor are ok
|
||||||
ok = True
|
ok = True
|
||||||
|
if len(data[0]["digital_io"])==0:
|
||||||
|
return
|
||||||
for sensor_index,sensor in enumerate(self.ids):
|
for sensor_index,sensor in enumerate(self.ids):
|
||||||
byte_idx=int(sensor_index/8)
|
byte_idx=int(sensor_index/8)
|
||||||
bit_idx=sensor_index%8
|
bit_idx=sensor_index%8
|
||||||
|
|
||||||
if data[0]["digital_io"][byte_idx][bit_idx]:
|
if data[0]["digital_io"][byte_idx][bit_idx]:
|
||||||
self.inputs[sensor_index]["status"]=True
|
self.inputs[sensor_index]["status"]=True
|
||||||
else:
|
else:
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ import weakref
|
||||||
from PyQt5.QtWidgets import QMessageBox
|
from PyQt5.QtWidgets import QMessageBox
|
||||||
|
|
||||||
from ui.test_test import Test_Test
|
from ui.test_test import Test_Test
|
||||||
from src.components.Automation.BDaq import ErrorCode
|
from components.Automation.BDaq import ErrorCode
|
||||||
|
|
||||||
class Test_Leak(Test_Test):
|
class Test_Leak(Test_Test):
|
||||||
def __init__(self, components=None, recipe=None, step=None, pieces=None, run_once=False, reset_on_start=True, enable_override=True):
|
def __init__(self, components=None, recipe=None, step=None, pieces=None, run_once=False, reset_on_start=True, enable_override=True):
|
||||||
|
|
@ -32,19 +32,23 @@ class Test_Leak(Test_Test):
|
||||||
self.start_b.setEnabled(False)
|
self.start_b.setEnabled(False)
|
||||||
self.stop_b.setEnabled(False)
|
self.stop_b.setEnabled(False)
|
||||||
|
|
||||||
# SETUP RELAY
|
# SETUP RELAY CONFIGURATION
|
||||||
if "digital_io" in self.components.keys():
|
if "digital_io" in self.components.keys():
|
||||||
if "relay_config" in step.spec.keys():
|
if "relay_config" in step.spec.keys():
|
||||||
relay_config = step.spec["relay_config"]
|
relay_config = step.spec["relay_config"]
|
||||||
|
bits = [0, 0]
|
||||||
if relay_config == 1:
|
if relay_config == 1:
|
||||||
ret=self.components["digital_io"].set_bit_verify(0, 0, 1)
|
bits = [0,1]
|
||||||
else:
|
if relay_config == 2:
|
||||||
ret=self.components["digital_io"].set_bit_verify(0, 0, 0)
|
bits = [1,0]
|
||||||
|
|
||||||
|
ret=self.components["digital_io"].set_bit_verify(0, 0, bits[0])
|
||||||
|
ret=self.components["digital_io"].set_bit_verify(0, 1, bits[1])
|
||||||
|
|
||||||
if ret:
|
if ret:
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
# AUTO START SECOND TEST
|
# AUTO START SECOND TEST
|
||||||
if relay_config == 1:
|
if step.spec == "leak_2":
|
||||||
self.start_b.setEnabled(True)
|
self.start_b.setEnabled(True)
|
||||||
self.start_b.click()
|
self.start_b.click()
|
||||||
else:
|
else:
|
||||||
|
|
@ -72,6 +76,7 @@ class Test_Leak(Test_Test):
|
||||||
super().get(None, override=override)
|
super().get(None, override=override)
|
||||||
return
|
return
|
||||||
data = data[-1]
|
data = data[-1]
|
||||||
|
|
||||||
# TESTING
|
# TESTING
|
||||||
if self.simulate:
|
if self.simulate:
|
||||||
if self.step.spec.get("autotest", False) is not True:
|
if self.step.spec.get("autotest", False) is not True:
|
||||||
|
|
@ -82,13 +87,18 @@ class Test_Leak(Test_Test):
|
||||||
data["tecna_t3"] = {
|
data["tecna_t3"] = {
|
||||||
"Running test: result": "-----TESTING----- failed",
|
"Running test: result": "-----TESTING----- failed",
|
||||||
}
|
}
|
||||||
# /TESTING
|
|
||||||
if "Running test: result" in data["tecna_t3"]:
|
if "Running test: result" in data["tecna_t3"]:
|
||||||
result = data["tecna_t3"]["Running test: result"]
|
result = data["tecna_t3"]["Running test: result"]
|
||||||
if self.step.spec.get("autotest", False) is not True:
|
if self.step.spec.get("autotest", False) is not True:
|
||||||
ok = type(result) is str and "passed" in result.lower()
|
ok = type(result) is str and "passed" in result.lower()
|
||||||
else:
|
else:
|
||||||
ok = type(result) is str and "failed" in result.lower()
|
ok = type(result) is str and "failed" in result.lower()
|
||||||
|
|
||||||
|
# RESET RELAYS
|
||||||
|
ret = self.components["digital_io"].set_bit_verify(0, 0, 0)
|
||||||
|
ret = self.components["digital_io"].set_bit_verify(0, 1, 0)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
result = None
|
result = None
|
||||||
ok = None
|
ok = None
|
||||||
|
|
@ -139,7 +149,7 @@ class Test_Leak(Test_Test):
|
||||||
self.parent_assembly_widget().set_text(text="PROVA TENUTA IN CORSO")
|
self.parent_assembly_widget().set_text(text="PROVA TENUTA IN CORSO")
|
||||||
else:
|
else:
|
||||||
if self.parent_assembly_widget is not None:
|
if self.parent_assembly_widget is not None:
|
||||||
self.parent_assembly_widget().set_text(text="AUTOTEST: PROVA TENUTA DI PROVA IN CORSO")
|
self.parent_assembly_widget().set_text(text="AUTOTEST: PROVA TENUTA IN CORSO")
|
||||||
self.start_b.setEnabled(False)
|
self.start_b.setEnabled(False)
|
||||||
self.stop_b.setEnabled(True)
|
self.stop_b.setEnabled(True)
|
||||||
ok = data.get("results", {}).get("ok", None)
|
ok = data.get("results", {}).get("ok", None)
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,7 @@ class Users_Management(Widget):
|
||||||
"username": "Nome utente",
|
"username": "Nome utente",
|
||||||
"password": "Password",
|
"password": "Password",
|
||||||
"roles": "Ruoli",
|
"roles": "Ruoli",
|
||||||
|
"badge_number": "Matricola",
|
||||||
}
|
}
|
||||||
self.crud = Crud(
|
self.crud = Crud(
|
||||||
"users",
|
"users",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user