• No results found

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

äE

tE 6år,Z

ää; ägå

å$

H

ää€ €,eEEEE -8

EEl äåå e?Og s:;ååå;åEigå

$åäiålågiåff

?') (D

rst

E\A.racts r

Etå

14 '€ tt

Håå

Ufq ?',

|-{ st ra

ES

d E:

=

i i€ åE fl N.F. 5E e

q)SFI

\

'hlAit

-\

ouU'J1OoFt

s

Ål-(o

.-

{-aOtrÅc+{

l{GI

trG'+r,a

DOO(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

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)]

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,ior 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

.

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.

Related documents