![](/user_photo/_userpic.png)
книги из ГПНТБ / Махров, Н. В. Параметры разработки современных автоматизированных систем управления предприятиями
.pdfченпых для непосредственного использования при внедре нии н эксплуатации системы.
Процесс создания АСУ — это постепенная формализа ция технологии управления и системы обработки данных. Формализация или, что то же самое, математизация на растает по мере проработки и рабочего проекта. Схематич но это можно представить в виде следующего последова тельного набора этапов: экономическая постановка задач; выбор алгоритма решения; программирование для ЭВМ.
Процесс формализации от экономической постановки задачи управления к выбору алгоритма и программиро вания выполняется тремя разными специалистами-проек- тировщиками: экономистом, или плановиком, или учетчи ком (технологом, конструктором или другим инженером), математиком и программистом. Это усложняет процесс формализации и удорожает работы.
С использованием же алгоритмического языка поста новщиком задачи управления для описания сущности ее и содержания отпадает необходимость во многих работах по математизации и программированию. При такой орга низации проектных работ обеспечивается существенная экономия ресурсов и средств. Следовательно, овладение знаниями алгоритмических языков — актуальная насущ ная задача современности.
Состав программ и алгоритмов в сильной степени свя зан с проектом АСУП о перечне решаемых в нем задач и используемой модели ЭВМ 10. Программно-математиче ское (или, как его чаще называют математическое) обе спечение (МО) АСУ можно разделить на две части: общее МО, которое в виде набора стандартных программ приобретается вместе с ЭВМ, и специальное МО, созда ваемое всякий раз заново на каждом объекте управле ния. Это последнее обстоятельство очень мешает типиза ции проектных работ и распространению уже имеющих ся программ в других АСУ, даже близких и похожих.
К общему математическому обеспечению относятся:
1)машинная программа-диспетчер;
2)библиотека стандартных программ для решения экономических, информационных и различных инженер
ных задач;
!о Последующая часть данного раздела подготовлена по материалам старшего научного сотрудника Эстонского отделения ЦЭМИ АН СССР Б. С. Куцыка.
91
3)алгоритмические языки (КОБОЛ, АЛГОЛ-60, АЛГЭК
идр.) с транслирующими программами;
4)тесты для наладки и технической эксплуатации
ЭВМ.
К специальному математическому обеспечению отно сятся:
1)набор алгоритмов и программ для решения задач учета, планирования и управления;
2)системная программа-диспетчер, решающая во
просы организации решения задач в масштабах неон си стемы;
3)проблемно-ориентированные и специальные языки;
4)набор транслирующих программ для них. К спе циальным языкам системного МО относятся такие языки, как язык описания документов, информационно-справоч ный язык, язык запросов (язык внешних обращений), язык ответов, операционный язык, язык обработки мас сивов, язык моделирования производства.
В автоматизированных системах управления необхо димо наличие транслирующих систем, с языка, ори ентированного на описание и решение экономических за дач (КОБОЛ, АЛГЭК и др.), на машинно-ориентиро
ванный язык для конкретно используемой в системе ЭВМ или с машинно-ориентированного языка на машинный язык применяемой машины, а также с машинно-ориен тированных языков других типов машин, для которых накоплен богатый набор стандартных алгоритмов, на ав токод конкретно применяемой машины. Комплекс про грамм добавляется к общему математическому обеспече нию, включается в операционную систему ЭВМ и обе спечивает функционирование системы.
Как уже ранее указывалось, эксплуатация современ ных ЭВМ невозможна без оснащения их большим комплектом специальных служебных программ, кото рые облегчают решение задач и повышают эффек тивность использования ЭВМ. Эти программы организуют весь процесс прохождения задач и фактически управля ют работой самих ЭВМ. Весь комплекс таких программ принято называть программным обеспечением 11 или, не совсем точно и больше по традиции,— математическим
11 А. Флорес. Программное обеспечение. М., изд-во «Мир», 1971.
92
обеспечением (МО) 12. Мы будем говорить в дальней шем о программно-математическом обеспечении АСУП.
На рис. 4.1 приводится один из вариантов структур ной схемы программно-математического обеспечения АСУ.
Рис. 4.1
Конкретное устройство, на котором хранится программа, называется резидентным. В качестве резидентных запо минающих устройств используются ленты, диски или маг нитный барабан. Набор всех программ, используемых на данной машине, обычно находится на резидентном устрой стве. Все вместе они составляют библиотеку программ. Библиотеки содержат прикладные программы, написанные либо пользователем, либо изготовителем машины для ре шения специальных задач, и системные программы. По следние делятся на управляющие программы, системные сервисные программы, трансляторы.
Управляющие программы предназначены для обработ ки прерываний, для выполнения операций ввода-вывода, переходов от выполнения к другим операциям, проведения загрузки начальной программы и присвоения символиче ских имен устройствам ввода-вывода.
Управляющие программы делятся на три основных класса: главный диспетчер, диспетчер заданий, суперви
12 С. С. Лавров. Математическое обеспечение ЭВМ.—«Наука и жизнь», 1971, № 1.
93
зор. Главный диспетчер осуществляет взаимодействии ЭВМ с объектом управления. Па рис. 4.2 представлены схемы соединения ЭВМ с объектом управления.
Рис. 4.2
Руководствуясь качественными различиями процессов обработки информации в АСУП, совокупность программ обслуживания объекта удобно разделить на программы, обслуживающие результатные (отчетно-учетные) подси стемы и плановые подсистемы13.
Диспетчер заданий лапнмается управлением потоком задач, распределением устройств ввода-вывода, пуском и прекращением выполнения отдельных заданий. Суперви зор отвечает за распределение массивов данных в памяти ЭВМ, установление последовательности решения задач и организацию работы устройства ввода-вывода.
Автоматизированная система управления производст вом, функционирующая в определенной степени без вме шательства человека, нуждается в строгой синхрониза ции и регулировании. Эти задачи реализуются с помо щью соответствующей управляющей программы, которая в данном случае заменяет программу управления зада ниями, составляемую электронной системе обработки данных.
13М. И . Крулькевич. Система математического обеспечения АСУ.— «Теоретические основы создания и внедрения АСУ». Донецк, изд-во Донецкого государственного университета, 1971.
94
По функциональному назначению программы програм много комплекса АСУП подразделяются на следующие группы.
1. Программы, реализующие процедуры работы с боль шими массивами данных:
а) программы первоначального ввода и формирования подходных массивов;
б) программы поиска данных в массивах при решении конкретных задач;
в) программы обновления массивов данных.
2.Разнообразные программы, обеспечивающие работу электронно-вычислительной системы в контуре управле ния реального объекта.
3.Программа, координирующая работу всей вычисли тельной системы.
Алгоритмы решения большинства задач простейшей обработки данных могут быть описаны набором стан дартных процедур, т. е. задачу можно представить в опе раторной записи.
Для устойчивого функционирования необходима орга низация комплекса мероприятий по текущему ведению и внесению изменений в массивы нормативно-справочных данных предприятия. Организации обновления (корректи ровка) массивов нормативно-справочных данных состоит в разработке системы процедур для обработки потоков изменений. К этой системе процедур относятся стандарт ные поисковые процедуры и типовые процедуры внесения изменений, обеспечивающие переписывание, исключение и сдвиги информационных массивов.
Включение ЭВМ в контур управления промышленным предприятием и необходимость решения многих задач в масштабе реального времени требует разработки отдель ной группы программ, выполняющих следующие функции:
обслуживание устройств приема-выдачи информации, передаваемой по линиям связи ЭВМ с объектом;
контроль достоверности информации на всех этапах обработки их в ЭВМ;
обеспечение решения внеочередных задач (програм мное прерывание). Такого рода программы дают возмож ность осуществлять прерывание программ на тех ЭВМ,
вкоторых это не предусмотрено конструктивно.
Таким образом, состав программ программно-матема
тического обеспечения АСУП является достаточно об-
95
ширпым, причем многие программы универсальны, что по зволяет рассматривать их как стандартные. Это дает воз можность централизовать управление всеми программами комплекса.
Программы-трансляторы предназначены для перевода символических обозначений кодов операций в комбина ции нулей и единиц, а также для замены символиче ских адресов истинными адресами.
Трансляторы могут быть с машинно-ориентированно го языка. Они являются составной частью всякой систе мы математического обеспечения. Кроме указанных транс ляторов сейчас почти во всех системах математическо го обеспечения имеются трансляторы с проблемно-ори ентированных языков (АЛГОЛ, КОБОЛ, ПЛ-1 и т. д.).
Проблемно-ориентированные языки предназначены для автоматизации процесса программирования. Применение того или иного вида языка зависит от характера ре шаемой задачи.
В принципе любой алгоритм задачи может быть опи сан в терминах элементарных операций или в виде про граммы для ЭВМ. И если бы программы, применяемые при решении задач, были таким описанием, то вопрос о составлении программы сводился бы к «переводу» алго ритма на «язык» команд или элементарных операций ма шины. Однако такой перевод требует расширения объе ма описания алгоритма, так как необходимо учитывать распределение и объем памяти ЭВМ для числового ма териала и программы, а также для решения остальных задач, число которых в АСУ может измеряться сотнями.
Известно, что скорость ручного способа программиро вания составляет в среднем около пяти команд в час.
Она существенно зависит от квалификации программиста, сложности решаемой задачи, объема информации, тех нической характеристики ЭВМ и других причин. Напри мер, на автозаводе им. Лихачева программа по учету заработной платы создавалась примерно семь месяцев. Насчитывала программа 8 тыс. команд. Отсюда следует, что подготовка программ для такого большого объема за дач, который имеется в АСУ, весьма трудоемка и, есте
ственно, требует быстрого повышения производительно сти труда программистов.
Накопленный опыт за рубежом и в нашей стране свидетельствует о том, что применение различных спе-
90
циалытътх алгоритмических языков и техники автомати ческого программирования позволяет довести производи тельность труда по программированию до 250 команд в час и при этом процесс программирования может осуще
ствляться |
не обязательно |
математиками-программиста- |
ми, а любым инженером или техником. |
||
Для автоматизации труда |
программистов разработан |
|
ряд новых |
методов описания алгоритма решения задач, |
позволяющих быстро it экономно записывать операторы и действия над ними для построения машинной програм мы, непосредственно готовой! для реализации. Такое на правленное преобразование записи алгоритма осуществля ется обычно по специально разработанной программе, на зываемой транслятором или программирующей програм мой.
Входной информацией для транслятора является за пись алгоритма решения задачи на алгоритмическом язы ке. Уровень применяемого алгоритмического языка обыч но соответствует способу автоматизации процесса про граммирования. Таких уровней известно пять.
Пулъ-уровенъ — обычный ручной способ программиро вания в языках конкретных машин.
Первый уровень — программирование в символических адресах, когда вместо кодов операций записываются их символические обозначения, а вместо цифровых адре сов— буквенные обозначения. Структура команд машины сохраняется.
Второй уровень — использование автокодов, в которых алгебраические выражения и формулы алгебры записы ваются в обычном языке.
Третий уровень — языки типа АЛГОЛ, ФОРТРАН, КОБОЛ и т. д. Всего в настоящее время известно не сколько сотен языков этого уровня. Наиболее важными из них являются языки, предназначенные для описания экономико-математических моделей, решения инженерно экономических задач и обработки научно-технической ин формации.
Четвертый уровень — модульное или блочное програм мирование. Это самый прогрессивный и наиболее эффек тивный способ автоматизации программирования.
В наибольшей мере сейчас используется первый уро вень алгоритмического языка и программирования. Далее следует третий уровень, затем второй. И в наименьшей
А |
Н. В. Махров |
97 |
|
|
мере применяется четвертый уровень, т. е. блочное программирование.
Преобладающими на третьем уровне в настоящее вре мя являются проблемно-ориентированные языки програм мирования. Их развитие все в большей степени опреде ляется спецификой решаемых задач. В зависимости от класса решаемых задач эти языки можно подразделить на следующие группы:
Область применения |
|
Алгоритмические языки |
|
Обработка экономической |
ин |
КОБОЛ, АЛГЕК, АЛГЭМ, |
|
формации |
|
|
РАГШДРАЙТ |
Научно-технические расчеты |
ФОРТРАН, АЛГОЛ-60, |
||
Моделирование |
сложных |
си |
АЛЬФА |
СИМУЛА-67, SIMSCRIPT, |
|||
стем и процессов |
|
|
GPSS |
Нечисловая обработка инфор |
LISP, COMIT, НЛ-V, |
||
мации (информационный поиск, |
SLIP, SNOBOL |
||
машинный перевод и т.д.) |
|
АЛГОЛ-67, PL/1 |
|
Универсальные |
языки |
про |
|
граммирования |
|
|
|
КОБОЛ сейчас единственный широко распростра ненный язык высокого уровня для программирования экономических задач.
Создание этого языка преследовало три цели: облег чить процесс перепрограммирования (преобразования про граммы) при переносе программ с одного типа вычисли тельных машин на другой; облегчить внесение в програм му мелких изменений (возможность модификации про граммы) и уменьшить затраты времени, необходимые на написание и отладку новых программ.
В КОБОЛе основной единицей ввода-вывода являет ся массив (файл) данных. Каждый файл состоит из за писей. Один и тот же массив используется в различных программах в зависимости от характера решаемых эконо мических задач. Описание файлов очень строгое и не до пускает изменений. В нашей стране для разработки язы ка, приспособленного для алгоритмизации экономических расчетов, в 1963 г. была создана специальная комиссия, которая па базе АЛГОЛ-60 разработала алгоритмический язык АЛГЭК.
Этот язык характеризуется следующими особенностя ми: введением текстовых переменных и операции мани пулирования над ними; аппаратом описания сложных по
98
структуре информационных процессов; наличием многопараметрических выражении и способов обращения к от дельным значениям параметров. В ЛЛГЭКе предусмотре но и реализовано в виде указателей подмассивов опери рование сразу всей совокупностью данных, что весьма необходимо в условиях экономической информации, где преобладают массивы и потому нужен удобный аппарат оперирования ими. Наконец, АЛГЭК предлагает набор стандартных процедур ввода и вывода. Это позволяет легко обращаться к тем пли иным дробш.щ частям мас сивов информации, излагая при этом в компактной фор ме алгоритмы при обработке данпых таблиц, массовых документов и т. и.
Для программирования экономических задач в нашей стране разработан также язык АЛГЭМ, а в Англии — РАПИДРАЙТ. Последний создан на базе КОБОЛа, в ко тором опущены некоторые сложные второстепенные кон струкции.
Наибольшей известностью пользуется разработанный в США язык ФОРТРАН. Слово «фортран» образовано из начальных слогов двух английских слов, переводи мых дословно как «переводчик формул». Если попытать
ся дать определение термина «фортран», |
то окажется, |
что с ним связаны: |
|
1) определенный язык, опубликованный |
впервые в |
1956 г. и находящийся на стыке английского языка и математики, а также любой диалект этого языка;
2)программа, называемая исходной программой ре шения любой задачи, которая написана на языке ФОРТРАН;
3)программа на машинном языке, называемая ком пилятором, по отношению к которой входными данными
является исходная, программа па ФОРТРАНе, а выход ными — эквивалентная программа на машинном языке;
4)программа на машинном языке, полученная после обработки исходной программы компилятором ФОРТРАНа
иназываемая объектно-программной;
5)специальные бланки (или формы), специальные карты и т. и., употребляемые при подготовке программ
на ФОРТРАНе ,4.41
14Я Джермейн. Программирование на IBM-360. М., изд-во «Мир»
1971.
4* 99
ФОРТРАН долгое время удерживает первое место в мире по распространенности, особенно в западных стра нах. Среди причин такого долголетия можно отметить простую структуру как самого ФОРТРАПа, так и пред назначенных для него трансляторов. С их помощью полу чаются объектные программы хорошего качества, лишь ненамного уступающие программам, составленным для решения таких же задач вручную программистами сред ней квалификации.
Существуют десятки типов систем программирования, предназначенных для моделирования. Среди них имеется много специализированных, а также несколько универ сальных систем.
К специализированным языкам моделирования можно
отнести языки GPSS и |
SIMSCRIPT, к универсаль |
ным — язык СИМУЛА-67. |
Язык СИМУЛА-67 представ |
ляет собой обобщение вариантов языка АЛГОЛ-60, допол ненного операторами, описывающими широкий класс ал
горитмов принятия решения 15. |
|
характеристики |
|||
Приведем сравнительные временные |
|||||
языков (табл. 4.4). |
|
|
|
|
|
Т а б л и ц а 4.4. Сравнительные временные характеристики |
язы |
||||
ков (сек.) |
|
|
|
|
|
Временная характеристика языков |
Алгоритмические языки |
||||
СОМ1Т |
IPL |
i.lSBS |
LIP |
||
|
|||||
Компиляция или интерпретация |
15 |
10 |
8 |
20 |
|
Трансляция |
20 |
9 |
5 |
22,6 |
|
Вывод на печать |
— |
60 |
10 |
— |
В табл. 4.5 приводится сравнительная характеристика алгоритмических языков для нечисловой (неарифметиче ской) обработки информации.
В течение относительно короткого периода примене ния ЭВМ для обработки данных одни из них использо вались для экономических, другие — для научных расче тов. Высокоразвитые языки программирования лишь уси ливали это расхождение, развиваясь в направлении
15 У.Дал, Б. Мюрхауг, И. Нюгорд. Симула-67. Универсальный язык программирования. М., изд-во «Мир», 1969.
100