Содержание материала

12 7. ОБЩЕЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ УВМ.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ФУНКЦИОНИРОВАНИЯ
Под программным обеспечением (ПО) УВМ понимается совокупность программ, обеспечивающая выполнение всех информационных, управляющих и вспомогательных функций УВМ. Общие принципы составления программ одинаковы для всех цифровых ЭВМ, однако УВМ имеют ряд особенностей, предъявляющих специфические требования к их ПО:

  1. задачи контроля и управления <в УВМ должны решаться в реальном масштабе времени, т. е каждая задача должна решаться в строго определенные моменты и за ограниченный интервал времени, причем задержка между поступлением требования на решения задачи и ее выполнением не должна снижать техникоэкономические характеристики процесса управления,
  2. задачи УВМ должны решаться многократно в течение длительного промежутка времени, что требует обеспечения стабильности программ; кроме того, экономически целесообразно проводить оптимизацию времени решения и занимаемой памяти, затрачивая на эту оптимизацию значительное время и средства,
  3. необходимо обеспечить правильную и надежную взаимосвязь (обмен данными, порядок прохождения) между задачами;
  4. необходимо обеспечить обмен информацией с большим числом внешних устройств (УСО, УВВ, устройствами связи с оператором);
  5. необходимо осуществить автоматический ввод резерва и автоматический перезапуск программ (рестарт) при сбоях в системе.

Современное ПО УВМ включает в себя десятки и сотни тысяч команд, и их разработка требует значительного времени и средств. Стоимость ПО головных УВК в 2— 3 раза может превосходить стоимость технических средств. Поэтому важной задачей является унификация ПО различных УВК, благодаря чему стоимость ПО одной системы существенно снижается. В первых информационных и управляющих ВК все ПО (обычно включавшее не более 10 тыс. команд) писалось в кодах машины применительно к данному конкретному объекту. По мере развития УВМ в них используется все большее число стандартных программ и программных модулей, а также применяются методы автоматизации программирования.
Программное обеспечение принято подразделять на общее и специальное. Общее программное обеспечение представляет собой совокупность программ, предназначенных для автоматизации подготовки программ, организации и контроля вычислительного процесса в УВК. Общее ПО разрабатывается и поставляется совместно с комплексом технических средств заводами-изготовителями. Специальное программное обеспечение предназначено для нужд конкретной АСУ ТП или ряда близких по характеру АСУ ТП и создается разработчиками АСУ ТП. Опыт разработки специального ПО показал, что его целесообразно делить на две группы. ПО функционирования вычислительного комплекса и технологическое ПО. Выделение ПО функционирования связано с тем, что поставщик технических средств, очевидно, не может предусмотреть всех возможных конфигураций агрегатированных вычислительных комплексов, а также возлагаемых на них задач и разработать полное ПО. В то же время УВК одной и той же конфигурации и с близкими функциями могут быть применены для автоматизации ряда близких по технологии объектов, например блоков АЭС различной мощности. Многие программы, используемые в этих комплексах, будут совпадать или отличаться только конкретными списками опрашиваемых параметров, значениями констант и т. д. При разработке этих программ следует стремиться к тому, чтобы они легко могли быть перестроены применительно к нуждам конкретного ТОУ. Технологическое ПО непосредственно привязано к объекту и учитывает все его особенности. По мере увеличения числа однотипных АСУ ТП многие программы ПО        функционирования, пригодные для широкого класса ТОУ, включаются в общее ПО и поставляются вместе с техническими средствами.
Общее программное обеспечение. Общее ПО включает в себя загрузчики, трансляторы, стандартные подпрограммы, преобразователи, отладочные программы, драйверы, программы обнаружения и обработки неисправностей, супервизор реального времени.
Загрузчики предназначены для ввода через УВВ и размещения в ОЗУ машины программ, они подразделяются на абсолютные и перемещающие. Абсолютные загрузчики загружают программу в заданную группу ячеек ОЗУ, поэтому в программе должны быть заранее известны адреса всех данных, с которыми она будет оперировать.
На практике при составлении программы часто нельзя заранее сказать, какие именно области памяти будут выделены для нее. Кроме того, в процессе эксплуатации бывает необходимо изменить состав ПО, исключить или добавить некоторые программы. Поэтому большинство программ составляется в относительных адресах (перемещаемые программы). Загрузка таких программ производится перемещающим загрузчиком, который, исходя из имеющегося распределения памяти, отводит каждой программе определенные ячейки, одновременно присваивая всем относительным адресам их абсолютные значения.
В настоящее время практически все программы составляются не непосредственно в машинных командах, а на универсальных машинно- или проблемно-ориентированных языках Перевод программ, написанных на этих языках, в программы, записанные в машинных командах, осуществляется автоматически с помощью трансляторов Трансляция может проводиться как на машинах, используемых непосредственно в АСУ ТП, в свободное от решения основных задач время, так и на специальных ВК (например, в организациях, занимающихся разработкой АСУ) Технологические программы обычно составляются на языках высокого уровня (АЛГОЛ, ФОРТРАН), что облегчает их составление и отладку. Однако использование языков высокого уровня приводит к некоторому увеличению используемой программами памяти и времени их решения. Поэтому простые, часто повторяемые программы (в основном относящиеся к ПО функционирования) обычно составляются на машинноориентированных языках (мнемокоде).
Стандартные подпрограммы используются для выполнения часто встречающихся однотипных операций, таких как вычисление стандартных математических функций (sin, cos, In и т д), сложения и умножения вещественных чисел и т д В ЭВМ, имеющих вспомогательные ЗУ, многие из стандартных подпрограмм хранятся во вспомогательных ЗУ (микропрограммы).
Преобразователи (форматтеры) используются для преобразования данных при их переносе с одного носителя на другой или при переходе от одного формата к другому Примером таких программ могут служить преобразователи целых чисел в вещественные (и обратно, см § 12 4), двоичных чисел в десятичные и т д Как отмечалось в §12 4, часть информации хранится в УВК в специальных форматах, связанных с особенностями работы УСО Преобразователи этих форматов могут не входить в общее ПО, а разрабатываться в рамках специального ПО функционирования.
Отладочные программы применяются на стадии отладки отдельных программ и математического обеспечения в целом Они служат для контроля правильности составленных программ и внесения в них исправлений Отладочные программы по требованию оператора-программиста осуществляют распечатку содержимого заданных областей памяти или регистров, останавливают программу в контрольных точках по адресу команды или операнда. Для исправления программ существуют программы-редакторы, с помощью которых можно вставлять, заменять и удалять отдельные символы или целые записи в программе.
Драйверы управляют обменом информацией между ВК и внешними устройствами в их задачи в выходят выставление требований на прием и выдачу информации, проверка правильности передаваемой информации, а также согласование во времени работы процессора и внешних устройств. Последняя функция особенно важна в связи с тем, что внешние устройства, как правило, имеют быстродействие значительно меньшее, чем процессор, при этом каждая пересылка должна содержать относительно малый объем информации, ограниченный размерами буферного ЗУ внешнего устройства. Поэтому такие обмены целесообразно организовывать параллельно с решением процессором других задач. В этом случае драйвер должен следить за готовностью внешнего устройства и при получении сигнала готовности прерывать задачу и осуществлять пересылку необходимой информации, после чего восстанавливать прерванную задачу. Во многие драйверы входят блоки, осуществляющие повторную передачу сообщений от внешних устройств (или к устройствам) при обнаружении ошибки в сообщении (с помощью контроля по четности, см. §12 4). В случае применения в составе УВК внешних устройств, не поставляемых изготовителем вычислительной машины, их драйверы входят в состав специального ПО функционирования.
В УВК из-за тяжелых технологических последствий, к которым может привести неправильная выдача информации или управляющих воздействий, особое место занимают программы обнаружения и обработки неисправностей. Комплекс таких программ включает тест-программы, обнаруживающие неисправности отдельных устройств или группы устройств; программы обработки ошибок, в задачу которых входит принятие определенных мер при обнаружении отказов; диагностические программы, конкретизирующие неисправность, как правило, с точностью до сменного элемента, что облегчает быстрое восстановление работоспособности ВК. Принцип работы тестовых и диагностических программ заключается в сравнении действительной реакции системы с заранее известной (эталонной) реакцией При совпадении реакции с эталоном тест считается выполненным, в противном случае делается заключение о неисправности проверяемого оборудования. Простейшие тест-программы проводят ряд арифметических и логических действий с числами, записанными в ОЗУ, и сравнивают результат с эталоном, также хранящимся в ОЗУ. Другим примером является опрос значений эталонных аналоговых сигналов, подаваемых в коммутаторы и АЦП УСО (см §12.5), и сравнение их с данными, хранящимися в ОЗУ
Тест-программы подразделяются на программы периодического и эпизодического действия. Периодические программы запускаются через заданные интервалы времени, причем наиболее ответственное оборудование контролируется частотой основного цикла работы ВК (обычно 2 с). Тест-программы эпизодического действия запускаются операторами ЭВМ при наладке комплекса и во время профилактических работ. Диагностические программы запускаются автоматически или вручную в случаях, если тест-программами установлена неисправность. При обнаружении неисправностей устройств УВК, которые имеют резерв (ОЗУ, ВЗУ, каналы ввода информации), автоматически запускаются программы, включающие резервное оборудование. В случае, если информация о наиболее важных параметрах постоянно вводится по двум независимым каналам, программы обработки ошибок обеспечивают при неисправности одного канала использование информации, получаемой по исправному каналу.
При невозможности получения правильной информации программы обработки должны прекратить выполнение расчетов, базирующихся на данной информации, и блокировать ее выдачу оператору.
Для запуска программ в машине в реальном масштабе времени в состав общего программного обеспечения включается супервизор реального времени. В СМ-2 супервизор работает с абсолютным приоритетом задач. Это означает, что каждой задаче указывается интервал времени между двумя последовательными выполнениями, начальная задержка перед первым выполнением задачи (фаза t%) и степень важности задачи (приоритет). Таким образом, каждая задача должна запускаться в заданные моменты времени:

Супервизор постоянно сравнивает текущее значение астрономического времени, получаемое от таймера, с временами запуска t‘3 всех задач и запускает ту из них, время выполнения которой наступило. При этом, если наступает время tlз двух или более задач, супервизор запускает ту из них, которая имеет более высокий приоритет. В процессе выполнения задачи супервизор продолжает сравнивать t‘3 и и t и, если наступает время решения задачи с более высоким приоритетом, прерывает решение и запускает эту задачу, после выполнения которой продолжается решение прерванной задачи.
Кроме запуска программ по времени супервизоры предусматривают возможность запуска по требованию оператора, по прерыванию от МВвИС и по запросам от другой программы.
При выборе интервалов, фаз и приоритетов задач следует иметь в виду особенности обмена информацией между ними. Например, нецелесообразно устанавливать для задач выдачи информации на ЭЛИ интервал меньший, чем интервал опроса первичных приборов; с другой стороны, фаза этих задач должна быть такой, чтобы информация выдавалась на ЭЛИ непосредственно после опроса, что улучшает оперативность представления информации оператору.
Программное обеспечение функционирования. Как уже отмечалось, многие программы ПО функционирования аналогичны по назначению программам общего ПО. Кроме того, программы ПО функционирования выполняют и ряд других функций.
Специальные драйверы и преобразователи выполняют те же функции, что и в общем ПО в тех случаях, когда обслуживаемые ими устройства или получаемые от них (или требуемые для них) форматы данных не предусмотрены основным набором технических средств.
Программы диагностики ПО функционирования в основном относятся к проверке УСО и опираются на знания их конкретной конфигурации. Например, в случае получения информации от датчиков по двум независимым каналам может проводиться сравнение полученных кодов, что гарантирует проверку всего канала, исключая сам датчик. Если на объекте для измерения одного ответственного параметра имеются два независимых датчика, такое сравнение обеспечивает и проверку датчиков. Проверка устройств вывода управляющих воздействий может проводиться путем периодической подачи сигнала на один из контактов КРС (см. § 12.5) и опроса его состояния, сравнения реального положения регулирующих и запорных органов с заданным и т. п.
Описанные в § 12.6 бланки печати параметров и формы выдачи информации на ЭЛИ не зависят от технологических особенностей объекта. Поэтому составляются универсальные программы подготовки данных для выдачи оператору. Например, программа выдачи мнемосхем на ЭЛИ по заданному ей списку параметров выбирает необходимые данные, присваивает определенный цвет, мигание и подготавливает буферный массив, пригодный для передачи (с помощью драйвера) в ЗУ ЭЛИ. Такая программа хранится в одном экземпляре. Для каждой мнемосхемы, кроме того, задаются списки параметров, которые необходимо вызвать, и указываются их адреса на экране ЭЛИ. Эти списки относятся к технологическому ПО и могут составляться специалистами в области технологии объекта, незнакомыми с особенностями программирования на ЭВМ.
Аналогично могут быть составлены универсальные программы печати стандартных бланков, картограмм и т. п. Изменения технологической схемы объекта, количества параметров на бланке, мнемосхеме или картограмме не требуют переработки этих универсальных программ (меняются только конкретные списки).
В универсальном виде также могут быть оформлены программы сигнализации отклонений параметров, программы автоматического регулирования и управления Привязка всех этих программ к конкретной технологии объекта также осуществляется заданием специальных списков. Например, для осуществления непосредственного цифрового автоматического регулирования такой список должен указывать для каждого регулирующего контура тип закона регулирования (из реализуемых универсальной программой), номер регулируемого параметра, номер выходного устройства, осуществляющего управляющее воздействие, и параметры настройки.