Необходимую гибкость САП Техтран приобрела благодаря модульной структуре. Для уменьшения объема оперативной памяти процессор и постпроцессор выполняют обработку данных за несколько проходов: процессор построен по трехпроходной схеме, постпроцессоры − по двухпроходной схеме. Модульная структура дает возможность вводить новые функции без существенной корректировки ранее написанных программ. Кроме того, такая структура позволяет организовать перекрытия и уменьшить тем самым объем оперативной памяти.
Требование мобильности программного обеспечения предопределило выбор языка программирования. Поскольку ко времени начала разработки (1975 г.) и вплоть
до настоящего времени единственным языком программирования, компиляторы которого входят в состав всех операционных систем и обеспечивают необходимое качество объектного кода, был и остается Фортран, то именно ему и было отдано предпочтение. Около 95 % программ, составляющих САП Техтран, написано на Фортране, остальные − на Ассемблере. В настоящее время синхронные версии системы эксплуатируются на ЭВМ типа ЕС с операционной системой ОС ЕС и СМ с операционной системой ОС РВ. Процессор осуществляет ввод и трансляцию исходной программы на входном языке системы, выполняет заданные геометрические построения и рассчитывает траекторию движения центра инструмента. Результаты расчета выводятся в файл CLDATA. Структура процессора системы Техтран приведена на рис. 1.3. Процессор организован в виде трех последовательно выполняемых модулей: компилятора, интерпретатора и интерполятора. Каждый модуль может рассматриваться как законченная программа. Обмен данными между модулями производится только через промежуточные файлы на диске.Компилятор вводит программу на Техтране, предварительно записанную на диск, и выполняет ее синтаксический контроль. На этапе компиляции проверяется, правильно ли заданы имена и служебные слова в программе, соблюдены ли требуемые форматы. Если часть текста оформлена в виде отдельного файла, то компилятор вставляет этот текст в исходную программу. Макросредства дают программисту возможность описывать типовые элементы в параметрическом виде и хранить их на магнитном диске. В процессе макрогенерации компилятор выполняет вставку тела макроса в исходную программу и заменяет формальные параметры фактическими значениями. Если обнаружена ошибка, то компилятор отмечает ее место в строке и печатает диагностическое сообщение. Затем он переходит к следующему оператору, чтобы за один прогон выявить максимальное число ошибок. Файл синтаксических
таблиц содержит описание форматов операторов Техтрана и служит для управления работой компилятора. Тексты сообщений об ошибках также хранятся на магнитном диске. Компилятор формирует на диске рабочую программу интерпретатора, в которой арифметические выражения преобразованы в польскую инверсную запись, геометрические определения преобразованы во внутренний формат и заданные в них модификаторы упорядочены. В процессе макрогенерации используется рабочий файл на диске.
Интерпретатор производит расчет канонических форм геометрических объектов. Другой функцией интерпретатора является вычисление значений арифметических и логических выражений и стандартных функций. Если в программе были использованы операторы цикла и операторы передачи управления, то интерпретатор выполняет эти операторы и тем самым приводит исходную программу к линейной. Рабочая программа интерполятора, формируемая интерпретатором, будет содержать только таблицу геометрических объектов, операторы движения и операторы постпроцессора. Интерпретатор может выполнять трассировку, т. е. распечатывать значения переменных и переходов в программе. Если в исходной программе были определены контуры, то их описания во внутреннем формате выводятся в специальный файл. При обнаружении ошибки в программе интерпретатор печатает диагностическое сообщение и продолжает обработку до заданного числа ошибок.
Интерполятор обрабатывает операторы движения и рассчитывает эквидистантную траекторию с учетом диаметра рабочего инструмента. Если интерполятор обнаруживает ошибку, то он выдает диагностическое сообщение и продолжает обработку от следующего оператора поточечного движения до заданного числа ошибок. В процессе вычислений интерполятор использует рабочую программу и файл контуров, подготовленные интерпретатором, а также файл сообщений об ошибках. Операторы постпроцессора не обрабатываются и передаются в выходной файл. Выходные данные интерполятора формируются в стандартном формате CLDATA.
Процессор рассчитан на обработку группы исходных программ за один проход. Каждый модуль процессора за один вызов обрабатывает всю группу. Программы, в которых на стадии компиляции или интерпретации обнаружены ошибки, удаляются из соответствующего выходного файла и не поступают на дальнейшую обработку. Программы с ошибками в операторах движения выводятся в файл CLDATA, но место ошибки отмечается специальной записью.
Постпроцессоры выполняют следующие функции: чтение файла CLDATA, подготовленного процессором, и синтаксический контроль операторов постпроцессора; перевод геометрических данных в систему координат станка; проверку длины перемещений, допустимости подач и оборотов; расчет кодов подач, кодов оборотов шпинделя, коррекции; учет динамических характеристик оборудования; формирование и вывод на печать и перфоленту управляющей программы и другие функции. - САП Техтран оснащена рядом постпроцессоров, каждый из которых формирует управляющие программы для определенной системы управления. Настройка постпроцессора на конкретную модель станка производится с помощью паспорта. Структура постпроцессора приведена на рис К 4.
Постпроцессоры построены по двухпроходной схеме. Программа первого прохода РР1 читает записи CLDATA, сглаживает траекторию, проверяет, принадлежат ли перемещения рабочей зоне станка, рассчитывает вектор коррекции и формирует в рабочем файле 1 исходные данные для второго прохода. Программа второго прохода Рсс1 выполняет синтаксический контроль операторов постпроцессора, учитывает динамические особенности оборудования, формирует на диске образ управляющей программы и другие рабочие файлы, распечатывает управляющую программу и инструкцию оператору станка. Постпроцессор формирует три рабочих файла, каждый из которых обрабатывается специальной программой:рабочий файл 2 содержит коды сообщений об ошибках; он обрабатывается программой РРЗ, которая печатает таблицу сообщений об ошибках и таблицу недопустимых для данного станка операторов; рабочий файл 3 содержит таблицу инструментов; он обрабатывается программой РР5, которая печатает таблицу инструмента и таблицу времени работы каждого инструмента; рабочий файл 4 содержит управляющую программу во внутреннем формате (во внутреннем коде ЭВМ); он обрабатывается программой РР4, которая выполняет перекодировку в код системы ЧПУ и перфорирует ее.
Пользователям САП Техтран предоставлена возможность заполнять паспорта для имеющегося у них оборудования с ЧПУ при условии, что в составе библиотеки постпроцессоров имеется модуль для требуемой системы управления.
Для работы с паспортами предназначена подсистема Вопросник, состоящая из четырех программ. Структура Вопросника показана на рис. 1.5. Паспорт состоит из двух частей − характеристик оборудования и таблиц. Каждая часть паспорта обрабатывается двумя программами: одна предназначена для записи паспорта (TQ08 и TQ10), другая − для его распечатки (TQ07 и TQ09). Вопросник читает исходный текст паспорта и проверяет форматы и значения данных. После перекодировки паспорт в двоичном формате записывается в файл паспортов, который используется при прогоне постпроцессоров.
Графический контроль в САП Техтран решен с помощью постпроцессоров, которые либо формируют перфоленту для графопостроителей, работающих в автономном режиме, либо непосредственно выводят на экран или бумагу траекторию перемещения центра режущего инструмента.
Технологический процессор является расширением геометрического процессора Техтран в части программирования технологических переходов, а входной язык технологического процессора − расширением базового языка, который дополняется технологическими операторами. Выделение геометрического процессора в автономный модуль позволило определить пути такого расширения системы Техтран, при котором ядро остается неизменным. Расширение функций системы осуществляется включением технологических процессоров специального назначения. Положение технологического процессора в системе Техтран показано на рис. 1.6.
Процессор формирует файл CLDATA1, в котором содержатся геометрические и технологические данные. Технологические операторы обрабатываются процессором так же, как и операторы постпроцессора: процессор заменяет служебные слова их внутренними кодами и вычисляет арифметические выражения. Расширенный файл CLDATA1 обрабатывается технологическим процессором, на выходе которого формируется файл CLDATA2, содержащий траекторию движения инструмента и операторы постпроцессора.
Принцип расширения функций системы Техтран реализован в системе Техтран-Т − технологическом процессоре для программирования токарных переходов.