Автор работы: Пользователь скрыл имя, 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
Функции микропроцессора PIC_Danf:
Состав модулей ПО микропроцессора 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 приведено в Приложении Ж.
Параметры обмена:
3.1.3.2 Обмен данными между контроллером и периферийными устройствами
Связь ПК с теплосчетчиком и теплорегулятором обеспечивается в режиме трансляции данных. Формирование/разбор пакетов при обмене данными с теплосчетчиком и теплорегулятором в данном режиме производится непосредственно на ПК.
Сформированный пакет на ПК для теплосчетчика (либо теплорегулятора) вкладывается в поле данных пакета ASK-Bus. После разбора принятого контроллером ASK-Lab пакета поле данных передается на конечное устройство. Ответ от устройства принимается контроллером и без дополнительной обработки так же вкладывается в поле данных пакета ASK-Bus, и отправляется обратно на ПК, где и происходит разбор ответа устройства.
Примечание – данный режим работы контроллера ASK-Lab позволяет относительно быстро собрать систему на базе практически любых устройств с поддержкой последовательного интерфейса USART, т.к. весь протокол обмена с данным устройством будет реализован на ПК. Этот режим может быть так же использован как отладочный.
Работа контроллера ASK-Lab с теплосчетчиком СПТ942
Режимы обмена данных контроллера с теплосчетчиком:
Параметры обмена:
Работа контроллера с ECL Comfort 300
Регулятор температуры ECL
Comfort 300 Danfoss является полностью самостоятельным
устройством, регулирующим температуру
воды в контуре горячего водоснабжения
и в контуре водяного отопления.
Основными функциями
Для обмена данными контроллера с регулятором температуры ECL Comfort 300 Danfoss используется режим команд (описан выше).
Параметры обмена:
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 бит. Расширение пароля до длины ключа осуществляется следующим образом:
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 для контроля за результатом процесса компиляции, а также ряд других сервисов нацеленных на поддержку процесса отладки. Использованные при разработке сервисы и методы отладки перечислены и описаны ниже.
Режимы запуска программы:
Первый режим позволяет симулировать работу реального микропроцессора, но имеет ряд существенных ограничений. Так, например, отсутствует возможность работы с прерываниями, периферийными устройствами, встроенной энергонезависимой памятью (EEPROM) и памятью программ для операций чтения и записи. Этот режим можно использовать для запуска и отладки программ (фрагментов кода), не использующих вышеперечисленных ресурсов. Например, этот способ будет хорош при отладке различных математических функций, функций непосредственной обработки данных и д.р. При этом, процесс написания и отладки ПО может происходить с использованием одного ПК, без каких-либо других аппаратных средств.
Второй режим подразумевает, что к ПК через специальный интерфейс подключен аппаратный эмулятор, в данном случае MPLAB ICE 2000. Этот режим позволяет практически полностью воспроизвести работу реального микропроцессора. Запуск программ с использованием аппаратного эмулятора позволяет проводить отладку и тестирование ПО при работе с любыми аппаратными ресурсами микропроцессора и подключенными периферийными устройствами.
Информация о работе Распределенная информационно- управляющая система поток-С