H is het compensatiegetal, vergelijkbaar met radiuscorrectie, de gereedschapslengtewaarde wordt opgeslagen in het adres gespecificeerd na H.
Bij het uitvoeren van lengtecompensatie moet het gereedschap op de z-as bewegen: de werkelijke positie van het gereedschap onder verschillende commando's, waaronder de instructie "G90 G54(XIZ0;" zal een ernstig ongeval veroorzaken als er geen G43-commando onder de voorwaarde van lengtecompensatie. In algemene programma's Het programmawoord tijdens compilatie is een constante en een programma kan slechts één geometrische vorm beschrijven, dus het ontbreekt aan flexibiliteit en veelzijdigheid. In sommige gevallen moet de bewerkingsmachine handelen volgens bepaalde regels, zoals in de boorcyclus, moet de gebruiker de snijparameters volgens de situatie kunnen bepalen. Het is vereist dat het algemene programma niet kan worden bereikt. Wanneer de automatische meting wordt uitgevoerd, moet de mens of de werktuigmachine de meetgegevens verwerken. Deze gegevens worden opgeslagen in de variabele en het algemene programma kan niet worden verwerkt. Als reactie op deze situatie biedt de CNC-bewerkingsmachine een andere programmeermethode, namelijk macroprogrammering .
In het programma worden variabelen gebruikt en de functie van het programma wordt bereikt door de variabelen toe te wijzen en te verwerken. Zo'n programma met variabelen wordt een macroprogramma genoemd. Macroprogrammaformaat Het macroprogrammaformaat is hetzelfde als het subprogramma, en M99 wordt aan het einde gebruikt om terug te keren naar het hoofdprogramma.
