Такие станки появились довольно давно, и основным инструментом управления был микроконтроллер; развитие компьютерной техники превратило управляющий станком микроконтроллер практически в полноценный компьютер. Как и к микроконтроллеру, к программному обеспечению для этих систем предъявлялись, и сейчас предъявляются повышенные требования надежности в работе.
Как правило, эта область разработки программного обеспечения идет на шаг позади, скажем, программ для персонального компьютера. Почему? дело в том, что станок выполняет немного операций, и не требуется сложного языка, чтобы описать ему порядок действий. К тому же, до сих пор не выработан единый общий для всех язык — возможно, не было такой необходимости. Требования же по надежности работы этих программ мотивируются тем, что сбой управления при выполнении станком программы может привести к серьезным последствиям.
Понятно, что надежно работающее программное обеспечение микроконтроллера, или чаще микропроцессора, разрабатывается намного дольше, чем операционные системы для персонального компьютера. Поэтому хотя микропроцессоры могут достигать практически той же мощности, что и процессоры ПК, и допускают операционные системы того же класса, что и ПК, но для стоек станков с программным управлением все же порой производители предпочитают выверенные многократно системы собственной разработки: ссылка на ошибки Майкрософт или Линукс навряд ли изменит отношение заводов к сбойному оборудованию.
Управление несколькими станками, впрочем, доверяют и обычным операционным системам (правда, не последних версий, конечно). Но управляет станками чаще всего не микроконтроллер, а так называемый промышленный компьютер (который по конструкции существенно отличается от персонального). Да и задачей у него, в основном, является передача на станок управляющей программы, и считывание параметров состояния станков. Собственно, операционная система управляющего компьютера отвечает за работу интерактивного интерфейса: осуществляет требуемый ручной ввод, и отображает считанные параметры работы для визуального контроля состояния группы станков.
Итак, управление станком осуществляется с помощью специально написанных программ, называемых управляющими (далее УП). В них задается последовательность операций, выполняемых станком, со всеми требуемыми параметрами выполнения.
Управляющая программа передается на специальное оборудование станка, называемое стойкой: кроме микропроцессора и стандартной периферии, стойка содержит также устройство управления станком, связанное с микропроцессором. Конкретная модель станка может комплектоваться различными стойками. Исторически сложилась ситуация, когда каждый производитель загружал в стойку свой интерпретатор команд для управляющих программ . Так что разрабатывать УП приходилось под конкретные стойки от производителя. Во многом это определялось тем, что при интерпретации команд УП следует учитывать все возможности конкретного станка. Возможно, в будущем появятся универсальные стандарты для характеристик станков, и это приведет к созданию единого языка описания программ управления.
Специализированные системы генерации УП возникли еще во второй половине прошлого века (их назвали постпроцессорами), и они снабжались комплектами генераторов текста программ для широкого набора строек. В функции таких систем входит считывание и анализ графической информации (раньше это был чертеж, сейчас трехмерная модель детали, импортированная из конструкторских САПР), задание типа заготовки, и затем в автоматическом режиме генерируется последовательность операций станка. В итоге выполнения операций из заготовки должна получаться требуемая деталь с учетом технологических требований (шероховатость, припуски/допуски. квалитеты и др.).
Если геометрия детали достаточно проста, то автоматически созданная УП не требует доработок; но бывают и более сложные ситуации. Для разрешения возникающих проблем постпроцессор содержит редактор текста, позволяющий изменять созданную автоматически программу. Разработка УП в сложных случаях обычно доверяется опытному технологу, в тонкостях знакомому с характеристиками и возможностями оборудования. Такое требование к разработчикам УП актуально и сегодня.
Для контроля совместимости созданной УП с назначенным оборудованием, существует обычно блок тестирования, который проверяет соответствие установленных программой настроек операций станка его характеристикам.
Подобные системы включаются в конструкторские САПР в качестве модулей генераторов управляющих программ для станков ЧПУ; в этом случае импорт графической информации ограничивается данным САПР. Есть и автономные постпроцессоры, способные анализировать графическую информацию от ряда конструкторских САПР.