Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


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



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

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

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

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

Статические алгоритмы планирования (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, только вместо функциональных блоков пользователю предлагается использовать "контакты" и "катушки".

 

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

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

 

SFC это мощное средство структурирования сложных алгоритмов. По сути 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


3. Язык FBD на примере α-контроллера ф. Mitsubishi. Примеры: микроволновая печь или стиральная машина-автомат.

Контроллер программируется на языке FBD. При этом пользователь может программировать контроллер двумя способами:

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

- составить программу на компьютере в среде AL-PCS/WIN под Windows и пересылать программу в контроллер через COM- порт.


Поделиться:



Последнее изменение этой страницы: 2019-04-21; Просмотров: 225; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.028 с.)
Главная | Случайная страница | Обратная связь