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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать документ)

 

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

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

Состав модулей ПО микропроцессора PIC_Danf аналогичен составу модулей PIC_SPT. Отличие модулей в различных константах и определениях.

 

 

3.1.3 Обмен данными

 

3.1.3.1 Обмен  данными между контроллером и  ПК

 

Структурная схема обмена данными  между контроллером ASK-Lab и ПК приведена на рисунке 3.3.

 

Контроллер ASK-Lab поддерживает необходимые уровни протокола обмена до сетевого уровня. Остальные уровни поддерживаются внешним модемом. Как видно из рисунка 3.3, независимо от режима работы контроллера, данные, всегда проходят через транспортный уровень, который обеспечивает доставку сообщений. Режим простой трансляции данных (от ПК к периферии контроллера и обратно) реализован таким же способом. За основу транспортного уровня протокола взят протокол ASK-Bus v3.1. Описание протокола ASK-Bus v3.1 приведено в Приложении Ж.

Параметры обмена:

  • скорость передачи данных   2400 бит/сек (до 115200 бит/сек);
  • Биты данных    8;
  • Четность     нет;
  • Стоповые биты    1;
  • Управление потоком   нет.

 

3.1.3.2 Обмен  данными между контроллером и  периферийными устройствами

 

Связь ПК с теплосчетчиком и теплорегулятором обеспечивается в режиме трансляции данных. Формирование/разбор пакетов при обмене данными с теплосчетчиком и теплорегулятором в данном режиме производится непосредственно на ПК.

Сформированный  пакет на ПК для теплосчетчика (либо теплорегулятора) вкладывается в поле данных пакета ASK-Bus. После разбора принятого контроллером ASK-Lab пакета поле данных передается на конечное устройство. Ответ от устройства принимается контроллером и без дополнительной обработки так же вкладывается в поле данных пакета ASK-Bus, и отправляется обратно на ПК, где и происходит разбор ответа устройства.

Примечание – данный режим работы контроллера ASK-Lab позволяет относительно быстро собрать систему на базе практически любых устройств с поддержкой последовательного интерфейса USART, т.к. весь протокол обмена с данным устройством будет реализован на ПК. Этот режим может быть так же использован как отладочный.

 

Работа контроллера ASK-Lab с теплосчетчиком СПТ942

Режимы обмена данных контроллера с теплосчетчиком:

  • Режим прозрачности – данные с ПК передаются на контроллер по интерфейсу RS-232 и протоколу обмена с теплосчетчиком. Контроллер, распознав начальный и конечный символы данного протокола, передает полученный пакет на теплосчетчик.
  • Режим команд – данные с ПК передаются на контроллер по интерфейсу RS-232 и протоколу ASK-Bus. Пакет данных для теплосчетчика вкладывается в поле данных пакета ASK-Bus. Команда 0x00 протокола ASK-Bus - передача данных на периферийное устройство. Контроллер, по этой команде извлекает поле данных из пакета и передает на периферийное устройство.

Параметры обмена:

  • скорость передачи данных   2400 бит/сек.;
  • Биты данных    8;
  • Четность     нет;
  • Стоповые биты    1;
  • Управление потоком   сигнал DTR (всегда активен).

 

Работа контроллера с ECL Comfort 300

Регулятор температуры ECL Comfort 300 Danfoss является полностью самостоятельным  устройством, регулирующим температуру  воды в контуре горячего водоснабжения  и в контуре водяного отопления. Основными функциями контроллера  при работе с ECL Comfort 300 являются функции удаленного мониторинга и изменения режимов работы регулятора. При наличии дополнительного коммуникационного модуля ECA87 для ECL Comfort 300 появляется возможность получать дополнительную информацию с ECL Comfort 300 и непосредственно управлять исполнительными устройствами данного регулятора.

Для обмена данными контроллера  с регулятором температуры ECL Comfort 300 Danfoss используется режим команд (описан выше).

Параметры обмена:

  • скорость передачи данных   1200 бит/сек.;
  • Биты данных    8;
  • Четность     да;
  • Стоповые биты    1;
  • Управление потоком   нет.

 

3.1.4 Обеспечение  робастности и защита информации

 

Важность аспекта защиты информации применительно к ИС обсуждалась  в работах [1], [2]. Там же была предложена концепция использования многоуровневой системы защиты информации в распределенных системах коммерческого учета. Эта концепция с рядом модификаций была реализована в проекте.

При посылке команд записи (изменения) сетевые пакеты с командами  и ответные пакеты должны быть преобразованы. Пакет, посылаемый с ПК, преобразуется с использованием ключа, производного от пароля, введенного инженером АРМ.

При получении пакета ПО контроллера делает обратное преобразование с использованием ключа, производного от пользовательского пароля (введенного на контроллере, аналогичному паролю ПО АРМ). Если контрольная сумма преобразованного блока корректна, производится проверка условия: принятое значение времени больше записанного в памяти контроллера. Если условие выполняется, контроллер выполняет команду. Ответный пакет преобразуется с использованием того же (пользовательского) ключа, содержит значение времени контроллера (значение системного таймера микропроцессора мастера сети).

Для преобразования данных используется алгоритм ГОСТ 28147-89 с постоянной таблицей замен. Контроллер ASK-Lab обеспечивает реализацию преобразования данных в режиме реального времени. 

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

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

Для защиты от атак при  наличии сообщника в составе  персонала, в контроллере ведется  журнал, учета команд управления. Журнал доступен лишь для просмотра с  АРМ инженера, но не может быть откорректирован. Эта информация позволяет фиксировать время и источник команд управления. Эта же информация обеспечивает возможность арбитража в случае незлонамеренных ошибок персонала.

 

3.1.4.1 Преобразование  данных

 

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

Преобразованию подвергается поле STA (статус), CD (код команды) и  поле DATA. Поле флагов протокола ASK-Bus должно содержать только признак необходимости  преобразования, одинаковый для всех команд, требующих преобразования (старший бит = 1).

Состав преобразуемой  информации приведен в таблице 3.3.

Таблица 3.3 – Состав преобразуемой информации

информация

поле ASK-Bus

длина

Поле статуса 

STA

1

код команды

CD

1

параметры команды или  пакет для внешнего устройства

DATA

N

системное время

DATA

4

дополнение до кратности 8 байт

DATA

L

Длина параметров команды N

DATA

1

контрольная сумма

DATA

2


 

Для длины преобразуемых  данных Len должны выполняться условия:  Len mod 8 = 0 и Len >= 16. Контрольная сумма – это сумма всех байтов данных, подвергаемых преобразованию, расположенных до нее (младшими вперед). Дополнение до кратности 8 байт производится заполнением пространства значением системного таймера.

 

3.1.4.1.1 Служебный и пользовательский пароль

 

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

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

При изменении пароля сначала вводится старый пароль, при  его правильности (т.е. при совпадении введенного значения с пользовательским паролем) предлагается ввести новый пользовательский пароль. Длина пароля – от 3 до 6 символов, пароль хранится в энергонезависимой памяти EEPROM контроллера. При успешном изменении пароля обнуляется счетчик времени, служащий для проверки корректности приходящих сетевых пакетов (при приеме каждой новой корректной команды, имеющей преобразованные данные, данный счетчик изменяется на значение поля «время сетевого пакета»).

 

3.1.4.1.2 Ключ  преобразования данных

 

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

На основе пароля формируется  ключ, используемый для преобразования данных. Длина ключа – 256 бит. Расширение пароля до длины ключа осуществляется следующим образом:

  1. преобразование пароля в BCD;
  2. копирование получившейся строки на всю длину ключа;
  3. выполнение операции XOR с неизменяемой константой, хранимой в энергонезависимой памяти контроллера, длина которой равна длине ключа.

 

 

 

3.1.4.1.3 Системное  время

 

Текущее время вычисляет  ПО на ПК, посылающее команду, это время  должно возрастать для каждой следующей  команды (например, число секунд с  начала 2000 года). ПО контроллера проверяет  порядок следования времени в  командах и выполняет только команду со значением времени большим, чем предыдущая. Принятое значение времени хранится в энергонезависимой памяти контроллера. Механизм записи времени исключает порчу значения при пропадании питания. Значение времени записывается до начала реакции на команду.

 

 

3.1.4.2 Защита  от сбоев и протоколирование  событий

 

мОСРВ A3 обеспечивает некоторые функции по защите от сбоев и протоколированию событий, а именно:

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

 

3.1.5 Методы отладки программного  продукта

 

Очевидно, что  написание работоспособного ПО –  весьма трудоемкая задача. Написать сложное ПО без ошибок с первого раза практически невозможно. Поэтому очень важным является вопрос отладки ПО с целью быстрого, эффективного и надежного поиска и исправления ошибок. В следующих подразделах будут рассмотрены вопросы технических возможностей и особенностей отладки, используя среду программирования Microchip MPLab IDE v6.xx и специализированный инструментарий Конструктор А3.

 

3.1.5.1 Основные средства отладки среды  программирования

 

Среда программирования Microchip MPLab IDE v6.xx предоставляет программисту довольно мощные средства отладки. В частности, MPLab содержит интегрированный отладчик и Object Browser для контроля за результатом процесса компиляции, а также ряд других сервисов нацеленных на поддержку процесса отладки. Использованные при разработке сервисы и методы отладки перечислены и описаны ниже.

 

Режимы запуска  программы:

  • программная симуляция микропроцессора (MPLAB SIM)
  • использование аппаратного эмулятора (MPLAB ICE 2000)

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

Второй режим подразумевает, что к ПК через специальный  интерфейс подключен аппаратный эмулятор, в данном случае MPLAB ICE 2000. Этот режим позволяет практически полностью воспроизвести работу реального микропроцессора. Запуск программ с использованием аппаратного эмулятора позволяет проводить отладку и тестирование ПО при работе с любыми аппаратными ресурсами микропроцессора и подключенными периферийными устройствами.

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