Hallo zusammen
Ich suche eine Möglichkeit Messzeiten mit Quindos aufzuzeichnen (zum Beispiel in eine HRC) um sie dann in eine Exceldatei auszulesen, so eine Art Stoppuhr.
Super wäre auch eine Art Abschätzung wann ein Teilelauf fertig ist, zum einen für die offline Programmierung wenn das überhaupt möglich ist und zum anderen für die Verwendung von Schleifen oder der Paletten Lauf Option.
Vielleicht gibt es ja schon so eine Prozedur irgendwo im Einsatz oder eine ähnliche Idee.
Gruß
Quindos Stoppuhr
Moderator: messtronik
-
- Beiträge: 18
- Registriert: Fr Okt 08, 2021 10:20 am
- Wohnort: Raum Offenburg
Re: Quindos Stoppuhr
Hallo Michi,
versuche doch mal folgenden Code:
Anfang
**************************************
FMTTIME (NAM=~BGN, FMT=hh:mm:ss)
SUBSTR (NAM=~BGN_1, LM1=1, RSD=~BGN, LM2=1, RM2=2)
SUBSTR (NAM=~BGN_2, LM1=1, RSD=~BGN, LM2=4, RM2=5)
SUBSTR (NAM=~BGN_3, LM1=1, RSD=~BGN, LM2=7, RM2=8)
CVCHSREA (NAM=BGN_1, STR=~BGN_1)
CVCHSREA (NAM=BGN_2, STR=~BGN_2)
CVCHSREA (NAM=BGN_3, STR=~BGN_3)
BGN_1_MILLI = BGN_1 * 3.6E+6
BGN_2_MILLI = BGN_2 * 60000
BGN_3_MILLI = BGN_3 * 1000
Ende Anfang
**************************************
"Messung des Bauteils"
"Messung des Bauteils"
"Messung des Bauteils"
Beginn Ende
**************************************
FMTTIME (NAM=~END, FMT=hh:mm:ss)
SUBSTR (NAM=~END_1, LM1=1, RSD=~END, LM2=1, RM2=2)
SUBSTR (NAM=~END_2, LM1=1, RSD=~END, LM2=4, RM2=5)
SUBSTR (NAM=~END_3, LM1=1, RSD=~END, LM2=7, RM2=8)
CVCHSREA (NAM=END_1, STR=~END_1)
CVCHSREA (NAM=END_2, STR=~END_2)
CVCHSREA (NAM=END_3, STR=~END_3)
END_1_MILLI = END_1 * 3.6E+6
END_2_MILLI = END_2 * 60000
END_3_MILLI = END_3 * 1000
BGN = BGN_1_MILLI + BGN_2_MILLI + BGN_3_MILLI
END = END_1_MILLI + END_2_MILLI + END_3_MILLI
DUR = END - BGN
Laufzeit_Minuten = FRND(DUR * 1.6667E-5)
LISREA (NAM=Laufzeit_Minuten, DEV=LP)
Ende
**************************************
Bitte nochmal kontrollieren ob das funktioniert,
hab das grad in fünf Minuten zusammengstrickt.
Wenn man das nicht in Minuten haben will, einfach den Faktor "1.6667E-5" und den Namen der Variable entsprechend anpassen.
Am besten noch in eine PRC packen, damit das im Fließtext nicht stört.
Gruß YBT![Wink ;)](./images/smilies/icon_e_wink.gif)
versuche doch mal folgenden Code:
Anfang
**************************************
FMTTIME (NAM=~BGN, FMT=hh:mm:ss)
SUBSTR (NAM=~BGN_1, LM1=1, RSD=~BGN, LM2=1, RM2=2)
SUBSTR (NAM=~BGN_2, LM1=1, RSD=~BGN, LM2=4, RM2=5)
SUBSTR (NAM=~BGN_3, LM1=1, RSD=~BGN, LM2=7, RM2=8)
CVCHSREA (NAM=BGN_1, STR=~BGN_1)
CVCHSREA (NAM=BGN_2, STR=~BGN_2)
CVCHSREA (NAM=BGN_3, STR=~BGN_3)
BGN_1_MILLI = BGN_1 * 3.6E+6
BGN_2_MILLI = BGN_2 * 60000
BGN_3_MILLI = BGN_3 * 1000
Ende Anfang
**************************************
"Messung des Bauteils"
"Messung des Bauteils"
"Messung des Bauteils"
Beginn Ende
**************************************
FMTTIME (NAM=~END, FMT=hh:mm:ss)
SUBSTR (NAM=~END_1, LM1=1, RSD=~END, LM2=1, RM2=2)
SUBSTR (NAM=~END_2, LM1=1, RSD=~END, LM2=4, RM2=5)
SUBSTR (NAM=~END_3, LM1=1, RSD=~END, LM2=7, RM2=8)
CVCHSREA (NAM=END_1, STR=~END_1)
CVCHSREA (NAM=END_2, STR=~END_2)
CVCHSREA (NAM=END_3, STR=~END_3)
END_1_MILLI = END_1 * 3.6E+6
END_2_MILLI = END_2 * 60000
END_3_MILLI = END_3 * 1000
BGN = BGN_1_MILLI + BGN_2_MILLI + BGN_3_MILLI
END = END_1_MILLI + END_2_MILLI + END_3_MILLI
DUR = END - BGN
Laufzeit_Minuten = FRND(DUR * 1.6667E-5)
LISREA (NAM=Laufzeit_Minuten, DEV=LP)
Ende
**************************************
Bitte nochmal kontrollieren ob das funktioniert,
hab das grad in fünf Minuten zusammengstrickt.
Wenn man das nicht in Minuten haben will, einfach den Faktor "1.6667E-5" und den Namen der Variable entsprechend anpassen.
Am besten noch in eine PRC packen, damit das im Fließtext nicht stört.
Gruß YBT
![Wink ;)](./images/smilies/icon_e_wink.gif)
-
- Beiträge: 18
- Registriert: Do Nov 12, 2020 5:06 pm
Re: Quindos Stoppuhr
Oh Cool danke, ich werde den Code mal testen.
Hab inzwischen aber schon eine ähnliche Lösung gefunden mit erzeugen einer HRC für meine Daten.
Anbei der CODE:
!Prozedur zum erfassen der Programmier und Messzeiten
!Diese Prozedur funktioniert in der Programmvorlage - PRGVORLAGE_VER5.WDB
!START PAGE INFO AUSLESEN
GETVALS (OBJ=StartPage$Info, TYP=VFR, CDS=E, CHS=~CMMNR)
If (BXP=CHS:~CMMNR =='GLOD1235')
~FN=F:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
ElseIf (BXP=CHS:~CMMNR =='IppSimulator')
~FN=C:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
ElseIf (BXP=CHS:~CMMNR =='VIM')
~FN=C:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
ElseIf (BXP=CHS:~CMMNR =='HOME')
~FN=C:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
EndIf
!
!~RECORD Datenaufnahme starten
~RECORD=Y
!~IDD Prüfnummer
~IDD=1
!~DIS1=Zeichnungsnummer
~DIS1=3.155321.N
!~CNC$NAM=Bauteilname
~CNC$NAM=BUSH
!~OPER1=Bediener
~OPER1=MICHI
!~EXCEL$VOR= Exceldatei
~EXCEL$VOR=TIME.xlsx
!~TODAY=Datum
~TODAY=_DATE
!
CONCAT (NAM=~PARTNR, STR=('PART',,,~IDD,), INI=Y)
CONCAT (NAM=~EXCELSAVE, STR=('~FN',~EXCEL$VOR,), INI=Y)
!
!START PROGRAMMIERZEIT AUFZEICHNUNG BEI NEUEN BAUTEIL (NOW1 mit Button im Dialog Main Menü aktivieren)
If (BXP=CHS:~RECORD=='Y')
FMTTIME (NAM=~NOW1, FMT='DD-MMM-YYYY hh:mm:ss')
EndIf
!
!START LAUFZEIT AUFZEICHNUNG (~RUNNOW1 mit Button im Dialog Main Menü aktivieren ab ersten Bauteil)
If (BXP=CHS:~RECORD=='Y')
If (BXP=CHS:~IDD>='1')
FMTTIME (NAM=~RUNNOW1, FMT='DD-MMM-YYYY hh:mm:ss')
EndIf
EndIf
!
!ENDE PROGRAMMIERZEIT BEIM ERSTEN BAUTEIL (~NOW2)
If (BXP=CHS:~IDD=='1')
FMTTIME (NAM=~NOW2, FMT='DD-MMM-YYYY hh:mm:ss')
!(TIMEDIF)PROGRAMMIERZEIT IN MINUTEN
DLTTIME (NAM=TIMEDIF, FRM=~NOW1, TO =~NOW2, MOD='MIN')
EndIf
!
!(RUNTIMEDIF)PROGRAMMLAUFZEIT IN MINUTEN AB ERSTEN BAUTEIL
If (BXP=CHS:~IDD>='1')
FMTTIME (NAM=~RUNNOW2, FMT='DD-MMM-YYYY hh:mm:ss')
DLTTIME (NAM=RUNTIMEDIF, FRM=~RUNNOW1, TO =~RUNNOW2, MOD='MIN')
EndIf
!
!HRC Benennen
~HRC_NAME=GDBHRC:KPI
!Prüfen ob HRC vorhanden, wenn nicht vórhanden wird HRC erzeugt
DELETE (NAM=existing, CNF=N, TYP=REA)
TESTNAM (REA=existing, OBJ=~HRC_NAME)
If (BXP=REA:existing == 0)
DFNHRC (NAM=~HRC_NAME, MOD=NEW, FLD=(A,B,C,D,E,F,G,H,I,J), FLG=(10,10,10,10,10,10,10,10,10,10))
EndIf
!
!Konvertiere Zahlenwert in Zeichenfolge
CVREACHS (NAM=~TIMEDIF, VAL=TIMEDIF, FM1=1, FM2=0, INT=Y, ANG=N, SPZ=N, RLS=Y, RTZ=N)
!Konvertiere Zahlenwert in Zeichenfolge
CVREACHS (NAM=~RUNTIMEDIF, VAL=RUNTIMEDIF, FM1=1, FM2=0, INT=Y, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
!
!~HRC_NAME=KPI
DFNHRC (NAM=~HRC_NAME, MOD=APPEND, FLD=(A,B,C,D,E,F,G,H,I,J), FLG=(10,10,10,10,10,10,10,10,10,10))
DELREA (NAM=(LDBREA:LA(),LDBREA:LAST()), CNF=N)
CRSUBTYP (NAM=~HRC_NAME, DEL=N, TYP=HRC, STY=HIS, REA=LA)
!
!Anzahl der Zeilen aus HRC holen
CRSUBTYP (NAM=~HRC_NAME, DEL=N TYP=HRC, TYP=HRC, STY=HIS, REA=LAST)
CRSUBTYP (NAM=~HRC_NAME, LIN=LAST, DEL=N, TYP=HRC, STY=HIS, REA=La)
!
!In Schleife neue Zeile erzeugen
DO (NAM=L, BGN=1+LAST, END=1+LAST)
!
If (BXP=L == 1)
his=1+(L-1)
Else
his=L
EndIf
!
!neue Zeile erzeugen einlesen und auslesen
CRSUBTYP (NAM=~HRC_NAME, LIN=his, DEL=N, TYP=HRC)
CVREACHS (NAM=~his, VAL=his, INT=N, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
!In HRC einlesen
PUTVALS (OBJ=~HRC_NAME.HIS(his), TYP=HRC, CDS=(A,B,C,D,E,F,G,H,I,J), STR=(~his,~DIS1,~CNC$NAM,~TODAY,~OPER1,~NOW1,~NOW2,~TIMEDIF,~RUNTIMEDIF,~PARTNR))
!Auslesen für Excel datei
GETVALS (OBJ=~HRC_NAME.HIS(his), TYP=HRC, CDS=(A,B,C,D,E,F,G,H,I,J), CHS=(~his,~DIS1,~CNC$NAM,~TODAY,~OPER1,~NOW1,~NOW2,~TIMEDIF,~RUNTIMEDIF,~PARTNR))
ENDDO
!
!DELREA (NAM=REA:*(), CNF=N)
!DELCHS (NAM=CHS:*(), CNF=N)
!Ende Prozedur
Jetzt muss ich nur noch drauf kommen wie ich meine Daten aus der HRC in eine Excel einlesen kann.
Jemand eine Idee???
Hab inzwischen aber schon eine ähnliche Lösung gefunden mit erzeugen einer HRC für meine Daten.
Anbei der CODE:
!Prozedur zum erfassen der Programmier und Messzeiten
!Diese Prozedur funktioniert in der Programmvorlage - PRGVORLAGE_VER5.WDB
!START PAGE INFO AUSLESEN
GETVALS (OBJ=StartPage$Info, TYP=VFR, CDS=E, CHS=~CMMNR)
If (BXP=CHS:~CMMNR =='GLOD1235')
~FN=F:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
ElseIf (BXP=CHS:~CMMNR =='IppSimulator')
~FN=C:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
ElseIf (BXP=CHS:~CMMNR =='VIM')
~FN=C:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
ElseIf (BXP=CHS:~CMMNR =='HOME')
~FN=C:\ProgramData\Hexagon\Quindos7\Quindos7Lib\Common files\Daten\
EndIf
!
!~RECORD Datenaufnahme starten
~RECORD=Y
!~IDD Prüfnummer
~IDD=1
!~DIS1=Zeichnungsnummer
~DIS1=3.155321.N
!~CNC$NAM=Bauteilname
~CNC$NAM=BUSH
!~OPER1=Bediener
~OPER1=MICHI
!~EXCEL$VOR= Exceldatei
~EXCEL$VOR=TIME.xlsx
!~TODAY=Datum
~TODAY=_DATE
!
CONCAT (NAM=~PARTNR, STR=('PART',,,~IDD,), INI=Y)
CONCAT (NAM=~EXCELSAVE, STR=('~FN',~EXCEL$VOR,), INI=Y)
!
!START PROGRAMMIERZEIT AUFZEICHNUNG BEI NEUEN BAUTEIL (NOW1 mit Button im Dialog Main Menü aktivieren)
If (BXP=CHS:~RECORD=='Y')
FMTTIME (NAM=~NOW1, FMT='DD-MMM-YYYY hh:mm:ss')
EndIf
!
!START LAUFZEIT AUFZEICHNUNG (~RUNNOW1 mit Button im Dialog Main Menü aktivieren ab ersten Bauteil)
If (BXP=CHS:~RECORD=='Y')
If (BXP=CHS:~IDD>='1')
FMTTIME (NAM=~RUNNOW1, FMT='DD-MMM-YYYY hh:mm:ss')
EndIf
EndIf
!
!ENDE PROGRAMMIERZEIT BEIM ERSTEN BAUTEIL (~NOW2)
If (BXP=CHS:~IDD=='1')
FMTTIME (NAM=~NOW2, FMT='DD-MMM-YYYY hh:mm:ss')
!(TIMEDIF)PROGRAMMIERZEIT IN MINUTEN
DLTTIME (NAM=TIMEDIF, FRM=~NOW1, TO =~NOW2, MOD='MIN')
EndIf
!
!(RUNTIMEDIF)PROGRAMMLAUFZEIT IN MINUTEN AB ERSTEN BAUTEIL
If (BXP=CHS:~IDD>='1')
FMTTIME (NAM=~RUNNOW2, FMT='DD-MMM-YYYY hh:mm:ss')
DLTTIME (NAM=RUNTIMEDIF, FRM=~RUNNOW1, TO =~RUNNOW2, MOD='MIN')
EndIf
!
!HRC Benennen
~HRC_NAME=GDBHRC:KPI
!Prüfen ob HRC vorhanden, wenn nicht vórhanden wird HRC erzeugt
DELETE (NAM=existing, CNF=N, TYP=REA)
TESTNAM (REA=existing, OBJ=~HRC_NAME)
If (BXP=REA:existing == 0)
DFNHRC (NAM=~HRC_NAME, MOD=NEW, FLD=(A,B,C,D,E,F,G,H,I,J), FLG=(10,10,10,10,10,10,10,10,10,10))
EndIf
!
!Konvertiere Zahlenwert in Zeichenfolge
CVREACHS (NAM=~TIMEDIF, VAL=TIMEDIF, FM1=1, FM2=0, INT=Y, ANG=N, SPZ=N, RLS=Y, RTZ=N)
!Konvertiere Zahlenwert in Zeichenfolge
CVREACHS (NAM=~RUNTIMEDIF, VAL=RUNTIMEDIF, FM1=1, FM2=0, INT=Y, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
!
!~HRC_NAME=KPI
DFNHRC (NAM=~HRC_NAME, MOD=APPEND, FLD=(A,B,C,D,E,F,G,H,I,J), FLG=(10,10,10,10,10,10,10,10,10,10))
DELREA (NAM=(LDBREA:LA(),LDBREA:LAST()), CNF=N)
CRSUBTYP (NAM=~HRC_NAME, DEL=N, TYP=HRC, STY=HIS, REA=LA)
!
!Anzahl der Zeilen aus HRC holen
CRSUBTYP (NAM=~HRC_NAME, DEL=N TYP=HRC, TYP=HRC, STY=HIS, REA=LAST)
CRSUBTYP (NAM=~HRC_NAME, LIN=LAST, DEL=N, TYP=HRC, STY=HIS, REA=La)
!
!In Schleife neue Zeile erzeugen
DO (NAM=L, BGN=1+LAST, END=1+LAST)
!
If (BXP=L == 1)
his=1+(L-1)
Else
his=L
EndIf
!
!neue Zeile erzeugen einlesen und auslesen
CRSUBTYP (NAM=~HRC_NAME, LIN=his, DEL=N, TYP=HRC)
CVREACHS (NAM=~his, VAL=his, INT=N, ANG=N, SPZ=N, RLS=Y, RTZ=Y)
!In HRC einlesen
PUTVALS (OBJ=~HRC_NAME.HIS(his), TYP=HRC, CDS=(A,B,C,D,E,F,G,H,I,J), STR=(~his,~DIS1,~CNC$NAM,~TODAY,~OPER1,~NOW1,~NOW2,~TIMEDIF,~RUNTIMEDIF,~PARTNR))
!Auslesen für Excel datei
GETVALS (OBJ=~HRC_NAME.HIS(his), TYP=HRC, CDS=(A,B,C,D,E,F,G,H,I,J), CHS=(~his,~DIS1,~CNC$NAM,~TODAY,~OPER1,~NOW1,~NOW2,~TIMEDIF,~RUNTIMEDIF,~PARTNR))
ENDDO
!
!DELREA (NAM=REA:*(), CNF=N)
!DELCHS (NAM=CHS:*(), CNF=N)
!Ende Prozedur
Jetzt muss ich nur noch drauf kommen wie ich meine Daten aus der HRC in eine Excel einlesen kann.
Jemand eine Idee???
-
- Beiträge: 59
- Registriert: Mo Feb 22, 2021 6:12 pm
Re: Quindos Stoppuhr
Hallo, Datei erzeugen in Quindos ist recht einfach - vor allem "uralt".
OPEN (FIL=C:\DATEI.txt, DEV=D1, STA=NEW, ACC=A)
! Ausgabe, anstatt drucken nach TT nach Datei (D1 bis D4)
LISTXT (NAM=TXTOBJ, DEV=D1)
LISHRC (NAM=HRCOBJ, DEV=D1)
CLOSE (DEV=D1)
Im Anhang zwei ältere Anweisungen zum Zeit stoppen und abschätzen wie lange ein Messlauf dauert.
Idee:
Messe die Zeit, sammeln in einem TXT Objekt und Mittelwert ausgeben.
Beachte ist es wir ein Variable erzeugt, die für Abfragen und Wenn/Dann Bedinungen verwendet werden kann.
Bei Fragen gern melden!
Ich habe das in Serienmessungen verwendet. Bei uns benutzt das kein Mensch.
Viel Spaß - Joerg
OPEN (FIL=C:\DATEI.txt, DEV=D1, STA=NEW, ACC=A)
! Ausgabe, anstatt drucken nach TT nach Datei (D1 bis D4)
LISTXT (NAM=TXTOBJ, DEV=D1)
LISHRC (NAM=HRCOBJ, DEV=D1)
CLOSE (DEV=D1)
Im Anhang zwei ältere Anweisungen zum Zeit stoppen und abschätzen wie lange ein Messlauf dauert.
Idee:
Messe die Zeit, sammeln in einem TXT Objekt und Mittelwert ausgeben.
Beachte ist es wir ein Variable erzeugt, die für Abfragen und Wenn/Dann Bedinungen verwendet werden kann.
Bei Fragen gern melden!
Ich habe das in Serienmessungen verwendet. Bei uns benutzt das kein Mensch.
Viel Spaß - Joerg
- Dateianhänge
-
- Quindos_PROCEDUR_STOPUHR-ESTTIME.zip
- (41.24 KiB) 363-mal heruntergeladen
-
- Beiträge: 59
- Registriert: Mo Feb 22, 2021 6:12 pm
Re: Quindos Stoppuhr
Fragen zur Bedienung oder Installation?
Ist das nicht cool mit der CHS Variable oder Zeitabschätzung?
Ist das nicht cool mit der CHS Variable oder Zeitabschätzung?
-
- Beiträge: 18
- Registriert: Do Nov 12, 2020 5:06 pm
Re: Quindos Stoppuhr
Ja beide Prozeduren funktionieren super!
Installation und Bedienung war zu Beginn nicht ganz klar aber mittlerweile sind beide Prozeduren im Einsatz.
Ich werde das ganze für meine Bedürfnisse anpassen, zum Beispiel Automatisiertes Auslesen in Excel, bin da zu faul Excel Listen zu führen und alles dort einzutragen.
Das soll Quindos machen...
Installation und Bedienung war zu Beginn nicht ganz klar aber mittlerweile sind beide Prozeduren im Einsatz.
Ich werde das ganze für meine Bedürfnisse anpassen, zum Beispiel Automatisiertes Auslesen in Excel, bin da zu faul Excel Listen zu führen und alles dort einzutragen.
Das soll Quindos machen...