0 BEGIN PGM 9050_nl MM 1 ;Dit programma combineert een teller met een 2 ;graveerprogramma. 3 ;De tellerstand is met een tabel gerealiseerd, 4 ;zodat de actuele waarde ondanks de 5 ;stroomonderbreking blijft opgeslagen. Tijdens 6 ;de programmastart moet in de tabel in regel 0 en 7 ;kolom Q1 de waarde 1 ingevoerd zijn. Deze waarde 8 ;leest de besturing, zet de waarde om in een string, 9 ;combineert deze met een andere string en graveert 10 ;de samengestelde tekst op het werkstuk. 11 ;Vervolgens vergelijkt de besturing het aantal 12 ;geproduceerde werkstukken met een aan het begin 13 ;van het programma door u gedefinieerd aantal 14 ;gewenste bewerkingen. Wanneer dit aantal is bereikt, 15 ;verschijnt er een melding op het beeldscherm en 16 ;wordt de teller teruggezet. Als het aantal nog niet 17 ;is bereikt, verhoogt de besturing de teller met één 18 ;en wordt de nieuwe waarde in de tabel opgeslagen. 19 ;BELANGRIJK! Ook programma-runs in de test worden 20 ;meegeteld en in de tabel opgeslagen! 21 ; 22 BLK FORM 0.1 Z X+0 Y+0 Z-10 23 BLK FORM 0.2 X+100 Y+100 Z+0 24 ; 25 ;Invoer van de gewenste herhalingen voor het Q10 = 4 ;te maken aantal 26 ; 27 ;Openen van tabel 90502_nl 28 FN 26: TABOPEN 90502_nl.tab 29 ; 30 ;Waarde uit de kolom Q1 lezen 31 FN 28: TABREAD Q1 =0 /"Q1" 32 ; 33 ;Gereedschapsoproep graveerder 34 TOOL CALL 1 Z S9000 F300 35 ; 36 L X+20 Y+45 R0 FMAX M3 ;Naar startpositie van tekst voorpositioneren 37 ; 38 ;Graveertekst definiëren 39 ;Tekstdeel als string definiëren 40 DECLARE STRING QS2 = "Part No." 41 ;Waarde van Q1 naar string converteren QS1 = TOCHAR( DAT+Q1 DECIMALS0 ) 42 ;Strings voor te graveren tekst samenvoegen QS3 = QS2 || QS1 43 ; 44 ;Graveercyclus definiëren 45 CYCL DEF 225 GRAVEREN ~ QS500= QS3 ;GRAVEERTEKST ~ Q513=+10 ;TEKENHOOGTE ~ Q514=+0 ;FACTOR AFSTAND ~ Q515=+0 ;LETTERTYPE ~ Q516=+0 ;TEKSTLAY-OUT ~ Q374=+0 ;ROTATIEPOSITIE ~ Q517=+50 ;CIRKELRADIUS ~ Q207=+500 ;AANZET FREZEN ~ Q201=-0.5 ;DIEPTE ~ Q206=+150 ;AANZET DIEPTEVERPL. ~ Q200=+2 ;VEILIGHEIDSAFSTAND ~ Q203=+0 ;COORD. OPPERVLAK ~ Q204=+50 ;2E VEILIGHEIDSAFST. 46 M99 ;Cyclus oproepen 47 ; 48 ; 49 FN 0: Q2 =+Q1 ;Vergelijkingswaarde definiëren Q1 = Q1 + 1 ;Teller actualiseren 50 FN 12: IF +Q2 LT +Q10 GOTO LBL 98 ;Sprong indien aantal nog niet is bereikt 51 STOP 52 ; 53 ;Aanwijzing op beeldscherm dat het te maken 54 ;aantal is bereikt 55 FN 16: F-PRINT 90501_nl.a / Screen: 56 ;Teller terugzetten en in tabel schrijven Q1 = 1 57 FN 27: TABWRITE 0 /"Q1" = Q1 58 ;Sprong naar programma-einde 59 FN 9: IF +0 EQU +0 GOTO LBL 99 60 ; 61 LBL 98 62 ;Actuele tellerwaarde in de tabel schrijven 63 FN 27: TABWRITE 0 /"Q1" = Q1 64 ; 65 ;Einde van programma 66 LBL 99 67 M30 68 END PGM 9050_nl MM