Registers & Adressering
F. Rubben, ing © 2008-2010
Inhoud Leerstof
tot nu toe Opbouw registers
Benaming registers
Opbouw
data Verloop programma
F. Rubben
Leerstof tot nu toe:
Bouw PLC
Intern Extern fabrikanten
Aansluiten I/O
DI
DO
Types
AI
Sinking vs sourcing PNP vs NPN vs 2draad
0-10V; 1-10V; 2-10V; 0-20mA; 4-20mA Pt100, thermokoppel, …
AO
F. Rubben
Inhoud Leerstof
tot nu toe Opbouw registers
Benaming registers
Opbouw
data Verloop programma
F. Rubben
Opbouw Register
Geheugen: = Een register van bits
Rood: 1 bit
Blauw: 1 byte
8 bits: dataverwerking (AD conversie, timers, tellers, …)
Groen: 1 woord
Één toestand: 0 of 1
16 bits: dataverwerking (AD conversie, timers, tellers, …)
N.B.
F. Rubben Wat is een dubbelwoord?
Inhoud Leerstof
tot nu toe Opbouw registers
Benaming registers
Opbouw
data Verloop programma
F. Rubben
Opbouw Adressering I/O
Type I/O:
I: input Q: output (Q om niet met 0 te verwarren)
Letter laat weten welk register het is!
Kaartnummer: (of Bytenummer)
1°nr: kaartnummer of positie kaart;
kan men zien als het nummer van de byte
Opm. Controleer of men bij ‘0’ of bij ‘1’ begint te tellen.
Opm. Bij Siemens Logo! hebben de eerste kaarten géén nummer. F. Rubben
Opbouw Adressering I/O
Digital Input:
Naast byte ook Bitnummer
Vaak gevolg van aansluiting op de IO-kaart
b.v. I7.3 Merk op na de ‘I’ staat er géén letter meer!!!
F. Rubben
Opbouw Adressering I/O
AI/AO!
géén bit vermelding! Een analoge I/O
Byte
Woord of
IB7 IW9
Dubbelwoord
ID15
F. Rubben
Opbouw Adressering I/O
Oefeningen
I 0.0
Q 2.2
IW3
QD7 F. Rubben
Opbouw Adressering I/O
Oefeningen
IB 10 IW 12 ID 15 IB13
F. Rubben
Opbouw Adressering I/O Oefening
Rood: Roze: Blauw: Oranje: Groen: Omcirkeld:
F. Rubben
Opbouw Adressering Intern
Type interne registers
Hulpregisters en/of Merkers: geheugenbits
Timers
T
Tellers
HR // H // M
C // T // Z
Andere
…
F. Rubben
Opbouw Adressering Intern Stel
de volgende zaken voor:
HW7
MW15
MD18
F. Rubben
Inhoud Leerstof
tot nu toe Opbouw registers
Benaming registers
Opbouw
data Verloop programma
F. Rubben
Opbouw Data De
grootte van een register, input, output, merker of timer is gekend
Wat
kan er nu in elk type zitten???
F. Rubben
Opbouw Data
Bool BCD in W & DW Integer
Positieve gehele getallen Negatieve gehele getallen
Speciale gevallen
Tijd Datum String F. Rubben
Opbouw Data Bool
‘0’ of ‘1’ In een Bit terug te vinden
Voorbeelden
Digitale I/O GeheugenBIT
F. Rubben
Opbouw Data
Bool BCD in W & DW Integer
Positieve gehele getallen Negatieve gehele getallen
Speciale gevallen
Tijd Datum String F. Rubben
Opbouw Data
Een BCD-getal:
Per 4 bits een nummer:
1000 0101 0010
= 8.10² + 5.10 + 2 = 852
In de volgende types
Woord
Geen teken Voorbeeld in rood
Dubbelwoord
Voorbeeld in geel Hoogste 4 bits: teken
0000 = + 1111 = -
F. Rubben
Opbouw Data
Bool BCD in W & DW Integer
Positieve gehele getallen Negatieve gehele getallen
Speciale gevallen
Tijd Datum String F. Rubben
Opbouw Data Integers
Wat? Gehele getallen met teken Kunnen in 16bits (W) of in 32bits (DW)
Hoogste bit is het tekenbit
‘0’: ‘1’:
+ -
F. Rubben
Opbouw Data
Integers
Positieve gehele getallen
Van decimaal naar een integer?
Het decimaal getal 44 Opsplitsen in machten van 2! = 32 + 8 + 4 = 2.2.2.2.2 + 2.2.2 + 2.2 = 1.25 + 1.2³ + 1.2² = … + 1.25 + 0.24 + 1.2³ + 1.2² + 0.21 + 0.20 = …10 1100 (binair!) => WOORD = 16 bits = 0000 0000 0010 1100 Mét 0 = tekenbit
F. Rubben
Opbouw Data Integers
Positieve gehele getallen
44 = 0000 0000 0010 1100 Dit getal kan soms enkel als hexadecimaal ingegeven worden!!! BCD en hexa combineren per 4 bits een overeenstemmend symbool: 0 0 2 C
F. Rubben
Opbouw Data Oefening
op positieve integers!
Zet de volgende getallen om tot binair getal 42 35 69
Zet de volgende getallen om tot hexa-getal 42 12 160
F. Rubben
Opbouw Data
Bool BCD in W & DW Integer
Positieve gehele getallen Negatieve gehele getallen
Speciale gevallen
Tijd Datum String F. Rubben
Opbouw Data
Integers
Negatieve gehele getallen
Van decimaal naar een integer?
Het decimaal getal - 44 Omzetten van het getal ‘+44’ = 32 + 8 + 4 = 0000 0000 0010 1100 (binair!) 2’s complement nemen? = 1111 1111 1101 0011 (geïnverteerd) = 1111 1111 1101 0100 (1 optellen) Nu heeft men het 2’s complement en resultaat = 1111 1111 1101 0100 Hexadecimaal? = FFD4
F. Rubben
Opbouw Data Oefeningen
- 45:
- 16:
- 124:
F. Rubben
Opbouw Data
Bool BCD in W & DW Integer
Positieve gehele getallen Negatieve gehele getallen
Speciale gevallen
Tijd Datum String F. Rubben
Opbouw Data Speciale
gevallen:
Afhankelijk van het PLC-programma Tijd Datum String
F. Rubben
Opbouw Data Speciale
gevallen:
Afhankelijk van het PLC-programma Tijd Datum String
Letterwoord Gebruik makend van de ASCII-tabel. Eerste byte vermeld aantal gebruikte bytes. Één karakter = 1 byte (8 bits) A = 0100 0001
F. Rubben
Inhoud Leerstof
tot nu toe Opbouw registers
Benaming registers
Opbouw
data Verloop programma
F. Rubben
Verloop programma Programma
start.
Alle outputs worden gewist.
We Can Start! Inputs worden ingelezen naar Ingangsregister. Bewerking per bewerking wordt uitgevoerd. Als nodig: naar geheugen/register wegschrijven Op einde uitgangen echt vrijgeven Terug naar: we can start.
F. Rubben
Uitvoering programma PIQ? PII?
F. Rubben