- •Часть 1
- •Глава 1
- •1.1. Общие сведения
- •1.2. Расчет настроек регуляторов в одноконтурных аср
- •1.3. Расчет настроек регуляторов в многоконтурных аср
- •1.3.1. Комбинированные аср
- •1.3.2. Каскадные аср
- •1.3.3. Аср с дополнительным импульсом по производной из промежуточной точки
- •1.3.4. Взаимосвязанные системы регулирования
- •1.4. Системы регулирования объектов с запаздыванием и нестационарных объектов
- •1.4.1. Регулирование объектов с запаздыванием
- •1.4.2. Регулирование нестационарных объектов
- •1.5. Предварительный выбор структуры
- •1.6. Оптимальная фильтрация и прогнозирование случайных процессов. Оптимальное оценивание состояния объекта
- •Глава 2
- •2.1. Последовательность выбора системы автоматизации*
- •2.2. Регулирование основных технологических параметров
- •2.3. Регулирование процессов в химических реакторах
- •2.3.2. Регулирование реакторов с перемешивающим устройством
- •2.3.3. Особенности регулирования трубчатых реакторов
- •Часть 2
- •Глава 3
- •Глава 4
- •4.1. Типовые задачи вычисления неизмеряемых величин и обобщенных показателей
- •4.2. Вычисление интегральных и усредненных значений измеряемых величин
- •4.3. Учет и компенсация динамических связей между измеряемыми величинами
- •4.4. Вычисление неизмеряемых величин по уравнениям регрессии (косвенные измерения)
- •4.5. Автоматическая расшифровка хроматограмм
- •4.6. Прогнозирование показателей процесса
- •Глава 5
- •5.1. Формирование критериев оптимальности
- •5.2. Типовые постановки задач оптимального управления технологическими процессами
- •5.3. Декомпозиция и агрегирование оптимизационных задач
- •5.4. Управление технологическими процессами с параллельной структурой
- •5.5. Оптимальное управление системами с последовательной структурой и с рециклами
- •5.6. Способы упрощения решения задач оптимального управления технологическими процессами
- •5.7. Оптимальное управление периодическими процессами
- •5.8. Уточнение модели управляемого объекта по данным текущих измерений
- •Часть 8
- •Глава 6 техническое обеспечение систем управления
- •6.1. Управляющий вычислительный комплекс
- •6.2. Устройства связи с объектом
- •6.3. Устройства связи с оперативным персоналом
- •6.4. Архитектура управляющих вычислительных комплексов
- •6.5. Системы непосредственного цифрового управления
- •Глава 7
- •7.1. Основные понятия
- •7.2. Специальное программное обеспечение асутп
- •7.3. Разработка функционально алгоритмической структуры асутп*
- •8.1. Асутп микробиологического синтеза лизина ' в биореакторах периодического действия
Глава 7
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СИСТЕМ УПРАВЛЕНИЯ*
7.1. Основные понятия
Поступающую в ЭВМ информацию, которую необходимо обработать, и результаты этой обработки в программировании называют данными. Полные, подробные и однозначные предписания по обработке этих данных называют программами.
Программным обеспечением (ПО) называют совокупность программ, обеспечивающую реализацию функций АСУТП; написание, подготовку и отладку программ; контроль работы ЭВМ.
Ввиду больших объемов и значительной сложности разработка ПО современных ЭВМ требует длительного времени, больших затрат труда и материальных ресурсов. В ряде случаев стоимость ПО может быть больше стоимости ЭВМ.
ПО можно разделить на три части: общее, специальное и тестовое.
Общее ПО, называемое также внутренним или стандартным, включает программы, организующие вычислительный процесс; языки программирования, программы подготовки и отладки; библиотеки программ для реализации многократно встречающихся операций. Общее ПО обычно разрабатывается и поставляется изготовителем ЭВМ. Оно является основой разработки и функционирования специального ПО.
В составе общего ПО могут быть выделены четыре группы программ: 1) организации и управления вычислительным процессом, называемые операционными системами (ОС)**; 2) трансляции с различных языков программирования; 3) подготовки и отладки (сюда входят редакторы, отладчики, средства документирования, загрузчики и компоновщики); 4) реализа ции многократно встречающихся вычислительных и управляющих алгоритмов (вычисление логарифма, генерация случайных чисел, обработка статистической информации и т. п.).
Специальное ПО, называемое также внешним, включает программы, используемые при различных конкретных применениях ЭВМ. Эти программы обычно разрабатываются пользователями ЭВМ.
Тестовое ПО предназначено для контроля и диагностики функционирования отдельных узлов и ЭВМ в целом. Его используют при наладке ЭВМ, поиске и устранении неисправностей. Тестовое ПО разрабатывается и поставляется изготовителем ЭВМ.
Операционные системы предназначены для организации и управления вычислительным процессом. Они представляют собой набор программ, используемых для управления последовательностью выполнения задач процессором, оперативной памятью, внешними устройствами и внешней памятью. Иногда ОС называют управляющей программой, монитором или супервизором.
Необходимость в ОС при применении ЭВМ в составе АСУТП обусловлена двумя основными факторами: 1) эффективным использованием вычислительных ресурсов УВК, в частности времени и памяти процессора, внешних устройств и внешней памяти; 2) скоростью реакции на события, происходящие в технологическом объекте.
Рис. 7.1. Временная диаграмма работы УВК:
а - однопрограммный режим; б - мультипрограммный режим; ПР — процессор; ОЗУ-
оперативное запоминающее устройство; ПУ — периферийные устройства.
Рис. 7.2. Основные компоненты операционной системы (ОС)
Первая задача — эффективного использования вычислительных ресурсов — важна и для универсальных ЭВМ и связана с оптимизацией времени исполнения программ и автоматическим распределением времени устройств ЭВМ между задачами, что позволяет существенно ускорить их решение и увеличить производительность ЭВМ.
Специфичной для УВК в АСУТП является вторая задача ОС, связанная с необходимостью своевременной реакции ЭВМ на события в объекте. Решая эту задачу, ОС обеспечивает работу УВК в реальном масштабе времени.
Операционная система в АСУТП обеспечивает подготовку и выполнение программ специального ПО в мультипрограммном режиме, который заключается в обязательном совмещении во времени работы различных блоков УВК. Особенностью мультипрограммного режима является также то, что для запуска или продолжения любой из программ не требуется окончания программ, ранее участвующих в работе. Временная диаграмма работы УВК в однопрограммном и мультипрограммном режиме показана на рис. 7.1. В первом случае выполнение каждой последующей программы начинается только после завершения предыдущей. Во втором случае все программы реализуются как бы одновременно: А еще не закончена, а уже начинает выполняться В; затем, когда не завершены программы А и В (они находятся в ожидании вывода на периферийные устройства), начинает выполняться программа С. Таким образом, удается существенно сократить общую продолжительность выполнения программ.
Структура современной ОС приведена на рис. 7.2. Она включает следующие компоненты: ядро ОС; супервизор задач; управление памятью; супервизор ввода — вывода; службу времени; систему управления внешней памятью .(файлами).
Ядро ОС выполняет обработку прерываний, запоминание и восстановление регистров при прерываниях, реакцию на сбои и отказы процессоров и оперативной памяти и пр.
Основными функциями супервизора задач являются: контроль за состоянием процессоров и задач и предоставление про цессоров задачам для выполнения в соответствии с их приоритетами*. Кроме того, супервизор обеспечивает прерывание (приостанов) задачи и освобождение процессора, если она переводится в состояние ожидания (например, для выполнения операций ввода — вывода или если процессор необходим задаче более высокого приоритета), и прекращение выполнения закончившейся задачи.
При управлении памятью выполняются следующие функции: занятие (освобождение) оперативной памяти; определение задачи, которая должна получить память для выполнения в соответствии с приоритетом; выделение необходимой памяти задаче; освобождение памяти при исключении какой-либо задачи.
Супервизор ввода — вывода следит за состоянием внешних устройств и распределяет их по запросам задач; выполняет обмен данными с внешними устройствами по прерываниям; освобождает внешние устройства по завершении операций ввода — вывода; контролирует работу внешних устройств и диагностирует их неисправности.
В состав супервизора ввода — вывода входят программа-диспетчер и набор программ, непосредственно осуществляющих обмен с внешними устройствами, называемых драйверами.
Служба времени осуществляет отсчет текущего времени и даты по сигналам специального устройства, называемого таймером. Она также выполняет подготовку к запуску задач по времени.
Система управления внешней памятью, входящая в состав операционной системы, используется для работы с внешними запоминающими устройствами с прямым доступом, в качестве которых обычно применяют накопители на магнитных дисках. Поверхность дисков делится на логические элементы, называемые файлами и представляющие собой последовательность данных, рассматриваемую как единое целое. Основные функции системы управления внешней памятью — распределение поверхности диска для файлов; выделение внешней памяти для файлов; открытие файлов с учетом требований задач; обмен данными с файлами; закрытие файлов и освобождение дискового пространства при уничтожении файлов.
По методам использования процессоров и оперативной памяти современные операционные системы для мини- и микро-ЭВМ могут быть разделены на следующие группы: 1) с общим полем памяти; 2) с раздельной памятью; 3) многопроцессорные; 4) распределенные. В операционной системе с общим полем памяти задачи пользователя размещаются вместе с ее модулями. Такие операционные системы ввиду ограниченной разрядности мини- и микро-ЭВМ позволяют использовать оперативную память ограниченного размера (для 16-ти разрядных ЭВМ —не более 64К). Операционные системы с общим 'полем памяти используют для ЭВМ типа СМ-1, СМ-3 и многих микро-ЭВМ.
Операционные системы с разделенной памятью позволяют использовать ОЗУ большей емкости. При этом оно делится на участки, называемые иногда разделами. В операционных системах с разделенной памятью часто используют аппаратный механизм защиты памяти, не позволяющий задачам из одного раздела мешать выполнению задач в других разделах. Тем самым обеспечивается независимость задач каждого из разделов и появляется возможность отладки новых задач в составе работающей системы. Организация связи между задачами различных разделов осуществляется операционной системой.
Многопроцессорные операционные системы обеспечивают повышение производительности и живучести систем, в которых они используются. Повышение производительности достигается в результате того, что несколько задач пользователей могут выполняться одновременно различными процессорами. Большая живучесть многопроцессорных систем является результатом того, что отказ одного процессора не приводит к отказу всей системы, так как продолжают работать другие. Обычно число процессоров в мини-ЭВМ не больше двух.
Распределенные операционные системы используют для создания децентрализованных комплексов, включающих несколько мини- и микро-ЭВМ ![П].
При агрегатном принципе построения управляющих вычислительных комплексов для АСУ ТП требуется аналогичный принцип построения для операционных систем. Создание операционной системы, настроенной на используемую конфигурацию технических средств с учетом требований специального программного обеспечения, называют генерацией операционной системы.
В составе общего программного обеспечения обычно поставляется некоторый набор средств, используемых при генерации операционной системы.
Генерация операционных систем позволяет не только проводить настройку на конфигурацию технических средств и требования специального программного обеспечения, но также значительно снижает их избыточность по используемой памяти и потребляемому машинному времени.
Проектирование программного обеспечения и языки программирования. При разработке программного обеспечения АСУ ТП используют два подхода: «снизу вверх» и «сверху вниз». В первом случае сначала пишут и отлаживают программы и подпрограммы самого нижнего уровня, используемые для: простейших функций обработки данных. В дальнейшем эти программы и подпрограммы используют при написании и отладке программ следующего, более высокого уровня. Потом пишут и отлаживают программы следующего уровня. Процесс продолжается до тех пор, пока не будет написана и отлажена целиком требуемая задача.
При применении метода «сверху вниз» сначала определяют основные характеристики разрабатываемой программы, а потом постепенно уточняют и конкретизируют их. При этом разрабатываемая программа делится на модули, образующие иерархическую структуру. Сначала разрабатывают главный модуль, в процессе написания которого определяют требования к модулям нижележащего уровня. После этого разрабатывают модули второго, третьего и т. д. уровней — до тех пор, пока модули не будут исполнять простейшие функции обработки данных.
В обоих методах разработки программ' важно понятие подпрограммы— модуля, обладающего именем, которое позволяет любой программе вызвать его для выполнения некоторого действия или вычисления определенных величин.
На практике ни тот, ни другой метод разработки ПО в чистом виде не используют. Обычно сначала с помощью метода «сверху вниз» строят иерархию требований к программам и подпрограммам, а затем с использованием метода «снизу вверх» выполняют написание и отладку модулей в соответствии с этими требованиями.
Исходной программой называют программу в символьной форме, написанную на одном из языков программирования. Объектной программой называют ту же программу, преобразованную в единый используемый для данной операционной системы промежуточный формат, пригодный для дальнейшей обработки загрузчиком или компоновщиком. Результирующей программой (загрузочным модулем) называют программу в формате, пригодном для загрузки в память и исполнения на ЭВМ под управлением операционной системы.
Программу, используемую для преобразования исходной программы в объектный формат, называют транслятором. В том случае, когда исходная программа написана на языке высокого уровня, транслятор называют компилятором.
Языком самого низкого уровня, используемым для современных ЭВМ, является язык Ассемблера. Для него характерны следующие отличительные черты: программа переводится из исходной формы в объектную по принципу «один оператор языка — одна команда ЭВМ»; для обозначения команд ЭВМ используются их мнемонические обозначения; адреса в программе задаются символически.
Достоинством Ассемблера является то, что написанные на этом языке программы обладают максимальной гибкостью и позволяют использовать практически все возможности ЭВМ. Этим объясняется широкое применение языка Ассемблера в программировании, в частности для решения задач АСУТП. Недостаток языка Ассемблера состоит в сложности и трудоемкости написания программ.
Основным достоинством языков высокого уровня является возможность легкого и компактного описания решаемой задачи. Такая возможность осуществляется ввиду того, что один оператор языка высокого уровня соответствует большому числу команд ЭВМ. Перевод исходной программы на языке высокого уровня в объектный формат выполняется компилятором. Применение языков высокого уровня позволяет упростить и значительно ускорить разработку программ. Однако сложность перевода исходной программы в объектный формат приводит к тому, что получаемые при переводе программы требуют больше памяти и машинного времени, чем программы, написанные на языке Ассемблера. К наиболее распространенным языкам высокого уровня, используемым в АСУТП, относится Фортран. Особенно часто Фортран применяют при программировании задач для численных расчетов. Достоинства языка Фортран — его простота и большое число различных алгоритмов и программ, написанных на этом языке за время его использования.
Из новых языков высокого уровня наибольшее распространение получил Паскаль. В этом языке учитывается ряд новых методов программирования; он прост и логичен.
Язык высокого уровня АДА был разработан с целью замены возможно большего числа специализированных и универсальных языков программирования, используемых в настоящее время. Язык АДА обеспечивает широкие возможности для написания программ, в нем учтено большинство новых методов построения программного обеспечения. Однако применение языка АДА для разработки задач пользователя в АСУТП тормозится ввиду отсутствия компиляторов, написание которых для этого языка весьма сложно.
Средства подготовки программного обеспечения. Преобразование программ из объектной формы в результирующую, загрузка результирующей программы в память и инициализация ее исполнения осуществляются специальной программой, называемой загрузчиком. При формировании результирующей программы почти всегда необходимо соединить несколько программ и подпрограмм в объектной форме. При этом загрузчик должен распределить память таким образом, чтобы все программы и подпрограммы поместились в памяти и не накладывались друг на друга, кроме специально предусмотренных случаев (общая память).
Иногда используют программы, выполняющие только распределение памяти, связывание программ и настройку величин, зависящих от положения в памяти. Результатом работы этих программ является формирование результирующей про граммы в виде специального файла, называемого загрузочным модулем. Такие программы носят название компоновщиков. Для хранения загрузочных модулей обычно применяют накопители с прямым доступом. Загрузка и запуск на выполнение загрузочных модулей осуществляется средствами операционной системы.
Большое значение в составе общего программного обеспечения имеют библиотеки подпрограмм. Наличие библиотек различного назначения позволяет упростить и ускорить разработку программ пользователя. Обычно в состав библиотек входят подпрограммы для реализации наиболее часто встречающихся вычислительных и управляющих функций, численного анализа и статистики, сортировки — слияния файлов и др.
Для поиска и устранения ошибок в разрабатываемых задачах используют различные отладочные программы. Они позволяют вести отладку как в режиме непосредственного взаимодействия «человек — ЭВМ», так и в пакетном режиме. Отладочные программы можно использовать с программами на языке Ассемблера и на языках высокого уровня.
Для набора и редактирования исходных программ, а также для подготовки программной документации современные ЭВМ снабжают набором редактирующих программ различного назначения.
Программное обеспечение, обладающее очень большим объемом, немыслимо без полной и хорошо оформленной технологической документации. Поэтому в состав общего программного обеспечения включают специальные программы подготовки документации, позволяющие печатать текстовые документы с автоматическим выделением страниц, выполнять деление на абзацы, главы, пункты и подпункты, формировать и печатать разного рода таблицы и рисунки, автоматически формировать оглавление печатаемых документов.
Базы данных. Быстрый рост объемов хранимой и перерабатываемой с использованием ЭВМ информации, повышение требований к качеству этой информации, необходимость сокращения времени доступа к ней привели к созданию концепции базы данных.
Под базой данных понимают совокупность взаимосвязанных хранящихся вместе данных при наличии такой минимальной избыточности, которая допускает их использование оптимальным образом для одного или нескольких применений. При этом данные организуются таким образом, чтобы они были независимы от программ, их использующих. Для программ определяется способ взаимодействия с хранимыми данными. Допускается добавление новых, поиск и модификация существующих данных.
Создание баз данных является весьма дорогостоящим процессом. Обычно базу данных создают для некоторого определенного набора применений. Изменение базы данных требует переработки использующих ее программ и поэтому нежелательно. В связи с этим чрезвычайно важное свойство базы данных —• возможность наращивания применений без изменения способа взаимодействия программ с нею.
Огромные объемы информации, хранящиеся в современных базах данных, не позволяют хранить ее в оперативной памяти. Большая часть данных хранится во внешней памяти. Для хранения информации, содержащейся в базах данных, в первую очередь используют устройства с прямым доступом (накопители на магнитных дисках и картах). Для долговременного хранения данных применяют накопители на магнитных лентах.
Организация взаимодействия различных задач с базой данных осуществляется с помощью системы управления базой данных (СУБД). Входящие в нее программы выполняют поиск и модификацию хранимых данных, а также уничтожение ненужной информации и в случае необходимости — расширение базы данных.
Широкое распространение сетей ЭВМ привело к необходимости создания баз данных для этих сетей. Такие базы данных в силу их рассредоточенности называют распределенными [57].