Автор работы: Пользователь скрыл имя, 25 Сентября 2012 в 20:17, дипломная работа
В конце прошлого века радикально трансформировалась сущность войны и вооружённой борьбы. В войнах и вооруженных конфликтах вооружённая борьба оказалась отодвинутой на второй план, уступив приоритет политическим, дипломатическим, экономическим, информационным и иным формам противоборства.
Последние вооруженные конфликты указывают на необходимость повышения мобильности частей и подразделений. Быстрое развертывание и свертывание подразделений, их скорое перемещение, снижает вероятность поражения средствами ВТО и ОМП противника.
Введение 16
I. Тактико-техническое обоснование дипломного проекта 17
1.1. Введение в главу 17
1.2. Особенности ведения радиационной и химической разведки, радиационного и химического контроля 17
1.3. Требования, предъявляемые к системе раннего радиационного оповещения. Облик и архитектура перспективной системы на основе сенсорной сети под управлением стандарта IEEE 802.15.4/ZigBee 28
1.4. Постановка задачи 30
II. Разработка структуры системы РХБ разведки 31
2.1. Физический и MAC-уровень (стандарт 802.15.4) 31
2.2. Сетевой уровень (стандарт ZigBee) 43
2.3. Безопасность сети 44
2.4. Сетеобразование 45
2.5. Электромагнитная совместимость 46
III. Разработка инженерного решения системы РХБ разведки 48
3.1. Разработка предложений по инженерному решению системы РХБ разведки на основе сенсорной сети 48
3.2. Разработка структурной схемы датчика (сенсора) 50
3.3. Разработка принципиальной схемы устройства 52
3.4. Разработка программного обеспечения для отображения информации о состоянии датчиков 59
IV. Экономическое обоснование 72
4.1. Экономическая оценка разработки приложения 72
4.2. Расчет и оценка технической надежности устройства 75
Перечень сокращений 82
Заключение 83
Литература 84
ПРИЛОЖЕНИЕ 1 85
Проведение экспериментов – измерение максимальной длительности работы модуля от одного источника питания.
В результате проведенной работы создан прототип перспективной беспроводной системы радиационного оповещения, который по результатам практического тестирования конечного продукта показал соответствие созданной системы предъявляемым требованиям.
Литература
ПРИЛОЖЕНИЕ 1
ИСХОДНЫЙ КОД ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
1.1. Открытие Com – порта
m_hCom = CreateFile("COM8", GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, 0, NULL);
if(m_hCom == INVALID_HANDLE_VALUE) Memo1->Lines->Add(""+t+" Error open COM port");
else
{
Memo1->Lines->Add(""+t+ " COM port was opened");
m_bPortReady = SetupComm(m_hCom, 1024, 1024);
if (m_bPortReady)
{
DCB m_dcb;
m_bPortReady = GetCommState(m_hCom, &m_dcb);
if (!m_bPortReady)
{
Memo1->Lines->Add(""+t+" Cann\'t get COM port state");
return;
}
else
{
m_dcb.BaudRate = 9600;
m_dcb.ByteSize = 8;
m_dcb.Parity = NOPARITY;
m_dcb.StopBits = ONESTOPBIT;
m_dcb.fAbortOnError = TRUE;
m_bPortReady = SetCommState(m_hCom, &m_dcb);
if (!m_bPortReady)
{
Memo1->Lines->Add(""+t+" Cann\'t set COM port state");
return;
}
else
{
COMMTIMEOUTS m_CommTimeouts;
m_bPortReady = GetCommTimeouts (m_hCom, &m_CommTimeouts);
if(!m_bPortReady)
{
Memo1->Lines->Add(""+t+" Cann\'t get COM port timeouts");
return;
}
else
{
m_CommTimeouts.
m_CommTimeouts.
m_CommTimeouts.
m_CommTimeouts.
m_CommTimeouts.
m_bPortReady = SetCommTimeouts (m_hCom, &m_CommTimeouts);
if(!m_bPortReady)
{
Memo1->Lines->Add(""+t+" Cann\'t set COM port timeouts");
return;
}
}
}
}
}
else Memo1->Lines->Add(""+t+" Cann\'t setup COM port");
}
}
1.2. Оповещение диспетчера
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{ с=mzint [i][5];
if (c==126)
{
t=Now();
if (mzint[0][3]==1) Memo1->Lines->Add(""+t+" Тревога : Зона №1-"+Form4->Edit1->Text);
mzint[0][4]=1;
}
for(n=0;n<nd;n++)
{
if (mzint[0][3]==1&&mzint[0][4]==
{Timer2->Enabled=true;
MediaPlayer1->FileName="
MediaPlayer1->Open();
MediaPlayer1->Play();
}
}
}
void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
if (mzint[0][5]==2)mzint[0][5]=3;
m=mzint[0][5]%2;
if (m==0)
{
Image1->Canvas->Brush->Color=
Image1->Canvas->Brush->Style=
Image1->Canvas->Ellipse(mzint [0][1]-10,mzint[0][2]-10,mzint [0][1]+10,mzint[0][2]+10);
mzint[0][5]++;
}
if (m==1)
{ Image1->Canvas->Brush->Color=
Image1->Canvas->Brush->Style=
Image1->Canvas->Ellipse(mzint [0][1]-10,mzint[0][2]-10,mzint [0][1]+10,mzint[0][2]+10);
mzint[0][5]++;
}
}
1.3. Размещение детектора на местности
void __fastcall TForm1::Image1MouseDown(
TMouseButton Button, TShiftState Shift, int X, int Y)
{
if (i<nd&&i>-1) {
Image1->Canvas->Brush->Color=
Image1->Canvas->Brush->Style=
Image1->Canvas->Ellipse(X-10,
mzint [i][1]=X;mzint[i][2]=Y,mzint[
i++;
}
}
1.4. Чтение пакета данных (длина 22 байта)
DWORD nwr=0;
unsigned char k[22],s[256],n;
ReadFile(m_hCom,&k,22,&nwr,