PTC Uniface Swets

The Uniface documents are in the Magazines , see PTC page.

This page is rescued from my archive, the original has been lost. Besides some formatting it is untouched and all thanks to Arjan for text and photos.

Arjan Swets: ik maak gebruik van het UNIFACE systeem , dat ontwikkeld is door PTCC
(philips Thuis ComputerClub).

UNIFACE, de buitenwereld aan de computer

Niets is zo leuk als het besturen van de buitenwereld met je eigen computer . Het UNIFACE systeem is geschikt om mikrocomputers te laten communiceren met de buitenwereld. Met name voor het uitvoeren van meet en regeltaken.

Computerpoorten

Iedere computer beschikt over de mogelijkheden om informatie uit te wisselen met randapparatuur . Dit gebeurt door middel van I/O poorten die het mogelijk maken data afkomstig van de processor via een interne computer-bus naar buiten over te brengen of omgekeerd, signalen van buitenaf via de computerbus naar de processor te brengen , Op deze manier staat de computer in verbinding met zijn monitor, zijn keyboard, zijn disk, zijn printer en zijn muis . Of met zijn UNIFACE systeem.

Interfacing

Het aansluiten van randapparaten op de computer noemt men interfacing . Bijna altijd is het daarbij nodig een speciale electronische schakeling te maken , die de besturingssignalen uit de computer aanpast , zodat het randapparaat die begrijpt. Omgekeerd worden hierin ook de signalen van het randapparaat vertaald zodat de computer daarmee overweg kan . Zulke aanpasschakelingen, interfaces dus, bestaan in principe altijd uit twee delen . Het ene deel vormt de signalen uit de computer om tot een gemakkelijk te hanteren tussenvorm en/of past de tussenvorm signalen aan voor het gebruik van de computer . Deze tussenvorm is vrijwel altijd uitgevoerd als acht parallelle draden , waarover een getal gaat. Het andere deel van de interface past de tussenvorm aan de vorm zoals de buitenwereld die nodig heeft. Meestal is het zo dat de tussenvorm helemaal niet van buiten af zichtbaar is . Deze bestaat alleen op de print, waarop de interface is gebouwd, of hij bestaat alleen maar binnen in een IC . Dit laatste is zo in bijvoorbeeld de moderne UART’s.

Scheiding van de twee delen

UNIFACE berust op het principe van de werkelijke scheiding van de twee delen. Bij UNIFACE heb je dus altijd twee dingen nodig. Het ene ding heet het computerdeel. Het is specifiek gemaakt voor de computer waarbij hij hoort . Zo is er een computerdeel voor de Philips P2000 computer , een computerdeel voor de MSX computer , voor de Commodore 64/128 en voor de I.B.M. compatibel’s. Deze computerdelen hebben verschillend gevormde connectors, want die moeten passen in de verschillende computers . Aan de andere kant van deze delen zit een connector , de UNIFACE-bus, die voor alle delen hetzelfde is . Hier vinden we in een acht bits parallelle tussenvorm , de commando’s voor de buitenwereld en tevens de meldingen vanuit de buitenwereld in die vorm . Hierop kan het aanpassingsdeel voor die buitenwereld aangesloten worden . Dit kan bestaan uit simpele geschakelde spanningsversterkers , maar ook D/A en A/D-omzetters of thyristor sterkstroom-regelingen. Bij UNIFACE is het mogelijk een groot aantal van deze buiten-werelddelen tegelijkertijd aan te sluiten . Een groot voordeel van de splitsing van de twee delen is , dat het niet nodig is alles te vervangen als je ineens besluit een andere computer te gaan gebruiken . Het enige dat dan moet worden vervangen is het computerdeel.

PC computer-deel
MSX computer-deel

Opbouw

Het UNIFACE systeem bestaat primair bestaat uit een stukje electronica waarop twee I/O-poorten voorkomen . En iedere I/O poort is in staat een byte input en een byte output uit te wisselen met de buitenwereld . Het genoemde stukje electronica wordt op de computer gesloten via een cartridge (bij de P2000 , MSX en commodore computers of via een insteekkaart bij de P.C. Het wordt het computerdeel of het interface van het UNIFACE systeem genoemd . Het vormt de verbinding tussen de computer-bus en de UNIFACE-bus . Beide bussen zijn groepen draden waarover door middel van elektrische spanningen informatie wordt doorgegeven en beide bussen hebben gemeenschappelijk dat een aantal draden adreslijnen zijn , andere datalijnen en controlelijnen. Er zijn ook grote verschillen tussen beide bussen . Zo is de computerbus dynamisch , d.w.z. met de frequentie van de computerklok verandert min of meer automatisch de informatie op de draden van de bus. De UNIFACE-bus is statisch . De erop voorkomende informatie in de vorm van elektrische spanningen blijft onveranderd in de tijd, totdat bewust een opdracht gegeven wordt de informatie te vervangen door andere informatie . Een ander verschil is , dat bij de computerbus signalen naar de processor toe en signalen afkomstig van de processor over dezelfde lijnen wordt getransporteerd . Controlelijnen geven dan de richting van het transport aan. Bij de UNIFACE-bus zijn de input en output lijnen aparte draden . De computerbus bestaat vaak uit een vijtigtal draden of nog meer. de UNIFACE-bus is iets bescheidener.

Vierendertig Draden

De snelle rekenaar zal beredeneerd hebben dat de UNIFACE-bus bestaat uit tweeëndertig draden , namelijk gescheiden in- en output van twee I/O poorten betekent twee output-bytes van elk acht draden en twee input-bytes van elk eveneens acht draden. Dit is niet zo, het zijn er vierendertig , maar toch iets ingewikkelder . De twee output bytes (van elke I/O poort één) komen als zestien draden voor op de UNFACE-bus . Ook een input-byte is volledig als acht draden aanwezig , maar van de tweede input-byte worden er maar vier gebruikt door het UNIFACE systeem en komen er maar twee voor op de UNIFACE-bus .
De andere twee worden alleen gebruikt op het computerdeel (de interface) . Als we dit optellen komen we op zesentwintig draden . De andere draden zijn zes keer de Aarde en twee keer de vijf Volt-spanning die in de computer aanwezig is . Deze draden worden via de connector verbonden aan een 34-aderige band-kabel. Op deze bandkabel kunnen later diverse applikatieprinten parallel bevestigd worden . Deze bandkabel is dus de UNIFACE-bus.

Hoe bedient de computer de UNIFACE-bus?

Iedere computer beschikt over instructies om I/O-poorten te bedienen , zowel in machinetaal als in hogere computertalen. Voor de Z80O, en de 8088 en aanverwante processoren zijn de instructies simpelweg in de mnemonischetaal “IN nummer” voor input via een I/O-poort en “OUT nummer” voor output via een I/O-poort. Nummer is een getal dat aan de poort wordt toegekend . In BASIC-taal zijn de instructies praktisch gelijk met respectievelijk INP(nummer) voor input en OUT nummer voor output. Voor de 65XX processor en aanverwante zijn de I/O-poorten identiek aan de geheugenplaatsen en worden dezelfde instructies gebruikt als die voor het bediening van het geheugen, bijvoorbeeld in basic-taal de wel bekende PEEK(adres) en POKE adres, getal opdrachten.
Voor de normale werking gebruikt de computer een aantal I/O-poorten, maar er zijn ook een aantal poorten vrij. Van de vrij te gebruiken poorten neemt het UNIFACE-systeem er twee. Wanneer als opdracht naar een van deze poorten een getal gestuurd wordt tussen 0 en 255, dan wordt dit getal in binaire vorm door de betreffende I/O-poort naar de UNIFACE-bus gestuurd.
Op de aangesloten outputlijnen vindt men spanning op de lijn die overeen komt met een bitwaarde 1 van het binaire getal en geen spanning waar de bitwaarde in het getal 0 is. Door met een Voltmeter de spanning van de outputlijnen van de UNIFACE-bus te meten kan men de waarde van het uitgestuurde getal bepalen. Door de outputlijnen te verbinden met de inputlijnen van de UNIFACE-bus is het mogelijk de waarde van het uitgestuurd getal te bepalen door de getalswaarde met een input-instructie naar de betreffende I/O-poort in te lezen in de processor. Het is natuurlijk een onzinnige zaak om informatie naar de UNIFACE-bus te sturen en dan met dezelfde UNIFACE-bus weer in te lezen, maar uiteraard kunnen de UNIFACE-bussen ook van verschillende computers zijn en dan kan je op deze wijze informatie tussen zelfs zeer ongelijksoortige computers uitgewisseld worden, Een datafile kan overgebracht worden van een P2000 naar een PC-AT of een programma van een MSX naar een PC-XT.

Applikatieprinten.

Voorgaand beschreven gebruik van de UNIFACE-bus is geen doel , maar een toevallige neventoepassing . Het doel zijn meet en regel toepassingen en hiervoor zijn een aantal UNIFACE-applikatieprinten ontwikkeld die met behulp van connectoren met de UNIFACE-bus verbonden kunnen worden . Om met de applikatieprinten te kunnen communiceren worden aan de lijnen van de UNIFACE-bus betekenissen toegekend:

-De input en output-lijnen van I/O-poort een worden de data-lijnen.
-De output-lijnen van I/O-poort twee worden de adreslijnen en de vier inputlijnen van deze poort worden statuslijnen, waarvan er dus 2 als draden voorkomen op de UNIFACE-bus.

De applikatieprinten beschikken over een adresdecodering en een adresinstelling die door de gebruiker zelf bepaald wordt tussen 0 en 255 . Dit is in te stellen door middel van dipswiches op de applikatieprint . Wanneer de computer een adreswaarde uitzendt over de adreslijnen van de UNIFACE-bus zullen de aangesloten applikatieprinten dit adres decoderen en bij gelijkheid met hun ingestelde eigen adres worden de datalijnen van de UNIFACE-bus doorverbonden met de geadresseerde uniface-applicatie. Via de datalijnen kan vervolgens de computer informatie naar de geadresseerde applicatie sturen of omgekeerd  informatie uit de applicatie ophalen.

Programmering van de UNIFACE-bus

De programmering wordt behandeld aan de hand van een voorbeeld met een applicatie bij een Personal Computer (IBM compatibel XT of AT). De door het UNIFACE-systeem gebruikte I/O-poorten zijn in dit geval de nummers 784 en 785 (decimaal) voor respectievelijk data in en output, en adressering en statussignalen. (voor andere computers, zie tabel 1 met de corresponderende nummers)

Computer type Databus I/O Adres- en/of statusbus
MSX 1,2,2+ en turbo-r 48 49
P2000 96 97
commodore 64/128 57088 57089
IBM-PC compatible 784 785

Op de applikatieprint wordt willekeurig het adres 100 ingesteld met schakelaars. (het getal 100 wordt hier alleen gebruikt als voorbeeld, voor de juiste waarden, zie Adressering van UNIFACE-applikatieprinten) De computer “vindt” dan de applicatie met het basicstatement: OUT 785,100. Op dat moment komt de inhoud van de UNIFACE data-output-lijnen van de applikatieprint van de computer. Zo brengt het statement OUT 784,144 de waarde 144 in de applikatieprint. Omgekeerd kan de applicatie informatie doorgeven aan de UNIFACE data-input-lijnen. Als deze lijnen doorverbonden zijn op de applikatieprint met een register waarin het getal 210 voorkomt, dan kan de computer dit getal lezen met het basic-statement A=inp(784). De variabele A krijgt hierdoor de waarden 210.
Als andere applikatieprinten gelijktijdig aangesloten zijn op de UNIFACE-bus tijdens deze handelingen, zullen ze niets merken van het gebeuren mits hun ingestelde adres niet gelijk is aan 100. Stel er is een tweede applicatie op adres 200 waar het getal 88 naartoe gestuurd moet worden. Nu moeten er even opgelet worden. Als de applicatie direct geadresseerd wordt dan staat op de output-lijnen van de UNIFACE-bus nog de oude waarde 144. Actualiseren we eerst deze waarde tot 88 dan kunnen we niet voorkomen dat deze al gestuurd wordt naar de applicatie op adres 100, omdat het adres nog niet is aangepast.
Dit probleem wordt opgelost door adressering van een niet bestaande applicatie op bijvoorbeeld adres 0:

OUT 785,0; De-adressering
OUT 784,144; Waarde bestemd voor adres 100
OUT 785,100; Adressering op adres 100
OUT 785,0; De-adressering
OUT 784,88; Waarde voor adres 200
OUT 785,200; Adressering op adres 200
OUT 785,0; De-adressering

Wil men dit allemaal omzeilen, dan is door het werken met sub-routines het een en ander op een zeer comfortabele wijze op te lossen . Het werken met sub-routines zal bij iedere kaart , verderop in dit verslag , afzonderlijk worden verklaard aan de hand van een programmeer voorbeeld .

De statuslijnen

De statuslijnen geven de computer informatie over het UNIFACE-systeem . Er zijn vier statuslijnen op de bits 0 ,1 , 6 en 7 van het status-input-byte op een van de I/O-poorten . Wanneer geen UNIFACE-systeem is aangesloten , dat wil zeggen , er is geen computerdeel (interface) , dan zijn alle statusbits hoog (op de betreffende bits in de ingelezen status-byte wordt de aanwezigheid van een 1 geconstateerd) . Wanneer wel ben interface aanwezig is , maar er is geen applikatieprint geadresseerd , dan levert de status-byte voor de bits 0 en 1 een 1 op en voor de bits 6 en 7 een 0 . Bit 1 wordt 0 , wanneer een applikatieprint is geadresseerd die digitale input verzorgt ; bit 0 wordt 0 , wanneer een applikatieprint is geadresseerd die digitale output verzorgt . Beide bits 0 en 1 worden 0 bij adressering van analoge applikatieprinten . Op deze manier is controleerbaar op een bepaalde applikatieprint door de computer bereikt wordt . Dit kan ook directer door de spanning te meten op het CONTROL-punt op de applikatieprint : bij juiste adressering wordt er op dat punt een spanning van ca. 4 Volt gemeten en bij onjuiste adressering een spanning lager dan 1 Volt . Verder uitleg over het meten op dit zogenaamde CONTROL-punt vindt u verderop bij Adressering van de UNIFACE-applikatieprinten . Zoals gezegd vindt de adressering van de UNIFACE-print plaats in een 8 bits getal , zodat 256 adressen geformuleerd kunnen worden. Alleen voor de 12 bits analoge printen ADC12 en DAC12 zijn ook alle adressen met 8 DIL-schakelaars instelbaar ; voor de andere applikatieprinten is de adresruimte beperkter . Dit is gedaan om zoveel mogelijk te voorkomen , dat per ongeluk twee printen gebruikt worden met een gelijk adres , die dan gelijktijdig connectie krijgen met de UNIFACE-bus . De gevolgen van een programmeerstap zijn dan niet te overzien en zou tot schade kunnen leiden . Daarom is de beschikbare adresruimte verdeeld in 16 blokken van elk 16 adressen . Iedere UNIFACE-applicatie print heeft een eigen adresblok toegewezen gekregen , hiervan zijn 4 adressen instelbaar met een tweepolige DIL-schakelaar op de adresbits 0 en 1 . Door het leggen van doorverbindingen op de bits 2 en 3 van de adressering kan een gebruiker de andere 12 adressen toepassen . Bijvoorbeeld wanneer meer dan 4 printen van gelijke soort aan de UNIFACE-bus worden gebruikt . Doorverbindingen op de adresbits 4 t/m 7 kunnen wel gelegd worden , waardoor er adressen ter beschikking komen , maar dan wordt het geadresseerd in de ruimte die voor andere applikatieprinten is bestemd . Adressering van UNIFACE-printen vindt geinverteerd plaats , d.w.z. sluiting van een adres-bit betekent dat de bitwaarde afgetrokken moet worden van 255 . Geen enkele gesloten adresbit levert dan het adres 255. Voor de verschillende UNIFACE-applikatieprinten zijn de gereserveerde adressen volgens tabel 2.

Tabel 2 (met uitleg)

Het kaartnummer wordt gevormd , door de bijbehorende waarden van de schakelaars cq. eilandjes, die horizontaal verbonden zijn op de applikatieprinten , op te tellen . U kunt dit kaartnummer dus wijzigen door middel van:
-Verandering van instelling DIL-schakelaars.
-Door een andere vaste verbinding te leggen tussen de evenwijdige eilandjes.

de UNIFACE-applikatieprinten worden standaard geleverd met de volgende vaste doorverbindingen:

kaart/print kaart/nr adres invers gesloten bits instelbare adressen reserve adressen
DIGOUT 16 239 4 238/237/236 224 t/m 235
ADC8 32 223 5 222/221/220 208 t/m 219
DAC8 32 191 6 189/187/185 177 t/m 183
DIGIN 128 127 7 126/125/124 112 t/m 123
EXPIO 144 111 4 en 7 110/109/108 96 t/m 107
ADC12 geen 1 t/m 255 n.v.t.
DAC12 geen 1 t/m 255 n.v.t.

1): De ADC12 en de DDAC12 bevatten elk 8 DIL (Dual In Line) schakelaars. Ze hebben geen vaste instelling
2): Voor de sub-routine programmatuur moet het geinverteerde kaartnummer gekozen worden
(zie tabel- Adres/Invers). Het geinverteerde kaartnummer kan men ook verkrijgen
door het kaartnummer van het getal 255 af te trekken (255 – Kaartnummer).

Controle (Kaartnummer test)De werking van een UNIFACE-kaart staat of valt met de instelling van het goede kaartnummer met de dil-schakelaars. Daarom kan een test hierop er nuttig zijn. Zoals u al weet,ontstaat er bij goed adresseren een bedieningssignaal op de kaart. Op de meeste kaarten is dit signaal uitgevoerd via een testpen (zie foto hieronder).
Wanneer u nu op de testpen een hoog-ohmige universeelmeter aansluit en gelijkspanning meet tegen aarde , dan kan met het volgende programma de kaartnummer instelling getest worden . Het programma doet in feite niets anders, dan de kaart met tussenpozen adresseren . De universeelmeter zal dan, als het kaartnummer goed ingesteld is, afwisselend een signaal van ongeveer 4 Volt en een signaal van ongeveer 0,2 Volt te zien geven . Geeft de universeelmeter alleen maar 0,2 Volt aan, dan is de kaartnummer instelling niet goed.

Programma kaartnummer test

Dit programma is in principe geschreven in MSX-basic . Het programma kan gemakkelijk aangepast worden voor andere computers, die op UNIFACE passen, door het adresgetal van de ‘AB’ variabele (=49) te veranderen. Voor de PC wordt dit getal 785 en voor P2000 wordt het 97. (zie tabel 1)

10 'Uniface kaartnummer test m.b.v. Voltmeter 
20 ' 
30 'Geen DATAbus aansturing 
40 'Aansturing Adresbus op adres 49 (AB=49) 
50 ' 
60 ' 
70 AB=49: ' 49=MSX, 785=PC, 97=P2000 80 ' 
90 ' Opvragen kaartnummer plus beveiliging 
100 ' Voor de MSX computer 
110 CLS: INPUT" kaartnummer"; KA 
120 IF KA<=0 OR KA>255 THEN CLS:PRINT"nummer Niet goed: Opnieuw": FOR N=1 TO5000:NEXT N:GOTO 110 
130 ' 
140 ' Waarschuwing 
150 ' 
160 PRINT"De adresbus wordt nu intermitterend aangestuurd." 
170 PRINT:PRINT"(Stoppen met CTRL-BREAK/STOP)" 
180 ' 
190 ' Aansturing adresbus met geinverteerd kaartnummer 
200 ' 
210 OUT AB,255-KA 
220 FOR N=i TO 5:PLAY"a":NEXT N ' Wachtlus en geluidsignaal 
230 OUT AB,O ' Aansturing adresbus met 0 
240 FOR N=i TO 5:PLAY"c":NEXT N ' Wachtlus en geluidsignaal 
250 GOTO 210 ' Opnieuw 
260 END 

Statussignalen.

Er is nog een mogelijkheid om de goede instelling van het kaartnummer te testen. In dat geval hebt u geen Voltmeter nodig, maar wordt er gebruik gemaakt van het feit, dat de statuslijnen een terugmelding geven aan de computer bij het juist adresseren van een UNIFACE-kaart.

OUT X+1, adres:PRINT INP(X+1) AND 195
adres is het geinveerteerde printadres
X is het nummer van het gebruikte I/O poorten

 

De bits 2,3,4 en 5 worden gemarkeerd, omdat deze per definitie ‘1’ kunnen zijn. Dit gebeurt met and 195.

Naam status
DIGIN 1
DIGOUT-mono 2
DIGOUT-bi 2
ADC-8 0
DAC-8 DDAC-8 2
ADC-12 3
DDAC-12 2
EXPIO 0

Bandkabel.

De bandkabel is de “bus” van het UNIFACE-systeem. Deze 34-polige bus dient voor de adressering van maximaal 256 UNIFACE-applikatieprinten, voor het uitwisselen van de data met de applicaties, voor het doorgeven van de status aan de gebruikte computer, en veelal voor de voeding van de applicatie-printen met de +5 Volt afkomstig van de computer.

Aansluitingen

pinnummer functie
1 ground
2 ground
3 t/m 10 Data-uit bit 0 t/m 7
11 statusbit 0
12 + 5 volt
13 t/m 16 Data-in bit 0 t/m 3
17 ground
18 ground
19 t/m 22 Data-in bit 4 t/m 7
23 + 5 volt
24 statusbit 1
25 t/m 32 Adres-bit 0 t/m 7
33 ground
34 ground

Het per ongeluk omkeren van de bandkabel leidt niet tot beschadigingen aan de computer of het UNIFACE printen, omdat de + 5 volt symmetrisch is uitgevoerd. Het UNIFACE-systeem functioneert dan echter niet.

De UNIFACE applikatie printen

Bufferprint

Functie:
Deze print is geen UNIFACE-toepassing, Maar dient om de afstand tussen de applikatieprinten en de computer te kunnen vergroten. Tevens voorkomt de bufferprint een te grote belasting van de computerbus.

De buffers/drivers op de print zorgen voor optimalisatie van de data-overdracht tussen de computer en de applikaties. Tevens kan me deze print de voeding van de UNIFACE-printen losgeschakeld worden van de computer-voeding.

Indien de UNIFACE-printen vanuit de computer van spanning voorzien worden, is de positie van de jumper J1 zodanig, dat de pennen het dichst bij de condensator C4 gebruikt worden. Bij een eigen UNIFACE-voeding gebruikt men de twee pennen die het verst van C4 liggen. De + 5 volt wordt dan gesoldeerd aan het punt ‘+ 5v EXTERN’. De AARDE wordt dan vastgesoldeerd aan het buitenste soldeerpunt van de condensator C4 (kenmerk ELCO electrol. 10 uF/25V)

Programmering:
De bufferprint behoeft geen programmering.

onderdelenlijst:

U1 U2 U3 IC 74LS244 Octal buffer/linedriver
U4 IC 74LS125 Quadruple bus driver
C1 C2 C3 cond. 22 nF Ontkoppelcondensator
C4 cond. 10 uF,25V Elektrol. condensator
R1 R2 weerst. 2K2 Metaalfilm, 0,25w, 5%

DIGIN-print (DIGitale INput kaart)

Functie:
-De DIGIN-print bepaalt of de spanning op een ingang hoger of lager is dan 2,4 Volt
-De DIGIN-print geeft aan of de weerstand tussen een ingang en de ground nul of oneindig is.

Schakelingen:

Het te meten signaal op één van de ingangen wordt via een zogeheten clampschakeling doorgegeven aan een van de bufferversterkers van het IC HEF4049. De weerstand van 1K5 limiteert de ingangsstroom. De weerstand van 560K zorgt ervoor dat een open input de spanning +5 volt krijgt.
De condensator voor bescherming tegen verkeerd pole en te hoge spanningen. De bufferversterker is inverterend,d.w.z. een 0 op de ingang levert een 1 op de uitgang en omgekeerd. De versterker (cmos) ziet
spanningen beneden 2,4 Volt als 0 en spanningen boven 2,4 Volt als een 1.

Technische specificaties:

Stroom verbruik 60 mA
Ingangsimpedantie >10 M ohm
toegelaten ingangsspanning -0,3 – 18 Volt
Ingangscapaciteit 10 nF
Gebruikstemperatuur -40 – +85 ºC
Voedingsspanning 4,8 – 5,2 Volt

Onderdelenlijst:

U1 IC 74LS05 Hex inverter
U2 U3 IC 74LS85 4-bits Comparator
U4 IC 74LS373 Octal latch
U5 U6 IC HEF4049 HEX invert. buffer
R1 R2 weerst. 10K Metaalfilm, 0,25w, 5%
RP1 sil-weerst. SIL10K 9 weerstanden + 1 Common
RP2 RP3 sil-weerst. SIL1K5 4 weerstanden
RP4 sil-weerst. SIL470K 9 weerstanden + 1 Common
I1 I2 I3 I4 I5 I6 condesator 22nF ontkoppel condesator
C1 C2 C3 C4 C5 C6 C7 C8 condesator 10nF CERCAP; 63V
D1 D2 D3 D4 D5 D6 D7 D8 Diode IN4148 Switch diode
D9 D10 D11 D12 D13 D14 D15 D16
X1 34-polige printheader.
SW1 2-polige DIL-SWITCH

10 'Voorbeeld UNIFACE DIGIN
20 ' 
30 'Gemaakt door A.Swets 
40 'Voorbeeld homepage 
50 CLS
60 WIDTH 37
70 KEY OFF 
90 PRINT"     UNIFACE input" 
100PRINT
110PRINT"Dit is een van de vele"
120 PRINT"mogelijkheden van UNIFACE"
130 PRINT
140 PRINT"Door een ingang te bedienen" 
150 PRINT"zal het scherm van kleur" 
160 PRINT"veranderen" 
170 FOR P=1 TO 9 
180 PRINT 
190 NEXT P
200 PRINT"maak uw keuze (1 t/m 8)=" 
210' 
220 KA=128 :'kaartnummer
230 AB=48  :'48=msx
240 GOSUB 400 :'aanroep bedieningsroutine 
250  '  
260 LOCATE 7,13 
270 '
280IF G2=1 THEN COLOR 1,15:PRINT"Zwart op wit"
290IF G2=2 THEN COLOR 1,10:PRINT"Zwart op donkergeel"
300 IF G2=4 THEN COLOR 10,1:PRINT"Donkergeel op zwart"
310IF G2=8 THEN COLOR 15,9:PRINT"Wit op licht rood"
320 IF G2=16 THEN COLOR 8,11:PRINT"Rood op lichtgeel
330 IF G2=32 THEN COLOR 15,2:PRINT"Wit op groen"
340 IF G2=64 THEN COLOR 15,4:PRINT"Wit op donkerblauw"
350IF G2=128 THEN COLOR 8,3:PRINT"Rood op lichtgroen"
360 '
370 G2=0
380 GOTO 220
390 '
400 OUT AB+1,255-KA
410 G2=INP(AB)
420 OUT AB+1,0
430 RETURN

DIGOUT-print (DIGitale OUTput kaart)

Functie:
-De DIGOUT print is een digitale outputprint met 8 digitale uitgangen. Een uitgang die op 1 wordt
gezet ontvangt spanning van een externe voeding
met een toelaatbare spanning tussen 5 en 30 Volt
-Een uitgang op een gezet kan een stroom schakelen tot 0,5 Ampére. De totaalstroom mag echter
niet hoger zijn dan 2
ampere voor alle uitgangen totaal.
Schakeling:
De externe voeding wordt aangesloten op de kroonsteen X3.De naastgelegen diode D zorgt er voor
dat eventuele verwisseling van de + en – geen effect heeft
op de print. U8 stuurt afhankelijk van de bitwaardes van de output 0 t/m 7 de voedingsspanning naar
de uitgangen 0 t/m 7 op de kroonsteen X2.
Op X2 zijn steeds 2 uitgangen afgewisseld met aardes (GND). Stroom kan aan de print onttrokken worden
tussen de + aansluiting op de kroonsteen
en één van de uitgangen door deze nul temaken. Van de voedingsspanning wordt ongeveer 1 Volt gedissipeerd
door de diode en het ic U8.
De uitgangen ziijn beschermd tegen zelfinductiespanning van inductieve belastingen door diodes opgenomen in het IC U8

Technische specificaties:

Stroom verbruik 60 mA
Ingangsimpedantie >10 M ohm
toegelaten ingangsspanning -0,3 – 18 Volt
Ingangscapaciteit 10 nF
Gebruikstemperatuur -40 – +85 ºC
Voedingsspanning 4,8 – 5,2 Volt

Onderdelenlijst:

U1 IC 74LS05 Hex inverter
U2 U3 IC 74LS85 4-bits Comparator
U4 IC 74LS373 Octal latch
U5 U6 IC HEF4049 HEX invert. buffer
R1 R2 weerst. 10K Metaalfilm, 0,25w, 5%
RP1 sil-weerst. SIL10K 9 weerstanden + 1 Common
RP2 RP3 sil-weerst. SIL1K5 4 weerstanden
RP4 sil-weerst. SIL470K 9 weerstanden + 1 Common
I1 I2 I3 I4 I5 I6 condesator 22nF ontkoppel condesator
C1 C2 C3 C4 C5 C6 C7 C8 condesator 10nF CERCAP; 63V
D1 D2 D3 D4 D5 D6 D7 D8 Diode IN4148 Switch diode
D9 D10 D11 D12 D13 D14 D15 D16
X1 34-polige printheader.
SW1 2-polige DIL-SWITCH

10 'Voorbeeld UNIFACE DIGIN
20 ' 
30 'Gemaakt door A.Swets 
40 'Voorbeeld homepage 
50 CLS
60 WIDTH 37
70 KEY OFF 
90 PRINT"     UNIFACE input" 
100PRINT
110PRINT"Dit is een van de vele"
120 PRINT"mogelijkheden van UNIFACE"
130 PRINT
140 PRINT"Door een ingang te bedienen" 
150 PRINT"zal het scherm van kleur" 
160 PRINT"veranderen" 
170 FOR P=1 TO 9 
180 PRINT 
190 NEXT P
200 PRINT"maak uw keuze (1 t/m 8)=" 
210' 
220 KA=128 :'kaartnummer
230 AB=48  :'48=msx
240 GOSUB 400 :'aanroep bedieningsroutine 
250  '  
260 LOCATE 7,13 
270 '
280IF G2=1 THEN COLOR 1,15:PRINT"Zwart op wit"
290IF G2=2 THEN COLOR 1,10:PRINT"Zwart op donkergeel"
300 IF G2=4 THEN COLOR 10,1:PRINT"Donkergeel op zwart"
310IF G2=8 THEN COLOR 15,9:PRINT"Wit op licht rood"
320 IF G2=16 THEN COLOR 8,11:PRINT"Rood op lichtgeel
330 IF G2=32 THEN COLOR 15,2:PRINT"Wit op groen"
340 IF G2=64 THEN COLOR 15,4:PRINT"Wit op donkerblauw"
350IF G2=128 THEN COLOR 8,3:PRINT"Rood op lichtgroen"
360 '
370 G2=0
380 GOTO 220
390 '
400 OUT AB+1,255-KA
410 G2=INP(AB)
420 OUT AB+1,0
430 RETURN

DIGOUT-print (DIGitale OUTput kaart)

Functie:
-De DIGOUT print is een digitale outputprint met 8 digitale uitgangen. Een uitgang die op 1 wordt gezet ontvangt spanning van een externe voeding met een toelaatbare spanning tussen 5 en 30 Volt
-Een uitgang op een gezet kan een stroom schakelen tot 0,5 Ampére. De totaalstroom mag echter niet hoger zijn dan 2 ampere voor alle uitgangen totaal.

Schakeling:
De externe voeding wordt aangesloten op de kroonsteen X3.De naastgelegen diode D zorgt er voor dat eventuele verwisseling van de + en – geen effect heeft op de print. U8 stuurt afhankelijk van de bitwaardes van de output 0 t/m 7 de voedingsspanning naar de uitgangen 0 t/m 7 op de kroonsteen X2.
Op X2 zijn steeds 2 uitgangen afgewisseld met aardes (GND). Stroom kan aan de print onttrokken worden tussen de + aansluiting op de kroonsteen en één van de uitgangen door deze nul temaken. Van de voedingsspanning wordt ongeveer 1 Volt gedissipeerd door de diode en het ic U8.
De uitgangen ziijn beschermd tegen zelfinductiespanning van inductieve belastingen door diodes opgenomen in het IC U8

Technische specificaties:

Stroom verbruik 60 mA
Ingangsimpedantie >10 M ohm
toegelaten ingangsspanning -0,3 – 18 Volt
Ingangscapaciteit 10 nF
Gebruikstemperatuur -40 – +85 ºC
Voedingsspanning 4,8 – 5,2 Volt

Onderdelenlijst:

U1 IC 74LS05 Hex inverter
U2 U3 IC 74LS85 4-bits Comparator
U4 IC 74LS373 Octal latch
U5 U6 IC HEF4049 HEX invert. buffer
R1 R2 weerst. 10K Metaalfilm, 0,25w, 5%
RP1 sil-weerst. SIL10K 9 weerstanden + 1 Common
RP2 RP3 sil-weerst. SIL1K5 4 weerstanden
RP4 sil-weerst. SIL470K 9 weerstanden + 1 Common
I1 I2 I3 I4 I5 I6 condesator 22nF ontkoppel condesator
C1 C2 C3 C4 C5 C6 C7 C8 condesator 10nF CERCAP; 63V
D1 D2 D3 D4 D5 D6 D7 D8 Diode IN4148 Switch diode
D9 D10 D11 D12 D13 D14 D15 D16
X1 34-polige printheader.
SW1 2-polige DIL-SWITCH

10 'Voorbeeld UNIFACE DIGIN
20 ' 
30 'Gemaakt door A.Swets 
40 'Voorbeeld homepage 
50 CLS
60 WIDTH 37
70 KEY OFF 
90 PRINT"     UNIFACE input" 
100PRINT
110PRINT"Dit is een van de vele"
120 PRINT"mogelijkheden van UNIFACE"
130 PRINT
140 PRINT"Door een ingang te bedienen" 
150 PRINT"zal het scherm van kleur" 
160 PRINT"veranderen" 
170 FOR P=1 TO 9 
180 PRINT 
190 NEXT P
200 PRINT"maak uw keuze (1 t/m 8)=" 
210' 
220 KA=128 :'kaartnummer
230 AB=48  :'48=msx
240 GOSUB 400 :'aanroep bedieningsroutine 
250  '  
260 LOCATE 7,13 
270 '
280IF G2=1 THEN COLOR 1,15:PRINT"Zwart op wit"
290IF G2=2 THEN COLOR 1,10:PRINT"Zwart op donkergeel"
300 IF G2=4 THEN COLOR 10,1:PRINT"Donkergeel op zwart"
310IF G2=8 THEN COLOR 15,9:PRINT"Wit op licht rood"
320 IF G2=16 THEN COLOR 8,11:PRINT"Rood op lichtgeel
330 IF G2=32 THEN COLOR 15,2:PRINT"Wit op groen"
340 IF G2=64 THEN COLOR 15,4:PRINT"Wit op donkerblauw"
350IF G2=128 THEN COLOR 8,3:PRINT"Rood op lichtgroen"
360 '
370 G2=0
380 GOTO 220
390 '
400 OUT AB+1,255-KA
410 G2=INP(AB)
420 OUT AB+1,0
430 RETURN