Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СРС1_МЭ_САПР.doc.DOC
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
9.39 Mб
Скачать

Глава 5 Лингвистическое обеспечение

5.1. Классификация языков

Лингвистическое обеспечение САПР представляет совокупность языков, используемых в процессе разработки и эксплуатации САПР для обмена информацией между человеком и ЭВМ. Для задания алгоритмов решения задач вычислительного характера, ввода в ЭВМ исходных данных и получения от нее результатов решения потребовались специальные языки, называемые алгоритмическими языками.

Алгоритмический язык включает набор символов и систему правил образования и истолкования конструкций из этих символов для задания алгоритмов. Алгоритмический язык для записи программ и данных называют языком программирования. Однако при общении человека с ЭВМ приходится пользоваться и другими языками, например, информационно-поисковыми (для описания объектов), языками управления (для обеспечения работы периферийного оборудования и устройств) и др. Причиной множественности языков САПР является разнообразие форм представления информации, используемых человеком, а также разнообразие объектов проектирования.

Среди языков САПР можно выделить две основные группы: языки программирования и языки проектирования. Языки программирования предназначены для написания программного обеспечения САПР и включают известные алгоритмические языки. Языки проектирования представляют собой проблемно-ориентированные языки для описания информации об объектах и задачах проектирования и служат для обмена информацией об объектах и процессе проектирования между проектировщиком и ЭВМ. К языкам предъявляются требования удобства использования (минимальные затраты на освоение языка и написание программ), универсальности (возможность описания различных алгоритмов и объектов) и эффективности (снижение затрат машинного времени и памяти на использование написанных программ).

Классификация языков САПР приведена на рис.5.1.

Среди языков программирования различают машинные, машинно-ориентирован-ные, процедурно-ориентированные и проблемно-ориентированные.

Frame11

Машинный язык - это язык команд, на котором работает машина. Он наименее понятен для восприятия человеком и требует максимальных затрат времени программиста, но минимальных затрат машинного времени и памяти.

Машинно-ориентированные языки (МОЯ) - это языки символического кодирования, называемые мнемокодами или автокодами, в которых цифровые коды операций и адресов, используемые в машинных языках, заменены их мнемоническими изображениями. МОЯ позволяют повысить производительность труда программистов, обеспечивают универсальность и эффективность объектных программ и широко применяются для разработки модулей программного обеспечения. Примером МОЯ является Ассемблер.

Процедурно-ориентированные (или инструментальные) языки (ПОЯ) обеспечивают дальнейшее повышение производительности труда программистов и являются удобными для человека, отображая особенности того класса задач, для записи алгоритмов решения которых они предназначены. ПОЯ относятся к алгоритмическим языкам высокого уровня, недостатками которых можно считать меньшую по сравнению с МОЯ универсальность и пониженную эффективность объектных программ, полученных после трансляции с этих языков. Именно особенности используемых трансляторов определяют потери машинного времени, и программы на ПОЯ медленнее, чем составленные непосредственно на машинном языке. При этом значительно возрастают и затраты машинной памяти.

Проблемно-ориентированные языки соответствуют еще более высокому уровню развития языков программирования. Они предназначены для описания не алгоритма решения задачи, а самой задачи. Например, может быть разработан язык программирования задач проектирования зубчатых передач, задач механики твердого тела и др. Эти языки ориентированы на пользователя-непрограммиста и наиболее удобны для восприятия человеком.

Примером проблемно-ориентированных языков являются языки программирования роботов, состоящие из двух основных частей: общей и специальной.

Общая часть объединяет способы описания данных и операторы, аналогичные обычным языкам программирования. К ним относятся описание данных и их типов, арифметические и логические операции и выражения, операторы присваивания, управления программой, процедуры и функции.

Специальная часть включает средства для управления роботом, обеспечивающие программирование движения робота в декартовых и обобщенных координатах, задание режимов движения и управления схватом, проверку состояния датчиков, моделирование рабочей обстановки.

К таким языкам относятся WAVE, MINI, PLAW, AL, VAL, AML, TEACH и др.

Из обилия языков наибольшее распространение получили AL, PLAW, VAL.

AL - язык высокого уровня для описания манипуляционных задач, предназначенный для автоматизации процессов сборки при точном производстве.

PLAW - язык низкого уровня для программирования адаптивных роботов, разработанный с целью упрощения программирования сложных операций. В отличие от AL этот язык не требует больших вычислительных мощностей.

VAL - язык низкого уровня, один из наиболее распространенных в настоящее время, разработанный для семейства роботов PUMA и обеспечивающий выполнение широкого класса заданий. В состав языка входит набор инструкций, с помощью которых выполняются следующие операции:

- управление конфигурацией робота;

- управление движением манипулятора;

- управление захватом, открывание и закрывание схвата;

- арифметические действия над числами и над координатами точек позиционирования;

- управление прохождением программы и связь с внешними устройствами;

- сервис: дополнительные возможности по заданию режимов работы системы, вводу-выводу и т.п.

Примером проблемно-ориентированных языков являются также алгоритмические языки специального назначения для описания процессов обработки на оборудовании с ЧПУ: APT, MODAPT, FAPT, TURN/MILL, ТАУ-Т, макроязык пользователя и др. Эти языки представляют собой формульно-словесный способ описания процессов обработки, обеспечивающий весьма наглядную и понятную запись для широкого круга специалистов, знающих в объеме средней школы обычную математическую символику и способы геометрических построений.

Среди второй группы языков САПР (языков проектирования) выделяют входные, выходные, сопровождения, промежуточные и внутренние (см. рис.5.1).

Входные языки относятся к проблемно-ориентированным языкам, в которых в большей степени развиты элементы описания объектов, а элементы описания действий могут быть развиты слабее.

Входные языки включают языки описания объектов и языки описания заданий. Первые служат для описания свойств проектируемых объектов, а вторые - для описания заданий на выполнение проектных процедур и операций.

Языки описания объектов в свою очередь делятся на схемные (для описания электрических и функциональных схем), графические (для описания геометрических объектов) и языки моделирования (например, имитационного моделирования систем массового обслуживания: GPSS, CAMСКРИПТ, НЕДИС). В настоящее время имеет важное значение проблема унификации входных языков по классам проектируемых объектов.

Выходные языки используются для выражения результатов выполнения проектных процедур на ЭВМ.

Языки сопровождения предназначены для корректировки и редактирования данных при выполнении проектных процедур. В них могут присутствовать также элементы входного и выходного языков. Языки могут быть диалоговые и недиалоговые.

Промежуточные и внутренние языки необходимы для представления информации на определенных стадиях ее переработки в ЭВМ.

В отличие от входных языков, эти языки являются более унифицированными и универсальными, отражающими особенности широкого класса проектируемых объектов. На их базе строится двухуровневое лингвистическое обеспечение, программная структура которого изображена на рис.5.2.

Frame12

Пользователь составляет описание программы на узкоспециализированном входном языке, которое с помощью специальной программы, называемой конвертором, переводится на промежуточный язык. Далее работает основной транслятор, переводящий описание задачи с промежуточного языка в объектную рабочую программу.

Преимущество двухуровневого лингвистического обеспечения по данной схеме заключается в том, что программная система легко настраивается на новые подклассы объектов. Для включения в систему нового входного языка достаточно разработать для него конвертор на промежуточный язык, а наиболее сложная часть - языковый процессор - остается без изменений.

Объединение средств языков входного, выходного и сопровождения позволяет создавать диалоговые языки САПР. Для осуществления диалога необходимо создание диалоговых систем проектирования, включающих в себя диалоговый язык и комплекс программ для управления процессом проектирования. Диалоговый язык может быть активным и пассивным. В первом случае инициатива ведения диалога двусторонняя, во втором - инициатором диалога выступает система, а от пользователя требуются ответы “да”, “нет” либо выбор ответа из заданного “меню”.