Flytskjema

advertisement
MAS113 – Digital Control
Day 2
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1
Flowcharts and State-Machines
IEC 61131-3
Ladder Logic
Statement Lists
Function Block Diagrams
G. Hovland - 2009/10
IEC 61131-3
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2
n
The IEC 61131-3 standard defines four PLC languages
–
Ladder Logic
–
Statement Lists (STL)
–
Function Block Diagrams (FBD)
–
Sequential Flow Charts (SFC)
n
Many PLC's allow all four programming languages.
Some allow only a subset.
n
The easiest for humans to read is the SFC (graphical). Is
there a systematic way to convert SFC to the other
languages?
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 3
Why Flowchart or State-Machine ?
n
PLC programs can become difficult for others to read
without documentation
n
Flowchart or state-machine is a standard approach to
document a logic program flow
n
Documentation required by ISO 9001
n
PXXXX-DS011 Design Specification
n
PXXXX-DS021 Functional Description
n
PXXXX-DS024 Program Description
n
PXXXX-DS025 Definition of Variables
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 4
Example Flow Chart
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 5
Ladder Logic for the Transitions
(First Scan, OB100)
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 6
Ladder Logic Functions
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 7
Ladder Logic Functions and Outputs
Pedestrian Crossing: Exercise
Inputs: S1, S2 (walk button)
Outputs: L1, L2, …, L6 (2 sets of red, yellow, green lights)
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 8
Green NS – ST1
Yellow NS – ST2
Green EW – ST3
Yellow EW - ST4
4 seconds delay from
yellow to green
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 9
State based design approach
n
A State based system can be described with system states, and
the transitions between those states.
n
If the system is in state 1 and A happens the system will then
go into state 2, otherwise it will remain in State 1.
n
if the system is in state 2, and B happens the system will return
to state 1.
Pedestrian Crossing Example: State-Machine
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 0
Inputs: S1, S2 (walk button)
Outputs: L1, L2, …, L6 (2 sets of red, yellow, green lights)
Green NS – ST1
Yellow NS – ST2
Green EW – ST3
Yellow EW - ST4
4 seconds delay from
yellow to green
Pedestrian Crossing: State-Machine
System State:
L1,L2, .., L6
State description:
1. Obtain the states
ST1,ST2,ST3,ST4
and First Scan: FS
2. Draw the state transition diagram
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 1
3. Derive state equations and transient
equations
S2 Pressed
Delay 4 s
4. Convert to ladder logic
T2
ST3
ST2
ST4
T1
ST1
S1 pressed
Transients: T1,T2,T3,T4,T5
e.g. T1: transient from ST1 to ST2
T3
T5
FS
T4
Delay 4 s
Pedestrian Crossing: State-Machine
Inputs: S1, S2 (walk button)
Outputs: L1, L2, …, L6
Delay 4 s
T2
S2 Pressed
ST3
ST2
3. Derive state equations and
transient equations
ST4
T1
ST1
S1 pressed
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 2
T3
T5
FS
T4
Delay 4 s
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 3
Convert to Ladder Logic
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 4
State Equations
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 5
Outputs
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 6
Alternative Implementation with SR Block
Equivalent
T4
ST1
S
T5
T1
R
Q
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 7
Statement List: Example 1
Equivalent
A(
O ST1
O T4
O T5
)
AN T1
= ST1
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 8
Functional Block Diagram
Equivalent
ST1
>=1
T4
>=1
T5
&
T1
ST1
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 1 9
Oppgave: Sorteringsmaskin
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 0
Oppgave: Sorteringsmaskin
Sorteringsmaskin: IO Liste
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 1
Lag en IO-liste og tegn flytskjema for systemet
IO-Liste:
Inngang I1=Første metalldetektor (upstream). True=Metall.
Inngang I2=Andre metalldetektor (downstream). True=Metall
Inngang I3=Første plastikkdetektor (upstream). True=Plastikk
Inngang I4=Andre platikkdetektor (downstream). True=Plastikk.
Inngang I5=RESET
Utgang O1=Styrearm (True=Slipper metall forbi, False=slipper plastikk forbi)
Utgang O2=Transportbånd (True=På, False=Stoppet). Felles for begge båndene
Utgang O3=Alarmlys. True=Alarm
Flytskjema: (Det kan lages andre løsninger)
Antagelse: Kun ett objekt på båndet
RESET
INITIALVERDIER
NEI
NEI
I1 ?
I3 ?
TELLER METALL
+1
O1=TRUE
O1=FALSE
VENT X SEK
VENT X SEK
JA
NEI
I2 ?
O2=FALSE
O3=TRUE
ALARM
NEI
TELLER PLASTIKK
+1
JA
I4 ?
PLASTIKK
JA
JA
METALL
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 2
O1=TRUE
O2=TRUE
O3=FALSE
TELLER METALL=0
TELLER PLASTIKK=0
Praktisk Øving: Sorteringsmaskin
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 3
n
Implementer flytskjemaet på PLS basert på
metodikken som er innført:
–
Steg 1: Transisjoner T
–
Steg 2: Funksjoner F
–
Steg 3: Utganger
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 4
Sorteringsmaskin: Tilstandsdiagram
n
Neste Oppgave: Implementer sorteringsmaskinen
som en tilstandsmaskin
n
Implementer tilstandsmaskinen på PLS basert på
metodikken som er innført:
–
Steg 1: Transisjoner T
–
Steg 2: Tilstander S
–
Steg 3: Utganger
Tilstandsmaskin: (Det kan lages andre løsninger)
RESET
Teller Plastikk=0
Teller Metall=-1
Metall
har passert
I1
Teller Metall +1
I2
I3
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 5
Metall
på båndet
Plastikk
på båndet
I1
I4
Plastikk
har passert
I3
Teller plastikk + 1
Etter x sek
Etter x sek
AlarmTilstand
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 6
Oppgave: Heis
n
En heis har tre etasjer
n
Utenfor heisen i hver etasje er det en «Hit» knapp
n
Inne i heisen er det en knapp for hver etasje (1-2-3)
n
Heisen bruker 5 sekunder for å bevege seg mellom
to etasjer
n
Hver etasje har en tilsvarende lampe som skal
tennes når heisen befinner seg i den etasjen.
n
Lag IO-liste og tegn flytskjema for heisen
n
Tegn tilstandsdiagram for heisen
n
Implementer en av løsningene på PLS
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 7
Eksempel: Pumpesystem for gruve
Eksempel: Pumpesystem for gruve
Funksjonsbeskrivelse:
Operatøren kan velge enten AUTO eller MANUELL ved hjelp av en bryter på
operatørpanelet.
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 8
MANUELL:
Når systemet er i manuell modus startes pumpe 1 og 2 av sine respektive trykkknapper. Når stopp-knappen trykkes inn, stoppes begge pumpene.
AUTO:
Når nivået er lavere enn B, skal begge pumpene de-aktiveres og duty-pumpen
skal byttes. Ved vann-nivå B skal kun duty-pumpen aktiveres. Ved vann-nivå
D skal pumpene stoppes og alarm-lampen tennes.
I Auto-modus skal det indikeres med en lampe hvilken pumpe som er duty.
Når nivået går fra B til A, skal det være 10 sekunder tidsforsinkelse før duty
pumpen stoppes. Dette for å hindre at nivået skal svitsje mellom A og B. Først
etter at duty pumpen er stoppet, skal duty byttes.
Flytskjema: Gruve
Modus Valg
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 2 9
Tr1
Tr1:
Tr2:
Tr3:
Tr4:
Tr2
Auto Modus
Manuell Modus
Tr3
Tr4
(MODUSVELGER = TRUE) AND (HOVEDBRYTER = TRUE)
(MODUSVELGER = FALSE) AND (HOVEDBRYTER = TRUE)
HOVEDBRYTER = FALSE
HOVEDBRYTER = FALSE
Auto
Modus
Sjekk
Tr3
Tr5
Nivå A
Del 1
Tr10
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 3 0
Nivå A Del 1:
(Ingen forandring)
Tr6
Nivå B
Tr12
Nivå A Del 2:
Alle lys og pumper av
Bytt duty pumpe
IF duty=0 THEN duty=1
ELSE duty=0
Tr7
Nivå C
Tr13
Tr8
Nivå D
Tr9
SensorFeil
Tr14
Nivå A
Del 2
Tr15
Nivå B:
IF duty=0 THEN
start pumpe 1
duty lys pumpe 1
ELSE
start pumpe 2
duty lys pumpe 2
END
Nivå C:
Start duty og standby pumpe
IF duty=0 THEN
duty lys pumpe 1
ELSE
duty lys pumpe 2
END
Tr11
Tr5:
Tr6:
Tr7:
Tr8:
Tr9:
(SENSOR1 = FALSE) AND (SENSOR2 = FALSE) AND (SENSOR3 = FALSE)
(SENSOR1 = TRUE) AND (SENSOR2 = FALSE) AND (SENSOR3 = FALSE)
(SENSOR1 = TRUE) AND (SENSOR2 = TRUE) AND (SENSOR3 = FALSE)
(SENSOR1 = TRUE) AND (SENSOR2 = TRUE) AND (SENSOR3 = TRUE)
((SENSOR1 = FALSE) AND (SENSOR2 = TRUE)) OR
((SENSOR1 = FALSE) AND (SENSOR3 = TRUE) OR
((SENSOR2 = FALSE) AND (SENSOR3 = TRUE))
Tr10: (Tid i Nivå-A-Del-1 > 10 sekunder)
Tr11: (SENSOR1 = TRUE)
Tr12: (SENSOR1 = FALSE) OR (SENSOR2 = TRUE)
Tr13: (SENSOR2 = FALSE) OR (SENSOR3 = TRUE)
Tr14: (SENSOR3 = FALSE) OR RESET
Tr15: TRUE
Nivå D:
Stopp pumper
Nødlys på
Alle andre lys av
En minne-variabel er
nødvendig for å lagre duty
pumpe
Manuell
Modus
Sjekk
Tr4
Tr15
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 3 1
Start
Pumpe 1
Tr16
Start
Pumpe 2
Tr17
Stopp
Pumpene
Tr15: (I1.3 = TRUE) AND NOT (I1.5 = FALSE)
Tr16: I1.4 = TRUE AND NOT (I1.5 = FALSE)
Tr17: I1.5 = TRUE
Denne løsningen gjør det mulig å starte begge pumpene samtidig,
samt man trenger ikke å holde knappene inne for at pumpene skal
virke.
Duty Swapping for Pumper
To Minnebit:
DutyPump (0 or 1)
DutySwapped (0 or 1)
MAS1 1 3 D ig it al Con t r ol, Se m e st e r 1 , 2 0 0 9 . Pag e : 3 2
Low Level
Logic: IF (Low) AND (DutySwapped=0) AND (DutyPump=0)
THEN (DutyPump=1) + (DutySwapped=1)
IF (Low) AND (DutySwapped=0) AND (DutyPump=1)
THEN (DutyPump=0) + (DutySwapped=1)
IF (Not Low) THEN DutySwapped=0
Illustrer dette med et flytskjema!!
Download