Getalformaten, timers en tellers



Vergelijkbare documenten
9 Tijdsfuncties. 9.1 Voorstelling tijden

PLC Automatisering. Nico Bartholomevis KHLim dep IWT

Indirecte adressering

Hfdst. 2: COMBINATORISCH PROGRAMMEREN

Registers & Adressering. F. Rubben, ing

Hfdst. 2: COMBINATORISCHE LOGICA

Logische bit-instructies

Gegevensopslag in databouwstenen

Conversies, vergelijkingen, logische, reken- en schuifbewerkingen

Talstelsels en getalnotaties (oplmodel)

Deel 2 S7 Graph Ont4 - GA3

Hoofdstuk 6: Digitale signalen

Proeftentamen in1211 Computersystemen I (Opm: de onderstreepte opgaven zijn geschikt voor de tussentoets)

7,6. Samenvatting door A woorden 12 april keer beoordeeld. Natuurkunde. Natuurkunde Systemen. Systemen

Tentamen Computersystemen

scc = b) CD AB

ANALYSE ANALYSE. 1 Probleemstelling. Monday 28 September Gunter Schillebeeckx. 1 Probleemstelling 2 Gegeven 3 Gevraagd Samenvatting Oefeningen

Proeftentamen in1211 Computersystemen I (NB de onderstreepte opgaven zijn geschikt voor de tussentoets)

2 Elementaire bewerkingen

2 Algemene opbouw van een computersysteem

Analoge waarden. 1 Basis PLC. Maximum niveau. Niveau-indicator Minimum niveau. Basis PLC. pagina 1 Hoofdstuk 9 : Analoge waarden

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

Om een PLC te kunnen programmeren is het belangrijk te weten hoe de PLC het programma verwerkt. (Zie 2.4 blz. 35-)

Binair Binair = tweewaardig Beperkt aantal mogelijke waarden (discreet aantal in amplitude) Wij zijn gewoon aan decimaal (tiendelig)

Fig. 2. Fig ,5 4 3,5 3 2,5 2 1,5 U (V) 0, temperatuur ( C)

Hexadecimale en binaire getallen

Exact periode = 1. h = 0, Js. h= 6, Js 12 * 12 = 1,4.10 2

De Arduino-microcontroller in de motorvoertuigentechniek (2)

Faculteit Elektrotechniek - Leerstoel ES Tentamen Schakeltechniek. Vakcode 5A050, 17 november 2004, 9:00u-12:00u

Intro S datum: onderwerp: door: aan: dinsdag 11 juni 2013 Introductie S onder TIA Portal Industrial Automation

QR-code op aanvoerbrief 2.xx.0: Specificaties

Netwerk Interfacing Data Logging.

THEORIE TALSTELSELS. 1 x 10 0 = 1 (een getal tot de macht 0 = 1) 8 x 10 1 = 80 2 x 10 2 = x 10 3 = Opgeteld: 9281d(ecimaal)

EXACT- Periode 1. Hoofdstuk Grootheden. 1.2 Eenheden.

Uitleg. Welkom bij de Beverwedstrijd Je krijgt 15 vragen, die je in maximaal 45 minuten moet beantwoorden.

Antwoorden vragen en opgaven Basismodule

De CPU in detail Hoe worden instruc4es uitgevoerd? Processoren 28 februari 2012

Examen computerarchitectuur

Rekenen met computergetallen

Inleiding Digitale Techniek

ES1 Project 1: Microcontrollers

Praktisch bestaan er enkele eenvoudige methoden om een decimaal getal om te zetten naar een binair getal. We bespreken hier de twee technieken.

Module nummer Elke speciale module krijgt een eigen module nummer om de betreffende module in te stellen en uit te lezen. Ethernet module FX3u-ENET

Antwoorden Systeembord Fysische informatica voor de onderbouw havo/vwo

4,7. Praktische-opdracht door een scholier 1959 woorden 1 juni keer beoordeeld

Inleiding Digitale Techniek

Activiteit 1. Tel de punten Binaire Getallen. Samenvatting. Kerndoelen. Vaardigheden. Leeftijd. Materiaal

slides12.pdf December 14,

SI-Profinet. Unidrive M700 en Siemens S7-300 PLC (Step 7)

SI-Profibus. Unidrive M700-M702 en Siemens S7-300 PLC (STEP 7)

Antwoorden zijn afgedrukt!!!!!!!

EE1410: Digitale Systemen BSc. EE, 1e jaar, , vragencollege 1

Project Digitale Systemen

Talstelsels, getalnotaties en Ascii code

Hardware High Speed Counters (HSC) dienen aangesloten te worden op de general-purpose inputs X0 t/m X7.

b) Teken op de bijlage welke lampjes van het klokje branden om 19:45:52. Schrijf eronder hoe je dit bepaald/berekend hebt. (3p)

FAT32 disk structuur 2007 stam.blogs.com

Handleiding Scorebord Horstacker (Nijmegen) Wildcats; november 2011; Versie 1.1 Page 1

Hoofdstuk 20. Talstelsels

TECHNISCHE UNIVERSITEIT EINDHOVEN FACULTEIT DER TECHNISCHE NATUURKUNDE

Het Versacom systeem is gedefinieerd in DIN 43861, deel 301 als "transfer protocol A".

Les A-03 Binaire en hexadecimale getallen

Binaire getallen? Werkboek. Doeblad

VRIJ TECHNISCH INSTITUUT Burg.Geyskensstraat BERINGEN. De PLC geïntegreerd in de PC. Vak: Toegepaste informatica Auteur: Ludwig Theunis

Blog-Het gebruik van variabelen in Excel VBA

Hoofdstuk 5: Signaalverwerking

Over Betuwe College. Lego Mindstorm project

Studentnummer:... Opleiding:...

Pico Timer - Programmer EM

Opdracht week 4 INLDIG 1

DEC SDR DSP project 2017 (2)

Ontvanger met GSM-transmissie GSM 700

Uw gebruiksaanwijzing. TEXAS INSTRUMENTS TI-30 ECO RS

De CB channel controller TMS1022NL/NLL en TMS1023NL/NLL. ( Dit is een maskrom-programmed version van de Texas Instruments TMS1000 family)

Outlook electronics Handleiding Visor page: 1/9

Turbo Pascal deel 3 MSX CLUB MAGAZINE 36. Erik van Bilsen. Scanned, ocr ed and converted to PDF by HansO, 2001

Voorbeeld casus mondeling college-examen

Arduino Workshop 1 Zuid-Limburg

Voorwoord / veiligheidsaanwijzing 3. Sein decoder voor DCC systemen 4. Aansluitingen overzicht van de decoder 4. Aansluiten van de decoder 5

Slimme schakelingen (2)

Memoriseren: Een getal is deelbaar door 10 als het laatste cijfer een 0 is. Of: Een getal is deelbaar door 10 als het eindigt op 0.

Probleem! Elektropneumatica voorbeeld. Voorbeeld uitgewerkt in vorige ppt

In- en uitgangssignalen van microprocessoren

G. Schottert Handleiding Freekie 1. Nederlandse handleiding. Freekie DMX ADRES INSTELLINGEN 1

Stoeien met de tabellen (deel 4) Met multiplexers dobbelsteen 5 bouwen: tabel naar keus

b Geluid waarnemen, meten en omzetten in elektrische spanning.

Inleiding Digitale Techniek

Voorbeeld casus mondeling college-examen

Computertechniek vorige examens

b) Geef het schema van een minimale realisatie met uitsluitend NANDs en inverters voor uitgang D.

Interne voorstelling. types en conversies. Binaire en andere talstelsels. Voorstelling van gegevens: bits en bytes

Positie-aflezing. - LED of LCD-aflezing - met geïntegreerde microprocessor. Walda Impuls b.v. Delta MS Arnhem Tel Fax

Programmeren in C. m.b.v. programma-structuur-diagrammen.

Digitale Systeem Engineering 1. Week 4 Toepassing: Pulse Width Modulation Jesse op den Brouw DIGSE1/

Het koppelen van een FC51, via Modbus RTU, aan een AC500-eco.

1. REGELS VAN DEELBAARHEID.

Het grondtal van het decimaal stelsel is 10. Voorbeeld: het getal Poorten De tellereenheid Mevr. Loncke 1

Transcriptie:

Getalformaten, timers en tellers S_CU CU S PV R CV DEZ CV_BCD S_ODT S TV BI R BCD 1 pagina 1

Getalformaten (16 bits) PG CPU BCD W#16#296 Voorteken (+) 2 9 6 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 Positieve getallen 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 INT (Integer) +296 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 2 8 256 + 2 5 32 + 2 3 8 296 Negatieve getallen BCD W#16#F413 Voorteken (-) 4 1 3 1 1 1 1 0 1 0 0 0 0 0 1 0 0 1 1 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 INT (Integer) -413 1 1 1 1 1 1 1 0 0 1 1 0 0 0 1 1 2 8 2 7 2 4 2 3 2 2 256+ 128 + 16+ 8+ 4 412 - (412 + 1) - 413 2 BCD-code De afzonderlijke cijfers van een decimaal getal worden met vier binaire cijfers (bits) gecodeerd. De voorstelling met vier bits is een gevolg van het feit dat het decimale cijfer met de hoogste waarde 9 tenminste vier posities vereist in de binaire voorstelling (1001). Voor de voorstelling van de tien decimale cijfers 0 tot 9 wordt in de BCD-code dezelfde voorstelling gebruikt als voor de binaire getallen 0 tot 9. INTEGER Het datatype INT (INTEGER) komt overeen met een geheel getal (16 bits). De voortekenbit (bit n 15) geeft aan, of we met een positief of een negatief getal te maken hebben ("0" positief, "1" negatief). Het bereik van een geheel getal (16 bits) ligt tussen -32 768 en +32 767. In het binaire formaat wordt het negatieve formaat van een geheel getal als tweecomplement van het positieve gehele getal voorgesteld. We verkrijgen dit tweecomplement van een negatief getal door de signaaltoestanden van alle bits om te keren en bij het resultaat een "1" op te tellen. De status van de bits van een negatief getal wordt afgevraagd door de bits op "0" te identificeren, "1" bij het resultaat op te tellen en het getal te laten voorafgaan door een min-teken. pagina 2

Getalformaten (32 bits) BCD Voorteken (+) 0 0 0 0 2 9 6 DW#16#296 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 DINT L#+296 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 0 0 Integer (32 bits) 2 8 256 + 2 5 32 + 2 3 8 296 REAL +0.75 of +7.5 E-1 Algemeen formaat van een geheel getal (voorteken) (1.f) (2 e- 127 ) Voorteken reëel getal e exponent (8 bits) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 f mantisse (23 bits) 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 1 1 1 1 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 6 2 5 2 4 2 3 2 2 2 1 2 0 2 7 2-1 2-2 2-3 2-4... 2-23 Reëel getal +1,5 * 2 126-127 0,75 3 DINT REAL De gehele getallen van 32 bits met voorteken worden ook "dubbel integer" (Double Integer) of "lang integer" (Long Integer) genoemd. Het waardenbereik ligt tussen L# -2147483648 en L#+2147483647. Een reëel getal (ook een getal met glijdende komma genoemd) is een positief of een negatief getal, waarvan het bereik tussen -1.175495 10-38 en 3.402823 10 38 ligt. We kunnen het reële getal ook aanvullen met een exponent, om de gehele macht van 10 aan te geven, waarmee het reële getal vermenigvuldigd moet worden, om de gewenste waarde te bereiken. Voorbeelden : +10,339 of +1,0339E1-234567.0 of -2,34567E5 Een reëel getal bezet in het geheugen twee woorden, waarbij de bit met de hoogste waarde het voorteken van het getal aangeeft. De overige bits stellen de exponent en de mantisse voor. Nota: De weergave van de reële getallen in STEP7 voldoet aan de vereisten van de IEEE-norm. pagina 3

Laden en transfereren van gegevens (1) LAD EN MOVE ENO EN MOVE OUT MB5 L +15 T MB5 15 IN OUT MB5 15 IN ENO Voorbeelden van laden L +5 L L#523123 L B#16#EF L 2#0010 0110 1110 0011 L 3.14 // Constante 16 bits (Integer) // Constante 32 bits (Long Integer) // Hexadecimale byte // Binaire waarde 16 bits // Constante 32 bits (Real) 4 MOVE (LAD/) L en T () De instructie MOVE kan een waarde of een variabele kopiëren naar een andere variabele. Als de EN-ingang actief is, zal de waarde/variabele die op de IN-ingang ingevuld is, naar de OUT-uitgang gekopieerd worden. ENO heeft hetzelfde signaal als EN, als de instructie geldig is. De instructies Laden en Transfereren worden onafhankelijk van het RLO uitgevoerd. De data worden uitgewisseld via de accumulator. De laad-instructie schrijft de bronwaarde in de accumulator 1, te beginnen van rechts, en vult de ongebruikte posities op met nullen (tot aan bit 32). De transfer-instructie kopieert (gedeeltelijk of geheel) de inhoud van de accumulator naar de aangegeven bestemming (zie volgende bladzijden). pagina 4

Laden en transfereren van gegevens (2) Programma Inhoud van de accu1 Inhoud van de accu2 X X X X X X X X Y Y Y Y Y Y Y Y : : L W#16#CAFE 0 0 0 0 C0 A0 F0 E0 X X X X X X X X L W#16#AFFE : : : 0 0 0 0 A0 F0 F0 E0 0 0 0 0 C A F E 5 Accumulator 1 Accumulator 2 De accumulator 1 vertegenwoordigt het centrale register van de CPU. Bij het laden wordt de te laden waarde in de accumulator 1 geschreven en bij het transfereren wordt de te transfereren waarde in de accumulator 1 gelezen; het resultaat van de aritmetische instructies, de verschuivingsinstructies enz. wordt in de accumulator 1 opgeslagen. Tijdens een laad-operatie wordt de oude waarde in de accumulator 1 eerst overgebracht naar de acummulator 2, vervolgens wordt de accumulator 1 gewist (op nul gezet) en pas dan wordt de nieuwe waarde in de accumulator 1 geschreven. De accumulator 2 wordt ook gebruikt voor de vergelijkingen, de digitale instructies, de reken- en schuifinstructies, die verderop in detail behandeld worden. pagina 5

Laden en transfereren van gegevens (3) Programma L MB 0 Inhoud van de accumulator 1 31 23 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0 Laden L MW 0 31 23 15 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 MB0 MB1 L MD 0 31 23 15 7 0 MB0 MB1 MB2 MB3 Transfer T D 4 T W 4 T B 4 D 4 W 4 B 4 6 Algemeen Laad-instructie Transfer-instructie RLO De accumulatoren van de CPU zijn bedoeld voor het uitwisselen van data tussen de verschillende operanden, vergelijkingen en rekenfuncties. De S7-300 heeft twee accumulatoren met 32 bits elk, en de S7-400 heeft vier accumulatoren met 32 bits elk. De laadinstructie stuurt de inhoud van de geadresseerde byte, woord of dubbelwoord naar de accumulator 1. Bij de transferinstructie blijft de inhoud van de accumulator 1 bewaard, waardoor de informatie naar verschillende geheugenbereiken kan worden gekopieerd. Als er alleen een byte wordt getransfereerd, worden alleen de rechtse 8 bits gekopieerd (zie figuur). In LAD en kunnen de laad- en transferinstructies in functie van het RLO uitgevoerd worden, door de enable-input (EN) van de instructie MOVE te gebruiken. In zijn de laad- en transferinstructies onafhankelijk van het RLO en worden dus altijd uitgevoerd. Met voorwaardelijke spronginstructies kunnen de laad- en transferinstructies weggelaten worden en kunnen we aldus de laad- en transferinstructies afhankelijk maken van het RLO. pagina 6

LAD Timer met inschakelvertraging (SD) Voorbeeld S_ODT S TV R RLO op S RLO op R Verloop van timer BI BCD S_ODT S BI TV BCD R A L SD A R L T LC T A Gegeven type S5TIME 0,01s <-- 0,1s <-- 1s <-- 10s <-- 0 0 0 1 1 0 1 1 Tijdwaarde: 0... 999 7 Start Reset Digitale uitgangen Binaire uitgang De timer wordt gestart, wanneer het RLO aan de ingang "S" van "0" naar "1" gaat. De timer loopt met de tijdwaarde die aan de ingang TV ingesteld is en blijft lopen zolang het signaal op de "S"-ingang "1" blijft. Wanneer het RLO "1" is op de reset-ingang "R", worden de actuele tijdwaarde en de tijdbasis gewist en wordt de uitgang gereset. De actuele tijdwaarde kan gelezen worden als een binair getal aan de uitgang BI en als een BCD-getal aan de uitgang BCD. De actuele tijdwaarde is de initiële waarde van TV min de waarde van de tijd die verlopen is, sinds de timer werd gestart. Het signaal aan de uitgang gaat naar "1", wanneer de timer correct afgelopen is en de ingang "S" signaalstatus "1" heeft. Wanneer de ingang "S" van "1" naar "0" gaat, voordat de timer afgelopen is, wordt de timer gestopt. In dit geval heeft de uitgang de signaalstatus "0". pagina 7

Timer met inschakelvertraging met geheugen (SS) LAD S_ODTS S TV BI R BCD S_ODTS S BI TV BCD R A L SS A R L T LC T A RLO op S RLO op R Voorbeeld Verloop van timer 8 Start Reset Binaire uitgang De timer wordt gestart, wanneer het RLO aan de ingang "S" van "0" naar "1" gaat. De timer loopt met de tijdwaarde die aan de ingang TV ingesteld is en blijft lopen, zelfs wanneer het signaal aan de ingang "S" opnieuw "0" wordt, voordat de timer is afgelopen. Wanneer de ingang "S" opnieuw van status verandert en van "0" naar "1" gaat, terwijl de timer nog aan het lopen is, wordt de timer opnieuw gestart. Wanneer het RLO "1" is op de reset-ingang "R", worden de actuele tijdwaarde en de tijdbasis gewist en wordt de uitgang gereset. De uitgang heeft de signaalstatus "1", wanneer de timer correct afgelopen is, zelfs als de signaalstatus van de ingang "S" niet meer "1" is. pagina 8

Timer met uitschakelvertraging (SF) LAD S_OFFDT S TV BI R BCD S_OFFDT S BI TW BCD R A L SF A R L T LC T A RLO op S RLO op R Voorbeeld Verloop van timer 9 Start Reset Binaire uitgang De timer wordt gestart, wanneer het RLO aan de ingang "S" van "1" naar "0" gaat. Wanneer de timer afgelopen is, heeft de uitgang signaalstatus "0". Wanneer de signaalstatus aan de ingang "S" van "0" naar "1" gaat, terwijl de timer nog loopt, wordt de timer gestopt en de volgende keer dat de signaalstatus opnieuw van "1" naar "0" gaat, wordt de timer opnieuw gestart. Wanneer het RLO "1" is op de reset-ingang "R", worden de actuele tijdwaarde en de tijdbasis gewist en wordt de uitgang gereset. Wanneer de twee ingangen "S" en "R" allebei de signaalstatus "1" hebben, wordt de uitgang niet geset, totdat de dominante reset gedeactiveerd is. Wanneer het RLO aan de ingang "S" van "0" naar "1" gaat, wordt de uitgang geactiveerd. Wanneer de ingang "S" gedeactiveerd wordt, blijft de uitgang op "1" staan, totdat de geprogrammeerde tijd afgelopen is. pagina 9

LAD Pulse-timers (SP) S_PULSE S TV BI R BCD S_PULSE S BI TV BCD R A L SP A R L T LC T A RLO op S RLO op R Voorbeeld Verloop van timer 10 Start Reset Wanneer het RLO aan de ingang "S" van "0" naar "1" gaat, wordt de timer gestart en wordt de uitgang op "1" gezet. De uitgang wordt gereset, wanneer: de timer afgelopen is, of het startsignaal van "1" naar "0" gaat, of de reset-ingang "R" signaalstatus "1" heeft. pagina 10

LAD Extended-pulse-timers (SE) S_PEXT S TV BI R BCD S_PEXT S BI TV BCD R A L SE A R L T LC T A RLO op S RLO op R Voorbeeld Verloop van timer 11 Start Reset Wanneer het RLO aan de ingang "S" van "0" naar "1" gaat, wordt de timer gestart en wordt de uitgang op "1" gezet. De uitgang behoudt de signaalstatus "1", zelfs wanneer het signaal aan de ingang "S" opnieuw "0" wordt. Wanneer de ingang "S" opnieuw van signaalstatus verandert en van "0" naar "1" gaat, terwijl de timer nog aan het lopen is, wordt de timer opnieuw gestart. De uitgang wordt gereset, wanneer: de timer afgelopen is, of de reset-ingang "R" de signaalstatus "1" heeft. pagina 11

LAD Tellers in STEP7 I 0.4 I 0.5 I 0.3 C#20 I 0.7 CU CD S PV R C5 S_CUD CV CV_BCD 8.3 MW 4 W 12 I 0.4 I 0.5 I 0.3 C#20 I 0.7 CU CD S PV R C5 S_CUD CV CV_BCD MW 4 W 12 8.3 A I0.4 CU C5 A CD C5 A I0.3 L C#20 S C5 A R C5 L C5 T MW4 LC C5 T A C5 8.3 12 Telwaarde Vooruitteller Achteruitteller Set teller Reset teller PV CV / CV_BCD Tellertypes Voor elke teller is er in het systeemdatageheugen een 16-bits woord gereserveerd, waarin de telwaarde (0...999) in binaire code kan worden opgeslagen. Wanneer het RLO aan de ingang "CU" van "0" naar "1" gaat, wordt de tellerstand met 1 verhoogd (maximum waarde 999). Wanneer het RLO aan de ingang "CD" van "0" naar "1" gaat, wordt de tellerstand met 1 verlaagd (minimum waarde 0). Wanneer het RLO aan de ingang "S" van "0" naar "1" gaat, wordt de teller geset met de waarde aan de ingang "CV. Wanneer het RLO 1 is, wordt de teller gereset. Als er aan de reset-voorwaarde is voldaan, kan de teller niet geset worden en kan er niet geteld worden. De telwaarde in BCD-code (0...999) wordt ingesteld op de ingang "PV": onder de vorm van een tijdconstante (C#...) in BCD-formaat via een data-interface. De telwaarde kan als een binair getal of als een BCD-getal in de accumulator geladen worden en vandaaruit naar andere adressen getransfereerd worden. De signaalstatus van de teller kan aan de uitgang geëvalueerd worden: Tellerstand 0 -> 0 Tellerstand >< 0 -> 1 S_CU vooruitteller (telt alleen vooruit) (up) S_CD achteruitteller (telt alleen achteruit) (down) S_CUD vooruit-/achteruit-teller (telt vooruit en achteruit) (up/down) pagina 12

Tellen: functiediagram CU CD S R Tellerstand 5 4 3 2 1 0 13 Nota Wanneer de teller de waarde 999 (vooruitteller) of de waarde 0 (achteruitteller) bereikt, blijft de telwaarde onveranderd, zelfs als er nog verdere telimpulsen volgen. In het geval van een vooruit-/achteruitteller blijft de logische toestand van de teller behouden. pagina 13