Flowcharts and State-Machines. IEC Ladder Logic Statement Lists Function Block Diagrams. G. Hovland /10

Like dokumenter
Løsningsforslag til slutteksamen i SESM3401 Styring av mekatroniske systemer

Neural Network. Sensors Sorter

UNIVERSITETET I OSLO

Python: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre

Tilstandsmaskiner (FSM) Kapittel 5

SIE 4005, 8/10 (3. Forelesn.)

Digitalstyring sammendrag

Institutt for biovitenskap

Unit Relational Algebra 1 1. Relational Algebra 1. Unit 3.3

Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening.

Løsningsforslag INF1400 H04

Bruk av interrupt og Timer i Arduino-program.

MAT1030 Plenumsregning 3

Øvingsforelesning 5 Python (TDT4110)

SVM and Complementary Slackness

CLS. DMX16 16 kanals DMX Lys mikser. Bruksanvisning 2001 V1.0 Laget i Norge av Compact Light System AS office@cls.no

Øvingsforelesning 5 Python (TDT4110)

FYSMEK1110 Eksamensverksted 23. Mai :15-18:00 Oppgave 1 (maks. 45 minutt)

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Dynamic Programming Longest Common Subsequence. Class 27

Slope-Intercept Formula

UNIVERSITETET I OSLO ØKONOMISK INSTITUTT

MAT1030 Diskret Matematikk

IN1020. Sekvensiell Logikk

MAT1030 Diskret matematikk

Bruksanvisning - hovedpunkter Floalarm K 4

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Safety a t t h e f A c t o r y

5 E Lesson: Solving Monohybrid Punnett Squares with Coding

SAS FANS NYTT & NYTTIG FRA VERKTØYKASSA TIL SAS 4. MARS 2014, MIKKEL SØRHEIM

MAT1030 Plenumsregning 1

EN Skriving for kommunikasjon og tenkning

Exercise 1: Phase Splitter DC Operation

KROPPEN LEDER STRØM. Sett en finger på hvert av kontaktpunktene på modellen. Da får du et lydsignal.

Enkel og effektiv brukertesting. Ida Aalen LOAD september 2017

Vera-W15. WiFi Termostat Kontakt. Bruksanvisning. Manual version 1.0

HONSEL process monitoring

TDT4110 IT Grunnkurs Høst 2012

Prototyping med Arduino del 3

MAT1030 Diskret Matematikk

Oversikt over SMS kommandoer for Holars 2020G

PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ

Du må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.

Evaluating Call-by-need on the Control Stack

Data Sheet for Joysticks

Hjemmeeksamen 2 i INF3110/4110

MAT1030 Diskret matematikk

Medisinsk statistikk, KLH3004 Dmf, NTNU Styrke- og utvalgsberegning

BMXART0814 ( ) M340 8 inn ana TC/RTD, 2*FCN

MAT1030 Diskret matematikk

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

INF Logikk og analysemetoder Forslag til løsning på oppgave fra læreboken

INF3430/4431. Introduksjon til VHDL Spartan starterkit Spartan-3 FPGA

Løsning til skriftlig eksamen i emnet SESM3401 Styring av mekatroniske systemer

REMOVE CONTENTS FROM BOX. VERIFY ALL PARTS ARE PRESENT READ INSTRUCTIONS CAREFULLY BEFORE STARTING INSTALLATION

Data Sheet for Joysticks

Compello Fakturagodkjenning Versjon 10 Software as a service. Tilgang til ny modulen Regnskapsføring

Skrevet av: Oversatt fra microbit-micropython.readthedocs.io (

Invitation to Tender FSP FLO-IKT /2013/001 MILS OS

Compello Fakturagodkjenning Versjon 10.5 As a Service. Tilgang til Compello Desktop - Regnskapsføring og Dokument import

Data Sheet for Joysticks

Monteringsveiledning

Hangman. Level. Introduksjon

Databases 1. Extended Relational Algebra

Norsk (English below): Guide til anbefalt måte å printe gjennom plotter (Akropolis)

Hvordan føre reiseregninger i Unit4 Business World Forfatter:

IN uke 1. Komme i gang med programmering

E K S A M E N FAKULTET FOR TEKNOLGI OG REALFAG. Emnekode: ELE217 Emnenavn: Mikrokontrollere og styresystemer.

Gradient. Masahiro Yamamoto. last update on February 29, 2012 (1) (2) (3) (4) (5)

Case 9:12-cv DMM Document 4-5 Entered on FLSD Docket 12/06/2012 Page 1 of 62

Vera-W15. WiFi Termostat Kontakt. Bruksanvisning. Manual version 1.1

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Endelig ikke-røyker for Kvinner! (Norwegian Edition)

Kapittel 5 Tilstandsmaskin

UNIVERSITETET I OSLO

Gir vi de resterende 2 oppgavene til én prosess vil alle sitte å vente på de to potensielt tidskrevende prosessene.

PSi Apollo. Technical Presentation

IN2010: Algoritmer og Datastrukturer Series 2

Forelesning 7. Tilstandsmaskin

ASU Monitor inng.: 0= frakoblet, 1= kontakt, 2= temperatur, 3= kont. + temp. 3.

Andrew Gendreau, Olga Rosenbaum, Anthony Taylor, Kenneth Wong, Karl Dusen

Høgskolen i Østfold Avdeling for informasjonsteknologi. Programmering av PLS-styrt Modellandsby ved hjelp av Phoenix Profinet / PCWorX

EMPIC MEDICAL. Etterutdanningskurs flyleger 21. april Lars (Lasse) Holm Prosjektleder Telefon: E-post:

Maple Basics. K. Cooper

TDT4110 IT Grunnkurs Høst 2015

UNIVERSITETET I OSLO

WORKSHOP BRUK AV SENSORTEKNOLOGI

Øystein Haugen, Professor, Computer Science MASTER THESES Professor Øystein Haugen, room D

Energy Light ENERGY REGULATOR NORSK INNHOLDSFORTEGNELSE:

Data Sheet for Joysticks

1. Explain the language model, what are the weaknesses and strengths of this model?

ELSEMA 1, 2, 4-Channel 27MHz Transmitter FMT312E, FMT31202E, FMT31204E

Brukerkrav og use case diagrammer og -tekst 19. januar Agenda. Brukerkrav og use case. Diagrammer Tekst.

(12) Translation of european patent specification

INF3340/4340. Synkrone design Tilstandsmaskiner

Høgskoleni østfold EKSAMEN. Oppgavesettet består av 8 sider inklusiv denne forsiden og vedlegg.

LSCs Live Sequence Charts

TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk Utgave 3: Kap. 3

EKSAMEN. Oppgave 1. (26%)

Transkript:

MAS113 Digital Control Day 2 Flowcharts and State-Machines MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 IEC 61131-3 Ladder Logic Statement Lists Function Block Diagrams G. Hovland - 2009/10

IEC 61131-3 n The IEC 61131-3 standard defines four PLC languages MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 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?

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 MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 3 n PXXXX-DS021 Functional Description n PXXXX-DS024 Program Description n PXXXX-DS025 Definition of Variables

Example Flow Chart MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 4

Ladder Logic for the Transitions (First Scan, OB100) MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 5

Ladder Logic Functions MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 6

Ladder Logic Functions and Outputs MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 7

Pedestrian Crossing: Exercise 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 MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 8

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. MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 9

Pedestrian Crossing Example: State-Machine Inputs: S1, S2 (walk button) Outputs: L1, L2,, L6 (2 sets of red, yellow, green lights) MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 0 Green NS ST1 Yellow NS ST2 Green EW ST3 Yellow EW - ST4 4 seconds delay from yellow to green

MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 1 Pedestrian Crossing: State-Machine 1. Obtain the states 2. Draw the state transition diagram 3. Derive state equations and transient equations 4. Convert to ladder logic ST3 Transients: T1,T2,T3,T4,T5 e.g. T1: transient from ST1 to ST2 ST2 Delay 4 s T2 System State: L1,L2,.., L6 State description: ST1,ST2,ST3,ST4 and First Scan: FS T1 S1 pressed ST1 FS T5 S2 Pressed T3 ST4 T4 Delay 4 s

Pedestrian Crossing: State-Machine Inputs: S1, S2 (walk button) Outputs: L1, L2,, L6 Delay 4 s T2 ST3 S2 Pressed T3 3. Derive state equations and transient equations ST2 T1 S1 pressed ST1 FS T5 ST4 T4 Delay 4 s MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 2

Convert to Ladder Logic MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 3

State Equations MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 4

Outputs MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 5

Alternative Implementation with SR Block Equivalent T4 S Q ST1 T5 T1 R MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 6

Statement List: Example 1 Equivalent A( O ST1 O T4 O T5 ) AN T1 = ST1 MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 7

Functional Block Diagram Equivalent ST1 >=1 T4 >=1 T5 T1 & ST1 MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 8

Oppgave: Sorteringsmaskin MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 9

Oppgave: Sorteringsmaskin MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 0

Sorteringsmaskin: IO Liste Lag en IO-liste og tegn flytskjema for systemet MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 1 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 O1=TRUE O2=TRUE O3=FALSE TELLER METALL=0 TELLER PLASTIKK=0 INITIALVERDIER MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 2 METALL NEI TELLER METALL +1 JA I1? JA O1=TRUE VENT X SEK I2? I3? NEI O2=FALSE NEI JA I4? O3=TRUE ALARM JA O1=FALSE VENT X SEK NEI TELLER PLASTIKK +1 PLASTIKK

Praktisk Øving: Sorteringsmaskin 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 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 3

Sorteringsmaskin: Tilstandsdiagram n Neste Oppgave: Implementer sorteringsmaskinen som en tilstandsmaskin n Implementer tilstandsmaskinen på PLS basert på metodikken som er innført: MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 4 Steg 1: Transisjoner T Steg 2: Tilstander S Steg 3: Utganger

Tilstandsmaskin: (Det kan lages andre løsninger) Teller Plastikk=0 Teller Metall=-1 RESET I1 I2 Metall har passert Teller Metall +1 I3 Metall på båndet Plastikk på båndet MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 5 Etter x sek I1 Plastikk har passert Teller plastikk + 1 Alarm- Tilstand I4 I3 Etter x sek

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) MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 6 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

Eksempel: Pumpesystem for gruve MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 7

Eksempel: Pumpesystem for gruve Funksjonsbeskrivelse: Operatøren kan velge enten AUTO eller MANUELL ved hjelp av en bryter på operatørpanelet. 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. MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 8 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 Tr1 Tr2 MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 2 9 Auto Modus Tr3 Tr1: (MODUSVELGER = TRUE) AND (HOVEDBRYTER = TRUE) Tr2: (MODUSVELGER = FALSE) AND (HOVEDBRYTER = TRUE) Tr3: HOVEDBRYTER = FALSE Tr4: HOVEDBRYTER = FALSE Manuell Modus Tr4

MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 3 0 Sjekk Tr3 Nivå A Del 1 Nivå A Del 2 Auto Modus Tr5 Tr6 Tr7 Tr8 Tr9 Tr10 Tr11 Nivå B Nivå C Nivå D Sensor- Feil Tr12 Tr13 Tr14 Tr15 Tr5: (SENSOR1 = FALSE) AND (SENSOR2 = FALSE) AND (SENSOR3 = FALSE) Tr6: (SENSOR1 = TRUE) AND (SENSOR2 = FALSE) AND (SENSOR3 = FALSE) Tr7: (SENSOR1 = TRUE) AND (SENSOR2 = TRUE) AND (SENSOR3 = FALSE) Tr8: (SENSOR1 = TRUE) AND (SENSOR2 = TRUE) AND (SENSOR3 = TRUE) Tr9: ((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å A Del 1: (Ingen forandring) Nivå A Del 2: Alle lys og pumper av Bytt duty pumpe IF duty=0 THEN duty=1 ELSE duty=0 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 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 Tr16 Tr17 Start Pumpe 1 Start Pumpe 2 Stopp Pumpene MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 3 1 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) Low Level MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 3 2 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!!