
- •1.1. Роль вычислительной техники в управлении процессами
- •1.5. Руководство для читателя
- •Глава 8 посвящена архитектуре системных шин; наибольшее внимание уделено стандарту vme.
- •Процессы реального времени. Методы программирования. Задачи цифрового управления
- •2.1.1. Пример — пресс для пластика
- •2.1.2. Управление на основе последовательного программирования
- •2.1.3. Управление на основе прерываний
- •2.2. Примеры задач управления процессами
- •2.2.1. Управление последовательностью событий и бинарное управление
- •2.2.2. Простой контур управления — регулятор температуры
- •2.2.3. Генерация опорного значения
- •2.2.4. Системы, содержащие несколько контуров управления.
- •2.2.5. Взаимосвязанные системы
- •2.2.6. Критичные по времени процессы
- •2.2.7. Свойства процессов, усложняющие управление
- •2.3. Особенности систем цифрового управления
- •2.4.2 Модельный пример 2 – биологическая очистка сточных вод (процесс активированного отстоя)
- •2.5. Заключение
- •3. Описание и моделирование систем
- •3.1.2. Масштаб времени динамических моделей
- •3. 1.3. Моделирование динамических систем
- •3.1.4. Моделирование дискретных событий
- •3.2. Основы моделирования динамических систем
- •3.2.1. Механические системы
- •3.2.2. Электромагнитные цепи
- •Пример 3.4
- •7.4. Функциональные карты
- •7.4.1. Синтаксис функциональных карт
- •4 2. Реализация функциональных карт
- •7.4.3. Применение функциональных карт в промышленном управлении
- •7.5. Заключение
- •10.6. Методы программирования в реальном времени
- •10.6.1. Что такое программа реального времени?
- •10.6.2. Среда программирования
- •10.6.3. Структура программы реального времени
- •10.6.4. Обработка прерываний и исключений
- •10.6.5. Программирование операций ожидания
- •10.6.6. Внутренние подпрограммы операционной системы
- •10.6.7. Приоритеты процессов и производительность системы
- •10.7. Языки программирования и операционные системы реального времени
- •10.7.1. Требования к языкам и операционным системам реального времени
7.5. Заключение
Бинарное управление является основой многих автоматизированных систем. Оно основано на теории переключательных систем. Важное практическое следствие этой теории — с помощью нескольких универсальных логических элементов (NOR, NAND) можно реализовать все типы комбинационных сетей.
Существует два класса систем управления последовательностью — комбинационные и последовательностные сети. Комбинационные сети не имеют памяти, и выходное значение является логической функцией текущих входных значений. Последовательностные сети обладают памятью, поэтому есть возможность отложенного выполнениня шагов. Управление последовательностью исполнения может быть либо синхронным, либо асинхронным. В большинстве промышленных приложений система управления действует асинхронно, т. е. порядок исполнения управляется внешними событиями и условиями, а не периодическими сигналами таймера.
Логические элементы можно реализовать с помощью различных технологий — релейных компонентов, интегральных схем, программируемых логических матриц и программного обеспечения управляющей ЭВМ или программируемых логических контроллеров. ПЛМ и ПЛК приобретают все большее значение при реализации логических сетей либо управляющих последовательностей.
Описать последовательностную сеть можно с помощью схем логических элементов либо с помощью принципиальных схем. Однако эти методы не подходят для сложных схем управления, поэтому для их структурного описания необходимы более мощные инструменты. Хороший язык описания должен допускать иерархическое структурирование программы. В этой главе для демонстрации некоторых принципов последовательностного управления использовалось описание с помощью функциональных карт в соответствии со стандартом IEC 848.
10.6. Методы программирования в реальном времени
10.6.1. Что такое программа реального времени?
Программирование в реальном времени представляет собой раздел мультип граммирования, который посвящен не только разработке взаимосвязанных парад дельных процессов, но и временным характеристикам системы, взаимодействующие с внешним миром.
Между программами реального времени и обычными последовательными про граммами с четко определенными входом и выходом имеются существенные различия. Некоторые проблемы, возникающие при использовании строго последовательной программы для управления параллельными по природе процессами, были описаны в разделе 2.1.
Ниже перечислены отличия программ реального времени от последовательных программ.
Логика исполнения программы определяется внешними событиями.
Программа работает не только с данными, но и с сигналами, поступающими из внешнего мира, например, от датчиков.
Логика развития программы может явно зависеть от времени.
Жесткие временные ограничения. Невозможность вычислить результат за определенное время может оказаться такой же ошибкой, как и неверный результат ("правильный ответ, полученный поздно, — это неверный ответ").
Результат выполнения программы зависит от общего состояния системы, и его нельзя предсказать заранее.
Программа, как правило, работает в многозадачном режиме. Соответственно, необходимы процедуры синхронизации и обмена данными между процессами.
Исполнение программы не заканчивается по исчерпании входных данных — она всегда ждет поступления новых данных.
Важность фактора времени не следует понимать как требование высокой скорости исполнения программы, Скорость исполнения программы реального времени должны быть достаточной для того, чтобы в рамках установленных ограничении реагировать на входные данные и сигналы и вырабатывать соответствующие выходные величины. "Медленная" система реального времени может великолепно управлять медленным процессом. Поэтому скорость исполнения программ реального времени необходимо рассматривать относительно управляемого процесса или необходимой скорости. Типичные приложения автоматизации производственных процессов требуют гарантированное время ответа порядка 1 мс, а в отдельных случаях — порядка 0.1 мс. При программировании в реальном времени особенно важными является эффективность и время реакции программ. Соответственно, разработка программ тесно связана с параметрами операционной системы, а в распределенных системах - и локальной сети.
Особенности программирования в реальном времени требуют специальной техники и методов, не использующихся при последовательном программировании, которые относятся в основном к влиянию на исполнение программы внешней среды и временных параметров. Наиболее важными из них являются перехват прерываний, обработка исключительных (нештатных) ситуаций и непосредственное использование функций операционной системы (вызовы ядра из прикладной программы, милуя стандартные средства). Помимо этого при программировании в реальном времени используются методика мультипрограммирования и модель "клиент-сервер", поскольку отдельный процесс или поток обычно выполняют только некоторую самостоятельную часть всей задачи.