Главная страница

Диссертация на соискание ученой степени кандидата технических наук Владимирский государственный университет


Скачать 6.36 Mb.
НазваниеДиссертация на соискание ученой степени кандидата технических наук Владимирский государственный университет
Анкорzashchita-informatsii-v-telekommunikatsiyakh-asu-tp-khimicheskoi-promyshlennosti
Дата12.04.2023
Размер6.36 Mb.
Формат файлаdoc
Имя файлаzashchita-informatsii-v-telekommunikatsiyakh-asu-tp-khimicheskoi.doc
ТипДиссертация
#1055613
страница25 из 25
1   ...   17   18   19   20   21   22   23   24   25


/ / Чтение одного 32-х разрядного регистра устройства / / Параметры:

// devNum - номер устройства на шине MODBUS

// startAddr - начальный адрес регистра устройства

// value - считанное из устройства значение

int ReadRegister32(unsigned char devNum, unsigned long startAddr, unsigned

long *value) {

register int res; unsigned char *dataPtr; unsigned long nCount;

unsigned short *ptr = (unsigned short *)GetDataPtr(); *ptr = EndianSwap(startAddr); *(ptr+l) = 0x0200;

if ((res = SendDataToDevice(devNum,0x03,4))!=SUCCESSFUL) return res; if ((res = GetDataFromDevice(devNum,SdataPtr,SnCount))!=SUCCESSFUL) return

res;

ptr = (unsigned short *)(dataPtr+3); if (*(dataPtr+2)!=4) return READ_ERROR; *ptr = EndianSwap(*ptr); *(ptr+l) = EndianSwap(*(ptr+1)); *value = *((unsigned long*)ptr); return res;

}

// Чтение одного 16-ти разрядного регистра устройства / / Параметры:

// devNum - номер устройства на шине MODBUS

// startAddr - начальный адрес регистра устройства

// value - считанное из устройства значение

int ReadRegisterl6(unsigned char devNum, unsigned long startAddr, unsigned

short *value) {

register int res; unsigned char *dataPtr; unsigned long nCount;

unsigned short *ptr = (unsigned short *)GetDataPtr(); *ptr = EndianSwap(startAddr); *(ptr+1) = 0x0100;

if ((res = SendDataToDevice(devNum,0x03,4))!=SUCCESSFUL) return res; if ((res = GetDataFromDevice(devNum,SdataPtr,SnCount))!=SUCCESSFUL) return

res;

ptr = (unsigned short *)(dataPtr+3); if (*(dataPtr+2)!=2) return READ_ERROR; *value = EndianSwap(*ptr); return res;

}

/ / При записи используются все те же параметры что и при чтении

int WriteRegisters(unsigned char devNum, unsigned long startAddr, unsigned long count,

unsigned short *data,unsigned long *regStart, unsigned long *nRegs)

{

register int res;

unsigned char *dataPtr = GetDataPtr(); unsigned long nCount; unsigned char byteCount;

unsigned short *ptr = (unsigned short *)dataPtr;

*ptr = EndianSwap(startAddr);

*(ptr+l) = EndianSwap(count);

byteCount = (count&OxFF)
*(dataPtr+4) = byteCount;

ptr = (unsigned short *) (dataPtr+5);

memcpy (ptr, data, counted) ;

if ((res = SendDataToDevice(devNum,0x10,5 + byteCount))!=SUCCESSFUL) return res;

if ((res = GetDataFromDevice(devNum,SdataPtr,SnCount))!=SUCCESSFUL) return

res;

ptr = (unsigned short *)(dataPtr+2); *regStart = EndianSwap(*ptr); "nRegs = EndianSwap(*(ptr+1)); return res;

}

int WriteRegisterl6(unsigned char devNum, unsigned long startAddr, unsigned

short value) {

register int res;

unsigned char *dataPtr = GetDataPtr(); unsigned long nCount; unsigned char byteCount;

unsigned short *ptr = (unsigned short *)dataPtr;

*ptr = EndianSwap(startAddr);

*(ptr+1) = 0x0200;

byteCount = 2;

*(dataPtr+4) = byteCount;

ptr = (unsigned short *)(dataPtr+5);

*ptr = EndianSwap(value);

if ((res = SendDataToDevice(devNum,0x10,5 + byteCount))!=SUCCESSFUL) return res;

if ((res = GetDataFromDevice(devNum, SdataPtr, SnCount)) !=SUCCESSFUL) return

res;

return res;

}

int WriteRegisters32(unsigned char devNum, unsigned long startAddr, unsigned long count,

unsigned long *data,unsigned long *regStart, unsigned long *nRegs)

{

register int res;

unsigned char *dataPtr = GetDataPtr(); unsigned long nCount; unsigned char byteCount;

unsigned short *ptr = (unsigned short *)dataPtr;

*ptr = EndianSwap(startAddr);

* (ptr+1) = EndianSwap (counted) ;

byteCount = ((count<
*(dataPtr+4) = byteCount;

ptr = (unsigned short *)(dataPtr+5);

memcpy(ptr,data, count<<2) ;

if ((res = SendDataToDevice(devNum,0x10,5 + byteCount))!=SUCCESSFUL) return res;

if ((res = GetDataFromDevice(devNum, SdataPtr,SnCount))!=SUCCESSFUL) return

res;

ptr = (unsigned short *)(dataPtr+2); *regStart = EndianSwap(*ptr); *nRegs = EndianSwap(*(ptr+1)); return res;

}

int WriteRegister32(unsigned char devNum, unsigned long startAddr, unsigned

long value) {

register int res;

unsigned char *dataPtr = GetDataPtr(); unsigned long nCount; unsigned char byteCount;

unsigned short *ptr = (unsigned short *)dataPtr;

*ptr = EndianSwap(startAddr);

*(ptr+1) = 0x0200;

byteCount = 4;

*(dataPtr+4) = byteCount;

ptr = (unsigned short *)(dataPtr+5);

*ptr = EndianSwap((unsigned short)(value & OxFFFF)); *(ptr+l) = EndianSwap((unsigned short)(value>>l6));

if ((res = SendDataToDevice(devNum,0x10,5 + byteCount))!=SUCCESSFUL) return res;

if ((res = GetDataFromDevice(devNum,SdataPtr,&nCount))!=SUCCESSFUL) ret

res;

return res;

}

//********** Возвращает ответ устройства в миллисекундах ******************** //***************************************************************************

long GetResponseTime(){ return _mod_responseTime;}

/у***************************************************************************

jу**************** Вывод сообщения об ошибке ******************************** //***************************************************************************

void _mod_PrintError(int err) {

printf("*** MODBUS ERROR %d ***: ",err); switch(err){

04200911472 Дерябин Александр Вячеславович 1

Защита информации в телекоммуникациях АСУ ТП химической промышленности 1

1 УГРОЗЫ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ И УЯЗВИМОСТИ АСУ ТП 9

1.1 Телекоммуникации АСУ ТП 9

1.1.1 Типовая структура АСУ ТП 9

¡1]]]]]] 1ЕШ ШШ В11 36

Il i 46

2 ЗАЩИТА ИНФОРМАЦИИ В АСУ ТП 63

i 398

А=я2/я, 1 ... ык (43Л) 543

А = — ■ А ; А = — ■■ АА, =—■ А 576

А =

" А ^ А = " А ^ ■ ■ ■ ^ А = " А 577

М1 = --М»>М2 = --М»>-'>Мп-, = —-А 579

к. т, 843

Акт внедрения 843

printf("undefined error"); break;


}ПРИЛОЖЕНИЕ S



Экранный снимок программы MUDBUS MAS'Г1-К





icrosoft Windows XP [Версия 5.1.2600 CO Корпорация Майкрософт, 1985-2001.

C:\Docui4ents and SettingsSAnMHMHCTpaTop>cd..

C:\DocUMonts and Settings)cd..

С: \ )no dbus пав t e r. e xe

modbusmaster uZ.l

usage : mo dbus piaster [options] [long options] long options:

COM port options:

con [port],[baudrate],[format 3,[flow]

[port] - port папе


_ в X

I-


<9600 - by default)

[baudrate] set con port baudrat


e



[format] - data format In special form: [XHPHS], i.e. 8N1

where [X] — number bits of data [5..81 <8 — by default>

[PI - parity type: (N, E

[S3 - number of stop bits [1,23 <1 - by default>

[flow] — flow control: [none, soft, hard, both3 (none — by default)

[flow]

MODBUS options: —node

node - device number [0..2473 —function - select HODBUS function

rag — register index that must be read or write

data - data string that would transmit to register

byte - set byte numltar in message which point to a number

items - count of items to read

scan - perform a full MODBUS net scan for any devices —listen - listen COM port short options:

-d - enable COM port debug mode, data type visualization:

[dec,bin,hex.oct,float] -c automatic calculation CRC of the BflU data

-r - read one register of the device according the following format: b - print data as BIN

  1. - print data as OCT h - print data as HEX

f — print data as float c - print data as set of chars print data as DEC by default —w - write register

32 write data to 32 bit register 16 - write data to 16 bit register raw - write raw data to port -e — endiari type:

b - use in register operation big endians

  1. - use in register operation little endians

if both parameters are set use half big endians {only

2 numbers)

  • enable ASCII mode Cnot fully supported )

  • print device response tine

  • listen COM port

verbos

eПРИЛОЖЕНИЕ 9

АКТЫ ВНЕДРЕНИЯ«Утверждаю» Генеральный директор ООО «ПСВ-Холдинг»

/

/

7


Д. Ю. Пунин



АКТ ВНЕДРЕНИЯ

Результаты исследований, полученные Дерябиным A.B. при выполнении диссертационной работы, в частности:

Методики и рекомендации по обеспечению информационной безопасности каналов связи в АСУТП, а также рекомендации по выбору программных и аппаратных средств для проектирования автоматизированной системы управления технологическими процессами, соответствующих стандартам и требованиям по безопасности в химической промышленности.

внедрены в 2008-2009 году на нашем новом производственном предприятии в г.Электросталь, Московской области - в АСУТП комплекса по производству поливииилхлорида и бумвинила.

Методики и рекомендации позволили существенно облегчить работу проектировщиков при выборе методов и средств защиты информации. Методики позволили повысить защищенность информации и телекоммуникаций в АСУТП предприятия. Выработанные методики позволили снизить количество сбоев в технологическом процессе из-за искажения или потери информации, что положительно сказалось на качестве выпускаемой продукции


.







С

Лохиов М. В.

Семенов А. А


.

и








АКТ ВНЕДРЕНИЯ

Результаты, полученные Дерябиным A.B. при выполнении диссертационной работы, в частности:

  • Методики защиты телекоммуникаций АСУТП верхнего и нижнего уровней;

  • Рекомендации по обеспечению защиты проводных и беспроводных каналов связи АСУТП и SCADA-систем;

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





Сергеев М. А.


Главный инженер:


Руководитель проектной группы:



Методики показали высокую эффективность и позволили существенным образом увеличить защищенность передаваемой информации и всей системы в целом

.
к. т,

Акт внедрения

Результаты, полученные Дерябиным A.B. при выполнении диссертационной работы, в частности:

    1. Методики применения различных способов защиты информации от несанкционированного доступа в АСУТП;

    2. Рекомендации по защите телекоммуникационных и компьютерных сетей;




внедрены на нашем предприятии в 2008-2009гг. Они нашли практическое применение при обмене информацией с нашими филиалами в гг. Иваново, Санкт-Петербург, Омске и т.п.


Сирко С. Э.

Указанные методики хороши тем, что при сравнительно небольших затратах обеспечивают высокую эффективность и не требуют специальной подготовки нашего персонала.






Начальник отдела-








Смушко О.Л.

Начальник лаборатории





(т) /* 192
1   ...   17   18   19   20   21   22   23   24   25


написать администратору сайта