83 IZVEDBA IN UPORABA POSEBNE FUNKCIONALNO ZASNOVANE INFORMATICA 1/91 RAČUNALNIŠKE TIPKOVNICE ZA MREŽO OSEBNIH RAČUNALNIKOV Mario Baar Keywords: special functional computer keyboard, distributed Institut »Jožef Štefan« computer network. Ljubljana V članku je opisan primer načrtovanja, -¿gradbe in realizacije posebne funkcionalno zasnovane računalniške tipkovnice (v nadaljnem tekstu računalniški komandni pult), ki je hkrati povezana na več posebno prirejenih osebnih računalnikov, ki so del distribuiranega računalniškega sistema za nadzor in vodenje kompleksnega industrijskega procesa. Opisana je rešitev tehničnega problema priključitve računalniškega komandnega pulta na osebni računalnik, pri čemer je omogočena uporaba obstoječe programske podpore klasične računalniške tipkovnice osebnega računalnika, dopuščena je možnost simuliranja računalniškega komandnega pulta s klasično tipkovnico, poleg Lega pa ni potrebna uporaba dodatnih komunikacijskih vmesnikov. Podan je namen uporabe računalniškega komandnega pulta v industriji in pojasnjena njegova povezava na distribuirán računalniški sistem preko posebnih elektronskih stikal na (običajne) tipkovnične vhode osebnih računalnikov. Pojasnjen je osnovni namen centralizacije vseh funkcij industrijskega procesa na enem (centralnem) mestu, kako je dosežena kar največja preglednost nad stanjem v industrijskem procesu in na kakšen način je lahko poenostavljen nadzor in vodenje takega procesa. DESIGN AND IMPLEMENTION OF SPECIAL FUNCTIONAL DESIGNED COMPUTER KEYBOARD USED BY COMPUTER NETWORK. This paper describes an example how to design, construct and realize special functional designed computer keyboard (in further text computer command keyboard), which is simultaneously connected to several specially prepared personal computers, as a part of distributed computer system for supervising and control of a complex industrial process. The solution of technical problem dealing with connection the computer command keyboard to personal computer is described. It. is also given t.he possibility-to use the existing software support of personal computer for classical computer keyboard, and beside that, it is no need to use any optional communication interface. It is given the purpose of using the computer command keyboard in the industry enviroment, it is explained its connection to distributed computer system via electronic switches to (usual) computer keyboard inputs of distributed computer system, howewer, the main purpose of computer command keyboard is to centralize and control all supervising functions in one (central) place arid to gain maximum overlook and simplification of control of such a process. 1. UVOD Članek podaja pristop k razvoju, izvedbi in uporabi posebne funkcionalno zasnovane računalniške tipkovnice (v nadaljnem.tekstu računalniški komandni pult), ki omogoča komunikacijo med operaterjem in distribuiranim računalniškim sistemom. Distribuiran računalniški sistem je sestavljen iz večjega števila posebno prirejenih osebnih računalnikov tipa IBM PC/XT, PC/AT ali kompat i bi 1ni h računalnikov (ti tvorijo tako imenovani centralni računalniški sistem) in drugih (procesnih) računalnikov (ti tvorijo tako imenovani podrejeni računalniški sistem), pri čemer so vsi povezani v skupno računalniško mrežo. Centralni računalniški sistem torej dobiva podatke o trenutnem stanju v industrijskem procesu preko računalniške mreže (oziroma preko podrejenega računalniškega sistema) in na osnovi teli informacij omogoča operaterju vodenje in nadzor takega procesa. Ker so posamezne funkcije nadzora in vodenja procesa porazdeljene inc-d več računalnikov centralnega računalniškega sistema, -je vodenje le-tega brez računalniškega komandnega pulta praktično neizvedljivo. V tem članku je opisana komunikacija 'računalniškega komandnega pulta s centralnim računalniškim sistemom preko običajnih tipkov-ničnih vhodov posebno prirejenih osebnih računalnikov. Preko računalniškega komandnega pul- ta je možno industrijski proces enostavno nadzorovati in voditi, pri čemer je le-ta svojo uporabnost pokazal tudi že na realnem objektu. /1/ 2.1 DISTRIBUIRANI RAČUNALNIŠKI SISTEMI Pri.distribuiranih računalniških sistemih nastopi problem, kako nadzorovati in voditi določen kompleksen industrijski proces, če so posamezne funkcije vodenja porazdeljene med več računalnikov. To pomeni, da bi moral operater, ki vodi industrijski proces ter vnaša podatke v računalniški sistem, točno vedeti, na kateri računalnik centralnega računalniškega sistema naj pošlje določen ukaz ali zahtevo, pri čemer pa bi moral ukaz odtipkati na točno določeno računalniško tipkovnico. Ker bi moral vnašati podatke preko običajnih računalniških tipkovnic, bi moral poznati tudi kodo posamezne tii^ke, ki izvaja neko določeno funkcijo vodenja. Tak način vodenja procesa bi bil izredno nepregleden, saj bi prihajalo do pogostih napak, ki bi lahko povzročile nenazadnje tudi gospodarsko škodo. Računalniški komandni pult omogoči centralizacijo vseh funkcij vodenja in nadzora, poenostavi vnos podatkov, omogoči veliko preglednost ter signalizira vse 84 .Slika 1: Komunikacija računalniškega komandnega pulta s tremi osebnimi računalniki moreb i t.ne napake, ki bi se lahko pojavile pri VHOSII podatkov. 2.2 TEMRI .JNI PROBLEM KOMUNIKACIJE N« j l c 2 j i piohlem, ki ga je bilo potrebno rešiti, jt- roal i zai- i ja komuni kacj je računalniško ¡¿h I-... in; i i i • 31 n.- ii. t pu 1 lii * '■'.*ii I t ■ -si 1 n i m računal ni šk i m ■• i s I einom pi.-l.i.> običajnih I i pkovničnih vhodov <. ■ :r. * .■ I.111 i 11 i o mi,i ] n i k> p v , pri čemer pa morajo osl.a-li klasično računalniške Lipkovnice ves čas ob-raLovanja -:isteiiia priključen«?. Njihova priključitev j'.- potrebna zaradi možnosti dograjevanja i n popi a'. 1 jan ja računalniške programske opreme, servisiranja in drugih potreb ter zaradi enosmerne kuiiiuii i kac i je računalniškega komandega pulta s centralnim računalniškim sistemom. Tri rešitvi komunikacije preko L ipkovnični h vhodov je namreč s stališča osebnega računalnika vseeno, ali duhi podatek od svoje (klasične)' računalniške tipkovnice ali preko računalniškega komandnega pulta. Ta komunikacija je izvedena s pomočjo posebnega vonja iu elektronskih stikal, ki se preklopijo v trenutku, ko računalniški komandni pult pošlje sekvenco impulzov na določen osebni računalnik. Po prenehanju prenosa, se ta slikala postavijo ponovno v osnovni položaj in omogočijo vpis podatkov preko običajne računalniške tipkovnice. 3. RES EVAN.IF TEHNIČNEGA PROBLEMA 3.1 REŠITVE V TUJINI Pri vodenju industrijskih procesov z distribui-ranimi računalniškimi sistemi tudi v tujini pogosto uporabljajo računalniške komandne pulte,' ki omogočajo enostavno vodenje industrijskega procesa z enega centralnega mesta. Ti sistemi so razviti za specifične naloge v procesni industriji in se v splošnem precej razlikujejo po svoji zgradbi. Večina d i stribuirani h sistemov, ki se uporabljajo v celulozni in papirni industriji imajo običajno svoj centralni računalniški del sistema kompakten (sestavljen iz enega zmogljivega računalnika npr.: VAX, PDP ali drugi računalniki), medtem ko so podrejni deli teh računalniških sistemov sestavljeni iz manjšega ali večjega števila raprocesnih Cunalni- procesa oziroma jih pošiljajo nazaj v proces /2/, /3/, /-I/. Redkeje zasledimo uporabo posebno prirejenih osebnih računalnikov (industrijska izvedba), ki so namenjeni za določene specifične naloge pri nadzoru in vodenju procesov . V literaturi do sedaj nismo zasledili kakSne podobne rešitve vodenja industrijskega procesa preko tipkovničnih vhodov osebnih računalnikov, ki tvorijo centralni del d i stribuiranega računalniškega sistema. Ta specifična rešitev je vezana na specifičen distribuirani računalniški sistem, ki je bil razvit v okviru Instituta "Jožef Štefan", Ljubljana in podjetja INEA, Domžale. 3.2 GLAVNI CILJI KOMUNIKACIJE Glavni cilji komunikacije med računalniškim komandnim pultom in centralnim računalniškim sistemom so bili sledeči: - komunikacija računalniškega komandnega pulta naj ne moti uporabe posameznih klasičnih računalniških tipkovnic, ki ostanejo priključene ves čas obratovanja sistema; - distribuirán računalniški sistem naj ne čuti, da je na sistem priključen računalniški komandni pult; - računalniški komandni pult naj se vključi v sistem le takrat, ko oddaja informacijo enemu od računalnikov centralnega računalniškega sistema; - programska oprema v računalniškem komandnem pultu naj odloča o tem, ali je vpisana sekvenca tipk pravilna ali ne, oziroma, kateremu računalniku centralnega računalniškega sistema naj bo določen podatek poslan ; - napake pri vpisovanju določenih sek-venc tipk v računalniški komandni pult naj povzročijo zvočni alarm, vrsta napake pa se izpiše na posebnem numeričnem zaslonu, ki je vgrajen v računalniški komandni pult. - večzložni ukazi (zaporedje pritis-njenih tipk) naj se shranjuje v interni pomnilnik računalniškega ko- 85 mandnega pulta in se avtomatsko aktivira šele takrat, ko je sekvenca vnosa podatkov zaključena. S • tem, ko priključimo, rač unulni Sk i -komandn i pult na centralni računalniški sistem, pa niso dostopne vse prvotne funkcije klasičnih računalniških tipkovnic. Računalniški komandni pult je prirejen določenemu industrijskemu procesu in vsebuje le take funkcijske tipke, ki so potrebne za vodenje le-tega. 4. RAZLAGA BLOKOVNE SHEME VEZJA ZA KOMUNIKACIJO Slika 1 prikazuje elektronsko vezje v obliki, blokovne sheme z vrisanimi smermi signalov in s tremi računalniki tipa IBM PC/XT a.li PC/AT, (centralni računalniški sistem) ter s pripadajočimi klasičnimi računalniški mi tipkovnicami ter TIPKOVNICO RKP (tipkovnica računalniškega komandnega pulta). Ob pritisku na tipko TIPKOVNICE RKP se informacija o pr.i t.i sn jeni tipki pretvori v vezju 3 v ustrezno obliko, ki jo lahko sprejme mikroprocesor 1 preko podatkovnega in kontrolnega vodila.Vezje 3 je lahko aktivirano le, če dobi izbirni signal iz dekoderja 4 (13), dekoder pa mora prejeti od procesorja 1 ustrezen naslov po naslovnem vodilu. Informacije o pri tisnjenih tipkah na TIPKOVNICI RKP se v zaporedju shranjujejo v pomnilniku 2, kamor se prenašajo po podatkovnem, naslovnem in kontrolnem vodilu ter se ob končani sekvenci (do treh zaporednih pri-tisnjenih tipk) prenesejo preko podatkovnega vodila v komunikacijsko vezje 5. Njegova naloga je, da pretvori paralelni zapis podatka (od D7 DO) v pripadajočo serijsko obliko (vlak. impulzov s start bitom, paritetnim bitom in stop bitom). Vezje 5 pa lahko izvede pretvorbo le, če dobi ustrezne signale iz procesorja 1 po podatkovnem in kontrolnem vodilu, izbirni signal II preko dekoderja 4 (dekoder je aktiven ob določenem naslovu na naslovnem vodilu) in impulze oddajne ure (OU) od vezja 6. Podatke od mikroprocesorja 1 lahko vezje 5 sprejme le, če je njegov sprejemni register prazen. Signal ure (U), ki je prosto tekoč vlak impulzov polovične frekvence kristalnega oscilatorja vezanega na •mikroprocesor 1, se deli s pomočjo delilnika frekvence 7 v impulze vhodne ure (VU), ta pa določa hitrost prenosa podatkov od računalniškega komandnega pulta proti osebnim računalnikom. (Prenosna hitrost je običajno nastavljena na 9C00 Baudov). V vezju C se impulzi modificirajo v obliko oddajne ure (OU), ki ima točno število impulzov, ki začno teči ob točno določenem času. Vezje 6 pa lahko deluje le, če mu je komunikacijsko vezje 5 oddalo impulz, da je oddajnik vezja 5 prazen (OP) in da lahko mikroprocesor 1 pošljenasledni blok podatkov po podatkovnem vodilu. Usklajevanje med mikroprocesorjem 1 in komunikacijskim vezjem 5 poteka po kontrolnem vodilu. Vezje 6 oddaja vezju 10 impulze po liniji Ui.2,3, ki so impulzi ure skupni za vse tri računalnike. Podatke v pre-tvorjeni obliki pošlje komunikacijski blok 5 preko svojega izhoda Pi,2,3 na vezje 8. Ta izhod je za vse tri osebne računalnike tipa skupen. Vezje 8 ima nalogo, da razdeli signal podatkov Pi, 2 , 3 na tri ločene linije t.j. Pi, P2, Pa, kjer predstavlja Pi podatkovno linijo za prenos 'podatkov na računalnik centralnega sistema z oznako 1, P2 na računalnik z oznako 2 itd. Na vezju 8 so dostopne preveze na plošči tiskanega vezja, kjer se za vsako linijo posebej (Pi, P2, Pa ) lahko nastavi tip posameznega centralnega računalnika. Kontrolno vezje 9 generira kontrolne signale Ci, C2 in C31 od katerih je lahko vsak aktiven ali neaktiven. Kateri od kontrolnih signalov bo akti- ven določa "mikroproccsor 1, informacijo o tem pa dobi vezje 9 preko podatkovnega vodila ob času, ko je aktiviran izbirni signal 12. (Ta je aktiven ob določenem naslovu na naslovnem vodilu.) Vezje 10 razdeli signal ure (Ui,2,.i) na tri enake signale Ui , U2 in , sprejme podatke Pi, P2 , P3 od bloka 8 in kontrolne signale Ci C2 in C3 od vezja 9. Poleg omenjenega vsebuje še posebno logiko, ki omogoči prehod določenega para podatek - ura (npr.: Ui , Pi ob aktivnem kontrolnem signalu Ci ) skozi vezje 10. Vezje 11 vsebuje ojačevalnike kontrolnih signalov Ci, C2 in C3 za odpiranje oziroma zapiranje elektronskih stikal MSI do MS6, Vezji 10 in 11 poleg opisanega vsebujeta tudi optične ločilne elemente, ki galvansko ločijo elektronska vezja računalniškega komandnega pulta od "zunanjega" računalniškega sistema. Kot je bilo že omenjeno, kontrolni signali Ci, C2 in C3 iz vezja-11 nadzorujejo odpiranje in. zapiranje parov elektronskih (MOSFET) stikal MSI in MS2, MS3 in MS! oziroma MS 5 in M S C. Ob neaktivnih signalih Ci , C2 ali. C3, so stikala v zgornjem položaju tako, da povezujejo signale klasične tipkovnice in TIPKOVNICE RKP z ustreznim računalnikom centralnega računalniškega sistema, V primeru, če pa je kateri od kontrolnih signalov aktiven, se postavi ustrezno elektronsko stikalo v zgornji položaj, kot je narisano na sliki 1. V tem primeru je izbrani računalnik povezan samo na TIPKOVNICO RKP, po koncu prenosa informacije (ta traja pribljižno 0.5 sekunde) pa se elektronsko stikalo ponovno preklopi v smei;i puščice na sliki 1, Popreklopu stikala v osnovni položaj, je možno podatke vpisovati preko klasične računalniške tipkovnice. 5. IZKUŠNJE PRI VGRADNJI SISTEMA 5.1 VLOGA OPERATERJA PRI VODENJU Operater, kateremu je računalniški komandni pult namenjen, je razbremenjen cele vrste nalog in opravil, ki bi jih imel pri vodenju sistema preko več klasičnih računalniških tipkovnic. Računalniški komandni pult združuje torej vse funkcije vodenja in nadzora na enem mestu. Hkrati opozarja operaterja na napake pri vodenju, omogoča dobro preglednost nad stanjem v proce.su in vodi operaterja od tipke do tipke ob vpisu večzložnili (zaporednih) ukazov . Operater ima na računalniškem komandnem pultu grupirane tipke v obliki polj (Glej sliko 2). Polja so obdana z okvirjem z zaobljenimi robovi, ki je pretrgana na zgornji strani. Na tem inestu je vnešen napis za določeno polje. Vsaka od tipk v polju ima na svoji čelni strani označeno tudi svojo lastno funkcijo oziroma pomen, po katerem se operater orientira. Vodenje preko računalniškega komandnega pulta poteka na več različnih načinov, pri čemer so lahko ukazi enozložni, dvozložni ali večzložni. Kateri od navedenih tipov ukazov je aktiven je odvisno od same funkcije vodenja. Za ilustracijo navajam primer večzložnega ukaza: - operater izbere npr. tipko za vpis kappa števila (število pove stopnjo kuh-a-nosti celuloze), pri čemer se aktivira rumena svetleča dioda v zgornjem levem kotu te tipke; - ob aktiviranju tipke KAPFA začnejo utripati zelene svetleče diode v polju KUHALNIKI IN LINIJE in sicer na tipkah: K3, K4, K5, K6, K7, K8 in K9, ki signalizirajo operaterju, katero od tipk lahko v tem naslednjem trenutku izbere; - če operater aktivira tipko K3, pomeni, 86 Slika 2: Izgled računalniškega komandnega pulta od zgoraj ±J IZIIIItA NAilNA VOIIKNJA □ I'liruiirn K I al UEEU • VHKDNOTKNMK• Ti h H Itm. ll'OK I I'tl. I l-AJli I I'OMdC I'Ul VOIIKNJU mm l)SNO\NI 1'ODAThl J' I (IK A"/. I STANJA ¡..t 1 •'.! L.J • r v vi TPi institut ## "joM-f Ntefkn • • ijuliljmi» • jilROnl« vijn ED • prikazovalnik ■ fcws TIS* Vod *4Rt> OBR * • ■ ■ ■ VNOS roiMTKDV ■ da velja vpis kappa števila za kuhalnik na prikazovalnilcu pa se pojavijo ■'['I iif, ki |iov('ilo i da ji,- l robu vnos! i vrednost. kappa Slovi.la preko polja VNOS PODATKOV; - vpišemo neko število npr. : 29.-1, nato pritisnemo tipko VPIS; - podatki sc prenesejo na ustrezen računalnik Centralnega računalniškega sistema . Oli napačnih vpisih podatkov se pojavi na prikazoval, ni ku izpis napak« v obliki, kode, hkrati pa na naprav iluo stanje opozori zvočni signal. G. UPORABA RAČUNALNIŠKEGA KOMANPNEGA PULTA G. 1 H02N0ST PRIKLJUČITVE VEC RAČUNALNIKOV Na računalniški komandni pult je mogoče v splošnem priključiti poljubno število osebnih računalnikov, ki so vezani v mrežo, Le-ti so lahko vezani v pol j ubitem medsebojnem vrstnem redu oziroma medsebojni kombinaciji. Seveda je pri. računalniškem komandnem pultu potrebno povečati število podatkovnih izhodov Pi,»,3,4, število izhodov za impulze ure Ui , 2 , :i . 1 , število kontrolnih izhodov Ci.11,1,4, ter povečati število elektronskih stikal (MOSFET), pač glede na število vezanih osebnih računalnikov. Pri tem je potrebno izračunati obremenitev posameznih izhodov integriranih vezij in jih s pomočjo ojačevalnikov (tudi močnostnih) priredi Li velikosti bremen. 6.2 ZANESLJIVOST DELOVANJA V PRAKSI Zanesljivost elektronskega vezja za komunikacijo računalniškega komandnega pulta s tremi računalniki lipa IBM PC/XT ali PC/AT je bila dosežena v praksi in je zadovoljila vsem željam in zahtevam tako načrtovalcev kot tudi uporabnikov. Specifičnim željam in zahtevam investitorja se je mogoče prilagajati s spremembami na računalniški programski opremi. Pri zamenjavi programa računalniškega komandnega pulta je potrebno v samem komandnem- pultu zamenjati pomriilriiško integrirano vezje (EPROM), ki je bil 2e predhodno programiran v laboratorijskem okolju in preizkušen na prototipni izvedbi računalniškega komandnega pulta. V praksi se je koncept komunikacije preko tip-kovničnih vhodov posameznih centralnih računalnikov izkazal za zelo zanesljivega in po instalaciji v industrijskem okolju z njim nismo imeli nikakršnih problemov. 6.3 UPORABNOST RKP ZA SPLOŠNEGA NAROČNIKA Za načrtovalca računalniških sistemov in uporabnika le-teh je verjetno zanimiva ideja zamenjave klasične računalniške tipkovnice na enem centralnem računalniku (t.j. tipa IBM PC/XT ali PC/AT) za vodenje procesa s posebno funkcijsko tipkovnico (t.i. računalniškim komandnim pultom), ki je prilagojena specifičnim potrebam v industrijskem okolju. V poročilu je opisan koncept materialne opreme računalniškega komandnega pulta s poudarkom na njegovi povezavi na tri industrijsko prirejene osebne računalnike in sicer preko tipkovničnih vhodov ter s priključenimi klasičnimi računalniškimi tipkovnicami. Pri komunikaciji računalniškega komandnega pulta s centralnim računalniškim sistemom preko Lipkovničnega vhoda računalnikov je bilo treba rešiti celo vrsto problemov, ki so vezani na generacijo impulzov in so vezani na konfiguracijo materialne opreme. Eden takih problemov je bil prenos impulzov podatkov za računalnike tipa IBM PC/XT, ki se razlikujejo od impulzov za računalnike tipa IBM PC/AT. Ta problem smo reSili s posebnim vezjem in z nastavljivimi prevezami, ki omogočijo definirunje enega od obeh tipov računalnikov za vsak klju-pričeni računalnik. Napajanje elektronskih stikal, katera omogočajo priključitev računalniškega komandnega pulta na tipkovnične vhode osebnih računalnikov, smo rešili tako, da niso odvisna od napajalne napetosti računalniškega komandnega pulta. Izklop računalniškega komandnega pulta bi namreč povzročil blokiranje vpisa preko klasične računalniške tipkovnice. Poleg omenjenega se v splošnem lahko zgodi, da je eden od centralnih računalnikov izklopljen (nima napajalne napeLosti). V tem 87 primeru naj bi. ostali centralni računalniki ilclal i. ne mu U-no ali lo-eko računa 1 n i SketJu komandnega pulta ali pa preko klasičnih računalniški)) (. i pko\n ic . Ta problem smo rešili- z napajanjem vsakega posameznega elektronskega stikala preko napajalnih linij centralnih računal 11 i.kov . 7 . ■ ZAKLJUČEK Računalniški komandni pult smo razvili na Odseku';:« računalniško avtomatizacijo in regulacije in je bil namenjen pri konkretnem projektu R-.ič ima 1 n i š ku av turna t j zac i j a kuhanja celuloze v podjetju VIPEMi KrSko. Računalniški komandni' inilt je bil vgrajen v d is tribui rani računa 1ni S k i sistem ob zaključku leta 1989. 8. LITERATURA: /1 / M. Baar, J. Cernetič, V. Jovan, 0. Goderia, S. Strmčnik in N. Hvala: Računalniška avtomatizacija kuhanja celuloze v podjetju VIDEM, Krško - dopolnitev Idejnega projek-. ta za II. in III. etapo, Institut "Jožef Stefan", 1987, 1988; /2/ VALMET Co.: DAMATIC AUTOMATION SYSTEM (Instruments Works) 1984; /3/ VALMET Instruments and System, 1984; /4/ Alcont: The Total Proce'ss Monitoring and Control System, 1985;