Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

84
UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO Danilo Feher Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5-104 DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA Mentor: doc. dr. Boštjan Murovec Ljubljana, april 2007

Transcript of Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Page 1: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

UNIVERZA V LJUBLJANI FAKULTETA ZA ELEKTROTEHNIKO

Danilo Feher

Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5-104

DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA

Mentor: doc. dr. Boštjan Murovec

Ljubljana, april 2007

Page 2: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

ii

Page 3: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

»Preteklost je kot morje, ki spreminja obale prihodnosti!«

(Ang. The past is like the sea that shapes the shores of tomorrow!)

iii

Page 4: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

iv

Page 5: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Zahvala

Za vsestransko strokovno podporo in prijateljstvo se

zahvaljujem mentorju dr. Boštjanu Murovcu, ki mi je v

vsakem trenutku s svojim nasvetom znal nakazati pot

ter je izkazal zaupanje v moje delo.

Zahvaljujem se kolektivu podjetja CCE, ki me je

brezpogojno podpiralo na vsakem koraku. Predvsem pa

mentorju s strani podjetja Ivotu Marcu za številne

strokovne in prijateljske nasvete.

v

Page 6: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

vi

Page 7: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Povzetek Komunikacijski sistemi so dandanes prisotni na vsakem koraku. Vsakdo izmed

nas ima mobitel, stanovanjski bloki domofon, prav tako je večina računalnikov, tako v

podjetjih kot tudi doma, priklopljenih v LAN in internet. Povezava raznih

komunikacijskih sistemov zahteva, da so podatki navzven predstavljeni uniformno po

nekem pravilu. Tako uniformnost omogočajo standardi in protokoli. Standardi prav

tako omogočajo konkurenčnost za proizvajalce in gradnike sistemov ter globalizacijo

izmenjave podatkov.

V procesu distribucije električne energije se globalizacija pretoka podatkov

pozna predvsem pri nadzoru in vodenju le-te. To velja tudi za druga podobna

omrežja, kot so plinovod, vodovod in naftovod. Vsako od naštetih omrežij ima svoje

specifične lastnosti, ki jih je potrebno nadzorovati, v primeru ekstremnih dogodkov pa

primerno hitro ukrepati, kar posledično vodi k globalnemu nadzoru. V energetiki take

centre na najvišjem nivoju imenujejo nacionalni center vodenja (ang. national control

center, NCC). Skladno z nenehnim povečanjem populacije in rastjo industrije se veča

tudi poraba energije. To vodi v izgradnjo nove in širjenje obstoječe infrastrukture, kar

zahteva posodabljanje komunikacijskih zmogljivosti.

Posodobitev komunikacijskih zmogljivosti zahteva združevanje sistemov

različnih obdobij, grajenih na komunikacijskih tehnologijah svojega časa. Pri tem

pridemo tudi do točke, kjer je potrebno združiti asinhrono serijsko komunikacijo s

sodobno Ethernet tehnologijo. Nadgradnja komunikacijske opreme je teoretično

možna od sistema nadzora, vodenja in zajema podatkov (ang. supervisory control

and data aqusition, SCADA) do končne električne naprave tega sistema, ki je

sekundarna oprema (zaščitni rele). Vendar tako poseganje v nadzorni sistem ni

smiselno, če ni pretečena življenjska katerega elementa tega sistema. Zamenjava

opreme nosi za posledico velike stroške nove primerne sekundarne opreme (zaščitni

rele) ali vmesnih elementov komunikacijskega sistema (omrežno stikalo,

usmerjevalnik,…) ter inženiringa te opreme. Namesto menjave opreme se problem

rešuje z dodajanjem zunanjih modulov, ki premostijo tehnološke razlike med

komunikacijskimi protokoli.

V diplomski nalogi smo se posvetili problemu premostitve tehnoloških razlik

prenosa podatkov na eni strani po asinhronem serijskem načinu ter na drugi strani

vii

Page 8: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

preko Etherneta. Diplomska naloga zajema primer možnosti programske in strojne

izvedbe takega prevajalnika protokola.

Ključne besede: komunikacije v energetiki, protokol IEC60870-5-101, protokol

EC60870-5-104, mikrokrmilnik PIC18F4550, ethenet samostojni krmilnik ENC28J60

viii

Page 9: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Abstract

Communication systems are nowadays present everywhere. Everybody has a cell

phone, every apartment block has an intercom and almost every business and home

computer is connected to LAN and Internet. Connection of different communication

systems requires that data in transmission is organized in a rather stringently

prescribed way according to underlying relevant standards and protocols. Standards

also allow fair competition for developers of communications systems and

globalization of data interchange.

Regarding distribution of electrical power, globalization affects mainly control

and management subsystems of the whole distribution system. Such globalization is

also characteristic for other distribution systems: pipelines, gas lines and oil lines.

Each of these systems has its own special requirements and requires fast response

in emergency cases, which all leads to global control centers. Within the field of

power systems, the highest level of these centers is known as national control

centers.

Population and industry growth result in constant growth of energy

consumption, which is reflected in investments in new and expansion of existing

infrastructure. Consequently expansion of control and communication systems is also

required, which often leads to modernization of existing systems that are built on

communication technology from several decades.

On a certain point a necessity arises to connect old fashion asynchronous

serial data transfer to Ethernet data transfer and vice versa. An upgrade of the

existing system is possible from the supervisory, control and data acquisition system

(SCADA), till the last electrical equipment of the secondary system (protection relay).

To replace an existing relay with a new one, which is able to communicate with

Ethernet, is mostly unreasonable due to extremely high costs of new equipment and

its engineering, especially in its life span. Instead, external converters are added, by

means of which we are able to bridge the technological gap of different decades.

This thesis deals with building and studying such a converter and its attributes,

the problem of transferring asynchronous serial data over Ethernet.

ix

Page 10: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Keywords: communication in power systems, IEC60780-5-101 protocol, IEC60780-5-

104 protocol, microcontroller PIC18F4550, Ethernet stand-alone controller

ENC28J60.

x

Page 11: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

KIVONAT A kommunikációs rendszerek ma már mindenhol jelen vannak. Majdnem

mindenkinek van már mobil telefonja, a lakóházak domofonokkal vannak felszerelve,

a számítógépek többsége, úgy a vállalatoknál mint otthon, rá van kötve a LAN-ra és

az internetre. A különböző kommunikációs rendszerek összeköttetése megköveteli,

hogy az adatok a külvilág felé egységesen, meghatározott szabály szerint kerüljenek

bemutatásra. Az ilyen jellegű egységességet a sztenderdek és a protokoll teszi

lehetővé. A sztenderdek a gyártóknak és a rendszerépítőknek éppúgy lehetővé

teszik a versenyképességet és az adatcsere globalizációt.

Az elektromos energia disztribúciós folyamatában az adatátvitel globalizáció

elsősorban ezek felügyeleténél és irányításánál nyilvánul meg. Ez érvényes más

hasonló hálózatokra is, mint amilyenek a gázvezeték, a vízvezeték és a

kőolajvezeték. A felsorolt hálózatok mindegyikének megvannak a sajátos

tulajdonságai, amelyek felügyeletre szorulnak, szélsőséges esetekben pedig gyors

intézkedést igényelnek, ami következetesen a globális felügyelethez vezet. Az

energetikában az ilyen központokat a legmagasabb szinten Nemzeti Irányító

Központnak nevezik (ang. national control center, NCC). A lakosság és az ipari

fejlődés állandó növekedésével növekszik az energiafogyasztás is. Ez új, és a már

meglévő infrastruktúrák kiépítéséhez vezet, ami a kommunikációs képesség

korszerűsítését igényli.

A kommunikációs képesség korszerűsítése a különböző időszakokban, az

annak megfelelő kommunikációs technológián kiépített rendszerek egységesítését

igényli. Itt jutunk el addig a pontig, amikor az aszinkron szériás kommunikációt

korszerű Ethernet tehnológiával kell egységesíteni. A kommunikációs felszerelés

továbbfejlesztése elméletileg a felügyelőrendszertől, irányítástól és adatmerítéstől

(ang. supervisory control and data aqusition, SCADA) ezen rendszer végső

elektromos készülékéig lehetséges, ami másodlagos felszerelés (védő relé). A

felügyelő rendszerbe való ilyen jellegű beavatkozás értelmetlen, ha nem járt le ezen

rendszer »kereg« elemének élettartama. A felszerelés cseréjének

következményeként komoly költségek merülnek fel az új megfelelő szekundáris

felszerelés (védőrelé) vagy a kommunikációs rendszer köztes elemeinek (hálózati

kapcsoló, irányító...), valamint ezen felszerelés inzseniringje miatt. A probléma a

xi

Page 12: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

felszerelés cseréje helyett külső modulok kiegészítésével oldható meg, amelyek

áthidalják a kommunikációs protokollok között lévő technológiai különbséget.

A diplomadolgozatban egyrészt az aszikron szériamódon, másrészt pedig az

Etherneten keresztül történő adatátvitel technológiai eltéréséből eredő probléma

áthidalására fordítottuk a legnagyobb figyelmet. A diplomadolgozat magába foglalja a

program és a gépi kivitelezés ilyen jellegű protokoll átvitel lehetőségét.

Kulcsszavak: kommunikáció az energetikában, protokoll IEC60870-5-101, protokoll

IEC60870-5-104, mikrovezérlő: PIC18F4550, Ethernet önálló vezérlő: ENC28J60

xii

Page 13: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Vsebina 1 UVOD................................................................................................................................................1 1.1 KOMUNIKACIJA V ELEKTROENERGETSKIH SISTEMIH ................................................................2 1.2 KOMUNIKACIJSKI STANDARDI......................................................................................................5 2 TEMA DIPLOMSKE NALOGE....................................................................................................7 2.1 CILJ ................................................................................................................................................8 3 PRENOS PODATKOV .................................................................................................................10 3.1 STRUKTURA PODATKOV IEC60870-5-101 TER IEC60870-5-104 PO ISO/OSI ........................10 3.2 PRENOS IEC60870-5-101 PODATKOV PO TCP/IP (IEC IEC60870-5-104) ..............................13 3.3 IZVEDBA PRENOSA PODATKOV ...................................................................................................18 4 OPIS RAZVOJNEGA OKOLJA IN STROJNE IZVEDBE......................................................20 4.1 RAZVOJNO ORODJE MPLAB IDE ...............................................................................................20 5 STROJNA OPREMA ....................................................................................................................22 5.1 MIKROKRMILNIK PIC18F4550 ..................................................................................................22 5.1.1 REGISTRI IN POMNILNIK MIKROKRMILNIKA PIC18F4550 .........................................................25 5.1.2 USART REGISTRI.......................................................................................................................28 5.1.3 SPI REGISTRI ..............................................................................................................................29 5.1.4 PREKINITVE IN Z NJIMI POVEZANI REGISTRI...............................................................................30 5.2 ETHERNET KRMILNIK ENC28J60 ..............................................................................................31 5.2.1 ORGANIZACIJA POMNILNIKA IN DOSTOP DO REGISTROV ENC28J60 KRMILNIKA .....................35 5.2.2 INICIALIZACIJA ENC28J60 ........................................................................................................37 6 POSTAVITEV SISTEMA.............................................................................................................39 6.1 IZRAČUN PRENOSNE HITROSTI USART ....................................................................................40 6.1.1 PRIMER IZRAČUNA .....................................................................................................................41 6.2 PROGRAMSKA KODA ...................................................................................................................42 6.3 OPAZOVANJE PRETOKA PODATKOV...........................................................................................43 7 ZAKLJUČEK.................................................................................................................................45 8 SEZNAM UPORABLJENIH VIROV .........................................................................................47 9 PRILOGA.......................................................................................................................................52 9.1 COMPROTWARE:TESTTOLL ....................................................................................................52 9.2 ETHEREAL-NETWORK PROTOCOL ANALYSER .........................................................................56 9.3 PRIEMER IEC60870-5-104 OKVIRJA ..........................................................................................59

xiii

Page 14: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Seznam tabel

Tabela 1 ................................................................................................................................... 28 Tabela 2 ................................................................................................................................... 28 Tabela 3 ................................................................................................................................... 29 Tabela 4 ................................................................................................................................... 29 Tabela 5 ................................................................................................................................... 30 Tabela 6 ................................................................................................................................... 37

xiv

Page 15: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Seznam slik

Slika 1 .........................................................................................................................................3 Slika 2. ........................................................................................................................................4 Slika 3 .........................................................................................................................................4 Slika 4 .........................................................................................................................................5 Slika 5 .........................................................................................................................................7 Slika 6 .........................................................................................................................................8 Slika 7 .......................................................................................................................................10 Slika 8 .......................................................................................................................................11 Slika 9 .......................................................................................................................................11 Slika 10 .....................................................................................................................................12 Slika 11 .....................................................................................................................................13 Slika 12 .....................................................................................................................................14 Slika 13 .....................................................................................................................................15 Slika 14 .....................................................................................................................................16 Slika 15 .....................................................................................................................................17 Slika 16 .....................................................................................................................................18 Slika 17 .....................................................................................................................................24 Slika 18 .....................................................................................................................................25 Slika 19 .....................................................................................................................................26 Slika 20:....................................................................................................................................27 Slika 21 .....................................................................................................................................32 Slika 22 .....................................................................................................................................33 Slika 23 .....................................................................................................................................33 Slika 24 .....................................................................................................................................34 Slika 25 .....................................................................................................................................35 Slika 26 .....................................................................................................................................36 Slika 27 .....................................................................................................................................40 Slika 28 .....................................................................................................................................43 Slika 29 .....................................................................................................................................44 Slika 30 .....................................................................................................................................45 Slika 31 .....................................................................................................................................52 Slika 32 .....................................................................................................................................53 Slika 33 .....................................................................................................................................53 Slika 34 .....................................................................................................................................54 Slika 35 .....................................................................................................................................54 Slika 36 .....................................................................................................................................55 Slika 37 .....................................................................................................................................56 Slika 38 .....................................................................................................................................56 Slika 39 .....................................................................................................................................57 Slika 40 .....................................................................................................................................57 Slika 41 .....................................................................................................................................58 Slika 42 .....................................................................................................................................58 Slika 43 .....................................................................................................................................59

xv

Page 16: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Seznam akronimov in izrazov IED – inteligentna elektronska naprava (ang. inteligent electronic device)

LAN – lokalno računalniško omrežje (ang. local area network)

MAN – mestno računalniško omrežje (ang. metropolitan area network)

WAN – široko računalniško omrežje (ang. wide area network)

osrednji računalnik – prilagojen paketni obdelavi podatkov, prilagajali so jih tudi

terminalski rabi, dostop v tem primeru omogočen s pomočjo terminalov (ang.

mainframe)

terminal – omogoča dostop do podatkov, shranjenih v osrednjem računalniku,

sestavljata ga vhodna enota (tipkovnica) ter izhodna enota (monitor) (ang.

terminal)

SCADA –nadzor, vodenje in zajem podatkov ( ang. supervisory control and data

acquisition), sistem s katerim se nadzira in vodi geografsko porazdeljen

proces

ISO – mednarodna organizacija za standardizacijo (ang. international organization

for standardization)

OSI – skupina za povezovanje odprtih sistemov (ang. open systems interconnection),

uveljavlja standarde za odprto zgradbo komunikacije (model ISO/OSI)

ISO/OSI – model povezljivosti odprtih sistemov po ISO

DTE – digitalna terminalna oprema (ang. digital terminal equipment)

DCE – oprema za digitalno komunikacijo (ang. digital communication equipment)

EIA – združenje proizvajalcev elektronike (ang. electronic industries association)

EES – elektroenergetski sistem

ASDU – podatkovna enota aplikacijske ravni modela ISO/OSI (ang. application

service data unit)

ITU-T – mednarodna telekomunikacijska zveza, sector za telekomunikacije (angl.

international telecommunication union; telecommunications sector)

RP – razdelilna postaja

TP – transformatorska postaja

ISE – integrirano programsko okolje (ang. integrated software environment)

NCC – nacionalni nadzorni center (ang. national control center)

CEN – evropski komite za standardizacijo (ang. Comité Européen de Normalisation)

ASIC – aplikacijsko namensko vezje (ang. application specific integrated circuit)

xvi

Page 17: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Seznam akronimov in izrazov nadaljevanje

CRC – krožno-čezmerno preverjanje (ang. cyclic redundancy check)

Zlog – skupek 8 zaporednih bitov (ang. byte)

Paket – zaključna skupina bitov in temeljna podatkovna enota za prenos v omrežju s

paketnim preklapljanjem (ang. package)

RTC – ura realnega časa (ang. real-time clock)

EEPROM – električno zbrisljiv in programirljiv bralni pomnilnik (ang. electrically

erasable programmable read-only memory)

USART – univerzalni serijski asinhronski prejemnik oddajnik (ang. universal serial

asynchronous receiver transmitter)

SPI – serijski periferni vmesnik, standard prenosa podatkov (ang. serial peripheral

interface)

MSSP – sinhroni serijski vmesnik (ang. master synchronous serial port)

I2C – standard prenosa podatkov med integriranimi vezji znotraj naprave (ang. inter–

integrated circuit)

MAC – enolična številka, ki jo vsebuje vsaka naprava, priklopljena na omrežje (ang.

media access code), pod sloj podatkovno – povezovalnega sloja ISO/OSI modela

PHY – del integriranega vezja, ki skrbi za fizični pretok podatkov po mediju (ang.

physical medium independent), pod sloj podatkovno – povezovalnega sloja ISO/OSI

modela

ICSP – serijsko programiranje integriranega vezja v zgrajenem vezju (ang. in–circuit

serial programing)

POR – ponastavitev ob zagonu (ang. power on reset)

xvii

Page 18: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …
Page 19: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

1 Uvod Dandanes je prenos podatkov trg, ki se nenehno širi, vedno večje količine

podatkov se prenašajo vedno hitreje. Uporabljajo se različni načini prenosa

podatkov, žični ter brezžični prenos. Tako komuniciranje nam omogoča, da sežemo

čez meje lokalnih povezav s tiskalniki in podobnimi elektronskimi napravami preko

splošnega serijskega vmesnika, USB (ang. universal serial bus) [17: str. 614] in

RS232 [17: str. 499], na nivo LAN omrežij [17: str. 121]. Večina računalnikov ter

inteligentnih elektronskih naprav (ang. inteligent electronic device, IED), danes že

podpira mrežno komunikacijo po standardu Ethernet [17: str. 121].

Izraz Ethernet je potrebno uporabljati zmerno, obzirno. Izraz eter (ang. ether)

izhaja iz začetkov 19. stoletja, ko so znanstveniki tako poimenovali potencialno snov,

ki naj bi bila brez prekinitve prisotna v celotnem vesolju ter primerna za prenos

elektromagnetnih valov [8: str. 121]. V tehnološkem smislu se izraz Ethernet

navezuje na standard IEEE 802.3 [7: str. 21, 17: str. 121, 17: str. 160], ki opisuje

način prenosa informacij na fizičnem nivoju po metodi zaznavanja prenosa in

odkrivanja trkov (ang. carier sense multiple access with collision detection

(CSMA/CD) access methode and physical specification) [7: str. 27, 17: str. 61].

Naprave, povezane med sabo z Ethernet tehnologijo, tvorijo lokalno mrežo, LAN

(ang. local area network), več medsebojno povezanih LAN omrežij tvori mestno

omrežje, MAN (ang. metropolitan area network), več teh pa tvori široko omrežje,

WAN (ang. wide area network). Da lahko naprave komunicirajo med seboj, je

potrebna primerna elektronika in primerna predstavitev podatkov. Zaradi

konkurenčnosti, globalizacije in možnosti povezovanja raznih sistemov so nastali

standardi. Standardi opisujejo izvedbo strojne in programske opreme, da bo

ustrezala uniformnemu načinu pretoka podatkov, model ISO/OSI [2: str. 17, 17: str.

267].

Prvi začetki in poskusi povezovanja računalnikov oz. terminalov segajo v leto

1960. Vlade ZDA je financirala projekt, kjer naj bi povezali dva računalnika med seboj

preko serijskega načina prenosa podatkov. Takrat je to bilo mišljeno kot digitalna

izmenjava podatkov med osrednjim računalnikom (ang. mainframe) ter terminalnim

uporabnikom oz. med dvema terminaloma. Pri večjih razdaljah tak način zahteva

konstantno priključen modem na obeh napravah. Taka komunikacija je neugodna,

saj modema komunicirata po telefonski liniji. Takrat je bil formiran tudi komite EIA

Page 20: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

(ang. Electronic Industries Association). Ta komite naj bi pomagal uvesti enotnost

med proizvajalci. Prav tako se je formiral komite zunaj ZDA, imenovan CCITT (ang.

Consultative Committee on International Telegraphy and Telephony), ki je zagovarjal

V.24 standard. Standard V.24 je namenjen opisu izvedb vezja, ki omogočajo RS232

prenos podatkov.

1.1 Komunikacija v elektroenergetskih sistemih Elektroenergetski sistemi (EES) se razvijajo skladno s potrebami po porabi

električne energija in novimi tehnološkimi rešitvami. EES tvori več sistemov:

generator, transformator, daljnovod; ti spadajo v skupino primarni sistem. Primarni

sistem mora v vsakem trenutku odjemalcem zagotavljati električno energijo

predpisane kvalitete [3: str. 1]. Za varno delovanje primarnega sistema skrbi

sekundarni sistem, ki ga sestavljajo naprave za avtomatizacijo, zaščito, nadzor in

vodenje [3: str. 1]. Osnovne zahteve zaščitnih relejev so hitrost delovanja,

selektivnost, občutljivost, zanesljivost ter ekonomičnost. Poleg teh osnovnih,

obstajajo še dodatne zahteve, ki so povezljivost, prilagodljivost, samonadzor

[3: str. 1]. Prav povezljivost ima pomembno vlogo pri napravah EES, saj omogoča

povezovanje le teh med seboj ter v sistem SCADA [1: str. 1, 3: str. 1].

Daljinsko vodenje zajema komunikacijo med zaščitnimi napravami, napravami,

ki daljinsko vodenje omogočajo ter sistemom za nadzor, vodenje in zajem podatkov

(ang. supervisory control and data acquisition, SCADA) [16: str. 43]. Osnovna naloga

sistema vodenja je vzdrževanje ravnotežja med proizvodnjo in porabo električne

energije v EES [1: str. 1, 3: str. 1] . Vsak sistem je lahko sestavljen iz opreme

različnih proizvajalcev, kot so ABB [35], Siemens Energy & Automation [36], Areva

[38], Iskra sistemi [37], GE [39]. To omogočajo standardi.

Dinamika razvoja EES zahteva vključevanje in združevanje obstoječih

sistemov, katerim se življenjska doba še ni iztekla, z novimi sistemi, kot prikazuje

slika 1.

2

Page 21: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 1: razširjanje primarnega in sekundarnega sistema.

V času statičnih zaščit je bila komunikacija večinoma enosmerna in omejena na

prenos občasnih prožitvenih ali blokirnih logičnih signalov. Ti signali so se prenašali

po posebnih pilotskih vodih ali kot visokofrekvenčni signali po samih daljnovodih.

Signali so obsegali le informacijo o delovanju zaščite ter vrsti in zaporedju dogodkov.

Pri sodobnih numeričnih (mikroprocesorskih) zaščitah je potreba po komuniciranju v

realnem času vedno večja in ponuja nove možnosti uporabe, slika 2.

3

Page 22: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 2: zgradba numeričnega (mikroprocesorskega) releja, preslikano iz [3: str. 239].

Sodobni IED-ji omogočajo sprotni prenos večje količine informacij po optičnih

komunikacijskih vodih, hitrejšo komunikacijo s sistemom za nadzor, poseganje do

podatkov IED-jev globalno. Našteto je samo nekaj izmed mnogih možnosti, ki jih le-ti

omogočajo [3: str. 2].

Slika 3: proces vodenja, preslikano iz [1: str. 2].

4

Page 23: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 3 shematsko prikazuje vodenje elektroenergetskega sistema, od centra vodenja

do primarnega sistema.

1.2 Komunikacijski standardi Na področju distribucije električne energije (DEE) se prakticira globalni nadzor z

nadzornim centrom za celotno regijo ali državo. Tak center se imenuje nacionalni

kontrolni center (national control center, NCC). Slika 4 prikazuje priporočeno

hierarhijo centrov vodenja. Izvedba take centralizacije zahteva upoštevanje

dogovorjenih smernic na področju komunikacij. Te smernice določajo tehniški

standardi, ki so sprejeti s strani evropske organizacije za standardizacijo

(Comité Européen de Normalisation, CEN). Uporabljeni standardi večinoma izhajajo

iz družine telekomunikacijskega standarda IEC60870-5. IEC60870-5-1 [9] opisuje

obliko poslanih podatkov, IEC60870-5-2 [10] opisuje povezavo na nivoju podatkovne

povezave, IEC60870-5-3 [11] opisuje splošno sestavo aplikacijskih podatkov,

IEC60870-5-4 [12] definicija in kodiranje informacijskih elementov, IEC60870-5-5 [13]

opisuje osnovne aplikacijske funkcije. Našteti standardi definirajo obliko podatkov na

določenih nivojih modela ISO/OSI. Procese med dvema IED-jema definirajo protokoli

[ 16: str. 35], ki so izpeljani iz standardov. Protokol IEC60870-5-101 [14] podaja

smernice za osnovno komunikacijo nadzornih sistemov, protokol IEC60870-5-102

podaja smernice za komunikacijo merilne opreme, protokol IEC60870-5-103 opisuje

zaščitne funkcije IED-jev. Protokol IEC60870-5-104 [15] opisuje prenos podatkov

definiranih po IEC60870-5-101 protokolu, preko protokola TCP/IP [17: str. 575].

Slika 4: konfiguracija centrov vodenja, preslikano iz [1: str. 275].

5

Page 24: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 4 prikazuje priporočeno hierarhijo centrov vodenja. Pri načrtovanju hierarhije

centrov vodenja je potrebno minimizirati število le teh njihovo število naj nebi

presegalo števila treh [1: srt. 275].

6

Page 25: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

2 Tema diplomske naloge Tema diplomske naloge izhaja iz komunikacijskega vidika elektroenergetskih

sistemov, komunikacija sistema za nadzor SCADA do IED-jev. Je del internega

raziskovalnega projekta v podjetju CCE d.o.o., katere cilj je študija prenosa podatkov

preko Etherneta ter obratno. Pri razširjanju obstoječih zmogljivosti transformatorske

(TP) ali razdelilne (RP) postaje je potrebno združiti obstoječo ter novo infrastrukturo.

Združevanje tehnologij različnih obdobij zahteva različne protokole, obstoječi sistemi

so grajeni večinoma na IEC60870-5-101 [14] protokolu, pri novih sistemih pa se

večinoma uporablja IEC60870-5-104 [15] protokol. Tipično situacijo pri razširjanju oz.

nadgradnji obstoječih sistemov prikazuje slika 5.

Slika 5: proces komunikacije po IEC60870-5-104 ,preslikano iz [15: str. 15].

7

Page 26: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Iz slike 5 je razvidno, kje se vrši taka prilagoditev podatkov glede na zgradbo

komunikacijskega sistema.

2.1 Cilj Cilj diplomske naloge je izdelati sistem, ki je sposoben podatke, sprejete po

asinhronem serijskem vodilu, posredovati ciljni napravi po Ethernetu, ter obratno.

Izbira primernega sistema zahteva, da je vmesnik za določen način komuniciranja v

skladu s standardom. Sistem smo zastavili tako, da na eni strani komunicira

asinhrono serijsko (ang. universal serial asynchronous receiver transmitter, USART)

[5: str. 237, 8] na drugi strani pa po Ethernet protokolu. Nadzor nad prenosom

podatkov pa izvaja mikrokrmilnik. Pri izdelavi testnega sistema smo se naslanjali na

IEC60870-5 družino standardov. Shemo testnega sistema prikazuje slika 6.

Slika 6: idejna shema testnega sistema.

Kot prikazuje slika 6, smo se odločili za sistem z mikrokrmilnikom proizvajalca

Microchip, PIC18F4550 (PIC4550) [5], ker ima vgrajen USART, ter možnost prenosa

podatkov po standardu SPI (ang. serial peripheral interface) [5: str. 193]. Prav tako je

PIC4550 mikrokrmilnik cenovno ugoden in dostopen. Za ENC28J60 krmilnik smo se

odločili, ker ima integrirane potrebne osnovne funkcije za Ethernet komunikacijo, ter

prav tako SPI vodilo. Za tako izvedbo sistema smo se odločili zaradi prilagodljivosti in

možnosti spreminjanja vezja po želji oz. po potrebi. Primerni cenovno ugodni sistemi,

ki že vsebujejo integrirano RS232 ter Ethernet povezavo, niso uporabniško

prilagodljivi oz. razširljivi. Nakup uporabniško razširljivih sistemov, za namene

diplomske naloge, pa je cenovno nesprejemljiv.

Primer modularnega sistema je razvojni sistem podjetja Memec Desig, Spartan

3SxLC Board, z oznako DS-BD- 3SxLC-PQ208 rev. 2 [47], ki pa za prenos podatkov

po Ethernetu potrebuje razširitveno kartico. Primer razširitvene kartice je istega

proizvajalca, Memec Desig, in sicer Communication module 2, katerega oznaka je

8

Page 27: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

DS-BD-ExP4 rev. 1 [48]. To je primer sistema razširljivega po potrebi z namenskimi

razširitvenimi karticami, ki pa je vsekakor cenovno neugodna izbira. Primer

prevajalnika protokola je Ruggedrouter RX1000 proizvajalca Ruggedcom [19]. V

okviru takega prevajalnika protokola lahko navedemo rešitve podjetja IPCOMM

GmbH [45]. Interesantna rešitev z vidika diplomske naloge je ipRoute [46].

9

Page 28: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

3 Prenos podatkov Prenos podatkov se deli na serijski in paralelni, vsak od teh pa še na sinhroni ali

asinhroni. S kombinacijo teh štirih načinov prenosa podatkov lahko vzpostavimo

prenos podatkov med poljubnimi napravami. Prenos podatkov je pogosto opisan v

standardih s pomočjo ISO/OSI strukture. ISO/OSI model definira strukturo nivojev, ki

sodelujejo pri prenosu podatkov od ene do druge naprave oziroma aplikacije, ter na

katere standarde, protokole se določen proces plasti sklicuje.

3.1 Struktura podatkov IEC60870-5-101 ter IEC60870-5-104 po ISO/OSI

Oba protokola, IEC60870-5-101 ter IEC60870-5-104, se sklicujeta na ISO/OSI

model. Posamezen protokol uporablja posamezne plasti določene v modelu.

Slika 7: ISO/OSI model.

Slika 7, ki se naslanja na sliko 1 v [11: str. 13], prikazuje ISO/OSI model ter opis

plasti.

10

Page 29: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Komunikacija po IEC60870-5-101 protokolu poteka po treh plasteh ISO/OSI modela,

aplikacijska plast (ang. aplication layer), podatkovno povezovalna plast (ang. data-

link layer), ter fizična plast (ang. physical layer), slika 8Slika 8.

Slika 8: plasti ISO/OSI modela pri IEC60870-5-101, preslikano iz [14: str. 11].

Na sliki 8 [14: str. 11] so na fizičnem nivoju navedena izbrana področja ITU-T, ki se

nanašajo na integrirana vezja, ki skrbijo za pretok podatkov po mediju. Na sliki 8 je

prav tako razvidna povezava med standardi in sloji modela ISO/OSI.

Ethernet način prenosa podatkov pokriva po modelu ISO/OSI fizično in podatkovno

povezovalno raven IEC60870-5-104 protokola, celovita zgradba modela ISO/OSI

IEC60870-5-104 protokola je prikazana na slikah 9 in 10.

Slika 9: plasti modela ISO/OSI pri IEC60870-5-104, preslikano iz [15: str. 17].

Iz slike 9 je razvidno, da IEC60870-5-104 protokol uporablja pet (5) plasti modela

ISO/OSI. Slika 10 prikazuje bolj podrobno razčlenitev TCP/IP strukture.

11

Page 30: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 10: dovoljeni protokoli po RFC2200, preslikano iz [15: str. 19].

Slika 10 prikazuje plasti pri procesu komuniciranja po IEC60870-5-104 [15]. Iz slike je

razvidna navezanost plasti na določen protokol.

Iz slik 8, 9 in 10 je razvidno, da se plasti sklicujejo na različne protokole in standarde.

Rešitev prestrukturiranja podatkov v takem primeru pomeni, izluščiti sprejeti podatek,

ga primerno obdelati, ponovno zapakirati in poslati naprej. Tak pristop zahteva

aplikacijski nivo reševanja problematike, kot prikazujeslika 11.

12

Page 31: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 11: razširjen diagram poteka komunikacije.

Slika 11 prikazuje možno rešitev problematike prevajalnika protokola na

aplikacijskem nivoju. Primer takega reševanja problematike prevajalnika protokola je

RTU (ang. remote terminal unit). RTU med drugim omogoča sprejemanje pošiljanje

podatkov po IEC60870-5-101 protokolu na eni strani ter po IEC60870-5-104

protokolu na drugi.

3.2 Prenos IEC60870-5-101 podatkov po TCP/IP (IEC IEC60870-5-104)

Prenos podatkov se vrši po določenem zaporedju. V standardu IEC60870-5-104 je

opisan proces dogovarjanja med dvema napravama. Ker se oba standarda,

IEC60870-5-101 in IEC60870-5-104, sklicujeta na IEC60870-5-1 in IEC60870-5-2, je

13

Page 32: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

sestava paketov znana. Za prenos podatkov po IEC60870-5-101 protokolu velja

zgradba paketa na sliki 12.

Slika 12: struktura ASDU, preslikano iz [14: str. 28].

14

Page 33: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 12 prikazuje kako si podatki sledijo v paketu. Podatki, ki sestavljajo paket, se

pošiljajo in prejemajo po 8 bitov naenkrat (slika 13), kar je en zlog podatka. Vsakemu

poslanemu zlogu je dodan startni bit, ki je 0, sledijo podatkovni biti, sledi paritetni bit,

nakar sledi stop bit, ki je 1. Startni in stop bit sta odvisna od USART gonilnika,

medtem ko pariteto preverja sprejemnik. V protokolu IEC60870-5-101 [14: str. 58] je

podrobno opisana sestava paketa.

Slika 13: struktura zloga.

Slika 13 prikazuje sestavo paketa za prenos enega zloga podatka, opremljenega s

start bitom, paritetnim bitom, ter zaključenega s stop bitom. Za prenos celega paketa

je potrebno ponavljati ta proces prenosa zloga podatka. Pri tem se lahko pojavijo

napake. Zato je potrebno ugotoviti število napačno sprejetih bitov in jih po možnosti

korigirati. Na področju informacijske teorije [41] se število napačno sprejetih bitov

imenuje Hammingova razdalja [42] med odposlanim in dejansko sprejetim podatkom.

Za proces prenosa podatkov je [14: str. 14] definirano, da je dovoljen izključno F1.2

format paketov. S formatom F1.2 je označen tip dovoljene Hammingove razdalje, ki

pomeni razliko med dvema prenesenima nizoma podatkov [1: str. 43], in ki v tem

primeru ne sme znašati več kot dva (2).

15

Page 34: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 14: primer izračuna Hammingove razdalje .

Slika 14 prikazuje primer določanja Hammingove razdalje. Dobljeni rezultat nam

pove, da v danem primeru Hammingova razdalja znaša 2. Ta razdalja pomeni razliko

bitov med dvema nizoma ter določa število napak, ki so povzročile, da se je niz »a«

pretvoril v niz »b«. Hammingova razdalja se za binarni niz izračuna z XOR funkcijo

niza »a« in »b« ter seštevkom stanj 1; povzeto po [40].

Prenos podatkov po Ethernet omrežju zajema večjo količino podatkov naenkrat, le-ta

lahko znaša med najmanj 64 in največ 1500 zlogi (slika 16). Direktni prenos zloga

podatka iz serijskega načina na Ethernet ne nudi primernega izkoristka

podatkovnega območja, ki ga omogoča Ethernet okvir. V primeru prenosa zloga

podatka je potrebno le-tega dopolniti z 46 zlogi praznih podatkov (ang. padding). V

tem primeru prenesemo podatek direktno na podlagi fizičnega naslova (ang. media

access controller, MAC), kar pa ni dovolj saj temelji IEC60870-5-104 na TCP/IP

prenosu podatkov. Prenosni vmesnik (uporabnik do TCP) ne omogoča mehanizma

zaznavanja začetka in konca ASDU dela paketa, ki je posredovan po IEC60870-5-

101 protokolu. V ta namen je v [15: str. 21] definirana zgradba paketa, ki ga

sprejmemo po IEC60870-5-101 protokolu ter ga prenesemo v podatkovno območje

TCP/IP okvirja. To zgradbo prikazuje slika 15.

16

Page 35: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 15: sestava paketa po IEC60870-5-104 preslikano iz [15: str. 21].

Slika 15 prikazuje zgradbo paketa in mehanizme prepoznavanja začetka in konca

prenosa podatkov. Začetek novega podatka na tem mestu označuje vrednost 68H,

temu sledi dolžina paketa, nadzorna polja ter podatki, ki smo jih prejeli po IEC60870-

5-101. Nadzorna polja IEC60870-5-104 protokola so namenjena preprečevanju

izgube paketov ter njihovega podvajanja [15: str. 23]. Potek zahteve in potrditve, ki

se znotraj polja izvaja s štetjem, je urejen po priporočilih ITU-T X.25.

Ethernet okvir v katerega plasiramo podatke prejete po IEC60870-5-101

prikazuje slika 16 [23].

17

Page 36: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 16: Ethernet okvir.

Slika 16 prikazuje hierarhijo okvirjev, poslanih po Ethernetu, Ethernet okvir. Iz slike je

prav tako razvidno, koliko zlogov so dolgi ter kako si sledijo posamezni sklopi

podatkov, za kateri del se izračunava krožno-čezmerno preverjanje [17: str. 233]

okvirjev (ang. cyclic redundancy check, CRC). Ciljni in izvorni naslov sta MAC

naslova prejemnika in pošiljatelja. To velja le v primeru kadar pošiljamo podatke

direktno brez uporabe TCP/IP. V tem primeru je v polj dolžina zapisano število

zlogov, ki jih pošiljamo. Če uporabimo katerega od višjenivojskih protokolov je v tem

primeru to zapisano v polju dolžina namesto števila zlogov.

3.3 Izvedba prenosa podatkov

Za uspešno izvedbo pretoka podatkov je potrebno po RS-232 vodilu sprejeti

cel paket, ki je namenjen ciljni napravi, ga prenesti v podatkovno območje Ethernet

okvirja, dopolniti glede na zahteve IEC60870-5-104 [15] ter paket posredovati po

Ethernet omrežju do ciljne naprave. V obratni smeri sprejmemo paket z Ethernet

strani ga obdelamo glede na zahteve IEC60870-5-101 [14] ter pošljemo po RS232

vodilu. Zahteve s strani IEC60870-5-104 [15] zajemajo TCP/IP obliko pošiljanja in

18

Page 37: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

prejemanja podatkov, kar je potrebno izvesti programsko, v našem primeru s

pomočjo mikrokrmilnika PIC 18F4550 [8]. Podatki znotraj okvirja morajo imeti obliko

kot prikazuje slika 15Slika 15. Zahteve s strani IEC60870-5-101 [14] zajemajo

asinhrono serijsko pošiljanje prejemanje podatkov s preverjanjem paritete.

Po navedenem je izvedba sistema popolne skladnosti z zahtevami IEC60870-

5-104 protokola preobsežna tako tematsko kot časovno. Zato smo se za namen

diplomske naloge odločili študirati protokola IEC60870-5-101 in IEC60870-5-104 ter

sestavili strojno opremo. Tesni sistem zajema na eni strani pošiljanje in prejemanje 8

bitov podatkov s preverjanjem paritete, ter na drugi strani pošiljanje in prejemanje teh

na podlagi Ethernet okvirjev.

19

Page 38: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

4 Opis razvojnega okolja in strojne izvedbe V današnjem hiperaktivnem svetu je zelo pomemben čas med idejo in

plasiranjem končnega produkta na trg. Radikalno zmanjšanje časa je povzročila

programirljiva logika ter mikrokrmilniki z možnostjo hitre vzpostavitve testnih okolij,

kateri omogočajo enostaven in učinkovit način preskušanja bodočega produkta in

izdelavo prototipa. Pri realizaciji našega sistema smo se odločili za uporabo

mikrokrmilnika Microchip PIC18F4550 [5], ter razvojno okolje MPLab IDE [26].

Razvojno okolje omogoča programiranje mikrokrmilnikov PIC, programska koda se

piše z uporabo ukazov zbirnega jezika ali programskega jezika C [5: str. 1].

Preden lahko začnemo efektivno pisati programsko kodo, je potrebno poiskati

odgovore na nekaj temeljnih vprašanj, ki so vodilo med programiranjem:

1. Kaj je problem?

• Odgovor smo podali v poglavju 2.1 s postavitvijo cilja, ki ga želimo

doseči.

2. Kaj je rešitev? Oz. kakšno je razmerje med vhodom in izhodom?

• Odgovor smo podali z obdelavo prenosa podatkov v poglavju 3,

predvsem pa z zaključki v poglavju 3.3.

3. Kako rešitev predstaviti programsko?

• Da lahko odgovorimo na to vprašanje, se moramo odločiti za

programski jezik, kar sledi v nadaljevanju.

4. Katere priprave so potrebne pred testiranjem?

• Pred testiranjem je potrebno pripraviti testno okolje, ki v tem primeru

zajema izvor podatkov oz. proizvajanje podatkov v obeh smereh, o

čemer govorimo v nadaljevanju.

5. Ali izdelek zadovoljuje postavljene zahteve?

• Odgovor na to vprašanje podajamo v zaključku.

4.1 Razvojno orodje MPLab IDE

Razvojno okolje MPLab IDE je namenjeno razvoju aplikacij na mikrokrmilnikih

proizvajalca Microchip. MPLab IDE je orodje, ki omogoča razvoj, implementiranje in

razhroščevanje aplikacij. Taka razvojna okolja imenujemo integrirana razvojna okolja

20

Page 39: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

(ang. integrated development environment, IDE). MPLab je sestavljen iz več

modulov, ki skupaj omogočajo razvoj aplikacije [26: str. 18]. Ti moduli so:

• urejevalnik projektov, (ang. project manager), omogoča komunikacijo med IDE ter

ostalimi moduli programa,

• tekstovni urejevalnik (ang. editor), omogoča pisanje programske kode in služi kot

prikazovalno okno pri razhroščevanju,

• zbirnik/povezovalnik in jezikovna orodja, (ang. assembler/linker language tools),

zbirnik služi razvoju programske kode v strojnem jeziku,

• razhroščevalnik (ang. debugger), je namenjen, kot samo ime pove, razhroščevanju

programske kode v realnem času; program omogoča spremljanje in spreminjanje

vrednosti izbranih spremenljivk (registrov in pomnilniških lokacij mikrokrmilnika) ter

postavitev prekinitvenih točk (ang. breakpoints), s katerimi lažje sledimo izvajanju

programske kode,

• navidezni gonilniki (ang. execution engines), je vgrajeni simulator obstoječih

Microchipovih mikrokrmilnikov, omogoča simulacijo nekaterih vhodno izhodnih funkcij

mikrokrmilnika, je alternativa za razhroščevanje, če nimamo na voljo mikrokrmilnika

ali programatorja, ki obenem omogoča razhroščevanje realnega sistema.

21

Page 40: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

5 Strojna oprema Za strojno opremo smo izbrali mikrokrmilnik, ki že ima USART [5 str.237] modul

integriran v napravo, pretok podatkov pa se ureja preko registrov, prav tako na

Ethernet strani komunikacije. Če mikrokrmilnik ne bi vsebovalo USART modula, bi

bilo potrebno signale vzorčiti. Elektroniko našega sistema sestavljajo naslednje

komponente:

• mikrokrmilnik Microchip PIC18F4550 [5],

• samostojni Ethernet krmilnik Microchip ENC28J60 [23],

• MAX232N [29], ki skrbi za prilagoditev napetostnih nivojev iz 5V na EIA-

RS232,,

• 74HCT08 [27] CMOS integrirano vezje skrbi za uskladitev napetostnih

nivojev med 3,3 V in 5 V pri SPI komunikaciji med PIC18F4550 in

ENC28J60.

• LM2574N [50] napetostni regulator, skrbi za znižanje napetostnega

nivoja iz 5 V na 3,3 V, zaradi potreb napajanja ENC28J60 krmilnika

• SN74HCT125N [49], onemogočimo motnje na MAX232 med

komunikacijo po SPI

5.1 Mikrokrmilnik PIC18F4550 Mikrokrmilnik PIC18F4550 spada v PIC18 družino integriranih vezij podjetja

Microchip. Omogoča boljši izkoristek električne energije s postavitvijo v razna stanja

pripravljenosti. Vgrajenih ima mnogo modulov, od katerih izpostavimo samo nekatere

[5: str. 1]:

• USART (ang. enhanced USART, EUSART), možnost 8 ali 16 bitnega števca

(delilnika) frekvence

• MSSP (ang. master synchronous serial port, MSSP) način komunikacije, ki

lahko deluje v SPI načinu, ki podpira štiri načine delovanja, ali v I2C (ang. inter

– integrated circuit, I2C) gospodar-suženj načinu,

• postavitev mikrokrmilnika v razna stanja pripravljenosti, ki zmanjšajo porabo

energije,

• trije zunanji prekinitveni vektorji, z možnostjo dodeljevanja dveh nivojev

prioritet,

• možnost dveh zunanjih urinih signalov do 48 MHz,

22

Page 41: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

• izboljšana združljivost s prevajalnikom programskega jezika C,

• možnost zaščite programske kode v pomnilniku mikrokrmilnika,

• serijsko programiranje preko dveh priključkov (ang. in-circuit serial

programing, ICSP), obenem lahko napaja mikrokrmilmik s 5V,

• možnost razhroščevanja med delovanjem (ang. in-circuit debug, ICD),

• namenski priključki za ICSP/ICD, samo pri 44-nožnih modelih,

• USB združljiv z V 2.0 standardom, možnost delovanja pri nizki hitrosti (ang.

low speed; 1,5 Mb/s) ter polni hitrosti (ang. full speed; 12 Mb/s), podpira

nadzor nad prenosom, možnost prekinitvenih vektorjev, itd.,

• širok razpon delovne napetosti (od 2,0 V do 5,5 V),

• daljša življenjska doba pomnilnika,

• samoprogramibilnost, sposobnost spreminjanja lastne kode pod lastnim

programskim nadzorom.

Na naslednjih dveh slikah, slika 17 in 18, sta prikazana bločni diagram ter fizični

zgled PIC18F4550 mikrokrmilnika.

23

Page 42: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 17: bločni diagram 40/44 nožnega PIC4550, preslikano iz [5: str. 17].

Slika 17 prikazuje bločni diagram PIC18F4550 in njegovo konceptualno organizacijo.

24

Page 43: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 18: PIC18F4550 v 40-nožnem PDIP ohišju, preslikano iz [5: str. 2].

Slika 18 prikazuje fizični zgled mikrokrmilnika s pripadajočimi signali na priključnih

sponkah [17: str. 311].

5.1.1 Registri in pomnilnik mikrokrmilnika PIC18F4550 Mikrokrmilnik ima več posebnih nastavitvenih registrov (ang. special function

registers, SFRs). Do njih lahko dostopamo če poznamo njihove naslove ali imena.

Registri so deljeni v dve skupini, med prve spadajo registri pomembni za delovanjem

procesorja, ponastavitve (ang. reset) ter prekinitve (ang. interrupts). Druga skupina

registrov je namenjena nastavitvam in delovanju periferije [17: str. 375]

mikrokrmilnika. Registri so v pomnilnik PIC18F4550 implementirani kot statični ram

[5: str. 11].

25

Page 44: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 19: nastavitveni registri PIC18F4550, preslikano iz [5: str. 66].

Slika 19 prikazuje SFR registre, s pripadajočimi naslovi. SFR registri se nahajajo v

pomnilniku na naslovih od F60h do FFFh. Naslovi od 000h do 7FFh so uporabni kot

splošni podatkovni registri (ang. »general purpose register«, GPR). Za direktno

naslavljanje lahko uporabimo Access RAM ali BSR (ang. bank select register)

register. Za indirektno naslavljanje uporabimo FSR (ang. file select register). Slika 20

prikazuje organizacijo podatkovnega pomnilnika

26

Page 45: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 20: organizacija podatkovnega pomnilnika PIC18F4550, preslikano iz [5: str.

64]; (1) lahko uporabljeno kot vmesni pomnilnik pri USB komunikaciji.

Slika 20 prikazuje organizacijo podatkovnega pomnilnika PIC18F4550 s

pripadajočimi naslovi. V nadaljevanju smo opisali relevantne registre za USART in

SPI način komuniciranja.

27

Page 46: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

5.1.2 USART registri Delovanje USART modula krmilijo registri TXSTA, RCSTA, BAUDCON, PIR1, PIE1,

RCREG, TXREG, IPR1 in IPR2. Pri prenosu podatkov se uporabljajo naslednje

priključne sponke PIC18F4550 [5: str. 237]:

• priključna sponka 25 (TX) se uporablja za serijsko pošiljanje podatkov,

• priključna sponka 26 (RX) se uporablja za serijski sprejem podatkov.

V nadaljevanju so predstavljeni registri, namenjeni USART komuniciranju. Tabela 1

prikazuje registre namenjene nadzoru nad pošiljanjem (TXSTA) in prejemanjem

(RCSTA) ter nastavitvi hitrosti prenosa podatkov (SPBRG), Tabela 3 prikazuje

registre namenjen samo nadzoru pošiljanja, Tabela 4 pa prikazuje registre namenjen

samo nadzoru sprejemanja. BAUDCON register je namenjen nadzoru prenosne

hitrosti. Vrednost SPBRG se izračuna na podlagi nastavitev v Tabela 2:

izračun prenosne hitrosti [5: str. 241].

Tabela 2

Error! Reference source not found..

Tabela 1: nadzor nad USART [5: str. 241].

Opomba: a –biti v poljih z odebeljenim robom za ta način delovanja niso pomembni.

Tabela 2: izračun prenosne hitrosti [5: str. 241].

Tabela 2: izračun prenosne hitrosti [5: str. 241].Error! Reference source not found. prikazuje nastavitve, uporabljene za izračun prenosne hitrosti podatkov po USART.

Kadar prenosno hitrost proizvajamo s pomočjo 8 bitnega števca (delilnika)

28

Page 47: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

procesorske ure, je v uporabi SPBRG register; kadar je števec (delilnik) 16 biten sta v

uporabi oba registra, SPBRGH ter SPBRG [30: str. 10].

Tabela 3: nadzor nad pošiljanjem, preslikano iz [30: str. 10].

Opomba: a- (1) lokacija teh bitov je odvisna od posameznega mikrokrmilnika,

b –biti v poljih z odebeljenim robom za ta način delovanja niso pomembni.

Error! Reference source not found.

Tabela 4: nadzor nad sprejemanjem, preslikano iz [30: str. 14].

Opomba: a- (1) lokacija tega bita je odvisna od posameznega mikrokrmilnika,

b –biti v poljih z odebeljenim robom za ta način delovanja niso pomembni.

1 in IPR2. Pri tem se

nka 24 (RC5), se uporablja za omogočanje komunikacije z

• priključna sponka 34 (SCK), se uporablja za pošiljanje urinega signala,

abela 5 prikazuje registre, namenjene prenosu podatkov po SPI.

5.1.3 SPI registri Prenos podatkov po SPI vodilu [5: str. 191, 31: str. 6] se krmili z registri INTCON,

PIE1, PIR1, SSPBUF, SSPCON1, SSPSTAT, IPR

uporabljajo naslednje priključne sponke PIC18F4550:

• priključna spo

ENC28J60,

• priključna sponka 26 (SDO),se uporablja za pošiljanje podatka,

• priključna sponka 33 (SDI), se uporablja za sprejemanje podatka,

T

29

Page 48: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Tabela 5. prenos po SPI, preslikano iz [5: str. 196, 31: str. 14].

Opomba: a- (1) lokacija teh bitov je odvisna od posameznega mikrokrmilnika,

–biti v poljih z odebeljenim robom za ta način delovanja niso pomembni.

signalizira svoje prekinitve. V nadaljnje so

ve pomemben IPEN (bit 7), ki vklopi

ntrol) register je med drugim namenjen splošnemu

ng. interrupt control 2) prav tako omogoča nadzor nad

prekinitev INT2 ter

a

nadzoru pri prenosu podatkov po določenem načinu prenosa (USB, EUSART,

b

5.1.4 Prekinitve in z njimi povezani registri Delovanje posamezne prekinitve je odvisno od registrov RCON, INTCON, INTCON2,

INTCON3, PIR1, PIR2, PIE1, PIE2, IPR1 in IPR2. Predvideli smo uporabo zunanje

prekinitve INT2, s katerim ENC28J60

opisani registri povezani s prekinitvami:

• RCON (ang. reset control) register je namenjen nadzoru nad ponastavljanjem

mikrokrmilnika, v tem registru je za prekinit

ali izklopi določanje prioritete prekinitvam,

• INTCON (ang. interrupt co

nadzoru nad prekinitvami,

• INTCON2 (a

prekinitvami,

• INTCON3 (ang. interrupt control 3), pomembni so INT2IP (bit 7), določa

prioriteto INT2 signalu, INT2IE (bit 4), omogoči zunanjo

INT2IF (bit 2), če je bit postavljen, je prišlo do prekinitve,

• PIR1 (ang. peripheral interrupt request 1) register je namenjen nadzoru pri

prenosu podatkov po določenem načinu prenosa (USB, EUSART, paralelni

prenos) ter indikaciji napak pri prenosu podatkov. Za EUSART sta pomembn

RCIF (bit 5), nakazuje stanje RCREG, TXIF (bit 4) nakazuje stanje TXREG,

• PIR2 (ang. peripheral interrupt request 2) register je prav tako namenjen

30

Page 49: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

paralelni prenos), pomemben je OSCFIF (bit 7), ki indicira napako na

oscilatorju mikrokrmilnika,

• PIE1 (ang. peripheral interrupt enable 1) register je namenjen omogočanju ali

izključitvi določene prekinitve pri prenosu podatkov po določenem načinu

prenosa (USB, EUSART, paralelni prenos), indikaciji v PIR1 registru.

Pomembni so RCIE (bit 5), omogoči delovanje RCIF, ter TXIE (bit 4) omogoči

delovanje TXIF v PIR1 registru, ter SSPIE (bit 3), ki omogoči prekinitve pri

MSSP (SPI) načinu prenosa podatkov,

• PIE2 (ang. peripheral interrupt enable 2) register je namenjen omogočanju

indikacij v PIR2 registru. Pomemben je OSCFIE (bit 7), ki omogoči delovanje

OSCFIF v PIR2 registru,

• IPR1 (ang. peripheral interrupt priority 1) register je namenjen določanju

prioritet zunanjim prekinitvenim signalom. Pomembni so RCIP (bit 5), določa

prioriteto RCIF v PIR1 registru, TXIP določa prioriteto TXIF v PIR1 registru,

• IPR2 (ang. peripheral interrupt priority 2) register je namenjen določanju

prioritet prekinitvam pri prenosu podatkov po določenem načinu prenosa

(USB, EUSART, paralelni prenos). Pomemben je OSCFIP (bit 7), določa

prioriteto OSCFIF v PIR2 registru.

5.2 Ethernet krmilnik ENC28J60 Za ENC28J60 krmilnik [23] smo se odločili, ker je to samostojni krmilnik istega

proizvajalca, omogoča SPI [23: str. 25] način komuniciranja ter uporablja prikaz

aktivnosti s pomočjo dveh led diod, itd. Med pomembnejše lastnosti ENC28J60

krmilnika spadajo [23: str. 1]:

• združljivost z IEEE 802.3 standardom,

• vgrajen MAC (ang. medium access controller,) in 10BASE-T PHY (ang.

physical layer),

• podpira dupleks in pol-dupleks način prenosa

• možnost ponovnega pošiljanja v primeru trka (ang. collision) podatkov

• programirljivo dopolnjevanje premajhnih paketov (ang. padding) in samodejno

generiranje CRC kode

• programirljivo avtomatsko zavračanje paketov z napako

• SPI vmesnik s hitrostmi ure do 20MHz

• 8 kzlogov pomnilnika za pošiljanje in prejemanje

31

Page 50: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

• nastavljiva velikost pomnilnika za sprejemanje in pošiljanje

• podpora kreiranju CRC za razne mrežne protokole

• šest možnih prekinitev na isti nožici

• 5 V tolerantni vhodi

• delovna napetost je med 3,1 V ter 3,6 V, ponavadi je to 3,3 V

Slika 21: ENC28J60 samostojni krmilnik v 28-nožnem PDIP ohišju, preslikano iz [23:

str. 1].

Slika 21 prikazuje razporeditev priključnih sponk na 28 nožnem krmilniku s

pripadajočim signalom priključne sponke, ter smer tega (vhod / izhod). Logične

povezave znotraj krmilnika so prikazane na sliki 22.

32

Page 51: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 22: bločni diagram ENC28J60, preslikano iz [23: str. 3].

Slika 22 prikazuje bločni diagram ENC28J60 v PDIP ohišju s 28 priključnimi

sponkami .

Uporaba krmilnika zahteva dodatne zunanje pasivne komponente, in sicer:

• oscilator 25MHz (slika 23),

• RJ45 priključek z magnetiko (slika 24Slika 24),

• premikalnik napetostnih nivojev iz 3,3V na 5V pri SPI povezavi do

mikrokrmilnika (v našem primeru, ker mikrokrmilnik deluje s 5 V napajanjem,

slika 24).

Slika 23: izvedba oscilatorja, preslikano iz [23: str. 5].

33

Page 52: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 23 prikazuje priključitev oscilatorja na ENC28J60 krmilnik. Omenimo, da na

krmilnik lahko priključimo tudi urin signal z druge aktivne komponente. Pri taki

povezavi uporabimo le OSC1 priključek, medtem ko OSC2 pustimo nepriključeno

[23: str. 5].

Slika 24: tipična povezave ENC28J60 z mikrokrmilnikom, preslikano iz [23: str. 7].

Slika 24 prikazuje tipično povezavo ENC28J60 s poljubnim mikrokrmilnikom preko

SPI ter povezavo do RJ45 priključka. RJ45 spojnik potrebuje pulzno ločilne

transformatorje za pravilno delovanje in kot galvansko izolacijo med zunanjo linijo ter

notranjim vezjem. Pulzno ločilni transformatorji so lahko zunanji ali integrirani v ohišje

spojnika. Izbrali smo spojnik z vgrajenimi pulzno ločilnimi transformatorji [43]. Za

povratni prenos podatkov od ENC28J60 do PIC18F4550 mikrokrmilnika je potreben

premik napetostnih nivojev iz 3.3V na 5V. Podroben opis vseh priključnih sponk

ENC28J60 krmilnika se nahaja v [23: str. 4].

34

Page 53: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

5.2.1 Organizacija pomnilnika in dostop do registrov ENC28J60 krmilnika

Ves pomnilnik je v ENC28J60 organiziran kot statični RAM treh tipov [23: str. 11],

programski pomnilnik, podatkovni pomnilnik ter EEPROM (slika 25). Dostop do njih je

omogočen preko SPI povezave in manipulacije kontrolnih registrov. Kontrolni registri

so namenjeni pregledu stanja, nastavitvi in nadzoru krmilnika. Ethernet medpomnilnik

(ang. buffer) je namenjen mrežnim paketom, ki jih pošiljamo in sprejemamo, PHY

registri so namenjeni pregledu stanja, nastavitvi in nadzoru PHY pod sloja. PHY

registri so posredno dostopni preko MII (ang. media independent interface)

vmesnika, s katerim upravlja MIIM (ang. media independent interface management).

Slika 25: razporeditve pomnilnika v ENC28J60, preslikano [23: str. 11].

Slika 25 prikazuje hierarhijo pomnilnik v ENC28J60. Zadnja dva bita v ECON1

registru določata do katerega sklopa registrov želimo dostopati. Kontrolni registri so

razdeljeni v štiri področja, področje 0, področje 1, področje 2 ter področje 3. Vsaka

skupina registrov je dolga 32 zlogov in dostopna preko 5 bitnega naslova.

35

Page 54: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 26: organizacija kontrolnih registrov, preslikano iz [23: str. 12].

Iz slike 26 je razvidno, da zadnjih pet mest vseh štirih skupin kaže na ista mesta v

pomnilniku, EIE, EIR, ESTAT, ECON2, ECON1. Namen registra ECON1 je nadzor

nad glavnimi funkcijami krmilnika:

• omogočanje prejemanja podatkov,

• zahteva po pošiljanju podatkov,

• nadzor nad DMA (ang. direct memory access),

• ter izbira želenega področja registrov.

ECON2 je namenjen nadzoru pošiljanja podatkov iz medpomnilnika po SPI ter

nadzoru postavitve krmilnika v razna stanja pripravljenosti. ESTAT, EIE ter EIR so

namenjeni nadzoru prekinitev.

36

Page 55: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Taka organizacija omogoča lažji nadzor nad krmilnikom, brez dodatnega menjavanja

pomnilniških skupin. Organizacija v skupine je izvedena glede na module krmilnika,

ETH, MAC, MII. Prav tako imena registrov omogočajo prepoznavanje skupine, v

katero register pripada: začetnica 'E' pomeni skupino ETH, 'MA' registri pripadajo

MAC skupini ter 'MI' registri skupini MII.

5.2.2 Inicializacija ENC28J60 Najprej je potrebno nastaviti določene parametre krmilnika (ang. initialization).

Postopek poteka podobno kot pri PIC18F4550 in se načeloma izvede le enkrat ob

zagonu. Tabela 6 prikazuje implementirane ukaze ter pomen bitov znotraj zlogov.

Prvi trije biti sestavljajo ukaz, naslednjih pet ima funkcijo določanja naslova registra,

kar zavzema osem (8) bitov, preostali del pa je podatek, ki se prav tako pošilja po 8

bitov naenkrat v obe smeri.

Ukazi ENC28J60:

Tabela 6: ukazi ENC28J60, preslikano iz [23: str. 10].

Legenda: a = naslov kontrolnega registra, d = podatek, ki ga želimo vpisat na naslov.

Med iniciaclizacijo je potrebno določiti količino pomnilnika, ki je namenjena samo

sprejemanju podatkov, to se naredi s vpisom v ERXST in ERXND. Razpon lokacij, na

katere kažeta ta dva registra, so rezervirane za prejem podatkov. Kadar je podatek

uspešno sprejet, se osveži vsebina ERXWRP registra. Pri pošiljanju podatkov je v

uporabi ves preostali pomnilniški prostor, ki ni bil rezerviran. Lahko pa ga rezerviramo

s pomočjo ETXST ter ETXND.

37

Page 56: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Po uspešnem pošiljanju se na konec podatkov, namenjenih pošiljanju, vpiše 7

bajtov status informacije. Zato je potrebno med lokacijo za pošiljanje in sprejemanje

izpustiti vsaj 7 zlogov pomnilniškega prostora. Pri sprejemu podatkov je na voljo tudi

filtriranje podatka s pomočjo ERXFCON registra. V nadaljnje je potrebno še

inicializirati registre, ki urejajo MAC in PHY pod sloj. Inicializacija MAC pod sloja se

vrši s pomočjo MACON1, MACON3, MACON4 ter MABBIPG, medtem ko se

inicializacija PHY pod sloja vrši s pomočjo PHCON2 registra. Pri inicializaciji MAC

pod sloja je potrebno nastaviti tudi MAC naslov z vpisom 48 bitne vrednosti v registre

MAADR1:MAADR6.

Pomembno za inicializacijo je, kdaj se ta vrši. Če se vrši takoj po napajanju

krmilnika, je potrebno počakati 300μs, da se postavi CLKRDY bit v ESTAT registru

[23: str. 33]. Med inicializacijo je možen dostop do krmilnika preko SPI, le podatka ne

moremo prejemati oz. pošiljati po Ethernetu, ali dostopati do registrov, ki urejajo

PHY, MAC in MII.

38

Page 57: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

6 Postavitev sistema Sistem smo sestavili na protoboardu, ker omogoča hitro postavitev delujočega

sistema in enostavno uporabo komponent, ki se nahajajo v PDIP ohišju. Pri postavitvi

smo upoštevali zahteve, zapisane v tehnični dokumentaciji proizvajalca PIC4550 [5]

ter ENC28J60 [23]. Najprej smo vzpostavili komunikacijo do mikrokrmilnika s

pomočjo MPLAB IC2 programatorja [32: str. 11]. MPLAB IC2 omogoča programiranje

ter preverjanje programske kode v mikrokrmilniku (ang. in-circuit-debugger).

Za pravilno delovanje mikrokrmilnika je potreben urin signal, ki se generira s

pomočjo zunanjega Quartz kristala. Po uspešni povezavi mikrokrmilnika in

računalnika smo povezali še preostali del sistema, ki skrbi za serijsko komunikacijo

USART ter Ethernet. Pri pisanju programske kode smo posvečali pozornost

sprotnemu komentiranju kode, saj se med fazo razvoja in testiranja vnašajo

spremembe. Iz kode, opremljene s komentarji, je razvidno, čemu je namenjen

določen odsek programske kode.

39

Page 58: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 27: diagram poteka programa.

Diagram poteka na sliki 27 ponazarja izvajanje programa. Najprej je potrebno

inicializirati mikrokrmilnik PIC18F4550, ker je jedro zasnovanega sistema. Od njega

je odvisno delovanje ENC28J60 krmilnika, katerega inicializacija je naslednji korak.

Nato sledi zajem podatka na Ethernet strani, ter posredovanje zajetega podatka po

USART. Nato prejmemo podatek z USART strani ter ga pošljemo dalje po Etherent

strani. Tako zaporedje je potrebno zaradi tega, ker deluje naprava priključena na

Ethernet strani, kot gospodar. Naprava priključena na USART strani pa deluje v

načinu suženj. Diagram poteka podaja odgovor na 3. vprašanja v 4. poglavju [str.

20].

6.1 Izračun prenosne hitrosti USART Za nastavitev USART prenosne hitrosti je potreben izračun nastavitev, glede na

frekvenco mikroprocesorske ure. Pri izračunu smo uporabili podatke iz Tabela 2:

40

Page 59: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

izračun prenosne hitrosti [5: str. 241].Error! Reference source not found.. Odločili

smo se za uporabo 48MHz mikroprocesorske ure saj nam v tem primeru 16 bitni

števec (delilnika) omogoča Error! Reference source not found.9600 baudov

prenosne hitrosti. Iz omenjene enačbe smo izpeljali »n« pri želeni taktni frekvenci in

prenosni hitrosti. Desetiška vrednost »n« brez decimalnih mest se zapiše v register

PBRG.

d_rate) = 9600 baudov

• osnovna enačba: baudna_hitrost= FOSC/(4*(n+1))

S

6.1.1 Primer izračuna • želena baudna_hitrost (desired_bau

• taktna frekvenca kristala = 48 MHz

_(4 ( 1))

FOSCbaudna hitrostn

=× +

Enačba 1.

ajprej smo izpeljali »n« za 9600 baudov iz enačbe 1:

N

_1

4

FOSCbaudna hitrost

n

⎛ ⎞⎛ ⎞⎜ ⎟⎜ ⎟⎝ ⎠⎜ ⎟= −

⎜ ⎟⎜ ⎟⎝ ⎠

Enačba 2.

enačbe 2 smo dobili vrednost, ki jo je potrebno vpisati v SPBRG register.

=

vrednosti »n«. V primeru, da je to potrebno, le-to izračunamo na podlagi

enačbe 1.

Iz

n 1249

Dobljeni rezultat ne vsebuje decimalnih mest, ki jih ni možno zapisati v SPBRG

register. Zato ni potrebno ugotoviti, koliko znaša dejanska prenosna hitrost pri

zaokroženi

_ _ _FOSCbaudna hitrost izračunana baudna hitrost= = (4 ( 1))n× +

41

Page 60: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Razlika med želeno prenosno hitrostjo in izračunano prenosno hitrostjo je napaka,

katera se izračuna po enačbi, ki se glasi:

( ) ( )_ _ _% 100

_ _izračunana baudna hitrostbaudna hitrost izračunana baudna hitrost

napaka−

= ×

Enačba 3.

Glede na dobljeni rezultat enačbe 2 lahko zaključimo, da ni prisotna napaka zaradi

delilnik

rmilnik ima svoj nabor ukazov, nabor le teh je odvisen od proizvajalca. Podjetje

Microc

. Druga

prednost uporabe imen registrov namesto njihovih absolutnih naslovov je večja

preg žji morebitni prenos na drug mikrokrmilnik.

tudi strojno rešitev zaradi odpravljanja motenj, ki se

poja

ki izvajajo določene funkcijske operacije. Funkcijske operacije smo razdelili glede na

a.

6.2 Programska koda Programsko kodo smo se odločili pisati v zbirniku (ang. assembler) [44]. Vsak

mikrok

hip ima nabor ukazov, ki jih PIC18F4550 pozna, zbranih v [44], ter v [5: str.

307].

Pri programiranju smo uporabili datoteko PIC18F4550.inc. V tej datoteki so

določene asociacije med imeni in naslovi registrov, tako da lahko nastavljamo ter

urejamo vsebino registrov brez poznavanja naslovov in pozicije bita v registru

lednost programske kode in la

#INCLUDE <P18F4550.INC>

Pri pisanju programske kode smo morali paziti na združenost signalov na

priključnih sponkah mikrokrmilnika. Upoštevati smo morali, da sta signala RX ter

SDO združena na priključni sponki 26. Iz tega sledi, da poteka prejem USART

signala RX fizično na isti priključni sponki kot oddajanje SPI signala. Ta problem

zahteva programsko in strojno rešitev s preklopno funkcijo. Kadar beremo z USART

ali oddajamo SPI signal, je potrebno na novo nastaviti registre, ki določajo prenos

podatkov. Registre, ki urejajo prenos podatkov po USART smo opisali v poglavju

4.2.3, registre, ki urejajo prenos podatkov po SPI pa v poglavju 4.2.4. Kot omenjeno

zahteva ta preklopna funkcija

vijo pri oddajanju SPI signala, na RS232 napetostnem pretvorniku. Uporabili smo

rešitev s SN74HCT125N [49].

Program smo si zamislili modularno, in sicer glavni program kliče podprograme,

42

Page 61: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

potrebe prenosa podatkov, USART ter SPI. Prenos podatkov po USART urejajo štirje

podprogrami, nastavitev USART prenosa podatkov, omogočanje prenosa, pošiljanje

ter spr

določen naslov. Podprogram za nastavitev pa

nastavi določeni način operiranja.

oča prikaz pretoka podatkov, ki jih računalnik prejema in pošilja po

Ethernetu.

ejemanje podatkov.

Prenos podatkov po SPI urejajo trije podprogrami, nastavitev SPI prenosa

podatkov, pošiljanje ter branje. Podprogram za pošiljanje podatkov pošlje 8 bitni

podatek, ki je shranjen na določenem naslovu. Podprogram za branje prebere 8 bitni

vhodni podatek ter ga shrani na

6.3 Opazovanje pretoka podatkov Ključnega pomena pri prenosu podatkov je opazovanje le teh. Pretok podatkov

na Ethernet strani omogoča Ethereal-Network Protocol Analyzer (Ethereal)

programski paket odprtega tipa, katerega avtor je Gerald Combs [33]. Programski

paket omog

Slika 28: zaslon Ethereal-Network Protocol Analyser programskega paketa.

43

Page 62: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 28 prikazuje pogovorno okno in vsebino zajetega omrežnega prometa na

računalniku. S slike je razvidno, da program prikaže zaporedje dogodkov s časovnimi

značkami, izvorni ter ciljni naslov, protokol, po katerem poteka komunikacija, ter

splošno informacijo. Program prav tako omogoča brskanje po vsebini poslanih in

prejetih paketov. Ethereal nam je omogočal prikaz dogajanja le na Ethernet strani

pretok

cijo nam je

mogočilo orodje COMPROTware:Testtoll [34], katerega avtor je družba za razvoj

programske opreme Real Thoughts. Pogovorno okno prikazuje sliki 29.

s

a podatkov.

Za celotno analizo pretoka moramo opazovati obe vodili med katerimi

prenašamo podatke: Ethernet ter RS232. Opazovanje ter manipula

o

Slika 29: COMPROTware:Testtoll, pogovorno okno.

Slika 29 prikazuje pogovorno okno COMPROTware:Testtoll programskega orodja.

rodje lahko realizira različne načine delovanja, kot gospodar ali suženj, omogoča

imulacijo raznih protokolov tudi IEC60870-5-101 ter IEC60870-5-104 [34].

O

s

44

Page 63: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

45

Page 64: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

7 Zaključek V okviru diplomske naloge smo študirali protokola IEC60870-5-101 in IEC60870-

5-104. Realizirali smo prevajalnik med protokoloma z mikrokrmilnikom PIC18F4550

in mrežnim krmilnikom ENC28J60. Strukturo paketa, ki se izmenjuje na podlagi

IEC60870-5-104 protokola, prikazuje slika 30Slika 30.

Slika 30: IEC60870-5-104 paket.

46

Page 65: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Realizirali smo strojno izvedbo na protobordu, ter zastavili koncept programske

atkov po USART. Prav tako smo

realizirali rutine za inicializacijo ENC28J60 krmilnika ter rutine za branje in pisanje po

v.

i omogočal izkoriščanja

te

ov pri večjem pretoku le-teh. Venomer je potrebno

omogoča

kov.

0

C28J60

i

osa podatkov je potrebno upoštevati specifikacije v

lahko na tak

take naprave je RuggedRouter RX1000,

opreme (slika 27). Realizirali smo izmenjavo pod

SPI. Realizirali smo pošiljanje in prejemanje podatkov v na podalgi Ethernet okvirje

Izkazalo se je, da PIC18F4550 mikrokrmilnik neb

dvosmernega prenosa podatkov ali dupleks (ang. full-duplex), ker uporablja is

priključne sponke za prenosa podatkov po USART in SPI. To vnaša dodatno

zakasnitev v potek prenos podatk

preklapljati med enim in drugim načinom prenosa podatkov. Tak sistem

izkoriščanje pol-dvosmernega ali poldupleks (ang. half dupleks) prenosa podat

V času izdelave diplomske naloge se je na tržišču pojavil PIC18F97J6

mikrokrmilnik [51]. Edinstvenost le-tega je, da združuje Ethernet krmilnika EN

ter PIC18F4550 mikrokrmilnika.

Na tak način je izvedljiv cenovno ugoden prevajalnik protokola. Pri postavitv

sistema s takim načinom pren

protokolih. Specifikacija določa kriterije za izbiro vsebine okvirja, ki se

način prenašajo. Nekatere sodobne mrežne naprave omogočajo priklop serijskih

asinhronih komunikacijskih naprav. Primer

podjetja Ruggedcom.

47

Page 66: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

8 Seznam uporabljenih virov

[1] Ferdinand Gubina, Anton Ogorelec, Vodenje elektroenergetskega sistema,

Sloko CIGRE, Ljubljana 1997

, ISBN: 961-6265-01-6

ion.fe.uni-lj.si/classes/KA/Ka2001_Vse.pdf

[2] Kovačič Stanislav, Komunikacije v avtomatiki (študijsko gradivo), Ljubljana,

oktober 2001, http://vis , dostopnost

,

en/DeviceDoc/39632D.pdf

preverjena marca 2007

[3] Grčar Bojan, Uvod v zaščito elementov elektroenergetskih sistemov,

Založniška dejavnost FERI,, Maribor, junij, 1999, ISBN 86-435-0286-3

[4] Stevens W. Richard,TCP/IP Illustrated, Volume 1, The Protocols, julij, 1995

[5] (avtor ni podan) , PIC18F2455/2550/4455/4550 Data sheet, Microchip

Technology Inc., 2006, DS39632C,

http://ww1.microchip.com/downloads/ , dostopnost

n Jan, Embedded Ethernet and interent complete, Lakeviev Research,

red, Networking and interentworking with Microcontrollers, februar,

90

992

104:2000

; avtorji Vladimir Batagelj … etc. ,Leksikon

56-4

i/Glavna_stran

preverjena marca 2007

[6] Carne E. Bryan, Data Communication in a TCP/IP World, 2004,

[7] Axelso

avgust, 2003, ISBN: 1-931448-00-0

[8] Eady F

2004, ISBN: 0-7506-7698-1

[9] CEI IEC 870-5-1:19

[10] CEI IEC 870-5-2:1992-04,

[11] CEI IEC 870-5-3:1

[12] CEI IEC 870-5-4:1993

[13] CEI IEC 870-5-5:1995

[14] CEI IEC 60870-5-101:2003

[15] CEI/IEC 60870-5-

[16] SIST IEC/TR 60870-1-3:1997

[17] Pahor David, Drobnič Matija

računalništva in informatike, Pasadena, Ljubljana, 2002, ISBN: 961-6065-

[18] Spletni portal WikipedijA, Prosta enciklopedija,

http://sl.wikipedia.org/wik , dostopnost preverjena marca 2007

48

Page 67: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

[19] Spletna stran podjetja Ruggedcom,

http://www.ruggedcom.com/ruggedrouter.html, dostopnost preverjena marca

2007

[20] Zurawski Richard, The indiustrial technology hadbook, CRC Press,

2005, ISBN: 0-8493-3077-7

[21] Howard David, The Penguin Dictionary of Electronics, Clays Ltd., 2005

ISBN: 0-141-01397-4

,

[22] Schwerdtfeger Martin, SPI - Serial Peripheral Interface, junij, 2000,

http://www.mct.de/new/spims.html, dostopnost

[23] (avtor ni podan), ENC28J60 Data sheet, Stand-Alone Ethernet

Controller with SPI Interf

preverjena marca 2007

ace, Microchip Technology Inc., 2006, DS39662B,

&nodeIdhttp://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE

=2057&ty=&dty=Data+Sheets&section=Data+Sheets&ssUserText=ENC28J60

, dostopnost preverjena marca 2007

[24] Spletna portal islovar, Slovar informatike,

http://www.islovar.org/iskanje_enostavno.asp, dostopnost preverjena marca

2007

[25] Spletno portal RFC.net, http://rfc.net/, dostopnost preverjena ma

2007

rca

hnology Inc.,

iceDoc/51519B.pdf

[26] (avtor ni podan), MPLAB IDE User's guide, Microchip Tec

2006, DS51519B,

http://ww1.microchip.com/downloads/en/Dev , dostopnost

(avtor ni podan), MM74HCT08 Quad 2-input AND gate, Fairchild

005754,

preverjena marca 2007

[27]

semiconductor TIV, februarja, 1999, DS

http://eshop.engineering.uiowa.edu/NI/pdfs/00/57/DS005754.pdf, dostopno

preverjena m

st

arca 2007

a.org/wiki/USART[28] Spletni portal Wikipedija, http://en.wikipedi ,

, MAX232I dual EIA-232 driver/receiver,

dostopnost preverjena marca 2007

[29] (avtor ni podan), MAX232

Texas Instruments, marec, 2004, http://www.ti.com/lit/gpn/max232, dostopnos

prever

t

jena marca 2007

49

Page 68: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

[30] (avtor ni podan), Section 1

DS31018A,

8. USART, Microchip Technology Inc., 1997,

http://ww1.microchip.com/downloads/en/DeviceDoc/31018a.pdf,

dostopnost preverjena marca 2007

ip

S31015A,

[31] (avtor ni podan), Section 16. Synhronous Serial Port (SSP), Microch

Technology Inc., 1997, D

http://ww1.microchip.com/downloads/en/DeviceDoc/31015a.pdf, dosto

preverjena marca 2007

[32] (avtor ni podan), MPLAB ICD 2 In-Circuit Debuggeg User's guide,

Microchip Technology In

pnost

c., 1997, DS51331B,

oc/51331B.pdfhttp://ww1.microchip.com/downloads/en/deviced , dostopnost

preverjena marca 2007

[33] (avtor ni podan), Navodila za uporabo, Ethereal user's guide,

http://www.ethereal.com/docs/eug_html_chunked/index.html, dostopnost

prevejena marca 2007

[34] (avtor ni podan), Navodila za uporabo in predstevitev, COMPROT

Test

ware:

tool, http://www.realthoughts.com/cptt/downloads/CPTTTrainingEN.pdf,

dostopnost prevejena marca 2007

[35] Domača stran koncerna ABB, http://www.abb.com/, dostopnost

prevejena marca 2007

[36] Domača stran koncerna Siemens Energy & Automation,

http://www2.sea.siemens.com/Home, dostopnost prevejena mar

[37] Domača stran podjetja Iskra sistemi,

ca 2007

http://www.iskrasistemi.si/en/industry/energy/, dostopnost preverjena marca

2007

[38] Domača stran koncerna Areva,

http://www.arevagroup.com/servlet/home-en.html, dostopnost preverjena

marca 2007

[39] Domača stran koncerna General Electric,

http://www.geindustrial.com/cwc/home, dostopnost

[40] Spletni portal Wikipedija,

preverjena marca 2007

ing_distancehttp://en.wikipedia.org/wiki/Hamm , dostopnost preverjena marca

07

i/Information_theory

20

[41] Spletni portal Wikipedija, http://en.wikipedia.org/wik ,

dostopnost preverjena marca 2007

50

Page 69: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

[42] Spletni portal Wikipedija,

http://en.wikipedia.org/wiki/Hamming_distance, dostopnost preverjena marca

2007

[43] http://www.belfuse.com/Data/Datasheets/SI-10021.pdf, dostopnost

preverjena marca 2007

[44] (avtor ni podan), MPASM Assemler, MPLINK Object linker, …,

Microchip Technology Inc., 2005, DS33014J,

http://ww1.microchip.com/downloads/en/DeviceDoc/33014J.pdf, dostopnost

preverjena marca 2007

[45] Domača stran podjetja IPCOMM GmbH

http://www.ipcomm.de/products_en.html, dostopnost preverjena marca 2007

[46] Domača stran podjetja IPCOMM GmbH, spletna predstavitev izdelka

ipRoute, http://www.ipcomm.de/product/ipRoute/en/sheet.html, dostopnost

preverjena marca 2007

[47] Spletna predstavitev izdelka, Xilinx XC3S400-4PQ208 Spartan-3

FPGA,

http://www.em.avnet.com/evk/home/0,1719,RID%253D%2526CID%253D25448%

2526CCD%253DUSA%2526SID%253D32214%2526DID%253DDF2%2526SRT

%253D1%2526LID%253D32232%2526PRT%253D0%2526PVW%253D%2526BI

D%253DDF2%2526CTP%253DEVK,00.html, dostopnost preverjena marca 2007

[48] Spletna predstavitev izdelka, Communication module 2,

http://www.em.avnet.com/evk/home/0,1719,RID%253D%2526CID%253D25458%

2526CCD%253DUSA%2526SID%253D32214%2526DID%253DDF2%2526SRT

%253D1%2526LID%253D32232%2526PRT%253D0%2526PVW%253D%2526BI

D%253DDF2%2526CTP%253DEVK,00.html, dostopnost preverjena marca 2007

[49] (avtor ni podan), SN74HCT125 quadruple bus buffer gates with 3-state

outputs http://focus.ti.com/docs/prod/folders/print/sn74hct125.html, dostopnost

preverjena marca 2007

[50] (avtor ni podan), LM2574N simple switcher,

http://www.ortodoxism.ro/datasheets2/9/0o05009u11i5wuq1sqllep302ofy.pdf,

dostopnost preverjena marca 2007

[51] (avtor ni podan), PIC18F97J60 Family data sheet, Microchip

Technology Inc., 2006, DS39762B,

51

Page 70: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

http://ww1.microchip.com/downloads/en/DeviceDoc/39762b.pdf, dostopnost

07 preverjena marca 20

52

Page 71: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

9 Priloga

V nadaljnje so prikazane nastavitve programskih orodij, ki smo jih uporabljali za

opazovanje pretoka podatkov. Prikazana je tudi struktura IEC60870-5-104 protokola,

kot ga prikaže Ethereal-Network Protocol Analyser.

9.1 COMPROTware:Testtoll V nadaljevanju je podana nastavitev COMPROTware:Testtoll programskega orodja.

Prikazano je gene načinu. Prav tako

so prikazane nastavitve za generiranje IEC60870-5-101 protokola v nadzorovanem

načinu. Programski paket omogoča istočasno izvajanje obeh protokolov.

• Nastavitve posnemanja IEC60870-5-104 protokola.

riranje IEC60870-5-104 protokola v nadzornem

Slika 31: pogovorno okno COMPROTware:Testtoll.

53

Page 72: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 32: nastavitev protokola IEC60870-5-104.

Slika 33: izbira protokola IEC60870-5-104.

54

Page 73: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 34: nastavitev protokola IEC60870-5-104.

Slika 35: izbira načina delovanja protokola IEC60870-5-104.

55

Page 74: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

• Nastavitve posnemanja IEC60870-5-101 protokola.

Slika 36: izbira protokola IEC60870-5-101.

56

Page 75: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 37: nastavitev protokola IEC60870-5-101.

Slika 38: izbira načina delovanja protokola IEC60870-5-101.

9.2 Ethereal-Network Protocol Analyser Ethereal-Network Protocol Analyser programski paket omogoča zajemanje in

prikazovanje prometa na Ethernet strani komunikacije. V nadaljnje je prikazan

postopek zajemanja in prikaza podatkov.

57

Page 76: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 39: pogovorno okno Ethereal-Network Protocol Analyser programskega paketa.

Slika 40: izbira opazovanega vmesnika.

58

Page 77: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 41: zajemanje prenosa podatkov.

Slika 42: prikaz zajetega prenosa podatkov.

59

Page 78: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Slika 43: prikaz zajete vsebine prenosa podatkov.

lahko brskamo po vsebini prenosa podatkov. Prikazano je

0870-5-104 okvirja ujeta po

SCADA z IP

COMPROTware:Testtoll, pa nam je služil kot nadomestek

vo po IEC60870-5-104. COMPROTware:Testtoll smo pognali

m192.168.0.129. V nadaljnje sta prikazana TCP/IP

je ter COMPROTware:Testtoll, ki odgovarja

Pri zajetem prometu

zaporedje podatkov, dolžine, itd..

9.3 Priemer IEC6Prikazani so okvirji komunikacije med dvema napravam, ki si podatke izmenj

IEC60870-5-104 protokolu. Za gospodarja smo uporabili sistem

naslovom 192.168.0.93.

za krmiljeno napra

drugem računalniku z IP naslovo

okvirja sistema SCADA, ki sprašu

60

Page 79: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Gospodar sprašuje, SCADA z IP št. 192.168.0.93:

bytes on wire, 62 bytes captured)

Mar 28, 2007 08:02:26.218460000

4175000 seconds

0000 seconds

.flags & 0x02 || tcp.flags.fin == 1

_20:cf:26 (00:02:55:20:cf:26), Dst: Ibm_a2:b1:60

4:ac:a2:b1:60)

ac:a2:b1:60)

cast: This is a UNICAST frame

.. = Locally Administrated Address: This is a

00:02:55:20:cf:26)

02:55:20:cf:26)

.... .... = Multicast: This is a UNICAST frame

. = Locally Administrated Address: This is a

net Protocol, Src: 192.168.0.93 (192.168.0.93), Dst: 192.168.0.129

168.0.129)

eader length: 20 bytes

000 00.. = Differentiated Services Codepoint: Default (0x00)

... ..0. = ECN-Capable Transport (ECT): 0

... ...0 = ECN-CE: 0

otal Length: 48

lags: 0x04 (Don't Fragment)

... = Reserved bit: Not set

1.. = Don't fragment: Set

..0. = More fragments: Not set

Fragment offset: 0

Frame 4 (62

Arrival Time:

Time delta from previous packet: 2.10

Time since reference or first frame: 6.39109

Frame Number: 4

Packet Length: 62 bytes

Capture Length: 62 bytes

Protocols in frame: eth:ip:tcp

Coloring Rule Name: TCP SYN/FIN

Coloring Rule String: tcp

Ethernet II, Src: Ibm

(00:04:ac:a2:b1:60)

Destination: Ibm_a2:b1:60 (00:0

Address: Ibm_a2:b1:60 (00:04:

.... ...0 .... .... .... .... = Multi

.... ..0. .... .... .... ..

FACTORY DEFAULT ad

Source: Ibm_20:cf:26 (

Address: Ibm_20:cf:26 (00:

.... ...0 .... ....

.... ..0. .... .... .... ...

FACTORY DEFAULT ad

Type: IP (0x0800)

Inter

(192.

Version: 4

H

Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)

0

.

.

T

Identification: 0x023e (574)

F

0

.

61

Page 80: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Time to live: 128

Protocol: TCP (0x06)

He

Go

ader checksum: 0x765b [correct]

od: True

Port: 2404

en: 0

04)

uence number)

Not set

: 1460 bytes

Bad : False

Source: 192.168.0.93 (192.168.0.93)

Destination: 192.168.0.129 (192.168.0.129)

Transmission Control Protocol, Src Port: 1077 (1077), Dst

(2404), Seq: 0, L

Source port: 1077 (1077)

Destination port: 2404 (24

Sequence number: 0 (relative seq

Header length: 28 bytes

Flags: 0x0002 (SYN)

0... .... = Congestion Window Reduced (CWR): Not set

.0.. .... = ECN-Echo:

..0. .... = Urgent: Not set

...0 .... = Acknowledgment: Not set

.... 0... = Push: Not set

.... .0.. = Reset: Not set

.... ..1. = Syn: Set

.... ...0 = Fin: Not set

Window size: 65535

Checksum: 0x3c32 [correct]

Options: (8 bytes)

Maximum segment size

NOP

NOP

SACK permitted

62

Page 81: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

COMPROTware:Testtoll deluje v krmiljenem IEC60870-5-104 načinu z IP št.

varja:

bytes on wire, 62 bytes captured)

Mar 28, 2007 08:02:26.218633000

73000 seconds

263000 seconds

gs.fin == 1

b1:60 (00:04:ac:a2:b1:60), Dst: Ibm_20:cf:26

:20:cf:26)

= Multicast: This is a UNICAST frame

ocally Administrated Address: This is a

ac:a2:b1:60)

(00:04:ac:a2:b1:60)

... = Multicast: This is a UNICAST frame

.... .... = Locally Administrated Address: This is a

129 (192.168.0.129), Dst: 192.168.0.93

168.0.93)

on: 4

0 bytes

ifferentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)

000 00.. = Differentiated Services Codepoint: Default (0x00)

... ..0. = ECN-Capable Transport (ECT): 0

.... ...0 = ECN-CE: 0

Total Length: 48

Identification: 0x0103 (259)

Flags: 0x04 (Don't Fragment)

0... = Reserved bit: Not set

.1.. = Don't fragment: Set

..0. = More fragments: Not set

192.168.0.93 in odgo

Frame 5 (62

Arrival Time:

Time delta from previous packet: 0.0001

Time since reference or first frame: 6.391

Frame Number: 5

Packet Length: 62 bytes

Capture Length: 62 bytes

Protocols in frame: eth:ip:tcp

Coloring Rule Name: TCP SYN/FIN

Coloring Rule String: tcp.flags & 0x02 || tcp.fla

Ethernet II, Src: Ibm_a2:

(00:02:55:20:cf:26)

Destination: Ibm_20:cf:26 (00:02:55:20:cf:26)

Address: Ibm_20:cf:26 (00:02:55

.... ...0 .... .... .... ....

.... ..0. .... .... .... .... = L

FACTORY DEFAULT ad

Source: Ibm_a2:b1:60 (00:04:

Address: Ibm_a2:b1:60

.... ...0 .... .... .... .

.... ..0. .... ....

FACTORY DEFAULT ad

Type: IP (0x0800)

Internet Protocol, Src: 192.168.0.

(192.

Versi

Header length: 2

D

0

.

63

Page 82: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

Fragment offset: 0

Time to live: 128

Protocol: TCP (0x06)

Header checksum: 0x7796 [correct]

Good: True

Bad : False

Source: 192.168.0.129 (192.168.0.129)

Destination: 192.168.0.93 (192.168.0.93)

Transmission Control Protocol, Src Port: 2404 (2404), Dst Port: 1077

(1077), Seq: 0, Ack: 1, Len: 0

Source port: 2404 (2404)

Destination port: 1077 (1077)

Sequence number: 0 (relative sequence number)

Acknowledgement number: 1 (relative ack number)

Header length: 28 bytes

Flags: 0x0012 (SYN, ACK)

0... .... = Congestion Window Reduced (CWR): Not set

.0.. .... = ECN-Echo: Not set

..0. .... = Urgent: Not set

...1 .... = Acknowledgment: Set

.... 0... = Push: Not set

.... .0.. = Reset: Not set

.... ..1. = Syn: Set

.... ...0 = Fin: Not set

Window size: 65535

Checksum: 0x657f [correct]

Options: (8 bytes)

Maximum segment size: 1460 bytes

NOP

NOP

SACK permitted

64

Page 83: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

65

Page 84: Prevajalnik med protokoloma IEC60870-5-101 in IEC60870-5 …

66

Izjava: Izjavljam, da sem diplomsko delo izdelal samostojno pod vodstvom mentorja doc.

dr. Boštjana Murovca. Izkazano pomoč drugih sodelavcev sem v celoti navedel v

zahvali.

Ljubljana, 18.april 2007 Danilo Feher