UDK 621.3:(53+54 +621 + 66), ISSN 0952-9045 Informacije MIDEM 19(1989)2, Ljubljana
INDUSTRIJSKI MIKRORACUNALNISKI KRMILNIK
M. Colnarié, M.GerkeS, J.Gyérkés, P.Kokol, K.Rizman,
LRozman, B.Vukelié, A.Zorman, V.Zumer
Kijuéne basede: miktoragunalnisk! Krmiinik, industijki keminki, mikroprocesor, vetpracesorshi sistem, sistemska programska oprema,
razvojna programska oprema,
POVZETEK: V élanku je podan preglad sictemske programske opreme in programskega okoljaindustijskega mikroracunalnishege krrinka,
Namesta klaslénega pristopa - zamenjave celeiske logike 2 mikvoratunalnkem = smo razvll delavno postao, Ki uporabniky emogosa r3zvo)
aplixacje na osebnem ratunalnica 8 pomoéio gralignega in mnemoniénega zapisa, sodabnih ordi, kot so simulacie vnadrejenem sistem all,
Vobjektu in peda.
INDUSTRIAL MICROCOMPUTER CONTROLLER
Key Words: mievocomputer controler, industrial contol
ABSTRACT: ln he article review of system software and programming environment of he industrial microcomputer controllers given, stead
‘ofthe conventional approach based on the simple substitution of relay and contacter log with the microprovestor, we designed an engineering
‘workstation, which anables the user to develop the application on a personal compute, using mnemonic and/or graphie notation, modern tools
like on-and oftine simulation ete
microprocessor, multiprocessor systems, system software, development sottware
1. UvOD
Mikroprocesoy| tudi pri nas vse bolj prodirajo v prolz- shranjevanje podatkov na digitalno kaseto, progra-
vodne hale, Na zacetku so bil to sistemi, razviti posebe} miranje EPROM vezij in omejene funkeije razvoj-
za doloene aplikacije, kar pomeni, da 50 bil relativno nega sistema. Izdelan je na osnovi M68008 in je bil
dragi, saj so predstavijali unikate. Pozneje so za¢ell prav tako razvit v Metalni
razuijati univerzaino aparaturno opremo, ki so jo pro-
razvojnega sistema; ta je racunalnik, kompatibilen
IBM PC XT ali AT, na katorem tece uporabnikovo
programimo okolj.
gramirali roéno, v zbirnem jeziku, kvecjemu s pomogjo
operacijskega sistema in kniznic rutin za delo v realnem
casul
Stevilo aplikaci, podprtih z mikroraCunainikom, raste iz OSAova krmilnikove aparatumne opreme je vodilo STE
dneva v dan, Vse bol se pojavia potreba ne le po (EEE 1000). Sistem je koncipiran kot vegprocesorski.
univerzalnem krmilniku, temveé tudi po okolju, ki bo Poleg glavnega procesorja imamo na vodilu Se univer-
‘omogotalo enostavno in hitro programiranje s cim man} zalne funkcijske module (prav tako na osnovi M68008),
moanosti vnosa napak v sistem. Da biustregli tem zah-_Kiizvajajo razliéne funkcije, Kot so stevel, Casovnik! (t-
tevam, smo se na Tehniski fakulteti, VTO Elektrotehnika, meri), registri, programatorji in podobno), ter logicne
racunainistvo in informatika v sodelovanju 2 Metalno, _PrOCesore, ki lzvajajo logiéne funkclje. Te predstav\jajo
Maribor, lotili programske opreme za sodobni indus- vecino programa, zato uporaba logicnega procesorja, ki
trijgki kr je zgrajen ciskretno, bistveno pospesi delovanje sis-
2. ARHITEKTURA SISTEMA IN APARATURNA.
OPREMA
Programska oprema, ki smo jo razvili, je namenjena za
krmilnik, katerega aparaturno opremo je izdelala Metal
nna, Za laje razumevanje delovanja podajamo njen kra-
tek opis.
Arhitektura sistema je prikazana na sliki 1. Sistem je
sestavijen iz
* samega krmilnika
* konzolnega raéunalnika, ki omagoéa uporabniku :
komunikacijo s krmilnikom in njegovo aplikacijo, «S820
erM.Colnari¢ et al.: Industrijski mikroraGunalniskl krmilnik
Za aparaturno opremo je znaéiina relativno uniformna
struktura, kije bila dose2ena z abstraktnim modeliranjem
strukture, funkeij in kontrole sistema, Ta naéin gradnje
omogoéa vesjo zaneslvost, saj so skupne lastnosti
vetkrat testirane na abstraktnem modelu. Na¢rtovanje
Posameznih modulov se tako prevede na izdvajanje
posebnih funkcl iz _splosnega modela. V realizaciji so
bile uporabljene VLSI, ASIC in integrirane moénostne
komponente ter podatkovni in signaini pretvorniki. Na ta
hatin je bilo mozno vgraditi vse funkelje v 19-paléno
ohisje.
3. SISTEMSKA PROGRAMSKA OPREMA
Sistemska programska oprema je na prvi pogied ne-
znaéiina za sistem vodenja procesov v realnem éasu
lzdelana je na ideji, da je v taksnem sistemu vse vnapre}
dofinirano in da prestavijajo izjeme le napake in izredna
stanja. Zaradi tega imamo v osnovi en sam proces,
prozen s pomogjo ure, ki daje osnovni ciklus aplikacif.
Znotraj tega procesa tipamo vsa predvidena stanija in jin
po potrebi obdelujemo.
Osnovni ciklus glavnega procesa je sestavjen iz aplt
kaclskega dela, ki ga uvede, pro2i in zakljutsistorski
dol. Ta na zagetku cikia pretita vse aktualne vhodne
podatke. Nad njimi operirajo aplikacijski del in pomozni
paraleini procesorj, ki jh le-ta prozi in ki prek svojin
funkeij nastavjajo ustrezne izhodne spremenijivke. Te
sistemskidel na koncu ciklusa vpise na izhodne, Nepos-
rednega dostopa do vhodov in izhodov aplikacii ne
dovolimo iz bojazni do nestabilnosti in moznih rekurzlv
nih pojavov ter oscitaci
Od zakijutka dela v posamezni iteraclji do zacetka nas
lednjega ciklusa mora ostat Se nekaj Casa. Ce tega Casa
ne bi bilo, bi pomenilo, da je sistem preobremenjen, oz
da je nastavijen prekratek Cas 2a ponovitev zanke. V to}
performantni rezervise izvajajo ¢asovno manj pomemb:
ne funkeije, Prva med njimi je spooling - enkratne dele
aplikacij, ki Casovno niso vezani na proces, kot so na
primer lzpisi, arhiviranje ind. izlocimo iz nije in jih iz-
vedemo, ko je procesor prost. V ta namen se formira
posebna Gakalna vista, v katoritakéni proces! Cakajo na
obdelavo.
Kadar je tudita vsta prazna, te¢e v pertormanénirezervi
minimaini monitor. Ta omogoéa pregled in vps registrov
in pomniinika, nalaganje programov v RAM prek serjske
zanke, njihovo testiranje (debugging), postavijanje pre-
kinitvenih tock, Koraéno izvajanje, prikaz in forsiranje
‘vhodov in izhodov za testiranje aplikacije ter nokajnevid-
nih funk, ki omogoéajo prenos informacij za izvajanje
simulacije v objektu v povezavi z nadrejenim sistemom.
Poleg teh so v sistemski programski opremi se nekatere
transparentne funkolje, potrebne za delovanje sistema.
Ena izmed njih je upravljanje s pomnilnikom. To podpira
aparaturno opremo, vgrajeno na procesorskem modulu
88
Informacije MIDEM 19(1989)2, str.87-29
in prikazano na sliki 2. Osnova upravijanja s pomnil-
nikom je tabela, vpisana v posebnem hitrem RAM pom-
nilniku, prek katerega se preslikajo vsi nasiovl, ki jih
generira procesor. V tej tabell so podatki o atributih
pomniiniskih blokov ter 0 njihovih logiénih naslovih. Ob
prihodu logi¢nega nasiova s procesorja vezje preveri
Privilegij dostopa do ustreznega bloka ter generirafiziéni
naslov ali javi napako naslavijanja.
Nastednja transparentna funkclja je upravijanje z vhod-
‘no- izhodnimi napravami. V pomnilnikuje shranjena slika
vhodov ter dve sliki izhodov. Ustrezna funkclja ob zacet-
ku aplikacije preslika vhode v njihavo pomnilnigka sliko,
izhode pa iz slike aktualnih izhodov na fiziéne. Hkrati
zamenja sliki izhodov, tako da imamo vedno sliko lz
hodov iz prejénje iteracije in sliko, v katero aplikacija in
paralelni procesorji vpisujejo svoje rezultate v tekoti
iteraoij. Sliki vnodov in prejgnjega stanja izhodov sta
relevantni za izracun zhodov v novi iteracij
4, OKOLJE ZA RAZVOJ APLIKACIJE
Programska oprema za razvoj aplikacije je izdelana v
PASCAL-u in lahko paraleinotece na razvojnem sistem,
Ki ga predstavja 18M PC XT/AT ali kompatibilni racunal-
nik ter na konzolnem racunalniku, razvitem v okvirutega
projekta. Funkcije, ki so implementiane na konzolnem
Fa¢unalniku, so omejene zaradi njegove narave (nepo-
oina tipkovnica, LCD prikazovainik ite).
Okolje je povezano v celoto s povezovalnim progra:
mom, ki je izdelan na principu drevesnih menijev. 12:
beremo lahko operacije s knjiznico, grafiéni editor kon-
taktnih shem, mnemoniéni editor, grafiéni Grafcet editor,
Prevajalnik, generator objektne kode, simulator in pre-
hos podatkov.
Knjianica je razdeljena na tri dele: delovne podrogje,
glavna knjiznica in uporabniska knjiznica, Nad
datotekami lahko izvajamo operacije, kot so brisanje,
kopiranje, preimenovanje, iskanje in izpis posameznih
aplikaci all njihovih delov,
Aplikacije lahko pismo v standardni grafiéni obliki relej-
nih shem, razsirjeni s funkcijami, ki Je je vajena vecina
aplikacijskih programerjev, ali pa v posebnem jeziku
Slika 2: Upravijanje s pomnilnikomInformacije MIDEM 19(1989)2, str.87-89
IMCL, kije bil razvit v okviru tega projekta in ki omogota
programiranje kompleksnejsih aplikacij. Gre 2a jezik, ki
podpira sodobne koncepte struktuinega in modular-
nega programiranja, tanjganje (stepwise refinement) ter
navzdoljnje in navzgornje programiranje (top-down in
bottom-up design). Program je sestaviien 2.
* deKlaracijskega modula, ki vsebuje podatke o funk
ijskin modulih (Casovnik, Stevei, programatorj..),
vrednosti konstant, definicijo okolja it,
* glavnega programa, najvisjega nivoja aplikacije,
* podprogramoy, mehanizmov preprostejsih enot,
* funk, pravil za kompleksnejse obdelave,
* _ sekvenc, pogojnega izvajanja
Generatorlu objekine kode je vhod vmesna Koda, ki jo
dobt iz prevoda relejnih shem all programa v IMCL.
Program predela v binarno kodo, primero za vpis v
EPROM vezja ali za prenos v RAM v krmilniku, Glede na
to, ali so prisotni paralelni koprocesorji, jih program
vkjuci, ali pa vkljuc! njihove simulacljske podprograme
vglavnem procesorskem modulu
Za hiter in preprost razvoj aplikaci je v okolje vkljuéena
tudi simulacija, Ta omogota preizkus delovanja aplika-
ie 2e v delovni postajiin tako zmanjsule Gas in stroske,
potrebne za implementacijo. Uporabnik podaja svojo
aplikacijo v grafiéni ali mnemoniéni obliki, Simulator 5
svojo drevesno menijsko strukturo omogota nadzoro-
vvano iavajanje programa 2 opcijami veé cikiov, en cikel,
izvajanje po korakihali 2vezno delovanje s prekinitvenimi
to¢kami ali brez. Podatke lahko prikazuje na zasionu ali
tiskalniku, spreminjamo pa {ih lahko 2 dvema namen-
skima editorjema.
Ko Je aplikacija gotove, lahko generirano kodo prene-
semo v RAM krmilnika, kjer jo lahko prelzkusimo v ob-
jektu, ali pa jo vpiemo v EPROM vezja v konzoinem
racunalniku, ko smo v delovanje res prepri¢ani
M.Colnarié et al.: Industljsk! mikroracunalniski krmilnik
5. ZAKLJUCEK
Opisani krmiinik jo 26 prestal nekal implementaci na
rece zahtevnih objektih. Pokazalo se je, da so zmo-
ljvosti sistema zadovoljive, da pa je zaradi kompleks-
rnosti razvojne programske opreme njegova sibka tocka
Potasnost prevajainikav in generatorja objektne kode.
Zaradi toga bo v prihodnih verzijah treba razmislti o