You are on page 1of 7

Kontakt diagram kalba

LD (ang. Ladder Diagram) kontakt diagram kalba yra grafin kalba, kilusi i relini kontaktorini principini elektrini grandini. XX a. 7-ojo deimtmeio pradioje JAV gamybos
moni reliniai surinkimo konvejeri automatai pamau pradti keisti programuojamaisiais
valdikliais. Kur laik vieni ir kiti veik vienu metu ir juos priirjo tie patys darbuotojai. Taip
kilo udavinys relines schemas perkelti PLV. Daugelis svarbiausi PLV gamintoj sukr vairi
relini schem programins realizacijos variant. Dl relini-kontaktorini grandini vaizdavimo
paprastumo ir akivaizdumo, jos labai ipopuliarjo ir tapo pagrindine prieastimi traukti
standartini kalb sra. Reliniai-kontaktoriniai elementai yra ne tik prastins
elektromagnetins rels ir kontaktoriai, bet ir didelis skaiius nauj patikim, didels
greitaveikos nekontaktini reli ir didels galios komutacini puslaidininkini prietais (lauko
tranzistori, MOSFET, 1GBT moduli), kurie dabartiniu metu plaiai naudojami.
Nuoseklus, lygiagretus ir inversinis kontakt jungimas realizuoja elementarias (bazines) IR
(AND), ARBA (OR) ir NE (NOT) logins (Bull) algebros logines funkcijas, i kuri sudaromos
sudtingesns logins struktros. Todl LD programavimo kalba idealiai tinka ne tik reliniams
automatams, bet ir kombinacinms loginms schemoms programikai realizuoti. Be to, LD
programavimo kalba galima naudoti funkcijas ir funkcinius blokus, sudarytus kitomis kalbomis.
Tai dar labiau ipleia ios kalbos vartojimo galimybes.
LD program sudaro grandin, susidedanti i dviej vertikali maitinimo altinio linij, tarp kuri
jungiamos horizontalios akos. akoje gali bti jungta daug kontakt ir tik viena arba kelios
lygiagreiai sujungtos rels apvijos. Nuosekliai jungti reli rites neleistina. Kontaktais jungiama
arba ijungiama tampa, tenkanti relms (apkrovai). tampos komutavimas kontaktais atitinka
loginio signalo (TRUE, TAIP) arba (FALSE, NE) perdavim rels ritei.
Programuojant kontakt diagram kalba naudojami emiau pateikti simboliai.

Grafiniai kontakt plano simboliai

Simbolis
-] [-

Reikm
Normaliai atviras kontaktas

-]/[-

Normaliai udaras kontaktas

-]P[-

Reakcija teigiam front

-]N[-

Reakcija neigiam front

-( )-( / )-

Rel
Invertuota rel

-( S )-

Rel jungiama komanda S ir tokioje padtyje

-( R )-

isaugoma iki bus komanda R ijungiama


Su komanda S jungtos rels ijungimas

-( M )-

Buferizuota rel

-(SM)-

Buferizuotos rels jungimas su komanda S

-(RM)-

Su komanda S jungtos buferizuotos rels ijungimas

Funkcini blok diagrama


Funkcini blokini diagram (ang. Functional Block Diagram) kalba yra viena i standartini grafini
kalb. ios kalbos diagrama labai panai elektroninio taiso, kuris sukonstruotas, naudojant integrinius
grandynus, principin elektrin schem. Skirtingai negu LD programavimo kalboje, galima naudoti ne tik
loginius, bet ir kitokius signalus (kintamuosius).
ios kalbos diagramos sudaromos i staiakamps formos blok. J vidin struktra yra nematoma ir tik
nurodomos jo atliekamos funkcijos. FBD grandins, vykdanios logines funkcijas.

SB1

KM1

KV1
KV2
Blok eitys vaizduojamos kairje, o ieitys - deinje pusje. Bloko viduje nurodomas tipas ir eii bei
ieii vardai. Vartotojo sukurto egzemplioriaus vardas raomas vir bloko. Kai kuriuose programavimo
kompleksuose bloko viduje galima vaizduoti paveiksllius, nusakanius egzemplioriaus paskirt. Blok
matmenys priklauso nuo j skaiiaus ir yra grafinio redaktoriaus koreguojami automatikai. Atskiri
funkciniai blokai jungiami tarpusavyje linijomis, turiniomis krypt i kairs dein. Blok vadai ir ivadai
gali bti jungiami netiesiogiai, nurodant vienodo tipo kintamj ar konstant vardus. Vienuose
programavimo kompleksuose funkcini blok padtis yra darbo lauke fiksuota, o kituose juos galima
stumdyti. Standartas nedraudia bloko ieities ivadus jungti su to paties ar kito bloko eities vadais.
Taip galima sudaryti grtamuosius ryius.
FBD diagramos labai tiksliai parodo eities ir ieities signal tarpusavio ryius. Kai darbo algoritmas
pagrstas signalais ( kaip elektrinje schemoje), tai FDB veikimas aikesnis negu tekstinse kalbos.

Instrukcij sarao programavimo kalba


IL (ang. Instruction List) instrukcij (komand) srao kalba yra viena i standartini
tekstini kalb. Kiekviena instrukcija raoma atskiroje eilutje, kuri suskirstyta slyginai 4
laukelius, atskirtus tarpais, kaip parodyta lentelje.
IL kalbos programos fragmentas

ym Operatorius
Ml:
LD
AND
S

Operandas
SB1
START
KM1

Komentaras
(*1L pavyzdys*)

IL programavimo kalb, kaip ir asembler, galima laikyti emo lygmens kalba. Programos
operatoriai vykdo paprastus veiksmus, todl palyginti paprastam valdymo algoritmui realizuoti
reikia nemao skaiiaus komand. Geriau suprasti programos veikim btini komentarai.
Komentarai yra btina sudtin programins rangos dokumentacijos dalis.
Keletas ios kalbos bruo:
Kiekviena komanda prasideda i naujos eiluts, turi operatori IR, priklausomai nuo
operacijos, vien ar kelet operand atskirt kableliais
Identifikatoriaus ym po kurios eina kabliatakis (;), gali bti komandos pradioje
Komentarai gali bti papildomai priraomi
Galima terpti tuias eilutes tarp instrukcij

Struktrizuoto teksto programavimo kalba


ST (ang. Structured Text) struktruoto teksto kalba yra tekstin kalba, kurioje vartojamos
iraikos. i kalba yra aukto lygmens, panai Pascal tipo kalb. Skaiiavimo rezultatai kintamajam
priskiriami naudojant priskyrimo operatori. Kiekviena iraika baigiama kabliatakio (;) simboliu.
Iraikos sudaromos i kintamj, konstant ir funkcij, atskirt operatoriais. Atskiri iraik elementai
gali bti atskirti tarpais. Iraikos tekste galima terpti komentarus. Kelias iraikas galima rayti vienoje
eilutje, taiau gero programavimo stiliaus taisykls tai draudia. Ilgas iraikas galima perkelti kit
eilut. Vienoje iraikoje gali bti terptos kitos apskliaustos iraikos. Pirmiausia vykdomos skliaustuose
esanios iraikos.
Iraikos skaiiuojamos pagal operacij prioritetin eil. Pirmiausia vykdomos auktesnio
prioriteto operacijos. Operacij prioritetin eil, pradedant aukiausija ir baigiant emiausija, yra:

veiksmai skliaustuose (iraika);


funkcijos ikvietimas (pvz., SIN(X));
EXPT eksponentinis laipsnis (**);
enklo keitimas (-);
NOT neigimas;
daugyba (*), dalyba (/), dalyba moduliu (MOD);
aritmetin sudtis (+) ir atimtis (-);
palyginimo veiksmai (<, >, <=, >=);
lygyb (=);
nelygyb (< >);
sandaugos (AND), sumos (OR), iskirtinio ARBA (XOR) logins operacijos.

Komandas galima skirstyti parinkimo komandas, pavyzdiui, IF....THEN...ELSE ir t.t, kartojimo komandas,
pavyzdiui, FOR, WHILE ir t.t. bei funkcini blok ikvietimo komandas. Struktrizuoto teksto kalba tinka
naudoti daugeliui praktini udavini sprsti, pavyzdiui, algoritmams programuoti (auktos eils
valdymo algoritmai), duomenims apdoroti (duomen analiz, sudting duomen struktr valdymas ir
kt.).

Nuoseklij funkcini diagram (SFC) kalba


SFC (ang. Sequential Function Chart) nuoseklij funkcini diagram kalba yra miri kalba,
apimanti likusias standartines kalbas. Si kalba ypa gerai tinka nuosekliosioms valdymo
sistemoms programuoti. Nuoseklija valdymo sistema vadinama sistema, kurioje visi procesai
vyksta atskirais, aikiai atskirtais ingsniais, o perjimas i vieno ingsnio kit priklauso nuo
pastarojo ingsnio vykdymo slyg tenkinimo.
SFC program sudaro diagrama, susidedanti i dviej pagrindini element: ingsni (angl. Step)
ir pereig (angl. Transition) arba perjim (ingsni vykdymo slyg).
ingsniai diagramoje vaizduojami staiakampiais. Jie gali bti i ri:

identifikuotieji;

tutieji;

pradios.

Identifikuotj ingsni staiakampi viduje raomas laisvai pasirenkamas ingsnio simbolinis


vardas (identifikatorius). ie ingsniai siejami su tam tikru veiksmu, kuris vaizduojamas
staiakampiu (lentele) i deins ingsnio puss, turiniu standarto apibrtus laukelius ir
vadinamu vykdymo bloku. Tutieji ingsniai identifikatoriaus neturi. iuose ingsniuose nra
jokio veiksmo, todl jie ir neturi vykdymo bloko.

Pradios ingsnis vaizduojamas staiakampiu, apibrtu dvigubomis linijomis. is ingsnis yra


btinas, nes juo pradedama vykdyti SFC programa, nors jis gali bti ir tuias.
Bet kuriuo programos vykdymo momentu ingsnis gali bti: aktyvus ir neaktyvus (pasyvus).
Identifikuotame aktyviame ingsnyje tuo laiko tarpu vykdoma vykdymo bloke apibrta
programos dalis.
Staiakampiai jungiami tarpusavyje linijomis, vaizduojaniomis ryius tarp ingsni ir ingsni
bei vykdymo blok. Ant atskir vertikali ingsni jungimo linij braiomi horizontals
brkniai, reikiantys pereigas. Greta pereigos deinje pusje nurodoma slyga, kuri
patenkinus pereinama emiau esant ingsn.

SFC kalbos taikymas nuosekliosioms valdymo sistemoms programuoti leidia padidinti veikimo
spart ir sumainti sistemos reakcijos laik. Vientisa valdymo programa skaidoma ingsniais
nedidelius fragmentus, kurie vykdomi skirtinguose PLV darbo cikluose. Taip yra realizuojamas
valdymo programos struktravimas. Kitose programavimo kalbose (ypa LD kalboje), programai
tampant sudtingesnei ir augant jos apimiai, atsiranda PLV darbo ciklo trukms ilgjimo ir
kartu veikimo spartos majimo bei reakcijos laiko augimo problema. SFC kalba stimuliuoja
tolyg mikroprocesoriaus skaiiavimo galios paskirstym. Kiekvienas SFC standartinis
programos komponentas (funkcinis blokas, programa) vykdomas per vien PLV darbo cikl.
Programos komponent veiksmai priklauso nuo j ankstesns bsenos. Programos
komponento pradin bsena gali bti pasiekta tik technikai nustaius viso PLV pradin bsen.

You might also like