M funksjoner. Programmering av m-funksjoner. Programvareutviklingsverktøy

Ved programmering av deler på CNC-maskiner i henhold til standarden DIN 66025 (ISO 6983), tidligere kjent som ISO 7bit, brukes følgende operatører:

  • N - rammenummer;
  • G - forberedende funksjoner;
  • X, Y, Z, A, B, C - informasjon om bevegelser langs aksene;
  • M - tilleggsfunksjoner;
  • S - spindelfunksjoner;
  • T - verktøyfunksjoner;
  • F - matefunksjoner;
  • N - hjelpefunksjoner (verktøyskompensasjonsdatablokker i DIN-ISO-modus). Hvis det er et gyldig D-nummer for gjeldende verktøy, vises det i tillegg.

For større klarhet i rammestrukturen bør operatørene i rammen ordnes i følgende rekkefølge: N, G, X, Y, Z, A, B, C, F, S, T, D, M, H.

Kontrollprogrammet består av n antall rammer, reprodusert kontinuerlig eller med spesifiserte pauser (når høyhastighetsbehandling av deler laget av høystyrke aluminiumslegeringer, selv en kort stopp av verktøyet mellom tilstøtende rammer er uakseptabelt på grunn av faren for overoppheting eller smelting av det behandlede overflate på grunn av friksjon). I tillegg er det mulig å hoppe over individuelle rammer og korrigere størrelser ved å koble til forberedende funksjoner. Dette sikrer utvikling av kontrollprogrammer for standard teknologiske prosesser.

Personale kontrollprogram består av følgende komponenter:

  • kommandoer (operatører) i henhold til DIN 66025;
  • elementer av et høyt nivå CNC-programmeringsspråk;
  • identifikatorer (definerte navn) for:
    • systemvariabler;
    • brukerdefinerte variabler;
    • subrutiner;
    • kodeord;
    • overgangsmerker;
    • makroer;
  • sammenligning operatører;
  • logiske operatører;
  • beregningsfunksjoner;
  • kontrollstrukturer.

Siden kommandosettet i henhold til DIN 66025 ikke er nok for programmering av komplekse maskineringsprosesser på moderne multi-task maskiner, ble det supplert med elementer av et høynivå CNC programmeringsspråk.

I motsetning til kommandoer i henhold til DIN 66025, består kommandoer i høynivå-CNC-programmeringsspråket av flere adressebokstaver, for eksempel:

  • OVR - for hastighetskorreksjon (prosent);
  • SPOS - for spindelposisjonering.

Programstrukturen har følgende form: "%" (kun for programmer utviklet på PC), programtittelen "O" eller ":" etterfulgt av programnummeret som ikke inneholder mer enn fire sifre. Hver linje i et program er en ramme.

Hver programblokk har strukturen:

  • N - sekvensnummer på rammen (ikke mer enn fire tegn, nummerering utføres gjennom 5 eller 10 for å gjøre det mulig å introdusere flere rammer når du utarbeider programmet);
  • forberedende funksjon G;
  • koordinater X, Y, Z, A, C, B;
  • tilleggsfunksjon M;
  • spindelfunksjon S;
  • verktøy funksjon T;
  • feed funksjon F;
  • D - verktøyforskyvningsnummer;
  • H - verktøykompensasjonsdatablokker i DIN-ISO-modus. Kommandoer fungerer enten modalt eller ramme for ramme.

Modalt gyldige kommandoer beholder sin betydning i alle påfølgende blokker med en programmert verdi inntil en ny verdi er programmert på samme adresse, og kansellerer den tidligere gyldige kommandoen.

Kommandoer som opererer blokk for blokk beholder sin betydning kun i blokken de er programmert i.

Hver ramme avsluttes med et LF-tegn, LF-tegnet trenger ikke skrives, det opprettes automatisk når linjen byttes. Programmet avsluttes med kommandoene M2, M30 eller M99. En ramme kan bestå av maksimalt 512 tegn (inkludert kommentar og LF-tegn).

Klargjøringsfunksjonene G sikrer alle maskinfunksjoner.

X, Y, Z - lineære koordinatakser til maskinen, Z-koordinaten er alltid parallell med maskinspindelens akse eller vinkelrett på planet til arbeidsstykket for maskiner med et dobbeltroterende fresehode; A, C, B - vinkelkoordinater for rotasjon i forhold til lineære koordinatakser. Hvis maskinen har mer enn to spindler, samt verktøyhoder, vises ytterligere koordinatakser X', Y', Z', A', C', B' osv.

Det skal bemerkes at de forberedende funksjonene lar deg bytte til delens koordinatsystem, som i noen tilfeller lar deg forlate bruken av spesielle enheter.

Tilleggsfunksjoner M er ansvarlige for å slå av og på spindelen, pumpestasjoner for kjølevæsketilførsel, spindelens rotasjonsretning og programslutt.

Spindelfunksjonen S stiller inn spindelhastigheten.

Verktøyfunksjonen T spesifiserer nummeret på verktøyet eller verktøyinnstillingen.

Fôringsfunksjonen F setter fôrverdien.

Ris. 1.

Maskinens koordinatsystem og retningene til positive bevegelser er vist i figur 1.

Styreprogrammer kan settes sammen i maskinkoordinatsystemet; i dette tilfellet må maskinutstyret som brukes samsvare med koordinatnettet til maskintabellen. Koordinering oppnås ved at støtteplaten til enheten har en sentreringsstift og en nøkkel. Pinnen passer inn i en bøssing presset inn i midten av maskinbordet, og nøkkelen passer inn i et kjølig spor. Dermed arbeidsplassen til maskinen i flyet XY er kombinert med enhetens koordinatsystem. I enhetens koordinatsystem lages grunnleggende overflater, for eksempel et plan og to fingre (sylindrisk og kuttet). Følgelig oppstår posisjoneringsfeil både ved montering av armaturet og ved montering av delen.

Under intensiv bruk i et produksjonsmiljø med flere elementer, dvs. når inventar ofte skiftes, er det nødvendig å dobbeltsjekke ikke bare utstyret, men også styrebunnflatene på maskinbordet, nemlig sentreringshylsen og klassesporet.

Med dette i betraktning, er det tilrådelig å utføre bearbeiding i delens koordinatsystem. Enheten er orientert langs bare en akse, og referansen til delens koordinatsystem utføres ved å måle sensorer. I dette tilfellet, i tillegg til å eliminere posisjoneringsfeil, reduseres kravene til tidspunktet for etterkontroll av utstyr, dessuten blir det mulig å bruke mer utbredt normaliserte enheter eller justeringer fra dem uten referanse til maskinens koordinatsystem.

Forberedende funksjoner G, tilleggsfunksjoner M er gitt i tabell 1, 2.

Så på fresemaskiner utføres verktøybytte i følgende sekvens: ved å bruke T-kommandoen velges et verktøy, og endringen skjer bare ved å bruke M6-kommandoen.

For tårnhoder på dreiebenk er T-kommandoen tilstrekkelig for å bytte verktøy.

Spindelfunksjonen S spesifiserer spindelhastigheten, verktøyfunksjonen T spesifiserer verktøyinnstillingen eller verktøynummeret, og matefunksjonen F angir mateverdien.

Tabell 1.Forberedende funksjoner G

Bruksanvisning Beskrivelse
G00Lineær interpolasjon under rask bevegelse
G01Lineær interpolasjon ved matehastighet
G02Sirkulær interpolasjon med klokken
G03Sirkulær interpolasjon mot klokken
G04Tidsforsinkelse
G05Sirkulær interpolasjon med tilgang til en sirkelbane langs en tangent
G06Reduksjon av tillatt akselerasjonsnivå
G07Avbryt Akselerasjonsreduksjon
G0SMatehastighetskontroll ved vendepunkter
G09Kansellere fôringshastighetskontroll ved vendepunkter
G10Akselerert bevegelse i polare koordinater
G11Lineær interpolasjon i polare koordinater
G12Sirkulær interpolasjon med klokken i polare koordinater
G13Sirkulær interpolasjon mot klokken i polare koordinater
G14Programmering av forsterkningsverdi basert på hastigheten til servodrevet
G15Avbryt G14
G16Programmering uten flyspesifikasjon
G17Flyvalg UX
G1SFlyvalg ZX
G19Flyvalg UZ
G20Spesifisering av pol og koordinatplan ved programmering i polare koordinater
G21Klassifisering av programmeringsakse
G22Aktivering av tabeller
G23Betinget hoppprogrammering
G24Programmere et ubetinget hopp
G32Gjengeskjæring i lineær interpolasjonsmodus uten kompenserende chuck
G34Hjørneavrunding for to tilstøtende rette seksjoner (med tillatt avvik under adresse E)
G35Slå av hjørneutjevning
G36Slå av avviket programmert under avrunding, som blir lik maskinparameteren
G37Programmere et punkt for å speile eller rotere koordinater
G38Aktivering av speiling, rotasjon av koordinater, skalering
G39Avbryt speiling, roterende koordinater, skalering
G40Avbryt ekvidistant korreksjon
G41Ekvidistant korreksjon til venstre i materetningen
G42Ekvidistant korreksjon til høyre i materetningen
G53Avbryt nullforskyvning
G54-G59Starter en nullforskyvning
G60Programkoordinatsystemoffset
G61Nøyaktig posisjonering ved bevegelse med matehastighet
G62Avbryt nøyaktig posisjonering
G63Slå på 100 % av den programmerte hastighetsverdien
G64Kobling av matehastigheten til kontaktpunktet mellom kutteren og delen
G65Kobling av matehastigheten til midten av kutteren
G66Aktivering av hastighetsverdien satt av potensiometeret
G67Avbrytg
G68Alternativ for sammenkobling av segmenter med like avstand langs en bue
G69Alternativ for sammenkobling av ekvidistante segmenter langs skjæringsbanen til ekvidistante linjer
G70Programmering i tommer
G71Avbryt programmering i tommer
G73Lineær interpolasjon med presis posisjonering
G74Utgang til opprinnelsen
G75Arbeider med berøringssensoren
G76Flytt til et punkt med absolutte koordinater i maskinens koordinatsystem
G78Aktivering av boreakse
G79Deaktiverer én boreakse eller alle på en gang
G80Avbryte hermetiske sykluser
G81, G82Standard boresyklus
G83Standard dypboringsyklus
G84Gjengesyklus med kompenserende chuck
G85, G86Standard boresyklus
G90Programmering i absolutte koordinater
G91Programmering i relative koordinater
G92Sette koordinatverdier
G93Programmering av blokkutførelsestiden
G94Programmeringsmating i mm/min
G95Programmeringsmating i mm/rev
G97Programmering av skjærehastighet
G105Nullstilling for lineære uendelige akser
G108Fôrkontroll ved vendepunkter basert på Look Ahead
G112
G113Aktivering av bremsefremføringskontroll
G114Aktivering av hastighetskontroll forover
G115Deaktivering av hastighetskontroll forover
G138Aktiverer kompensasjon for arbeidsstykkeposisjon
G139Slå av arbeidsstillingskompensasjon
G145-845Aktivering av ekstern korreksjon av den programmerbare kontrolleren
G146Slå av ekstern verktøykompensasjon
G147, G847Sekundær kompensasjonsgruppe for verktøykorrigeringer; korreksjoner er relatert til aksene
G148Avbryt ekstra verktøykompensasjon
G153Avbryt den første additivnullforskyvningen
G154-159Indikasjon på første additiv nullforskyvning
G160-360Ekstern nullforskyvning
G161Nøyaktig posisjonering ved hurtiggang
G162Avbryter finposisjonering ved hurtiggang
G163Nøyaktig posisjonering ved hurtiggang og traversering ved mating
G164Førsteiv
G165Andreiv
G166Tredjeiv
G167Avbryt ekstern nullforskyvning
G168Skift av koordinatsystemet til kontrollprogrammet
G169Kansellerer alle koordinatsystemforskyvninger
G184Gjengesyklus uten kompenserende chuck
G189Programmering i absolutte koordinater for uendelige akser
G190Programmering i absolutte koordinater "ord for ord"
G191Programmering i relative koordinater "ord for ord"
G192Innstilling av nedre fartsgrense i kontrollprogrammet
G194Programmeringshastighet (mating, hastighet) med akselerasjonstilpasning
G200Lineær interpolasjon ved hurtiggang uten bremsing opp til V= 0
G202Helisk interpolasjon med klokken
G203Helisk interpolasjon mot klokken
G206Aktivering og lagring av maksimale akselerasjonsverdier
G228Overganger fra ramme til ramme uten nedgang
G253Avbryt andre additiv null offset
G254-259Starter en andre additiv null offset
G268Additiv forskyvning av
G269Avbryt additiv forskyvning av
G292Innstilling av øvre fartsgrense i kontrollprogrammet
G301Aktiver oscillerende bevegelse
G350Stille inn parametere for oscillerende bevegelse
G408Dannelse av jevn akselerasjon ved bevegelse fra punkt til punkt
G500Oppdager mulige kollisjoner når du ser på bilder fremover
G543Aktiverer kollisjonshåndtering når du ser på bilder fremover
G544Deaktiverer kollisjonshåndtering når du ser på bilder fremover
G575Rammebytte med eksternt høyhastighetssignal
G580Oppløse koordinatakser
G581Dannelse av koordinatakser
G608Dannelse av jevn akselerasjon ved bevegelse fra punkt til punkt for hver akse separat

Merk. For hvert kontrollsystem kan noen forberedende funksjonsverdier ha forskjellige betydninger avhengig av maskinprodusenten. Det skal bemerkes at for å utvide de teknologiske egenskapene til utstyr, har produsenter av CNC-systemer en tendens til å øke forberedende funksjoner.

Tabell 2.Ytterligere M-funksjoner

Bruksanvisning Beskrivelse
MOStopper programmet
M1Be om stopp
M2Slutt på programmet
M3Aktiver spindelrotasjon med klokken
M4Aktiver spindelrotasjon mot klokken
M5Spindelstopp
M2=3Elektroverktøy dreid med klokken
M2=4Elektroverktøy dreid mot klokken
M2=5Elektroverktøy av
M6Automatisk verktøyskifte
M7Slår på luftstrømmen
MSSlå på kjølevæsken
M9Slår av kjøling
M1ODeaktiverer luftstrømmen
M11Verktøyklemme
M12Verktøyfrigjøring
M13Slå på spindelen med klokken sammen med å slå på kjølevæsken
M14Slå på spindelen mot klokken sammen med å slå på kjølevæsken
M15Slå på kjølevæske for å skylle ut spon
M17Slutt på subrutine
M19Spindelorientering
M21 X
M22Aktiver programspeiling langs en akse U
M23Deaktiver programspeiling
M29Aktiverer rigid threading-modus
M3OProgramslutt med mulighet for samtidig å slå av maskinstrømmen
M52Flytt magasinet en posisjon til høyre
M53Flytter magasinet en posisjon til venstre
M7OButikkinitialisering
M71Senking av den aktive magasinlommen
M72Roter manipulatoren 60°
M73Verktøyfrigjøring
M74Roter manipulatoren 120°
M75Verktøyklemme
M76Roter manipulatoren 180°
M77Heving av den aktive magasinlommen
M98Ringer en subrutine
M99Gå tilbake til hovedprogrammet

Bemerkelsesverdig. For forskjellige styresystemer og maskintyper kan tilleggsfunksjoner ha forskjellige betydninger, for eksempel aktivere bevegelsen til bakstokken, funksjoner oppstartsenhet, lunette osv.

Ved oppretting av et NC-program er selve programmeringen, det vil si konvertering av individuelle arbeidstrinn til NC-språket, ofte bare en liten del av programmeringsarbeidet.

Før programmering er det nødvendig å planlegge og forberede arbeidsoverganger. Jo mer presist begynnelsen og strukturen til CNC-programmet planlegges, jo raskere og enklere vil selve programmeringen være og jo mer oversiktlig og mindre feilutsatt vil det ferdige CNC-programmet være.

Fordelen med visuelle programmer er spesielt tydelig når endringer må gjøres senere.

Siden ikke alle programmer har samme struktur, gir det ingen mening å jobbe etter en standardmal. I de fleste tilfeller er det imidlertid tilrådelig å følge følgende sekvens.

1. Utarbeidelse av en deltegning består av:

  • a) ved å bestemme nullpunktet til delen;
  • b) ved å tegne et koordinatsystem;
  • c) ved beregning av eventuelt manglende koordinater.

2. Definisjon av behandlingsprosess:

  • a) Når skal de brukes, hvilke verktøy og for bearbeiding hvilke konturer?
  • b) I hvilken rekkefølge vil de enkelte elementene i delen bli produsert?
  • c) Hvilke enkeltelementer gjentas (kanskje roteres) og må lagres i en subrutine?
  • d) Har andre delprogrammer eller subrutiner delkonturer som kan gjenbrukes for gjeldende del?
  • e) Hvor er datumoffset, rotasjon, flip, skalering (rammekonsept) nyttig eller nødvendig?

3. Oppretting av et teknologisk kart. Bestem en etter en alle maskineringsprosessene til maskinen, for eksempel:

  • a) raske bevegelser for posisjonering;
  • b) verktøyskifte;
  • c) bestemmelse av behandlingsplanet;
  • d) fritt spill for ytterligere måling;
  • e) slå på/av spindelen, kjølevæske;
  • f) hente verktøydata;
  • g) innsending;
  • h) banekorrigering;
  • i) forsyning til kretsen;
  • j) uttak fra kretsen osv.

4. Oversettelse av overganger til et programmeringsspråk: registrerer hver overgang som en NC-blokk (eller NC-blokker).

5. Koble alle individuelle overganger til en operasjon, vanligvis i ett program. Noen ganger, spesielt ved bearbeiding av store deler i et program, kan overgangene mellom grovbearbeiding, halvbearbeiding og etterbehandling fremheves. Dette skjedde med begrenset minnekapasitet som er typisk for eldre CNC-systemer. Til moderne systemer programkontroll Minnemengden begrenser praktisk talt ikke maskinenes teknologiske muligheter.

Moderne programkontrollsystemer bruker i stor grad standard behandlingssykluser. Bruken av dem reduserer programmeringstiden betydelig.

Noen sykluskonstanter for kontrollsystemer som brukes i WIN NC SINUMERIK-programvaren er oppført nedenfor:

  • CYCLE81 ​​- boring, sentrering;
  • CYCLE82 - boring, forsenking;
  • CYCLE83 - boring av dype hull med spiralbor;
  • CYCLE84 - innvendig gjengeskjæring uten kompenserende chuck;
  • CYCLE840 - innvendig gjengeskjæring med kompenserende tapchuck;
  • SYKLUS85 - kjedelig 1;
  • SYKLUS86 - kjedelig 2;
  • SYKLUS87 - kjedelig 3;
  • SYKLUS88 - kjedelig 4;
  • SYKLUS89 - kjedelig 5;
  • SYKLUS93 - spor;
  • CYCLE94 - indre spor;
  • CYCLE95 - syklus for fjerning av kvoter;
  • CYCLE96 - gjenget fordypning;
  • CYCLE97 - gjengeskjæringssyklus.

Det skal bemerkes at programkontrollsystemer på høyt nivå er åpne, noe som gjør det mulig å utvide biblioteket med standardsykluser for behandling av standardflater som er karakteristiske for produksjon av denne typen produkter og derved redusere produksjonsforberedelsestid.


Ris. 2.

Bruken av CAM-systemer har ført til at hvert programkontrollsystem har behov for å utvikle postprosessorer, uten hvilke utstyret ikke kan forstå programmer uten å oversette dem til maskinkoder (fig. 2).

Programmering av moderne CNC-systemer utføres i henhold til ISO 6983 (DIN 66025) standarden, som er mer enn 50 år gammel og som ifølge programmerere angivelig bremser utviklingen av CNC-teknologier. Begrepet "CNC-teknologi", ifølge forfatteren, er ikke lovlig; behandling av deler på CNC-maskiner er underlagt alle lovene for mekanisk ingeniørteknologi og metallskjæring eller andre formingsmetoder.

Brudd på lovene i teknologiske vitenskaper fører til:

  • til økt vridning av deler;
  • til en reduksjon i nøyaktigheten av lineære dimensjoner;
  • til en økning i arbeidsintensiteten for bearbeiding av deler osv.

Hovedforskjellen for flerbruksmaskiner er den ekstremt uttalte konsentrasjonen av operasjoner, ikke bare karakteristisk for denne typen utstyr, men også implementert av drevne verktøy og spesialspindelutstyr, samt metoder for å sikre nøyaktighet ved hjelp av maskinmålesystemer. Standarden støtter enkle kommandoer for grunnleggende bevegelser og logiske operasjoner. For øyeblikket, for å løse komplekse geometriske og logiske problemer i programkontrollsystemer, i tillegg til maskinkoder i samsvar med DIN 66025 (ISO 7bit), brukes høynivåprogrammeringsspråk. Kontrollprogrammer i ISO 6983-standarden inneholder en liten mengde informasjon innhentet på nivå med CAD-CAM-systemer. En mer alvorlig ulempe, ifølge utviklere av programkontrollsystemer, er imidlertid manglende evne til å utveksle informasjon toveis med disse systemene, noe som betyr at eventuelle endringer i kontrollprogrammet ikke kan reflekteres oppstrøms. informasjonsflyt til CAD-CAM-systemer. Det skal bemerkes at dette ikke er praktisk for alle bransjer. Så for eksempel er det akseptabelt å jevne ut den glatte konjugeringen av teoretiske konturer med splines, men konjugeringen av to overflater krever en analyse av mulige metoder for deres forming; for en rekke strukturelle materialer kan det være teknologiske begrensninger, for eksempel minimum tillatte radier for konjugasjon av strukturelle elementer av deler laget av høyfaste aluminiumslegeringer, etc. .

I motsetning til DIN 66025 (ISO 6983), definerer STEP-NC ISO 14649-standarden som utvikles (ikke alle modulene er utviklet på dette tidspunktet) en spesiell struktur for CNC-kontrollprogrammet - programstruktur, som brukes til å konstruere logiske blokker innenfor rammen av strukturert prosesseringsprogrammering. Strukturen til kontrollprogrammet er ikke en liste over typiske behandlede skjemaer (funksjoner); den definerer en operasjonsplan (arbeidsplan), som er en sekvens av kjørbare filer. STEP-NC innebærer en bred utveksling av informasjon mellom ingeniørtjenester, inkludert forberedelse og produksjonsplanlegging, samt butikknivå.

Strukturen til den foreslåtte informasjonsutvekslingen er vist i figur 3.

Strukturen til den planlagte informasjonsutvekslingen reiser mange spørsmål:

  • det utilstrekkelige nivået av formalisering av ingeniørarbeid gjør det vanskelig å skape kunnskapsbaser;
  • et stort antall skjæreverktøykataloger, som gir utilstrekkelig informasjon for å velge et verktøy for å behandle spesielle materialer og bruksbetingelsene, som i de fleste tilfeller krever eksperimentell verifisering;
  • utstyrskataloger mangler ofte informasjon om posisjonsnøyaktigheten til maskinens kontrollerte akser, de dynamiske egenskapene til stasjonene osv.;
  • utdaterte teknologiske oppslagsverk, utviklet for universelt utstyr og systematisk utgitt på nytt med praktisk talt ingen oppdatering av teknologisk informasjon;
  • mangel på systematisk informasjon om avansert teknologisk utstyr.

Ris. 3. Planlagt utveksling av informasjon mellom ingeniørtjenester og butikknivå

I tillegg bør det bemerkes at det ikke er noen standardmetoder for å optimalisere maskinprogrammering med parametere som lar deg velge den beste maskinen eller gruppen av maskiner for å utføre en bestemt teknologisk operasjon eller prosess.

Disse problemene har blitt påpekt mange ganger av brukere av ulike maskinverktøy involvert i STEP-NC standardiseringsprosessen. Utstyrsprodusenter og utviklere programvare prøv å ta hensyn til brukerkrav og implementer noen av de spesifiserte funksjoner i sine produkter. Imidlertid er arbeidet deres ofte ikke underlagt en enkelt standard, som ifølge eksisterende mening kan bremse oppdateringen av industrielle systemer. Det er også umulig å ikke nevne at produsert utstyr sjelden bruker all moderne teknologi, og som et resultat er produksjonsbasen ikke så effektiv og perfekt. Med dette i betraktning har produsenter av programmerbare kontrollsystemer valgt et kompromissalternativ som gjør at de kan jobbe i henhold til både DIN 66025 (ISO 6983) og ISO 14649 (fig. 4).

Ris. 4. Blandet CNC-systemarkitektur som støtter DIN 66025 (ISO 6983) og ISO 14649 (STEP-NC) standarder

Alt dette indikerer at i tillegg til å forbedre programkontrollsystemer og programmeringsmetoder, er det nødvendig å engasjere seg i utarbeidelsen av teknologisk informasjon på en systematisk basis:

  • et verktøy som gir intensivering av behandlingsmoduser;
  • anbefalinger for bruk av ulike verktøydesign;
  • avhengigheter for kutteberegninger;
  • avhengigheter for å beregne komponentene til skjærekrefter;
  • databaser om CNC-utstyr og deres teknologiske muligheter, inkludert i tilfeller av utstyr ulike systemer ledelse;
  • algoritmer for beregning av skjæremoduser for maskiner der elektriske spindler brukes som hovedbevegelsesdrevet;
  • strategi for behandling av ulike strukturelle elementer av deler på CNC-maskiner;
  • databaser om bruk av kommersielt produsert utstyr for CNC-maskiner;
  • målesystemer for verktøymaskiner, inkludert nullreferanse og målesensorer;
  • produksjonsinstruksjoner for å sette sammen verktøyinnstillinger og balansere dem;
  • teknologiske forskrifter for kontroll av nøyaktigheten til CNC-maskiner, etterkontroll av spindelutstyr, spesielt HSK type dorer og foringer og mye mer.
For tiden brukes mange programmeringsspråk til å programmere CNC-systemer, basert på det universelle ISO 7-bits språket. Hver produsent har imidlertid sine egne funksjoner, som implementeres gjennom forberedende (G-koder) og hjelpefunksjoner (M-koder).

Funksjoner med adresse G- er kalt forberedende, bestemmer de driftsforholdene til maskinen knyttet til programmering av geometrien til verktøybevegelsen. En detaljert beskrivelse av G-koder finnes i kapittelet ISO 7 bit kode.

I dette kapittelet vil vi i detalj vurdere formålet med hjelpefunksjoner.

Funksjoner med adresse M- er kalt hjelpemiddel(fra engelsk: Miscellaneous) og er designet for å kontrollere ulike moduser og enheter på maskinen.

Hjelpefunksjoner kan brukes alene eller sammen med andre adresser, for eksempel blokken nedenfor installerer verktøy nummer 1 i spindelen.

N10 T1 M6, hvor

T1– verktøy nummer 1;
M6– bytte av verktøy;

I dette tilfellet, under M6-kommandoen på CNC-stativet, er det et helt sett med kommandoer som sikrer prosessen med utskifting av verktøy:

Flytte verktøyet til endringsposisjonen;
- slå av spindelhastigheten;
- flytting av det installerte verktøyet i butikken;
- utskifting av verktøy;

Bruk av M-koder er tillatt i rammer med verktøybevegelse, for eksempel i linjen under vil kjølingen slås på (M8) samtidig med starten av kutterbevegelsen.

N10 X100 Y150 Z5 F1000 M8

M-koder som slår på hvilken som helst maskinenhet har en sammenkoblet M-kode som slår av enheten. For eksempel,

M8– slå på kjøling, M9– slå av kjølingen;
M3– slå på spindelhastigheten, M5– slå av hastigheten;

Det er tillatt å bruke flere M-kommandoer i en ramme.

Følgelig, jo flere enheter en maskin har, jo flere M-kommandoer vil være involvert i kontrollen.

Konvensjonelt kan alle hjelpefunksjoner deles inn i standard Og spesiell. Standard hjelpefunksjoner brukes av CNC-produsenter for å kontrollere enhetene som finnes på hver maskin (spindel, kjøling, verktøyskifte, etc.). Mens spesialprogrammer programmerer moduser på en bestemt maskin eller gruppe av maskiner av en gitt modell (av/på målehodet, klemme/løsne rotasjonsaksene).

Bildet over viser den roterende spindelen til en flerakset maskinverktøy. For å øke stivheten under posisjonsbehandling er maskinen utstyrt med roterende akseklemmer, som styres av M-koder: M10/M12– aktiver klemmer for aksene A og C. M11/M13– slå av klemmene. På annet utstyr kan maskinprodusenten konfigurere disse kommandoene for å kontrollere andre enheter.

Liste over standard M-kommandoer

M0 – programstopp;
M1 – stopp på forespørsel;
M2 – slutten av programmet;
M3 – slå på spindelrotasjonen med klokken;
M4 – slå på spindelrotasjonen mot klokken;
M5 – spindelstopp;
M6 – automatisk verktøyskifte;
M8 – slå på kjøling (vanligvis kjølevæske);
M9 – slå av kjølingen;
M19 – spindelorientering;
M30 – avslutte programmet (vanligvis med tilbakestilling av alle parametere);
M98 – subrutineanrop;
M99 – gå tilbake fra subrutinen til hovedrutinen;

Maskinprodusenten beskriver spesielle hjelpefunksjoner i den tilhørende tekniske dokumentasjonen.

Hjelpefunksjoner (eller M-koder) programmeres ved hjelp av adresseordet M. Hjelpefunksjoner brukes til å styre programmet og den elektriske automatiseringen av maskinen - slå av/på spindel, kjølevæske, skifte av verktøy osv.

Tabell 3.

Betegnelse

Hensikt

M00

Programmerbar stopp

M01

Slutt med bekreftelse

M02

Slutt på programmet

M03

Spindelrotasjon med klokken

M04

Spindelrotasjon mot klokken

M05

Spindelstopp

M06

Verktøyskifte

M08

Slå på kjøling

M09

Avkjøles

M17

Retur fra subrutine

M18

Plassering av spindelen i en gitt vinkel

M19

Spindelorientering

M20

Slutt på en gjentatt programdel

M30

Stopp og gå til begynnelsen av kontrollprogrammet

M99

Fortsett utførelsen av den første rammen

Hjelpefunksjoner som utfører inkludering av alle operasjoner ( M03, M04 Og M08), utføres i begynnelsen av blokken før bevegelseskommandoer. De resterende hjelpefunksjonene utføres på slutten av blokken.

I tabellen 3 er en liste over ofte brukte hjelpefunksjoner.

2.1. Programmerbar stopp (M00)

Ubetinget stopp av kontrollprogrammet etter utførelse av bevegelsen i gjeldende blokk. Programtilstanden endres ikke før du trykker på knappen igjen START på kontrollpanelet eller tastene TIL STARTEN, for å gå tilbake til begynnelsen av gjeldende program.

2.2. Stopp med bekreftelse (M01)

Stoppe kontrollprogrammet etter å ha utført bevegelsen i gjeldende blokk, forutsatt at modusen er innstilt “Stopp med bekreftelse” fra kontrollpanelet til kontrollsystemet (se dokumentet MSHAK-CNC brukerhåndbok).

Eksempel:

X-2 X-4.

M1; Stopp programkjøringen på denne blokken hvis

; modus satt “Stopp med bekreftelse” fra operatørens konsoll

2.3. Slutt på programmet (M02)

Bestemmer slutten av kontrollprogrammets utførelse, stopper tilførselen av kjølevæske og stopper spindelrotasjonen.

Eksempel:

G0X20Z50 Z.5

G0 X0Z0 M2

2.4. Spindelrotasjon med klokken (M03)

Starter spindelrotasjon med klokken ved å bruke gjeldende verdi spesifisert med ord.

Eksempel:

G54 G0 X-20 Z30 S500M3

2.5. Spindelrotasjon mot klokken (M04)

Starter spindelrotasjon mot klokken ved å bruke gjeldende verdi spesifisert med ord.

Eksempel:

G54 G0 X-20 Z30 S1500M4

2.6. Spindelstopp (M05)

Stopper spindelrotasjon. Utført etter bevegelsene i rammen.

Eksempel:

G28 X0 Z0 M5

G4 P2 M2

2.7. Verktøyskifte (M06)

Utfører verktøyskift mellom spindelen og verktøymagasinet. I henhold til denne funksjonen skjer følgende:

· Posisjonering langs aksene til verktøyskiftepunktet;

· Spindelrotasjonsstopp og spindelorientering;

· Verktøyskifte.

Eksempel:

T5; begynn å søke etter verktøy 5 i butikken

X50 Z60 ; fortsettelse av programmet

M6 ; verktøyskifte

2.8. Aktiver kjøling (M08)

Slår på tilførselen av skjærevæske (kjølevæske).

Eksempel:

S300M3X20Z30G0

G1X50Z44M8 ; Slå på kjølevæsken

G0Z-100

2.9. Avkjøling (M09)

Slår av tilførselen av skjærevæske (kjølevæske).

Eksempel:

S300M3X20Z30G0 G1X50Z44 M9M5G0Z-100

2.10. Retur fra subrutine (M17)

Definerer slutten på en subrutine når den kalles opp med et adresseord L.

Eksempel:

X5Z5

; Hovedprogram

L10; Ringer en subrutine som starter fra blokk N10 X2Z8

N10Z2; Subrutine med blokkmerke N10 X10

M17; Slutt på subrutine og gå tilbake til hovedprogrammet

2.11. Spindelposisjonering (M18)

Ved å bruke denne funksjonen kan du rotere spindelen til en spesifisert vinkel

Format:

M18 Pnnn

Hvor: nnn – rotasjonsvinkel +/- 360 grader.

Rotasjonsvinkelen måles i forhold til spindelposisjonen som spindelen er satt til ved hjelp av funksjon M19.

Eksempel:

M18 P45; spindelrotasjon 45 grader

2.12. Spindelretning (M19)

Hjelpefunksjon M19 stopper spindelrotasjonen og utfører sin orientering.

2.13. Slutt på en gjentatt programdel (M20)

Bestemmer slutten på et repeterende segment av et program når det kalles opp av et ord med en adresse H.

Eksempel:

N10H2; utfør programdelen opptil M20 2 ganger

2. Syntaks for å definere og kalle M-funksjoner .

Teksten til M-funksjonen må begynne med Overskrift, etterfulgt av funksjon kroppen.

Overskriften definerer "grensesnittet" til funksjonen (måten å samhandle med den) og er strukturert som følger:

function [ RetVal1, RetVal2, ] = Funksjonsnavn(par1, par2,)

Her er en funksjon erklært (ved å bruke det uforanderlige "funksjons" nøkkelordet) kalt FunctionName, som tar inngangsparametere par1, par2, og produserer (kalkulerer) utdata (retur) verdier RetVal1, RetVal2

Med andre ord sier de det funksjonsargumenter er variablene par1, par2,.., og funksjonsverdier (de må beregnes) er variablene RetVal1, RetVal2,.

Funksjonsnavnet spesifisert i overskriften (i eksemplet gitt - Funksjonsnavn) skal tjene som navnet på filen der funksjonsteksten skal skrives. For dette eksemplet vil dette være filen Funksjonsnavn.m (navneutvidelsen må fortsatt kun bestå av én bokstav m). Uoverensstemmelse mellom funksjonsnavnet og filnavnet er ikke tillatt!

Hoveddelen av funksjonen består av kommandoer som beregner returverdiene. Funksjonsteksten følger funksjonsoverskriften. Funksjonshodet pluss funksjonslegemet utgjør sammen funksjonsdefinisjonen.

Både inngangsparametere og returverdier kan være generelle arrays (i et spesielt tilfelle - skalarer) av forskjellige dimensjoner og størrelser. For eksempel funksjonen MatrProc1

funksjon [ A, B ] = MatrProc1(X1, X2, x)

A = X1 .* X2 * x;

B = X1.* X2 + x;

er designet for å "motta" to arrays med identiske (men vilkårlige) størrelser og en skalar.

Disse matrisene i funksjonens kropp multipliseres først element for element, hvoretter resultatet av en slik multiplikasjon også multipliseres med en skalar. Dette oppretter den første av utdatamatrisene. Samme størrelser input arrays X1 og X2 garanterer gjennomførbarheten av deres elementvise multiplikasjonsoperasjon. Den andre utdatamatrisen (kalt B) skiller seg fra den første ved at den oppnås ved addisjon med en skalar (i stedet for multiplikasjon).

Anrop skapt av oss funksjoner utføres fra kommandovinduet til MATLAB-systemet (eller fra teksten til en hvilken som helst annen funksjon) på vanlig måte: navnet på funksjonen skrives, hvoretter følgende er oppført i parentes, atskilt med komma faktiske innganger , med verdiene for hvilke beregninger vil bli utført. Faktiske parametere kan spesifiseres av tall (matriser av tall), variabelnavn som allerede har spesifikke verdier og uttrykk.

Hvis den faktiske parameteren er gitt av navnet på en variabel, vil de faktiske beregningene bli utført på en kopi av den variabelen (i stedet for på seg selv). Det kalles overføre parametere etter verdi .

Nedenfor er et kall fra MATLAB-kommandovinduet til MatrProc1-funksjonen vi tidligere opprettet for eksempelet.

Her samsvarer ikke navnene på de faktiske inngangsparametrene (W1 og W2) og variablene som beregningsresultatene er skrevet i (Res1 og Res2) med navnene på lignende variabler i definisjonen av MatrProc1-funksjonen. Det er åpenbart ikke nødvendig med samsvar, spesielt siden den tredje faktiske parameteren for inndata ikke har noe navn i det hele tatt! For å understreke denne mulige forskjellen, kalles navnene på inngangsparametrene og utgangsverdiene i en funksjonsdefinisjon formelle.

I det betraktede eksemplet med å kalle MatrProc1-funksjonen, fra to input 2 x 2 kvadratmatriser, oppnås to utmatriser Res1 og Res2 av nøyaktig samme størrelse:

Res1 =
9 6
6 6

Res2 =
6 5
5 5

Ved å ringe funksjonen

MatrProc1 = MatrProc1([ 1 2 3; 4 5 6 ], [ 7 7 7; 2 2 2 ], 1);

med to inngangsmatriser på størrelse 2x3, får vi to utmatriser på størrelse 2x3. Det vil si at den samme MatrProc1-funksjonen kan behandle inngangsparametere av forskjellige størrelser og dimensjoner! Du kan bruke denne funksjonen på skalarer i stedet for arrays (disse er fortsatt 1x1 arrays).

La oss nå vurdere spørsmålet om denne funksjonen kan brukes som en del av uttrykk på samme måte som det gjøres med funksjoner som returnerer en enkelt verdi? Det viser seg at dette kan gjøres, og den første verdien som returneres av funksjonen brukes som funksjonsverdien som brukes for videre beregninger. Følgende MATLAB-vindu illustrerer dette punktet:

Når den kalles med parametere 1,2,1, returnerer MatrProc1-funksjonen to verdier: 2 og 3. For bruk som en del av et uttrykk, brukes den første av dem.

Siden å kalle en hvilken som helst funksjon kan gjøres ved å skrive et vilkårlig uttrykk i MATLAB-kommandovinduet, kan du alltid gjøre en feil forbundet med uoverensstemmelse mellom typene faktiske og formelle parametere. MATLAB utfører ingen kontroller på dette emnet, men gir rett og slett kontroll til funksjonen. Som et resultat kan det oppstå feilsituasjoner. For å unngå (hvis mulig) forekomsten av slike feilsituasjoner, foreslås det i teksten til M-funksjonene å kontrollere inngangsparametrene. For eksempel, i MatrProc1-funksjonen er det lett å identifisere situasjonen når størrelsene på den første og andre inngangsparameteren er forskjellige. Å skrive slik kode krever kontrollkonstruksjoner som vi ennå ikke har utforsket. Det er på tide å begynne å studere dem!

Nå overgår egenskapene til systemet betydelig egenskapene til den originale versjonen av Matrix Laboratory. Dagens MATLAB, ideen til The MathWorks, Inc., er et svært effektivt språk for ingeniørvitenskap og vitenskapelig databehandling. Den støtter matematiske beregninger, visualisering av vitenskapelig grafikk og programmering ved hjelp av et brukervennlig driftsmiljø. De mest kjente bruksområdene til MATLAB-systemet:

Matematikk og databehandling;

Algoritme utvikling;

Beregningseksperiment, simuleringsmodellering, prototyping;

Dataanalyse, forskning og visualisering av resultater;

Vitenskapelig og teknisk grafikk;

Applikasjonsutvikling, inkludert grafisk brukergrensesnitt.

MATLAB er et interaktivt system hvis hovedobjekt er en matrise, der dimensjonen ikke trenger å spesifiseres eksplisitt. Dette gjør det mulig å løse mange beregningsproblemer knyttet til vektormatriseformuleringer.

Versjon MATLAB 6.1 er den nest siste prestasjonen til utviklerne (den siste var MATLAB 6.5).

MATLAB-systemet er både et driftsmiljø og et programmeringsspråk. En av systemets største styrker er at gjenbrukbare programmer kan skrives i MATLAB. Brukeren kan selv skrive spesialiserte funksjoner og programmer som er kompilert i form av M-filer. Det er derfor applikasjonsprogramvarepakker - MATLAB Application Toolboxes, som er en del av MATLAB-produktfamilien, lar deg være på nivå med de mest moderne verdensprestasjoner.

Driftsmiljø for MATLAB 6.1-systemet. Driftsmiljøet til MATLAB 6.1-systemet er et sett med grensesnitt som støtter kommunikasjon av dette systemet med omverdenen gjennom dialog med brukeren via kommandolinjen, M-filredigering, interaksjon med eksterne systemer Microsoft Word, Excel, etc.

Etter å ha startet MATLAB-programmet, vises hovedvinduet på dataskjermen, som inneholder Meny, verktøylinjal med knapper og klientsiden av vinduet med et invitasjonsskilt. Dette vinduet kalles vanligvis kommandovinduet MATLAB-systemer (fig. 1).

Meny Fil(Fig. 2) kombinerer de vanlige funksjonene: Redigere ansvarlig for innholdsendringer Vindu kommandoer (angre, gjenta, klipp ut, kopier, lim inn, velg alle, slett, etc.) og for å tømme noen MATLAB-vinduer; Meny Utsikt– for utformingen av skrivebordet; Webmeny – starter nettsider fra Internett; Meny Vindu– fungerer med M-filredigering/debugger (lukker alle M-filer, gjør en av dem oppdatert); Meny Hjelp– Jobber med referansedokumentasjon og demoer.


Alternativet fortjener spesiell vurdering Preferanser... (utvalg av egenskaper), som, når den er valgt, åpner et vindu som inkluderer et tre med objekter til venstre (fig. 3), og deres mulige egenskaper til høyre.

Dashbord Kommandovinduet til MATLAB-systemet gir enkel tilgang til operasjoner på M-filer: opprette en ny M-fil; åpne en eksisterende M-fil; sletting av et fragment; kopiere et fragment; sette inn et fragment; gjenopprette kun den fullførte operasjonen osv.

I klient side MATLAB kommandovindu, etter ledeteksten, kan du skrive inn ulike tall, variabelnavn og operasjonstegn, som til sammen utgjør noen uttrykk. Å trykke på Enter-tasten forårsaker MATLAB system evaluer uttrykket eller, hvis det ikke evaluerer, gjenta det. Selv om tegnet ";" på slutten av linjen undertrykker utgangen av resultatet (ekkoutgang).

Dermed, i klientdelen av MATLAB-kommandovinduet, kan brukeren umiddelbart skrive kommandoer som danner individuelle beregninger eller et helt program.

Så de strukturelle delene av MATLAB-kommandovinduet ble analysert. Men i tillegg til dem er det flere MATLAB-elementer som hjelper når du jobber:

Lag- et vindu som inneholder tidligere angitte kommandoer i kommandovinduet ("kommandohistorikk").

Arbeidsområde er et område av MATLAB-minne der systemvariabler er plassert. Innholdet i dette området kan sees fra kommandolinje ved hjelp av kommandoer WHO(viser kun variabelnavn) og hvem(viser informasjon om størrelsene på arrays og typen variabel) eller i et eget vindu under samme navn. I den kan du utføre følgende operasjoner: last en datafil, lagre arbeidsområdet som (kommandoer lar deg åpne og lagre innholdet i arbeidsområdet i en binær MAT-fil), slett valgte variabler; åpne de valgte variablene (hvor du kan endre verdien). I tillegg kan du i Rediger-menyen tømme både kommandovinduet og kommandohistorikken og arbeidsområdet (eller kjøre kommandoen i kommandovinduet: klar).

For å lagre og starte arbeidsområdet, kan du bruke kommandoene last og lagre.

Eksempel.

Lagrer til: matlab.mat

>> lagre my.mat

>> last inn my.mat

>> lagre min2

>> last inn min2

Gjeldende katalog– et vindu som er en slags «guide» gjennom MATLAB-kataloger.

Start Editor– et vindu som reflekterer et tre med strukturelle elementer av MATLAB og andre installert med det programvare, som kan startes ved å dobbeltklikke med musen. For eksempel kan dette vinduet se ut som figur 9.

M-fil editor/debugger– en av de viktigste konstruksjonsdelene til MATLAB, som kan åpnes ved å velge riktig alternativ i hovedmenyen, på verktøylinjen eller kalles opp fra kommandolinjen med rediger- eller rediger-kommandoen<имя М-файла>og lar deg opprette og redigere M-filer.

Redaktøren/debuggeren støtter følgende operasjoner: opprette en ny M-fil; åpne en eksisterende M-fil; lagre M-filen på disk; sletting av et fragment; kopiere et fragment; sette inn et fragment; hjelp; sette/slette kontrollpunkt; fortsette utførelse osv.

GUIDE er et grafisk brukergrensesnitt der komplette applikasjoner lages.

Interaktiv arbeidsøkt. M-filer. Interaktiv modus er en brukermodus for å legge inn kommandoer og uttrykk fra tastaturet, hvis utførelse gir de nødvendige numeriske resultatene som enkelt og raskt kan visualiseres ved hjelp av de innebygde grafiske verktøyene i MATLAB-pakken. Men å bruke denne modusen til å lage og lagre et spesifikt program er ikke mulig. Derfor er skaperne av MATLAB, i tillegg til kommandovinduet, der den interaktive modusen er implementert, fremhevet spesielle filer, som inneholder MATLAB-språkkoder, og kalt M-filer (*.m). For å lage en M-fil, bruk tekstredigerer(M-fil editor/debugger).

Jobber i M-fil-editoren.Å jobbe fra MatLab-kommandolinjen blir vanskelig hvis du trenger å legge inn mange kommandoer og endre dem ofte. Den mest praktiske måten å utføre kommandoer på er å bruke M-filer der du kan skrive kommandoer, kjøre dem alle på en gang eller i deler, lagre dem i en fil og bruke dem i fremtiden. Å jobbe med M- editoren er beregnet på filer M-filer. Ved å bruke editoren kan du lage dine egne funksjoner og kalle dem, inkludert fra kommandolinjen.

Utvid Fil-menyen i hovedvinduet i MatLab og velg underelementet M-fil under Nytt element. Ny filåpnes i redigeringsvinduet M-filer (fig. 10). La oss skrive et program for å beregne det aritmetiske gjennomsnittet inn i en fil.

variabel a og b, og lagre den med navnet fun1.m. Sammenlign metodene for å løse problemet presentert i tabellen.

Bruksanvisning