0 BEGIN PGM 9050_de MM 1 ;Dieses Programm kombiniert einen 2 ;Zaehler mit einem Gravierprogramm. 3 ;Die Zaehlerfunktion ist mit einer Tabelle 4 ;realisiert, so dass der aktuelle Wert 5 ;ueber die Stromunterbrechung hinweg 6 ;gespeichert bleibt. Bei Programmstart muss in 7 ;der Tabelle, in der Zeile 0 und Spalte Q1, 8 ;der Wert 1 eingetragen sein. Diesen Wert 9 ;liest die Steuerung, wandelt in in einen 10 ;String um, kombiniert ihn mit einem weitern 11 ;String und graviert den zusammengesetzten 12 ;Text auf das Werkstueck. Anschliessend 13 ;vergleicht die Steuerung die Anzahl der 14 ;gefertigten Werkstuecke mit 15 ;einer am Programmbeginn von Ihnen definierten 16 ;Anzahl von gewuenschten Bearbeitungen. 17 ;Ist diese Anzahl erreicht, 18 ;erscheint eine Meldung auf dem Bildschirm, 19 ;und der Zaehler wird zurueckgesetzt. Ist die 20 ;Anzahl noch nicht erreicht, dann erhoeht die 21 ;Steuerung den Zaehler um eins und speichert 22 ;den neuen Wert in der Tabelle. 23 ;!!WICHTIIG!! Auch Programmdurchlaeufe im Test 24 ;werden mitgezaehlt und in der Tabelle 25 ;gespeichert! 26 ; 27 BLK FORM 0.1 Z X+0 Y+0 Z-10 28 BLK FORM 0.2 X+100 Y+100 Z+0 29 ; 30 ;Eingabe der gewnschten Wiederholungen 31 Q10 = 10 ;zu fertigende Anzahl 32 ; 33 ;Oeffnen der Tabelle 90502_de 34 FN 26: TABOPEN 90502_de.tab 35 ; 36 ;Wert aus der Spalte Q1 lesen 37 FN 28: TABREAD Q1 =0 /"Q1" 38 ; 39 ;Werkzeugaufruf Gravierer 40 TOOL CALL 200 Z S9000 F300 41 ; 42 L X+20 Y+45 R0 FMAX M3 ;Auf Startposition des Textes vorpositionieren 43 ; 44 ;Gaviertext definieren 45 ;Textteil als String definieren 46 DECLARE STRING QS2 = "Teil-Nr." 47 ;Wert vom Q1 in String wandeln 48 QS1 = TOCHAR( DAT+Q1 DECIMALS0 ) 49 ;Strings zum Graviertext zusammenfuegen 50 QS3 = QS2 || QS1 51 ; 52 ;Gravierzyklus definieren 53 CYCL DEF 225 GRAVIEREN ~ QS500= QS3 ;GRAVIERTEXT ~ Q513=+10 ;ZEICHENHOEHE ~ Q514=+0 ;FAKTOR ABSTAND ~ Q515=+0 ;SCHRIFTART ~ Q516=+0 ;TEXTANORDNUNG ~ Q374=+0 ;DREHLAGE ~ Q517=+50 ;KREISRADIUS ~ Q207=+500 ;VORSCHUB FRAESEN ~ Q201=-0.5 ;TIEFE ~ Q206=+150 ;VORSCHUB TIEFENZ. ~ Q200=+2 ;SICHERHEITS-ABST. ~ Q203=+0 ;KOOR. OBERFLAECHE ~ Q204=+50 ;2. SICHERHEITS-ABST. 54 M99 ;Zyklus aufrufen 55 ; 56 ; 57 FN 0: Q2 =+Q1 ;Vergleichswert definieren 58 Q1 = Q1 + 1 ;Zaehler aktualisieren 59 FN 12: IF +Q2 LT +Q10 GOTO LBL 98 ;Sprung wenn Anzahl noch nicht erreicht~ ist 60 STOP 61 ; 62 ;Hinweis auf Bildschirm, dass die zu 63 ;fertigende Anzahl erreicht ist 64 FN 16: F-PRINT 90501_de.a / Screen: 65 ;Zaehler zuruecksetzen und in Tabelle schreiben 66 Q1 = 1 67 FN 27: TABWRITE 0 /"Q1" = Q1 68 ;Sprung zum Programmende 69 FN 9: IF +0 EQU +0 GOTO LBL 99 70 ; 71 LBL 98 72 ;Aktuellen Zaehlerwert in die Tabelle schreiben 73 FN 27: TABWRITE 0 /"Q1" = Q1 74 ; 75 ;Programmende 76 LBL 99 77 M30 78 END PGM 9050_de MM