Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
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
ii
»Preteklost je kot morje, ki spreminja obale prihodnosti!«
(Ang. The past is like the sea that shapes the shores of tomorrow!)
iii
iv
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
vi
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
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
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
Keywords: communication in power systems, IEC60780-5-101 protocol, IEC60780-5-
104 protocol, microcontroller PIC18F4550, Ethernet stand-alone controller
ENC28J60.
x
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
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
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
Seznam tabel
Tabela 1 ................................................................................................................................... 28 Tabela 2 ................................................................................................................................... 28 Tabela 3 ................................................................................................................................... 29 Tabela 4 ................................................................................................................................... 29 Tabela 5 ................................................................................................................................... 30 Tabela 6 ................................................................................................................................... 37
xiv
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
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
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
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
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
(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
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
• 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
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
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
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
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
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
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
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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
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
45
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
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
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
[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§ion=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
[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
[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
http://ww1.microchip.com/downloads/en/DeviceDoc/39762b.pdf, dostopnost
07 preverjena marca 20
52
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
Slika 32: nastavitev protokola IEC60870-5-104.
Slika 33: izbira protokola IEC60870-5-104.
54
Slika 34: nastavitev protokola IEC60870-5-104.
Slika 35: izbira načina delovanja protokola IEC60870-5-104.
55
• Nastavitve posnemanja IEC60870-5-101 protokola.
Slika 36: izbira protokola IEC60870-5-101.
56
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
Slika 39: pogovorno okno Ethereal-Network Protocol Analyser programskega paketa.
Slika 40: izbira opazovanega vmesnika.
58
Slika 41: zajemanje prenosa podatkov.
Slika 42: prikaz zajetega prenosa podatkov.
59
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
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
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
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
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
65
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