Datora ciparu vadības (CNC) virpas programmēšana ir process, kurā datorvadāma virpa tiek programmēta, lai automatizētu tās darbību. Programmētājs ievada instrukcijas atbilstoši projektēšanas parametriem, un iekārta izpilda šos norādījumus, ātri un efektīvi ražojot objektu. CNC virpu programmēšana ir radījusi revolūciju daudzās nozarēs un ražošanas operācijās un kopumā nodrošina izmaksu samazinājumu, vienlaikus palielinot produktivitāti salīdzinājumā ar virpām, kuras tieši darbina cilvēki.
Virpa ir iekārta, kas lielā ātrumā griež materiāla gabalu, ko sauc par pamatni, vienlaikus izmantojot jebkuru no daudzajiem griezējinstrumentiem, lai iegūtu vēlamo formu. Virpas ir izmantotas gadsimtiem ilgi, lai ražotu visu veidu lietas, sākot no beisbola nūjām un beidzot ar dzinēju sadales vārpstām. Savulaik virpas tika darbinātas ar rokām, bet 20. gadsimta sākumā pirmie soļi to darbības automatizēšanai sākās ar mehāniskām izciļņu un modeļu sistēmām, kas varēja dublēt daļu vai izstrādājumu no veidnes vai prototipa.
Datora un pēc tam mikroprocesoru izgudrojums noveda pie CNC virpas izgudrošanas. Tā kā mikroprocesori ir kļuvuši lētāki un jaudīgāki, tie ir ļāvuši virpas un citas iekārtas lēti un efektīvi automatizēt un programmēt. Liela daļa no tā tiek veikta, izmantojot datorizētās projektēšanas (CAD) tehnoloģiju, un tas nodrošina augstu atkārtojamās precizitātes pakāpi apstrādātajās daļās un izstrādājumos. Izmantojot CNC virpas programmēšanu, ir iespējamas daudzas sarežģītas un precīzas darbības, kuras iepriekš nebija iespējams veikt tiešā cilvēka darbībā.
Mūsdienās daudzas tehniskās skolas un universitātes piedāvā kursus vai grādus CNC virpu programmēšanas jomā. CNC virpas programmētāja darbs bieži vien iet roku rokā ar CAD projektēšanu, taču šos darbus var veikt dažādi cilvēki. Detaļas un izstrādājumi tiek izstrādāti, izmantojot dažādas sarežģītas projektēšanas programmas, un pēc tam programmētājs ievada specifikācijas CNC virpā. Pēc tam iekārta veic virpas darbības saskaņā ar šīm instrukcijām, ātri un efektīvi sagriežot materiālu atbilstoši specifikācijai.
CNC virpas programmēšana arī ļauj vienai mašīnai ātri pāriet no vienas detaļas vai produkta ražošanas uz citu. Programmētājs var nodrošināt iekārtai daudz dažādu specifikāciju kopu un pārslēgties starp tām, vienkārši nospiežot dažas pogas. Daudzām no šīm iekārtām ir tik uzlabota konstrukcija, ka griezējinstrumenti nav jāmaina manuāli, bet tiek mainīti automātiski, pašai mašīnai atbilstoši tās ieprogrammētajām instrukcijām vēlamā izstrādājuma ražošanai.