Prvé počítače v SMZ v Lovinobani

Aj takto sa programovalo pred 40 rokmi

 Úvod

Tento príspevok opisuje začiatky aplikácie počítačov v Slovenských magnezitových závodoch , n.p. Košice (SMZ) , závod Lovinobaňa z môjho pohľadu.

Po mojom nástupe do  SMZ 1.8. 1983 som bol zaradený do pozície „Asistent v útvare Technicko-organizačný rozvoj“, kam som sa vrátil v októbri 1984 po absolvovaní základnej vojenskej služby. V tom čase v závode prebiehala realizácia niekoľkých úloh technického rozvoja, ktoré boli riadené z úrovne podnikového riaditeľstva v Košiciach a realizované dodávateľskými  firmami  a niektorými výskumnými ústavmi.  Výpočtová technika bola v závode využívaná len na jednom  automatizovanom pracovisku ( automatický lis HSP2000 so stohovacím zariadením od rakúskej spoločnosti SGP), kde celú činnosť pracoviska riadil priemyselný riadiaci počítač MODICON, ktorý síce riadil pomerne zložité zariadenia, no vo vzťahu k obsluhe aj údržbe bol len „čiernou skrinkou“.

Stav výpočtovej techniky v druhej polovici 80-tych rokov minulého storočia

V osemdesiatich rokoch sa pre automatizáciu administratívnych prác používali okrem sálových zahraničných západných počítačov, ktoré sa kupovali za ťažko dostupné devízy hlavne počítače JSEP (Jednotný systém elektronických počítačov socialistických krajín) a pre riadenie technologických procesov minipočítače SMEP (Systém malých elektronických počítačov socialistických krajín). Tieto počítače boli pre mnohé inštitúcie drahé, neboli okamžite dosažiteľné a ich inštalácia a uvedenie do prevýdzky nebolo jednoduché.

Ale bola to aj doba začiatkov mikropočítačov – spočiatku  8 bitových a neskôr 16 bitových. V Československu to boli napríklad jednodoskový mikropočítač PMI-80 (Tesla Piešťany) alebo niekoľko modelov používajúcich televźny prijímač ako obrazovku a komečný kazetový magnetofón ako vonkajšiu pamäť. Boli to napríklad PMD-85 (Tesla Piešťany) alebo modulárne stavebnice určené pre laboratórne a priemyselné aplikácie ako SAPI-1 (Systém Automatického pořizování Informací TESLA ELTOS DIZ) alebo SPU 800 (ZVT Banská Bystrica).

Prvé kroky v oblasti zaobstarania a nasadzovania výpočtovej techniky vlastnými silami.

Okrem spomenutého riadiaceho počítača v tej dobe ešte neboli vo výrobnom závode využívané žiadne iné počítače. Bolo to na nás, niekoľkých zanietených  fanúšikoch výpočtovej techniky, aby sme dokázali vedenie závodu presvedčiť o užitočnosti  výpočtovej techniky, ideálne  zadovážením konkrétneho hardvéru a  jeho vybavením vhodným softvérom. Cieľom teda  bolo, aby takto vytvorená zostava uľahčovala niektoré rutinné práce administratívnych zamestnancov, resp. abyvykonávala presne definované  činností vo výrobnom technologickom procese.

V tejto fáze sme teda stáli pred nasledovnými úlohami:

  1. Vyšpecifikovať z mála na trhu dostupných typov počítačov vhodný typ (ideálne taký, ktorý by sa dal financovať z prevádzkových nákladov),
  2. zrealizovať proces objednania a nákupu,
  3. vybrať problém, ktorého riešenie by bolo pomocou nie veľmi výkonného hardvéru (základná jednotka + periférie) možné,
  4. uskutočniť analýzu problému a navrhnúť a zrealizovať patričný softvér.

Ako cenovo dostupný systém,  sme na trhu objavili mikropočítač SAPI-1, ktorý sme aj dokázali vo vedení závodu presadiť a následne zakúpiť. Potom to už bolo len na nás, aby sme vedenie závodu presvedčili, že počítač môže byť pre závod prínosom a že peniaze naň vynaložené neboli vyhodené do vzduchu.

Riešenia využívajúce výpočtovú techniku v administratíve

Štúdiom operačného systému počítača SAPI-1 a programu MikroBasic (interpreter v ňom implementovaný) a rozhraniami pre periférie(napr. diaľnopisný konvertor DPK-1) som postupne základnú zostavu dopĺňal o ďalšie periférie. Tak bolo realizované pripojenie diaľnopisu T-100 (slúžil ako potenciálna  tlačiareň pre budúce potreby), neskôr pripojenie tlačiarne CONSUL C2111 ku SAPI-1. To už bol predpoklad na aké-také využitie v administratíve.

Po konzultáciách s výrobným úsekom sa nám javilo ako zmysluplné využiť SAPI-1 (s alfanumerickou klávesnicou ANK-1, magnetopáskovou jednotkou, t.j. upraveným magnetofónom a tlačiarňou C2111) na spracovanie denného výrobného dispečingu (program DISPEČING). V princípe išlo o to, že údaje o výrobe (počty stavív jednotlivých materiálov a tvarov-pozícií), ktoré boli predošlý deň uložené na magnetofónovej kazete sa nahrali do SAPI-1, doplnili sa o  údaje o výrobe za  aktuálny deň, počítač vygeneroval na tlačiarni zostavu o aktuálnych stavoch hotových výrobkov a aktualizované údaje opäť nahral na magnetofónovú kazetu. Proces sa takto opakoval každý deň. Prínos bol v tom, že údajov bolo pomerne veľa a pri ručnom spracovávaní, ktoré navyše trvalo nepomerne dlhšie, dochádzalo  k chybám. Tento program sa vedeniu zapáčil a nám to otvorilo ďalšie možnosti.

Program DISPEČING  sa využíval na dennej báze viac rokov, o čom svedčia zachované výpisy na tlačiarni C2111 z 29.10.1987 (Obr.1) a z 18.1.1993 (Obr.2). Na počítači SAPI-1 som vytvoril aj jednoduchý textový editor, prvý textový editor v SMZ Lovinobaňa, ktorý pomáhal mne aj kolegom vytvárať rôzne jednoduché dokumenty s možnosťou ich tlače. Program DISPEČING postupne prešiel úpravami a neskôr  bol „prenesený“ na počítač Robotron1715, ktorým sme v istom období nahradili SAPI-1. R1715 mal už 2 disketové jednotky a bolo možné ho programovať v jazyku PASCAL, takže práca s ním bola praktickejšia. Myslím, že posledná verzia programu DISPEČING, ktorá  bežala v čase môjho odchodu z magnezitového priemyslu (31.7.1993 – teda presne 10 rokov od nástupu) na PC (asi s procesorom Intel 80386) bola naprogramovaná pomocou „makier“ v programe dBASEIII.

Obr.1: Výpis výstupu z programu Dispečing z roku 1987

Obr. 2: Výpis výstupu z programu Dispečing z roku 1993

Popri programe DISPEČING som postupne na základe požiadaviek kolegov z rôznych úsekov naprogramoval na počítači Robotron 1715 niekoľko aplikácií v jazyku Pascal, z ktorých niektoré sa „ujali“, niektoré nie. Jednalo sa o programy „Spracovanie fakturácie Technického rozvoja počas generálnej opravy tunelovej pece“, „Výpočet noriem počítačom“, „Evidencia vagónov“… Najviac využívaný bol program  „Mincovka“, ktorý veľmi zjednodušil prácu pokladníčkam, keď pre vyplácanie miezd (v tom čase sa mzdy vyplácali v pokladni v hotovosti!) vypočítal zo zadaných jednotlivých miezd potrebný počet tej-ktorej mince, resp. bankovky. Keďže v závode v tom čase pracovalo približne 1200 zamestnancov, ručné počítanie potrebného počtu toho-ktorého platidla bolo asi dosť náročné a nepraktické, takže programu sa pokladníčky celkom potešili.

Riešenia pre technologický výrobný proces

Popri tvorbe programov pre administratívu, cítili sme čoraz viac  potrebu „zapriahnuť“ počítače aj do technologického výrobného procesu. To ale bolo náročnejšie, pretože nájsť  „uzol“ v technológii, kde by nám výroba umožnila zasahovať a experimentovať, nebolo celkom jednoduché. Navyše, stretli sme sa väčšinou s nedôverou obsluhujúceho personálu, ktorý sa obával väčšej kontroly, prípadne možných sankcií v prípade nedodržiavania technologickej disciplíny. Naším cieľom bolo doplniť k výrobnému zariadeniu vhodnú elektroniku (snímače, prevodníky), ktorá by pomocou vhodného počítača (s patričným na mieru vyvinutým softvérom) permanentne monitorovala nejakú dôležitú technologickú veličinu, ktorej „históriu“ by vhodným spôsobom (zodpovedajúcim dostupným prostriedkom) registrovala, resp. poskytovala obsluhe, prípadne technológom, čo malo mať  v konečnom dôsledku dopad na kvalitu výrobkov.

Po konzultáciách s výrobným úsekom padla voľba na zaujímavú úlohu: “Diaľkové meranie tlakov“ v dielni Lisovňa. Táto úloha bola koncipovaná nasledovne:

-náhrada mechanických tlakomerov (vyznačovali sa malou životnosťou a veľkou nepresnosťou, čo priamo ovplyvňovalo kvalitu výrobkov) elektronickými snímačmi s analógovým výstupom 0-20mA,

-doplnenie analógových komparátorov, ktoré porovnávali meraný tlak s predvolenými požadovanými tlakmi pre konkrétny výrobok (na výstupe už poskytovali logickú informáciu „1“= dodržaný tlak, „0“= nedodržaný tlak),

-doplnenie multiplexerov logických signálov (počítalo sa až so vstupmi z 16 lisov)

-pripojenie výstupných logických signálov k počítaču. V prvej fáze, na odlaďovanie programu, sa počítalo s použitím mikropočítača PMI-80, ktorý bol na trhu k dispozícii a bol cenovo vyhovujúci.

-výstupom z počítača mal byť výpis zďalekopisu T100, ktorý by v ktoromkoľvek momente poskytol informácie o tom, koľko lisovaní prebehlo od vynulovania (napr. na začiatku smeny) na jednotlivých lisoch (16kusov) a pri koľkých zalisovaniach bol na tom-ktorom lise zároveň aj dodržaný tlak.

Koncepcia riešenia úlohy diaľkového merania tlakov

Takáto úloha (dnes hravo riešiteľná, napr. akýmkoľvek jednočipovýmkontrolerom) nebola na ten čas a dostupnú techniku celkom triviálna. Podieľali sa na nej viacerí kolegovia-elektrotechnici,  ktorí vedeli odhadnúť potenciál výpočtovej techniky. Bolo rozhodnuté, že funkčnosť sa overí pilotným projektom na jednom lise. Postupne boli zakúpené snímače, vyrobená vzorka analógového komparátra, navrhnuté multiplexery a optické oddeľovacie členy. Pre overenie funkčnosti navrhovaného riešenia(Obr.3) bolo  potrebné „už len“ vytvoriť program pre PMI-80. A to bolo vzhľadom na možnosti PMI-80 celkom náročné.

Samotnému návrhu programu totiž ešte predchádzali ďalšie potrebné kroky, ktoré boli nevyhnutné na to, aby bolo PMI-80 použiteľné.

Obr. 3: Bloková schéma systému pre diaľkové merania tlakov

Náhrada externej pamäťovej jednotky

Prvý problém, ktorý bolo treba vyriešiť, bolo zapamätanie ručne vloženého a  odladeného dielčieho programu (v strojovom jazyku pomocou klávesnice s hexadecimálnom kódom) do nejakej externej pamäťovej jednotky. Program sa po vypnutí PMI-80 z pamäte RAM stratil, pretože z neznámych príčin, naše PMI-80 nebolo vybavené žiadnou takouto jednotkou ani rozhraním. Toto som vyriešil  pomocou SAPI-1 (ktoré malo k dispozícii magnetopáskovú jednotku) tak, že SAPI-1 a PMI-80 som prepojil dvomi vodičmi a prenos zabezpečil krátkymi programami (asi 52Byte). Tieto som musel pred každým prenosom v PMI-80 manuálne „naťukať“ cez klávesnicu a  v SAPI-1 stiahnuť z magnetickej kazety a obidva programy spustiť. Programy boli navyše pre každý smer prenosu (z PMI-80 do SAPI-1 alebo opačne)  dát rozdielne.

Prenos fungoval tak, že prvý vodič „dodával“ sériové data, napr. z  pamäte SAPI-1 ( kam bol už skôr odladený a uložený program načítaný z kazety), druhý vodič bol signál z PMI-80 do SAPI-1 – informácia o tom, že bit „prešiel“. Tento „pokus o sériový prenos dát“ bol síce dosť neštandardný ale bol funkčný a dobre nám poslúžil.

Nahratie programu do pamäte EPROM

Ďalší problém, ktorý bolo treba vyriešiť, aby PMI-80 autonómne pracovalo, bolo napálenie vytvorného a odladený programu do pamäte EPROM MHB 2708 a túto zasunúť do  patričnej pätice na doske PMI-80. V tej dobe ale nebolo možné zakúpiť programátor EPROM. Našťastie, v časopise Sdělovací technika sa náhodou objavil návod, ako sa dá takýto programátor zostrojiť predrôtovaním spojov na vývojovej doske SAPI-1. Podľa návodu som zostrojil hardvér, naprogramoval v SAPI-1 a problém napálenia programu do EPROM bol vyriešený. Program bol vytvorený v jazyku MicroBasic s využitím podprogramu v strojovom kóde. (Obr.4) Na mazanie pamätí EPROM som v prípade potreby používal germicidnú výbojku od kamaráta, ktorý pracoval v nemocnici.

Po zvládnutí popísaných nutných krokov už nič nebránilo vytvoreniu programu pre PMI-80, ktorý by bol schopný realizovať vyššie popísaný „pilotný projekt“, t.j.  jednoduché monitorovanie tlakov a na požiadanie (stlačenie tlačidla), výpis počtu zalisovaní a počtu dodržaných tlakov na 1  lise na ďalekopise T100.

Proces tvorby programu:

Po návrhu vhodného algoritmu a zostavení vývojového diagramu som zostavil program v JSA (jazyku symbolických adries). Následne som  podľa tabuľky strojových inštrukcií tieto inštrukcie preložil do im zodpovedajúcich inštrukčných kódov (v hexadecimálnej sústave)  a doplnil som, na akých adresách bude tá-ktorá inštrukcia umiestnená. Tieto operačné (inštrukčné) kódy  som v PMI-80 postupne zadal  z klávesnice na patričné miesta v  pamäti. Po spustení takto zadaného programu (od počiatočnej adresy v pamäti) počítač PMI-80 program vykonával. V prípade, že činnosť PMI-80 bola korektná (počítač vykonával to, čo som od neho požadoval),  pokladal som danú časť programu za odladenú.

Obr. 4: Zdrojový kód aplikácie programátora EPROM pre počítač SAPI-1

Buď som následne doplnil ďalšiu časť zdrojového kódu a program znovu spúšťal a odlaďoval alebo som takto odladenú časť programu uložil (kvôli ďalšiemu vývoju) pomocou vyššie popísaného postupu na magnetickú kazetu ako externú pamäťovú jednotku počítača SAPI-1.  V prípade, že som (napr. o nejaký čas neskôr) chcel pokračovať, prehral som uloženú časť programu z kazety do SAPI-1 a odtiaľ späť do pamäte PMI-80. Bolo to pracné, ale fungovalo to.

Keď bol celý program odladený, bolo potrebné ho „napáliť“ do EPROM, aby bol v PMI-80 vždy po zapnutí k dispozícii. Dnes, po takmer 30-tich rokoch, už neviem, prečo bol programátor naprogramovaný tak, že nedokázal „napáliť“ súbor zadaný v hexadecimálnom kóde, takže program napísaný na papieri v hexadecimálom kóde som musel ručne preložiť do dvojkového kódu a prepísať do počítača SAPI-1, ktorý ho v tejto podobe napálil do EPROM MHB 2716. Po vložení EPROM s programom do PMI-80 a zapnutí,  počítač začal tento program automaticky vykonávať. Neskôr bol program pre obsluhu  programátora EPROM upravený tak, že dokázal  EPROM napáliť priamo z hexadecimálnych hodnôt.

Dnes sa mi to zdá neuveriteľne zložité, ale viedlo to k cieľu a po nejakom čase sme mohli pristúpiť k testovaniu „pilotného projektu“ v praxi. Boli sme veľmi blízko k cieľu, o čom svedčí aj výpis z diaľnopisu (Obr.5), no v tejto fáze sme narazili  na veľmi tvrdý odpor personálu obsluhujúceho daný lis. Tento problém bol väčší než všetky technické problémy, väčší, ako sme si mysleli a väčší, ako sme boli schopní prekonať a tak v konečnom dôsledku sme po niekoľkých pokusoch „boj s obsluhou“ vzdali a doriešenie úlohy sme odložili na neurčito. Na riešenie sme síce vynaložili veľmi veľa času a úsilia, no pozitívom bolo to, že sme sa pri tom veľmi veľa naučili.

Obr. 5: Výpis výstupu programu pilotnej aplikácie pre meranie tlakov na ďalekopise T100

Aplikácia s jednodoskovým počítačom s jednočipovýmmikropočítačom

Princíp ručného prekladu programu, napísaného v jazyku symbolických adries a odladeného na jednodoskovom mikropočítači SB 8035, ktorý vyrábal Výskumný ústav TESLA VRÚSE (Výskumný realizačný ústav slaboprúdovej elektroniky)v Bratislave do hexadecimálnej podoby som využil konštrukcii melodického zvončeka s jednočipovým mikropočítačom MHB 8048 (Obr. 6). Zápis programu v JSA a jeho manuálny preklad do strojového jazyka mikroprocesora MH8035, zapísanom v hexadecimálnom kóde je na obr.7 a 8.

Po mojom odchode z „magnezitky“ do privátnej sféry zostali moje počítačové prvotiny k dispozícii mojim nasledovníkom a o ich osude už veľa neviem. V každom prípade, pre mňa boli veľkou školou mikroprocesorovej techniky a pre niektorých mojich kolegov prvým kontaktom s technikou, ktorá následne zaplavila a zmenila svet.

Obr. 6: Schéma melodického zvončeka na báze jednočipového počítača MHB 8048

Obr. 7: Časť programu melodického zvončeka v JSA (vľavo) a strojovom kóde (vpravo)

Obr. 8 : Celý program melodického zvončeka v JSA a strojovom kóde

Ing. MiroslavZiman          miroslav.ziman@slovanet.sk

Komentáre sú uzavreté.