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


Встраиваемые системы (Embedded systems)



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

Устанавливаются внутри оборудования, которым они управляют. Зависят от размеров этого оборудования.

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

Кросс-системы

Понятие кросс-системы

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

Понятие кросс-систем тесно связано с понятием СРВ. Их особенностью является четкое разделение на систему разработки (Host) и систему исполнения (Target).

Исходная (Host) система - вычислительная система, на которой программа готовится к выполнению.

Целевая (Target) система - вычислительная система, на которой программа выполняется.

Состав подсистемы разработки:

  • набор компиляторов и ассемблеров, работающих на host-системе,
  • библиотеки, выполняющие большую часть функций ОС при работе программы (но не загрузку этой программы! ),
  • средства отладки.

Состав подсистемы исполнения:

  • ОСРВ, обеспечивающая работу (ядро, драйверы, исполняемые модули);
  • приложения РВ.

Кросс-системы – вид системного программного обеспечения подготовки программ, в которых исходная вычислительная система отличается от целевой.

Применение кросс-систем

Кросс-системы, как раздел СПО, появились и активно развиваются уже длительное время. Их применение особенно необходимо в следующих случаях:

  • Разработка программного обеспечения встроенных ВС; Рассмотренные выше логические и аппаратные особенности, а также отсутствие человека - всё это не позволяет разрабатывать ПО непосредственно на встроенных системах.
  • Ограниченные ресурсы Target- системы; Ресурсов целевой ВС недостаточно для выполнения на ней системного программного обеспечения подготовки программ, тем более - для выполнения интерактивных систем программирования с развитым интерфейсом пользователя.
  • Отсутствие Target- системы; При разработке новых ВС создание программного обеспечения для них ведется параллельно с разработкой аппаратной части. Подготовка и отладка программ должна вестись, когда целевой ВС еще не существует физически.

Средства отладки

При рассмотрении вопроса об использовании систем реального времени неоднократно встает вопрос о стоимости системы. СРВ обходятся заказчикам дорого. Факторов, увеличивающих цену системы, несколько: это и уникальность управляемого объекта, и дорогое аппаратное обеспечение, которое иногда приходится создавать специально для данной работы. Значительную долю в цене составляют затраты на программное обеспечение - длительный по времени и сложный в реализации процесс. А в процессе создания ПО для системы реального времени отладка является самым затратным и сложным этапом.

Проблемы комплексной отладки ПО СРВ:

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

Процесс отладки программного обеспечения в СРВ имеет свои особенности. Они связаны с обязательным исполнением всех видов отладки и технологическим обеспечением этапов.

Виды отладки

  • отладка процесса во взаимодействии с ОС,
  • совместная отладка вычислительных процессов внутри ЭВМ,
  • отладка процессов ввода/вывода с отдельными абонентами,
  • комплексная отладка.

Технологическое обеспечение этапов отладки

Для отладки могут быть использованы различные средства:

  • встроенные программные имитаторы (Интерпретаторы),
  • использование технологической ЭВМ для имитации внешних воздействий,
  • динамический отладчик.

Отладка с помощью программы - Интерпретатор

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

Если исходная ВС обладает большими вычислительными ресурсами, чем целевая ВС, то отладка на исходной ВС может быть более удобной и функционально более полной, чем на целевой ВС. Это, впрочем, относится и к тому случаю, когда исходная ВС не превосходит целевую по объему ресурсов. В таком случае для отладки программы все равно может быть выделено больше ресурсов (возможно, виртуальных), чем при ее выполнении.

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

Структура Интерпретатора

Модель целевой ВС состоит из компонентов, моделирующих программно-доступные компоненты целевой ВС, и включает в себя следующие составляющие:

1. Модель регистров
Модель регистров включает в себя, как минимум:
- регистры общего назначения (РОНы),
- регистр-счетчик адреса (PC),
- регистр состояния (PSW).
Регистры моделируются переменными Интерпретатора.

2. Модель оперативной памяти


Объем адресного пространства памяти, к которому теоретически могут выполняться обращения к программе, определяется разрядностью представления адреса. Однако, реально в целевой ВС может быть значительно меньший объем памяти. Интерпретатор должен " знать" конфигурацию реальной памяти в целевой ВС. Возможные варианты задания такой конфигурации:
- любая ячейка памяти, к которой обращается программа, описана в программе (директивой DD или BSS);
- конфигурация памяти описана в отдельном файле, являющимся входным для Интерпретатора. Этот подход используется чаще.

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

3. Модель процессора

Работа процессора моделируется алгоритмом работы Интерпретатора. Основной алгоритм работы модели состоит из цикла, в каждой итерации которого моделируется выполнение одной команды целевой программы. Алгоритм соответствует общей схеме выполнения команды на процессоре:

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

II. Поиск по коду операции в таблице команд. При этом может использоваться либо таблица команд Ассемблера, либо ее модификация с расширениями и с возможностью быстрого поиска по коду операции.

III. Распознав команду, Интерпретатор выбирает ее остальные байты (их количество определено в таблице команд) и выделяет из нх операнды команды (их количество и кодировка определяется типом команды).

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

V. Вычисляется новое значение регистра-счетчика адреса. Конец итерации.

При реализации алгоритмов выполнения отдельных команд возможны два подхода, называемыми RISC и CISC -моделями, по аналогии с архитектурами процессоров. Но выбор программной RISC или CISC -модели не означает совпадение с реальной архитектурой процессора.
Смысл RISC -модели состоит в том, что разветвление алгоритма выполняется сразу же после распознавания команды и выполнение каждой команды полностью реализуется кодами соответствующей ветви.
Смысл CISC -модели состоит в том, что выполнение каждой команды представляется в виде последовательности выполнения простых процедур (" микрокоманд" ).
RISC -модель будет выполняться быстрее, но CISC- модель гибче, так как активные элементы (команды) в ней превращены в пассивные (данные). В аппаратных архитектурах предпочтение отдается RISC из-за высокой эффективности, но при отладке критерии гибкости, возможности изменения являются более важными.

 

4. Модель времени


Для СРВ время выполнение программы является принципиально важной ее характеристикой. Необходимо понимать, что время выполнения программы на Интерпретаторе ни в коей мере не соответствует времени ее выполнения на реальной ВС. Более того, временные соотношения между выполнением различных частей программы на модели также не соответствуют соотношениям выполнения частей программы на реальном оборудовании. Поэтому время также является моделируемым компонентом.
Моделью времени является целая переменная большой разрядности. В этой переменной на каждом шаге выполнения содержится число машинных тактов, выполненных с начала выполнения программы. Исходное значение этой переменной - 0, после выполнения каждой команды ее значение увеличивается на время выполнения данной команды.

 

5. Модель системы прерываний


Система прерываний является самым сложным для моделирования компонентом, так как прерывания поступают асинхронно, без привязки к выполнению программы. Следовательно, прерывания должны " зарождаться" где-то вне собственно выполняемой программы. При выполнении Интерпретатора в пошаговом режиме прерывания могут задаваться командами, вводимыми человеком-оператором или созданными в отдельном файле " программы поступления прерываний". Каждый " оператор" этой " программы" содержит идентификатор типа прерывания и время (модельное) поступления прерывания. Эти " операторы" должны быть упорядочены по возрастанию времен поступления. Действия по прерыванию определяются характеристиками конкретной ВС. Как правило, они включают в себя запоминание текущего значения регистров состояния и счетчика адреса и занесение в счетчик адреса адреса программной секции обработки прерывания данного типа.
Отладка программ, предусматривающих обработку внешних прерываний, усложняется многократно, так как при этом должно быть предусмотрено поступление внешних прерываний во все возможные (и невозможные! ) моменты выполнения.

Рис.7 Обработка прерывания

 

6. Модель системы ввода/вывода


Операции ввода/вывода целевой ВС моделируются файловым вводом/выводом исходной ВС. Данные, которые целевая ВС вводит с внешнее устройство, читаются моделью из файла. Данные, которые целевая ВС выводит на внешнее устройство, записываются моделью в файл.

Для каждого внешнего устройства удобно назначать свой файл. В частном случае, это может быть файл клавиатуры или файл экрана. На вход Интерпретатора должна подаваться таблица соответствия файлов устройствам. Как и в реальных ВС, должны быть реализованы два типа ввода/вывода:

(1) Синхронный ввод/вывод:

При синхронном вводе-выводе (например, через порты) операция ввода/вывода завершается вместе с завершением команды ввода/вывода. Моделирование такого ввода/вывода сложностей не представляет.

(2) Асинхронный ввод/вывод:

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

Работа Интерпретатора

Интерпретатор может выполняться в автоматическом или пошаговом режиме.

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

В пошаговом режиме Интерпретатор после выполнения каждой команды программы останавливается и предоставляет оператору возможность вводить команды управления.
Итоговая схема алгоритма Интерпретатора

1.Запуск Интерпретатора.

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

3.Считывание управляющей информации.

4.Установка начальных значений для компонентов модели (содержимое памяти, регистры, счетчик модельного времени).
5.Интерактивное задание/корректировка управляющей информации (режим выполнения, точки останова и т.п.).
6.Автоматический режим.

7.Если установлен пошаговый (не автоматический) режим выполнения, выполняется ввод и обработка команд оператора в интерактивном режиме. Эта обработка может заканчиваться либо продолжением выполнения интерпретатора в пошаговом или автоматическом режиме, либо завершением его работы по команде оператора.
8.Если установлен автоматический режим выполнения, но текущее значение регистра - счетчика адреса совпадает с одной из заданных точек останова, также выполняется ввод и обработка команд оператора в интерактивном режиме.

9.Вычисление и занесение в регистр-счетчик адреса следующей команды.
10.Проверка, является ли адрес в регистре-счетчике адреса адресом 1-го байта команды

11.Если это не так, Интерпретатор заканчивается с сообщением об ошибке.
12.Модификация счетчика модельного времени и переход на выполнение следующей команды.

13.Автоматический режим.

14.Если установлен пошаговый (не автоматический) режим выполнения, выполняется ввод и обработка команд оператора в интерактивном режиме. Эта обработка может заканчиваться либо продолжением выполнения интерпретатора в пошаговом или автоматическом режиме, либо завершением его работы по команде оператора.
15.Если установлен автоматический режим выполнения, но текущее значение регистра - счетчика адреса совпадает с одной из заданных точек останова, также выполняется ввод и обработка команд оператора в интерактивном режиме.

16.Вычисление и занесение в регистр-счетчик адреса следующей команды.
17.Проверка, является ли адрес в регистре-счетчике адреса адресом 1-го байта команды

18.Если это не так, Интерпретатор заканчивается с сообщением об ошибке.
19.Модификация счетчика модельного времени и переход на выполнение следующей команды.

20.Вычисление и занесение в регистр-счетчик адреса следующей команды.
21.Проверка, является ли адрес в регистре-счетчике адреса адресом 1-го байта команды

22.Если это не так, Интерпретатор заканчивается с сообщением об ошибке.
23.Модификация счетчика модельного времени и переход на выполнение следующей команды.

Устройство связи с объектом

Рис.8 Схема устройства связи с объектом

 

блок-схема функциональной структуры устройства связи с объектом

Термин SCADA-система испол­­ьзуют для обозначения программно-аппаратного комплекса сбора данных (телемеханического комплекса).

К основным задачам, решаемым SCADA-системами, относятся:

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

•Ведение базы данных реального времени с технологической информацией.
•Аварийная сигнализация и управление тревожными сообщениями.
•Подготовка и генерирование отчетов о ходе технологического процесса.
•Архивирование технологической информации (сбор истории).
•Обеспечение связи с внешними приложениями (СУБД, электронными таблицами, текстовыми процессорами и т.д.). В системе управления предприятием такими приложениями чаще всего являются приложения, относимые к уровню MES.

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

Это была сухая формулировка, взятая из энциклопедии. На самом деле системы такого класса имеют четкое предназначение – они предоставляют возможность осуществлять мониторинг и диспетчерский контроль множества удаленных объектов (от 1 до 10000 пунктов контроля, иногда на расстоянии в тысячи километров друг от друга) или одного территориально распределенного объекта. Классическими примерами являются:

•Нефтепроводы;
•Газопроводы;
•Водопроводы;
•Удалённые электрораспределительные подстанции;

•Водозаборы;
•Дизель-генераторные пункты и т.д.

 


Основная задача SCADA – это сбор информации о множестве удаленных объектов, поступающей с пунктов контроля, и отображение этой информации в едином диспетчерском центре. Кроме этого, SCADA должна обеспечивать долгосрочное архивирование полученных данных. При этом диспетчер зачастую имеет возможность не только пассивно наблюдать за объектом, но и ограниченно им управлять, реагируя на различные ситуации[8].

Общая структура SCADA


Работа SCADA – это непрерывный процесс сбора информации реального времени с удаленных точек (объектов) для обработки, анализа и возможного управления.

Требование обработки реального времени обусловлено необходимостью оперативной доставки (выдачи) всех сообщений и данных на центральный интерфейс оператора (диспетчера). В то же время понятие реального времени отличается для различных SCADA-систем.
Remote Terminal Unit (RTU) удаленный терминал, подключающийся непосредственно к контролируемому объекту и осуществляющий обработку задачи (управление) в режиме реального времени. Спектр воплощений RTU широк: от примитивных датчиков, осуществляющих съем информации с объекта, до специализированных многопроцессорных отказоустойчивых вычислительных комплексов, осуществляющих обработку информации и управление в режиме жесткого реального времени. Конкретная его реализация определяется спецификой применения. Использование устройств низкоуровневой обработки информации позволяет снизить требования к пропускной способности каналов связи с центральным диспетчерским пунктом.

Master Terminal Unit (MTU), Master Station (MS) диспетчерский пункт управления (главный терминал); осуществляет обработку данных и управление высокого уровня, как правило, в режиме мягкого (квази-) реального времени. Одна из основных функций – обеспечение человеко-машинного интерфейса (между человеком-оператором и системой). В зависимости от конкретной системы MTU может быть реализован в самом разнообразном виде: от одиночного компьютера с дополнительными устройствами подключения к каналам связи до больших вычислительных систем (мэйнфреймов) и/или объединенных в локальную сеть рабочих станций и серверов. Как правило, и при построении MTU используются различные методы повышения надежности и безопасности работы системы. Устройство MTU часто называют SCADA-сервером.

Communication System (CS) коммуникационная система (каналы связи) между RTU и MTU. Она необходима для передачи данных с удаленных точек (RTU) на центральный интерфейс диспетчера и передачи сигналов управления обратно с MTU на RTU. В качестве коммуникационной системы можно использовать следующие каналы передачи данных:


•Выделенные линии - собственные или арендованные; медный кабель или оптоволокно;

•Частные радиосети;

•Аналоговые телефонные линии;

•Цифровые ISDN сети;

•Сотовые сети GSM (GPRS).

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


Поделиться:



Последнее изменение этой страницы: 2017-03-15; Просмотров: 978; Нарушение авторского права страницы


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