ˇ ´ vysoke ´ uc ˇen´ı technicke ´ v Praze Cesk e ´ Fakulta elektrotechnicka ˇ´ıdic´ı techniky Katedra r
´ RSK ˇ ´ PRACE ´ BAKALA A PROFINET IO pro pr˚ umyslov´ e aplikace
Praha, 2007
Autor Jan Doˇ cekal
Prohl´ aˇ sen´ı Prohlaˇsuji, ˇze jsem svou bakal´aˇrskou pr´aci vypracoval samostatnˇe a pouˇzil jsem pouze podklady ( literaturu, projekty, SW atd.) uveden´e v pˇriloˇzen´em seznamu. Nem´am z´avaˇzn´ y d˚ uvod proti uˇzit´ı tohoto ˇskoln´ıho d´ıla ve smyslu § 60 Z´akona ˇc.121/2000 Sb. , o pr´avu autorsk´em, o pr´avech souvisej´ıc´ıch s pr´avem autorsk´ ym a o zmˇenˇe nˇekter´ ych z´akon˚ u (autorsk´ y z´akon).
V Praze dne podpis
i
Podˇ ekov´ an´ı Dˇekuji pˇredevˇs´ım vedouc´ımu bakal´aˇrsk´e pr´ace Ing. Pavlu Burgetovi za jej´ı veden´ı. D´ale dˇekuji sv´e pˇr´ıtelkyni Michaele Mareˇsov´e za jazykovou korekturu a spoleˇcnosti Sidat s.r.o. za podporu pˇri studiu.
ii
Abstrakt Tato pr´ace slouˇz´ı jako struˇcn´ yu ´vod do protokolu PROFINET IO. V u ´vodu je samotn´ y protokol pops´an. D´ale se zab´ yv´a popisem produkt˚ u jednotliv´ ych v´ yrobc˚ u jak zaˇr´ızen´ımi typu IO-Controller, tak typu IO-Device, kde je nav´ıc provedeno srovn´an´ı cen, kter´e by mˇelo slouˇzit, pˇri n´avrhu praktick´e realizace, jako jeden z rozhoduj´ıc´ıch ˇci doplˇ nkov´ ych faktor˚ u pro v´ ybˇer v´ yrobce zaˇr´ızen´ı. Praktick´a ˇc´ast realizuje a vyuˇz´ıv´a vlastnost´ı protokolu, zvl´aˇstˇe pak diagnostick´ ych informac´ı. Pro sbˇer procesn´ıch dat je k tomuto u ´ˇcelu realizov´an OPC server, ke kter´emu se napsal OPC klient v programovac´ım jazyce C#. Ten kromˇe procesn´ıch hodnot zobrazuje tak´e diagnostick´e informace.
iii
Abstract This thesis describes briefly communication protocol PROFINET IO in the first chapter. Further are described equipments like the IO-Controller and the IO-Device, where are also compared the prices of them. Furthermore it could be used like a one of more factors by choosing a producer. The practical part is about using this protocol. For monitoring distributed IO’s values are used OPC server and OPC client. Client was written in language C# and contains diagnostic information.
iv
origo zad´an´ı
v
Obsah Seznam obr´ azk˚ u
viii
Seznam tabulek
ix
1 PROFINET IO
2
1.1
Popis protokolu PROFINET IO . . . . . . . . . . . . . . . . . . . . .
2
1.2
Trh – PROFINET IO Controller . . . . . . . . . . . . . . . . . . . . .
5
1.2.1
Siemens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.2.2
Phoenix Contact . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3
1.4
Trh – PROFINET IO Device . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1
Siemens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2
Phoenix Contact . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.3
WAGO Kontakttechnik . . . . . . . . . . . . . . . . . . . . . . 14
1.3.4
Beckhoff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.5
Turck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Porovn´an´ı PN IO Device . . . . . . . . . . . . . . . . . . . . . . . . . 17
2 Diagnostika PROFINET IO
22
2.1
Obecn´e informace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2
Programov´e bloky pro diagnostiku . . . . . . . . . . . . . . . . . . . . 27 2.2.1
Organizaˇcn´ı bloky (OB) . . . . . . . . . . . . . . . . . . . . . 27
2.2.2
Syst´emov´e funkce a bloky (SFC a SFB) . . . . . . . . . . . . . 30
3 Praktick´ a realizace 3.1
33
Vzorov´a instalace s IO-Controllerem v PLC . . . . . . . . . . . . . . 33 3.1.1
Popis instalace . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.2
Diagnostika pro IO-Controller PROFINET IO . . . . . . . . . 35
3.2
Emulace IO-Controlleru v PC, OPC server . . . . . . . . . . . . . . . 39
3.3
Implementace OPC klient . . . . . . . . . . . . . . . . . . . . . . . . 41 vi
3.3.1
Popis aplikace . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3.2
Popis callback funkc´ı . . . . . . . . . . . . . . . . . . . . . . . 45
4 Z´ avˇ er
46
Literatura
I
A V´ yznam hodnot promˇ enn´ ych OB 83 a 86
II
B V´ ypis funkc´ı a jejich struˇ cn´ y popis
VI
C Obsah pˇ riloˇ zen´ eho CD
IX
vii
Seznam obr´ azk˚ u 1.1
Integrace PROFINET do st´avaj´ıc´ıch fiedbus˚ u . . . . . . . . . . . . .
3
1.2
Rozdˇelen´ı aplikac´ı podle poˇzadavk˚ u na ˇcas odezvy . . . . . . . . . . .
4
1.3
Model PROFINET IO . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4
(a) komunikaˇcn´ı procesor CP 443-1 Advanced (b) uˇzit´ı . . . . . . . .
8
1.5
(a) komunikaˇcn´ı procesor CP 1616 (b) uˇzit´ı . . . . . . . . . . . . . . .
8
1.6
PLC Phoenix Contact ILC 390 PN 2TX-IB
1.7
Konektor M12 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.1
R´amce pro pˇrenos alarm˚ u – RTA DATA(alarm) . . . . . . . . . . . . 25
2.2
R´amce pro pˇrenos alarm˚ u – RTA ACK . . . . . . . . . . . . . . . . . 26
2.3
R´amec pro pˇrenos alarm˚ u – RTA Data(Alarm Ack) . . . . . . . . . . 26
2.4
Sekvence bˇehu alarmu s PROFINET IO . . . . . . . . . . . . . . . . 27
3.1
Konfigurace s´ıtˇe PROFINET IO s PLC . . . . . . . . . . . . . . . . . 34
3.2
Uk´azka diagnostiky pˇri vysunut´em V/V modulu . . . . . . . . . . . . 38
3.3
Uk´azka diagnostiky pˇri zasunut´em V/V modulu . . . . . . . . . . . . 38
3.4
Diagnostika pˇri pˇreruˇsen´em kabelu . . . . . . . . . . . . . . . . . . . 39
3.5
Konfigurace PC stanice . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.6
HW-konfigurace pro PC stanici . . . . . . . . . . . . . . . . . . . . . 41
3.7
Okno aplikace OPC klient . . . . . . . . . . . . . . . . . . . . . . . . 43
3.8
V´ ypis chyb v souboru . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
viii
. . . . . . . . . . . . . . 10
Seznam tabulek 1.1
Vlastnosti IO-Controller˚ u S300 Siemens . . . . . . . . . . . . . . . . .
9
1.2
Vlastnosti IO-Controller˚ u Siemens CP 343, 443, 1616 . . . . . . . . . 10
1.3
Pˇrehled typ˚ u pˇripojen´ı PLC Phoenix Contact . . . . . . . . . . . . . 11
1.4
Pˇrehled vlastnost´ı PN IO Controller˚ u Phoenix Contact . . . . . . . . 12
1.5
Pˇrehled ostatn´ıch vlastnost´ı Controller˚ u Phoenix Contact . . . . . . . 12
1.6
Vlastnosti PN IO Device WAGO Kontakttechnik . . . . . . . . . . . 15
1.7
Srovn´an´ı komunikaˇcn´ıch modul˚ u, 1. ˇc´ast . . . . . . . . . . . . . . . . 18
1.8
Srovn´an´ı komunikaˇcn´ıch modul˚ u, 2. ˇc´ast . . . . . . . . . . . . . . . . 19
1.9
Srovn´an´ı moˇznost´ı modul˚ u jednotliv´ ych v´ yrobc˚ u . . . . . . . . . . . . 20
1.10 Srovn´an´ı moˇznost´ı modul˚ u jednotliv´ ych v´ yrobc˚ u . . . . . . . . . . . . 21 2.1
Typy alarm˚ u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2
Typy alarm˚ u (pokraˇcov´ an´ı)
2.3
Lok´aln´ı data pro OB83 . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4
Lok´aln´ı data pro OB86 . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5
Parametry SFB 54 ”RALRM” . . . . . . . . . . . . . . . . . . . . . . 32
3.1
Seznam zaˇr´ızen´ı pro IO-Controller v PLC . . . . . . . . . . . . . . . . 33
3.2
V´ yznam V/V promˇenn´ ych u FB1 ve Step 7
3.3
Seznam zaˇr´ızen´ı pro IO-Controller v PC . . . . . . . . . . . . . . . . 40
. . . . . . . . . . . . . . . . . . . . . . . 24
. . . . . . . . . . . . . . 35
A.1 Ud´alosti alarm˚ u spouˇstej´ıc´ı OB 83 . . . . . . . . . . . . . . . . . . . . III A.2 Ud´alosti alarm˚ u spouˇstej´ıc´ı OB 83 ( pokraˇcov´an´ı) . . . . . . . . . . . IV A.3 Ud´alosti alarm˚ u spouˇstej´ıc´ı OB 86 . . . . . . . . . . . . . . . . . . . .
ix
V
´ Uvod Tato bakal´aˇrsk´e pr´ace se zab´ yv´a protokolem PROFINET IO (PN IO). Mapuje souˇcasn´ y trh v´ yrobk˚ u, kter´e protokol podporuj´ı a z´aroveˇ n demonstruje jeho z´akladn´ı vlastnosti na vzorov´e instalaci. V prvn´ı ˇc´asti pr´ace je pops´an struˇcnˇe protokol PROFINET IO. Na z´akladˇe tohoto popisu se vytvoˇril pˇrehled dostupn´ ych zaˇr´ızen´ı souˇcasn´eho trhu a to jak PROFINET IO Controller, tak Device. Nechyb´ı zde ani porovn´an´ı tˇechto zaˇr´ızen´ı. D˚ uraz je kladen na nejpouˇz´ıvanˇejˇs´ı vstupnˇe/v´ ystupn´ı (V/V) moduly r˚ uzn´ ych v´ yrobc˚ u souˇcasn´eho trhu. Protoˇze produkty spoleˇcnosti Siemens, vyuˇz´ıvaj´ıc´ı technologii PN IO, pokr´ yvaj´ı vˇetˇsinu evropsk´eho trhu, tato kapitola zahnuje i ostatn´ı v´ yrobce, aby bylo moˇzn´e si vybrat tak´e jinou alternativu a pˇritom zachovat stejnou funkˇcnost poˇzadovan´eho syst´emu. Obsahem druh´e kapitoly je struktura programov´ ych blok˚ u (OB,DB,FB), kter´e jsou uˇzity pro implementaci diagnostick´ ych funkc´ı pro ˇradu Simatic S7-300, jako je napˇr. pˇreruˇsen´ y kabel mezi PLC a periferi´ı. Souˇc´ast´ı je i uk´azka k´odu, jak tyto funkce implementovat v jazyce pro PLC – STL 1 . Z´avˇer pr´ace je zamˇeˇren na implementaci dignostick´ ych funkc´ı pro PLC a do aplikace OPC klient. K tomuto u ´ˇcelu vznikla instalace s PN IO Controllerem s CPU 315-2 PN/DP spol. Siemens. Souˇc´ast´ı instalace je i n´ahrada PLC (IO-Controlleru), bˇeˇz´ıc´ıho na PC 2 . Na t´eto stanici je tak´e spuˇstˇen OPC Server, komunikuj´ıc´ı s IOControllerem nejprve pomoc´ı protokolu PROFINET IO, pot´e pˇres intern´ı rozhran´ı 3 . Aplikace OPC klient, jeˇz je souˇc´ast´ı t´eto bakal´aˇrsk´e pr´ace, vyuˇz´ıv´a platformy .NET. Pˇri ˇcten´ı t´eto pr´ace se pˇredpokl´ad´a, ˇze ˇcten´aˇr je obezn´amen se z´aklady jak programov´an´ı PLC 4 , tak s pr˚ umyslov´ ym ˇr´ızen´ım obecnˇe, d´ale pak s problematikou poˇc. s´ıt´ı a programov´an´ı v jazyce C#. 1
Statement List, textov´ y programovac´ı jazyk osahuj´ıc´ı vˇsechny potˇrebn´e komponenty k vy-
tvoˇren´ı ˇr´ıd´ıc´ıho programu 2 PC Station v HW-konfiguraci 3 V pˇr´ıpadˇe emulace IO-Controller na PC 4 Programmable Logic Controller – programovateln´ y logick´ y automat
1
Kapitola 1 PROFINET IO Tato kapitola se struˇcnˇe zab´ yv´a rozborem protokolu PROFINET IO, d´ale pak popisem zaˇr´ızen´ı typu IO-Controller a n´aslednˇe zaˇr´ızen´ım typu IO-Device, kter´a lze na souˇcasn´em trhu naj´ıt. Protokol je pops´an pouze povrchnˇe tak, aby ˇcten´aˇr, po pˇreˇcten´ı t´eto pr´ace, byl sezn´amen se z´aklady, na kter´ ych protokol PROFINET IO stoj´ı a jak´e dalˇs´ı mechanizmy vyuˇz´ıv´a. Zaˇr´ızen´ı IO-Device jsou na z´avˇer kapitoly porovn´any, resp. je udˇel´an pˇrehled z´akladn´ıch vlastnost´ı, kter´ y by mˇel slouˇzit jako pom˚ ucka pˇri n´avrhu ˇr´ıd´ıc´ıho syst´emu bez nutnosti hlubˇs´ıho studia dalˇs´ıch materi´al˚ u, jako je napˇr. podrobn´ y manu´al v´ yrobce.
1.1
Popis protokolu PROFINET IO
Protokol PROFINET je otevˇren´ y komunikaˇcn´ı standard, zaloˇzen´ y mezin´arodn´ı organizac´ı PROFIBUS International (PI). Vznik na z´akladˇe st´ale silnˇejˇs´ı potˇreby vyuˇz´ıt´ı informaˇcn´ıch technologi´ı (IT) pro automatizaci, zaloˇzen´e na standardech TCP/IP a XML. Tato intergrace v´ yraznˇe zlepˇsuje komunikaˇcn´ı nastaven´ı mezi automatizaˇcn´ım syst´emem, rozs´ahlou konfigurac´ı, diagnostick´ ymi moˇznostmi a ˇsirok´ ymi moˇznostmi s´ıt’ov´ ych sluˇzeb. PROFINET umoˇzn ˇuje integraci do jiˇz existuj´ıc´ıch fieldbus syst´em˚ u 1 , jako napˇr. PROFIBUS, DeviceNet nebo INTERBUS, bez zmˇen existuj´ıc´ıch zaˇr´ızen´ı/ syst´em˚ u, vis obr. 1.1. To m´a za n´asledek ochr´anˇen´ı jiˇz vynaloˇzen´ ych investic, jelikoˇz se st´avaj´ıc´ı syst´emy, podle potˇreb, rozˇsiˇruj´ı. PROFINET je standardizov´an normami IEC 61158 a IEC 61784. 1
Obecn´e oznaˇcen´ı sbˇernic pro automatizaci
2
3
KAPITOLA 1. PROFINET IO
Obr´azek 1.1: Integrace PROFINET do st´avaj´ıc´ıch fiedbus˚ u (Zdroj [7])
Jako z´aklad komunikace pouˇz´ıv´a PROFINET IO Ethernet a tak´e TCP, UDP a IP protokoly. V oblasti IT je de-fakto TCP/IP protokol povaˇzov´an za standard komunikaˇcn´ıch protokol˚ u. Ale pro intern´ı spolupr´aci (interoperabilitu) zaˇr´ızen´ı uˇz nestaˇc´ı pouze zajistit komunikaˇcn´ı kan´al zaloˇzen´ y na TCP, UDP a IP, protoˇze tyto protokoly representuj´ı jen datovou v´ ymˇenu. Dalˇs´ı protokoly a rozˇs´ıˇren´ı jsou proto potˇrebn´e nad TCP nebo UDP, tzv. aplikaˇcn´ı protokoly, kter´e zajiˇst’uj´ı spolupr´aci aplikac´ı. Tato spolupr´ace aplikac´ı s ostatn´ımi zaˇr´ızen´ımi (field devices) je zajiˇstˇena pouze v pˇr´ıpadˇe, ˇze je zajiˇstˇeno pouˇzit´ı stejn´eho protokolu na obou konc´ıch spojen´ı. Typick´e aplikaˇcn´ı protokoly jsou napˇr. SMTP (e-mail), FTP (pˇrenos soubor˚ u) a HTTP (Web). Rozd´ıln´e oblasti aplikac´ı v pr˚ umyslov´e automatizaci z´av´ıs´ı na rozsahu sluˇzeb komunikac´ı. Tento rozsah je d´an poˇzadavky aplikace a dˇel´ı se do tˇr´ı z´akladn´ıch skupin : • ˇcasovˇe nekritick´e aplikace (non-time-critical) • RT aplikace (Real Time) • IRT aplikace (Isochronous RT)
2
Pro ˇcasovˇe nekritick´e syst´emy PROFINET IO uˇz´ıv´a Non Real Time komunikaci (NRT) se standardn´ım Ethernet mechanizmem pomoc´ı TCP/IP nebo UDP/IP. NRT komunikace vych´az´ı z mezin´arodn´ıho standardu IEEE 802.3. Tato metoda je hojnˇe vyuˇz´ıv´ana v procesn´ı automatizaci. 2
Nˇekdy tak´e oznaˇcov´ ano jako hodinovˇe ˇr´ızen´e (clock-synchronized)
KAPITOLA 1. PROFINET IO
4
Pr˚ umyslov´e aplikace tov´arn´ı v´ yroby nˇekdy vyˇzaduj´ı vyˇsˇs´ı n´aroky na ˇs´ıˇrku pˇren´aˇsen´ ych dat a pˇresnou ˇcasovou synchronizaci. V´ ymˇena dat optimalizovan´a pro v´ yrobu je oznaˇcov´ana jako RT (Real Time) komunikace, deterministick´a a ˇcasovˇe synchronizovan´a komunikace jako IRT komunikace (Isochronous RT), kter´a umoˇzn ˇuje ˇcasovou synchronizaci pod 1 ms a pˇresnost jitteru 3 < 1 µs. Rozdˇelen´ı druh˚ u komunikace na z´akladˇe ˇcasov´ ych poˇzadavk˚ u (popˇr. odezvy) naznaˇcuje obr. 1.2.
Obr´azek 1.2: Rozdˇelen´ı aplikac´ı podle poˇzadavk˚ u na ˇcas odezvy (Zdroj [8])
Profinet IO rozezn´av´a 3 rozd´ıln´e typy zaˇr´ızen´ı : • IO-Controller, master tˇr´ıdy DPV 1 v PROFIBUS DP • IO-Device, slave v PROFIBUS DP • IO-Supervisor, master tˇr´ıdy DPV 2 v PROFIBUS DP IO-Controller je obvykle implementov´an do PLC nebo jin´eho ˇr´ıd´ıc´ıho poˇc´ıtaˇce. Star´a se o ˇr´ızen´ı s´ıtˇe a datov´e v´ ymˇenˇe mezi jej´ımi u ´ˇcastn´ıky. Pˇri konfiguraci jsou v nˇem uloˇzeny informace o dalˇs´ıch u ´ˇcastn´ıc´ıch s´ıtˇe (IO-Device), kter´e jsou mu podˇr´ızeny. IO-Device – distribuovan´e (vzd´alen´e) V/V jsou pomoc´ı PN IO ˇreˇseny podobn´ ym uspoˇr´ad´an´ım, jako je tomu u protokolu PROFIBUS DP. Uˇzivatelsk´a data ze vˇsech pˇr´ıtomn´ ych zaˇr´ızen´ı jsou periodicky pˇren´aˇsena do procesn´ıho modelu ˇr´ıd´ıc´ıho syst´emu. Model, podle kter´eho jsou zaˇr´ızen´ı (IO-Device) pops´ana, se skl´ad´a z m´ıst pro V/V moduly, tzv. Sloty, a skupin kan´al˚ u, tzv. Subslot˚ u. Pˇri alarmech slouˇz´ı toto rozdˇelen´ı napˇr. k identifikaci jednotliv´ ych pˇrev´aˇznˇe modul´arn´ıch zaˇz´ızen´ı. Vˇsechny moˇznosti konfigurace a technick´e charakteristiky jsou popsan´e ve GSD (General Station Description) souborech 4 , zaloˇzen´ ych na b´azi XML. 3 4
Odchylka synchronizaˇcn´ıch puls˚ u od referenˇcn´ı hodnoty Tyto soubory jsou dod´av´ any s PN IO Device pˇr´ımo od v´ yrobce
5
KAPITOLA 1. PROFINET IO
IO-Supervisor se na s´ıti objev´ı pˇri konfiguraci nebo monitorov´an´ı a diagnostice komunikace s´ıtˇe. Protoˇze PROFINET IO vyuˇz´ıv´a protokolu IP, maj´ı vˇsechny tˇri typy u ´ˇcastn´ık˚ u pˇridˇelenu svou unik´atn´ı IP adresu, pomoc´ı n´ıˇz jsou tak´e na s´ıti identifikov´any. PROFINET IO v sobˇe osahuje skupinu protokol˚ u, kter´e disponuj´ı sluˇzbami s n´asleduj´ıc´ımi funkcemi : • Cyklick´ y pˇrenos V/V dat definovan´ ych adresn´ım prostorem IO-Controlleru • Acyklick´ y pˇrenos poruchov´ ych hl´aˇsen´ı s potvrzov´an´ım pˇr´ıjmu • Acyklick´ y pˇrenos dat jako jsou parametry, diagnostick´e u ´daje, atd. Detailnˇejˇs´ı popis tohoto protokolu m˚ uˇze ˇcten´aˇr nal´ezt mimo jin´e v [3].
Obr´azek 1.3: Model PROFINET IO (Zdroj [3])
1.2
Trh – PROFINET IO Controller
Zde se budeme zab´ yvat popisem dostupn´ ych zaˇr´ızen´ı u ´rovnˇe PROFINET IO Controller na souˇcasn´em trhu. Vych´az´ım z datab´aze PI
5
certifikovan´ ych produkt˚ u
vˇsech v´ yrobc˚ u, ze kter´e vypl´ yv´a, ˇze vedle spol. Siemens dod´av´a na trh IO-Controllery tak´e spol. Phoenix Contact. 5
PROFIBUS International, v´ıce na http://www.profibus.com
KAPITOLA 1. PROFINET IO
1.2.1
6
Siemens
Spoleˇcnost Siemens je hlavn´ım evropsk´ ym v´ yrobcem automatizovan´ ych zaˇr´ızen´ı, proto jejich sortiment obsahuje i jednotky, zahrnuj´ıc´ı standard PROFINET IO. Siemens pˇredpokl´ad´a, ˇze zhruba do roku 2012 bude m´ıt PROFINET stejn´e zastoupen´ı jako PROFIBUS a nav´ıc z dneˇsn´ıch 5-ti fiedbus˚ u se udrˇz´ı 3, vˇc. PROFINETu IO. Na z´akladˇe datab´aze PInternational jsem jako z´astupce PROFINET IO Controller vybral n´asleduj´ıc´ı zaˇr´ızen´ı : ˇ • Rada Simatic S7 300 – CPU 315-2 PN/DP – CPU 317-2 PN/DP – CPU 319-3 PN/DP – CP 343-1 ˇ • Rada Simatic S7 400 – CP 443-1 Advanced ˇ • Rada SIMATIC PG/PC – CP 1616 CPU 315-2 PN/DP, CPU 317-2 PN/DP, CPU 319-3 PN/DP Z´akladn´ı vlastnosti ohlednˇe protokolu PROFINET naznaˇcuje tab. 1.1. Jedn´a se o IO-Controllery, podporuj´ıc´ı napˇr. ˇr´ızen´ı pohon˚ u (Easy Motion Control) nebo softwarov´ y closed-loop
6
PID regul´ator. Programov´an´ı, hardwarov´a konfigurace apod.
se realizuje pomoc´ı STEP 7 7 . Rozhran´ı PROFINET IO umoˇzn ˇuje pˇripojen´ı k SIMATIC NET 8 OPC serveru a komunikaci s dalˇs´ımi IO-Controllery nebo IO-Device, kter´e maj´ı vlastn´ı CPU. Vedle distribuovan´ ych PN IO V/V modul˚ u lze tyto CPU rozˇs´ıˇrit vlastn´ımi, kter´ ych m˚ uˇze b´ yt aˇz 32. D´ıky tomu, ˇze tyto PLC jsou vybaveny Proxy PROFINET IO/PROFIBUS DP, lze je zaˇclenit do st´avaj´ıc´ıch instalac´ı, kter´e vyuˇz´ıvaj´ı komunikace pomoc´ı PROFIBUS, coˇz m´a za n´asledek znaˇcnou u ´sporu jiˇz vloˇzen´ ych investic. V z´avislosti na projektu, lze syst´em pouze rozˇs´ıˇrit, aniˇz by se musel upravovat st´avaj´ıc´ı. 6ˇ
R´ızen´ı pro uzavˇrenou smyˇcku Souˇc´ast´ı programov´eho bal´ıku Simatic NET 8 SIMATIC NET je programov´ y bal´ık Siemens, zahrnuj´ıc´ı programy nejen pro distribuovan´e 7
ˇr´ızen´ı a komunikaci
KAPITOLA 1. PROFINET IO
7
K programov´an´ı a diagnostice se vedle PROFINETu IO m˚ uˇze tak´e pouˇz´ıt rozhran´ı MPI, vyuˇz´ıvaj´ıc´ı stejn´ y konektor jako rozhran´ı PROFIBUS. CP 343-1, CP 443-1 Advanced a CP 1616 V tab.1.2 jsou uvedeny z´akladn´ı vlastnosti tˇechto komunikaˇcn´ıch procesor˚ u (CP) s vlastn´ım integrovan´ ym procesorem pro komunikaci, d´ıky ˇcemuˇz odpad´a z´atˇeˇz ˇr´ızen´ı komunikace na CPU a umoˇzn ˇuje pˇr´ıdavn´a pˇripojen´ı k jednotce. Z t´eto tabulky tak´e vypl´ yv´a, ˇze zaˇr´ızen´ı je moˇzno konfigurovat jako IO-Controller i IO-Device. Verze CP 343-1 je vhodn´a pro s´ıtˇe s topologi´ı, vyuˇzivaj´ıc´ı dva porty switche 9 , v tomto pˇr´ıpadˇe realizov´an jako integrovan´ y 2-portov´ y obvod – Real-time Switch ˇ e S7-300 umoˇzn ERTEC 200. Radˇ ˇuje komunikaci s n´asleduj´ıc´ımi zaˇr´ızen´ımi: • Programovac´ı zaˇr´ızen´ı, PC, HMI • Ostatn´ı SIMATIC S7/C7 syst´emy • SIMATIC S5 programovateln´e automaty • PROFINET IO Device • Ne-Siemens zaˇr´ızen´ı CP 443-1 Advanced je komunikaˇcn´ı procesor, umoˇzn ˇuj´ıc´ı pˇripojen´ı ˇradˇe S7-400 do Industrial Ethernetu. Podporuje protokoly TCP/IP, ISO a UDP. Procesn´ı data lze vyˇc´ıst tak´e pˇres webov´ y prohl´ıˇzeˇc (lze spustit WEB server), disponuje sluˇzbami HTTP a FTP. Stejnˇe jako ˇrada 300, tak i pro ˇradu 400 plat´ı, ˇze pomoc´ı toho modelu ji lze pˇripojit k n´asleduj´ıc´ım: • Programovac´ı zaˇr´ızen´ı, PC, HMI • Syst´emy SIMATIC S5/S7/C7 • PROFINET IO Device • Komponenty PROFINET CBA 9
Pˇrep´ınaˇc, umoˇzn ˇuje pˇripojit v´ıce zaˇr´ızen´ı na jednu s´ıt’, v naˇsem pˇr´ıpadˇe Ethernet/PROFINET
KAPITOLA 1. PROFINET IO
8
Obr´azek 1.4: (a) komunikaˇcn´ı procesor CP 443-1 Advanced (b) uˇzit´ı (Zdroj [10])
Obr´azek 1.5: (a) komunikaˇcn´ı procesor CP 1616 (b) uˇzit´ı (Zdroj [10])
CP 1616 je PC karta do 32-bit slotu PCI (33/66 MHz), ver. 2.2, plnˇe kompatibiln´ı ˇ r-portov´ s 64-bit PCI-X sbˇernic´ı. Ctyˇ y switch Ethernet je zde realizov´an pomoc´ı ˇcipu Real-time ASIC ERTEC 400 s podporou ˇr´ızen´ı RT a IRT 10 PROFINET. D´ıky IRT karta umoˇzn ˇuje implementaci pro ˇr´ızen´ı pohon˚ u (Motion Control). V tomto m´odu 10
Isochronn´ı Real Time komunikace
9
KAPITOLA 1. PROFINET IO
(IRT) lze kartu konfigurovat jen jako IO-Controller, jinak (RT) lze provozovat oba dva typy (IO-Controller i IO-Device). Pro zv´ yˇsen´ı bezpeˇcnosti lze kartu nap´ajet extern´ım zdrojem a v pˇr´ıpadˇe poruchy nap´ajen´ı PC se zachov´a alespoˇ n funkcionalita switche. Pomoc´ı IO Base User Programming Interface (d´ale jen IO-Base), coˇz je knihovna jazyka C, lze napsat jednoduchou aplikaci jak pro IO-Controller, tak i pro IO-Device. IO Base je souˇc´ast´ı programov´eho bal´ıku Simatic NET. Spoleˇcn´e maj´ı tyto komunikaˇcn´ı jednotky napˇr. automatick´e pˇrekˇr´ızen´ı (Autocrossover) nebo detekci kabelu (Autosensing). K hardwarov´e konfiguraci a celkov´emu pˇr´ıstupu slouˇz´ı programov´ y bal´ık Simatic NET. V´ıce viz [9]. PROFINET IO
10/100 CPU 317-2
Ethernet
ano
ano
Ethernet N/A N/A 10/100
128
14
10/100 CPU 319-3
TCP/IP
max.
Alarmy
max.
ˇ obnoven´ı Cas
ano
zaˇ r´ızen´ı
S7 pˇ ripojen´ı
ano
Max. I/O
Smˇ erov´ an´ı
Ethernet
Ethernet
PG/OP
CPU 315-2
Industrial
Typ
Rozhran´ı
Sluˇ zby/Komunikace
1-512 40 ms
TCP/IP
128
16
1-512 60 ms
max.
TCP/IP
30
ISO-on-TCP
8
1-512 60 ms
UDP Tabulka 1.1: Pˇrehled vlastnost´ı IO-Controller˚ u Siemens ˇrady S300
10
KAPITOLA 1. PROFINET IO Controller
Device
input
output
input
output
area
area
range
range
(kB)
(kB)
(B)
(B)
Submodul˚ u
Device
Max. PN IO
RJ45
Konektory
Typ
(Mbps)
Rychlost
I/O data areas I/O data ranges
CP 343-1
10/100
2
32
1
1
240
240
32
CP 443-1
10/100
4
125
4
4
240
240
x
CP 1616
10/100
4
200
8
8
1440
1440
x
16 IRT Tabulka 1.2: Pˇrehled vlastnost´ı IO-Controller˚ u Siemens – komunikaˇcn´ıch CPU CP 343, CP 443 a CP 1616
1.2.2
Phoenix Contact
Tato spoleˇcnost dod´av´a na trh IO-Controllery ve tˇrech variant´ach: • ILC 350 PN • ILC 370 PN 2TX-IB • ILC 390 PN 2TX-IB
Obr´azek 1.6: PLC Phoenix Contact ILC 390 PN 2TX-IB (Zdroj [4])
11
KAPITOLA 1. PROFINET IO Pro vˇsechny CPU je spoleˇcn´e programov´an´ı podle standardu IEC 61131-3
11
.
Doporuˇcen´ y programovac´ı n´astroj je PC WorX 3 a jako diagnostick´ y n´astroj slouˇz´ı DIAG+ od verze 1.14. Tab. 1.3 d´av´a struˇcn´ y pˇrehled o vˇsech rozhran´ıch, kter´e jednotliv´e typy maj´ı. U tab. 1.4 uv´ad´ım popis vlastnost´ı protokolu PROFINET IO, jako napˇr. typ zaˇr´ızen´ı na tomto protokolu nebo poˇcet konektor˚ u. Co se t´ yˇce PN IO, jednotliv´e jednotky se liˇs´ı pouze v poˇctu konektor˚ u RJ45, proto tak´e v tab. 1.4 nejsou jednotlivˇe oddˇeleny vodorovnou ˇcarou. V tab. 1.3 vid´ıme, ˇze konektor RJ45 je uveden jednak u programovan´ı a diagnostiky, jednak u protokolu PROFINET IO, z ˇcehoˇz vypl´ yv´a, ˇze pomoc´ı rozhran´ı Ethernet m˚ uˇze PLC ˇr´ıdit s´ıt’ PN IO a z´aroveˇ n napˇr. sledovat diagnostiku syst´emu. To vˇsak plat´ı pouze pro typy ILC 370 a 390, nebot’ tyto maj´ı dva konektrory RJ45. U verze 350 je nutn´e vyuˇz´ıt pro programov´an´ı nebo diagnostiku jin´ ych rozhran´ı (napˇr. RS-232). Tab. 1.5 ud´av´a vlastnosti dalˇs´ı standardizovan´e sbˇernice INTERBUS
12
, kde je
rozd´ıl˚ u v´ıce. Rozhran´ı Typ ILC 350
INTERBUS Master
Slave
Diagnostika
10/100
Inline data
x
RS-232-C, PS/2,
RJ45
jumper ILC 370 ILC 390
Programov´ an´ı, Ethernet
RJ45
Inline data
D-SUB-9
RS-232-C, PS/2,
jumper
female/male
RJ45
Inline data
D-SUB-9
RS-232-C, PS/2,
jumper
female/male
RJ45
RJ45 RJ45
Tabulka 1.3: Pˇrehled typ˚ u pˇripojen´ı PLC Phoenix Contact 11
Tˇret´ı ˇc´ast otevˇren´eho standardu IEC 61131, definuj´ıc´ı grafick´e a textov´e programovac´ı jazyky,
v´ıce na http://www.iec.ch nebo viz [14] 12 Sbˇernice, vyvinut´a spol. Phoenix Contact a standardizovan´a podle EN 50254 a IEC 61158,v´ıce na http://www.interbusclub.com nebo viz [12]
12
KAPITOLA 1. PROFINET IO
Rychlost
Konektor
Poˇ cet
ˇ obnoven´ı Cas
ILC 350 ILC 370
Ethernet
10/100
RJ45
1
min.
10Base-T
Mbps
female
2
1
2
ms
Specifikace
Typ
Typ
Rozhran´ı
PROFINET IO
Controller ver. 1.1
ILC 390
100Base-TX
Tabulka 1.4: Pˇrehled vlastnost´ı PN IO Controller˚ u Phoenix Contact
ˇ ızen´ R´ ych u ´ loh
Datov´ a pamˇ et’
NVRAM
16
2 MB
64 kB
ILC 370
Master/Slave
63
512
8192
16
4 MB
96 kB
ILC 390
Master/Slave
63
512
8192
16
4 MB
96 kB
(max.)
8192
I/O uzl˚ u
512
(max.)
63
zaˇ r´ızen´ı
Master
termin´ al˚ u
ILC 350
Poˇ cet
Typ
Typ
Podporovan´ ych
INTERBUS
Tabulka 1.5: Pˇrehled ostatn´ıch vlastnost´ı Controller˚ u Phoenix Contact
1.3
Trh – PROFINET IO Device
Obsahem t´eto kapitoly je popis vˇsech dostupn´ ych zaˇr´ızen´ı souˇcasn´eho trhu na u ´rovni PROFINET IO Device. Zde jsou to zaˇr´ızen´ı hlavnˇe Siemens, ale tak´e PHOENIX CONTACT, WAGO Kontakttechnik, Beckhoff a TURCK. D˚ uraz je kladen pˇredevˇs´ım na V/V moduly 12–24 V DC a jen okrajovˇe jsou uvedeny speci´aln´ı a dalˇs´ı. U kaˇzd´eho v´ yrobce jsou struˇcnˇe pops´any zvl´aˇst komunikaˇcn´ı jednotky a V/V moduly samotn´e.
KAPITOLA 1. PROFINET IO
1.3.1
13
Siemens
Komunikaˇ cn´ı modul – IM151-3 PN Jedn´a se o komunikaˇcn´ı modul distribuovan´eho syst´emu ET200S pro pˇripojen´ı do s´ıtˇe PROFINET IO. Vedle standardn´ı verze je k dispozici jeˇstˇe varianta IM151-3 PN HIGH FEATURE, kter´a pracuje s PROFIsafe F moduly 13 . Toto rozhran´ı vyˇzaduje ˇ ıd´ı vˇsechny datov´e v´ ke sv´e pr´aci MMC kartu. R´ ymˇeny sv´ ych modul˚ u s PROFINET IO Controllerem. Je vybaveno dvˇema konektory RJ45, vhodn´e pro zaˇclenˇen´ı do s´ıtˇe se sbˇernicovou topologi´ı. Instalace se prov´ad´ı pˇr´ım´ ym uchopen´ım na DIN liˇstu. Diagnostick´a indikace pomoc´ı LED : • Chyby modul˚ u (Group error) • Chyba sbˇernice a zdroje napˇet´ı • Pˇripojeno k s´ıti a komunikace RX/TX V/V moduly Pro digit´aln´ı V/V (DI, DO) Siemens nab´ız´ı 2, 4 a 8 kan´alov´e moduly. Ty se od sebe liˇs´ı u ´rovnˇemi napˇet´ı a proudu na vstupu, resp. na v´ ystupu. Co se t´ yˇce analogov´ych vstupn´ıch modul˚ u (AI), ty maj´ı v z´avislosti na sv´em typu 2 nebo 4 kan´aly. Jsou urˇceny jak pro mˇeˇren´ı proudu a napˇet´ı, tak pro mˇeˇren´ı napˇr. teploty. Rozliˇsen´ı A/D pˇrevodn´ıku urˇcuje kvalitu zpracov´an´ı sign´alu a pro nen´aroˇcn´e aplikace (Standard) je 13-bit, zat´ımco v pˇr´ıpadˇe, kdy je poˇzadov´ana zv´ yˇsen´a pˇresnost disponuj´ı rozliˇsen´ım 15-bit. Vedle tˇechto je k dispozici jeˇstˇe ˇrada technologick´ych modul˚ u, jako napˇr. pulsn´ı gener´ator, ˇcasovaˇc, gener´ator pro krokov´ y motor nebo dekod´er inkrement´aln´ıho senzoru. Celkov´ y pˇrehled je obsahem tab. 1.9.
1.3.2
Phoenix Contact
Phoenix Contact nab´ız´ı PN IO Device jako distribuovan´ y V/V syst´em, stupnˇe ochrany IP20, ve dvou variant´ach: • ILB PN 24 DI16 DIO16-2TX, pevnˇe stanoven´ y poˇcet V/V • FL IL 24 BK-PN-PAC, moˇznost v´ ybˇeru modul˚ u 13
Vyˇsˇs´ı stupeˇ n kryt´ı – aˇz IP67
KAPITOLA 1. PROFINET IO
14
Komunikaˇ cn´ı modul – ILB PN 24 DI16 DIO16-2TX Jedn´a se o blok digit´aln´ıch V/V na 24 V DC. Poˇcet vstup˚ u je dˇelen na 16 pevnˇe stanoven´ ych a zbyl´ ych 16 voliteln´ ych. Pˇripojen´ı senzor˚ u, ˇcidel ˇci akˇcn´ıch ˇclen˚ u je jak dvou, tak tˇr´ı vodiˇcov´e. Doba odezvy je typicky 500 µs. Poˇcet v´ ystup˚ u je volnˇe voliteln´ y (max. vˇsak 16) a zp˚ usob pˇripojen´ı pouze dvouvodiˇcovˇe. Proudov´e zat´ıˇzen´ı na jednotliv´ y v´ ystup nesm´ı pˇres´ahnout 500 mA. Komunikaˇ cn´ı modul – FL IL 24 BK-PN-PAC FL IL 24 BK-PN-PAC je modul´arn´ı komunikaˇcn´ı jednotka s max. 63 pˇripojiteln´ ymi z´asuvn´ ymi moduly, s maxim´aln´ım povolen´ y proudem pro logick´e moduly 2 A na 7.5 V a pˇri analogov´ ych 0.5 A pˇri 24 V . Pro diagnostiku slouˇz´ı dvoucifern´ y sedmisegmentov´ y displej a LED pro: • Indikaci komunikace (UL ) • Nap´ajen´ı hlavn´ıho obvodu (UM ) • Chyby modul˚ u (Group error) • Chybu sbˇernice (bus error, BF), kolize (COL) • Pˇripojeno k s´ıti (LNK), vys´ıl´an´ı (XMT) a pˇr´ıjem (RCV) dat V/V moduly Digit´aln´ı V/V moduly jsou standartnˇe na napˇet´ı 24 V DC, ev. 240 V AC. U DO modul˚ u jsou k dispozici dvˇe varianty pro v´ ystupn´ı proud: bud’ 500 mA nebo 2 A. Pˇripojen´ı lze volit 1, 2, 3 nebo 4-vodiˇcov´e. V pˇr´ıpadˇe analogov´ ych modul˚ u se vstupy daj´ı pouˇz´ıt pro mˇeˇren´ı teploty bud’to odporov´ ym termistorem, nebo termoˇcl´ankem s 2, 3 nebo 4 vodiˇci. V´ ystupn´ı proudov´a smyˇcka u AO modul˚ u je podle potˇreby 0– 20 mA, 4–20 mA a rozsah napˇet´ı 0–10 V nebo ±10 V . Pro zjiˇst’ov´an´ı polohy pomoc´ı dekod´eru IRC senzoru nebo generovan´ı PWM slouˇz´ı funkˇcn´ı moduly, v´ıce viz [4].
1.3.3
WAGO Kontakttechnik
Komunikaˇ cn´ı moduly 750-340 a 750-370 WAGO Kontakttechnik nab´ız´ı na trhu dvˇe varianty komunikaˇcn´ıho pˇrevodn´ıku. Tab. 1.6 ud´av´a rozd´ıly. Spoleˇcn´e maj´ı univerz´alnost rozˇriˇruj´ıc´ıch modul˚ u, kter´e na
15
KAPITOLA 1. PROFINET IO
nich nejsou z´avisl´e a mohou b´ yt jak analogov´e, nebo speci´aln´ı, tak digit´aln´ı. Jednotka automaticky vytv´aˇr´ı lok´aln´ı obraz procesn´ıch dat, kter´ y na z´akladˇe z´asuvn´eho modulu pos´ıl´a informace nadˇrazen´emu ˇr´ıd´ıc´ımu syst´emu (IO-Controlleru), v pˇr´ıpadˇe analogov´ ych nebo speci´aln´ıch periferi´ı jsou data pˇren´aˇsena jako slova (Words) nebo byty, pro digit´aln´ı moduly se informace pos´ılaj´ı bit po bitu.
prodlouˇ zen´ım
se sbˇ ernicov´ ym
Poˇ cet modul˚ u
RJ45
Typ
Konektor˚ u
Max. d´ elka obrazu Sp´ınac´ı kontakty
Napˇ et´ı
Proud
Vstup
V´ ystup
(max.)
(max.)
750-340
1
64
250
2 kB
2 kB
24
10
750-370
2
64
128
320 B
320 B
24
10
Tabulka 1.6: Pˇrehled vlastnost´ı PN IO Device WAGO Kontakttechnik – komunikaˇcn´ı jednotky
V/V moduly Vedle standardn´ıch digit´aln´ıch a analogov´ ych V/V modul˚ u, popsan´ ych v tab. 1.9, spoleˇcnost nab´ız´ı tak´e speci´aln´ı, jako napˇr. horn´ı/doln´ı ˇc´ıtaˇce, pulsnˇe-ˇs´ıˇrkov´e modul´atory, inkrement´aln´ı dekod´ery a jin´e.
1.3.4
Beckhoff
Komunikaˇ cn´ı modul BK9103 Tento modul automaticky rozpozn´av´a termin´aly, kter´e jsou k nˇemu pˇripojeny a tak´e prov´ad´ı pˇriˇrazen´ı slov (Words) jednotliv´ ym vstup˚ um a v´ ystup˚ um. Pˇrenosov´e rychlosti 10/100 Mbps detekuje tak´e automaticky. BK9103 je vybaven tˇremi konektrory RJ45, z toho dva jsou vyuˇziteln´e pro komunikaci. D´ıky tomu se jednotka m˚ uze pouˇz´ıt do s´ıtˇe se sbˇernicovou topologi´ı, nam´ısto hvˇezdicov´e, coˇz v nˇekter´ ych aplikac´ıch m˚ uˇze znaˇcnˇe sn´ıˇzit poˇzadavky na kabel´aˇz. D´ıky dvˇema konektor˚ um RJ45 se tak´e nab´ız´ı moˇznost spojit jednotky kask´adnˇe, do 20-ti kus˚ u. Protoˇze maxim´aln´ı d´elka kabelu mezi dvˇema moduly je 100 m, lze tak vytvoˇrit linku dlouhou aˇz 2 km.
KAPITOLA 1. PROFINET IO
16
V´ yrobce pro konfiguraci uv´ad´ı softwarovou sadu KS2000, pomoc´ı n´ıˇz lze konfigurovat vsˇechny z´asuvn´e moduly podle potˇreby. Detailnˇejˇs´ı informace obsahuj´ı tab. 1.7 a 1.8. V/V moduly Bˇeˇzn´e V/V moduly analogov´e a digit´aln´ı jsou uvedeny v tab. 1.10. Vedle toho tek´e Beckhoff disponuje speci´aln´ımi moduly napˇr. pro mˇeˇren´ı polohy (IRC dekod´ery).
1.3.5
Turck
Komunikaˇ cn´ı modul BL67 Gateway-EN-PN Jedn´a se o jednotku, kter´a je souˇc´ast´ı ˇrady modul´arn´ıch syst´em˚ u BL67 se stupnˇem kryt´ı IP67. K tomu je upraven i konektor pro rozhran´ı PROFINET – M12, 4-p´olov´ y s D k´odov´an´ım. Gateway BL67 tvoˇr´ı nejd˚ uleˇzitejˇs´ı prvek stanic BL67. Vˇsechny elektronick´e moduly BL67 komunikuj´ı pomoc´ı intern´ı sbˇernice, ze kter´e jsou data d´ale pˇred´av´ana na sbˇernici pomoc´ı Gateway BL67, takˇze vˇsechny V/V moduly mohou b´ yt nez´avisl´e na sbˇernicov´em syst´emu. V´ıce informac´ı je uvedeno v tab. 1.7 a 1.8.
Obr´azek 1.7: Konektor M12 pro komunikaci po PN IO se stupnˇem kryt´ı IP67 (Zdroj [5])
V/V moduly Elektronick´e moduly ˇrady BL67 slouˇz´ı pro pˇripojov´an´ı digit´aln´ıch, analogov´ ych a teplotn´ıch sign´al˚ u, RS232/485/422 a SSI rozhran´ı. V´ıce uv´ad´ı tab. 1.10.
KAPITOLA 1. PROFINET IO
1.4
17
Porovn´ an´ı PN IO Device
Kap. 1.3 struˇcnˇe popisuje komunikaˇcn´ı moduly tak, jak je prezentuje jejich v´ yrobce na sv´ ych ofici´aln´ıch webov´ ych str´ank´ach. Obsahem t´eto kapitoly je srovn´an´ı z´akladn´ıch vlastnost´ı v´ yˇse popsan´ ych jednotek tak, aby pˇri n´avrhu automatizovan´eho syst´emu s komunikac´ı PROFINET IO bylo moˇzno porovnat z´akladn´ı vlastnosti. Porovn´an´ı je opˇet rozdˇeleno na komunikaˇcn´ı rozhran´ı a rozˇsiˇruj´ıc´ı V/V moduly samotn´e. Za z´akladn´ı vlastnosti komunikaˇcn´ıho interface je povaˇzov´an poˇcet konektor˚ u 14 a poˇcet V/V (bud’ pˇr´ımo jako poˇcet rozˇsiˇruj´ıc´ıch modul˚ u, nebo jako velikost adresn´ıho prostoru, kter´ y je d´an obrazem procesn´ıch dat a kter´ y je modul schopen maxim´alnˇe zpracovat), coˇz je obsahem tab. 1.7. Jako dalˇs´ı vlastnosti, uveden´e v tab. 1.8, jsou nap´ajen´ı, stupeˇ n kryt´ı a dalˇs´ı podporovan´e protokoly. Moduly nejsou z´avisl´e na pouˇzit´e sbˇernici/rozhran´ı (stejn´ y modul m˚ uˇze obsahovat jak syst´em, zaloˇzen´ y na komunikaci PROFIBUS DP, tak PROFINET IO). Z tohoto d˚ uvodu je popis zamˇeˇren na poˇcet V/V a u ´rovnˇe jejich napˇet´ı nebo proudu, na kter´e jsou urˇceny. V pozn´amce tab. 1.9 resp. tab 1.10 jsou uvedeny upˇresˇ nuj´ıc´ı informace, napˇr. spoleˇcnost Siemens disponuje moduly dvoj´ı verze : Standard – urˇcena pro bˇeˇzn´e aplikace, High-feature – nach´az´ı uˇzit´ı v pˇr´ıpadech s vysok´ ymi n´aroky na pˇresnost a rozliˇsen´ı mˇeˇren´ı (zvl´aˇstˇe analogov´e moduly). V pozn´amce je d´ale udevedeno, jak´ ym zp˚ usobem se moduly do syst´emu zapojuj´ı (kolika vodiˇcov´e pˇripojen´ı). Pro pˇr´ıpad analogov´ ych vstup˚ u je tak´e uvedeno, jak´e moduly a s kolika kan´aly jsou urˇceny pro mˇeˇren´ı teploty, vˇc. zp˚ usobu tohoto mˇeˇren´ı (termoˇcl´anky, odporov´e termistory). 14
Pˇri vyˇsˇs´ım poˇctu neˇz jedna je jednotka vybavena switchem
18
KAPITOLA 1. PROFINET IO Moduly
Adresn´ı
kapacita
Poˇ cet
Adresn´ı
kapacita
Poˇ cet
2
256 B
×
256 B
×
×
16 + 16
×
16
63
4 slova
63
(nez´avisl´e
(words)
(nez´avisl´e
/slot
na smˇeru)
/slot
na smˇeru)
2 kB
×
2 kB
×
320 B
×
320 B
×
512 B
analog. 256
512 B
analog. 256
Typ Siemens IM151-3 PN
(RJ45)
Pheoenix Contact
2
ILB PN 24
(RJ45)
libovolnˇe
DI16 DIO16-2TX Pheoenix Contact FL IL 24 BK-PN-PAC
V´ ystup
Konektory
Vstup
(max. 32) 1
4 slova
(RJ45) (words)
WAGO Kontakttechnik
1
750-340
(RJ45)
WAGO Kontakttechnik
2
750-370
(RJ45)
Beckhoff
2
BK9103
(RJ45)
Turck
1
BL67 Gateway-EN-PN
(M12)
digital. 512 ×
×
digital. 512 ×
Tabulka 1.7: Srovn´an´ı komunikaˇcn´ıch modul˚ u, 1. ˇc´ast
×
19
KAPITOLA 1. PROFINET IO
Siemens – IM151-3 PN
24 DC 250
ochrany
Stupeˇ n
Proud [mA]
Typ
Napˇ et´ı [V]
Nap´ ajen´ı
IP20
Podporovan´ e
Cena
protokoly
[EU R]
PROFINET IO TCP/IP
Pheoenix Contact
24 DC
60
IP20
ILB PN 24 DI16 DIO16-2TX
PROFINET IO
365
SNMP,TCP/IP FTP client
Pheoenix Contact
24 DV 100
IP20
FL IL 24 BK-PN-PAC
PROFINET IO
322
TCP/UDP SNMPv2, HTTP ICMP (ping)
WAGO Kontakttechnik
24 DC 500
IP20
750-340
PROFINET IO
436
HTTP, FTP DHCP, DNS SNTP, SNMP
WAGO Kontakttechnik
24 DC 500
IP20
PROFINET IO
750-370
TCP/IP,SNMP
(nedostupn´a ˇ v CR)
DCP,LLDP
Beckhoff
TCP/IP 24 DC 500
IP20
BK9103 Turck BL67 Gateway-EN-PN
x
PROFINET IO
265
TCP/IP 24 DC 600
IP67
PROFINET IO TCP/IP,DHCP
Tabulka 1.8: Srovn´an´ı komunikaˇcn´ıch modul˚ u, 2. ˇc´ast
430
20
KAPITOLA 1. PROFINET IO Poˇ cet Typ
kan´ al˚ u
U [V]
I [A]
Pozn´ amky
Siemens DI
2, 4, 8
24 DC
-
Standard i High Feature
DI
2
120, 240 AC
-
Standard
DO
2, 4, 8
24 DC
0.5, 2
Standard i High Feature
DO
2
24–240 AC
-
Standard
AI
2
35 DC
-
Standard, High Feature 2, 3 i 4 vodiˇcov´e pˇripojen´ı odporov´ ych senzor˚ u (Pt100) a termoel. ˇcl´ank˚ u
AO
2
15 DC
50 mA
Standard i High Feature
Phoenix Contact DI
2, 4, 8
24 DC
0.5, 2
1, 2, 3 a 4-dr´atov´e pˇripojen´ı
120,230 AC
-
3-dr´atov´e pˇripojen´ı
16,32 DI
1 16,32
DO
2, 4, 8
24 DC
0.5, 2
2, 3 a 4-dr´atov´e pˇripojen´ı
DO
1a4
12–240 AC
0.5, 2
3-dr´atov´e pˇripojen´ı
AI
2, 3
±10
0-20 mA
2, 3 a 4-dr´atov´e pˇripojen´ı
4, 8
0–10
4–20 mA
AI
4, 8
-
-
pro pˇripojen´ı termoˇcl´ank˚ u
AI
6
-
-
pro odpor.termistory
WAGO Kontakttechnik DI
2, 4, 8
DI
2, 4
DI
2
DO
2, 4, 8
DO
2
AI
24 DC
-
1, 2, 3-dr´atov´e pˇripojen´ı
24, 48 AC/DC -
2, 3-dr´atov´e pˇripojen´ı
120, 240 AC
-
2–4-dr´atov´e pˇripojen´ı
24 DC
0.5, 2
2-dr´atov´e pˇripojen´ı
230 AC/DC
0.3, 0.5
3-dr´atov´e pˇripojen´ı
2, 4
10
-
AI
2, 4
-
0–20, 4–20 mA
AI
2
-
1, 5 A
AI
2, 4
-
-
pˇripojen´ı termoˇcl´ank˚ u a odpor.termistor˚ u
Tabulka 1.9: Srovn´an´ı moˇznost´ı modul˚ u jednotliv´ ych v´ yrobc˚ u
21
KAPITOLA 1. PROFINET IO Poˇ cet Typ
kan´ al˚ u
U [V]
I [A]
Pozn´ amky
Beckhoff DI
2, 4, 8, 16 24 DC
-
1, 2-dr´atov´e pˇripojen´ı
32, 64 DI DO
2
120/240 AC -
2, 4, 8, 16 24 DC
3-dr´atov´e pˇripojen´ı
0.5, 2
1, 2-dr´atov´e pˇripojen´ı
32, 64 DO
2, 4
230 AC
16
2, 3-dr´atov´e pˇripojen´ı
DO
2
24 DC
0.1, 1.5
gener´ator PWM
AI
1, 2, 4, 8
0–10/±10
0–20/4–20 mA 1, 2-dr´atov´e pˇripojen´ı
AI
1, 2, 4
-
-
pˇripojen´ı termoˇcl´ank˚ u a odpor.termistor˚ u
AI
2
AI
1, 2
400 AC
-
pro mˇeˇren´ı 3-f´az. v´ ykonu
-
-
diferenˇcn´ı mˇeˇren´ı tlak˚ u, absolutn´ı mˇeˇren´ı tlak˚ u
AO
1, 2, 4, 8
0–10/±10
0–20/4–20 mA 3, 4-dr´atov´e pˇripojen´ı Turck
DI
4, 8
24DC
-
2-dr´atov´e pˇripojen´ı
DO
4, 8
24 DC
0.5
2-dr´atov´e pˇripojen´ı
AI
2, 4
0–10/±10
0–20/4–20 mA 3, 4-dr´atov´e pˇripojen´ı
AI
2
-
-
termistory Pt100, 200,500 a 1000, Ni100 a Ni1000
AI
2
-
-
pro termoˇcl´anky
AO
2
0–10/±10
0–20/4–20 mA 3, 4-dr´atov´e pˇripojen´ı
Tabulka 1.10: Srovn´an´ı moˇznost´ı modul˚ u jednotliv´ ych v´ yrobc˚ u (pokraˇcov´an´ı)
Kapitola 2 Diagnostika PROFINET IO Protoˇze implementace diagnostiky PROFINET IO se op´ır´a o strukturu programov´ ych blok˚ u, je obsahem t´eto kapitoly, vedle popisu samotn´e diagnostiky, tak´e ˇ aˇr by zde mˇel nal´ezt vysvˇetlen´ı pouˇzit´eho postupu pˇri realizaci jejich popis. Cten´ t´eto diagnostiky do PLC Simatic ˇrady S 300, popsan´e v kap. 3.
2.1
Obecn´ e informace
PROFINET IO podporuje jednotnou diagnostickou koncepci, kter´a umoˇzn ˇuje u ´ˇcinnou lokalizaci poruch a jejich odstranˇen´ı. Pˇri vzniku poruchy vyˇsle pˇr´ısluˇsn´a ˇr´ızen´a V/V jednotka diagnostick´e pˇreruˇsen´ı do ˇr´ıdic´ı jednotky. Pˇreruˇsen´ım se vyvol´a ˇ ızen´a pˇr´ısluˇsn´ y podprogram (v uˇzivatelsk´em programu) pro reakci na poruchu. R´ V/V jednotka generuje diagnostick´e pˇreruˇsen´ı t´eˇz pˇri poruˇse na pˇrenosov´em kan´alu. Pro pˇren´aˇsen´ı chybov´ ych hl´aˇsen´ı (alarm˚ u) slouˇz´ı jeden ze 3 typ˚ u komunikaˇcn´ı relace (CR), tzv. Alarm CR. Jedn´a se o acyklick´e pˇren´aˇsen´ı informac´ı vznikl´e ud´alosti.
Alarm CR IO-Device vys´ıl´a alarmy nadˇrazen´emu IO-Controlleru pomoc´ı relace Alarm CR. Alarmy jsou acyklick´a data, kter´a musej´ı b´ yt potvrzena do urˇcit´eho ˇcasu (pˇredem definovan´eho) na u ´rovni protokolu a uˇzivatele. Je moˇzn´e nastavit, kolik alarm˚ u m˚ uˇze b´ yt vysl´ano pˇred potvrzen´ım pˇrenosu. D´ıky acyklick´emu pˇrenosu nen´ı podporov´ana segmentace, proto vˇsechny alarmy musej´ı b´ yt pˇreneseny v jednom r´amci. Pˇri konfiguraci Alarm CR je definov´an konec pro zdroj alarmu i pro pˇr´ıjemce. Tˇemi m˚ uˇzou b´ yt jak IO-Controller, tak IO-Device.
22
KAPITOLA 2. DIAGNOSTIKA PROFINET IO
23
IO-Controller definuje, s jakou prioritou budou jednotliv´a chybov´a hl´aˇsen´ı pˇren´aˇsena. V jednom Alarm CR mohou b´ yt pˇren´aˇseny pr´avˇe jeden vysoko-´ urovˇ nov´ y (highpriority) a pr´avˇe jeden n´ızko-´ urovˇ nov´ y (low-priority) alarm souˇcasnˇe. Z tohoto dˇelen´ı logicky vypl´ yv´a, ˇze vyˇsˇs´ı u ´roveˇ n alarmu m´a pˇrednost a proto mus´ı b´ yt zpracov´an tak rychle, jakmile je to moˇzn´e a nav´ıc niˇzˇs´ı u ´roveˇ n nesm´ı podstatnˇe zpoˇzd’ovat vyˇsˇs´ı.
Alarmy Kaˇzd´a ud´alost mus´ı b´ yt signalizov´ana nakonfigurovan´ ym PROFINET IO syst´emem pomoc´ı alarm˚ u. K pˇrenosu se vyuˇz´ıv´a acyklick´ y real-time protokol (RTA). IO-Device vys´ıl´a alarm s prioritou jako real-time zpr´ava. Oba protokoly UP a DOWN musej´ı b´ yt potvrzeny IO-Controllerem. Typ
Spouˇ stˇ en´ a ud´ alost
Procesn´ı alarm
Signalizuje v´ yskyt ud´alosti z procesu, napˇr. pˇrekroˇcen´ı teploty
Alarm vytaˇzen´ı
U modul´arn´ıho IO-Device signalizace vyjmut´ı modulu/submodulu
Alarm zasunut´ı
U modul´arn´ıho IO-Device signalizace vloˇzen´ı modulu/submodulu, po vsunut´ı se opˇet naˇcte konfigurace
Alarm ˇspatn´eho za- Signalizuje ˇspatn´e vloˇzen´ı modulu/submodulu sunut´ı Status alarm
Signalizace zmˇeny statusu (sub)modulu
Update alarm
Signalizace zmˇen parametr˚ u (sub)modulu
Redundancy alarm
Alarm signalizuje druh´emu IO-Controlleru chybu prim´arn´ıho
Alarm ˇr´ızen´ı super- IO-Supervisor pˇrevzal kontrolu nad (sub)moduly visorem Alarm uvolnˇen´ı su- Uvolnˇen´ı ˇr´ızen´ı (sub)modulu IO-Supervisorem, IO-Conpervisorem
trollerem nebo lok´aln´ım pˇr´ıstupem od IO-Device. Tento alarm m´a za n´asledek stejnou protokolovou sekvenci jako alarm zasunut´ı Tabulka 2.1: Typy alarm˚ u
KAPITOLA 2. DIAGNOSTIKA PROFINET IO Typ
Spouˇ stˇ en´ a ud´ alost
Alarm navr´acen´ı
Signalizuje bud’, ˇze v´ ystupn´ı elemet m˚ uˇze pˇrijmout pro-
24
cesn´ı data znovu, nebo ˇze IO-Device znovu doruˇcil neplatn´a data do urˇcit´eho vstupu bez reparametrizace Alarm navr´acen´ı ze Zmˇena statusu vstupn´ıch nebo v´ ystupn´ıch dat na stranˇe submodulu
poskytovatele nebo konzumenta z neplatn´ ych (BAD) na platn´e (GOOD)
Alarm specifick´eho Signalizace povolen´ı IO-Device se specifick´ ym profilem profilu
PNO pokyn˚ u
Alarm stopl´e komu- Signalizace timeoutu bˇehem multicast pˇrenosu V/V dat nikace multicast
poskytovatele
provider Alarm bˇehu komu- Signalizace obnoven´ı spojen´ı bˇehem multicast pˇrenosu nikace multicast
V/V dat poskytovatele
provider Alarm ohl´aˇsen´ı
Signalizace zmˇen dat na portu
zmˇeny dat portu Alarm ohl´aˇsen´ı
Signalizace zmˇeny v ˇcasov´e sychnronizaci
zmˇeny synchronizace dat Alarm ohl´aˇsen´ı
Signalizace probl´emu u aplikac´ı pracuj´ıc´ıch v isochron-
chyby pro IRT ko- n´ım m´odu munikaci Alarm v´ yrobce
Signalizace v´ yrobcem stanoven´eho alarmu Tabulka 2.2: Typy alarm˚ u (pokraˇcov´ an´ı)
Sekvence bˇ ehu alarmu Na obr. 2.4 je graficky zn´azornˇen bˇeh alarmu od vzniku po jeho potvrzov´an´ı obˇema zaˇr´ızen´ımi. Ozn´ amen´ı poruchy Ozn´amen´ı poruchy je representov´ano r´amcem RTA DATA(Alarm) a vys´ıl´a jej IODevice k IO-Controlleru. Vysl´an´ım tohoto r´amce IO-Device ˇr´ık´a, ˇze pr´avˇe nastala
KAPITOLA 2. DIAGNOSTIKA PROFINET IO
25
nˇejak´a situace, viz tab. 2.1, resp. tab. 2.2. Struktura je podle obr. 2.1 n´asleduj´ıc´ı: • EtherType – hodnota vyhrazen´a RT protokolu s hodnotou 0x8892 • VLAN – stanoven´ı priority r´amce • FrameID – urˇcen kan´al poruch. Hodnota 0xFC01 signalizuje Alarm High a hodnota 0xFE01 Alarm Low • RTA Header – slouˇz´ı pro oznaˇcen´ı CR zdroje a c´ıle alarmu. Obsahuje tak´e identifikaci r´amce, kter´a ˇr´ık´ y, ˇze jde o ozn´amen´ı hl´aˇsen´ı • Alarm Notification – obsahuje informace o typu poruchy a adresu objektu, v nˇemˇz alarm nastal. Jako objekt m˚ uˇze b´ yt ch´ap´an kan´al, submodul nebo cel´ y modul • D´ale je r´amec doplnˇen o dignotick´e informace
Obr´azek 2.1: R´amce pro pˇrenos alarm˚ u – RTA DATA(alarm) (Zdroj [3])
Potvrzen´ı pˇ rijet´ı poruchy na protokolov´ eu ´ rovni R´amcem RTA ACK potvrzuje IO-Controller IO-Device pˇrijmut´ı hl´aˇsen´ı o poruˇse, ˇc´ımˇz d´av´a najevo, ˇze je pˇripraven na pˇr´ıjem i dalˇs´ıch hl´aˇsen´ı a zaroveˇ n nen´ı nutn´e, aby IO-Device vys´ılal z nˇejak´eho d˚ uvodu tento r´amec znovu. Obr. 2.2 d´av´a nasleduj´ıc´ı sturkturu: • VLAN – hodnota vyhrazen´a RT protokolu s hodnotou 0x8892 • EtherType – stanoven´ı priority r´amce • FrameID – urˇcen kan´al poruch. Hodnota 0xFC01 signalizuje Alarm High a hodnota 0xFE01 Alarm Low • RTA Header – slouˇz´ı pro oznaˇcen´ı CR zdroje a c´ıle alarmu. Obsahuje tak´e identifikaci r´amce, kter´a ˇr´ık´a, ˇze jde o pˇrijet´ı datov´eho r´amce
KAPITOLA 2. DIAGNOSTIKA PROFINET IO
26
• Alarm Ack – obsahuje informace o typu poruchy a adresu objektu, v nˇemˇz alarm nastal. D´ale obsahuje d˚ uleˇzitou informaci o stavu IO-Controlleru, vˇc. toho, zda je dan´a porucha podporov´ana
Obr´azek 2.2: R´amce pro pˇrenos alarm˚ u – RTA ACK (Zdroj [3])
Potvrzen´ı pˇ rijet´ı poruchy na aplikaˇ cn´ı u ´ rovni R´amcem RTA DATA(AlarmAck) IO-Controller ˇr´ık´a, ˇze je alarm uloˇzen a bude zpracov´an uˇzivatelskou aplikac´ı. IO-Device je t´ımto ujiˇsten, ˇze jeho alarm byl zaregistrov´an. Popis struktury obr. 2.3 je n´asleduj´ıc´ı: • VLAN – hodnota vyhrazen´a RT protokolu s hodnotou 0x8892 • EtherType – stanoven´ı priority r´amce • FrameID – urˇcen kan´al poruch. Hodnota 0xFC01 signalizuje Alarm High a hodnota 0xFE01 Alarm Low • RTA Header – slouˇz´ı pro oznaˇcen´ı CR zdroje a c´ıle alarmu. Obsahuje tak´e identifikaci r´amce, kter´a ˇr´ık´a, ˇze jde o potvrzen´ı pˇrijet´ı hl´aˇsen´ı
Obr´azek 2.3: R´amec pro pˇrenos alarm˚ u – RTA Data(Alarm Ack) (Zdroj [3])
KAPITOLA 2. DIAGNOSTIKA PROFINET IO
27
Obr´azek 2.4: Sekvence bˇehu alarmu s PROFINET IO (Zdroj [3])
2.2
Programov´ e bloky pro diagnostiku
Souˇc´ast´ı t´eto kapitoly je popis programov´ ych blok˚ u, kter´e jsou vyuˇz´ıv´any pro diagnostick´e u ´ˇcely. Pro implementaci diagnostick´ ych funkc´ı se vyuˇz´ıv´a rozhrann´ı mezi uˇzivatelsk´ ym programem a operaˇcn´ım syst´emem CPU. Toto rozhrann´ı je realizov´ano pomoc´ı tzv. organizaˇcn´ıch blok˚ u (OB), kter´e jsou pouˇzity pro vykon´an´ı specifick´ ych sekc´ı programu : • pˇri startu CPU • v cyklick´ ych vykon´av´an´ıch • pˇri v´ yskytu chyby • pˇri hardwarov´em pˇreruˇsen´ı
2.2.1
Organizaˇ cn´ı bloky (OB)
Jak je uvedeno v´ yˇse, vˇsechny OB jsou spouˇstˇeny OS PLC jen za urˇcit´ ych podm´ınek. Struktura kaˇzd´eho OB se lehce liˇs´ı podle jeho v´ yznamu, co vˇsak je spoleˇcn´e pro vˇsechny je ta skuteˇcnost, ˇze pracuj´ı pouze se sv´ ymi lok´aln´ımi promˇenn´ ymi.
28
KAPITOLA 2. DIAGNOSTIKA PROFINET IO
OB vyuˇz´ıvaj´ı syst´emov´ ych vol´an´ı (SFC) a syst´emov´ ych blok˚ u (SFB), kter´a obsahuj´ı parametry, na jejichˇz z´akladˇe lze snadno identifikovat vzniklou ud´alost a pot´e na ni reagovat. Tato reakce je jiˇz souˇc´ast´ı uˇzivatelsk´eho programu. Pˇri vol´an´ı organizaˇcn´ıho bloku, kter´ y odpov´ıd´a vznikl´emu alarmu, je jin´ y OB pˇreruˇsen, pokud m´a tedy niˇzˇs´ı prioritu. Ty jsou od 0 do 28, kde 0 je nejniˇzˇs´ı. Pˇri vol´an´ı v´ıce OB se stejnou prioritou jsou tyto bloky ˇrazeny do fronty a vykon´av´any se stejnou sekvenc´ı, s jakou byly vol´any. OB 83 Jedn´a se o organizaˇcn´ı blok, kter´ y signalizuje vsunut´ı/vysunut´ı V/V modulu. Pro ˇradu Simatic S7-300 je podporov´an jen pro protokol PROFINET IO, na PROFIBUS DP jej nen´ı moˇzn´e vyuˇz´ıvat. Operaˇcn´ı syst´em CPU vol´a OB 83 v pˇr´ıpadˇe ˇze: • nakonfigurovan´ y modul byl vysunut nebo zasunut
1
• pokud n´asleduje zmˇena v parametrech modulu za bˇehu, nahr´av´an´ı konfigurace do CPU, kter´ y je ve stavu RUN (bˇeˇz´ı) Mimo to kaˇzd´e vsunut´ı a vysunut´ı nakonfigurovan´eho modulu z pˇr´ısluˇsn´eho slotu zp˚ usob´ı pˇreruˇsen´ı vsunut´ı/vysunut´ı modulu ve stavech RUN (bˇeˇz´ı), STOP a STARTUP (inicializace). V´ ysledky tˇechto ud´alost´ı jsou ukl´ad´any do diagnostick´eho bufferu
2
a do seznamu syst´emov´ ych stav˚ u (angl. system status list) pˇr´ısluˇsn´eho
CPU. Ve stavu RUN je OB83 spuˇstˇen nav´ıc, ˇcili pokud se neobjev´ı v´ yˇse popsan´a chyba, tento blok nen´ı vykon´av´an. Pokud OB83 nen´ı v uˇzivatelsk´em programu definov´an (naprogramov´an), CPU je ve stavu RUN a dojde k vsunut´ı/vysunut´ı modulu, pˇrech´az´ı CPU do stavu STOP. Pˇri vsunut´ı modulu do konfigurovan´eho slotu ve stavu RUN, operaˇcn´ı syst´em CPU kontroluje pˇr´ısluˇsn´ y typ vsunut´eho modulu a porovn´a jej s konfigurac´ı. OB83 je n´aslednˇe spuˇstˇen. Tab. 2.3 popisuje lok´aln´ı promˇenn´e OB 83. 1 2
Modul V/V u decentralizovan´ ych jednotek Vyrovn´ avac´ı pamˇet’
29
KAPITOLA 2. DIAGNOSTIKA PROFINET IO Promˇ enn´ a
Datov´ y
Popis
typ OB83 EV CLASS
BYTE
Tˇr´ıda ud´alosti a ID: B#16#32: konec reparametrizace modulu B#16#33: zaˇc´atek reparametrizace modulu B#16#38: modul vloˇzen B#16#39: modul vytaˇzen nebo nem˚ uˇze b´ yt adresov´an
OB83 FLT ID
BYTE
Chybov´ y k´od
OB83 PRIORITY
BYTE
Tˇr´ıdy priorit, lze parametrizovat za pomoc´ı STEP 7
OB83 OB NUMBR
BYTE
83
OB83 RESERVED 1
BYTE
ID modulu/submodulu nebo rozhran´ı modulu
OB83 MDL ID
BYTE
Rozsah B#16#54: V/V oblast vstup˚ u (PII) B#16#55: V/V oblast v´ ystup˚ u (PIQ)
OB83 MDL ADDR
WORD
Logick´a adresa modul˚ u/submodul˚ u
OB83 RACK NUM
WORD
OB83 RESERVED 1 = B#16#A0: ˇc´ıslo submodulu nebo rozhran´ı fyzick´a adresa: Bit 15:
ID bit: 1 (PN IO)
Bit 11-14: ID IO syst´emu ˇ ıslo stanice Bit 0-10: C´ OB83 MDL TYPE
WORD
W#16#8101: vsunut´ y modul je stejn´eho typu jako vysunut´ y W#16#8102: vsunut´ y modul nen´ı stejn´eho typu jako vysunut´ y
OB83 DATE TIME
DT
Datum a ˇcas ˇz´adosti
Tabulka 2.3: Lok´aln´ı data pro OB83
Doplˇ nuj´ıc´ı informace k v´ yznamu jednotliv´ ych promˇenn´ ych lze nal´ezt tak´e v pˇr´ıloze A nebo v [6].
KAPITOLA 2. DIAGNOSTIKA PROFINET IO
30
OB 86 Chyba komunikace, napˇr. pˇreruˇsen´ı kabelu, mezi IO-Controllerem a distribuovanou periferi´ı – IO-Device a opˇetovn´e nav´az´an´ı spojen´ı je signalizov´ano organizaˇcn´ım blokem OB 86. Plat´ı stejn´e pravidlo jako v pˇr´ıpadˇe OB 83 a to takov´e, ˇze pokud nen´ı uˇzivatelem definov´an, CPU pˇri jeho vol´an´ı pˇrejde do stavu STOP. Tab. 2.4 ud´av´a v´ yznam a struˇcn´ y popis lok´aln´ıch promˇenn´ ych. Podrobnˇejˇs´ı v´ yznam vˇsech hodnot lze nal´ezt bud’to v pˇr´ıloze A nebo v [6]. Promˇ enn´ a
Datov´ y
Popis
typ OB86 EV CLASS
BYTE
Tˇr´ıda ud´alosti a ID: B#16#38: pˇreruˇsen´a komunikace B#16#39: opˇetovn´e nav´az´an´ı
OB86 FLT ID
BYTE
Chybov´ y k´od
OB86 PRIORITY
BYTE
Tˇr´ıdy priorit, lze parametrizovat za pomoc´ı STEP 7 25: v´ ychoz´ı 28: pokud nastane alarm bˇehem vykon´av´an´ı OB 100 - OB 102
OB86 OB NUMBR
BYTE
86
OB86 RESERVED 1
BYTE
reservov´ano
OB86 RESERVED 2
BYTE
reservov´ano
OB83 MDL ADDR
WORD
z´avis´ı na chybov´em k´odu
OB83 RACK FLTD
Pole
z´avis´ı na chybov´em k´odu
BOOL OB83 DATE TIME
DT
Datum a ˇcas ˇz´adosti
Tabulka 2.4: Lok´aln´ı data pro OB86
2.2.2
Syst´ emov´ e funkce a bloky (SFC a SFB)
Syst´emov´e funkce (SFC) a bloky (SFB) jsou integrov´any do operaˇcn´ıho syst´emu jako jeho funkce. Nav´ıc, SFC jsou ˇcasto vol´any implicitnˇe syst´emov´ ymi bloky (SFB). Jak SFC, tak SFB mohou b´ yt v uˇzivatelsk´em programu vol´any jako norm´aln´ı funkce a funkˇcn´ı bloky a maj´ı n´asleduj´ıc´ı spoleˇcn´e parametry:
KAPITOLA 2. DIAGNOSTIKA PROFINET IO
31
• REQ: vstupn´ı parametr, urˇcem pouze pro spuˇstˇen´ı ˇz´adosti pro syst´emovou ˇ adost je spuˇstˇena,kdyˇz REQ = 1 funkci. Z´ • BUSY: indikuje u asynchronn´ıch funkc´ı, ˇze spuˇstˇen´a ˇz´adost se zaˇcala vykon´avat, nebo jej´ı vykon´av´an´ı jiˇz dobˇehlo • LADDR: vˇzdy obsahuje logickou adresu. Napˇr. diagnostickou adresu distribuovan´eho zaˇr´ızen´ı ystupn´ı parametr. Je nastavov´an • RET VAL: nˇekter´e FSC jej maj´ı jako v´ syst´emov´ ymi funkcemi a obsahuje informace, zda-li funkce byla vykon´ana ˇci nikoli. Pˇri chybˇe obsahuje hlavn´ı chybov´ y k´od, kter´ y odkazuje na nˇejakou syst´emovou funkci nebo SFC-spec. chybov´ y k´od, kter´ y odkazuje na pˇr´ısluˇsnou syst´emovou funkci SFB 54 – ”RALRM” SFB 54 ”RALRM” pˇr´ıj´ım´a alarmy, obsahuj´ıc´ı vˇsechny potˇrebn´e informace o IODevice. Tyto informace jsou pak dostupn´e jako v´ ystupn´ı parametry funkˇcn´ıho bloku. Tento funkˇcn´ı blok m˚ uˇze b´ yt vol´an pouze bˇehem alarmu orgranizaˇcn´ıho bloku, kter´ y operaˇcn´ı syst´em CPU pr´avˇe vykon´av´a a kter´ y je v´ ysledkem vznikl´eho alarmu. V´ ystupn´ı parametry obsahuj´ı informace o pˇr´ısluˇsn´em OB, kter´ y alarm vyvolal a tak´e inforamce o zdroji alarmu. Pokud je SFB 54 ”RALRM” vol´an v OB a toto vol´an´ı nen´ı typu alarm, v´ ystupn´ı paramery poskytuj´ı pˇr´ısluˇsnˇe m´enˇe informac´ı. Pokud se vol´a SFB 54 v promˇenn´ ych OB, je nutn´e vˇzdy vytvoˇrit nov´ y DB 3 , resp. jeho instanci. Kdyˇz vyhodnocen´ı v´ ysledn´ ych dat vol´an´ı SFB 54 je pˇren´aˇseno vnˇe asociovan´ ym OB, je doporuˇcen´e pouˇzit´ı oddˇelen´ ych instanc´ı DB na jeden OB, kter´ y ud´alost spustil. Pokud je c´ılov´ y rozsah poskytovan´ y TINFO a AINFO pˇr´ıliˇs mal´ y, SFB 54 nem˚ uˇze uloˇzit kompletn´ı informace o vznikl´em alarmu. SFB 54 m˚ uˇze b´ yt pˇren´aˇsen ve tˇrech m´odech a nastavuje se vstupn´ım parametrem MODE. MODE = 0 znamen´a, ˇze parametr ID obsahuje informace o komponentˇe, kter´a alarm spustila a parametr NEW je roven 1. Pˇri MODE = 1 se zapisuje na vˇsechny v´ ystupn´ı parametry, kter´e nez´avisej´ı na komponentˇe, jeˇz spustila alarm. U MODE = 2 se kontroluje, jak´a komponenta, specifikovan´a parametrem F ID, spustila alarm. Pˇri negativn´ı kontrole se parametr NEW nastav´ı na 0, pˇri positivn´ı kontrole je NEW = 1 a zap´ıˇse se na vˇsechny v´ ystupn´ı parametry. 3
Datov´ y blok, ukl´ adaj´ı se do nˇej v´ ysledky operac´ı OB
KAPITOLA 2. DIAGNOSTIKA PROFINET IO Parametr
Typ
Datov´ y
32
Popis
typ MODE
VSTUP
INT
reˇzim
F ID
VSTUP
DWORD
Zaˇc´atek log. adr. modulu, ze kter´eho m´a b´ yt alarm pˇrijat Bit 15 : 1 – vstupn´ı nebo V/V modul, 0 – v´ ystupn´ı modul
MLEN NEW STATUS ID
VSTUP ´ VYSTUP
INT
Max. d´elka informace o alarmu v Bytech
BOOL
Nov´ y alarm byl pˇrijat
´ VYSTUP ´ VYSTUP
DWORD
Chybov´ y k´od alarmu SFB IO-Controller
DWORD
Log. adr. IO-Device (modulu) Bit 15: 1 – vstupn´ı adr., 0 – v´ ystupn´ı adr.
LEN
´ VYSTUP
INT
D´elka informace o alarmu v Bytech
TINFO
V/V
vˇse
Informace o u ´loze
AINFO
V/V
vˇse
Informace o alarmu
Tabulka 2.5: Parametry SFB 54 ”RALRM”
V z´avislosti na tom, v jak´em OB je SFB 54 spuˇstˇen, je do parametr˚ u TINFO a AINFO zaps´ano jen ˇc´asteˇcnˇe. Parametr TINFO (Task INFOrmation) obsahuje poˇc´ateˇcn´ı a administrativn´ı informace o OB, v jehoˇz kontextu byl vol´an. V´ yznam jednotliv´ ych byt˚ u v datov´em r´amci je n´asleduj´ıc´ı: • 0-19 Zaˇc´atek informac´ı o OB, ve kter´em byl SFB 54 vol´an • 20-21 Adresa komponenty, kter´a alarm spustila (modul). 3-6 bit 20 bytu je pro ID IO-Syst´emu a 0-2 bit 20 bytu a cel´ y 21 byte slouˇz´ı pro ID zaˇr´ızen´ı (Device) • 22-31 Administrativn´ı informace Parametr AINFO (Alarm INFOrmation) obsahuje popis alarmu, skl´adaj´ıc´ı se z hlavn´ıch a doplˇ nuj´ıc´ıch informac´ı.
Kapitola 3 Praktick´ a realizace Protoˇze obsah t´eto kapitoly koresponduje s t´ematy dvou cykl˚ u projektu CEPOT 1 , kter´eho jsem se v ak. roce 2006/07 z´ uˇcastnil, je rozdˇelena na v´ıce ˇc´ast´ı podle poˇzadavk˚ u zadavatele – spol. Sidat s.r.o.
3.1 3.1.1
Vzorov´ a instalace s IO-Controllerem v PLC Popis instalace
Jedn´ım zp˚ usobem, jak realizovat PROFINET IO syst´em, je vyuˇz´ıt IO-Controller pˇr´ımo v PLC. To v naˇsem pˇr´ıpadˇe pˇredstavuje IO-Controller spoleˇcnosti Siemens – SIMATIC S7 315-2 PN/DP, kter´ y byl poˇzadov´an. Jako IO-Device se vyuˇzily komponenty, kter´e jsou k dispozici v laboratoˇri K09 (”strojovna”) na katedˇre ˇr´ıdic´ı ˇ techniky, FEL CVUT v Praze. Jedn´ım z dalˇs´ıch poˇzadavk˚ u bylo zprovoznit s´ıt’ s protokolem PROFIBUS DP a pˇripojit ji k s´ıti PROFINET IO. PROFINET IO
N´azev
IO-Controller
Siemens CPU 315-2 PN/DP
IO-Device
Siemens SCALANCE X-200
IO-Device
Siemens SIMATIC ET200S
IO-Device
Siemens IE/PB Link PN IO
PROFIBUS DP N´azev Slave
Siemens SIMATIC ET 200L
Tabulka 3.1: Seznam zaˇr´ızen´ı pro IO-Controller v PLC 1
ˇ Projekt katedry ˇr´ıdic´ı techniky, FEL CVUT v Praze, v´ıce na www.cepot.cz
33
´ REALIZACE KAPITOLA 3. PRAKTICKA
34
Konfigurace Tab. 3.1 ud´av´a seznam pouˇzit´ ych zaˇr´ızen´ı. Pro nakonfigurov´an´ı s´ıtˇe bylo vyuˇzito n´astroje STEP 7 z programov´eho bal´ıku Siemens SIMATIC NET. Na obr. 3.1 je graficky zn´azornˇen´a konfigurace ve STEP 7.
Obr´azek 3.1: Konfigurace s´ıtˇe PROFINET IO s PLC
Pˇri uˇzit´ı s´ıt’ov´eho prvku – switche SCALANCE X-200 se instalace mohla rozˇs´ıˇrit o dalˇs´ı zaˇr´ızen´ı a to i v pˇr´ıpadˇe, ˇze by se tento prvek nezahrnul do HW-konfigurace. Coˇz m´a ale za n´asledek, ˇze v pˇr´ıpadˇe poruchy se ztr´ac´ı informace o jej´ım zdroji. Jako jedno z IO-Device je vyuˇzit komunikaˇcn´ı modul Siemens IM 151-3 PN s pˇeti DI a pˇeti DO V/V moduly na 24 V DC. Pro pˇripojen´ı zaˇr´ızen´ı, vybaven´e rozhran´ım PROFIBUS DP, slouˇz´ı proxy Siemens IE/PB Link PN IO. Zaˇr´ızen´ı typu PROFIBUS DP Slave Siemens ET 200L je pr´avˇe pˇres toto proxy pˇripojeno k PROFINET IO s´ıti. Tato ˇc´ast demonstruje moˇznost bezprobl´emov´eho propojen´ı obou protokol˚ u, resp. jejich zaˇr´ızen´ı. Na obr.3.1 jsou vidˇet dvˇe vˇetve PROFIBUS DP. Jedna vych´az´ı pˇrimo z CPU, jelikoˇz jednotka 315-2 PN/DP je vybavena pr´avˇe PROFINET IO a PROFIBUS DP rozhran´ımi, ale to v naˇsem pˇr´ıpadˇe nen´ı vyuˇzito. Druh´a vˇetev vych´az´ı z proxy PROFINET/PROFIBUS a je vyuˇzita k pˇripojen´ı PROFIBUS DP zaˇr´ızen´ı (typ Slave).
´ REALIZACE KAPITOLA 3. PRAKTICKA
3.1.2
35
Diagnostika pro IO-Controller PROFINET IO
Pro diagnostick´e funkce slouˇz´ı cel´a ˇrada tzv. organizaˇcn´ıch blok˚ u (OB). Pokud dojde k nˇejak´e chybˇe, spust´ı pˇr´ısluˇsn´e zaˇr´ızen´ı alarm a pˇr´ısluˇsn´ y OB je vol´an, tedy pokud je inicializov´an. V naˇsem pˇr´ıpadˇe se inicializovaly bloky OB1, OB83 a OB6. Podrobnˇejˇs´ı v´ yznam blok˚ u OB 83 a 86 je pops´an v kap. 2. Pro vyˇcten´ı informac´ı o vznikl´em alarmu jsem musel vytvoˇrit jeden funkˇcn´ı blok (FB). Vzhledem k jednoduchosti aplikace si lze vystaˇcit pouze se vstupnˇe/v´ ystupn´ımi promˇenn´ ymi FB. Jak ud´av´a kap. 2, kaˇzd´ y funkˇcn´ı blok mus´ı m´ıt sv˚ uj vlastn´ı datov´ y blok (DB), jehoˇz data se n´aslednˇe zpracov´avaj´ı. Pˇri definici organizaˇcn´ıch blok˚ u OB 83 a 86 se vyuˇz´ıv´a mnou definovan´e struktury FB 1 a k nˇemu pˇr´ısluˇs´ıc´ımu DB 1. Jak jejich struktura vypad´a ve Stepu 7 ukazuje tab. 3.2. N´ azev promˇ enn´ e Adresn´ı Byte Popis device number 86
0
adresa IO-Device pro OB 86
vysunuto zasunuto
1
typ alarmu u OB 83
error code
2
k´od chyby
module address
4
adresa V/V modulu
ob number
6
ˇc´ıslo OB
zero
7
nevyuˇzito
rack number 83
8
ˇc´ıslo submodulu pro OB 83
Tabulka 3.2: V´ yznam V/V promˇenn´ ych u FB1 ve Step 7
Tyto promˇenn´e jsem n´aslednˇe vyuˇzil pˇri definici organizaˇcn´ıch blok˚ u OB 83 a 86. K jejich naprogramov´an´ı bylo vyuˇzito programovac´ıho jazyka pro PLC – STL. N´asleduj´ıc´ı jednoduch´ y k´od je pro OB 83 : CALL FB 1, DB 1 device_number_86 :=
% zavol´a FB 1 s instanc´ı DB 1 % nevyuˇzito
vysunuto_zasunuto := #OB83_EV_CLASS
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
error_code := #OB83_FLT_ID
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
module_address := #OB83_MDL_ADDR
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
ob_number := #OB83_OB_NUMBR
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
zero := rack_number_83 := #OB83_RACK_NUM
% neviuˇzito % pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
´ REALIZACE KAPITOLA 3. PRAKTICKA
36
Podobn´e programov´e strukt˚ ury je pouˇzito tak´e v pˇripadˇe k´odu pro OB 86, jelikoˇz se struktury obou programov´ ych blok˚ u od sebe pˇr´ıliˇs neliˇs´ı, vis kap. 2, ze kter´e by mˇel b´ yt v´ yznam vˇsech pouˇzit´ ych n´azv˚ u promˇenn´ ych celkem jasn´ y: % zavol´a FB 1 s instanc´ı DB 1
CALL FB 1, DB 1 device_number_86 := LB11
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
vysunuto_zasunuto := #OB83_EV_CLASS
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
error_code := #OB83_FLT_ID
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e % nevyuˇzito
module_address := ob_number := #OB83_OB_NUMBR
% pˇriˇrazen´ı vnitˇrn´ı promˇenn´e
zero :=
% nevyuˇzito
rack_number_83 :=
% nevyuˇzito
Po takto definovan´e struktuˇre vˇsech programov´ ych blok˚ u (OB, FB, DB) je syst´em, uveden´ y na obr. 3.1, pˇripraven zachyt´avat alarmy. Nyn´ı je tˇreba definovat k´od hlavn´ıho programu, ˇcili OB 1 : OPN DB 1 L DB1.DBB 0 T MB 0 L DB1.DBW 8 T MB 1 L DB1.DBW 4 T MB 2 L DB1.DBB 1 T MB 3 L DB1.DBB 2 T MB 4 L DB1.DBB 6 T MB 5
% otevˇre datov´y blok DB1 % vyˇcti 0. Byte DB1, kde je uloˇzeno ˇc´ıslo zaˇr´ızen´ı % uloˇz jej do 0. Bytu pamˇeti CPU % vyˇcti 8. Word DB1, kde je uloˇzen RACK NUMBER pro OB83 % uloˇz jej na 1. Byte pamˇeti CPU % vyˇcti 4. Word DB1, kde je uloˇzena adresa V/V modulu % uloˇz jej na 2. Byte pamˇeti CPU % vyˇcti chybov´y k´od z 1. Bytu DB1 % uloˇz jej na 3. Byte mapˇeti CPU % vyˇcti 3. Byte, kde je uloˇzen chybov´y k´od % uloˇz jej do 4. Bytu mapˇeti CPU % vyˇcti 6. Byte z DB1, kde je uloˇzeno ˇc´ıslo OB % uloˇz jej na 5. Byte pamˇeti CPU
T´ımto zp˚ usobem m´ame vˇsechny potˇrebn´e informace o alarmu ve volnˇe pˇr´ıstupn´e pamˇeti CPU. Na obr. 3.2 je vidˇet, jak se zmˇen´ı hodnoty jednotliv´ ych promˇenn´ ych pˇri vysunut´em V/V modulu (podle HW-konfigurace se jedn´a o 4. modul), je tedy vol´an OB 83. Horn´ı okno je on-line sledov´an´ı datov´eho bloku DB 1 a spodn´ı okno je pohled na
´ REALIZACE KAPITOLA 3. PRAKTICKA
37
pamˇet’ov´e buˇ nky CPU, kam se ukl´adaj´ı data tak, jak definuje OB 1. V´ yznam tˇechto bunˇek je n´asleduj´ıc´ı: - MB0 ˇc´ıslo zaˇr´ızen´ı 2 (3) - MB1 ˇc´ıslo submodulu (3) - MB2 adresa V/V modulu (4) y modul - MB3 tˇr´ıda ud´alosti (OB83 EV CLASS = B#16#39), vysunut´ - MB4 k´od chyby (OB83 FLT ID = B#16#51), vysunut´ y modul - MB5 ˇc´ıslo OB (83) Obr. 3.3 demonstruje, jak je to v pˇr´ıpadˇe zpˇetn´eho zasunut´ı stejn´eho V/V modulu do slotu. Oba pˇripady se liˇs´ı pouze hodnotami v buˇ nk´ach MB3 (OB83 EV CLASS = B#16#38) a MB4 (OB83 FLT ID = B#16#54), kter´e obˇe signalizuj´ı zasunut´ı spr´avn´eho modulu do pˇr´ısluˇsn´eho slotu. Na obr. 3.4 je uk´az´ano, co je moˇzn´e vyˇc´ıst z pamˇet’ov´eho prostoru CPU (v podstatˇe DB 1) pˇri pˇreruˇsen´e komunikaci (vysunut´ y kabel), ˇcili vol´an´ı OB 86, mezi IO-Controllerem a IO-Device (ET200S). Oproti OB 83, popsan´eho v´ yˇse, se tyto hodnoty liˇs´ı pouze v MB3 (OB86 EV CLASS = B#16#39), MB4 (OB86 FLT ID = B#16#CB) a MB5 (OB = 86). V´ yznam hodnot OB83 EV CLASS, resp. OB86 EV CLASS a OB83 FLT ID, resp. OB86 FLT ID je uveden v tabuk´ach v pˇr´ıloze A. 2
Vych´az´ı z IP adresy, v naˇeem pˇripade jde o posledn´ı oktet – 192.168.123.3
´ REALIZACE KAPITOLA 3. PRAKTICKA
Obr´azek 3.2: Uk´azka diagnostiky pˇri vysunut´em V/V modulu
Obr´azek 3.3: Uk´azka diagnostiky pˇri zasunut´em V/V modulu
38
´ REALIZACE KAPITOLA 3. PRAKTICKA
39
Obr´azek 3.4: Uk´azka diagnostiky pˇri pˇreruˇsen´em kabelu mezi IO-Controllerem a IO-Device
3.2
Emulace IO-Controlleru v PC, OPC server
Jako jeden z dalˇs´ıch zp˚ usob˚ u, jak vyuˇz´ıvat syst´em PROFINET IO, je takov´ y, ˇze je IO-Controller souˇc´ast´ı PC a zaˇr´ızen´ı IO-Device jsou fyzicky pˇripojeny pˇres s´ıt’ov´ y adapter pˇr´ısluˇsn´eho PC. T´ımto zp˚ usobem odpad´a nutnost vlastnit PLC. Takovouto ”emulaci” IO-Controlleru do osobn´ıho poˇc´ıtaˇce umoˇznuje program SOFTNET PN IO, kter´ y spad´a do programov´eho bal´ıku SIMATIC NET spoleˇcnosti Siemens. Vedle IO-Controlleru je na t´e sam´e stanici spuˇstˇen OPC server. Tuto sluˇzbu tak´e zajiˇst’uje program SOFTNET PN IO.
Konfigurace Je jasn´e, ˇze ˇc´asteˇcnou zmˇenou topologie syst´emu se musela zmˇenit tak´e HW-konfigurace ve Stepu 7. Pro tento pˇr´ıpad byla vyuˇzita pouze jedna jednotka distribuovan´ ych V/V – Siemens SIMATIC ET200S se stejn´ ymi V/V moduly jako v kap. 3.1. Tab. 3.3 ud´av´a seznam pouˇzit´ ych zaˇr´ızen´ı pro tuto konfiguraci.
´ REALIZACE KAPITOLA 3. PRAKTICKA
40
PROFINET IO N´azev IO-Supervisor
PC Station (OPC server)
IO-Controller
PC Station
IO-Device
Siemens SCALANCE X-200
IO-Device
Siemens SIMATIC ET200S
IO-Device
Siemens IE/PB Link PN IO
Tabulka 3.3: Seznam zaˇr´ızen´ı pro IO-Controller v PC
Jako jedna z prvn´ıch vˇec´ı, kter´e se musely pˇrenastavit byla zmˇena komunikaˇcn´ıho rozhran´ı pro konfiguraci IO-Controlleru z Industial Ethernetu na PC internal, viz obr. 3.5 (a). Z HW-konfigurace na obr. 3.6 (resp. HW-konfigurace z prostˇred´ı NetPro Stepu 7) je vidˇet n´azev PC stanice l90901 (PC Station ve Step 7), kter´ y koresponduje se s´ıt’ov´ ym n´azvem pouˇzit´eho PC. Zbyl´a zaˇr´ızen´ı (switch a ET200S) se nakonfiguruj´ı stejnˇe jako v kap. 3.1. Aby tato stanice plnila funkci IO-Controlleru, mus´ı se tak´e ve Stepu 7 v jej´ıch vlastnostech zapnout (dvojklik v projektu na PC Station, v z´aloˇzce PROFINET IO). Zmˇena oproti kap. 3.1 je v HW-konfiguraci takov´a, ˇze IO-Device nepˇrid´av´ame k IO-Controlleru v PLC, ale ten je tu representov´an jako PC stanice (PC Station). K n´ı se pˇrid´avaj´ı pouze: definice rozhran´ı (Industrial Ethernet – IE) a komponenta OPC serveru. Po nastaven´ı PROFINET IO rozhran´ı pˇres IE je moˇzno k nˇemu jiˇz klasicky pˇripojovat IO-Device, v naˇsem pˇr´ıpadˇe, vis tab. 3.3. Pro spuˇstˇen´ı OPC serveru je vyuˇzita stejn´a PC stanice, se specifikac´ı OPC DA 3 . D˚ uleˇzit´e je jeˇstˇe zm´ınit definici s´ıt’ov´eho rozhran´ı v PC Station HW-konfigurace. Podm´ınkou spr´avn´e funkˇcnosti je tak´e to, ˇze IP adresa, nastaven´a v naˇsem pˇripadˇe ve Windows 2000, mus´ı b´ yt stejn´a, jako v HW-konfiguraci. 3
Data Access, ver. 2.05
´ REALIZACE KAPITOLA 3. PRAKTICKA
41
Obr´azek 3.5: (a) Nastaven´ı komunikaˇcn´ıho rozhran´ı, (b) Konfigurace stanice
Obr´azek 3.6: HW-konfigurace pro PC stanici
Po uloˇzen´ı cel´eho projektu se mimo jin´e vygeneruje *.xdb soubor. V nˇem jsou uloˇzen´e vˇsechny d˚ uleˇzit´e informace o naˇsem projektu a jak ukazuje obr. 3.5 (b), je nutno tento soubor importovat do konfigur´atoru stanice (Station configurator).
3.3
Implementace OPC klient
Pro vyuˇzit´ı sluˇzeb spuˇstˇen´eho OPC serveru byl naps´an jednoduch´ y klient, kter´ y se k serveru pˇripoj´ı, vyˇcte z prvn´ıch pˇeti V/V modul˚ u jednotky ET200S jejich hodnoty, vˇc. kvality pˇrenosu a popˇr. ohl´as´ı chybu pˇri nestandardn´ı situaci. Jak jiˇz bylo
´ REALIZACE KAPITOLA 3. PRAKTICKA
42
zm´ınˇeno dˇr´ıve, program je ps´an v jazyce C# a bylo vyuˇzito v´ yvojov´eho prostˇred´ı MS Visual Studio 2005.
3.3.1
Popis aplikace
Cel´ y program je velice jednoduˇse pojat. Jak dokumentuje obr. 3.7, aplikace m´a 3 ˇc´asti. Dvˇe pro r˚ uzn´e zp˚ usoby ˇcten´ı a jedna pro z´apis hodnoty na V/V modul. Pˇet ˇr´adk˚ u ve vˇsech tˇrech ˇc´astech znamen´a, ˇze vyuˇz´ıv´ame pr´avˇe 5 v´ ystupn´ıch modul˚ u komunikaˇcn´ı jednotky. Jednotliv´e V/V moduly jsou ve zdrojov´em k´odu pojmenov´any jako ”Item X”, kde X je ˇc´ıslice od 0 – 4. Kaˇzd´ y ˇr´adek jednotliv´ ych ˇc´ast´ı odpov´ıd´a jednotliv´ ym ”Item˚ um”. Jako z´akladu bylo pouˇzito vzorov´eho programu, kter´ y je k dispozici u instalace programov´eho bal´ıku SIMATIC NET pro .NET platformu. Pr´ ace s aplikac´ı ˇ ast pro zapisov´an´ı procesn´ıch hodnot je oznaˇcna jako ”Async Write”. Zde se mohou C´ zapisovat jednotlivˇe celoˇc´ıseln´e hodnoty. Pˇri pokusu o zaps´an´ı napˇr. znaku se objev´ı pˇr´ısluˇsn´ y text vedle pole pro psan´ı hodnot. Jak je vidˇet z v´ yˇse uveden´eho seznamu stav˚ u, pokud uˇzivatel zapisuje na vytaˇzen´ y modul, hodnota se uloˇz´ı a pˇri opˇetovn´em zasunut´ı p˚ uvodn´ıho se zap´ıˇse. Pokud dojde k pˇreruˇsen´ı kabelu, objev´ı se chybov´e hl´aˇsen´ı a tak´e text v kaˇzd´em pˇr´ısluˇsn´em ˇr´adku. ˇ ı procesn´ıch dat je realizov´ano obˇema zp˚ Cten´ usoby, jak je nab´ız´ı knihovna OpcRcw, a to bud’ synchronnˇe, ˇcili na ˇz´adost uˇzivatele, nebo asychnchronnˇe, ˇcili v dobˇe zmˇeny hodnoty. Na obr. 3.7 jsou vidˇet rozd´ıln´e hodnoty stejn´ ych v´ ystupn´ıch modul˚ u, coˇz je pr´avˇe zp˚ usobeno v´ yˇse uvedenou skuteˇcnost´ı. Pokud vyt´ahneme jeden z modul˚ u, objev´ı se kvalita u pˇr´ısluˇsn´eho ˇr´adku (Bad). Tento stav je vidˇet na obr. 3.7 v pravo nahoˇre u asynchronn´ıho ˇcten´ı. Vedle procesn´ıch dat jsou jeˇstˇe uvedeny ˇcasy, ve kter´ ych doˇslo ke ˇcten´ı nebo zmˇenˇe hodnoty na v´ ystupu. Pokud dojde k nˇejak´e pouruˇse, je tato skuteˇcnost zaps´ana do speci´aln´ıho souboru ”ErrorFile.txt” v projektu MS Visual Studia. Jak takov´ y v´ ypis vypad´a je vidˇet na obr. 3.8.
´ REALIZACE KAPITOLA 3. PRAKTICKA
43
Obr´azek 3.7: Okno aplikace OPC klient
Obr´azek 3.8: V´ ypis chyb v souboru
Programov´ y pˇ r´ıstup Program je naps´an tak, ˇze jm´eno OPC serveru a n´azvy jednotliv´ ych V/V modul˚ u (Item˚ u) jsou zad´any pevnˇe do programu. OPC server nese n´azev ”OPC.SimaticNET” a jednotliv´e moduly ”PNIO:[ctrl2]qbX”, kde X je opˇet hodnota od 0 do 4. V´ yznam n´azvu serveru je jasn´ y, ale u modul˚ u to tak jednoznaˇcn´e nen´ı: • PNIO je znaˇc´ı n´azev protokolu
´ REALIZACE KAPITOLA 3. PRAKTICKA
44
• [ctrl2] je oznaˇcen´ı IO-Controlleru • qbX jsou v´ ystupn´ı moduly od 0 do 4 Aplikace vyuˇz´ıv´a knihovny OpcRcw, kter´a umoˇznuje pohodlnˇe vyuˇz´ıvat objektov´eho pˇr´ıstupu programov´an´ı. IOPCDataCallback je rozhran´ı, kter´e obsahuje funkce, kter´e server vol´a pˇri dokonˇcen´ı intern´ıch operac´ı. Funkce vyuˇz´ıvaj´ı zpˇetn´e vazby pˇri komunikaci klient – server a jsou n´asleduj´ıc´ı: • OnDataChange reakce na zmˇenu procesn´ı hodnoty • OnReadComplete reakce na pˇreˇcten´a data • OnWriteComplete reakce na zapsan´a data • OnCancelComplete reakce na zapsan´a data Klient vyuˇz´ıv´a pouze prvn´ı 3 metody. Metoda OnWriteComplete obsahuje pole hodnot – pErrors, na z´akladˇe kter´eho lze urˇcit, zda-li z´apis probˇehl v poˇr´adku, nebo se vyskytla nˇejak´a chyba. Toto pole m´a velikost 5 a sv´ ymi indexy odpov´ıd´a n´azv˚ um v´ ystupn´ıch bit˚ u (Item˚ u) Rozliˇsujeme n´asleduj´ıc´ı stavy: • Z´apis probˇehl OK ˇ • Spatnˇ e zadan´ y parametr • Zapisujete na vytaˇzen´ y modul, hodnota zaˇrazena do fronty • Vytaˇzen´ y kabel Pokud se za bˇehu programu vyt´ahne V/V modul, OPC server vol´a funkci OnDataChange s nenulovou chybovou promˇenou a tato hodnota se d´ale vyhodnocuje. Pˇri snaze zapsat na vytaˇzen´ y modul hodnotu, je opˇet nenulov´a hodnota chybov´e promˇenn´e ve funkci OnWriteComplete a na z´akladˇe jej´ı hodnoty se urˇcuje, zda-li tak´e nen´ı napˇr. pˇreruˇsen kabel. Kvalita pˇrenosu sign´alu je ve dvou stavech : dobr´a (Good) nebo ˇspatn´a (Bad) tak, jak je definuje OPC standard 4 . V´ıce o OPC serveru a programov´an´ı pro .NET platformu, vˇc. popisu tˇechto callback funkc´ı, vis [1]. Seznam vˇsech d˚ uleˇzit´ ych funkc´ı aplikace je uveden v pˇr´ıloze B. 4
V´ıce informac´ı na www.opcfoundation.org
´ REALIZACE KAPITOLA 3. PRAKTICKA
3.3.2
45
Popis callback funkc´ı
OnDataChange Funkce je vol´ana pˇri kaˇzd´e zmˇenˇe procesn´ıch dat, coˇz naznaˇcuje, ˇze se jedn´a o metodu, spouˇstˇenou OPC serverem asynchronnˇe. Jako jeden z parametr˚ u jsou ˇc´ısla V/V modul˚ u (Item˚ u), ktera hl´as´ı zmˇenu hodnoty, d´ale hodnoty samotn´e a diagnostika kvality pˇrenosu. Na z´akladˇe tohoto program data vypisuje v asynchronn´ı ˇc´asti v´ ypisu. OnReadComplete Pˇri asynchronn´ım ˇcten´ı se vol´a funkce Read asynchronn´ıho rozhran´ı IOPCAsyncIO2 5 . Po pˇreˇcten´ı poˇzadovan´e hodoty se vr´at´ı vedle dalˇs´ıch promˇenn´ ych jak ˇc´ıslo V/V modulu (Itemu), kter´e patˇr´ı t´eto hodnotˇe, tak tato hodnota, hodnota kvality pˇrenosu a tak´e chybov´a hodnota ˇcten´ı. OnWriteComplete Pˇri z´apisu je vol´ana na z´akladˇe vol´an´ı funkce Write rozhrann´ı IOPCAsyncIO2. Vedle jin´ ych informac´ı se vrac´ı tak´e jm´ena modul˚ u (Item˚ u) prov´adˇej´ıc´ı z´apis a pole chybov´ ych hodnot, kter´e jim odpov´ıdaj´ı.
5
Rozhran´ı, jehoˇz metody jsou vol´ any asynchronnˇe, v´ıce informac´ı vis [1]
Kapitola 4 Z´ avˇ er Tato bakal´aˇrk´a pr´ace vznikla na z´akladˇe poˇzadavku firmy Sidat s.r.o. v projektu Cepot, kter´eho jsem se z´ uˇcastnil. Hlavn´ım c´ılem bylo pˇribl´ıˇzit dneˇsn´ı situaci na trhu s PROFINET IO zaˇr´ızen´ımi tak, aby tento pˇrehled mohl b´ yt d´ale pouˇziteln´ y. Druh´a ˇc´ast pr´ace ukazuje, jak se d´a vyuˇz´ıt diagnostika v syst´emu s PROFINET IO. Pro aplikace, kter´e vyuˇz´ıvaj´ı OPC server, byl naps´an jednoduch´ y klient, kter´ y se serverem komunikuje pr´avˇe pˇres rozhran´ı PROFINET IO a vyuˇz´ıv´a platformy .NET. Jako zdroj pˇri hled´an´ı zaˇr´ızen´ı jak typu IO-Controller, tak IO-Device jsem vyuˇzil datab´azi organizace PInternational. Z tohoto vypl´ yv´a, ˇze pro IO-Controllery jsou dva certifikovan´ı v´ yrobci: Siemens a Phoenix Contact. Jelikoˇz m´a spoleˇcnost Siemens v tomto oboru dominantn´ı postaven´ı na trhu (Evropa), je i jeho nab´ıdka velice pestr´a. Vedle klasick´ ych PLC, kter´e jsou vybaveny rozhran´ım PROFINET IO nab´ız´ı tak´e rozˇsiˇruj´ıc´ı kartu do PCI slotu – CP 1616, kter´a na z´akladˇe sv´eho programu m˚ uˇze plnit jednak funkci IO-Controlleru, jednak IO-Device. Phoenix Contact disponuje tˇremi verzemi PLC, kter´e od ˇrady 370, mj. pln´ı funkci switche, takˇze je moˇzn´e je zaˇclenit tˇreba do sbˇernicov´e topologie bez nutnosti pˇrid´an´ı dalˇs´ıho sit’ov´eho prvku (switch). V pˇr´ıpadˇe IO-Device je v´ yrobc˚ u podstatnˇe v´ıce. Vedle spol. Siemens a Phoenix Contact dod´avaj´ı na trh sv´a zaˇr´ızen´ı WAGO Kontakttechnik, Beckhoff nebo Turck. V tomto pˇr´ıpadˇe jsem se zamˇeˇril na komunikaˇcn´ı jednotky a rozˇsiˇruj´ıc´ı V/V moduly tˇechto v´ yrobc˚ u. Dalo by se ˇr´ıci, ˇze se moduly od sebe liˇs´ı jen nepatrnˇe, avˇsak jeden komunikaˇcn´ı modul je oproti ostatn´ım jin´ y a to proto, ˇze jeho souˇc´ast´ı jsou digin´aln´ı V/V (32). Jedn´a se o jednotku ILB PN 24 DI16 DIO16-2TX spoleˇcnosti Phoenix Contact, nav´ıc je poˇcet V/V voliteln´ y. Pˇri poˇzadavku nasazen´ı syst´emu v prostˇred´ı, kde je nutnost vyˇsˇs´ıho stupnˇe kryt´ı (IP67), uv´ad´ım v´ yrobce Turck a Siemens. Ceny 46
´ ER ˇ KAPITOLA 4. ZAV
47
produkt˚ u mi byly poskytnuty obchodn´ımi z´astupci jednotliv´ ych v´ yrobc˚ u, kteˇr´ı jsou uvedeni na ofici´aln´ıch webov´ ych str´ank´ach. Pro vyuˇzit´ı diagnostiky u Siemens Simatic S7 ˇrady 300 bylo vyuˇzito organizaˇcn´ıch blok˚ u (OB) 83 a 86, jejichˇz teoretick´ y popis je tak´e souˇc´ast´ı pr´ace. Pro tento pˇr´ıpad se realizovala demonstraˇcn´ı instalace s IO-Controllerem v PLC – CPU 315-2 PN/DP, do nˇehoˇz se tato diagnostika implementovala. Pˇr´ısluˇsn´a kapitola obsahuje a dokumentuje r˚ uzn´e pˇripady poruch. Souˇc´ast´ı jsou tak´e ˇc´asti k´od˚ u, aby bylo toto moˇzno d´ale pouˇz´ıvat. Pro poˇzadavky spuˇstˇen´ı OPC serveru se sestavil nov´ y syst´em, kter´ y mˇel IOController souˇc´ast´ı PC stanice. K t´eto funkci bylo vyuˇzito programu SOFTNET PN IO spol. Siemens. Demostraˇcn´ı soustava se tedy skl´adala z PC (OPC server, IO-Controller), jednotky ET200S a SCALANCE X-200 (switch). Aby bylo moˇzn´e vyˇc´ıtat data z OPC serveru, napsal se jednoduch´ y OPC klient. Ten vyuˇz´ıv´a knihovny OpcRcw, kter´a je souˇc´ast´ı dod´avky software SOFTNET PN IO. Pro ˇcten´ı procesn´ıch hodnot je vyuˇzito rozhran´ı, kter´e umoˇznuje jednak synchronn´ıho, jednak asynchronn´ıho ˇcten´ı. Diagnostick´e funkce jsou v aplikaci realizov´any jako odezvy na n´avratov´e hodnoty callback funkc´ı rozhran´ı IOPCDataCallback. Mezi z´akladn´ı diagnostick´a hl´aˇsen´ı povaˇzuji upozornˇen´ı na vytaˇzen´ y V/V modul nebo pˇreruˇsen´ y kabel.
Literatura ˇ ’av´ık, O. OPC Server. CVUT ˇ [1] St v Praze, Fakulta elektrotechnick´a, 2006. Diplomov´a pr´ace. [2] Beckhoff, 2007. http://www.beckhoff.com. ˇ ´ˇ [3] Matia sek, P. Komunikace Profinet IO. CVUT v Praze, Fakulta elektrotechnick´a, 2006. Diplomov´a pr´ace. [4] PHOENIX CONTACT.
Automation Systems AUTOMATIONWORX –
Control solutions [online], 2007. http://eshop.phoenixcontact.com. [5] PHOENIX CONTACT. Z´asuvn´e spojovac´ı konektory PROFINET, 2007. http://www.phoenixcontact.cz/products/21718 21727.htm. [6] Pigan, P. a Metter, M. Automating with PROFINET. Publicis Corporate Publishing, 2005. [7] PROFIBUS International. PROFINET – Technical description, 2007. http://www.profibus.com/pn/technology. [8] Siemens. PROFINET – Standard pro pr˚ umyslov´y Ethernet v automatizaci, 2005. [9] Siemens Automation and Drives, 2007
.
https://mall.automation.siemens.com. [10] Siemens Automation and Drives. Siemens Image Database [online], 2007. www.automation.siemens.com/bilddb. [11] Turck – Industrial Automation. Gateway pro I/O syst´em BL67, 2007. www.turck.com. ´ ´c ˇek, A. Uvod [12] Voja do INTERBUS Fieldbus [online]. www.automatizace.hw.cz, 2005. 48
I
LITERATURA [13] WAGO.
WAGO I/O SYSTEM, 2007
.
http://www.wago.com/wagoweb/documentation/logbook/logbook.htm. [14] Wikipedia. IEC 61131-3 – Wikipedia, The Free Encyclopedia [online], 2007. http://en.wikipedia.org/wiki/IEC 61131-3.
II
ˇ ´ILOHA A. VYZNAM ´ ˇ ´ PR HODNOT PROMENN YCH OB 83 A 86
III
Pˇ r´ıloha A V´ yznam hodnot promˇ enn´ ych OB 83 a 86 OB83 EV CLASS
OB83 FLT ID Ud´ alost
B#16#39
B#16#51
PROFINET IO modul vytaˇzen
B#16#39
B#16#54
PROFINET IO submodul vytaˇzen
B#16#38
B#16#54
PROFINET IO submodul zasunut, odpov´ıd´a konfiguraci
B#16#38
B#16#55
PROFINET IO submodul zasunut, neodpov´ıd´a konfiguraci
B#16#38
B#16#56
PROFINET IO submodul zasunut,chyba v parametrech modulu
B#16#38
B#16#58
PROFINET IO submodul – vylouˇcena chyba pˇr´ıstupu
B#16#39
B#16#61
Modul vytaˇzen, nebo nem˚ uˇze b´ yt adresov´an OB83 MDL TYPE: aktu´aln´ı typ modulu
B#16#38
B#16#61
Modul zasunut, typ OK OB83 MDL TYPE: aktu´aln´ı typ modulu
B#16#38
B#16#63
Modul zasunut, ˇspatn´ y typ OB83 MDL TYPE: aktu´aln´ı typ modulu
Tabulka A.1: Ud´alosti alarm˚ u spouˇstej´ıc´ı OB 83
ˇ ´ILOHA A. VYZNAM ´ ˇ ´ PR HODNOT PROMENN YCH OB 83 A 86 OB83 EV CLASS
OB83 FLT ID Ud´ alost
B#16#38
B#16#64
IV
Modul zasunut, chyba ˇcten´ı ID OB83 MDL TYPE: aktu´aln´ı typ modulu
B#16#38
B#16#65
Modul zasunut, ˇspatn´ y typ OB83 MDL TYPE: aktu´aln´ı typ modulu
B#16#39
B#16#66
Modul nem˚ uˇze b´ yt adresov´an, porucha napˇet’ov´e z´atˇeˇze
B#16#38
B#16#66
Modul m˚ uˇze b´ yt znovu adresov´an, porucha napˇet’ov´e z´atˇeˇze odstranˇena
B#16#33
B#16#67
Zaˇc´atek reparametrizace modulu
B#16#32
B#16#67
Konec reparametrizace modulu
B#16#39
B#16#68
Reparamatrizace modulu ukonˇcena s chybou
B#16#38
B#16#84
Vloˇzen modul rozhran´ı
B#16#39
B#16#84
Vysunut modul rozhran´ı
Tabulka A.2: Ud´alosti alarm˚ u spouˇstej´ıc´ı OB 83 ( pokraˇcov´an´ı)
ˇ ´ILOHA A. VYZNAM ´ ˇ ´ PR HODNOT PROMENN YCH OB 83 A 86
V
OB86 EV CLASS
OB86 FLT ID Ud´ alost
B#16#39
B#16#C1
Selh´an´ı rozˇsiˇruj´ıc´ı jednotky
B#16#38
B#16#C1
N´avrat rozˇsiˇruj´ıc´ı jednotky
B#16#38
B#16#C2
N´avrat rozˇsiˇruj´ıc´ı jednotky, rozd´ıl mezi pˇredchoz´ı a aktu´aln´ı konfigurac´ı: – moduly existuj´ı s jin´ ymi ID – moduly chyb´ı – porouchan´ y modul
B#16#38
B#16#C6
N´avrat rozˇsiˇruj´ıc´ı jednotky, chyba v parametrizaci modulu t´eto jednotky: – moduly existuj´ı s nespr´avn´ ym ID – moduly existuj´ı s nespr´avn´ ymi nebo chybˇej´ıc´ımi parametry
B#16#39
B#16#CA
Selh´an´ı PROFINET IO syst´emu
B#16#39
B#16#CB
Selh´an´ı nebo navr´acen´ı PROFINET IO stanice. OB86 RESERVED 1:
B#16#39
B#16#C4 – chyba pouze t´eto stanice B#16#CF – chyba/selh´an´ı dalˇs´ıch stanic B#16#39
B#16#CC
Chybn´a nebo s odstranˇenou chybou PROFINET IO stanice
B#16#39
OB86 RESERVED 1: B#16#C4 – chyba pouze t´eto stanice B#16#CF – chyba/selh´an´ı dalˇs´ıch stanic B#16#39
B#16#CD
N´avrat PROFINET IO stanice, rozd´ıl mezi pˇredchoz´ı a aktu´aln´ı konfigurac´ı
B#16#39
B#16#CE
N´avrat PROFINET IO stanice, chyba v parametrizaci modulu
Tabulka A.3: Ud´alosti alarm˚ u spouˇstej´ıc´ı OB 86
Pˇ r´ıloha B V´ ypis funkc´ı a jejich struˇ cn´ y popis InitReqIOInterfaces Tato metoda je vol´ana k inicializaci pointru asynchronn´ıho rozhran´ı.
OnDataChange() Implementace callback funkce rozhran´ı IOPCDataCallback. Je vol´ana OPC serverem pˇri kaˇzd´e zmˇenˇe hodnoty jednotliv´ ych V/V modul˚ u. Parametry : • dwTransid : id transakce • hGroup : ˇcislo group • dwCount : poˇcet item˚ u, kter´e hlas´ı tuto funkci • phClientItems : pole s ˇc´ısly item˚ u • pvValues : pole hodnot, jsou zavisl´e na pole s itemy • pwQualities : hodnoty kvalit • pftTimeStamps : ˇcas • pErrors : pole s chybov´ ymi hodnotami
OnReadComplete() Implementace callback funkce rozhran´ı IOPCDataCallback. Je vol´ana OPC serverem pˇri dokonˇcen´em synchronn´ım vol´an´ı. Parametry : VI
ˇ ´ILOHA B. VYPIS ´ ˇ Y ´ POPIS PR FUNKC´I A JEJICH STRUCN
VII
• dwTransid : id transakce • hGroup : skupina • dwCount : poˇcet item˚ u, kter´e tuto akci volaj´ı • phClientItems : pole s itemy • pvValues : pole s hodnotami • pwQualities : pole s kvalitami, odpov´ıdaj´ıc´ı poli s itemy • pftTimeStamps : ˇcas • pErrors : pole s chybami
OnWriteComplete() Implementace callback funkce rozhran´ı IOPCDataCallback. Je vol´ana OPC serverem pˇri dokonˇcen´em asynchronn´ım z´apisu. Parametry : • dwTransid : id transakce • hGroup : ˇc´ıslo skupiny • dwCount : poˇcet item˚ u • pClienthandles : seznam item˚ u • pErrors : seznam chyb
zapisChyby() Metoda pro z´apis chyb, kde jako vstupn´ı parametr je ˇc´ıslo V/V modulu (Itemu), kter´ y chybu zp˚ usobil a specifikace chyby. Parametry : • item : ˇc´ıslo V/V modulu (Itemu) • chyba : string se specifikac´ı chyby
ˇ ´ILOHA B. VYPIS ´ ˇ Y ´ POPIS PR FUNKC´I A JEJICH STRUCN
VIII
GetQuality() Pˇrev´ad´ı ˇc´ıseln´e vyj´adˇren´ı kvality spojen´ı na slovn´ı tak, jak jej definuje OPC Foundation. Parametry : • wQuality : ˇc´ıseln´a hodnota kvality sign´alu spojen´ı
Pˇ r´ıloha C Obsah pˇ riloˇ zen´ eho CD K t´eto pr´aci je pˇriloˇzeno CD, na kter´em jsou uloˇzeny zdrojov´e k´ody. • Adres´aˇr 1: • Adres´aˇr 2:
IX