[Fa...] Posted April 16, 2020 Share Posted April 16, 2020 Hallo zusammen, Ich habe Folgende Situation: ich habe 2 Messprogramme. für die 1.Seite und die 2.Seite eines Bauteils. die 1. Seite erstellt mit den Messwerten eine Textdatei. Die 2.Seite überprüft ob die Textdatei vorhanden ist, wenn ja wird diese eingelesen und mit den Messwerten der 2. Seite an eine Siemenssteuerung geschickt für Werkzeugkorrekturen. Klappt alles wunderbar mit einem Bauteil auch im Autorun. Auf der Autorunpalette sind in X-Richtung 3 Vorrichtungen vorhanden um bei 3 Teilen gleichzeitig die 1.Seite zu messen und nach dem umspannen gleichzeitig die 2.Seite zu messen. Nun die Anforderungen: Es soll eine Datei mit den Mittelwerten einer 3er-Stichprobe geschickt werden um nicht anhand von Einzelwerten zu korrigieren. Ich stelle mir den Ablauf in diesen 3 Hauptpunken vor, habe aber noch nie so etwas gemacht: 1. Ich brauche über meinen PCM-Befehlen eine Schleife und einen Zähler. Kann man das so einfach realisieren? Muss ich die Nullpunkte der Aufspannungen einfliessen lassen, wegen dem Autorun? Oder funktioniert das im Hintergrund von selber? Wenn nicht wie kommt man über PCM an die Nullpunkte der Aufspannungen? 2. die Befehle müssten die ersten beiden Messungen in eine Textdatei wegspeichern und die 3.Messung liest die 2 Messungen ein bildet mit der 3. Messung zusammen den Mittelwert der 1.Seite und speichert wieder eine Textdatei weg. 3. Das gleiche mit der 2.Seite nur, dass die Textdatei mit den Mittelwerten der 1.Seite beim 3. Durchgang eingelesen wird und alle Mittelwerte dann an die Siemenssteuerung geschickt werden. Kann man etwas in diese Richtung realisieren? Denke ich zu kompliziert und habt ihr vielleicht andere Lösungsansätze? Ich freue mich über Euren Input 🙂 Gruss Fabian Link to comment Share on other sites More sharing options...
[Fl...] Posted April 16, 2020 Share Posted April 16, 2020 Hallo Fabian, du könntest auch alle 3 Teile mit einem Prüfplan messen indem Du für Teil 2 und 3 ein Koordinatensystem gleich dem Basissystem erstellst und als versatz in X den Abstand der Palette eingibst. Dann müsstest Du die Prüfmerkmale nach der Teilenummer (z.B. "Durchmesser_Bohrung_Teil_1","Durchmesser_Bohrung_Teil_2" und "Durchmesser_Bohrung_Teil_3") benennen, kannst aber daraus dann einfach einen Mittelwert bilden. Hier bekommst Du dann nur ein Protokoll für 3 Teile, weiß nicht ob das gewünscht ist. Hierbei könntest Du auch einen Programmierbaren Stopp einbauen wo Du die Teile umspannst und wieder mit Koordinatensystemen die 2. Seite messen damit Du alles in einem Programm hast. Dann könntest Du sie direkt aus einem Programm an die Siemenssteuerung schicken. Zu der von Dir beschriebenen Variante werde ich mir noch gedanken machen wie das am einfachsten gehen könnte. MfG Florian Link to comment Share on other sites More sharing options...
[Fa...] Posted April 16, 2020 Author Share Posted April 16, 2020 Please sign in to view this quote. Hallo Florian, Danke für deine Antwort. das mit den Koordinatensystemen und alle 3 Teile im gleichen Prüfplan wäre eine Möglichkeit. Alle Messergebnisse auf einem PDF finde ich nicht so optimal, vielleicht könnte ich aber darauf auch nur die Mittelwerte mit Formeln abbilden. Programmierte Stopp's kommen in unserer Fertigung gar nicht gut an. Wenn die von der KMG weggehen und wieder zurück kommen müssen Resultate da sein. Haben wir schon angewendet und wieder abgeschafft. 🤣 wünsche einen schönen Abend. Link to comment Share on other sites More sharing options...
[Fl...] Posted April 17, 2020 Share Posted April 17, 2020 Hallo, hier eine Version wie es mit den Textdateien funktionieren könnte: Prüfplaneingangseinstellungen beider Prüfpläne: InspDir = getActualInspectionDir() MeanFilename = InspDir + "\MeanValues.txt" if getRecordHead("palletlocationnumber") == getRecordHead("firstpalletlocationnumber") then if fileExists(MeanFilename) == true then deleteFile(MeanFilename) endif endif Ausgangseinstellungen eines jeden Prüfmerkmals beider Prüfpläne Das hätte ich gern mit der "plugin_postCharacteristics_pcm.txt" Datei gelöst nur leider funktioniert da der Befehl getNominal().identifier nicht und ich hatte keine andere Möglichkeit auf den Merkmalsnamen zuzugreifen. CharNa = getNominal().identifier CharAct = getActual().actual InspDir = getActualInspectionDir() Filename = InspDir + "\" + CharNa + ".txt" MeanFilename = InspDir + "\MeanValues.txt" if getRecordHead("palletlocationnumber") == getRecordHead("firstpalletlocationnumber") then if fileExists(Filename) == true then deleteFile(Filename) endif endif addToFile(Filename,CharAct) if getRecordHead("palletlocationnumber") == getRecordHead("lastpalletlocationnumber") then ListFile = readListFile(Filename) ListFileSize = ListFile.size ListVal = val(0) for i = 1 to ListFileSize step 1 ListVal = val(ListFile.removeFirst) + ListVal next i ListMean = ListVal / ListFileSize ListMeanLen = len(text(ListMean)) ListMean = mid(text(ListMean),1,ListMeanLen - 1) addToFile(MeanFilename,CharNa + " = " + ListMean) endif Prüfplanausgangseinstellungen des 2. Prüfplans Hier musst Du bei "MeanFilenameS1" auf die Mittelwert Datei des 1. Prüfplans verweisen und bei "MeanFilenameS1S2" auf den Ort der Zieldatei. Da ich nicht wusste wie die Datei für die Siemenssteuerung aussehen soll hab ich jetzt mal den Merkmalsnamen = aktuellen Wert in die Zieldatei geschrieben. InspDir = getActualInspectionDir() MeanFilename = InspDir + "\MeanValues.txt" if getRecordHead("palletlocationnumber") == getRecordHead("lastpalletlocationnumber") then MeanFilenameS1 = "C:\temp\inspections\Pruefplan_1.Seite\MeanValues.txt" MeanFilenameS1S2 = "C:\temp\MeanFileS1S2.txt" if fileExists(MeanFilenameS1S2) == true then deleteFile(MeanFilenameS1S2) endif copyFile(MeanFilenameS1,MeanFilenameS1S2) ListMeanFile = readListFile(MeanFilename) ListMeanFileSize = ListMeanFile.size for i = 1 to ListMeanFileSize step 1 ListMeanVal = ListMeanFile.removeFirst addToFile(MeanFilenameS1S2,ListMeanVal) next i endif Habe das noch nicht im AutoRun testen können, nur im Einzelablauf da hats funktioniert. Hoffe Du kannst was damit anfangen. MfG Florian Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in