Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
срв.doc
Скачиваний:
32
Добавлен:
26.04.2019
Размер:
1.71 Mб
Скачать

Хузятов Ш.Ш.

СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ

1. Структурная схема систем сбора данных и управления. Условно-графическое обозначение контроллера и модулей ввода-вывода. Схемы электрические принципиальные включения входных и выходных дискретных сигналов.

Под системами реального времени подразумевается считывание сигналов с датчиков и подача управляющих воздействий, в зависимости от логики управления.

Для реализации используем локальные и распределенные системы управления.

Структурная схема локальной системы управления.

комп

Контроллер

ИУ1

ИУ2

RS-232

Структурная схема распределенных систем управления

Часто объекты управления распределены по территории цеха, завода и т.д.

RS-485 сеть фактически представляет собой витую пару. Одновременно может только передавать, либо принимать данные

Компьютер

Конвертер RS-232/485

Контроллер S7-200

Инвертер MicroMaster

Модуль ввода/вывода

2.5 метра RS-232

Больше 32

1200 метров RS-485

ИУ

До 256 устройств

Мощности передатчика хватает для подключения до 32 устройств, поэтому RS-485 делится на сегменты по 32 устройства. Для увеличения количества устройств используются повторители. На компьютер устанавливается программа, отвечающая за визуализацию, за сбор данных и управление и т.д. Программа управления разрабатывается в SCADA-системах.

Условно-графическое обозначение контроллера и модулей ввода/вывода.

Схема электрическая принципиальная включения входных и выходных дискретных сигналов.

2. Операционные системы реального времени. Цикл контроллера. Языки программирования систем реального времени (мэк 61131-3). Scada-системы.

Операционная система, в которой успешность работы любой программы зависит не только от её логической правильности, но и от времени, за которое она получила этот результат. Если система не может удовлетворить временным ограничениям, должен быть зафиксирован сбой в её работе – ОСРВ. Системы реального времени бывают двух типов — системы жесткого реального времени и системы мягкого реального времени.

Таблица сравнения ОСРВ и обычных операционных систем:[6]

 

ОС реального времени

ОС общего назначения

Основная задача

Успеть среагировать на события, происходящие на оборудовании

Оптимально распределить ресурсы компьютера между пользователями и задачами

На что ориентирована

Обработка внешних событий

Обработка действий пользователя

Как позиционируется

Инструмент для создания конкретного аппаратно-программного комплекса реального времени

Воспринимается пользователем как набор приложений, готовых к использованию

Кому предназначена

Квалифицированный разработчик

Пользователь средней квалификации

Отличия от операционных систем общего назначения

Однако ключевым отличием от сервисов ядра ОСРВ является детерминированный, основанный на строгом контроле времени, характер работы последних. В данном случае под детерминированностью понимается то, что для выполнения одного сервиса операционной системы требуется временной интервал заведомо известной продолжительности. Теоретически это время может быть вычислено по математическим формулам, которые должны быть строго алгебраическими и не должны включать никаких временных параметров случайного характера.

В этом смысле операционные системы общего назначения не являются детерминированными. Их сервисы могут допускать случайные задержки в своей работе, что может привести к замедлению ответной реакции приложения на действия пользователя в заведомо неизвестный момент времени. При проектировании обычных операционных систем разработчики не акцентируют свое внимание на математическом аппарате вычисления времени выполнения конкретной задачи и сервиса.

Алгоритмы планирования

В настоящее время для решения задачи эффективного планирования в ОСРВ наиболее интенсивно развиваются два подхода.

Статические алгоритмы планирования (RMS — Rate Monotonic Scheduling). Используют приоритетное вытесняющее планирование. Приоритет присваивается каждой задаче до того, как она начала выполняться. Преимущество отдается задачам с самыми короткими периодами выполнения.

Динамические алгоритмы планирования (EDF — Earliest Deadline First Scheduling). Приоритет задачам присваивается динамически, причем предпочтение отдается задачам с наиболее ранним предельным временем начала (завершения) выполнения.

При больших загрузках системы EDF более эффективен, нежели RMS.

Взаимодействие между задачами и разделение ресурсов

Многозадачным системам необходимо распределять доступ к ресурсам. Существует 3 способа решения этой проблемы

  • Временное блокирование прерываний

  • Двоичные семафоры

  • Посылка сигналов

ОСРВ обычно не используют первый способ, потому что пользовательское приложение не может контролировать процессор столько, сколько хочет.

На однопроцессорных системах наилучшим решением является приложение запущенное в режиме ядра, которому позволено блокирование прерываний. Пока прерывание заблокировано приложение использует ресурсы процесса единолично, никакая другая задача или прерывание не может выполнятся. Таким образом защищаются все критичные ресурсы. После того как приложение завершит критические действия, оно должно разблокировать прерывания, если таковые имеются. Временное блокирование прерывания позволено только тогда, когда самый долгий промежуток выполнения критической секции меньше, чем допустимое время реакции на прерывание. Обычно этот метод защиты используется только когда длина критического кода не превышает нескольких строк и не содержит циклов. Этот метод идеально подходит для защиты регистров.

Когда длина критического участка больше максимальной или содержит циклы, программист должен использовать механизмы идентичные или имитирующие поведение систем общего назначения, такие как семафоры и посылка сигналов.

Выделение памяти

Следующим проблемам выделения памяти в ОСРВ уделяется больше внимания, нежели в операционных системах общего назначения.

Во-первых, скорости выделения памяти. Стандартная схема выделения памяти предусматривает сканирование списка неопределенной длины для нахождения свободной области памяти заданного размера, а это неприемлемо, так как в ОСРВ выделение памяти должно происходить за фиксированное время.

Во-вторых, память может стать фрагментированной в случае разделения свободных ее участков уже запущенными процессами. Это может привести к остановке программы из-за её неспособности задействовать новый участок памяти.

Простой алгоритм с фиксированной длиной участков памяти очень хорошо работает в несложных встроенных системах.

Также этот алгоритм отлично функционирует и в настольных системах, особенно тогда, когда во время обработки участка памяти одним ядром следующий участок памяти обрабатывается другим ядром.

Свободные: RTLinux — ОС жёсткого РВ на основе Linux

Проприетарные:

QNX/Neutrino — ОС с открытым исходным кодом, Symbian OS, Windows CE, UNIX-RTR

QNX — коммерческая POSIX-совместимая операционная система реального времени, предназначенная преимущественно для встраиваемых систем. Считается одной из лучших реализаций концепции микроядерных операционных систем.

Ц икл контроллера

tц <= 1 мс

IEC 61131-3 — раздел международного стандарта МЭК 61131 (также существует соответствующий европейский стандарт EN 61131), описывающий языки программирования для программируемых логических контроллеров.

Данные языки являются расширением языков

  • SFC (Sequential Function Chart),

  • LD (Ladder Diagram),

  • FBD (Function Block Diagram),

  • ST (Structured Text) и

  • IL (Instruction List)

международного стандарта МЭК 6-1131/3. Данный стандарт разрабатывается с 1993 года Международной Электротехнической Комиссией (International Electrotechnical Commission) и давно признан как в Европе и в США, так и во всем мире ведущими производителями средств автоматизации.

Языки программирования стандарта МЭК 6-1131/3 включают в себя 3 визуальных языка (FBD, SFC, LD), ориентированных на инженеров и бизнес-аналитиков и 2 текстовых (ST, IL), ориентированных на программистов. С помощью языков IEC 61131-3 TRACE MODE® 6 одинаково комфортно программируются и контроллеры, и алгоритмы человеко-машинного интерфейса (HMI) и задачи EAM и MES.

Языки МЭК 6-1131/3 сочетают в себе достаточную функциональность, простоту и предохраняют пользователя от большинства ошибок, которые нередко возникают при использовании обычных языков программирования.

Краткое описание языков

Я зык FBD предназначен для инженеров-технологов, решающих задачи управления технологическим процессом. Трудно придумать более наглядное средство для программирование контуров управления и регулирования. Программа на Techno FBD представляет собой схему, состоящую из набора функциональных блоков, связанных между собой через входы и выходы.

Язык LD понравится инженерам, привыкшим к составлению схем релейной логики. Внешне редактор LD очень похож на редактор FBD, только вместо функциональных блоков пользователю предлагается использовать "контакты" и "катушки".

S T ориентирован прежде всего на программистов, он представляет собой язык программирования высокого уровня, похожий на Паскаль. В нем поддерживаются массивы, контроль преобразования типов, присутствуют такие конструкции как DO-WHILE, REPEAT-UNTIL, FOR-TO-DO, IF-THEN-ELSE, CASE-OF и прочие интуитивно понятные любому программисту операторы.

Techno IL это простейший язык мнемонических инструкций, внешне напоминающий ассемблер. Этот язык был включен в стандарт для программирования контроллеров, обладающих низкой вычислительной мощностью. Программы IL легко транслируются в машинные коды любого процессора, что позволяет создавать очень быстрые программы.

S FC это мощное средство структурирования сложных алгоритмов. По сути SFC не является самостоятельным языком. В переводе с английского аббревиатуру SFC можно перевести как "схема функциональной последовательности". Внешне программа на SFC похожа на блок-схему алгоритма, на которой отображены отдельные программные блоки (шаги), переходы между ними и условия, по которым выполняются эти переходы. Каждый программный блок, как и каждое условие перехода - это подпрограмма на любом из языков стандарта МЭК 6-1131/3.

SCADA (сокр. от англ. Supervisory Control And Data Acquisition[1]) — диспетчерское управление и сбор данных.

Основные задачи, решаемые SCADA-системами:[2]

  • Обмен данными с УСО (устройства связи с объектом) в реальном времени через драйверы.

  • Обработка информации в реальном времени.

  • Отображение информации на экране монитора в понятной для человека форме (HMI сокр. от англ. Human Machine Interface — человеко-машинный интерфейс).

  • Ведение базы данных реального времени с технологической информацией.

  • Аварийная сигнализация и управление тревожными сообщениями.

  • Подготовка и генерирование отчетов о ходе технологического процесса.

  • Осуществление сетевого взаимодействия между SCADA ПК.

  • Обеспечение связи с внешними приложениями (СУБД, электронные таблицы, текстовые процессоры и т. Д

SCADA-системы позволяют разрабатывать АСУ ТП в клиент-серверной или в распределенной архитектуре.

Иногда SCADA-системы комплектуются дополнительным ПО для программирования промышленных контроллеров. Такие SCADA-системы называются интегрированными и к ним добавляют термин SoftLogiс.

Примеры: Genesis, TraceMode, VfsterSCADA, WinCC