Распределенная информационно- управляющая система поток-С

Автор работы: Пользователь скрыл имя, 10 Декабря 2012 в 16:36, дипломная работа

Краткое описание

Дипломная работа посвящена описанию опыта создания распределенной информационно-управляющей системы ПоТок-С для филиала ПТС ОАО “Северо-Западный Телеком”, которая в настоящее время сдана в опытную эксплуатацию. Следует сказать, что ОАО “Северо-Западный Телеком” была одной из первых организаций в России, в которой в 1996 году начались работы по использованию систем для мониторинга режимов теплоснабжения и коммерческого учета потребления тепла сооружениями этой организации. Сложившаяся инфраструктура позволила в рамках выполнения этого проекта провести ряд исследований и демонстрационных экспериментов, результаты которых представляют интерес для системных интеграторов подобного рода проектов, а также для целого ряда смежных областей.

Содержание

ОБОЗНАЧЕНИЯ И СОКРАЩЕНИЯ…………………………………………………………………3
ВВЕДЕНИЕ……………………………………………………………………………………….……4
1 ОБЗОР НАУЧНО-ТЕХНИЧЕСКОЙ ЛИТЕРАТУРЫ И ПАТЕНТОВ…………….…….…….6
1.1 Обзор систем мониторинга и управления распределенными объектами ……….…....6
1.2 Обзор контроллеров и встраиваемых компьютеров ……………………………………..21

2 ПОСТАНОВКА ЗАДАЧИ…………………………………………………………………………40
2.1 Описание проблематики……………………………………………………………………40
2.2 Общие требования к системам класса ИУС (СДМУ)…………………………………….41
2.3 Особенности построения и концепция РИУС ПоТок-С………………………………….43
2.4 Требования к программному обеспечению системы……………………………………..46
3 РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ…………………………………….……..48
3.1 Низкоуровневое ПО контроллера ASK-Lab……………………….……………………...48
3.2 Высокоуровневое ПО системы видеоконтроля……………….………………………….68
4 ОЦЕНКА РЕЗУЛЬТАТОВ РАЗРАБОТКИ…………………………………………….…….......76
4.1 Оценка результатов разработанной системы…………………………………………….76
4.2 Оценка результатов разработанного ПО контроллера ASK-Lab……………………….78
4.3 Результаты применения системы видеоконтроля ……………………………….………80
ЗАКЛЮЧЕНИЕ…………………………………………………………………………………...….83
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ………………….……………………………..85

Прикрепленные файлы: 1 файл

dip_roch.doc

— 1.81 Мб (Скачать документ)

 

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

Разработка потребует меньше ресурсов и времени, если она будет вестись на IBM PC, вследствие наличия значительного опыта разработки на ПК именно этой архитектуры, наличия достаточного количества программного инструментария разработчика, а также печатной и электронной литературы.

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

Для разработки низкоуровнего  ПО контроллера был выбран ПК следующей  конфигурации:

  • Процессор:     Intel Pentium 3;
  • Тактовая частота:     600 МГц;
  • Объем оперативной памяти:   128 Мб;
  • Объем дискового пространства HDD:  10 Гб;
  • Видеокарта:    встроенная;
  • Звуковая карта:    нет;
  • Монитор:     15”.

 

3.1.1.2 Выбор  метода разработки ПО и среды  программирования

 

В работе [8] приведена классификация и сравнительный анализ методов разработки специализированного прикладного ПО.

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

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

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

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

Линейный  и процедурный подходы к разработке ПО являются традиционными. Скорость разработки специализированного ПО для микропроцессорных систем управления при использовании традиционных методов не может быть существенно увеличена из-за естественных ограничений на способность человека контролировать многосвязные проблемы.

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

 

мОСРВ имеют жесткие ограничения по ресурсам микропроцессора. Так, например, считается, что эффективным будет использование той мОСРВ, которая отнимает не более 30% объема памяти программ и не более 10% процессорного времени при выполнении. В нашем случае выбран микропроцессор PIC18F458 (краткие технические характеристики приведены в Приложении Б). Для данного микропроцессора объем памяти программ составляет 32 Кбайта, объем памяти данных 1 Кбайт, тактовая частота до 40 МГц.

Помимо аппаратных ограничений при выборе конкретной мОСРВ, следует обратить внимание на доступность мОСРВ, практики ее использования и удобства написания ПО под нее. В СКБ ГУАП разработана мОСРВ А3 для микропроцессоров семейства PIC18XXX. мОСРВ А3 сочетает в себе малую требовательность к аппаратным ресурсам микропроцессора, широкие возможности по диспетчеризации задач и простоту использования. Имеется специализированный инструментарий Конструктор А3 для описания ПО под данную мОСРВ. Состав библиотек и драйверов постоянно обновляется. Конструктор А3 позволяет описать структуру взаимосвязей модулей системы, определить временные интервалы и условия запуска задач, а также описание межзадачного обмена. Код ядра мОСРВ A3 генерируется Конструктором А3 при трансляции проекта. Проект транслируется в проект для среды программирования Microchip MPLab IDE v6.xx. В Приложениях В, Г  приведено краткое описание мОСРВ А3 и Конструктора А3.

В настоящее  время накапливается опыт использования  мОСРВ А3 для встраиваемых систем управления. А3 была успешно применена в качестве мОСРВ для многотарифного счетчика электроэнергии ЦЭ27XX. Учитывая простоту использования А3, эффективность ее работы и доступность инструментария, в качестве базовой мОСРВ была выбрана А3.

 

В качестве среды  программирования была выбрана Microchip MPLab IDE v6xx (далее MPLab), т.к. именно в данную среду может быть транслирован проект из Конструктора А3. Данная среда программирования поддерживает все микропроцессоры семейства PICXXX, а также все типы программаторов и аппаратных эмуляторов, перечисленных выше. MPLab имеет удобный интерфейс, качественные средства отладки и мониторинга памяти и других ресурсов.

 

3.1.2 Разработка  структуры ПО

 

Выше упоминалось, что  контроллер ASK-Lab построен на базе 4-х микропроцессоров PIC18F458. На этих микропроцессорах построена внутриплатная одномастерная сеть на базе интерфейса I2С. Мастером сети является один из микропроцессоров, все остальные работают по отношению к мастеру одинаково как периферия. Каждый микропроцессор имеет набор стандартных аппаратно реализованных коммуникационных интерфейсов с оптической развязкой. Кроме стандартных коммуникационных интерфейсов, контроллер имеет внешний разъем, на который выведены порты с периферийных микропроцессоров. Эти особенности аппаратной составляющей контроллера необходимо учитывать при разработке ПО. Структурная схема контроллера ASK-Lab приведена на рисунке 3.1.

 

 


Программное обеспечение  контроллера ASK-Lab было разработано на основе мОСРВ A3. Ядро мОСРВ, драйвера и библиотеки являются неизменной частью каждой системы. Для удобства проектирования систем под мОСРВ A3 используется специальное инструментальное программное обеспечение Конструктор А3.

Структура ПО контроллера ASK-Lab представлена на рисунке 3.2.

 

 

Системное ПО

Ядро мОСРВ

Ядро мОСРВ A3

Драйвера устройств

I2C

LCD

USART (RS 232)

 

 

Прикладное  ПО

Высокий приоритет прерываний

Прерывание 1

Прерывание K

 

Фоновые задачи

Задача 1

Задача N


 

Рисунок 3.2 – Структура ПО контроллера ASK-Lab

 

Код ядра мОСРВ A3 генерируется программным обеспечением Конструктор А3 при трансляции проекта.

Модули с кодами драйверов  устройств собраны в универсальную  библиотеку драйверов. Библиотека предназначена  для использования в составе  мОСРВ A3. Основной функцией библиотеки является программная поддержка аппаратных модулей микропроцессора PIC18 и поддержка аппаратно-программных интерфейсов между микропроцессором и другими устройствами. Описание библиотеки драйверов приведено в Приложении Д.

Изменяемой частью ПО контроллера является прикладное ПО – это программные модули, реализующие  функции, специфичные для конкретного приложения контроллера. Прикладное ПО от версии к версии может изменяться, и дополняться новыми программными модулями. Системное ПО, как правило, остается неизменным (состав драйверов может меняться).

Функции, предъявляемые к ПО контроллера были описаны выше. Учитывая специфику аппаратной части контроллера ASK-Lab, функции разделяются между микропроцессорами, входящими в его состав (условные обозначения микропроцессоров: PIC_Master – мастер сети, PIC_SPT и PIC_Danf – переферийные микропроцессоры). При написании ПО всей системы в целом следует особое внимание уделить вопросу межпроцессорного взаимодействия.

 

Функции микропроцессора PIC_Master;

  • Обмен с ПК по интерфейсу RS-232 и протоколу Ask-Bus v 3.1 (выполнение команд, принятых с ПК, поддержка информационного обмена между ПК и процессорами PIC_SPT и PIC_Danf);
  • Обмен с микропроцессорами PIC_SPT и PIC_Danf по интерфейсу I2С (PIC_Master – мастер сети);
  • Реализация процедуры ввода пароля (используется клавиатура и ЖК-индикатор, хранение пароля в энергонезависимой памяти EEPROM);
  • Ведение журнала событий (хранение в памяти программ);
  • Преобразование данных согласно алгоритму ГОСТ 28147-89 при выполнении команд, требующих разграничения доступа.

В ПО микропроцессора PIC_Master (и всех остальных) были использованы существующие модули и библиотеки (системное ПО) и разработаны новые (прикладное ПО). Список всех модулей, входящих в состав ПО микропроцессора PIC_Master представлен в таблице 3.1.

 

Таблица 3.1 – Список модулей, входящих в состав ПО микропроцессора PIC_Master

Модуль

Тип ПО

Описание

Main.asm

СА

Главный модуль проекта.

AskBus31.inc

С*

Формирование/разбор пакетов  протокола ASK-Bus v.3.1

AskTrans.inc

С*

Формирование контрольной  информации сетевого пакета на уровне ASK-Bus, являющегося ответным на запросный пакет с ПК

Продолжение таблицы 3.1

Crypt.inc

С

Прямое и обратное преобразование данных по алгоритму  Гост 28147-89 в режиме простой замены

Define.inc

СА

Модуль констант и  объявлений.

Enter_Pswd.inc

П+

Ввод пароля с помощью клавиатуры, с отображением всей необходимой информации на LCD индикаторе

Ex_Flash.inc

С+

Работа с памятью  программ микропроцессора

Init.inc

СА

Процедуры начальной  инициализации микропроцессора 

Kernvar.inc

СА

Модуль объявления переменных ядра.

Keyboard.inc

С

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

LCD.inc

С*

Настройка и вывод  на ЖКД текстовой информации

Macros.inc

С*

Набор макросов, используемых ядром мОСРВ и библиотечными  модулями.

MasterCMD.inc

П+

Выполнение команд (пришедших  с ПК), предназначенных для выполнения микропроцессором PIC_Master

MI2C.inc

С

Обмен данными по интерфейсу I2С в режиме мастер с PIC18, работающими в режиме слэйв, либо другими внешними I2С слэйв-устройствами

Procs.inc

С*

Набор стандартных процедур, используемых ядром мОСРВ и библиотечными  модулями.

Resetbufsbyto.inc

П+

Сброс буферов межзадачного обмена по условию

Setaskdevaddr.inc

П*

Установка адреса устройства для протокола ASK-Bus v3.1

Spt_strt.inc

П+

Формирование/разбор сетевых пакетов для обмена с СПТ 942 (посредством PIC_SPT) в режиме прозрачности

TaskCond.inc

СА

Условия запуска задач  в мОСРВ.

UsartD.inc

С*

Обмен данными по интерфейсу RS-232 с внешним устройством с  формированием пакета по символам границ пакета и по таймауту

Userdef.inc

СА

Модуль констант и  объявлений пользователя.

ViewLevel.inc

П+

Формирование/разбор сетевых пакетов на уровне представления данных


 

Примечания к таблице:

С – системное ПО;

П – прикладное ПО;

А – код модуля (возможно частично) генерируется автоматически Конструктором А3 на основе схемы межзадачного обмена или других настроек;

* – код модуля модифицирован для данного проекта;

+ – код модуля заново  разработан.

 

Описание структуры  межзадачного обмена всех микропроцессоров для Конструктора А3 приведено в Приложении Е.

Функции микропроцессора PIC_SPT:

  • Обмен с теплосчетчиком по интерфейсу RS-232;
  • Обмен с микропроцессором PIC_Master по интерфейсу I2С (выполнение команд, принятых микропроцессором PIC_Master с ПК, поддержка информационного обмена между ПК и теплосчетчиком);
  • Управление силовыми устройствами (по командам с PIC_Master).

Список всех модулей, входящих в состав ПО микропроцессора PIC_SPT представлен в таблице 3.2.

 

Таблица 3.2 – Список модулей, входящих в состав ПО микропроцессора PIC_SPT

Модуль

Тип ПО

Описание

Main.asm

СА

Главный модуль проекта.

CmdDisp.inc

П+

Диспетчер команд, пришедших  от PIC_Master

Define.inc

СА

Модуль констант и  объявлений.

Init.inc

СА

Процедуры начальной  инициализации микропроцессора 

Kernvar.inc

СА

Модуль объявления переменных ядра.

Macros.inc

С*

Набор макросов, используемых ядром мОСРВ и библиотечными  модулями.

Procs.inc

С*

Набор стандартных процедур, используемых ядром мОСРВ и библиотечными  модулями.

Resetbufsbytos.inc

П+

Сброс буферов межзадачного обмена по условию

SI2C.inc

С

Обмен данными по интерфейсу I2С в режиме слейв с PIC18, работающим в режиме мастер

SlaveCMD.inc

П+

Выполнение команд пользователя (пришедших с ПК), предназначенных  для выполнения микропроцессором PIC_SPT

TaskCond.inc

СА

Условия запуска задач  в мОСРВ.

Usart.inc

С*

Обмен данными по интерфейсу RS-232 с внешним устройством с  формированием пакета по таймауту

Userdef.inc

СА

Модуль констант и  объявлений пользователя.

Информация о работе Распределенная информационно- управляющая система поток-С