Seite 1 von 1

Quindos Stoppuhr

Verfasst: Di Mär 19, 2024 8:11 pm
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ß

Re: Quindos Stoppuhr

Verfasst: Do Mär 21, 2024 2:11 pm
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 ;)

Re: Quindos Stoppuhr

Verfasst: Fr Mär 22, 2024 10:21 am
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???

Re: Quindos Stoppuhr

Verfasst: Do Apr 11, 2024 6:11 am
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

Re: Quindos Stoppuhr

Verfasst: Di Apr 30, 2024 2:01 pm
von messtronik
Fragen zur Bedienung oder Installation?
Ist das nicht cool mit der CHS Variable oder Zeitabschätzung?