Den digitala automaten Vägen från digitaltekniken till det kompletta styrsystemet Lund University, Sweden Insignaler Sekvensnät Utsignaler Kan vi betrakta insignalmönstret som en instruktion och det som händer med utsignalerna som resultat? En dator måste kunna räkna! Register och bussanslutning A-ord B-ord ALU: MUX: ALU Resultat Arithmetic Logic Unit A n B n Multiplexer. Styrsignalerna väljer vilken ingång som kopplas till utgången & 1 =1 Styrsignaler Väljer operation MUX ld oe & & 1 D Q ld: lagra det som är på bussen oe: lägg ut värdet på bussen Buss-ledning 1
Nu sätter vi ihop delarna Databuss Så här kan det se ut i praktiken Temp Ackumulator Styrsignal Instruktion ALU Styrenhet n-register Vi bygger ett minne (1) Vi bygger ett minne (2) Adress (n-bitar) Avkodare 2 n celler Data ut Vektormodell avkodaren behöver lika många utgångar som det finns celler! y-adress (n/2 bitar) x-adress (n/2 bitar) yoe Minnescell xoe & Gemensam dataledning 2
Minnestyper Körbart system RAM Random Access Memory ROM Read Only Memory PROM Programmable ROM EPROM Eraseable PROM EEPROM Electrically EPROM EAPROM Electrically Alterable PROM Flash-ROM Varumärke för snabbt EAPROM (urspr.amd) OTP-PROM One Time Programmable SRAM Static RAM DRAM Dynamic RAM Ackumulator Minne Styrd räknare (PC) Temp Databuss ALU n-register Styrenhet Anslut yttre dataminne Till yttre minne Adressbuss Databuss Temp Ackumulator n-register Adress register Portar Anslutning av I/O Latch eller annan komponent med anslutning till omvärlden Data kan överföras till/från porten via databussen Memory Mapped I/O Portar läggs i minnesarean Separat I/O-adressarea Speciella instruktioner för IN/OUT och speciella styrledningar för portkretsar 3
Processortyper D/A-omvandlare CISC Complex Instruction Set Computer RISC Reduced Instruction Set Computer DSP Digital Signal Processor Enchipsprocessor / Microcontroller Minne och I/O ombord -U ref 2 0 R 2 1 R 2 2 R 2 3 R D C B A R/2 R R R R D C B A Uut U ref D C B A U ref 2 R 2 2R 2 4R 2 8R 2 4 8 16 - + U ut Multiplicerande R-2R D/A-omvandlare A/D-omvandlare med dubbel ramp (Dual slope) -U ref R u d R u c R u b R u a R 2R 2R 2R 2R R D C B A 2R - + U ut -V ref V in - + - + Klocka Styrlogik Styrd U/D-räknare 4
Successiv approximations A/Domvandlaren V DA Styrsystemval (1) 111 110 101 100 011 010 001 000 xxx 1xx 10x 101 Okänd nivå Microcontroller Volymapplikationer med hårda krav på pris/enhet och formfaktor. PC med I/O-enheter ev. GPIB, LabView Labautomation. Flexibel konfig. Låga miljötålighetskrav. Hög kostnad/enhet OK. Styrsystemval (2) PLC-språk enligt IEC 61131-3 Rackbaserade styrdatorsystem (Compact PCI, VME, PC104) Applikationer som kräver programmering i språk av typen C, C++, java etc PLC (Programmable Logic Controller) Största delen av industriautomationen. Enkel programmering. Miljötåligt. Instruktionslista (IL) Ladder (LD) Funktionsblock (FB) Sequential Function Chart (SFC) GRAFCET Strukturerad Text (ST) 5
Traditionell Automation med reläer (kontaktor = kraft-relä) Logik med reläer A B Y1 C Y2 D + 24V GND Y1 = A B Y2= C+D 6 S-R-krets i relälogik (självhållning) S R Y Y Tillståndskodning i relälogik (ladder-program) x y A B C A x C B B
Flera alternativa utgångar Alternativa ingångar x y A B C z A x C D B B D x1 y A1 B C A2 A1 x1 C B A2 x2 B x2 Elradiatorproblemet i PLC-version PLC-uppgift borrmaskin En värmeradiator enligt nedanstående figur skall manövreras med en tryckknapp. Genom att trycka på knappen upprepade gånger skall man kunna ställa in 0, 500, 1000 och 1500 Watt i sekvens. Vid uppstart skall radiatorn ge 0 Watt. Gör ett ladder-program som styr radiatorn. I en automatisk borrmaskin skall en borrning utföras varje gång signalen KÖR kommer. En borrning sker genom att signalen SNURR förbli sann medan signalen NER aktiveras. När borret kommit tillräckligt djupt skapas en signal NERE. Därefter skall borret lyftas med signalen UPP. Då borret är uppe kommer signalen UPPE. Nu kan SNURR stängas av och signalen KLAR bli sann. Ny körning får inte starta förrän signalen KÖR varit falsk. Rita tillståndsdiagram och ladder-automat för att styra borrmaskinen. 7
PLC-uppgift: sköljning av tank En hydrofortank nivåregleras med två flottörer. En övre flottör (H) som sluter sin kontakt då tanken fyllts och en undre flottör (L) som bryter sin kontakt då tanken är nästan tom. (Även inverser tillgängliga.) En pump (PUMP) skall användas för att hålla nivån mellan flottörerna. En knapp (K) skall kunna starta en sköljning av tanken där man utnyttjar ett breddavlopp och låter nivån gå över flottören (H). Pumpningen skall pågå under den inställda tiden (Tr). Gör en konstruktion med ett ladderprogram som styr systemet. Knapptryckningen kan förutsättas vara mycket kortare än (Tr). Timerblock av typen TON (tillslagsfördröjning) finns tillgängliga med ingången I och utgången Q. PUMP H L 8