Quindos Stoppuhr

Für Messtechniker und Anwendungsprogrammierer des sagenhaft berüchtigten Leitz-Produkts des Hexagon Konzerns.

Moderator: messtronik

Antworten
Michi
Beiträge: 18
Registriert: Do Nov 12, 2020 5:06 pm

Quindos Stoppuhr

Beitrag von Michi »

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ß
YBT
Beiträge: 18
Registriert: Fr Okt 08, 2021 10:20 am
Wohnort: Raum Offenburg

Re: Quindos Stoppuhr

Beitrag von YBT »

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 ;)
Michi
Beiträge: 18
Registriert: Do Nov 12, 2020 5:06 pm

Re: Quindos Stoppuhr

Beitrag von Michi »

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???
messtronik
Beiträge: 59
Registriert: Mo Feb 22, 2021 6:12 pm

Re: Quindos Stoppuhr

Beitrag von messtronik »

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
Dateianhänge
Quindos_PROCEDUR_STOPUHR-ESTTIME.zip
(41.24 KiB) 382-mal heruntergeladen
messtronik
Beiträge: 59
Registriert: Mo Feb 22, 2021 6:12 pm

Re: Quindos Stoppuhr

Beitrag von messtronik »

Fragen zur Bedienung oder Installation?
Ist das nicht cool mit der CHS Variable oder Zeitabschätzung?
Michi
Beiträge: 18
Registriert: Do Nov 12, 2020 5:06 pm

Re: Quindos Stoppuhr

Beitrag von Michi »

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...
Antworten