4.2 Programmering av en PLC
4.2.3 Function Block Diagram (FBD)
VA VB
?
VR
∞
y1
y2
4.2.3 Function Block Diagram (FBD)
Function Block Diagram (FBD) ¨ar ett grafiskt programmeringsspr˚ak som p˚aminner om blockdiagram som anv¨ands i reglerteknik-kurser. Blockena kan best˚a av enkla eller mera komplicerade operationer.
Blocken som ¨ar fungera som logiska grindar s˚a ser ¨aven ut som logiska grindar, alla grindar som finns i Figur 4.5 s˚a finns alla i FBD. I figur 4.6 j¨amf¨ors implementeringen av n˚agra enkla kretsar med FBD med kontaktdiagram och IL.
Figur 4.6: N˚agra logiska kretsar implementerade med kontaktdiagram, Funktion Block Diagram, och Instruction List. Obs h¨ar anv¨ands f¨orkortade instruktioner i IL.
I tabell 4.2 ges mera avancerade operationer definerade enligt IEC-standarden. Man kan ¨aven sj¨alv definera nya block, t.ex. med hj¨alp av programmeringsspr˚aket Structured Text.
52 KAPITEL 4. PROGRAMMERBAR LOGIK
Tabell 4.2: Avancerade FBD-block enligt IEC-standarden (Crispin, 1997)
II
&ht'& gXSa
ACD(DF. tYr+H +rO'r =
åiBåliåi r äs=å5;BSJSTAA' är s årEåEåååJå*åå" *åäåå*å#
tr€)Å-aH.-+r
€)0
-
ra-
tr frc)EE.ra*)G-lc)€*
oå4::E
äEtE 6år,Z
ää; ägå
å$
Hää€ €,eEEEE -8
EEl äåå e?Og s:;ååå;åEigå
$åäiålågiåff
?') (D
rst
E\A.racts rEtå
14 '€ ttHåå
Ufq ?',
|-{ st ra
ESd E:
=i i€ åE fl N.F. 5E e
q)SFI\
'hlAit-\
ouU'J1OoFts
Ål-(o.-
{-aOtrÅc+{€
l{GI€
trG'+r,aDOO(J (JC J i\
Kapitel 5
Petri n¨ at
Tillst˚andsautomatbeskrivningen i avsnitt 3.1 (tillst˚andsgraf, tillst˚andstabell) har en del begr¨ansningar, vilka g¨or beskrivningen obekv¨am f¨or vissa exempel. Detta har motiverat alternativa formalismer f¨or att beskriva sekventiella system. Av dessa ¨ar Petri-n¨atet det viktigaste. Petri-n¨atet har varit som f¨orebild vid utvecklandet av Grafcet-beskrivningen, se avsnitt 3.2.
Vi skall f¨orst illustrera begr¨ansningarna f¨or tillst˚andsautomater med ett par exempel.
Exempel 5.1 Betrakta ett system med d¨ar inkommande jobb betj¨anas av en server S (Fig. 5.1). Inkom-mande jobb som ej kan betj¨anas direkt s¨atts i en k¨o. Servern kan betj¨ana endast ett jobb ˚at g˚angen.
Ink. jobb
· · ·
K¨o Server S
Figur 5.1: Serverproblemet
L˚at den logiska signalen A = 1 ange att ett jobb anl¨ander, och l˚at S = 1 ange att ett jobb betj¨anats och att f¨oljande jobb kan betj¨anas av servern. En tillst˚andsautomatbeskrivning av systemet visas i Figur 5.2, d¨ar nod nummer i (i=0,1,2,. . . ) motsvarar ett tillst˚and med i st. jobb i k¨on. Systemet har allts˚a ett
0 - 1 - 2 - 3 - 4
-
A A A A A
S S S S S
· · ·
Figur 5.2: Tillst˚andsautomat f¨or serverproblemet o¨andligt antal tillst˚and.
Exempel 5.2 Betrakta p˚afyllningen av en reaktor fr˚an tv˚a beh˚allare (Fig. 3.7), d¨ar t¨omning av beh˚ allar-na A och B kan ske samtidigt. Figur 5.3 visar en tillst˚andsautomatbeskrivning av processen, d¨ar noderna motsvarar f¨oljande tillst˚and.
53
54 KAPITEL 5. PETRI N ¨AT
1. Klar f¨or start 2. A och B t¨oms 3. A t¨oms, B fylls 4. B t¨oms, A fylls 5. A t¨omd, B t¨oms 6. B t¨omd, A t¨oms 7. Reaktorn fylld
Figur 5.3: Tillst˚andsautomat f¨or blandningsprocess
Det beh¨ovs ett tillst˚and f¨or varje kombination av de tv˚a delprocessernas tillst˚and. Detta illustrerar en inherent svaghet hos tillst˚andsautomatbeskrivningen: Antalet tillst˚and ¨okar kombinatoriskt med antalet delsystem. Dessutom leder en utvidgning av systemet med nya delsystem (t.ex. en tredje beh˚allare C) till besv¨arliga modifieringar av tillst˚andsautomatbeskrivningen.
F¨or att kunna beskriva sekventiella, h¨andelse-drivna system p˚a ett bekv¨amt s¨att har man utvecklat alternativ till tillst˚andsautomatbeskrivningen. Det (sannolikt) mest utbredda av dessa ¨ar Petri-n¨atet (C.A. Petri 1964).
Ett Petri-n¨at har tv˚a typer av noder: Cirklar representerar ”platser” (places), som beskriver tillst˚and eller aktiviteter hos ett system, och tv¨arstreck som representerar transitioner. Noderna kan f¨orbindas med flera riktade l¨ankar (Fig. 5.4).
p1
-
-t1
-p2
Figur 5.4: Petri-n¨at med tv˚a platser p1, p2, och en transition t1
En transition kan ”exekveras”, vilket kan anv¨andas f¨or att representera tillst˚ands¨overg˚angar. F¨or att ange n¨ar en transition kan exekveras f¨orses platserna med ”tecken” (token), jmf. Fig. 5.5. Antalet tecken i de
• p1
-
-t1
-p2
Figur 5.5: Petri-n¨at med tecken, tillst˚and x = [1 0]
55
olika platserna definierar Petri-n¨atets tillst˚and x, dvs
x = [x(p1) x(p2) . . . x(pm)]
d¨ar x(pi) = antalet tecken i plats pi.
•• p1
-
-t1
-p2 p1
-
-t1
- • p2
(a) x = [2 0] (b) x = [0 1]
Figur 5.6: (a) Petri-n¨at med transition som kan exekveras (b) Tillst˚and efter transition
F¨or att en transition skall kunna exekvera b¨or det finnas ett tecken f¨or varje riktad l¨ank till transitionen.
Transitionen i Figur 5.5 kan s˚aledes ej exekveras. D¨aremot exekveras transitionen t1 i Figur 5.6(a).
Observera att antalet tecken i ett Petri-n¨at i allm¨anhet ej beh¨over vara konstant; antalet kan s˚av¨al ¨oka som minska beroende p˚a antalet l¨ankar till och fr˚an de transitioner som exekveras. Transitionerna kan vara f¨orbundna med flera platser och vice versa. Notera ¨aven att en plats kan vara f¨orbunden med en transition i b˚ada riktningarna, jmf. Fig. 5.7.
p1
-t1
-p2
Figur 5.7: Petri-n¨at med l¨ankar med olika riktning
Ett exempel p˚a dynamiken i ett Petri-n¨at illustreras i figurerna 5.8-5.10.
p1
••
-t1 1
q p2
-p3
3
-t2
q t3
p4
•
Figur 5.8: x0= [2, 0, 0, 1], endast transition t1kan exekveras
56 KAPITEL 5. PETRI N ¨AT
Observera att det i Fig. 5.10 antagits att t2 exekverats i x1. Lika v¨al kunde emellertid t1 eller t3 ha exekverats i x1, vilket leder till andra tillst˚and hos n¨atet. F¨or att beteendet hos ett Petri-n¨at skall vara entydigt definierat b¨or ordningsf¨oljden av de exekverbara transitionerna specifieras p˚a n˚agot s¨att. Det viktigaste s¨attet ur ingenj¨orsm¨assig synvinkel ¨ar att binda transitionerna till externa h¨andelser, varvid Petri-n¨atet beskriver det som ¨ar m¨ojligt. Mera om detta under Exempel 5.3 och 5.4.
En variant av Petri-n¨at d¨ar transitionernas ordningsf¨oljd kan specificeras genom att inf¨ora tider τi≥ 0 f¨or de olika transitionerna ti, som anger tiden efter vilken transitionen exekveras, d˚a villkoren f¨or exekvering blivit uppfyllda (sk. timed Petri net). S˚adana f¨ord¨ojda transitioner anges med en rektangel, se Fig. 5.11.
Transitionen t1 i Fig. 5.11 exekveras efter τ1 tidsenheter efter att villkoren f¨or exekvering (tv˚a tecken i plats p1) blivit uppfyllda.
••
Figur 5.11: Timed Petri net
Teorin f¨or Petri-n¨at analyserar olika egenskaper hos n¨aten, s˚asom
- Om det dynamiska beteendet forts¨atter med nya transitioner i all o¨andlighet (”liveliness”), eller upph¨or vid n˚agot skede.
- Om systemet hakar upp sig utan att komma vidare (”deadlock”).
- Vilka tillst˚and som kan n˚as fr˚an ett givet starttillst˚and.
- Om tillst˚andet (totala antalet tecken) f¨orblir begr¨ansat.
Till slut skall vi illustrera hur systemen i exemplen 5.1 och 5.2 kan beskrivas med Petri-n¨at.
Exempel 5.3 Betrakta systemet i Ex. 5.1. Ett s¨att att beskriva n¨atet med Petri-n¨at visas i Fig. 5.12.
Vi utnyttjar oss av tre stycken transitioner:
a: representerar att ett inkommande jobb anl¨ander s: representerar start av betj¨aning i servern
c: representerar att servern fullbordat ett jobb. Jobben antas ta τc tidsenheter.
Dessutom beh¨ovs tre platser
57 Q: antalet tecken i Q anger antalet jobb i k¨on
B: ett tecken i B anger att servern utf¨or jobb (Busy) I: ett tecken i I anger att servern kan ta emot jobb (Idle)
a Q ?
sR B ?
c ? τc I
• I
a Q ••?
sR B ?•
c ? τc I
I
(a) Initialtillst˚and med tom k¨o och ledig server (b) Servern upptagen och tv˚a jobb i k¨on Figur 5.12: Petri-n¨at f¨or server-problemet
H¨ar ¨ar ankomsten av jobb a en transition som specificeras utifr˚an. Observera att i motsats till till-st˚andsautomatbeskrivningen i Ex. 5.1 har Petrin¨atbeskrivningen ¨andligt antal noder. Antalet jobb i k¨on karakteriseras entydigt av n¨atets tillst˚and, dvs antalet tecken i platserna (och i det h¨ar fallet antalet tecken i Q).
Uppgift 5.1 Modifiera Petri-n¨atet i Ex. 5.3 enligt f¨oljande:
(a) Inkommande jobb kommer med en viss tid emellan
(b) Jobben (kunderna) blir och prata i v¨antrummet efter att ha blivit betj¨anade av servern.
(c) Servern kan g˚a s¨onder eller annars tas ur bruk f¨or service.
Till˚atet att l¨osa denna uppgift i kompendiet.
a Q ?
sR B ?
c ? τc
I
58 KAPITEL 5. PETRI N ¨AT Exempel 5.4 Betrakta systemet Fig. 3.7 och Ex. 3.2 med p˚afyllning av en reaktor fr˚an tv˚a beh˚allare A och B. Ett Petri-n¨at som beskriver detta system ses i Fig. 5.13. En extern signal f¨or start av A och B har
¨aven inf¨orts.
Figur 5.13: Petri-n¨at f¨or blandningsprocess
Observera att i motsats till tillst˚andsautomat beskrivningen i Fig. 5.3 kan de parallella processerna be-skrivas oberoende av varandra i Petri-n¨at beskrivningen. Detta g¨or beskrivningen mera strukturerad, och det ¨ar enkelt att s¨atta till eller avl¨agsna delprocesser. Defacto s˚a har vi mycket mera detaljer med i Petrin¨atet i figure 5.13 ¨an i tillst˚andsautomaten i figur 5.3. En nackdel med Petri-n¨at ¨ar att den gra-fiska representationen av ett realistiskt system nog kan bli relativt komplicerad, med m˚anga platser och transitioner.
Vidare s˚a ses i ovanst˚aende exempel att platser ¨ar ofta sammankopplade med utsignaler (inom parentes), och transitioner ¨ar ofta sammankopplade med insignaler. Transitionerna som ¨ar kopplade med insignaler s˚a har som till¨agssvillkor att den externa signalen m˚aste ha r¨att v¨arde. Dylika transitioner brukar kallas icke styrbara, eftersom de ¨ar beroende av omgivningen.
Kapitel 6
Planering av s¨ akerhet f¨ or styrsystem
S¨akerhet spelar en viktig roll vid design av styrsystem. Det finns standarder f¨or val av h˚ardvara och struktur f¨or styrsystem beroende p˚a hur h¨og risk som finns involverad. Detta avsnitt ¨ar baserat p˚a den EU-verifierade internationella standarden EN ISO 13849-1, som ersatte ¨aldre standarder fr˚an och med 1.1 2012. Till exempel f¨ors¨akringsbolag kr¨aver dokumenterad s¨akerhetsplanering av tillverkare av maskiner.
Anv¨andingen av en maskin s˚a inneb¨ar alltid en viss risk f¨or farosituation. Faror kan uppst˚a om kompo-nenter i styrsystem g˚ar s¨onder. Alla fel leder inte till faror, index d anv¨ands f¨or att betona att det ¨ar fr˚aga om fel som leder till farositutioner. Styrsystem kan ibland avv¨arja farosituationer genom att automatiskt detektera fel.
Ett styrsystem best˚ar typiskt av f¨oljande komponenter:
In-enhet - Logik - Ut-enhet
Figur 6.1: Typiska komponenter i ett styrsystem
Leverant¨orer ger uppskattningar p˚a livsl¨angden p˚a olika komponenter, som inverkar sannolikheten f¨or att farositioationer uppst˚ar. I mera kritiska till¨ampningar s˚a inf¨or man till exempel diagnostik och/eller dubbla komponenter, som ¨okar p˚a tillf¨orlitligheten. Finns speciella logikdatorer med alla komponenter dubblerade.
Vid planering av s¨akra styrsystem rekommenderas f¨oljande arbetsg˚ang 1. Riskevaluering
(a) Gr¨anser f¨or maskin (b) Igenk¨annande av faror (c) Riskevaluering
2. Planering 3. Realisering 4. Validering
59
60 KAPITEL 6. PLANERING AV S ¨AKERHET F ¨OR STYRSYSTEM Riskevaluering s˚a best˚ar av tre delomr˚aden:
S Severity, hur allvarliga skador kan uppst˚a. ¨Overg˚aende (S1) eller best˚aende skador (S2), bl˚am¨arken vs avhuggna lemmar.
F Frequency, hur ofta farosituationen uppst˚ar. S¨allan (F1) eller ofta (F2).
P Probability, sannolikhet att undvika fara d˚a farosituation uppst˚ar. M¨ojligt (P1) eller n¨astan om¨ojligt (P2).
Riskevaluering inneb¨ar att man skall st¨alla sig ovanst˚aende tre fr˚agor, med tv˚a m¨ojliga svar (1 eller 2).
Riskevalueringen ger kravniv˚a (PLr), a-e. Kravniv˚an e betyder h¨ogst krav p˚a s¨akerhet. Om riskevaluering
¨ar S1+F1+P1, s˚a r¨acker kravniv˚a a. S2 h¨ojer p˚a kravniv˚an tv˚a steg, medan F2 och P2 h¨ojer p˚a kravniv˚an ett steg var. Kravniv˚a betyder att man accepterar farliga felsituationer enligt tabell 6.1.
Tabell 6.1: Krav p˚a sannolikhet f¨or farligt fel under en timme f¨or olika kravniv˚aer Kravniv˚a (PLr) Krav p˚a sannolikhet f¨or farligt fel under en timme (PFHd)
a < 10−4 prestanda-niv˚an genom att v¨alja b¨attre komponenter (¨oka p˚a MTTFd), eller genom strukturella f¨orb¨attringar. Som strukturella ˚atg¨arder som inf¨orande av diagnostik (DC), dubblering av kanaler som m¨ojligg¨or automatisk diagnostik, och ¨aven ˚atg¨arder som motverkar fel som uppst˚ar av samverkan (CCF). Dessa strukturella f¨orb¨attringar s˚a h¨ojer p˚a s¨akerhetskategorin f¨or systemet. De olika s¨akerhetskategorierna ges i tabell 6.2.
Tabell 6.2: Olika kategorier av s¨akerhetssystem
Kategori uppn˚aelig kravniv˚a MTTFd DC CCF
B a-b 3-27˚ar -
MTTFd = Mean Time To dangerous Failure, tid tills farligt fel har uppst˚att i 63% av komponenterna.
DC = Diagnostic Coverage, hur stor procent av felen s˚a uppt¨acks av systemet.
CCF = Common Cause Failure, ˚atg¨arder mot fel som uppst˚ar av samverkan.
Kategorierna B och 1 st¨aller enbart krav p˚a komponenterna, om fel uppst˚ar s˚a utf¨or systemet inga
˚atg¨arder. I kategori 2 s˚a r¨acker det att fel uppt¨acks i regelbundna granskningar, som t.ex. sj¨alvdiagnostik vid uppstart. Kategorierna 3-4 kr¨aver dubblering, dvs flera kanaler, vilket m¨ojligg¨or att systemet sj¨alv uppt¨acker fel, och automatiskt avbryter funktionaliteten.
MTTFd f¨or hela systemet ber¨aknas p˚a basen av MTTFd,i f¨or enskilda komponenter i, enligt formeln 1
MTTFd =∑
i
1 MTTFd,i Tillverkare anger inte alltid MTTFd, f¨oljande f¨orekommer ¨aven:
• B10d, anger antal anv¨andingar varefter 10% av komponenterna har g˚att s¨onder. Anges f¨or kompo-nenter som anv¨ands bara ibland, som t.ex. kontakter.
61
• PFHd, definierades redan tidigare, medelsannolikhet f¨or att komponenten g˚ar s¨onder p˚a en timme.
Vid omr¨akning fr˚an B10d till MTTFd anv¨ands f¨oljande formel:
MTTFd= B10d 0.1· nop
.
H¨ar anger nop antal anv¨andningar per ˚ar. Faktorn 0.1 kommer av att MTTFd angav tiden f¨or att 63%
av komponenterna g˚ar s¨onder, medan f¨or B10d s˚a var det bara 10% som hade g˚att s¨onder.
Omr¨akning av PFHd till MTTFd g˚ar enligt f¨oljande ekvation
MTTFd= 1
365· 24 · PFHd
.
Man kan ¨aven r¨akna ut T10d, som ¨ar tiden det tar till 10% av komponenterna g˚ar s¨onder, enligt formeln T10d= B10d
nop .
T10danger tiden varefter man borde byta ut komponenten, och ¨ar enligt ovanst˚aende formler en tiondel av MTTFd.
Vid h¨arledning av ovanst˚aende formler antar man att s¨onderfallshastigheten λ f¨or en komponent ¨ar konstant, vilket allts˚a betyder att kvarst˚aende hela komponenter x ges av f¨oljande differentialekvation
dx
dt =−λx med initialtillst˚andet x(0) = 100%. L¨osningen till denna ¨ar
x(t) = (100%)· e−λt.
Detta ger att vid tidpunkten T10d= 0.1/λ s˚a ¨ar x(0.1/λ) = 90.48% hela, andelen s¨ondriga komponenter d¨armed ca 10%. Och vid tidpunkten MTTFd = 1/λ ¨ar x(1/λ) = 36.79% hela, och andelen s¨ondriga komponenter d¨armed ca 63%. Enheten f¨or λ ¨ar (˚ar)−1, vilket allts˚a betyder att λ = PFHd· 24 · 365, vilket kombinerat med ovanst˚aende ger sambandet mellan MTTFd och PFHd.
P˚ast˚aendet att bara 63% av komponenterna har g˚att s¨onder vid MTTFd ¨ar sannolikt optimistisk, f¨or livsl¨angden p˚a komponenter brukar f¨olja en ”badkarsf¨ordelning”, sannolikheten f¨or att den skall g˚a s¨onder
¨ar h¨og i b¨orjan (pga tillverkningsfel), varefter sannolikheten blir konstant l˚ag fram till T10d, varefter sannolikheten igen snabbt stiger p˚a grund av slitage. Rekommendationen brukar vara att komponenter skall bytas ut efter T10d.
Under antagendet att s¨onderfallshastigheten skulle f¨ordubblas efter T10d, s˚a skulle f˚as att 85% av kom-ponenterna ¨ar s¨onder vid MTTFd, och om hastigheten tredubblas skulle andelen bli 94%.
DC ¨ar andel farliga fel som detekteras av diagnostiken. M¨ojliga v¨arden p˚a DC: 0%, 60%, 90% och 99%. F¨or detaljer se BGIA:s rapport 2/2008e: Functional safety of machine controls, appendix E. F¨or ber¨akning medel DC f¨or hela systemet, DCavg s˚a ber¨aknas det som ett medelv¨arde viktat med 1/MTTFd f¨or respektive komponent, det vill s¨aga
DCavg=
Om DCavg ¨ar just under en DC-gr¨ans, s˚a blir s¨akerhetsber¨akningen l¨att pessimistisk p˚a grund av den grova indelningen av DC-klasser. Enligt ovan n¨amnda rapport ¨ar det till˚atet att i dylika fall anv¨anda en finare indelning av DC-klasser, se appendix G i rapporten.
62 KAPITEL 6. PLANERING AV S ¨AKERHET F ¨OR STYRSYSTEM Vid evaluering av CCF, fel som uppst˚ar av samverkan, s˚a besvaras ett antal fr˚agor, med ja-nej svarskala.
Tabell 6.3: Evaluering av fel som uppst˚ar av samverkan (CCF)
Faktor som minskar risken f¨or faror pga samverkan po¨ang om svaret ¨ar ja
Fysisk separering av kanaler 15
Anv¨anding av olika teknologier, t.ex. olika tillverkare 20 Skydd mot ¨oversp¨anning, ¨overtryck, och dylikt 15
K¨anda komponenter 5
Beaktande av CCF vid planering 5
Operat¨orer medvetna om och tr¨anade i CCF 5
Skydd mot nedsmutsning och/eller elektromagnetiska st¨orningar 25 Skydd mot andra hot fr˚an omgivningen, t.ex. temperatur, st¨otar,
vibrationer och fukt
10
Totalt 100 po¨ang m¨ojliga, och 65 po¨ang kr¨avs f¨or s¨akerhetskategorierna 2-4.
Efter evaluering av s¨akerhetskategori, samt ber¨akning av total MTTFd f¨or systemet, och s˚a finns det tabeller som anger uppn˚aelig s¨akerhetsniv˚a (PL, som tar v¨arden mellan a och e). Tabellen finns ¨aven som r¨aknesticka, som ses i figuren nedan:
Figur 6.2: R¨akneskiva f¨or ber¨akning av s¨akerhetsprestanda
Kategorierna B och 1 ¨ar enkla att ber¨akna, t.ex. om man har MTTFd = 3, s˚a blir PFHd = 1/(365· 24·
MTTFd) = 0.00038, vilket ¨aven kan avl¨asas ur ovanst˚aende bild. P˚a basen av f¨argen ser man i bilden att man d˚a enbart n˚a s¨akerhetskategorin a, vilket ¨aven inses fr˚an tabell 6.1, PFHd borde vara mindre ¨an 10−5 f¨or att uppfylla kravniv˚a b. F¨or detta skulle kr¨avas att MTTFd> 1/(365· 24 · 10−5) = 11.42.
I de h¨ogre kategorierna s˚a antar man att diagnostik och motsvarande ˚atg¨arder avv¨arjer farosituationen i en viss del av fallen, varav sannolikheten f¨or farligt fel blir l¨agre ¨an vad MTTFd direkt anger. T.ex. s˚a ser man i ovanst˚aende bild att f¨or ett system i kategori 3, medel DC, s˚a uppn˚ar man kravniv˚a b redan med MTTFd= 3.