Professional Documents
Culture Documents
Talstelsel
Talstelsel
Beroepsopleiding
PLC
Inhoudsopgave
1 TALSTELSELS. .........................................................................................3
1.4.2 Het omvormen van een binair naar een decimaal getal. ................................................................................... 12
1.4.4 Opgaven........................................................................................................................................................... 16
1.5.4 Opgaven........................................................................................................................................................... 19
2 CODES .....................................................................................................21
2.1 Binaire codes..................................................................................................................... 21
2.1.1 De BCD-code. .................................................................................................................................................. 21
2.1.5 Opgaven........................................................................................................................................................... 25
2.2 Informatiecodes................................................................................................................. 26
2.2.1 Basis elementen van de informatica. ................................................................................................................ 26
2.2.3 Opgaven........................................................................................................................................................... 35
3 DATATYPES. ...........................................................................................39
3.2.3 Hexadecimaal................................................................................................................................................... 40
3.2.4 BCD.................................................................................................................................................................. 40
4 COLOFON................................................................................................45
1 TALSTELSELS.
1.1 Algemeen.
1.1.1 Geschiedenis.
Een al iets meer gevorderde aanpak die nog steeds gehanteerd wordt, is het
turven, "waarbij men voor elke eenheid een verticaal streepje zet, en voor elke
vijfde een groepje van vier streepjes dwars doorhaalt".
Systemen als dat van Romeinse cijfers, waarbij letters voor getallen staan, waren in
de oudheid wijdverbreid. Zo kenden ook de Phoeniciërs, de Hebreeërs en de
Grieken dergelijke systemen. Ze hadden twee grote nadelen.
Op de eerste plaats was het rekenen met aldus genoteerde getallen geen
kleinigheid. Een eenvoudige vermenigvuldiging was al een karwei voor
deskundigen om van delingen maar te zwijgen.
Een tweede nadeel betrof het feit dat het aantal verschillende tekens moest worden
uitgebreid naarmate men grotere getallen wilde weergeven.
Voor een goed begrip van wat volgt, is het geboden dat je op de hoogte bent van
de volgende zaken: met 103 duiden we de derde macht van 10 aan, wat wil zeggen
10*10*10=1000. Algemener geldt: nm = n * n * n... (in totaal m keer n). Bij afspraak
geldt n0=1 voor elke denkbare waarde van n (behalve 0). Dit laatste is makkelijk in
te zien, want 1*102 = 1 * 10 * 10 (2 keer 10), 1*101 = 1 * 10 (1 keer 10) en 1*100 = 1
( 0 keer 10).
Bekijken we om te beginnen eens het ons vertrouwde tientallige stelsel. Het getal
2378 is gelijk aan 2000+300+70+8 en dat is weer gelijk aan 2*103 + 3*102 + 7*101 +
8*100.
Men ziet gemakkelijk in dat ieder geheel getal van 0 tot en met 9999 op deze wijze
louter met de tien cijfers 0, 1, 2, 3, 4, 5, 6, 7, 8 en 9 kan worden samengesteld. Het
eerstvolgende getal na 9999 is 10000 = 1*105 + 0*104 + 0*103 + 0*102 + 0*101 +
0*100.
Van rechts naar links krijgen we steeds hogere machten van 10. Je zult inzien dat
een klein beetje papier ons op deze manier in staat stelt om gigantisch grote
getallen uit te drukken. Door zo'n getal vooraf te laten gaan door "1/..." met het
grote getal op de plaats van de stippen, kan je op een A4-tje gemakkelijk een getal
uitdrukken dat (veel) kleiner is dan de kans dat we morgen met precies dezelfde
mensen in de bus zitten als vandaag.
1.2.1 Inleiding.
De macht van het basisgetal geeft precies aan op welke plaats (rang) het cijfer (de
bitwaarde) in de voorstelling van het getal thuishoort.
De decimale cijferwaarde op een bepaalde plaats in het getal kan 0 tot 9 zijn. In
een binair getal kan de waarde van een bit dus 0 of 1 zijn.
De binaire getallenvoorstelling voor de decimale cijfers van 0 tot 20 ziet er dan als
volgt uit:
1.2.3 De getallencirkel.
Zoals we zien is de binaire voorstelling voor het decimale getal 16 gelijk aan 10000.
Aangezien we op de voorgestelde getallencirkel slechts beschikken over 4 bits,
gaat het meest linkse teken verloren en houden we als resultaat 0000 over. Dit
fenomeen komt regelmatig voor bij binaire rekentoestellen en wordt overflow
(overlopen) genoemd.
Het meest linkse bit van een binair getal met voorteken krijgt dus de betekenis van
het tekenbit. In ons voorbeeld kunnen we dus de waardes van de bits van rechts
naar links beschouwen als 20, 21, 22 en –23. Dit principe kan uiteraard
doorgetrokken worden voor binaire getallen met eender welk aantal bits.
Wanneer van een binair getal alle bits een per een geïnverteerd worden, dan
spreekt men van het 1-complement van dat binaire getal.
Getal 1-complement
0000 (0) 1111 (-1)
0001 (1) 1110 (-2)
0010 (2) 1101 (-3)
0011 (3) 1100 (-4)
0100 (4) 1011 (-5)
0101 (5) 1010 (-6)
0110 (6) 1001 (-7)
0111 (7) 1000 (-8)
Tellen we bij het 1-complement 1 bij dan komen we tot het 2-complement:
Uit de tabel blijkt dat de absolute waarde van het 2-complement gelijk is aan de
absolute waarde van het origineel. We kunnen hieruit besluiten dat het 2-
complement bepalen van een getal overeenkomt met het omkeren van het teken.
Het rekenen met complementvormen van getallen kan in eender welk talstelsel
uitgevoerd worden. De algemene stelregels hiervoor zijn:
• De helft van alle mogelijke getallen zijn negatief. Is de basis van het
talstelsel even, dan betekent dit dat de getallen waarbij het linkse cijfer zich
in de laagste helft van de cijferreeks bevindt positief zijn, de rest is negatief.
Als voorbeeld nemen we het tientallige stelsel: alle getallen met het linkse
cijfer tussen 0 en 4 zijn positief, ligt het linkse cijfer tussen 5 en 9 dan is het
getal negatief. Voor talstelsels met een oneven basis, die beduidend minder
voorkomen, ligt dit iets ingewikkelder.
• Het basis-1 complement wordt bekomen door cijfer per cijfer af te trekken
van de basis-1 of van het hoogst mogelijke cijfer. In het 10-tallige stelsel bij
voorbeeld is de basis 10 en is het hoogst mogelijke cijfer 9.
• Het basis complement wordt bepaald door bij het basis-1 complement 1 op
te tellen.
Om eender welk decimaal getal op een binaire wijze voor te stellen, moeten we het
decimaal getal ontbinden in een reeks machten van twee. Dit kan door het getal
opeenvolgend door twee te delen tot we nul uitkomen en waarbij we telkens de rest
(0 of 1) afzonderen. De verzameling restbits geeft ons het gevraagde binair
equivalent.
Merk op dat bij de binaire voorstelling van de quotiënten het getal blijkt op te
schuiven naar rechts, waarbij het bit dat buiten het getal schuift overeen komt met
de rest.
De verzameling restbits moet van onder naar boven gelezen worden, want de
bitwaarde met de hoogste rang staat onderaan.
Indien we nu een decimaal getal hebben met cijfers na de komma, dan bestaat het
binair equivalent eveneens uit twee gedeelten. Het gedeelte voor de komma wordt
hierbij omgezet zoals hiervoor werd aangegeven. Voor het gedeelte na de komma
hebben we de volgende werkwijze:
0, 25
0, 50
1, 00
0.2510 = 0.012
1.4.2 Het omvormen van een binair naar een decimaal getal.
Om een binair getal om te zetten in een decimaal getal moeten we de som nemen
van de aanwezige machten van 2. Daarbij passen we de volgende werkwijze toe.
Te beginnen met het cijfer uiterst links gaan we achtereenvolgens steeds een cijfer
naar rechts toe, terwijl we de vorige waarde met 2 vermenigvuldigen. Als op de
volgende rang een 0 staat, hoeft dit alleen maar met twee vermenigvuldigd te
worden. Staat op de volgende rang een 1, dan vermenigvuldigen we met 2 en we
tellen bij het product 1 op.
1 +1 0 1 1
*2 = 2 =3 6 13 27
Toepassing van dit systeem bespaart veel tijd en moeite t.o.v. het rechtstreeks
uitwerken van de machtenreeks.
1.4.3.1 De optelling.
Het principe is hetzelfde als bij het optellen van decimale getallen.
We beginnen uiterst rechts: 5+1 = 6, daarna 7+3 = 10. Dit getal wordt met twee
cijfers geschreven, zodat er een overdracht moet gebeuren van een tiental naar de
volgende rang (“we onthouden één”). Bij de volgende som ( 1+2 ) tellen we nu
voornoemd tiental (de overdracht) op.
Zo gaat het ook bij de binaire optelling: wanneer een partiële som (per rang) groter
of gelijk is aan 2 dan ontstaat er een overdracht (of CARRY) naar de volgende
rang.
12+12=102
12+12+12=112
1.4.3.2 De aftrekking.
Hier zijn er twee methoden. De eerste verloopt zoals bij de decimale 718
getallen: -233
485
Bij het aftrekken op de tweede rang moeten we een tiental gaan lenen (BORROW)
bij de volgende rang teneinde een positief resultaat te bekomen. Op dezelfde wijze
zullen we bij een binaire aftrekking eventueel een tweetal lenen om het verschil
positief te houden. Uiteraard moet dan de cijferwaarde op die volgende rang van
het aftrektal met 1 verminderd warden.
Vb. 1:
In beide gevallen is er een overloop, dit cijfer gaat echter verloren. In beide gevallen
ligt ook het resultaat in het positieve bereik van het talstelsel (zie hoofdstuk 1.3.3).
Vb. 2:
Beide resultaten liggen in het negatieve bereik voor het betrokken talstelsel: 8910 is
het 10-complement van 1110 en 11002 is het 2-complement van 01002.
1.4.3.3 De vermenigvuldiging.
De binaire vermenigvuldiging is vrij eenvoudig. Men dient voor elk bit van de
vermenigvuldiger een nul (bit = 0) of het vermenigvuldigtal (bit = 1) in te vullen en
daarbij telkens één rang naar links op te schuiven. Het resultaat wordt gevormd
door de som van de deelresultaten.
Hieruit blijkt tevens dat het resultaat van een vermenigvuldiging met een macht van
twee, het vermenigvuldigtal bevat waaraan een aantal nullen zijn toegevoegd
(aantal nullen = de macht ).
Het vermenigvuldigtal wordt hierbij in feite m (= de macht van twee) keren naar
links verschoven. Zo'n schuifbewerking is “technisch” weerom een eenvoudige
zaak. Zodat de vermenigvuldiging dan ook opgevat wordt als een som van
schuifbewerkingen.
1.4.3.4 De deling.
Zoals bij de decimale deling gaan we na hoeveel maal de deler in het deeltal
voorkomt. Dit aantal kan in het binair stelsel slechts 0 of 1 zijn. Ook de principes bij
het delen na de komma blijven behouden.
1110,0 100
-1000,0 11,1 = 3,510
110,0
-100,0
10,0
-10,0
00,0
10001,1 101
+00000,0 011,1 = 3,510
10000,0
+0110,0
0111,0
+011,0
1010,1
+01,1
100,0
Het delen door machten van twee komt hierop neer dat men het deeltal een aantal
(gelijk aan de macht) keren naar rechts verschuift, terwijl de plaats van de komma
behouden blijft.
1.4.4 Opgaven.
2) 12,7510 = ………2
3) 118910 = ………2
4) 100101112 = ………10
Het neerschrijven van een getal in binaire vorm is een tijdrovende karwei en de
kans op fouten is groot. Daarom maakte men vroeger veel gebruik van het octale of
achttallige talstelsel als verkorte schrijfwijze voor binaire getallen.
Het octale talstelsel heeft 8 symbolen, namelijk 0,1,2,3,4,5,6 en 7. Het tellen in het
octale talstelsel vindt op dezelfde wijze plaats als in het binaire en decimale
talstelsel.
Het omzetten van een binair getal in een octaal getal en omgekeerd is erg
eenvoudig. Wil men een binair getal octaal uitschrijven, dan verdeelt men het
binaire getal in groepen met een lengte van 3 bits, te beginnen bij de komma. Elke
groep kan nu worden weergegeven door een cijfer in het octale stelsel.
Omgekeerd is het gemakkelijk een octaal getal in een binair getal om te zetten.
De hexadecimale code heeft 16 tekens. Met behulp van deze code kunnen we een
binaire vorm van 4 digits (cijfers) voorstellen door één teken.
Met de hexadecimale tekens van 0 tot en met 9 worden de binaire getallen 0000 tot
en met 1001 weergegeven. De binaire getallen 1010 tot en met 1111 worden dan
weer voorgesteld door de letters A tot en met F, die dus respectievelijk de decimale
waardes 10 tot en met 15 hebben.
De omzetting van decimaal naar hexadecimaal vindt plaats door het decimale getal
te schrijven als de som van de machten van 16.
Men kan ook van decimaal naar hexadecimaal omzetten via de binaire voorstelling.
Ook hier is het omzetten van een binair getal naar een hexadecimaal vrij
eenvoudig. Wil men een binair getal hexadecimaal uitschrijven dan verdeelt men
het binaire getal in groepen met een lengte van 4 bits, te beginnen bij de komma.
Elke groep kan nu worden weergegeven door een cijfer in het hexadecimale stelsel.
Vb. 100010102 wordt verdeeld in groepen van 4 bits: 1000 1010. Het hexadecimale
getal is dan 8A.
Omgekeerd is het ook zeer gemakkelijk een hexadecimaal getal in een binair getal
om te zetten.
1.5.3 Tabel.
1.5.4 Opgaven..
2 CODES
2.1.1 De BCD-code.
Bij het ingeven van een decimaal getal via het toetsenbord van een digitale
rekenmachine ontstaat er een codeprobleem. De machine kan immers slechts
zuiver binaire getallen verwerken. Elk cijfer wordt in zijn binaire vorm geplaatst, dit
is de zgn. BCD-vorm (Binary Coded Decimal).
Het getal wordt echter cijfer per cijfer ingegeven. De verzameling van deze BCD-
codes moet dan nog door de machine omgezet worden naar de zuivere binaire
vorm van het getal. ( BCD-Binair encoder)
De BCD-code van een cijfer wordt steeds in een 4-bit vorm weergegeven.
Invoeren 5 0101
Vermenigvuldigen * 1010
met 10 01010
+ 0101000
0110010
Invoer 2 + 0010
0110100
Vermenigvuldigen * 1010
met 10 01101000
+ 0110100000
1000001000
Invoer 3 + 0011
1000001011
Bij het uitschrijven van het resultaat van een berekening wordt het “binaire”
resultaat terug in de BCD-vorm omgezet. Deze omgekeerde bewerking wordt
DECODEREN genoemd en bestaat uit opeenvolgende delingen door 10. De BCD-
informatie wordt daarvoor bijvoorbeeld aan een display met ingebouwde BCD-
decoder toegevoerd.
Er zijn ook machines die onmiddellijk met de BCD-vorm gaan rekenen zoals bij de
rekenwijzen met decimale getallen.
Hierbij wordt ervoor gezorgd dat er een overdracht (Carry) ontstaat zodra de
decimale waarde van de BCD - vorm groter wordt dan negen. Met vier bit kan men
immers tot zestien cijferwaarden voorstellen. Er zou dan slechts een overdracht
plaats grijpen indien de getalwaarde groter of gelijk is aan 16.
4 3 D C B A
5 2 0 0 0 0 0
1 0 0 0 1
6 1
2 0 0 1 1
3 0 0 1 0
7 0 4 0 1 1 0
D C B A 5 0 1 1 1
6 0 1 0 1
8 15 7 0 1 0 0
8 1 1 0 0
9 14 9 1 1 0 1
10 1 1 1 1
=1 11 1 1 1 0
10 13 =0
11 12 12 1 0 1 0
13 1 0 1 1
14 1 0 0 1
15 1 0 0 0
We zien dus dat de codes gelegen op een gelijke afstand van een
hoofdsymmetrielijn (straal) eveneens aanliggende codes zijn (ze verschillen slechts
in één bitwaarde). Ook bij het opstellen van de zogenaamde Karnaughkaarten
worden deze eigenschappen gebruikt.
Wanneer we in het binair talstelsel de waarden van 0101 tot en met 1010 (5 tot en
met 10) weglaten dan ontstaat de AIKEN-code. Elk teken in deze code bevat 4 bits,
de waarde van deze bits is achtereenvolgens 2, 4, 2, 1. De Aiken-code is dus een
gewogen code. Een code wordt een gewogen code genoemd wanneer de decimale
getalwaarde van de binaire voorstelling (rekening houdend met de rangwaarden)
overeenstemt met het opgegeven gewicht.
De code van de cijfers 0 tot en met 4 komt overeen met de binaire voorstelling.
De codering van de cijfers 5 tot en met 9 correspondeert met de binaire voorstelling
van de getallen 11 tot en met 15.
Decimaal Aiken
0 0000
1 0001
2 0010
3 0011
4 0100
5 1011
6 1100
7 1101
8 1110
9 1111
2.1.4 De Excess-3-code.
Wanneer we van de volgende binaire codes van 000 tot en met 1111 de eerste drie
en de laatste drie combinaties weglaten, dan houden we 10 getallen (combinaties)
over waarvan de binaire waarde steeds 3 hoger ligt dan de decimale waarde. Deze
code noemen we de 3-teveel code of (uit het Engels) de Excess-3-code.
Het omzetten van decimaal naar Excess-3 gebeurt, door bij het decimaal getal 3 op
te tellen en dit binair te schrijven. De “Excess-3” code is geen gewogen code. Aan
een plaats kan men dus geen gewicht toekennen.
Decimaal Excess-3
0 0011
1 0100
2 0101
3 0110
4 0111
5 1000
6 1001
7 1010
8 1011
9 1100
2.1.5 Opgaven.
2.2 Informatiecodes.
Het begrip INFORMATIE komt in onze wereld onder allerlei vormen voor. Specifiek
voor de mens, wordt de al dan niet hem bestemde externe informatie, door zijn
zintuigen opgevangen. Deze informatie wordt via het zenuwstelsel overgebracht
(TRANSMISSIE) naar de hersenen.
In de hersencellen zelf ligt reeds een zeer grote hoeveelheid informatie vast
(GEHEUGEN), waarmee de binnengekomen informatie opgepikt, verwerkt en
doorgestuurd wordt. Hierdoor ontstaat in het lichaam een reactie, welke opnieuw
een bron van informatie vormt, …
Dit ontzaglijk informatieproces geeft ons onmiddellijk de ruime betekenis van het
begrip "informatie”. Een veel engere definitie ontstaat, wanneer men alleen DATA
als informatiedrager gaat beschouwen.
Onder data verstaat men een verzameling van symbolen, letters, cijfers welke een
betekenis kunnen hebben. "Informatie" wordt het pas wanneer deze data een
welbepaalde betekenis heeft. Zo bevat de verzameling van tekens "AP 950238"
onmiddellijk een hoop informatie, als het hierbij gaat om het identiteitskaartnummer
van een persoon.
De meest eenvoudige vorm voor het geven van informatie is het "ja" of "neen"
antwoord. Het kiezen tussen twee toestanden komt dan ook veelvuldig voor. De
veranderlijke die deze keuze voorstelt wordt hierbij als informatie-eenheid
genomen. Deze eenheid noemt men de BIT (Binary digit). De twee mogelijke
toestanden van de bit zijn: "1" ( ja, juist, echt) en "0" (neen, fout, vals).
Elk gegeven (data) is dus samengesteld uit een opeenvolging van één of meerdere
bits. Stelt men bijvoorbeeld de data op voor de identiteit van een bepaald persoon
als volgt:
Ja Ja Ja Ja Ja
Neen Neen Neen Neen Neen
We komen tot het antwoord: ja - ja - neen - neen - ja. In binaire vorm (verzameling
van bits) wordt dit: 11001. We hebben hier dus een binaire informatiecode (een
soort geheimschrift) van het antwoord.
In het binaire getal: 110011 is de pariteit even zodat de REDUNDANTE code voor
even pariteit 0110011 wordt.
Bij ontvangst van deze informatie komt er eerst en vooral een pariteitscontrole. Valt
de controle negatief uit, dan wordt het teken niet aanvaard.
Een andere mogelijkheid om te beveiligen bestaat erin dat men een vast aantal
enen in het gegeven opneemt en dit getal nadien controleert. Ook hier wordt de
code redundant en is er een groter aantal bits nodig om N getallen voor te stellen.
Dit heeft voor gevolg dat de transmissie- en verwerkingssnelheid lager liggen.
Dit werd in de telegrafie dan weer opgelost door rekening te houden met de
relatieve frequentie van de tekens, letters, cijfers. Tekens die erg vaak voorkomen
krijgen een korte inhoud en omgekeerd.
2.2.2 Informatiecodes.
2.2.2.1 Inleiding.
Bij de transmissie en de verwerking van data, maakt men gebruik van binaire
standaardcodes voor de weergave van letters, cijfers, tekens en bevelen. Het
aantal bevelen is hierbij zodanig toegenomen, dat men van de 5-bit codes (vb. de
Baudot teletype code) moest overstappen naar 6-, 7- en 8-bit codes (vb. de 8-bit
ASCII code en de EBCDIC code). Samen met de Hollerith-code (ponskaartcode)
zijn dit wel de meest gebruikte codes voor de transmissie van informatie.
De teletype code is de code die gebruikt wordt bij een telex. We beschikken over 5
bits, dit betekent dus 32 mogelijkheden. Als we vb. twee tekens gebruiken voor
besturingsmogelijkheden, ontstaan er reeds heel wat meer mogelijkheden. We
kunnen deze besturingscodes vergelijken met de hoofdlettertoets van een
schrijfmachine.
1 2 3 4 5
2.2.2.3 Hollerith-code.
De Hollerith- of ponskaartcode is een code die gebruikt wordt bij het ponsen van
ponskaarten. De ponskaart is historisch de eerste informatiedrager die speciaal
ontworpen werd om gegevens te bevatten en deze automatisch te verwerken. Een
ponskaart is niets anders dan een rechthoekig stuk zacht karton, in standaard
formaat vervaardigd en in 80 kolommen verdeeld. Oorspronkelijk was elke kolom
voorzien van 10 posities die van 0 tot 9 genummerd waren.
HOLLERITH code
2.2.2.4 ASCII-code.
ASCII is een afkorting van “American Standard Code for Information Interchange”.
De afkorting wordt uitgesproken als "aski". Deze code wordt gebruikt bij computers
die ontwikkeld zijn voor administratieve toepassingen. Deze computers moeten
immers ook allerlei administratieve gegevens kunnen verwerken, die in de vorm
van afgekorte woorden en symbolen worden aangevoerd. Deze computers moeten
dus werken met letters en cijfers.
Een code hiervoor noemt men een alfanumerieke code. In het begintijdperk
ontwierp elke computerfabrikant zijn eigen code. In een poging om een algemeen
gebruikte code op te stellen heeft de American Standard Association in 1964 de
ASCII-code gelanceerd. Deze code bestaat uit karakters van 7 bits. ASCII is dus
een 7-bit code.
Bij het karakter van 7 bits wordt er een pariteitsbit bijgevoegd, dus hebben we dan
8 bits. Zo'n groep van acht bits wordt in het algemeen een BYTE genoemd.
Het BYTE-patroon voor een ASCII-karakter ziet er dan als volgt uit:
Par b7 b6 b5 b4 b3 b2 b1
Bij het coderen zoekt men in de tabel het te coderen symbool op (zie bijgaande
tabel). We willen vb. $ coderen. Dit staat in kolom 2 en rij 4. Het $-teken wordt nu
gecodeerd door de binaire combinatie b7b6b5 (bovenaan) en b4b3b2b1 (zijkant) uit
te schrijven. De ASCII-code voor $-teken is dus 0100100.
De ASCII-code.
0 1 2 3 4 5 6 7
b7 0 0 0 0 1 1 1 1
b6 0 0 1 1 0 0 1 1
b5 0 1 0 1 0 1 0 1
b4 b3 b2 b1
0 0 0 0 0 NUL DLE SP 0 @ P ` p
1 0 0 0 1 SOH DC1 ! 1 A Q a q
2 0 0 1 0 STX DC2 ” 2 B R b r
3 0 0 1 1 ETX DC3 # 3 C S c s
4 0 1 0 0 EOT DC4 $ 4 D T d t
5 0 1 0 1 ENQ NAK % 5 E U e u
6 0 1 1 0 ACK SYN & 6 F V f v
7 0 1 1 1 BEL ETB ’ 7 G W g w
8 1 0 0 0 BS CAN ( 8 H X h x
9 1 0 0 1 HT EM ) 9 I Y i y
A 1 0 1 0 LF SUB * : J Z j z
B 1 0 1 1 VT ESC + ; K [ k {
C 1 1 0 0 FF FS , < L \ l |
D 1 1 0 1 CR GS - = M ] m }
E 1 1 1 0 SO RS . > N ^ n ~
F 1 1 1 1 SI US / ? O _ o DEL
EBCDI is een afkorting van Extended Binary Coded Decimal Interchange. EBCDIC
is een 8 bit code. Voor een EBCDIC-karakter is het bytepatroon net het
omgekeerde als dat van een ASCII-karakter.
Het bytepatroon voor een EBCDIC-karakter ziet er dan als volgt uit:
b0 b1 b2 b3 b4 b5 b6 b7
Bij het coderen zoekt men in de tabel het te coderen symbool op (zie bijgaande
tabel).
DE EBCDI-code.
0 1 2 3 4 5 6 7 8 9 A B C D E F
b0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
b1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
b2 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
b3 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
b4 b5 b6 b7
0 0 0 0 0 NUL DLE DS SP & - 0
1 0 0 0 1 SOH DC1 SOS / a j A J 1
2 0 0 1 0 STX DC2 FS SYN b k s B K S 2
3 0 0 1 1 ETX TM c l t C L T 3
4 0 1 0 0 PF RES BYP PN d m u D M U 4
5 0 1 0 1 HT NL LF RS e n v E N V 5
6 0 1 1 0 LC BS ETB UC f o w F O W 6
7 0 1 1 1 DEL IL ESC EOT g p x G P X 7
8 1 0 0 0 CAN h q y H Q Y 8
9 1 0 0 1 EM i r z ` I R Z 9
A 1 0 1 0 SMM CC SM ¢ ! :
B 1 0 1 1 VT CU1 CU2 CU3 . $ , #
C 1 1 0 0 FF IFS DC4 < * % @
D 1 1 0 1 CR IGS ENQ NAK ( ) _ '
E 1 1 1 0 SO IRS ACK + ; > =
F 1 1 1 1 SI IUS BEL SUB | ¬ ? "
2.2.3 Opgaven.
2.2.4 Tabel.
HEX DEC OCTAL BINARY ASCII EBCDIC CARD CODE HEX DEC OCTAL BINARY ASCII EBCDIC CARD CODE
80 128 200 1000 0000 12-0-1-8 C0 192 300 1100 0000 12-0
81 129 201 1000 0001 a 12-0-1 C1 193 301 1100 0001 A 12-1
82 130 202 1000 0010 b 12-0-2 C2 194 302 1100 0010 B 12-2
83 131 203 1000 0011 c 12-0-3 C3 195 303 1100 0011 C 12-3
84 132 204 1000 0100 d 12-0-4 C4 196 304 1100 0100 D 12-4
85 133 205 1000 0101 e 12-0-5 C5 197 305 1100 0101 E 12-5
86 134 206 1000 0110 f 12-0-6 C6 198 306 1100 0110 F 12-6
87 135 207 1000 0111 g 12-0-7 C7 199 307 1100 0111 G 12-7
88 136 210 1000 1000 h 12-0-8 C8 200 310 1100 1000 H 12-8
89 137 211 1000 1001 i 12-0-9 C9 201 311 1100 1001 I 12-9
8A 138 212 1000 1010 12-0-2-8 CA 202 312 1100 1010 12-0-2-8-9
8B 139 213 1000 1011 12-0-3-8 CB 203 313 1100 1011 12-0-3-8-9
8C 140 214 1000 1100 12-0-4-8 CC 204 314 1100 1100 12-0-4-8-9
8D 141 215 1000 1101 12-0-5-8 CD 205 315 1100 1101 12-0-5-8-9
8E 142 216 1000 1110 12-0-6-8 CE 206 316 1100 1110 12-0-6-8-9
8F 143 217 1000 1111 12-0-7-8 CF 207 317 1100 1111 12-0-7-8-9
90 144 220 1001 0000 12-11-1-8 D0 208 320 1101 0000 11-0
91 145 221 1001 0001 j 12-11-1 D1 209 321 1101 0001 J 11-1
92 146 222 1001 0010 k 12-11-2 D2 210 322 1101 0010 K 11-2
93 147 223 1001 0011 l 12-11-3 D3 211 323 1101 0011 L 11-3
94 148 224 1001 0100 m 12-11-4 D4 212 324 1101 0100 M 11-4
95 149 225 1001 0101 n 12-11-5 D5 213 325 1101 0101 N 11-5
96 150 226 1001 0110 o 12-11-6 D6 214 326 1101 0110 O 11-6
97 151 227 1001 0111 p 12-11-7 D7 215 327 1101 0111 P 11-7
98 152 230 1001 1000 q 12-11-8 D8 216 330 1101 1000 Q 11-8
99 153 231 1001 1001 r 12-11-9 D9 217 331 1101 1001 R 11-9
9A 154 232 1001 1010 12-11-2-8 DA 218 332 1101 1010 12-11-2-8-9
9B 155 233 1001 1011 12-11-3-8 DB 219 333 1101 1011 12-11-3-8-9
9C 156 234 1001 1100 12-11-4-8 DC 220 334 1101 1100 12-11-4-8-9
9D 157 235 1001 1101 12-11-5-8 DD 221 335 1101 1101 12-11-5-8-9
9E 158 236 1001 1110 12-11-6-8 DE 222 336 1101 1110 12-11-6-8-9
9F 159 237 1001 1111 12-11-7-8 DF 223 337 1101 1111 12-11-7-8-9
A0 160 240 1010 0000 11-0-1-8 E0 224 340 1110 0000 0-2-8
A1 161 241 1010 0001 11-0-1 E1 225 341 1110 0001 11-0-1-9
A2 162 242 1010 0010 s 11-0-2 E2 226 342 1110 0010 S 0-2
A3 163 243 1010 0011 t 11-0-3 E3 227 343 1110 0011 T 0-3
A4 164 244 1010 0100 u 11-0-4 E4 228 344 1110 0100 U 0-4
A5 165 245 1010 0101 v 11-0-5 E5 229 345 1110 0101 V 0-5
A6 166 246 1010 0110 w 11-0-6 E6 230 346 1110 0110 W 0-6
A7 167 247 1010 0111 x 11-0-7 E7 231 347 1110 0111 X 0-7
A8 168 250 1010 1000 y 11-0-8 E8 232 350 1110 1000 Y 0-8
A9 169 251 1010 1001 z 11-0-9 E9 233 351 1110 1001 Z 0-9
AA 170 252 1010 1010 11-0-2-8 EA 234 352 1110 1010 11-0-2-8-9
AB 171 253 1010 1011 11-0-3-8 EB 235 353 1110 1011 11-0-3-8-9
AC 172 254 1010 1100 11-0-4-8 EC 236 354 1110 1100 11-0-4-8-9
AD 173 255 1010 1101 11-0-5-8 ED 237 355 1110 1101 11-0-5-8-9
AE 174 256 1010 1110 11-0-6-8 EE 238 356 1110 1110 11-0-6-8-9
AF 175 257 1010 1111 11-0-7-8 EF 239 357 1110 1111 11-0-7-8-9
B0 176 260 1011 0000 12-11-0-1-8 F0 240 360 1111 0000 0 0
B1 177 261 1011 0001 12-11-0-1 F1 241 361 1111 0001 1 1
B2 178 262 1011 0010 12-11-0-2 F2 242 362 1111 0010 2 2
B3 179 263 1011 0011 12-11-0-3 F3 243 363 1111 0011 3 3
B4 180 264 1011 0100 12-11-0-4 F4 244 364 1111 0100 4 4
B5 181 265 1011 0101 12-11-0-5 F5 245 365 1111 0101 5 5
B6 182 266 1011 0110 12-11-0-6 F6 246 366 1111 0110 6 6
B7 183 267 1011 0111 12-11-0-7 F7 247 367 1111 0111 7 7
B8 184 270 1011 1000 12-11-0-8 F8 248 370 1111 1000 8 8
B9 185 271 1011 1001 12-11-0-9 F9 249 371 1111 1001 9 9
BA 186 272 1011 1010 12-11-0-2-8 FA 250 372 1111 1010 12-11-0-2-8-9
BB 187 273 1011 1011 12-11-0-3-8 FB 251 373 1111 1011 12-11-0-3-8-9
BC 188 274 1011 1100 12-11-0-4-8 FC 252 374 1111 1100 12-11-0-4-8-9
BD 189 275 1011 1101 12-11-0-5-8 FD 253 375 1111 1101 12-11-0-5-8-9
BE 190 276 1011 1110 12-11-0-6-8 FE 254 376 1111 1110 12-11-0-6-8-9
BF 191 277 1011 1111 12-11-0-7-8 FF 255 377 1111 1111 12-11-0-7-8-9
3 DATATYPES.
Datatypes worden in de PLC gebruikt om de grootte en het formaat van de in het
programma gebruikte data elementen te specificeren.
• Nibble: groep van 4 bits. Wordt op heden praktisch niet meer gebruikt,
behalve om een BCD of hexadecimaal cijfer mee aan te duiden.
3.2.1 Binair.
De betrokken groepen bits worden voorgesteld als een combinatie van een aantal
nullen en enen. Afhankelijk van het type PLC kan dit voor groepen van 8, 16 of 32
bits, die dan eventueel een bijhorende benaming krijgen.
3.2.2 Octaal.
3.2.3 Hexadecimaal.
3.2.4 BCD.
Veel PLC’s beschikken over enkele BCD formaten, voornamelijk waar het de
instelling en weergave van teller- en timerwaardes betreft.
Gehele getallen worden in het Engels integers genoemd en dat is dan ook de naam
die meestal voor een dergelijk formaat gebruikt wordt in de PLC. Zoals gezien in
hoofdstuk 1.2.3 kunnen binaire gehele getallen voorzien zijn van een tekenbit of
niet.
Gehele getallen zonder voorteken worden unsigned integers genoemd en een veel
gebruikt afkorting voor dit datatype is UINT. Afhankelijk van het aantal bits dat
gebruikt wordt om een unsigned integer voor te stellen loopt het bereik van 0 tot
255 (8 bit of byte), 65.535 (16 bit of woord) of zelfs 4.294.967.295 (32 bit of
dubbelwoord).
Wordt het meest linkse bit gebruikt als tekenbit, wat het meest verspreid is, dan
spreken we van een integer. Afhankelijk van het aantal gebruikte bits verschilt het
bereik en meestal zelfs de naam. Dat de naam bij sommige PLC’s niet verschilt
heeft te maken met het feit dat die PLC’s het aantal bits en het formaat los van
elkaar bepalen.
• 8 bit: bereik van –128 tot +127, de gebruikte naam is byte, SINT (van small
integer) of SHORT.
• 16 bit: bereik van –32.768 tot +32.767, met als algemeen gebruikte naam
INT van integer.
• 32 bit: bereik van –2.147.483.648 tot +2.147.483.647. De meest gebruikte
aanduiding is DINT van double integer. Ook de term “LONG” wordt wel eens
gebruikt.
Floating point of reële getallen zijn getallen die geschreven worden met een
komma, een exponent of beide. Een meer populaire naam voor deze voorstelling is
wetenschappelijke notatie. De aanduiding voor dit type variabelen is meestal REAL
of FLOAT.
De meeste PLC’s gebruiken het IEEE FP 32-Bit binary memory format om REAL
getallen te verwerken:
- s= 1
- e = 130
- f = 0.5 (MSB=1, de rest=0)
Indien bij een berekening een getal bekomen wordt dat buiten het bereik ligt van de
reële getallen wordt de exponent op 255 gezet en de mantisse op 0. Indien een
resultaat geen reëel getal is wordt de exponent op 255 gezet en de mantisse is dan
verschillend van 0.
Het bereik van de reële getallen loopt van -3.402823e+38 naar -1,175494e-38 aan
de negatieve kant, over 0 en van +1,175494e-38 tot +3.402823e+38 aan de
positieve kant. Let wel op: bij de meeste PLC’s is de nauwkeurigheid van reële
getallen beperkt tot 6 beduidende cijfers.
Afhankelijk van het type PLC wordt al dan niet onderscheid gemaakt tussen een
enkel ASCII teken en een reeks ASCII tekens. Hierbij is het aantal toegelaten
tekens in een reeks of zogenaamde STRING sterk materiaalgebonden. Wordt er
een onderscheid gemaakt, dan gebruikt men de term ASC, ASCII of CHAR voor
een enkel teken en STRING voor een tekenreeks.
Er zijn verschillende methodes in gebruik om aan te duiden wat de lengte van een
tekenreeks is. Enkele van de meest gebruikte zijn de volgende:
• Er wordt aan het begin van de tekenreeks een of twee 8-bits gehele getallen
geplaatst, die aanduiden hoe lang de tekenreeks is en hoe lang de
tekenreeks maximaal mag zijn. Indien slechts een getal gebruikt wordt geeft
dit de effectieve lengte weer.
• Het laatste teken van de tekenreeks wordt afwijkend gecodeerd. Dit is een
ietwat oudere techniek, waarbij de uitbreiding van de ASCII-reeks niet kan
gebruikt worden is, want meestal wordt bit 7 van het laatste teken bij deze
methode op 1 gezet.
4 COLOFON
Sectorverantwoordelijke: Technische Dienst Hoofdbestuur
Dhr. Johan Veys
Keizerslaan 11
1000 Brussel
Tel. 02/506.29.09
Fax. 02/511.45.43
Versie: 17/06/2003
Literatuurlijst: