26.09.2013 Views

Forelesningsnotat 1 fra UiA

Forelesningsnotat 1 fra UiA

Forelesningsnotat 1 fra UiA

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

MAS 113 – Digital Styring<br />

Boolsk algebra<br />

for åbeskrive funksjoner i digitale kretser Tre grunnleggende funksjoner : AND, OR og NOT Andre funksjoner som NAND, NOR, XOR og XNOR avledes <strong>fra</strong> AND, OR og Brukes<br />

En Boolsk funksjon kan beskrives enten vha. •Funksjonsuttrykk eller NOT<br />

•Sannhetstabell<br />

funksjoner er ekvivalente hvis de for alle input kombinasjoner gir samme output<br />

To


Boolsk algebra<br />

boolsk operasjon kan kun ha to mulige utfall : 1(på) eller 0(av) -Nedenfor vises eksempler påulike inngangskombinasjoner for en ”or/eller”krets. Legg spesielt merke til at ”1+1=1” -En<br />

Boolsk algebra<br />

vises eksempler påulike inngangskombinasjoner for en ”and/og”krets. -Nedenfor<br />

for AND/OG A B F = A * B Sannhetstabell<br />

0 0 0 1 0 1 0 0 1 1 1<br />

0


kretser bygges ofte med logiske porter -Logiske porter er ogsåen grafisk fremstilling av en boolsk operasjon -Digitale<br />

høyre en oversikt over logiske porter med tilhørende sannhetstabell. -For åangi komplementet til en boolsk variabel, tegnes enten en strek over -Til<br />

eller ved åsette en appostrof etter den. variabelen,<br />

det motsatte av dens verdi. F.eks hvis variabelen “A”har verdien 0, da har komplementet til “A”verdien 1. A=0 A’=1 komplement:<br />

Boolske regneregler : + A’= 1 A * A’= 0 A<br />

Boolsk algebra<br />

Boolsk algebra<br />

+ A = A A * A = A A + 0 = A A * 0 = 0 A + 1 = 1 A * 1 = A (A’)’= A (Dobbel negasjon) A<br />

+ B = B + A AB = BA (Kommutativ) A + (B + C) = (A + B) + C A(BC)=(AB)C (Assosiativ) A ( B + C ) = AB + AC A + BC = (A + B)(A + C) (Distributiv) A + A’B = A + B A<br />

+ B)’= A’B’ (AB)’= A’+ B’ (A+B)’= A’B’ De Morgan’s (A*B)’= A’+ B’ De Morgan’s<br />

(A


Boolsk algebra Morgan’s teorem : (A*B)’= A’+B^ (A+B)’= A’B’ De<br />

AB(A*B)’A’+B’ 00 1 1 01 0 0 Sannhetstabell<br />

0 0 11 0 0 10<br />

Boolsk algebra elektronisk terning skal konstrueres av 7 -En<br />

i et mønster som vist i figur 1, og et dekodingsnettverk, som skal styre terningmønsteret. L1 = L7, skal lyse for tallene 4,5 og 6 L2 = L6, skal lyse for tallet 6 L3 = L5, skal lyse for tallene 2,3,4,5 og 6 lysdioder<br />

skal lyse for tallene 1,3 og 5 Sannhetstabell for elektronisk terning A B C L1/L7L2/L6L3/L5 L4 0 0 0 0 0 0 0 1 L4<br />

0 0 1 0 0 1 0 2 0 1 0 0 0 1 1 1<br />

0 1 1 1 0 1 0 4 1 0 0 1 0 1 1 5 1 0 1 1 1 1 0 6 1 1 0 X X X X 3<br />

1 1 1 X X X X<br />

7


Boolsk algebra<br />

• Finner av sannhetstabellen uttrykk for L1, L2,<br />

L3 og L4<br />

L1 = A’BC + AB’C’ + AB’C<br />

L2 = AB’C<br />

L3 = (A’B’C’)’<br />

L4 = A’B’C’ + AB’C’ + A’BC’<br />

… og det neste man må gjøre er å forenkle<br />

uttrykkene..<br />

Boolsk algebra<br />

med L1 L1 = A’BC + AB’C’+ AB’C = AB’(C’+ C) + A’BC = AB’+ A’BC + AB


Boolsk algebra<br />

Boolsk algebra ser vi oppbygningen av en NAND-krets, denne er byggesteinen i alle Nedenfor<br />

logiske kretser.<br />

=


Boolsk algebra<br />

Konstruksjon av logiske porter ved bruk av NAND !<br />

NOT : F = A’<br />

AND : F = AB = (AB)’’<br />

OR : F = A + B = (A + B)’’ = (A’B’)’<br />

NOR : F = (A + B)’ = A’B’ = (A’B’)’’<br />

XOR : F = A’B + AB’ = (A’B + AB’)’’ = ((A’B)’(AB’)’)’<br />

Boolsk algebra<br />

= NOT<br />

= AND<br />

= OR<br />

= NOR<br />

= XOR


Ekvivalente NAND kretser<br />

de “originale”portene med ekvialente NAND kretser, deretter forenkles systemet ved åslette “to-og to”påfølgende NOT porter (X), siden X’’= X.<br />

Boolsk algebra<br />

-Erstatter<br />

ved bruk av Karnaugh diagram !<br />

•Karnaugh diagram benyttes for åforenkle logiske uttrykk og fungerer for opptil seks variabler. For åkunne lage et Karnaugh diagram måvi ha en sannhetstabell.<br />

•Vi lager en tabell med en celle for hver mulige kombinasjon av uttrykket. Minimalisering<br />

tabellen måarrangeres slik at når vi beveger oss en celle horisontalt eller vertikalt såer det kun en verdi som endres.<br />

•Mintermene fylles såinn i cellene, og grupperes ved åsirkle inn grupper i rektangler på2^n elementer. (”Store grupper gir enklere uttrykk !”)<br />

•Innenfor rektanglene finner man de variabler som ikke endres Denne<br />

at det ikke er en kombinasjon av en variabel og dens komplement innenfor et og samme rektangel). Denne eller disse variablene danner da det forenklede uttrykket for den valgte gruppens elementer. (dvs.<br />

forenklede maxtermen er den boolske summen av alle slike rektanglers forenklede mintermer pluss de uttrykkene som står igjen alene •PUH!! …eksempler ??<br />

•Den


Boolsk algebra<br />

..prøver å benytte karnaugh diagram til å minimalisere<br />

uttrykkene for den elektronisk terningen.<br />

Sannhetstabell for elektronisk terning<br />

B C L1/L7L2/L6L3/L5L4 0 0 0 0 0 0 0 1 1 0 0 1 0 0 1 0 2 0 1 0 0 0 1 1 A<br />

0 1 1 1 0 1 0 4 1 0 0 1 0 1 1 5 1 0 1 1 1 1 0 6 1 1 0 X X X X 3<br />

1 1 1 X X X X<br />

Boolsk algebra<br />

7<br />

diagram for L1/L7 A’B’ A’B AB AB’ C’ X 1 C 1 X 1 Karnaug<br />

merket med X er ugyldige tilstander, og kan benyttes fritt for åøke størrelsen pågrupperingene…(NB ! Større grupper gir enklere uttrykk). .. den forenklede mintermen for den valgte gruppen blir bare A ettersom både B og B’ finnes i samme rektangel, samtidig som C og C’ogsåfinnes i samme rektangel.<br />

..cellene


Boolsk algebra<br />

diagram for L1/L7 A’B’ A’B AB AB’ C’ X 1 C 1 X 1 Karnaug<br />

såneste rektangel …uttrykket for denne blir BC ettersom A og A’finnes innenfor samme gruppering. ..den forenklede maxtermen for L1/L7 blir da summen av de forenklede mintermene. L1 blir dermed = A + BC…. ..finner<br />

Boolsk algebra<br />

diagram for L2/L6 A’B’ A’B AB AB’ C’ X C X 1 Karnaugh<br />

= AC Karnaugh diagram for L3/L5 A’B’ A’B AB AB’ L2<br />

0 1 X 1 C 1 1 X 1 C’<br />

blir det lettere åvelge cellene med ”0”, som gir L3’= A’B’C’ L3’er den inverterte av L3, sådermed vil L3 = (L3’)’-> L3 = (A’B’C’)’= A + B + C<br />

..her


Boolsk algebra<br />

diagram for L4 A’B’ A’B AB AB’ C’ 1 1 X 1 C X Karnaugh<br />

ser vi at vi kan forenkle uttrykket og ende opp med en minterm. L4 = C’ Her<br />

Boolsk algebra<br />

• Konstruksjon av binærteller, for elektronisk<br />

terningen. I motsetning til tidligere har en rekke<br />

systemer den egenskapen at de er avhengige av<br />

hvilke innsignalverdier systemet hadde på et<br />

tidligere tidspunkt, i tillegg til innsignalverdiene<br />

i øyeblikket… så hvordan kan vi få et system til å<br />

huske hva det har gjort tidligere ?


digital krets som er tilbakekoblet kalles en MULTIVIBRATOR. En meget enkel astabil MULTIVIBRATOR er en inverter med utgangen direkte tilbakekoblet til inngangen. Enhver<br />

Sekvens Logikk - Minne<br />

ser vi to NOR porter som er koplet sammen, slik at utgangsignalet <strong>fra</strong> den ene går inn som inngangsignal påden andre. Her<br />

fungerer slik.. La oss anta at inngangsignalet S = 1 og R = 0; Da vil utgangssignalet Q’bli 0 uavhengig av hva Q er. Kretsen<br />

igjen være innsignal sammen med signalet R, da begge vil være 0 vil Q bli 1. Dersom vi nålar S bli 0 Q’vil<br />

Q’fortsatt være 0 siden Q er 1. Derfor vil kretsen fortsett åhuske at S en gang har vært 1, og dette vil systemet huske inntil R blir 1 såvil<br />

Andre ’latcher’benytter SR-latchen som byggekloss. Forskjellen påen ’latch’og en SR-Latch<br />

at en ’flip flop’er flanke trigget, dvs. at transisjoner bare forekommer ved enten stigende eller synkende klokke flanker.<br />

’flip-flop’er


Sekvens Logikk – Minne -latch D<br />

D Q(t+1) 0 0 0 0 1 1 1 0 0 Q<br />

1 1 1<br />

Sekvens Logikk - Minne -latch<br />

T<br />

T Q(t+1) 0 0 0 0 1 1 1 0 1 Q<br />

1 0 1


Sekvens Logikk - Minne<br />

JK -latch<br />

J K Q(t+1) 0 0 0 0 0 0 1 0 0 1 0 1 Q<br />

1 1 1 1 0 0 1 1 0 1 0 1 1 0 1 0<br />

1 1 0 1<br />

Sekvens Logikk - Minne<br />

SR -latch<br />

S R Q(t+1) 0 0 0 0 0 0 1 0 0 1 0 1 Q<br />

1 1 Illegal 1 0 0 1 1 0 1 0 1 1 0 1 0<br />

1 1 Illegal 1


Sekvens Logikk - Minne<br />

X=0 X=1X=0X=1X=0X=1X=0 Q1Q0Q1+Q0+Q1+Q0+ T0+T0+SR0+SR0+JK0+JK0+ 0 0 0 1 0 0 1 0 1000 1x 0x X=1<br />

1 0 1 1 0 0 1 0001 x0 x1 1 0 1 1 1 0 1 0 1000 1x 0x 0<br />

1 1 1 0 0 0 1 0001 x0 x1<br />

Sekvens Logikk - Minne<br />

1<br />

Q0 realisert med fire ulike<br />

= Q0+ = X S0+ = XQ0' R0+ = X'Q0 J0+ = X T0+ = XQ0' typer latcher, alle kretsene gir eksakt samme respons.<br />

D0+ X'Q0 +<br />

X' = K0+


Synkron Sekvens Logikk<br />

Tilstands diagram for en tre-bits binær teller (Teller fom 0 tom 5 -> 6 tilstander)<br />

Synkron Sekvens Logikk<br />

tabell for en tre-bits binær teller…(0-5) Nåtilstand Neste tilstand Flip-flop Inputs Q2Q1Q0 Q2+Q1+Q0+ T2T1T0 A0 0 0B0 0 1 0 0 1 Tilstands<br />

0 1C 0 1 0 0 1 1 C0 1 0D0 1 1 0 0 1 D0 1 1E 1 0 0 1 1 1 E1 0 0F 1 0 1 0 0 1 B0<br />

0 1A0 0 0 1 0 1 1 1 0 X X X X X X F1<br />

1 1 1 X X X X X X


Synkron Sekvens Logikk Q2’Q1’ Q2’Q1 Q2 Q1 Q2 Q1’ T2<br />

0 X Q0 1 1 0 Q0’ 0<br />

Q2 Q1’ 0 X<br />

0 X 0 Q0 1 1 X 0 T1 T2 Q2’Q1’ = Q2’Q1 Q0 Q0’ (Q2 0 + Q2 Q1) Q1<br />

Q0’ 1 1 X 1 T1 = Q2’Q0 Q1’ Q2 Q1 Q2 Q2’Q1 Q2’Q1’ T0<br />

1 1 X 1 T0 = 1<br />

Synkron Sekvens Logikk<br />

Q0


Synkron Sekvens Logikk<br />

Relesymboler


Ekvivalente ladder-diagram kretser<br />

Sekvens Diagram<br />

-Et eksempel Ved ågi en kort startpuls skal<br />

plateemne spennes fast ved hjelp av sylinder C1. Deretter bøyes platen til en U-form ved hjelp av sylindrene C2 og C3. For åoperere sylindrene et<br />

trykkluft. Alle sylindrene er enkeltvirkende med returfjær. Det betyr at stempelet beveges ut når en setter påtrykk og står ute inntil brukes<br />

fjernes. Da vil returfjæren drive stempelet tilbake til inntrukket posisjon. Det finnes trykk<br />

(betegnet a –f) som viser når stemplene er i h.h.v. fremre og bakre posisjon.<br />

givere


Sekvens Diagram<br />

-Et eksempel<br />

først et diagram med alle sensorene ( a -> f ), og aktuatorene (C1 -> C3). 2.Begynner med åbeskrive sensorenes tilstand før oppstart av systemet. Dvs. at 1.Tegner<br />

stemplene er i tilbaketrukket tilstand, og at sensorene a,c og e er ”på”. 3.Tenker oss såhva systemet skal begynne med ågjøre. I vårt tilfelle ønsker vi at stempelet C1 kjøres ut, og fastspenner alle<br />

For åutføre denne oppgaven måvi slåpåaktuatoren C1. Neste tilstand(2) for sensorene beskriver såhva som skjer etter emnet.<br />

vi har satt trykk påC1. 4.Sensorenes innstillinger er avgjørende for hvilken handlinger vi vil foreta oss, og våre handlinger resulterer i endringer på sensorene. Vi har dermed en at<br />

mellom aktuatorene og sensorene. vekselvirkning<br />

at vi har beskrevet hele systemets sekvens, måvi finne åskille tilstander som er tvetydige, dvs. at kombinasjoner av sensor signaler som er like for ulike tilstander, måskilles <strong>fra</strong> hverandre. -Etter<br />

som hjelp til åskille disse tilstanden, innfører vi hjelpe variabler (tilstands minner). I figuren til høyre, er like tilstander markert Og<br />

like farger. med<br />

Sekvens Diagram eksempel<br />

-Et


har vi innført to hjelpe variabler (minner) som hjelper oss og skille tvetydige tilstander. -Eksempelvis skilles tilstand 4 og 6 ved at -Her<br />

4 ikke har minne, mens derimot tilstand 6 har. -Hjelpe variablene plasseres slik at de skiller de tvetydige tilstandene, og måalltid tilstand<br />

og resettes av entydige tilstander. Minne H1 settes i tilstand 1, denne er unik ettersom det bare er i denne tilstanden at settes,<br />

Sekvens Diagram<br />

-Et eksempel<br />

har påsensor og minne H1 resettes i tilstand 9, som ogsåer unik siden dette er eneste tilstanden at vi har signal på sensor ”f”. I dette eksempelet har vi vært nødt til åta i bruk to minner, for åskille vi signal ”a”, -Minne H1 skiller tilstandene : -”4”<strong>fra</strong> ”6” -”7”<strong>fra</strong> ”3”og ”11” -”8”<strong>fra</strong> ”9”. -Minne H2 skiller tilstandene :<br />

Sekvens Diagram<br />

-”2”<strong>fra</strong> ”12” -”3”<strong>fra</strong> ”11” mellom alle tvetydighetene.<br />

eksempel -Et<br />

sekvens diagrammet inneholder mer enn 6 innganger, inklusiv hjelpe minner, er det svært vanskelig åminimalisere uttrykket ved hjelp av karnaugh-diagram. -Dersom<br />

blir derfor ofte litt i overkant lange..…men vi prøver allikevel ågjøre dem minst mulig ved åstudere sekvens diagrammet.<br />

-Uttrykkene


Strukturert Programmering<br />

hvert program, uansett omfang og kompleksitet, kan i prinsippet bygges opp ved hjelp bare to ulike typer ”byggeklosser”, såkalte primitiver. Et tilstrekkelig antall av disse kan settes sammen pået utall ulike måter for årealisere ønskede programstrukturer. I strukturert programmering begrenser man segtil bare åbruke et fåtall standardstrukturer åbygge opp programmene med. -Et<br />

standardstruktur utgjør en programblokk, og det viktigste særtrekk er : Den har bare en inngang og en utgang. -Alle program kan bygges opp av slike blokker. En blokk kan ofte inneholde andre blokker, og kan selv være innhold i en utenforliggende blokk. En får altsået hierarki -En<br />

”blokker inni blokker”, hvor alle blokker har den felles egenskap som definert ovenfor. av<br />

Strukturert Programmering<br />

- standardstrukturer<br />

sekvens -Velg en eller ingen -While løkke -Enkel<br />

en av to -Do…while<br />

-Velg


Flytskjema<br />

-Et eksempel<br />

Ladder Diagram<br />

-Et eksempel


System-Metode koblinger<br />

systemer som er avhengig av tidligere tilstander Statiske sekvenssystemer -Systemer som er avhengig av tidligere innsignaler, men som alltid følger samme sekvens. Dynamiske sekvenssystemer -Sekvenssystemer som endre sekvens påbakgrunn av innsignalene Kombinatoriske -Systemer ikke<br />

algebra Karnaugh diagram Sannhets tabeller Boolsk algebra Karnaugh diagram Boolsk algebra<br />

Sekvens diagram Karnaugh diagram Tilstand diagram Tilstand tabell Sannhets tabeller<br />

Flytskjema Boolsk<br />

porter Logiske<br />

Analog – Digital omformer<br />

enkle systemer Store og komplekse systemer Ladder diagram Småog<br />

”flash”AD-omformer<br />

viser en "flash" AD-omformer. Den består av ei komparatorrekke og en 8 til 3 koder. Når Vinøker, vil utgangene påkomparatorene etterhvert gålave. For hver ny komparator som går lav, vil det digitale tallet A0, A1, A2telle Kretsen<br />

<strong>fra</strong> 000 til 111. Denne type AD-omformer er den raskeste som finnes, fordi det bare er tidsforsinkelsen i halvlederene som setter grenser. Hastigheter opp til 300 MSPS (megasamples per second) er mulig. oppover<br />

finnes integrerte kretser som inneholder komplette "flash"-omformere.<br />

Det


Analog – Digital omformer<br />

Puls-kode-modulasjon, PCM<br />

PCM PCM gjør analoge signaler om til digitale. Et analogt signal er kontinuerlig med uendelig mange nivåer, mens et digitalt signal har et endelig antall nivåer som går i sprang. Puls-kode-modulasjon,<br />

et PCM-system blir signalamplituden målt ved bestemte tidspunkt og tilordnet en bestemt digital verdi. Det vil si at uendelig antall nivåer omgjøres til et endelig antall nivåer (eller tall). Dette tilsier at vi innfører en feil. Feilen bli I<br />

når antall digitale verdier er størst. Målingen av det analoge signalet kaller vi minst<br />

sampling eller punktprøving.<br />

Analog – Digital omformer<br />

Puls-kode-modulasjon, PCM<br />

analogt signal samples (måles) ved tidspunktene t1, t2, t3, t4, t5, osv. Avstanden mellom hver sampling er D t.1/D t = fs= samplingsfrekvensen I eksemplet ovenfor får vi tallene: 101111110101000010osv. For signalet ovenfor er amplitudeområdet delt i åtte, dvs. vi trenger tre bit for ågjengi Et<br />

område med et binært tall. Dette vil være en tre-bit koding. Ved åøke antall bit, øker vi antall digitale tall og dermed kvaliteten. I eksemplet ovenfor er det binære tallet delt i to funksjoner. De lavest signifikante bitene er et mål for amplitudeverdien, mens den mest signifikante biten står for signalets polaritet. I dette tilfellet er "0" minus og "1" er pluss. hvert<br />

åkunne foreta riktige amplitudemålinger i et praktisk system, måvi kvantisere signalet (se fig. nedenfor) før vi gjør signalet om til digitale tall. Hver sampling tar tid slik at det er nødvendig åholdeet signalnivåsålenge signalet måles. Hver sampling For<br />

har til rådighet tida D t.


Analog – Digital omformer<br />

Puls-kode-modulasjon, PCM<br />

er en kvantisering av signalet. Hvert "trappenivå" kaller vi et kvantiseringsnivå.<br />

Analog – Digital omformer<br />

-Trappetrinnskurven<br />

Puls-kode-modulasjon, PCM<br />

sendes inn påen sample-and-hold krets (SH) som styres av et firkantsignal vsmed frekvens fs. Dette signalet bestemmer tida mellom hver sampling. Påutgangen av SH har vi et kvantisert signal (trappetrinn-signal). En analog-til-digital omformer (ADC) gjør det kvantiserte signalet om til digitale tall. Den koder med et bestemt antall bit, f.eks. 8 eller 16 bit.For åkunne skille mellom positivt og negativt signal, måsignalet samples minst 2 ganger Signalet<br />

periode. Det vil si at følgende sammenheng måvære oppfylt: fs> 2 fm(max), der fm(max) er høyeste frekvens i signalet som skal digitaliseres. I et PCM-system vil informasjonen være digitale tall i form av f.eks. spenningspulser. Selv om pulsene blir påvirket av støy, vil dette ikke påvirke informasjonen sålenge det digitale tallet kan gjenkjennes. I midlertidig vil det ved digitaliseringen innføres støy. Denne støyen kalles pr.<br />

og skyldes feil når vi koder fordi et digitalt tall ikke tilsvarer nøyaktig den analoge verdien. Støyen oppgis som et signal-støy-forhold SNRog kan uttrykkes teoretisk som: S/N = 1,76 + n ·6 dB + 10 log (fs/2fm) der n er antall bit i PCM-systemet.<br />

kvantiseringsstøy


Analog – Digital omformer<br />

Kvantiseringsstøy - tilnærmet beregning at kvantiseringsnivåene har avstand a. Den største Anta<br />

det er mulig ågjøre, er a/2 (a/2 påhver side av f.eks. verdien 2a, vil bli representert med samme binære tall) En feilmåling gir ved dekoding, et uriktig signal. Dette kaller vi kvantiseringsstøy. Største feilmålte verdi feilmålingen<br />

være største amplitude påstøynivået, som er a/2. Vi kan si at uansett signalnivå, vil maksimum støynivåvære a/2. Dersom et system har 1 bit koding, vil maksimum signalamplitude være a. vil<br />

gir: S/N = 20 log [a / (a/2)] = 20 log 2 = 6 dB. To bit gir maksimum amplitudeverdi 2a. Dette gir S/N = 20 log [2a / (a/2)] = 20 log 4 = 12 dB Tre bit gir maksimum amplitudeverdi 4a. Dette gir S/N = 20 log [4a / (a/2)] = 20 log 8 = 18 dB Dette<br />

ser pågrunnlag av beregningene ovenfor at: S/N = N·6 dB, der N = antall bit (dette er en tilnærmelse, men som er god nok til praktiske formål)<br />

Analog – Digital omformer<br />

Nødvendig samplingsfrekvens<br />

Vi<br />

tidsintervaller påDt samples signalet. Dette gir en samplingsfrekvens fs= 1/Dt Samplingsteoremet : fs > 2·fsignal fsignaler den høyeste frekvensen i signalet som digitaliseres. Båndbredden til systemet er B = fsignal. Med<br />

som B utgjør, kaller vi basisbåndet.<br />

Frekvensbåndet


Strukturert Programmering<br />

- standardstrukturer<br />

etter IEC1131 standarden. IEC1131 definerer både den fysiske strukturen av en PLS og programmeringsformatene. Begge deler defineres sågenerelt at de mest komplekse styringsoppgaver skal kunne dekkes. Derved blir ogsåstandarden såkompleks at bare deler som har betydning for logiske styringsoppgaver blir tatt med i dette kurset. PLS<br />

størrelsesprefiks. I –Innsignal B –Byte (8-bit) Q –Utsignal W –Word (16-bit) M –Hukommelse D –Double Word (32-bit) Posisjons-og<br />

datatypene er av typen heltall. Dersom vi ønsker åoperere med flyttall (desimal tall), måvi konvertere til datatypen ”real”. Det er derfor vanligvis god praksis å -Disse<br />

PLS Posisjons- og størrelsesprefiks<br />

heltall til ”real”for åutføre matematiske operasjoner, for deretter og konvertere tilbake til heltall etter operasjonen er utført. konvertere<br />

Mnemonics Description Data Type Address Range I 0.0, Q 0.0 M0.0 Bit BOOL 0 to 65535.7 IB 1, QB 1, MB 1 Byte (8-bit) BYTE, CHAR 0 to 65535 English<br />

1, QW 1, MB 1Word (16-bit)WORD, INT, S5TIME, DATE 0 to 65534 ID 1, QD 1, MD 1Double Word (32-bit) DWORD, DINT, REAL, TOD, TIME0 to 65532<br />

IW


AD-omforming siemens S7-313 er det innebygd en 16-bits AD-omformer. I<br />

kan kobles opp påulike måter for åmåle strøm, spenning og motstand. 0..20 mA-> 0..26478 100% 0...5 Volt -> 0..26478 100% AD-omformeren<br />

Volt -> 0..26478 100% 0...400 Ohm -> 0..26478 100% Som vi ser kan AD-omformerens måleområdet konfigureres til både 0-5 V, og 0-10 V. 0...10<br />

oss anta at vi har konfigurert AD-omformeren til åmåle signaler mellom 0-5 V, og at vi har et signal på2 V. Denne La<br />

vil da gis oss en verdi <strong>fra</strong> AD-omformeren inn til PLS’en på27648*2/5 -> 11059. Denne verdien er noe feil ettersom vi egentlig burde hatt 11059.2 men dette skyldes kvantifiserings støy som nevnt tidligere. Maksimal kvantifiserings feil vil for da være på5/27648 dvs 0.09mV.<br />

AD-omforming<br />

spenningen<br />

oss si at vi har en vekt som gir oss et 0 –10 V signal, når vekten La<br />

mellom 100 –1000 kg. For åomgjøre verdien <strong>fra</strong> ADomformeren til kg i PLS’en måvi gjøre følgende beregning. Y = ( X / 27648 ) * 900 + 100 varierer<br />

praksis måvi da først lese den analoge verdien (16-bits heltall), Konvertere denne verdien <strong>fra</strong> et 16-bits heltall til et 32-bits heltall. Deretter konvertere <strong>fra</strong> 32-bits heltall til 32-bits flyttall (for matematiske beregninger), måsådele flyttallet på27648, for såå gange med måleområde 900 (1000-100 kg) , og deretter legge til I<br />

på100 (initiell måle verdi for vekten). Program for vekten i programmerings språket STL : L PIW 752// AIN 0-10V -> 0-27468 L 1.000e+2// offset<br />

// 16-bit INT -> 32-bit INT +R // Add with real number 100 DTR // 32-bit INR -> 32-bir REALT MD10 // Normalized real value 100-1000 L 2.7468e+4// // in Memory adress 10-14 (32-bit) /R // Division with real number 27648 L 9.000e+2// *R // Multiply with real number 900 (1000-100)<br />

ITD


sekvens en ingen -While løkke -Enkel MX.X -Velg MX.X eller<br />

to -Do…while MX.XMX.X-Velg<br />

av en<br />

MX.X

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!