
- •Глава 1. Основные понятия интегрированной системы 14
- •Глава 2. Функции и структуры интегрированных систем 20
- •Глава 3. Взаимосвязь процессов проектирования, подготовки производства и управления производством 45
- •Глава 4. Математическое, методическое и организационное обеспечение, программно-технические средства для построения интегрированных систем проектирования и управления 73
- •Глава 5. Scada-системы, их функции и использование для проектирования автоматизированных систем управления, документирования, контроля и управления сложными производствами отрасли 217
- •Глава 6. Примеры применяемых в отрасли scada-систем 335
- •Глава 7. Пример проекта системы управления в trace mode 6 346
- •Список сокращений
- •Введение
- •Глава 5. Scada-системы, их функции и использование для проектирования автоматизированных систем управления, документирования, контроля и управления сложными производствами отрасли
- •Глава 6. Примеры применяемых в отрасли scada-систем
- •Глава 1. Основные понятия интегрированной системы
- •1.1 Управление производством на основе интегрированных систем проектирования и управления
- •1.1.1 Определение интегрированной системы проектирования и управления
- •1.1.2 Принципы построения современных интегрированных систем
- •Удобство использования
- •Наличие и качество технической поддержки
- •Оценка стоимости инструментальных систем
- •Открытость систем
- •Технологии орс
- •Аппаратная реализация связи с устройствами ввода-вывода
- •Технологии ActiveX
- •2.1.2 Жесткое реальное время для Windows nt
- •2.1.3 Интеграция многоуровневых систем автоматизации
- •2.1.4 Сравнительный анализ и тестирование scada-систем
- •2.1.5 Выводы
- •2.2 Этапы создания и функциональные характеристики систем управления
- •2.2.1 Этапы создания системы диспетчерского контроля и управления
- •2.2.2 Функциональные характеристики scada-систем
- •2.2.3 Функциональные возможности
- •2.2.4 Программно-аппаратные платформы scada-систем
- •2.2.5 Средства сетевой поддержки
- •2.2.6 Встроенные командные языки
- •2.2.7 Поддерживаемые базы данных
- •2.2.8 Графические возможности
- •2.2.9 Тренды и архивы в scada-системах
- •2.2.10 Алармы и события в scada-системах
- •Глава 3. Взаимосвязь процессов проектирования, подготовки производства и управления производством
- •3.1 Стандарты управления предприятием: mrp, mrp II, erp, csrp
- •3.2 Семейство стандартов на системы качества
- •3.2.2 Тезисное выражение требований iso-9000
- •3.2.3 Общие положения
- •3.2.4 Проблемы внедрения и развития систем качества
- •Разработка процедур
- •3.3 Модули для автоматизации финансово-экономических процессов производства: mes, eam, hrm
- •Необходимость внедрения mes
- •Обзор функций t-factory mes – модуля для управления производством в реальном времени
- •Обзор функций t-factory eam – модуля для управления основными фондами, техническим обслуживанием и ремонтами в реальном времени
- •Глава 4. Математическое, методическое и организационное обеспечение, программно-технические средства для построения интегрированных систем проектирования и управления
- •4.1 Нижний уровень интегрированных систем управления
- •4.1.1 Классификация устройств нижнего уровня
- •4.1.2 Концевой выключатель Концевой выключатель двухпозиционный квд-600
- •Автоматический концевой выключатель vb,vba
- •Концевой выключатель ку-701 у1
- •4.1.3 Интеллектуальный датчик
- •Коммуникационный протокол hart
- •Датчики давления серии «Метран-100»
- •4.1.4 Устройства hart-коммуникации
- •Hart-коммуникатор «Метран-650»
- •Hart-модем «Метран-681»
- •Конфигурационная программа h-master
- •Многопараметрический датчик 3095mv
- •4.1.5 Бесконтактный датчик
- •Датчики измерения уровня
- •Оптические датчики
- •Датчик контроля скорости
- •4.1.6 Исполнительные устройства Привода постоянного тока
- •Клапаны электромагнитные для автоматики подогревателей
- •Реле защиты трансформаторов
- •4.2 Основные технические характеристики контроллеров и программно-технических комплексов
- •4.2.1 Характеристика процессора
- •4.2.2 Характеристика каналов ввода-вывода контроллеров
- •4.2.3 Коммуникационные возможности контроллеров
- •4.2.4 Эксплуатационные характеристики
- •4.2.5 Программное обеспечение
- •4.3 Стандартные языки программирования контроллеров
- •4.3.1 Общие сведения по языкам программирования контроллеров
- •4.3.2 Инструментальные системы программирования контроллеров
- •4.3.3 Этапы программирования плк в среде Unity Pro xl V.4.0
- •4.3.4 Примеры программы на языках fbd, ld, sfc, st, il Описание условия задачи
- •Создание программы на языке fbd
- •4.4 Контроллер modicon m340
- •4.4.1 Общие сведения
- •4.4.2 Процессорные модули
- •Структура памяти
- •4.4.3 Модули питания
- •4.4.4 Модули дискретного ввода/вывода
- •4.4.5 Модули аналогового ввода/вывода
- •4.4.6 Счетные модули
- •4.4.7 Модули управления перемещением
- •4.4.8 Сеть Ethernet Modbus/tcp
- •4.4.9 Сетевые модули Ethernet Modbus/tcp
- •4.5 Частотный преобразователь altivar 31h
- •4.6 Протоколы, сети и шины
- •Описание
- •4.7 Общее описание операционных систем реального времени
- •4.7.1 Основные понятия
- •4.7.2 Требования, предъявляемые к операционным системам реального времени при проектировании
- •4.7.3 Особенности операционных систем реального времени Процессы, потоки, задачи
- •Планирование, приоритеты
- •4.7.4 Прерывания
- •4.7.5 Часы и таймеры
- •4.7.6 Стандарты осрв
- •Стандарты безопасности
- •4.7.7 Настраиваемость операционных систем
- •4.8 Характеристики наиболее распространенных операционных систем реального времени
- •4.8.6 Расширения реального времени для Windows nt
- •4.9 Базы данных реального времени
- •4.9.1 Введение
- •4.9.2 Поддержка целостности в классических субд
- •Пессимистический подход
- •Оптимистический подход
- •Сравнение подходов
- •4.9.3 Протоколы управления транзакциями в субд реального времени
- •Пессимистический подход
- •Оптимистический подход
- •Сравнение подходов
- •4.9.4 Системы с устаревшими данными
- •4.9.5 Корректность транзакций
- •4.9.6 Выбор периода для сенсорных транзакций
- •4.9.7 Выбор версии непрерывного объекта
- •4.9.8 Как бороться с перегрузкой системы из-за обилия сенсорных транзакций?
- •4.9.9 Когда обновлять выводимые объекты?
- •4.9.10 Как понизить количество анормальных завершений?
- •4.9.11 Диспетчеризация транзакций
- •4.9.12 Оптимизация под конкретную систему
- •Классификация пользовательских транзакций
- •Субд реального времени в оперативной памяти
- •4.9.13 Использование сложных моделей транзакций
- •Активные базы данных
- •Активные базы данных реального времени
- •4.9.14 Атрибуты транзакции
- •4.9.15 Приоритет «непосредственной» транзакции
- •4.9.16 Приоритет «отложенной» транзакции
- •4.9.17 Заключение
- •4.10 Серверы Введение
- •4.10.1 Виды серверов
- •Серверы приложений
- •Серверы баз данных
- •Файл-серверы
- •«Беспроводной» сервер
- •Прокси-серверы
- •Брандмауэры
- •Почтовые серверы
- •Серверы dhcp
- •Серверы ftp
- •Принт-серверы
- •Серверы удаленного доступа
- •Факс-серверы
- •Серверные приставки
- •4.10.2 Особенности современных серверов
- •Основные требования
- •Масштабируемость
- •Готовность
- •Надежность
- •4.10.3 Особенности архитектуры
- •Оценка производительности
- •4.10.4 Серверы ведущих мировых производителей
- •Серверы ibm
- •4.10.5 Серверы российского производства
- •4.10.6 Проекты с участием серверов Структуры власти
- •Энергетика
- •Энергоснабжение
- •Образование
- •Промышленность
- •Деловые услуги
- •Глава 5. Scada-системы, их функции и использование для проектирования автоматизированных систем управления, документирования, контроля и управления сложными производствами отрасли
- •5.1 Функции интегрированных систем проектирования и управления
- •5.1.1 Trace mode 6: Интегрированная среда разработки
- •Scada-система
- •Softlogic: программирование контроллеров
- •Eam: средства разработки eam-приложений
- •Mes: средства разработки mes-приложений
- •Hrm: средства разработки hrm-приложений
- •5.1.3 Исполнительные модули ис trace mode® 6 Монитор реального времени
- •Горячее резервирование
- •Сервером документирования
- •Сервер архива Регистраторы: серверы субд реального времени siad/sql 6
- •Серверы документирования trace mode и t-Factory
- •Графическая консоль NetLink Light
- •Micro trace mode 6: исполнительный модуль для промышленных контроллеров
- •Для mes/eam/hrm-приложений
- •5.2 Математическое обеспечение в программном комплексе Trace Mode 6
- •5.2.1 Принцип работы монитора. Канал trace mode 6
- •5.2.2 Обеспечение работы распределенных асу
- •5.2.3 Резервирование
- •5.2.4 Автопостроение
- •5.2.5 Математическая обработка данных
- •5.2.6 Архивирование каналов узла
- •5.2.7 Архивирование каналов проекта
- •5.2.8 Отчет тревог и генерация сообщений
- •5.2.9 Файл восстановления
- •5.2.10 Графический интерфейс оператора
- •5.2.11 Генерация документов (отчетов)
- •5.2.12 Защита проекта, его конвертирование из предыдущих версий trace mode
- •5.3.1 Технология разработки проекта в ис
- •5.3.2 Пример создания проекта
- •Создание нового проекта в ис
- •Создание структуры проекта в навигаторе
- •Конфигурирование и разработка структурных составляющих
- •Конфигурирование информационных потоков
- •Выбор аппаратных средств асу
- •Создание и конфигурирование узлов в слое «Система»
- •Распределение каналов по узлам
- •Автопостроение каналов
- •Сохранение проекта в файл
- •Экспорт узлов
- •Запуск проекта
- •5.4 Организационное обеспечение: Классификация объектов структуры проекта в Trace Mode 6
- •5.4.1 Классификация компонентов
- •Шаблоны
- •Источники/Приемники
- •Наборы ресурсов и графические объекты
- •Последовательные порты
- •Словари сообщений
- •5.4.2 Классификация слоев
- •5.4.3 Классификация узлов
- •5.4.4 Назначение групп источников (приемников)
- •Группа «pc-based контроллеры»
- •Группа «Распределенные усо»
- •Группа «Платы ввода-вывода»
- •Платы ввода-вывода
- •Группа «Терминалы»
- •Группа «plc»
- •Группа «Диагностика и сервис»
- •Группа «Генераторы»
- •Группа «Модели»
- •5.4.5 Назначение группы «com-порты»
- •5.4.6 Назначение группы «Словари сообщений»
- •5.4.7 Назначение групп слоя «Библиотеки компонентов»
- •5.4.8 Назначение групп клемм
- •5.4.9 Назначение прочих групп
- •Группы ресурсов
- •Группы шаблонов
- •Группы каналов
- •Дополнительные группы структурирования
- •5.5 Структура проекта Trace Mode 6
- •5.5.1 Редактирование структуры проекта
- •Меню и главная панель инструментов навигатора проекта
- •Управление внешним видом навигатора проекта
- •Создание объектов структуры
- •Имена и идентификаторы объектов структуры
- •Изменение класса канала после его создания
- •Выделение объекта структуры
- •Удаление объекта структуры
- •Копирование и вставка объекта структуры
- •Перепривязка каналов и аргументов при копировании, вставке и перемещении объекта базы каналов
- •Взаимодействие с технологической бд
- •Примеры синхронизации с бд
- •Отображение свойств объектов структуры
- •5.5.2 Окно свойств объекта структуры проекта
- •Вкладка «Информация»
- •Вкладка «Флаги»
- •Вкладка «Аргументы»
- •Вкладка «Атрибуты»
- •5.6 Описание редакторов trace mode 6
- •5.6.1 Редакторы объектов структуры проекта
- •Редакторы каналов
- •Редактор словарей сообщений
- •Редактор клемм
- •5.6.2 Редакторы источников (приемников)
- •Редактор системных переменных trace mode
- •Редактор переменной opc
- •Редактор переменной opc hda
- •Редактор переменной dde
- •5.6.3 Редактор группы шаблонов экранов
- •Базовый редактор группы компонентов
- •Групповое редактирование строковых атрибутов с инкрементированием
- •Групповое редактирование числовых атрибутов с инкрементированием
- •Редактор группы «opc-сервер»
- •Редактор группы «opc hda сервер»
- •Редактор группы каналов слоев «Технология» и «Топология»
- •5.6.4 Вкладки редактора узла
- •Задание параметров узла:
- •Вкладка «Основные» редактора узла
- •Вкладка «Архивы» редактора узла
- •Вкладка «Отчет тревог/Дамп/Параметры» редактора узла
- •Вкладка «Таймауты» редактора узла
- •Вкладка «Дополнительно» редактора узла
- •Глава 6. Примеры применяемых в отрасли scada-систем
- •6.1 Vijeo look – система класса «человеко-машинный интерфейс» (hmi)
- •6.1.1 Представление hmi
- •6.1.2 Совместимость приложений Vijeo Look
- •6.1.3 Установка продукта Vijeo Look Установка Vijeo Look и его различных компонентов
- •6.1.4 Основные инструменты Vijeo Look
- •6.1.5 Панели инструментов в Vijeo Look
- •6.1.6 Описание основных функций меню «Вставка»
- •6.1.8 Настройки ofs Конфигуратора
- •Глава 7. Пример проекта системы управления в trace mode 6
- •7.1 Проект «автоматизированный участок получения пара с применением электропарогенератора»
- •7.1.1 Описание технологического процесса
- •7.1.2 Создание проекта
- •7.1.2.1 Описание параметров
- •7.1.2.2 Описание графических экранов и программ
- •7.1.2.3 Заполнение базы данных
- •7.1.2.4 Составление схемы переходов
- •Список литературы
- •450062, Республика Башкортостан, г. Уфа, ул. Космонавтов, 1
- •453, Республика Башкортостан, г. Стерлитамак,
4.7.3 Особенности операционных систем реального времени Процессы, потоки, задачи
Концепция многозадачности (псевдопараллелизм) является существенной для системы реального времени с одним процессором, приложения которой должны быть способны обрабатывать многочисленные внешние события, происходящие практически одновременно. Концепция процесса, пришедшая из мира UNIX, плохо реализуется в многозадачной системе, поскольку процесс имеет тяжелый контекст. Возникает понятие потока (thread), который понимается как подпроцесс, или легковесный процесс (light-weight process). Потоки существуют в одном контексте процесса, поэтому переключение между потоками происходит очень быстро, а вопросы безопасности не принимаются во внимание. Потоки являются легковесными, потому что их регистровый контекст меньше, т.е. их управляющие блоки намного компактнее. Уменьшаются накладные расходы, вызванные сохранением и восстановлением управляющих блоков прерываемых потоков. Объем управляющих блоков зависит от конфигурации памяти. Если потоки выполняются в разных адресных пространствах, система должна поддерживать отображение памяти для каждого набора потоков.
Итак, в системах реального времени процесс распадается на задачи или потоки. В любом случае каждый процесс рассматривается как приложение. Между этими приложениями не должно быть слишком много взаимодействий, и в большинстве случаев они имеют различную природу: жесткого реального времени, мягкого реального времени, не реального времени.
Планирование, приоритеты
В связи с проблемой дедлайнов главной проблемой в ОСРВ становится планирование задач (scheduling), которое обеспечивало бы предсказуемое поведение системы при всех обстоятельствах. Процесс с дедлайнами должен стартовать и выполняться так, чтобы он не пропустил ни одного своего дедлайна. Если это невозможно, процесс должен быть отклонен.
В связи с проблемами планирования в ОСРВ изучаются и развиваются два подхода – статические алгоритмы планирования (RMS – Rate Monotonic Scheduling) [106] и динамические алгоритмы планирования (EDF – Earliest Deadline First).
RMS используется для формального доказательства условий предсказуемости системы. Для реализации этой теории необходимо планирование на основе приоритетов, прерывающих обслуживание (preemptive priority scheduling). В теории RMS приоритет заранее назначается каждому процессу. Процессы должны удовлетворять следующим условиям:
процесс должен быть завершен за время его периода;
процессы не зависят друг от друга;
каждому процессу требуется одинаковое процессорное время на каждом интервале;
у непериодических процессов нет жестких сроков;
прерывание процесса происходит за ограниченное время.
Процессы выполняются в соответствии с приоритетами. При планировании RMS предпочтение отдается задачам с самыми короткими периодами выполнения.
В EDF приоритет присваивается динамически, и наибольший приоритет выставляется процессу, у которого осталось наименьшее время выполнения. При больших загрузках системы у EDF имеются преимущества перед RMS.
Во всех системах реального времени требуется политика планирования, управляемая дедлайнами (deadline-driven scheduling). Однако этот подход находится в стадии разработки.
Обычно в ОСРВ используется планирование с приоритетами, прерывающими обслуживание, которое основано на RMS. Приоритетное прерывание обслуживания (preemption) является неотъемлемой составляющей ОСРВ, т.к. в системе реального времени должны существовать гарантии того, что событие с высоким приоритетом будет обработано перед событием более низкого приоритета. Все это ведет к тому, что ОСРВ нуждается не только в механизме планирования на основе приоритетов, прерывающих обслуживание, но также и в соответствующем механизме управления прерываниями. Более того, ОСРВ должна быть способна запрещать прерывания, когда необходимо выполнить критический код, который нельзя прерывать. Длительность обработки прерываний должна быть сведена к минимуму.
ОСРВ должна обладать развитой системой приоритетов. Во-первых, это требуется потому, что система сама может рассматриваться как набор серверных приложений, подразделяющихся на потоки, и несколько высоких уровней приоритетов должно быть выделено системным процессам и потокам. Во-вторых, в сложных приложениях необходимо все потоки реального времени помещать на разные приоритетные уровни, а потоки не реального времени помещать на один уровень (ниже, чем любые потоки реального времени). При этом потоки не реального времени можно обрабатывать в режиме циклического планирования (RRS – round-robin scheduling), при котором каждому процессу предоставляется квант времени процессора, а когда квант заканчивается, контекст процесса сохраняется, и он ставится в конец очереди. Во многих ОСРВ для планирования задач на одном уровне используется RRS. Приоритетный уровень 0 обычно используется для холостого режима.
При планировании на основе приоритетов необходимо решить две обязательные проблемы:
обеспечить выполнение процесса с наивысшим приоритетом;
не допустить инверсии приоритетов, когда задачи с высокими приоритетами ожидают ресурсы, захваченные задачами с более низкими приоритетами.
Для борьбы с инверсией приоритетов в ОСРВ часто используется механизм наследования приоритетов, однако при этом приходится отказываться от планирования на основе RMS, поскольку приоритеты становятся динамическими.
Память
Как уже упоминалось выше, задержка на переключение контекста потока напрямую зависит от конфигурации памяти, т.е. от модели защиты памяти. Рассмотрим четыре наиболее распространенных в ОСРВ модели защиты памяти.
Модель без защиты – системное и пользовательское адресные пространства не защищены друг от друга, используется два сегмента памяти: для кода и для данных; при этом от системы не требуется никакого управления памятью, не требуется MMU (memory management unit – специальное аппаратное устройство для поддержки управления виртуальной памятью).
Модель защиты система/пользователь – системное адресное пространство защищено от адресного пространства пользователя, системные и пользовательские процессы выполняются в общем виртуальном адресном пространстве, при этом требуется MMU. Защита обеспечивается страничным механизмом защиты. Различаются системные и пользовательские страницы. Пользовательские приложения никак не защищены друг от друга. Процессор находится в режиме супервизора, если текущий сегмент имеет уровень 0, 1 или 2. Если уровень сегмента – 3, то процессор находится в пользовательском режиме. В этой модели необходимы четыре сегмента – два сегмента на уровне 0 (для кода и данных) и два сегмента на уровне 3. Механизм страничной защиты не добавляет накладных расходов, т.к. защита проверяется одновременно с преобразованием адреса, которое выполняет MMU; при этом ОС не нуждается в управлении памятью.
Модель защиты пользователь/пользователь – к модели система/пользователь добавляется защита между пользовательскими процессами; требуется MMU. Как и в предыдущей модели, используется механизм страничной защиты. Все страницы помечаются как привилегированные, за исключением страниц текущего процесса, которые помечаются как пользовательские. Таким образом, выполняющийся поток не может обратиться за пределы своего адресного пространства. ОС отвечает за обновление флага привилегированности для конкретной страницы в таблице страниц при переключении процесса. Как и в предыдущей модели, используются четыре сегмента.
Модель защиты виртуальной памяти – каждый процесс выполняется в своей собственной виртуальной памяти, требуется MMU. У каждого процесса имеются свои собственные сегменты и, следовательно, своя таблица описателей. ОС несет ответственность за поддержку таблиц описателей. Адресуемое пространство может превышать размеры физической памяти, если используется страничная организация памяти совместно с подкачкой. Однако в системах реального времени подкачка обычно не применяется из-за ее непредсказуемости. Для решения этой проблемы доступная память разбивается на фиксированное число логических адресных пространств равного размера. Число одновременно выполняющихся процессов в системе становится ограниченным.
Фундаментальное требование к памяти в системе реального времени заключается в том, что время доступа к ней должно быть ограничено (или, другими словами, предсказуемо). Прямым следствием становится запрет на использование для процессов реального времени техники вызова страниц по запросу (подкачка с диска). Поэтому системы, обеспечивающие механизм виртуальной памяти, должны уметь блокировать процесс в оперативной памяти, не допуская подкачки. Итак, подкачка недопустима в ОСРВ, потому что непредсказуема.
Если поддерживается страничная организация памяти (paging), соответствующее отображение страниц в физические адреса должно быть частью контекста процесса. Иначе опять появляется непредсказуемость, неприемлемая для ОСРВ.
Для процессов, не являющихся процессами жесткого реального времени, возможно использование механизма динамического распределения памяти, однако при этом ОСРВ должна поддерживать обработку таймаута на запрос памяти, т.е. ограничение на предсказуемое время ожидания.
В обычных ОС при использовании механизма сегментации памяти для борьбы с фрагментацией применяется процедура уплотнения после сборки мусора. Однако такой подход неприменим в среде реального времени, т.к. во время уплотнения перемещаемые задачи не могут выполняться, что ведет к непредсказуемости системы. В этом состоит основная проблема применимости объектно-ориентированного подхода к системам реального времени. До тех пор, пока проблема уплотнения не будет решена, C++ и JAVA останутся не самым лучшим выбором для систем жесткого реального времени.
В системах жесткого реального времени обычно применяется статическое распределение памяти. В системах мягкого реального времени возможно динамическое распределение памяти, без виртуальной памяти и без уплотнения.