BEGIN PGM 12000_DE MM ;NC-Programm, um im Programmlauf Meldungen an ;StateMonitor zu senden. ;Am Programmanfang definieren Sie, ob vor ;dem Start der Bearbeitung Ruestaufgaben ;auszufuehren sind. Ausserdem definieren Sie ;die Sollanzahl der Programmdurchlaeufe. ;Nach dem Start von diesem Beispielprogramms ;sendet die Steuerung ;die Meldung zum Starten des Auftragsschritts ;an StateMonitor. Danach meldet ;sie den Start den Ruestvorgangs. ;Wenn dieser abgeschlossen ist, und Sie das ;NC-Programm mit NC-Start fortsetzen, meldet ;die Steuerung den Produktionsbeginn an ;StateMonitor. Wenn das NC-Programm komplett ;abgearbeitet wurde, erhoeht die Steuerung ;einen Zaehler um eins und meldet die Anzahl ;der Programmdurchlaeufen an StateMonitor. ;Wenn der Zaehler die definierte Anzahl von ;Programmdurchlaeufen erreicht hat, meldet ;die Steuerung den Aufragschritt fertig, setzt ;den Zaehler zurueck und beendet das ;NC-Programm. BLK FORM 0.1 Z X-50 Y-50 Z-20 BLK FORM 0.2 X+50 Y+50 Z+0 ; ;Parametereingabe Q1 = 0 ;0 = RUESTEN / 1 = FERTIGEN QR2 = 3 ;SOLLMENGE ;Parametereingabe Ende ; ;Pruefen ob Sollstueckzahl erreicht ist FN 9: IF +QR1 EQU +QR2 GOTO LBL "FINISH" ;Pruefen ob Fertigen definiert ist FN 9: IF +Q1 EQU +1 GOTO LBL "PRODUCTION" ; ;Meldung an StateMonitor: Auftrag 1000 ;Schritt 1 "Starten" FN 38: SEND /"JOB:1000_STEP:1_START" ; ; ;Meldung an StateMonitor: Auftrag 1000 ;Schritt 1 "Ruesten starten" FN 38: SEND /"JOB:1000_STEP:1_PREPARATION" ; ;Ueberblendfenster einblenden FN 16: F-PRINT 120001_de.a / screen: ;Programmstop fuer Ruestarbeiten M0 ;Ueberblendfenster ausblenden FN 16: F-PRINT 120001_de.a / SCLR: ; ;Meldung an StateMonitor: Auftrag 1000 ;Schritt 1 "Produktion starten" FN 38: SEND /"JOB:1000_STEP:1_PRODUCTION" ; ;Sprungmarke "Produktion" LBL "PRODUCTION" ; ;Werkzeugaufruf TOOL CALL "MILL_D16_ROUGH" Z S10000 FZ0.12 L Z+100 R0 FMAX M3 ;Freifahren ; ;Bearbeitung 1 CYCL DEF 257 KREISZAPFEN ~ Q223=+90 ;FERTIGTEIL-DURCHM. ~ Q222=+141 ;ROHTEIL-DURCHMESSER ~ Q368=+0.2 ;AUFMASS SEITE ~ Q207= AUTO ;VORSCHUB FRAESEN ~ Q351=+1 ;FRAESART ~ Q201=-10 ;TIEFE ~ Q202=+10 ;ZUSTELL-TIEFE ~ Q206= AUTO ;VORSCHUB TIEFENZ. ~ Q200=+2 ;SICHERHEITS-ABST. ~ Q203=+0 ;KOOR. OBERFLAECHE ~ Q204=+50 ;2. SICHERHEITS-ABST. ~ Q370=+1 ;BAHN-UEBERLAPPUNG ~ Q376=-1 ;STARTWINKEL ~ Q215=+0 ;BEARBEITUNGS-UMFANG ~ Q369=+0 ;AUFMASS TIEFE ~ Q338=+0 ;ZUST. SCHLICHTEN ~ Q385= FZ+0.06 ;VORSCHUB SCHLICHTEN L X+0 Y+0 R0 FMAX M99 ; ;Werkzeugaufruf TOOL CALL "MILL_D8_ROUGH" Z S( VC = 480 ) ~ FZ0.08 L Z+100 R0 FMAX M3 ;Freifahren ; ;Bearbeitung 2 CYCL DEF 251 RECHTECKTASCHE ~ Q215=+0 ;BEARBEITUNGS-UMFANG ~ Q218=+60 ;1. SEITEN-LAENGE ~ Q219=+30 ;2. SEITEN-LAENGE ~ Q220=+5 ;ECKENRADIUS ~ Q368=+0.2 ;AUFMASS SEITE ~ Q224=+0 ;DREHLAGE ~ Q367=+0 ;TASCHENLAGE ~ Q207= AUTO ;VORSCHUB FRAESEN ~ Q351=+1 ;FRAESART ~ Q201=-5 ;TIEFE ~ Q202=+5 ;ZUSTELL-TIEFE ~ Q369=+0 ;AUFMASS TIEFE ~ Q206= AUTO ;VORSCHUB TIEFENZ. ~ Q338=+0 ;ZUST. SCHLICHTEN ~ Q200=+2 ;SICHERHEITS-ABST. ~ Q203=+0 ;KOOR. OBERFLAECHE ~ Q204=+50 ;2. SICHERHEITS-ABST. ~ Q370=+1 ;BAHN-UEBERLAPPUNG ~ Q366=+1 ;EINTAUCHEN ~ Q385= FZ+0.04 ;VORSCHUB SCHLICHTEN ~ Q439=+3 ;BEZUG VORSCHUB L X+0 Y+0 R0 FMAX M99 ; M140 MB MAX F9999 ;Freifahren ; QR1 = QR1 + 1 ;Zaehler aktualisieren ; ;Meldung an StateMonitor: Auftrag 1000 ;Schritt 1 Programmdurchlaeufe eintragen FN 38: SEND /"JOB:1000_STEP:1_OK_A:%.0f" / +QR1 ; ;Pruefen ob Sollstueckzahl erreicht FN 9: IF +QR1 EQU +QR2 GOTO LBL "FINISH" ; ;Programmende M30 ; ;Sprungmarke "Auftrag abschliessen" LBL "FINISH" QR1 = 0 ;Zaehler zuruecksetzen ; ;Meldung an StateMonitor: Auftrag 1000 ;Schritt 1 "Abschliessen" FN 38: SEND /"JOB:1000_STEP:1_FINISH" ; ; ;Ueberblendfenster einblenden FN 16: F-PRINT 120002_de.a / screen: ;Programmende M30 END PGM 12000_DE MM