4 SKYRIUS. Programuojamieji loginiai valdikliai. Įvadas

Size: px
Start display at page:

Download "4 SKYRIUS. Programuojamieji loginiai valdikliai. Įvadas"

Transcription

1 4 SKYRIUS Programuojamieji loginiai valdikliai Įvadas Programuojamieji loginiai valdikliai tai esminis pramonės automatizavimo veiksnys. Juos naudojant galima lanksčiai prisitaikyti prie besikeičiančių procesų, o taip pat greitai nustatyti ir eliminuoti sutrikimus ir klaidas. Šioje mokomojoje medžiagoje pateikiama programuojamųjų loginių valdiklių sandara ir jų sąveika su išoriniais įrenginiais. Viena is svarbiausių sričių, į kurią šioje mokomojoje medžiagoje koncentruojamas dėmesys - tai naujas tarptautinis programuojamųjų loginių valdiklių (PLV) programavimo standartas - DIN EN (IEC ). Šis standartas numato programų plėtros ir isvystymo galimybę, dėl ko anksčiau būdavo naudojami nestandartizuoti programavimo elementai. Dabartinėje rinkoje esantys PLV buvo išvystyti ir pritaikyti vartotojo reikmėms taip, kad PLV iš esmės tapo puikiai tinkantys bet kokiems praktiniams uždaviniams spręsti. Kaip antai dabar galima naudoti miniatiūrinius PLV su nedideliu įėjimų/išėjimų kiekiu, kurių kaina prasideda nuo keleto šimtų svarų sterlingų. Taip pat galima rinktis didesnius PLV, turinčius 28 ar 256 įėjimus/išėjimus. Daugelis valdiklių gali būti išplėsti panaudojant papildomus įėjimų/išėjimų, analoginių signalų, pozicionavimo ar ryšio modulius. Specialūs valdikliai gali būti naudojami apsaugos sistemose, laivyne ar kasyklose. Dar daugiau, PLV gali vienu metu vykdyti keletą programų vienu metu - (lygiagretus darbas). Galiausiai, valdiklių suderinamumas su kitais automatikos elementais leidžia žymiai išplėsti jų taikymo sritis. PLV sudaro dvi pagrindinės dalys: Centrinis apdorojimo įtaisas (CPU) Įėjimo/Išėjimo (I/O) sąsaja Centrinis apdorojimo įtaisas (CPU) susideda iš trijų pagrindinių dalių: Procesoriaus Atminties Energijos tiekimo

2 Festo kompaktinis valdiklis CECC CoDeSys V3 Centrinio apdorojimo įtaiso (CPU) funkcijos Gauna įėjimo duomenis iš įvairių jutiklių Vykdo atmintyje saugomą programą Siunčia atitinkamas išėjimo komandas valdymo įtaisams Įėjimo ir išėjimo sistema Teikia fizinį ryšį tarp CPU ir išorinio pasaulio Dažniausiai naudojami diskretiniai įėjimai/išėjimai Įėjimo įtaisai Selektoriaus jungikliai Mygtukai Kelio jungikliai Srovės jungtuvai Pakopos jungikliai Relės kontaktai Variklio paleidiklio kontaktai

3 Išėjimo įtaisai Signalizacija Valdymo relės Solenoidai Lemputės Ragai Vožtuvai Variklio paleidikliai

4 1. PLV programavimo pagrindai Dešimtainė skaičių sistema Paprastai naudojamos dešimtainės skaičių sistemą charakterizuoja tiesinis skaičių masyvas ir jų išdėstymo reikšmingumas. Pavyzdžiui, skaičius 4344 gali būti išreikštas tokiu būdu: 4344 = 4x x x10 + 4x1. Skaičius 4, esantis kairėje pozicijoje turi kitą reikšmę nei taspats skaičius 4 esantis dešiniojoje pozicijoje. Dešimtainės skaičiavimo sistemos pagrindas - dešimt skirtingų skaitmenų (dešimtainis nuo žodžio dešimt). Šie dešimt skirtingų skaitmenų leidžia skaičiuoti nuo 0 iki 9. Jei skaičiuojant reikia viršyti skaičių 9, tuomet skaičius pernešamas į kitą poziciją. Šios pozicijos vertė yra 10; sekantis perkėlimas įvyksta kai pasiekiamas skaičius 99. Panaudokime pavyzdžiu skaičių : Pavyzdys Pavyzdėlyje galima parodyti, kad kairiausioje pozicijoje esančio skaitmens 7 reikšmė yra = 70 milijonų, tuo tarpu, kai trečioje iš dešinės pozicijoje 7 reikšmė tėra lygi 700. Dešiniausioje pozicijoje esantis skaičius yra mažiausiai reikšmingas, o kairiausioje pozicijoje - reikšmingiausias. Šio pavyzdžio pagrindu gali būti sudaryta bet kokia kita skaičiavimo sistema susidedant iš bet kokio skaitmenų skaičiaus. Iš čia išplaukia, kad bet kokios dešimtainėje sistemoje naudojamos skaičiavimo operacijos gali būti pritaikytos ir kitose skaičiavimo sistemose. Dvejetainė skaičiavimo sistema Mes skolingi Leibnicui, kuris pritaikė dešimtainės sistemos struktūras dvejetainiam skaičiavimui. Tai jau aisiais sudarė esmines prielaidas vystyti kompiuterių mokslą, tačiau tik elektros įtampos ir srovės signalų panaudojimas įgalino įgyvendinti dvejetainį skaičiavimą, naudojant tik

5 dvi reikšmes, pavyzdžiui, srovė įjungta ir srovė išjungta. Šioms dviem reikšmėms suteikiama skaičių 1 ir 0 prasmė. Kai skaičiaus reikšmė pozicijoje yra apribota tik dviem skaitmenimis, tuomet skaičius formuojamas tokiu būdu: 2 7 = = = = =8 2 2 =4 2 1 =2 2 0 = Pavyzdys Skaičiaus sudarymo principas yra visiškai tas pats, kaip naudojant dešimtainę sistemą. Tačiau tik du skaitmenys gali būti panaudoti, todėl pozicijos vertė yra nustatoma ne 10 x, o 2 x pagrindu. Taigi, mažiausias reikšminis skaičius, esantis kairiausioje pozicijoje yra 2 0 =1, o kitas š kairės =2 ir t. t. Kadangi naudojami tik du skaitmenys, sistema yra vadinama dvejetaine ar binarine. Naudojant aštuonių pozicijų dvejetainius skaičius, galima skaičiuoti iki kol pasiekiama = =255, Kiekviena individuali dvejetainio skaičiaus pozicija gali būti užpildyta skaitmenimis 0 arba 1. Mažiausias dvejetainės sistemos elementas yra vadinamas 1 bitu. Aukščiau esančiame pavyzdyje skaičius susideda iš 8 bitų, t.y. sudaro vieną baitą (kompiuteryje tai sudaroma naudojant 8 elektrinius signalus atitinkančius sąlygas įtampa yra arba įtampos nėra ar srovė įjungta arba srovė išjungta. Dvejetainis skaičius turi dešimtainio skaičiaus reikšmę. Pavyzdys 1x x x x x x x x2 0 = = 177.

6 Dvejetainis - dešimtainis kodas Žmonės yra pripratę prie dešimtainės sistemos, dvejetainiu kodu užrašytus skaičius sunku suvokti. Dėl to yra sukurta lengviau suprantama skaičiavimo sistema vadinama dvejetainiu - dešimtainiu kodu, kai dvejetainiu kodu koduojami dešimtainės sistemos skaitmenys (BCD kodas). Šioje sistemoje kiekvienas dešimtainės sistemos skaitmuo yra pateikiamas atitinkamu dvejetainiu kodu: 1.1 Lentelė Dešimtainių skaitmenų išreiškimas dvejetainiu kodu BCD BCD BCD BCD BCD BCD BCD BCD BCD BCD 4 skilčių prireikia, norint išreikšti dvejetainiu kodu visus dešimtainės sistemos skaitmenis. Siekiant aiškumo, kode kas keturi bitai daromi tarpeliai (skaičiai nuo 0 iki 15 dvejetainėje sistemoje gali būti išreiškiami 4 skilčių kodu). Tad dešimtainis skaičius 7133 dvejetainiu - dešimtainiu (BCD) kodu užrašomas taip: BCD. Keturiems dešimtainės sistemos skaitmenims išreikšti BCD kode prireikia 16 bitų. BCD kodai dažnai naudojami skaitmeninėje indikacijoje ir kodiniuose jungikliuose.

7 1.2 lentelė Dvejetainių skaičių reikšmės Sveikas skaičius Skaičių vertės be ženklo nuo 0 iki su ženklu nuo iki Nors jau yra galimybė dvejetainiu kodu (0 arba 1) vaizduoti visus teigiamuosius skaičius ir vivisus skaičius su ženklu, tačiau dar reikia vaizduoti skaičius su kableliu arba realiuosius skaičius. Norint kompiuteryje pavaizduoti dvejetainiu kodu realųjį skaičių, skaičius yra suskaidomas į dvi grupes: dešimt laipsnio rodiklyje ir dauginimo faktorius. Tai yra mokslinis skaičių pateikimo būdas. Skaičius 27,3341 yra keičiamas į tokį pavidalą x Tokiam skaičiui patalpinti kompiuteryje reikalingi du ženklą turintys skaičiai.

8 Dveletainių ir skaitmeninių signalų formavimas Kaip jau buvo aiškiai parodyta ankstesnėje dalyje visi kompiuteriai ir visi programuojamieji loginiai valdikliai veikia naudodami dvejetainius ir skaitmeninius signalus. Dvejetainiu signalu mes laikome tokų kuris gali turėti tik dvi nustatytas reikšmes. 1 pav. Dvejetainis (binarinis) signalas Signalo reikšmės yra pavadintos 0 arba 1, terminai žemes lygis ir aukštas lygis yra taip pat naudojami. Signalus labai paprasta suformuoti naudojant kontaktinę techniką. Paveikęs, normaliai atviras kontaktas atitinka loginį 1, o nepaveikęs - loginį 0. Kai dirbama su bekontakčiais elementais, tai gali būti gaunama signalui pasiekus tam tikro lygio zonas. Tam tikslui tam tikro lygio įtampos signalai yra laikomi loginiu 0 arba loginiu 1. 2 pav. Įtampų lygiai

9 IEC apibrėžia įtampas nuo -3 V iki +5 V kaip loginį 0 signalą, o įtampas nuo +11 V iki + 30 V, kaip loginį 1 signalą (bekontakčiams jutikliams). Tai liečia programuojamuosius valdiklius, kurie gaminami prisilaikant IEC standarto. Tačiau praktikoje gali būti naudojamos ir kitos loginių signalų 0 ir 1 įtampų ribos. Plačiai paplitę: nuo -30 V iki +5 V - loginis 0 ir nuo +13 V iki + 30 V - loginis 1. Skirtingai nuo dvejetainio signalo skaitmeniniai signalai gali įgyti bet kokią reikšmę. Jie remiasi tam tikros reikšmės diskretėmis. Skaitmeninis signalas yra apibrėžiamas tam tikru diskrečių skaičiumi. Diskrečių kiekis gali keistis bet kokia tvarka. Paveikslėlyje parodyti trys galimi analoginio signalo konvertavimo į skaitmeninį signalą būdai. 3 pav. Analoginio signalo konvertavimas į skaitmeninį Skaitmeniniai signalai gali būti suformuoti iš analoginio signalo. Pavyzdžiui, toks būdas taikomas, analoginio valdymo sistemose panaudojant valdiklius. Tokiose sistemose analoginis 0 10 V signalas yra keičiamas į diskrečių sumas. Priklausomai nuo PLV kokybės ir diskretės nustatymo galimybės, skaitmeniniai signalai gali būti formuojami 0,1 V, 0,01 V ar 0,001 V diskrečių pagrindu. Suprantama, kad kuo tiksliau norima pakeisti analoginį signalą į skaitmeninį, tuo mažesnė diskretės vertė yra pasirenkama.

10 Paprastas analoginio signalo pavyzdys - tai slėgis, kurį matuoja ir rodo manometras. Slėgio signalas gali įgyti bet kokią tarpinę reikšmę tarp jo minimalios ir maksimalios reikšmių. Priešingai skaitmeniniam signalui - jis nuolat kinta.apdorojant analoginius signalus valdiklyje analoginiai įtampos signalai turi būti išmatuoti ir konvertuoti. Antra vertus,skaitmeniniai signalai gali būti gaunami sumuojant tam tikrą skaičių dvejetainių signalų. Šiuo atveju ir vėl, kaip aprašyta ankstesniame paragrafe, galima suformuoti 256 diskrečių skaitmeninį signalą. Pavyzdys Bito Nr Reikšmė 1 pavyzd. 2 pavyzd pavyzd Toks būdas yra naudojamas, pavyzdžiui, formuojant skaitiklio ar taimerio funkcijas.

11 2. Loginės operacijos

12 Kaip jau rašyta ankstesniame skyriuje bet koks kompiuteris ar PLV veikia dvejetainės skaičiavimo sistemos pagrindu. Jie dar naudoja aštuntainę (2 3 ) ir šešioliktainę (2 4 ) sistemas. Kiekvienas kintamasis tegali įgyti tik dvi reikšmes 0 arba 1. Operacijoms su šiais kintamaisiais buvo sukurti specialūs algoritmai - taip vadinamoji loginė (Bulio) algebra. Tai gali būti aiškiai atvaizduota, panaudojant elektrokontaktines grandines. Neigimas (NE funkcija) Pavaizduotasis mygtukas žymi normaliai sujungtą kontaktą. Kai jis nepaspaustas, lemputė H1 šviečia, jį nuspaudus lemputė išjungiama. 4 pav. Principinė schema Mygtukas veikia kaip įėjimo signalas, o lemputė formuoja išėjimo signalą. I O Būsenų lentelė

13 Loginis simbolis: 5 pav. NE funkcija Jei du neigimo funkciją realizuojantys elementai sujungiami nuosekliai, jie panaikina vienas kitą. 6 pav. Dvi loginės NE funkcijos Konjunkcija (IR funkcija) Jei du normaliai atviri kontaktai yra sujungti nuosekliai, lemputė bus uždegta tik vienu metu nuspaudus abu mygtukus. 7 pav. Principinė schema

14 junkciją. Išėjime suformuojamas 1 tik tuo atveju, kai abiejų įėjimų signalai yra lygūs loginiam 1. Tai vadinama IR operacija. I1 I2 O B ū 8 pav. IR funkcija s e n Disjunkcija ų (ARBA funkcija) Kita pagrindinė loginė funkcija - tai ARBA funkcija. Jei du normaliai atviri l kontaktai yra sujungiami lygiagrečiai, tai lemputė įjungiama nuspaudus bent e vieną iš šių mygtukų. n t e l ė B ū s e n ų l e n t e l ė a p i b r ė ž i a 9 pav. Principinė schema I1 I2 O Būsenų lentelė k o n

15 Loginių funkcijų Ne/ IR/ ARBA elektrinė realizacija aprašyta ankstesniame skyriuje.kiekviena iš šių operacijų be abejonės gali būti realizuota pneumatikos ar elektronikos priemonėmis. Loginė algebra taip pat pripažįsta tam tikras logines operacijas. Šių operacijų apžvalga pateikta lentelėje. 2.1 lentelė Loginės funkcijos

16 2.1 lentelė (Tęsinys) Loginės funkcijos

17 Loginių funkcijų gavimas iš būsenų lentelių Dažnai anksčiau pavaizduotųjų loginių funkcijų nepakanka, norint adekvačiai apibrėžti valdomo proceso būseną. Labai dažnai proceso būsena - tai įvairių loginių operacijų kombinacija. Loginiai ryšiai lengvai apibrėžti loginėmis lygtimis, gaunamomis iš būsenų lentelių. Tai paaiškins žemiau pateikiamas pavyzdys. Rūšiavimo įrenginio uždavinys Reikia pagaminti Įvairius žetonus (išgręžiant tam tikrose vietose kiaurymes), naudojamus automatinėse virtuvėse. Tam tikrose virtuvėse pasienio ir durų sritims nustatyti numatytas skirtingas kiaurymių išdėstymas. Jutikliai B1 - B4 naudojami kiaurymėms fiksuoti. 11 pav. Rūšiavimo stotis Pateikiami etaloniniai žetonų pavyzdžiai, kuriuos turi praleisti dvikryptis cilindras 1.0.

18 12 pav. Kiaurymių išdėstymo pavyzdžiai Atsižvelgiant į tai, kad kiaurymė yra priimama kaip loginis 1,sudaroma tokia būsenų lentelė: Būsenų lentelė

19 Pasinaudojant šia būsenų lentele, logines lygtis galima sudaryti dviem variantais ir gauti dvi skirtingas išraiškas. Tačiau, jei apibrėžtosios sąlygos yra tos pačios, galutinis rezultatas, be abejonės, bus tas pats. Standartinė disjunktyvioji forma Naudojant standartinę disjunkyviąją formą, visų įėjimo signalų konjunkcijos (IR operacija), garantuojančios išėjime loginį 1, sujungiamos disjunkcijos (ARBA) operacijomis. Jei įėjimo signalo būsena 0, jam pritaikoma inversijos operacija, o jei signalo būsena - 1, - inversijos operacija netaikoma. Standartinė konjunktyvioji forma Naudojant standartinę konjunktyviąją formą, visų įėjimo signalų disjunkcijos (ARBA operacija), garantuojančios išėjime loginį 0, yra sujungiamos konjunkcijos (IR) operacijomis. Priešingai standartinei disjunktyviąjai formai, šiuo atveju inversijos operacija taikoma signalui, kai jo būsena atitinka 1, o signalai, kurių būsena atitinka 0 yra neinvertuojami. Abi pateiktosios nagrinėjamojo pavyzdžio loginės lygtys yra perteklinės, be to, standartinė konjunktyvioji forma yra dar ir ilgesnė. Tai ir yra kriterijus, kurią formą rinktis - disjunktyviąją ar konjunktyviąją: prioritetas teikiamas trumpesnei lygčiai. Šiuo atveju tai disjunktyvioji forma: Ši išraiška gali būti suprastinta pasinaudojant loginės algebros dėsniais.

20 Pritaikius ankstesniajam pavyzdžiui šias taisykles gaunami toki rezultatai: Aiškumo dėlei, IR operacijos simbolis individualiose disjunkcijose yra praleistas. Pagrindinis prastinimo principas yra kintamųjų grupavimas ir gautųjų išraiškų trumpinimas. Tačiau, norint taikyti šį būdą, reikia žinoti loginės algebros dėsnius ir turėti pakankamai praktinių įgūdžių. Su kitais prastinimo būdais bus supažindinama kituose skyreliuose.

21 Naudojant Karno - Veičo (KV) diagramą būsenų lentelė pakeičiama verčių lentele.. Verčių lentelė Pateiktame pavyzdėlyje turime 16 galimų variantų, todėl ir verčių lentelė privalo turėti 16 kvadratėlių. 13 pav. Reikšmių lentelė

22 Reikšmių lentelė yra transformuojama į KV diagramą taip, kaip tai parodyta žemiau pavaizduotoje diagramoje. Iš principo, logines lygtis vėl galime pateikti panaudodami standartines konjunktyviąją arba disjunktyviąją formas. Tačiau apsiribosime tik disjunktyviąja standartine forma. 14 pav. reikšmių lentelė Tolesnis žingsnis - sugrupuoti visas būsenas, kurių langelyje yra įrašytas 1. Taip sudaromi blokai, kurie gaunami prisilaikant tokių taisyklių: būsenų grupė turi sudaryti stačiakampį arba kvadratą; sugrupuotų būsenų kiekis privalo tenkinti sąlygą 2 x. Taip gaunamos tokios grupės: 15 pav. Reikšmių lentelė

23 Išėjimo kintamųjų reikšmės gautos sudarytiesiems blokams yra disjunkcijos, o bendroji loginė funkcija yra pastarųjų konjunkcija. Suprantama, kad KV diagrama neapsiriboja 16 kvadratėlių. Esant 5 kintamiesiems, reikės 32 kvadratėlių (2 5 ), o 6 kintamiesiems - 64 laukelių (2 6 ).

24 3. PLV programavimas

25 Orientavimasis į sisteminius sprendimus Valdymo programa - tai svarbus automatinės valdymo sistemos komponentas. Valdymo programa turi būti sistemiškai parengta, gerai struktūrizuota ir visiškai aprūpinta reikiama dokumentacija, siekiant kaip galima geriau garantuoti, kad joje nebūtų klaidų; būtų lengva ja naudotis; ji būtų nebrangi. PLV programinės įrangos kūrimo etapinis modelis Procedūros suskaidymas į apibrėžtas dalis sąlygoja sistemingą ir kryptingą proceso eigą ir įgalina pateikti aiškius rezultatus, kurie gali būti patikrinti prieš juos panaudojant. Etapinis modelis, susidedantis iš tokių dalių, kaip specifikacija: uždavinio aprašymas; projektavimas: sprendimų aprašymas; realizavimas: sprendimų diegimas; integravimas, derinimas: programų įvedimas į atitinkamą aplinką ir jų patikrinimas gali būti pritaikytas iš esmės visiems techniniams projektams. Skirtumai atsiranda tik individualiuose etapuose panaudotuose metoduose ir priemonėse.

26 Toks etapinis modelis gali būti panaudotas kuriant bet kokio sudėtingumo valdymo programas; sudėtingiems valdymo uždaviniams toks modelis yra absoliučiai esminis dalykas. Individualūs modelio etapai yra aprašyti žemiau. 1 etapas: Specifikacija (Problemos formulavimas) Šiame etape yra formuluojamas tikslus ir detalus valdymo uždavinio aprašymas. Specifinis, kaip galima labiau formalizuotas valdymo sistemos funkcijų aprašymas atskleidžia bet kokius konfliktinius reikalavimus, klaidingas ar neišsamias specifikacijas. Šio etapo pabaigoje gaunamas toks rezultatas: žodinis valdymo uždavinio aprašymas; struktūra/planas sistemos arba proceso makrostruktūra, ir tuo būdu grubi sprendimo struktūra. 2 etapas: Projektavimas (Konkreti sprendimo koncepcijos schema) Sprendimo koncepcija vystoma pirmajame etape nustatytų sąlygų pagrindu. Panaudotasis sprendimui aprašyti metodas turi numatyti grafinį ir proceso eigą atspindintį valdymo sistemos funkcijų ir veikimo aprašymo būdą, nepriklausomai nuo jos techninės realizacijos. Šiuos reikalavimus tenkina funkcinės diagramos (FCH) tokios, kokias apibrėžia DIN standarto 6 dalis arba IEC 848 standartas. Pradėjus nuo bendros valdiklio schemos pateikimo (grubi sprendimo struktūra), sprendimą reikia žingsnis po žingsnio tobulinti tol, kol gaunamas visas sprendimo detales apimantis aprašymas (grubios struktūros tobulinimas). Kai valdymo uždavinys sudėtingas, lygiagrečiai su tuo kas pasakyta, sprendimas struktūrizuojamas į atskirus programinius modulius. Šie programiniai moduliai į valdymo sistemą įveda darbo žingsnius. Tai gali būti specialios funkcijos tokios, kaip vizualizavimo ar komunikacinių sistemų interfeiso realizavimas arba nuolat pasikartojantys darbo žingsniai. Be funkcinių diagramų DIN , 6 dalis, naudojamos ir judesio diagramos - kita standartinė forma valdymo sistemoms aprašyti.

27 3 etapas: Realizavimas (Sprendimo koncepcijos programavimas) Sprendimo koncepcijos perkėlimas į valdymo programą vykdomas naudojantis IEC standartu reglamentuojamomis kalbomis. Tai yra: nuosekliųjų funkcinių diagramų (SFC), funkcinių blok-schemų (FBD), kontaktinių schemų (LD), teiginių sąrašo (IL), ir struktūrizuoto teksto (ST) programavimo kalbos. Valdymo sistema, skirta laiko/loginiam procesui valdyti, kurį galima atvaizduoti FCH pagal DIN , 6 dalis standartą, gali būti aiškiai ir lengvai programuojama SFC metodu. SFC metodas programavimui naudoja komponentus kaip galima artimesnius komponentams, naudojamiems funkcinėms diagramoms pagal DIN , 6 T. sudaryti. Kontaktinių schemų, funkcinių blok-schemų ir instrukcijų sąrašo programavimo kalbos tinka pagrindinėms sąlygoms ir nesudėtingoms loginėms valdymo sistemoms programuoti. Aukšto lygio struktūrizuoto teksto kalba yra naudojama matematiniu pagrindu sudarytoms programoms, tokioms kaip valdymo algoritmus aprašantys moduliai, kurti. Kiek besiremtų tuo PLV programavimo sistemos, sudarytosios valdymo programos ar jų dalys prieš pradedant jas naudoti turi būti išbandomos modeliuojant. Tai įgalina pradiniame etape aptikti ir pašalinti klaidas. 4 etapas: Įvedimas į eksploataciją (derinimas) (Valdymo uždavinių formavimas ir testavimas) Šiame etape tikrinama automatinės valdymo sistemos ir valdomojo įrenginio tarpusavio sąveika. Kai uždavinys sudėtingas, patartina sistemą derinti sistemingai, žingsnis po žingsnio. Naudojant šį metodą klaidos tiek pačioje sistemoje, tiek programoje lengvai nustatomos ir pašalinamos.

28 Dokumentacija Svarbus ir atsakingas sistemos komponentas - jos dokumentacija, būtinai reikalinga eksploatuojant ir tobulinant sistemą. Dokumentacija, įskaitant ir valdymo programas, turi būti pateikta popieriuje ir duomenų saugojimo terpėje. Dokumentaciją sudaro individualių etapų dokumentai, atspausdintos valdymo programos ir bet kokie papildomi, valdymo programą liečiantys aprašymai. Tai yra: užduoties aprašymas; gaminio eskizas ar technologinis pavyzdys; principinė schema; laiko diagramos; valdymo programų spausdinti tekstai SFC, FBD ir t.t. kalboje; įėjimų ir išėjimų priskyrimo sąrašas (tai taip pat sudaro dalį valdymo programų spausdinto teksto) papildoma dokumentacija. IEC tai ne vien individualių PLV programavimo standartas, visų pirma - tai sudėtingų automatizavimo sistemų programavimo standartas. Norint, kad didelių sistemų valdymo programos būrų suprantamos, lengvai derinamos, o be to ir portabilios, t.y. pernešamos į kitas PLV sistemas, jos turi būti aiškiai struktūrizuotos. Struktūrizuojant turi būti apibrėžtos ne tik elementarios programavimo komandos bet ir programavimo kalbų elementai. Struktūrizavimo resursai yra susiję su valdymo programomis ir automatinio valdymo sistemos konfigūracija. 16 pav. DIN EN (IEC ) struktūrizavimo metodas

29 Struktūrizavimo programos lygyje resursai Struktūrizavimo resursai - programos, funkciniai blokai ir funkcijos - talpina savyje valdymo programos konkrečią valdymo logiką (taisykles). Jie dar vadinami programos organizaciniais moduliais. Šiais struktūrizavimo resursais pasižymi bet kuri programavimo kalba. Jie naudojami valdymo ir vartotojo programai suskaidyti į modulius - tai pasakytina visų pirma apie programas ir funkcinius blokus - arba yra pateikiami gamintojo - kai kalbama tik apie programas ir funkcinius modulius. IEC standartas apibrėžia išsamų standartinių funkcijų ir funkcinių blokų rinkinį. Jie gali būti papildyti paties vartotojo sukurtomis funkcijomis ar funkciniais blokais, naudojamais specialiems ar nuolat pasikartojantiems uždaviniams spręsti. Programiniai moduliai, kurie gali būti bet kaip naudojami, įvedami į bibliotekas, kur jie tampa pasiekiami. Programos - tai tolesnė programų organizacinė niša ir iš esmės nuo funkcinio bloko tesiskiria tuo, kad ji negali būti įkomponuota į kokį nors kitą programinį organizacinį modulį. Nuoseklioji funkcinė diagrama - tai kitas struktūrizavimo programų lygyje resursas. Konkrečios programos ir funkcinio bloko turinys gali būti aiškiai ir suprantamai pateiktas, pasinaudojant nuosekliąja funkcine diagrama. Struktūrizavimo konfigūracijos lygyje resursai Konfigūruojantys programavimo kalbos elementai aprašo valdymo programos įjungimo į valdymo sistemą ir jos funkcionavimo laike būdą. Pati valdymo sistema apibrėžia konfigūraciją (CONFIGURATION kalbos elementas). Konfigūracijos viduje veikia globalūs kintamieji (VAR_GLOBAL kalbos elementas)

30 Resursai (RESOURCE kalbos elementas) priklauso mikroprocesorinės sistemos procesoriui, kuriam priskirta viena ar keletas programų. Papildomai tai ir valdymo elementas, reikalingas programai laike valdyti. Šis valdymo elementas - tai užduotis (TASK kalbos elementas). Šis TASK valdymo elementas apibrėžia, kada programa turi būti vykdoma cikliškai arba tik vieną kartą, kada ji turi būti paveikta specifinio įvykio. Specialiai su uždaviniu nesusietos programos yra vykdomos cikliškai žemutiniame ir žemiausio prioriteto lygyje. 17 pav. Konfigūracijos grafinis atvaizdas Konfigūracijos struktūrizavimo resursai pateikti kombinuotame 17 paveiksle. Automatizavimo uždaviniui spręsti skirtas konfigūracijos pavyzdys pateikiamas su paaiškinimais. Turimas pavyzdys yra skirtas pneumatinių vožtuvų surinkimo linijos automatui projektuoti. Vožtuvų surinkimo linijai buvo sukurtas multiprocesorius su trimis procesorinėmis plokštėmis. Procesorinės plokštės panaudotos vožtuvų surinkimui, konvejerio valdymui ir kokybės kontrolei.

31 Statistikos ir duomenų įrašymo programos yra skirtos skirtingiems uždaviniams spręsti. Kaip tokios jos pasižymi skirtingomis vykdymo charakteristikomis. Statistikos programa reguliariais intervalais įvertina ir kaupia kokybę sąlygojančius duomenis. Šios programos prioritetas yra žemas. Ji paleidžiama reguliariai, pavyzdžiui, kas 20 minučių kaip Ciklinis_uždav. Atsiradus signalui AVARINIS_STOP, paleidžiama duomenų įrašymo programa, kuri, siekiant išvengti galimo duomenų praradimo, perduoda visus galimus duomenis į aukštesnio hierarchinio lygio kompiuterį. Šią programą paleidžia aukščiausią prioritetą turintis įvykis, suformuodamas AVARINIS_STOP signalą. IEC standartas apibrėžia ir taip standartizuoja interfeisus duomenimis konfigūracijos viduje keistis. Kai specifinė informacija, tokia kaip kintamojo reikšmė, reikalinga skirtinguose organizaciniuose programos moduliuose, toks kintamasis apibrėžiamas kaip globalus kintamasis. Tuomet duomenimis galima apsikeisti per taip apibrėžtus kintamuosius. Prie globalių kintamųjų galima prieiti tik programose ir funkciniuose blokuose. Tinklinėse sistemose domina komunikacijų galimybė už konfigūracijos. Šiam tikslui gali būti naudojami specialūs komunikaciniai funkciniai blokai. Jie yra apibrėžti IEC standarte ir naudojami IEC standarto ribose. Kita galimybė - nurodyti priėjimo kelią (ACCESS_ PATH kalbos resursas) prie specifinio kintamojo.po to tai gali būti rašoma skaitoma ir kitų pozicijų. Programavimo kalbos IEC apibrėžia penkias programavimo kalbas. Nors šių kalbų funkciškumas ir struktūra yra labai skirtingi, jos traktuojamos kaip viena IEC šeimos kalba su persidengiančiais struktūriniais (kintamųjų deklaravimas, organizacinės dalys, tokios kaip funkcijos ir funkciniai blokai ir t.t.) ir konfigūraciniais elementais. PLV projekto viduje kalbos gali būti įvairiai kombinuojamos. Šių penkių kalbų unifikavimas ir standartizavimas tai kompromisas, tekinantis istorinius, regioninius bei pramonės šakų reikalavimus. Pasirūpinta ir galimybe ateityje plėtotis (tai rodo funkcinių blokų principas, ar Struktūrizuoto teksto programavimo kalba), plius buvo įjungti reikalingi informacinių technologijų elementai (duomenų tipai ir t.t.).

32 Kalbos elementai paaiškinami pasinaudojant vožtuvų gamybos procesu. Nustatyti, kuris iš dviejų ruošinių su teisingai išgręžtomis kiaurymėmis yra tinkamoje apdoroti padėtyje, yra panaudoti du jutikliai. Jeigu tinkamas apdoroti A arba B tipo vožtuvas yra vietoje - tai parodo dviejų jutiklių selektorius - cilindras išstumia ir spaudžia grąžtą į gręžiamos kiaurymės vietą. Kontaktų diagrama (LD) Kontaktų diagrama tai grafinė programavimo kalba kilusi iš laidais montuojamų relinių grandinių principinių schemų. Kontaktų diagramą sudaro kontaktų grandinė einanti iš kairės į dešinę; ši kontaktų grandinė sudaryta iš komutacinių elementų (normaliai atviri/normaliai uždari kontaktai) sujungtų panaudojant linijas ir ričių elementus. Funkcinė blok-diagrama (FBD) Funkcinėje blok-diagramoje funkcijos ir funkciniai blokai yra vaizduojami grafiškai ir tarpusavyje sujungiami į tinklą. Funkcinės blok-diagramos kilo iš elektroninių grandinių loginių schemų. 18 pav. Funkcinės blok-diagramos pavyzdys

33 Komandų sąrašas (IL) Komandų sąrašas - tai tekstinė asemblerio tipo programavimo kalba, apibūdinama paprasta struktūra (vieno registro procesorius). Komandų sąrašas sudaromas iš valdymo komandų, susidedančių iš operatoriaus ir operando. LD A_tipas OR B_tipas AND Gaminys_yra AND Leid_gręžti ST Grąžto_padavimas 19 pav. Teiginių sąrašo pavyzdys Kalbos požiūriu kontaktų diagramų, funkcinių blok-diagramų ir komandų sąrašo kalbos buvo formuojamos taip, kad jos tiktų naudoti šiuolaikinėse PLV technologijose. Kalbant apie jų elementus reikia konstatuoti, kad jos apsiriboja bazinėmis funkcijomis. Tai jas iš esmės skiria nuo dabar naudojamų kompanijų kalbų dialektų. Šių kalbų konkurentiškumas užtikrinamas, naudojant funkcijas ir funkcinius blokus. Struktūrizuotas tekstas (ST) Struktūrizuotas tekstas - tai aukšto lygio Pascal pagrindu sudaryta kalba, susidedanti iš sakinių ir komandų. Komandos dažniausiai formuojamos taip: parenkamos komandos, pavyzdžiui, IF THEN ELSE ir t.t, pakartojimo komandos, pavyzdžiui, FOR, WHILE ir t.t., iškviečiami funkciniai blokai. Grąžto_padavimas: (A_dalis OR B_dalis) AND Gaminys_yra AND Leid_gręžti; 20 pav. Struktūrizuoto teksto pavyzdys Struktūrizuotas tekstas, be grynai technologinių funkcijų įgalina formuluoti įvairius praktinius uždavinius, pavyzdžiui, algoritmavimo (aukšto lygio valdymo algoritmai ir t.t.), duomenų valdymo (duomenų analizė, sudėtingų duomenų struktūrų apdorojimas ir t.t.).

34 Nuosekliosios funkcinės diagramos (SFC) Nuosekliosios funkcinės diagramos - tai kalbos resursas, skirtas nuosekliai orientuotoms valdymo programoms struktūrizuoti. Nuosekliosios funkcinės diagramos elementai - tai žingsniai, perėjimai, alternatyvios ir lygiagrečios šakos. Kiekvienas žingsnis atspindi valdymo programos vykdymo stadijos būseną, kuri gali būti aktyvi arba neaktyvi. Žingsnis susideda iš veiksmo, kuris lygiai kaip ir perėjimo sąlyga yra aprašomas IEC standarto kalbomis. Veiksmai vėl gi gali susidėti iš nuoseklių struktūrų. Ši savybė leidžia sudaryti hierarchines valdymo programų struktūras. Tuo būdu nuoseklioji funkcinė diagrama yra puikus valdymo programų projektavimo ir struktūrizavimo įrankis.

35 4. Bendrieji programavimo kalbų elementai

36 PLV resursai Pagal IEC standartą valdymo programoje tiesiogiai adresuojami gali būti tik valdiklio įėjimai, išėjimai ir jo atmintis. Tiesioginis adresavimas šiuo atveju reiškia, kad programoje bet kuris valdiklio įėjimas, išėjimas ar atminties elementas yra paveikiamas tiesiogiai, o ne aplinkiniu keliu per apibrėžtąjį simbolinį kintamąjį. Natūralu, IEC standartas pripažįsta ir visą eilę kitų resursų, pavyzdžiui, taimerius ir skaitiklius. Tačiau, siekiant garantuoti kaip galima aukštesnį valdymo programos portabilumą tarp skirtingų valdymo sistemų, pastarieji yra apiforminti kaip funkcijos ar funkciniai blokai. Įėjimai, išėjimai ir atmintis Svarbiausio valdiklio sudėtinės dalys tai jo įėjimai, išėjimai ir atmintis. Tik per savo įėjimus valdiklis gali priimti informaciją iš stebimųjų procesų. Panašiai, tik per savo išėjimus, sukauptos informacijos dėka, jis gali sąlygoti tolesnę proceso eigą. Pagal IEC standartą įėjimų, išėjimų ir atminties resursams žymėti numatyti privalomi simboliai. Įėjimai Išėjimai Atmintis I Q M 21 pav.įėjimų išėjimų Ir atminties žymėjimas Nesant papildomų nurodymų, šie simboliai reiškia tik binarius įėjimus ar išėjimus bei atskirus atminties elementų bitus, vadinamus vėliavėlėmis. Apskritai, šis standartas kalba apie tiesioginius kintamuosius. Tai yra kintamieji, kurie yra tiesiogiai susieti su aparatūriškai prieinamais valdiklio įėjimais, išėjimais ar atminties elementais. Įėjimų, išėjimų ir vėliavėlių fizinės ir loginės pozicijos valdymo sistemoje yra atitinkamų valdiklių gamintojų nustatytos.

37 Jei tai numatyta valdiklyje, gali būti adresuojami ir didesni kaip vieno bito resursai. IEC standartas tam nurodyti naudoja papildomą raidę, sekančią po santrumpos I,Q,M, skirtą, pavyzdžiui, baitams (BYTE) ir žodžiams (WORD) nurodyti. IEC standartu apibrėžiami duomenų tipų vardai, pateikti 22 paveiksle, eina drauge su įėjimais, išėjimais ir vėliavėlėmis. Bool Byte Word 1 bitas 8 bitai 16 bitų 22 pav. Duomenų tipai 1 bito dydžio BOOL (loginis) tipo duomenys gali įgyti tik reikšmes 0 arba 1. Taigi BOOL tipo duomenims tėra tik dvi reikšmės 0 ir 1. Priešingai, reikia pastebėti, kad duomenys, išreikšti bitų seka, didesne nei 1 bitas, nėra tiesioginė įėjimų signalų verčių suma. Kiekviena duomenų bitų seka, pavyzdžiui, BYTE ir WORD yra tik įvairių bitų kombinacija. Kiekvienas bitas gali turėti reikšmę 0 arba 1, bet jų kombinacija neturi savo reikšmės. Privalomas įvairaus ilgio įėjimų, išėjimų ir vėliavėlių žymėjimas yra pateikiamas 23 paveiksle. I,Q,M arba IX,QX,MX IB,QB,MB IW,QW,MW Įėjimo bitas,išėjimo bitas, bitas atminties Įėjimo baitas, išėjimo baitas, atminties baitas, Įėjimo žodis, išėjimo žodis, atminties žodis 1 bitas 8 bitai 16 bitų 23 pav. Įėjimų išėjimų ir atminties žymėjimas

38 Kiekvienas individualus įėjimo, išėjimo ar vėliavėlės bitas visiems duomenų tipams gali taip pat būti adresuojamas ir be papildomos santrumpos X. Kadangi valdikliai visada turi pakankamai daug tinkamų vartoti įėjimų, išėjimų bei atminties vėliavėlių, siekiant juos atskirti, jie gali būti specialiai identifikuojami. IEC standarte naudojama numeravimo sistema pateikta šiame pavyzdyje: I1 IX9 I15 QW3 MB5 MX2 Pirmasis įėjimas Devintasis įėjimas Penkioliktasis įėjimas Trečiasis išėjimo žodis Penktasis atminties baitas Antroji atmintis IEC standartas neapibrėžia numeracijos pradinio skaitmens reikšmės, ir numeracija gali prasidėti nuo 0 arba nuo 1. Tai nurodo valdiklio gamintojas. Tuo atveju, kai vartotojas atitinkamai konfigūruoja valdiklį, taip pat gali būti naudojama hierarchinė įėjimų, išėjimų ir vėliavėlių numeracija. Hierarchijos lygiams atskirti naudojami taškai. Hierarchijos lygių skaičius nėra apibrėžtas. Hierarchinės numeracijos atveju aukščiausias lygis yra koduojamas kraštiniu kairiuoju bitu, sekantis bitas iš dešinės pažymi kitą, atitinkamai žemesnį lygį.

39 Pavyzdys. Nurodytasis įėjimas I3.8.5 gali būti sukonstruotas pagal tokią schemą Įėjimas Sekcija Nr. 3 Interfeiso plokštė Nr. 8 Įėjimas Nr. 5 I IEC standartas nepateikia jokių komentarų, kaip turi būti priskiriami individualūs bitai BAITE ar ŽODYJE. Dažniausiai vardiklių gamintojai parenka hierarchinio priskyrimo metodus individualiems bitams, kaip atskiriems žodžio elementams žymėti. Pavyzdžiui, F6.2 galėtų nurodyti 2 bitą šeštajame atminties žodyje. Tačiau nebūtinai taip visada turi būti, kol vėliavėlės bito F6.2 ir vėliavėlės žodžio FW6 nereikia kaip nors panaudoti. Be to, nėra jokių nurodymų, kuria tvarka bitai turėtų būti numeruojami individualiame žodyje (iki šiol 0 dažniausiai žymimas kraštinis dešinysis bitas). Tiesiogiai adresuojami kintamieji Jei valdymo resursus programoje reikia adresuoti tiesiogiai, tuomet prieš atitinkamo resurso simbolinį pažymėjimą reikia prirašyti simbolį %. Tiesiogiai adresuojamų kintamųjų pavyzdžiai. %IX12 arba %I12 %IW5 %QB8 %MW27 Dvyliktasis įėjimo bitas Penktasis įėjimo žodis Aštuntasis išėjimo žodis Dvidešimt septintasis atminties žodis Tiesioginį kintamųjų adresavimą galima naudoti tik programose, konfigūruojant valdiklius ir nurodant resursus. Siekiant kad.programiškai organizuotos funkcijos ar funkciniai blokai išliktų nepriklausomi nuo valdiklio tipo ir juos būtų galima kuo plačiau panaudoti, jie gali funkcionuoti tik su simboliniais kintamaisiais.

40 Kintamieji ir duomenų tipai Kuriant valdymo programas neužtenka vien tiesiogiai adresuojamų kintamųjų (resursų, įėjimų, išėjimų ir atminties). Dažnai reikia duomenų, suteikiančių specialią, o taip pat sudėtingesnę informaciją. Duomenys gali būti apibrėžti tiesiogiai, pavyzdžiui, duomenys apie laiką ar skaitiklio reikšmes, arba duomenys prieinami tik per kintamuosius t.y. per jų simbolinius adresus. Svarbiausios nuostatos atskiriančios duomenis nuo kintamųjų pateikiamos žemiau. Simbolinis adresavimas Simbolinis identifikatorius yra sudaromas panaudojant didžiąsias arba mažąsias raides, skaičius ar apatinius brūkšnelius. Identifikatorius visada turi prasidėti raide arba brūkšneliu. Apatinis brūkšnelis gali būti panaudotas, kai norima suteikti identifikatoriui lengviau suprantamą pavidalą. Tai yra svarbus požymis. Du identifikatoriai Motor_on ir Motoron yra skirtingi. Negalima naudoti keleto brūkšnelių viename identifikatoriuje. Jei valdiklis priima didžiąsias ir mažąsias raides, tuomet raidės tipas neturi jokios reikšmės. Du identifikatoriai MOTORON ir Motoron bus suprantami vienodai ir apibrėš tą patį objektą. Žemiau pateikiami identifikatoriai yra neleistini: 123 Negalima pradėti skaičiumi Button_? Paskutinis simbolis yra blogas, kadangi tai nėra nei raidė, nei skaičius Be to, identifikatoriai neturi sutapti su raktiniais žodžiais. Paprastai, raktiniai žodžiai - tai tokie žodžiai, kurie yra rezervuoti specialiems uždaviniams vykdyti. Duomenų pateikimas Turi būti galimybė valdymo programos rėmuose nustatyti laiko intervalo, skaitiklių skaičiavimo ir kitokias reikšmes. Atsižvelgiant į tai, IEC standartas nurodo, kaip pateikti duomenis, reikalingus nustatyti: skaitiklių reikšmėms, laiko reikšmėms; eilutėms

41 4.1 lentelė Skaitmeninių duomenų pateikimas Pavadinimas Pavyzdžiai Sveikieji skaičiai 12, -8, *, +75 Skaičiai su plaukiojančiu -12.0, _4 kableliu Dvejetainiai skaičiai 2#1111_1111 (255 dešimtainis) 2#1101_0011 (211 dešimtainis) Aštuntainiai skaičiai 8#377 (255 dešimtainis) 8#323 (211 dešimtainis) Šešioliktainiai skaičiai 16#FF ar 16#ff (255 dešimtainis) 16#D3 ar 16#d3 (211 dešimtainis) Loginis nulis ar vienas 0,1 * Siekiant palengvinti skaitymą, leidžiami apatiniai brūkšneliai tarp skaičių. Pats brūkšnelis nieko nereiškia. IEC standartas numato įvairius laiką išreiškiančių duomenų tipus: trukmė, pavyzdžiui, matavimo rezultatas; data; dienos metas, pavyzdžiui, norint sinchronizuoti įvykio pradžią ir pabaigą (taip pat suderinant su data). 4.2 lentelė Laiką išreiškiančių duomenų pateikimas Pavadinimas Laiko trukmė Data Dienos metas Data ir laikas Pavyzdžiai T#18ms, t#18ms, t#3.5s t#6h_20m_8s TIME#18ms D# DATE# TOD#13:18:42.55 TIME_OF_DAY#13:18:42.55 DT# :18:42.55 DATE_AND_TIME# :18:42.55 Laiko trukmę nustatančios specifikacijos turi įvadinę dalį T# arba t# ir laiką (dienas, valandas, minutes, sekundes ir milisekundes) išreiškiančių sugrupuotų simbolių seką.

42 Laiko duomenis išreiškiančios santrumpos d h m s ms Dienos Valandos Minutės Sekundės Milisekundės Vietoj mažųjų raidžių gali būti naudojamos ir didžiosios; geresniam supratimui gali būti panaudoti apatiniai brūkšneliai. IEC standartas nustatė fiksuotą formatą datai, laikui, dienai ar jų kombinacijai nustatyti. Kiekvienas identifikatorius prasideda raktiniu žodžiu. Kitas svarbus duomenų pateikimo būdas - tai simbolių sekos, vadinamos eilutėmis, kurios gali būti reikalingos keičiantis informacija, pavyzdžiui, tarp valdiklių, tarp kitų automatinės sistemos elementų ar programuojant tekstus, kurie turi būti pateikiami valdymo ar atvaizdavimo įtaisų displėjuose. Eilutė susideda iš nulio ar keleto įvairių simbolių, patalpintų tarp dviejų apverstų kablelių 4.3 lentelė Eilučių pateikimas Pavadinimas B Aprašymas Vieno simbolio ilgio eilutė, susidedanti iš simbolio B Pastaba Septynių simbolių ilgio eilutė, sudaranti žodį Pastaba Tuščia eilutė

43 Duomenų tipai IEC standartas apibrėžia daug duomenų tipų, tinkamų įvairiems uždaviniams spręsti. Vienas duomenų tipas BOOL (loginis) jau buvo paminėtas. BOOL tipo kintamieji įgyja tik 0 arba 1 reikšmes. 4.4 lentelė Keletas elementarių duomenų tipų Raktas Duomenų tipas Galimos reikšmės BOOL Loginis 0,1 SINT Trumpas sveikasis nuo 0 iki 255 INT Sveikasis nuo iki DINT Dvigubas sveikasis nuo iki UINT Sveikasis be ženklo nuo 0 iki REAL Realus (Skaičius su plaukiojančiuoju kableliu) nuo +/- 2.9E-39 iki +/-3.4E+38 TIME Laiko trukmė Priklauso nuo valdiklio STRING Kintamojo ilgio eilutė Priklauso nuo valdiklio BYTE 8 bitų seka Reikšmės neapibrėžtos WORD 16 bitų seka Reikšmės neapibrėžtos Kiti du svarbūs duomenų tipai, pavadinti INT ir UINT apibrėžia sveikuosius skaičius. INT (integer) tipo duomenys gali būti nuo iki Tuo būdu INT tipo duomenų reikšmės perdengia ir teigiamus ir neigiamus skaičius. UINT (unsigned) tipo kintamieji gali būti naudojami tik teigiamoms reikšmėms apibrėžti. Galimos UINT reikšmės nuo 0 iki SINT (short integer) ir DINT (double integer) - tai pagalbiniai duomenų tipai, apibrėžiantys sveikuosius skaičius. Tuo būdu turime mažesnės arba didesnės apimties duomenų grupes negu INT. REAL tipo duomenys apima skaičius su plaukiojančiu kableliu. Tai yra skaičiai, turintis reikšminius simbolius po taško, pavyzdžiui, 3.24 arba TIME tipo duomenys yra skirti specialiai laikui ir gali išreikšti laiko trukmes, tokias kaip, pavyzdžiui, 2 minutės ir 30 sekundžių.

44 Be šių elementariai apibrėžtų duomenų tipų vartotojas gali apibrėžti ir savo duomenų tipus. Tai būna naudinga, kai duomenų apibrėžimo problema iškyla grynai valdymo technologijų srityje. Išvestiniai duomenų tipai yra apibrėžiami TYPE. END_TYPE konstrukcijoje. Pilnas apibrėžimas, pavyzdžiui, norint įvardinti spalvų tipus yra pateiktas žemiau, 5 lentelėje: TYPE Spalva: END_TYPE (RAUDONA,MĖLYNA,GELTONA,JUODA); 4.5 lentelė Išvestinių duomenų tipai Išvestinių duomenų tipai Pareiškimas TYPE END_TYPE Sąrašo tipas Spalva: (RAUDONA,MĖLYNA,GELTONA,JU O DA); Posričio tipas Nustatymo_sritis: (80 110) Laukai (masyvai) Padėtis: ARRAY[1..10] OF REAL Struktūros Koordinatės: STRUCT X:REAL ; Y:REAL ; END_STRUCT 4.5 lentelėje pateiktų individualių duomenų tipų reikšmės yra trumpai paaiškintos žemiau: Duomenų elementas Spalva gali apimti tik vieną iš reikšmių RAUDONA, MĖLYNA, GELTONA ir JUODA. Duomenų elementas Nustatymo sritis apima reikšmes tarp 80 ir 110, įskaitant ir ribines reikšmes 80 arba 110.

45 Duomenų tipas padėtis pateikia dešimties įėjimo signalo reikšmių sąrašą. Kiekviena įėjimo reikšmė išreiškiama REAL skaičiumi. Individualios reikšmės gali būti pažymėtos indeksais. Duomenų tipą Koordinatės sudaro du REAL tipo skaičiai, kurie gali būti prieinami per jų pavadinimus X ir Y. Ne visiems valdikliams reikalingi visi šie duomenų tipai. Kiekvienas gamintojas pateikia duomenų tipų sąrašą, kurie gali būti panaudoti valdiklyje.

46 Kintamųjų deklaravimas Dirbant su duomenimis, turi būti aiškiai apibrėžtos taisyklės, kaip prieiti prie šių duomenų. Tam tikslui IEC standarte numatytas kintamųjų deklaravimas. Norint suprasti kintamųjų deklaravimo funkciją, visų pirma reikia suvokti, kad valdiklio programą sudaro individualūs organizaciniai moduliai. Tai yra: konfigūracija; resursai programos; funkciniai blokai; funkcijos. Kiekvienas kintamasis turi savo specifinę poziciją. Tekstinėse programavimo kalbose (IL ir ST), kintamųjų deklaracija atliekama panašiai, kaip Pascal programavimo kalboje. Grafinėse programavimo kalbose būtų priimtina lentelės forma su atitinkamomis nuorodomis. Tačiau tai nėra apibrėžta IEC standarte. Bet kokia kintamųjų deklaracija (5 pavyzdys) pradedama raktiniu žodžiu VAR, kuris nurodo kintamojo padėtį organizaciniame valdiklio modulyje, ir baigiasi raktiniu žodžiu END_VAR. VAR Temp :INT (*Temperatūra *) Rank : BOOL (*rankinio valdymo vėliavėlė *) Pilnas, Atviras BOOL: (*vėliavėlė pažymėti Pilnas, Atviras *) END_VAR Pavyzdys. Kintamųjų deklaravimas Tarp šių raktinių žodžių yra patalpinti kintamieji ir jų priskyrimas duomenims; čia nurodyti simboliniai identifikatoriai, dvitaškiu atskirti duomenų tipai, o už kabliataškio pateiktas kintamojo įvardinimas. Deklaruojant skirtingus kintamuosius visa tai yra kartojama. Paprastai, tokiu atveju kiekviena deklaracija prasideda iš naujos eilutės.

47 IEC standartas pripažįsta šešis skirtingus priėjimo prie kintamųjų būdus. Kiekvienas būdas turi savo raktinį žodį, kuriuo prasideda kintamojo deklaracija. 4.6 lentelė Kintamųjų deklaravimo raktiniai žodžiai Įėjimo kintamieji Išėjimo kintamieji Įėjimo/ išėjimo kintamieji Lokalūs kintamieji Globalūs kintamieji Išoriniai kintamieji VAR_INPUT VAR_OUTPUT VAR_IN_OUT VAR VAR_GLOBAL VAR_EXTERN Įėjimo kintamieji deklaruojami pasinaudojant raktiniais žodžiais VAR_INPUT ir END_VAR. VAR_INPUT Input :INT (*Įėjimo reikšmė *) END_VAR Pavyzdys. Įėjimo kintamojo deklaravimas Taip apibrėžti kintamieji pristato įėjimo kintamuosius iš išorės veikiančius organizacinį modulį, pavyzdžiui, funkcinį bloką. Jie gali būti priimti tik šiame organizaciniame modulyje. Modifikacijos yra negalimos. Analogiškai, išėjimo kintamieji yra apibrėžiami naudojant raktinius žodžius VAR_OUTPUT ir END_VAR. VAR_OUTPUT Result :INT; (*grįžtamojo ryšio reikšmė *) END_VAR Pavyzdys. Išėjimo kintamojo deklaravimas Duomenys, kuriuos suformuoja organizacinis modulis ir perduoda išoriškai atgal yra deklaruojamas, kaip parodyta aukščiau.

48 Visi rezultatai gauti organizaciniame modulyje turi būti perduodami toliau kaip šiam tikslui deklaruoti kintamieji. Pačiame organizaciniame modulyje jie gali būti skaitomi ir rašomi. Iš išorės leidžiama tik skaityti. Tuo atveju, kai kintamieji, talpinantys savyje ir įėjimo ir išėjimo reikšmes yra leistini, jie gali būti sukurti naudojant raktinius žodžius VAR_IN_OUT ir END_VAR. VAR_IN_OUT Value END_VAR :INT; Pavyzdys. Įėjimo išėjimo kintamųjų deklaravimas Ši forma suteikia trečią galimybę ir įgalina deklaruoti kintamuosius, kurie gali būti skaitomi ir panaudoti pačiame organizaciniame modulyje. Tuo atveju, kai kintamasis yra įvardintas kaip VAR_IN_OUT yra nustatoma, kad reikšmės gali būti perduodamos į organizacinį modulį ir gaunamos iš jo. Dažnai reikalingi kintamieji įvardinti tarpiniams rezultatams, kurie išoriškai išlieka nežinomi. Pavadinti lokaliaisiais, tokie kintamieji yra pradedami žodžiu VAR ir užbaigiami END_VAR. VAR Z :INT; (*tarpinis rezultatas *) END_VAR Pavyzdys. Lokalių kintamųjų įvardinimas Čia įvardinti kintamieji yra lokalūs organizacinio modulio požiūriu ir gali būti naudojami tik tame modulyje. Jie yra nežinomi ir neprieinami kitiems organizaciniams moduliams. Vienas tipinis panaudojimas - tai atminties rezervavimas tarpiniams rezultatams, kurie yra visiškai neįdomūs kitose programos dalyse. Reikėtų įsidėmėti, kad tokie kintamieji skirtingu laiku.gali būti naudojami skirtinguose organizaciniuose moduliuose. Tuo būdu galima, pavyzdžiui, keliems funkciniams moduliams deklaruoti lokalųjį kintamąjį Z. Tokie lokalūs kintamieji bus visiškai nesusieti ir skiriasi vienas nuo kito. Kintamieji gali būti deklaruoti ir kaip globalieji, tuomet jie gali būti bendrai prieinami. Toks deklaravimas vykdomas, panaudojant raktinius žodžius VAR_GLOBAL ir VAR_EXTERNAL.

49 VAR_GLOBAL Global_value END_VAR :Int; Pavyzdys. Globalaus kintamojo deklaravimas Šitaip turi būti deklaruojami visi valdymo programai reikalingi globalūs duomenys. Globalūs duomenys yra prieinami iš visur. Toks deklaravimas sutinkamas tik konfigūravimo organizaciniuose moduliuose ir resursuose. VAR_EXTERNAL Global_value END_VAR :Int; Pavyzdys. Priėjimo prie globaliųjų kintamųjų deklaravimas Siekiant palengvinti globaliųjų duomenų patekimą į organizacinį modulį, šią deklaraciją reikia įrašyti į organizacinį modulį. Be aukščiau nurodytos deklaracijos, nebus galima prieiti prie globaliųjų duomenų. Toks labai griežtas deklaravimo modulis apibrėžia kintamuosius, kurie turi būti atpažinti organizaciniame modulyje ir nurodo, kaip jie gali būti panaudoti. Pavyzdžiui, funkcinis blokas gali tik skaityti bet negali pakeisti savo įėjimo kintamųjų, o programa, naudojanti funkcinius blokus gali tik skaityti bet negali keisti jo išėjimo reikšmes. Raktinis žodis AT yra naudojamas kintamiesiems prie valdiklio įėjimų ir išėjimų priskirti. VAR Stop_mygt AT %I2.3: BOOL; Temperat AT %I2.3: INT;

50 END_VAR Pavyzdys. Kintamųjų deklaravimas, juos priskiriant prie valdiklio įėjimų Toks deklaravimas yra geriausia priemonė nurodant visų valdiklio įėjimų ir išėjimų paskirtis. Jei sistemoje atsiranda pakitimų arba pasikeičia prijungimų prie valdiklio tvarka, tereikia pakeisti šias deklaracijas. Bet koks mygtukų Stop_mygt ar Temperat panaudojimas programoje dėl to nepakinta. ačiau vis dėl to galima, sutinkamai su IEC standartu, naudoti tiesiogiai adresuotus kintamuosius, nepriskiriant jiems simbolinių kintamųjų. Tuomet deklaruojama tokiu būdu: VAR AT %I4.2 :BOOL; AT %MW1:WORD; END_VAR Inicializavimas Labai dažnai yra svarbu kintamajam suteikti pradinę reikšmę. Vykdant programą, ši reikšmė gali bet kuriuo metu keistis, nežiūrint to, kad ji buvo nurodyta pradiniu momentu. Pradinė būsena kaip tokia taip pat yra svarbi ir kitiems duomenims. Tokios pradinės reikšmės yra nustatomos drauge, deklaruojant kintamuosius. Globalus kintamasis pavadintas Tuzinu turi būti deklaruojamas, įvardinant jo pradinę reikšmę leidžiant programą, lygią 12. VAR_GLOBAL Tuzinas :=12; END_VAR :INT Pavyzdys. Globalaus kintamojo deklaravimas, nurodant pradinę jo reikšmę Kaip parodyta šiame pavyzdyje inicializavimo reikšmė visada įterpiama tarp duomenų tipo simbolio - šiame pavyzdyje INT - ir uždarančiojo kabliataškio. Inicializuojamąjai reikšmei priskirti naudojamas simbolis :=. Tokiu būdu kiekvienam kintamajam gali būti priskirta speciali pradinė reikšmė. Fundamentalu tai, kad kintamieji visada turi programos pradžioje nustatytas pradines reikšmes. Tam palengvinti IEC standarte kintamieji jau turi nustatytas pradines reikšmes. Priklausomai nuo duomenų tipo kiekvienas kintamasis turi iš anksto priskirtą pradinę reikšmę, nebent

51 programoje yra priskirta kitokia reikšmė. Pradinių reikšmių sąrašas elementarių duomenų tipams pateiktas 4.7 lentelėje. 4.7 lentelė Pradinių reikšmių nustatymas Duomenų tipas BOOL, SINT, INT, DINT UINT BYTE, WORD REAL TIME STRING Pradinė reikšmė T#0s tuščia eilutė

52 Programos Valdiklio programos yra suskaidytos į individualius organizacinius modulius, kurie sudaro tam tikrus programos lygius, tokius kaip: programos; funkciniai blokai; funkcijos. Tokie programų organizaciniai moduliai yra naudojami visose programavimo kalbose. Tipiniams uždaviniams spręsti IEC standartas numato daugybę standartinių funkcijų ir funkcinių blokų. IEC standartas leidžia kurti ir savas funkcijas bei funkcinius blokus. Tokiu būdu gamintojai arba vartotojai konkretiems uždaviniams spręsti gali kurti įkomponuojamus modulius. Funkcijos Funkcijos - tai programiniai moduliai, kurie gali formuoti tik vieną rezultatą (duomenų elementą). Štai kodėl programos tekste funkcijos iškvietimas naudojamas kaip vieno sakinio operandas. Funkcija neturi informacijos apie pradinę būseną. Tai reiškia, kad iškvietus funkciją su tuo pačiu argumentu (įėjimo parametrais) turi būti gaunamas tas pats rezultatas. INT reikšmių sumavimas arba loginė ARBA funkcija yra funkcijų pavyzdžiai. Funkcijos ir jų iškvietimo procedūra gali būti pateikiamos grafiškai arba tekstine forma. F X Y Įėjimai Išėjimas 24 pav. Grafinis funkcijos pavaizdavimas

53 Grafiškai funkcija yra pateikia stačiakampio pavidalu. Visi įėjimo parametrai yra nurodyti kairiojoje jo pusėje, o išėjimo parametrai pavaizduoti dešiniojoje jo pusėje. Funkcijos vardas įrašomas į stačiakampio vidų. Formalūs įėjimo parametrai gali būti nurodyti vidinėje stačiakampio pusėje pagal jo briaunas. Tai reikalinga dirbant su keliomis funkcijų grupėmis, tokiomis kaip, pavyzdžiui, bito persiuntimo funkcijos. Funkcijoms, kurių įėjimai yra identiški, tokioms kaip sumavimo (ADD) funkcija nėra formalių parametrų. VAR AT %QW4 AT %IW9 AT %IW7 AT %MW1 END_VAR :INT; :INT; :INT; :INT; %QW4 %IW9 %IW7 ADD %MW1 a %IW2 4 IN N SHL %MW5 b 25 pav. Formalių parametrų panaudojimas funkcijose. a) be formaliųjų parametrų pavadinimų; b) su formaliųjų parametrų pavadinimais Loginiai funkcijos įėjimai ar išėjimai gali būti invertuoti, parodant tai ratuku tiesiai prie stačiakampio šono.

54 AND %Q5.3 %M1.1 %Q pav.loginių kintamųjų invertavimo pavaizdavimas

55 Iškvietus funkciją reikia suformuoti (prijungti) visus įėjimus ir išėjimus. Sudėties (ADD) funkcija apdoroja tiesiogiai adresuotų kintamųjų, tokių kaip %QW4 ir t.t. INT reikšmes, nes jie yra deklaruoti, kaip INT tipo kintamieji. Analogiškai ADD funkcija gali būti panaudota SINT ar REAL tipo signalams apdoroti. Panašios funkcijos, operuojančios su skirtingų duomenų tipų kintamaisiais IEC standarte vadinamos perkraunamomis arba nuo kintamojo tipo nepriklausančiomis funkcijomis. ADD funkcija kaip perkraunamos funkcijos pavyzdys ADD Visi duomenų tipai, apibrėžiantys skaičius yra leistini kaip įėjimus ar rezultatą apibrėžiantys parametrai a) INT tipo įėjimo parametrai Bendra forma ADD INT IN T INT Pavyzdys VAR AT %IW1 :INT; AT %IW2 :INT; AT %MW3:INT; END_VAR %IW1 %IW2 ADD %MW b) SINT tipo įėjimo parametrai SIN SIN Bendra forma ADD Pavyzdys VAR AT %IB1 :SINT; SIN AT %IB2 :SINT; AT %MB6 :SINT; END_VAR %IB1 ADD %MB6 %IB2 27 pav. Perkraunamos, nuo duomenų tipo nepriklausomos funkcijos

56 Jei perkraunamosios funkcijos panaudojimo sritis yra ribojama su valdiklio ypatumais susijusio duomenų tipo - t.y. kaip pavaizduota 28 paveiksle INT duomenų tipo - tokios funkcijos vadinamos kaip apibrėžto tipo funkcijos. Apibrėžto tipo funkcijas galima atpažinti iš jų funkcijos pavadinimo. Funkcijos tipas apatiniu brūkšneliu atskiriamas nuo pagrindinio funkcijos pavadinimo. Bendra forma Pavyzdys INT IN T ADD_IN INT VAR AT %IW1 :INT; AT %IW2 :INT; AT %MW3:INT; END_VAR %IW1 %IW2 ADD_IN %MW 28 pav. Apibrėžto tipo funkcija Standartinės funkcijos Svarbiausios standartinės funkcijos, reikalingos tipiniams technologiniams uždaviniams spręsti, yra išvardintos žemiau pateiktoje lentelėje. Kadangi daugybė standartinių funkcijų gali operuoti įvairių duomenų tipų įėjimų parametrais, duomenų tipai buvo sugrupuoti. Kiekvienai grupei suteiktas bendras grupės vardas. Svarbiausių duomenų tipų grupių vardai yra pateikti 4.8 lentelėje. 4.8 lentelė Duomenų grupės ANY_NUM Visiems REAL tipo duomenims su plaukiojančiu kableliu ir visiems sveikiesiems skaičiams, tokiems kaip INT, UINT ir t.t., jis apima ANY_REAL irany_int tipus ANY_INT Visiems INT, UINT ir t.t. tipo duomenims. ANY_REAL Visiems REAL arba LREAL tipo duomenims su plaukiojančiuoju kableliu ANY_BIT Visiems bitų sekų tipo duomenims, tokiems kaip BOOL, BYTE, WORD ir t.t.

57 ANY_BI T ANY_BI T * * * * * * ANY_BIT * * * ANY_BIT * * *. = vardas ar simbolis 4.9 lentelė Bitinės loginės funkcijos Pavadinimas Simbolis Aprašymas AND & Visų įėjimų IR operacija OR > 1 Visų įėjimų ARBA operacija XOR 2k+1 Išskirtinis visų įėjimų ARBA NOT Įėjimo inversija ANY_BI T ANY_IN * * * IN N ANY_BIT * * * = vardas ar simbolis

58 4.10 lentelė Bitų perstūmimo funkcijos Pavadinimas Aprašymas SHL Perstumti IN per N bitų į kairę, atsilaisvinusias pozicijas užpildyti nuliais SHR Perstumti IN per N bitų į dešinę, atsilaisvinusias pozicijas užpildyti nuliais ROR Cikliškai perstumti IN į dešinę per N bitų ROL Cikliškai perstumti IN į kairę per N bitų

59 ANY_BIT or ANY_BIT or * * * * * * * * * * * * = vardas ar simbolis 4.11 lentelė Palyginimo funkcijos Pavadinimas Simbolis Aprašymas GT > Daugiau GE > Daugiau arba lygu EQ = Lygu LE < Mažiau arba lygu LT < Mažiau NE < nelygu a) Grafinis vaizdavimas ANY_BIT BCD_TO_IN INT Aprašymas Keičia BYTE, WORD ir t.t tipo kintamuosius į INT tipo kintamuosius. Bitų sekos tipo kintamojo duomenys pateikti BCD formatu (dvejetainiu dešimtainiu kodu). Pavyzdys 2#0011_0110_1001 BCD_TO_IN 369 b) Grafinis vaizdavimas INT INT_TO_BC ANY_BIT

60 Aprašymas Keičia INT tipo kintamuosius į BYTE, WORD ir t.t kintamuosius Bitų sekos kintamojo duomenys išreiškiami BCD formatu Pavyzdys 25 BCD_TO_IN 2#0010_0101

61 ANY_N U ANY_ * * * * * * ANY_ * * * ANY_NU * * * = vardas ar simbolis

62 4.12 Lentelė Aritmetinės funkcijos Pavadinimas Simbolis Aprašymas ADD + Sumuoja visų įėjimų signalus MUL * Sudaugina visų įėjimų signalus SUB - Atima antrojo išėjimo signalą iš pirmojo įėjimo signalo DIV / Pirmojo įėjimo signalą dalija iš antrojo MOVE := priskiria įėjimus išėjimams, neišplečiamas Funkciniai blokai Funkciniai blokai tai programiniai moduliai, suformuojantys vieną ar kelis skirtingų rezultatų parametrus. Svarbi funkcinių blokų savybė yra ta, kad juos galima kopijuoti. Kai valdymo programoje reikia panaudoti funkcinį bloką, pagal jo pavyzdį turi būti sukurta kopija. Tai atliekama priskiriant pavyzdžio vardą. Šis junginys yra laikomas duomenų bazėje, kurioje saugomas šios funkcinio bloko kopijos statusas (išėjimo parametrų reikšmės ir vidiniai kintamieji). Informacija apie funkcinio bloko kopijos statusą išlieka nepakitusi nuo vienos operacijos iki kitos. Tai gali būti parodyta, naudojant pavyzdžiu standartinį funkcinį bloką, skirtą skaičiavimo operacijoms. Einamoji skaitiklio turinio reikšmė išlieka nepakitus nuo vienos skaičiavimo operacijos iki kitos ir gali būti nuskaityta bet kuriuo pasirinktu laiko momentu. Tokio pobūdžio procedūros negali būti realizuotos anksčiau aprašytais programiniais resursais.

63 Identifikatorius Duomenų tipas Duomenų tipas FB- X Y P Q Duomenų tipas Duomenų tipas Įėjimai Išėjimai 29 pav. Funkcinio bloko kopijos grafinis atvaizdas Galimas ir grafinis funkcinių blokų atvaizdavimas (ne vien tik viena iš tekstinių programavimo kalbų). Jie vaizduojami stačiakampiais, taip pat kaip ir funkcijos (29 pav.). Įėjimo parametrai yra vaizduojami iš kairės, o išėjimo - iš dešinės pusės. Funkcinio bloko tipas yra įrašomas stačiakampyje. Formaliųjų parametrų vardai įrašomi viduje, prie kairiosios ir dešiniosios stačiakampio briaunų. Identifikatorius Adresacijai skirtas identifikatorius yra rašomas virš fuinkcinio bloko. Naudojant funkcinį bloką, jam turi būti suteiktas identifikatorius. Jei įėjimo parametrai yra priskirti - t. y. einamieji perdavimo parametrai yra prieinami - jie naudojami programoje. Jei įėjimo parametrai yra nenustatyti, tai naudojamos anksčiau priskirtos ir saugomos jų reikšmės arba atitinkamos pradinės reikšmės. 30 paveiksle parodyta, kaip naudojamas (iškviečiamas) standartinis funkcinis skaitiklio blokas. CTU tipo funkcinis blokas - (sumuojanti skaitiklis) CTU tipo funkcinis bloko kopijos panaudojimas valdymo programoje 30 pav. CTU funkcinio bloko (sumuojančiojo skaitiklio) panaudojimas (iškvietimas)

64 CTU funkcinio bloko kopija pažymėta Count_Pack identifikatoriumi. Su kiekvienu teigiamu įėjimo %I1.3 frontu skaitiklio turinys padidinamas vienetu. Pasiekus nustatymo reikšmę lygią 10, skaitiklio Count_Pack Q išėjimas, o tuo pačiu ir valdiklio išėjimas %Q2.5 įgyja reikšmę lygią 1. Visais kitais atvejais išėjimo reikšmė lygi 0. Taip pat galima valdymo programoje pagal vieną ir tą patį funkcinį sukurti keletą kopijų taip, kaip tai pavaizduota 31 paveiksle. TP tipo funkcinis blokas (taimeris) 31 pav. Funkcinių blokų įvairių kopijų panaudojimas Įvairių TP bloko funkcijų panaudojimas 4.14 lentelėje išvardinti dažniausiai naudojami IEC standartu aprobuoti funkciniai blokai.

65 4.14 lentelė Standartiniai funkciniai blokai SR Bistabilus funkcinis blokas (trigeris); išeities padėtyje įjungtas RS Bistabilus funkcinis blokas (trigeris); išeities padėtyje išjungtas CTU Sumuojantysis skaitiklis CTD Atimantysis skaitiklis TP Impulso formuotuvas TON Signalo uždelsimas įjungiant TOF Signalo uždelsimas išjungiant R_TRIG Fronto nustatymas: augantis frontas F_TRIG Fronto nustatymas: krintantis frontas Be standartizuotųjų funkcijų IEC standartas leidžia vartotojui formuoti savo funkcijas Funkcinius blokus pateikiant grafiškai reikia laikytis šių taisyklių. Funkciją reikia apibrėžti tarp raktinių žodžių FUNCTION ---- END_FUNCTION; Reikia detalizuoti funkcijos pavadinimą ir jos įėjimų/išėjimų formalių kintamųjų vardus bei duomenų tipus; Reikia detalizuoti vidinių kintamųjų vardus Ir duomenų tipus; šiam tikslui gali būti panaudota VAR. END_VAR konstrukcija. Funkcinių blokų kopijos negali būti panaudotos kaip vidiniai kintamieji, jei jiems reikalinga jų būseną nustatanti informacija; Funkcija gali būti programuojama naudojantis LD, FBD, IL arba ST kalbomis. Pavyzdinė funkcija SPEC_MUL, pateikta 22 paveiksle, turi du INT tipo parametrus. Šių dviejų parametrų reikšmės yra sudauginamos ir prie sandaugos rezultato pridedama skaičius 15. Suskaičiuotoji reikšmė yra kaip rezultatas funkcijos išėjime.

66 Funkcijos panaudojimo pavyzdys pademonstruotas 32 paveiksle 32 pav.funkcijos SPEZ_MUL panaudojimas

67 Vartotojo suformuoti funkciniai blokai Svarbi IEC standarto ypatybė yra ta, kad vartotojas gali kurti savo funkcinius blokus. Pateikiant funkcinius blokus grafine kalba, reikia laikytis tokių taisyklių: Funkcinis blokas deklaruojamas raktinių žodžių FUNCTION_BLOCK END_FUNCTION_BLOCK konstrukcijoje Detalizuojamas funkcinio bloko pavadinimas ir formaliųjų parametrų vardai bei įėjimo/išėjimo duomenų tipai; Detalizuojami vidinių kintamųjų vardai ir duomenų tipai; galima naudoti VAR END_VAR konstrukciją; Programuojama, naudojant vieną iš LD, FBD, IL, ST, arba SFC programavimo kalbų. Čia nevertinama išplėstinio priėjimo prie duomenų, naudojant globalius kintamuosius, galimybė. (*Išorinio interfeiso aprašymas *) (*Funkcinio bloko programa *) 33 pav. Funkcinio bloko deklaravimas

68 33 paveiksle pateiktasis funkcinis blokas, tai signalų perstūmimo blokas, turintis du įėjimo parametrus, t. y vieną loginį įėjimą signalui ir antrą laiko įėjimą, skirtą perstūmimo laikui nustatyti.išėjimo parametras S_OFF perduoda perstumtą išėjimo signalą. Programos Programa susideda iš bet kokios programavimo kalbos elementų ir konstrukcijų, reikalingų norimai valdikliu valdomos mašinos funkcionavimo tvarkai ar pageidaujamam proceso pobūdžiui, pasiekti. Todėl programos dažniausiai sudaromos funkcijoms, funkciniams blokams ir nuosekliųjų funkcinių diagramų elementams. Programų savybės yra labai panašios į funkcinių blokų savybes. Skirtinga yra tik jų paskirtis: programą apibrėžiantys raktiniai žodžiai yra PROGRAM END_PROGRAM Naudoti tiesiogiai adresuojamus kintamuosius galima tik programose. Tai iliustruoja 24 pav. pateiktas pavyzdys (*Jungiklis prie lauko durų *) (*Jungiklis prie buto durų *) (*Šviestuvas *) (*Apšvietimo trukmė *) Šviestuvas 24 pav. Programos pavyzdys

69 Programos pavadinimas - Laiptinės_apsv. Trys loginiai kintamieji - Switch_F, Switch_A ir Lamp, priskirti dviems PLV įėjimams ir vienam išėjimui, yra deklaruoti kaip vidiniai kintamieji. Be to yra deklaruojama ir laiko intervalo funkcinio bloko TP kopija. Programa vykdo šiuos nesudėtingus uždavinius: Šviestuvas yra įjungiamas 3 minutėms tuo atveju, kai paspaudžiamas bent iš dviejų mygtukų, sumontuotų prie lauko ir prie buto durų.

70 5. Funkcinės blok-diagramos

71 Funkcinių blok-diagramų kalbos elementai Funkcinės blok-diagramos - tai grafinė programavimo kalba, kuri yra sudaryta kaip galima labiau prisilaikant dokumentacijos standarto IEC 617, P12. a) Loginės operacijos ir funkcijos b) Funkcinių blokų panaudojimas 25 pav. Funkcinės blok-diagramos Funkcinių blok-diagramų kalbos elementai - tai grafiniai funkcijų ir funkcinių blokų atvaizdai. Jie tarpusavyje sujungiami signalų perdavimo linijomis; tarpusavyje sujungtieji elementai formuoja tinklą. 25 paveiksle pateikti du paprasti funkcinių blok-diagramų pavyzdėliai. Kintamasis Rankinis_jung yra susietas logine ARBA priklausomybe su loginio palyginimo Laikas>60 rezultatu. Rezultatas pateikiamas kaip kintamasis Vartai_uzd. Kaip naudoti funkcinį bloką parodyta 25 paveiksle. Signalo vėlinimo blokas T_Startup yra nustatytas 7 sekundžių uždelsimui ir įjungiamas signalu %I1.3. Vėlinamojo signalo būsena - T_Startup. Q yra priskirta išėjimui %Q2.4.

72 Priimta signalų sklidimo kryptis tinkle - iš kairės į dešinę. Jei programos organizavimo modulis sudarytas iš keleto tinklų, programa vykdoma iš viršaus į apačią. Programos vykdymo nuoseklumas programos organizavimo modulyje gali būti sąlygojamas, panaudojant programos vykdymo kontrolės elementus. Šiai elementų grupei priklauso, pavyzdžiui, sąlyginis ar besąlyginis šuolis. B 26 paveiksle programos šakai realizuoti panaudotas sąlyginis šuolis. 26 pav.šuolio panaudojimas FBD kalboje Dviguba strėle atvaizduotas sąlyginis šuolis yra vykdomas tuomet, kai įvykdoma šuolio sąlyga. Tokiu būdu, kai įėjimas %I1.1 ir vėliavėlė %M2.5 vienu metu yra lygūs 1, įvyks šuolis į tinklą, pavadintą Variant_1, ir programa toliau bus vykdoma nuo šios vietos. Norint organizuoti šuolį į programos tinklo dalį, reikia kad toji tinklo dalis būtų pažymėta simboliniu vardu - šuolio žyme, užbaigiančia stulpelį. Šuolio žymės turi būti identifikuojamos pagal simbolinių vardų priskyrimo taisykles.

73 Struktūros su grįžtamaisiais ryšiais Reikia pažymėti, kad programuojant FBD kalba tinklo viduje yra leistinos tik struktūros be grįžtamųjų ryšių. Struktūros su grįžtamaisiais ryšiais gali būti realizuojamos tik nurodant papildomą grįžtamojo ryšio kelią. Tai iliustruoja pavyzdys 27 b paveikslėlyje. a) neleistina struktūra sugrįžtamuoju ryšiu b) leidžiama struktūra su grįžtamuoju ryšiu 27 pav. Struktūros su grįžtamuoju ryšiu FBD kalboje Panaudojant grįžtamojo ryšio kelią, trečiasis ARBA funkcijos įėjimas įgyja programos vykdymo metu gaunamą reikšmę.

74 6. Kontaktų diagramos

75 Kontaktų diagramų elementai Panašiai kaip ir funkcinių blok-diagramų, kontaktų diagramų kalba yra grafinė programavimo kalba. Kontaktų diagramų kalboje naudojami elementai - tai įvairiose būsenose esantys kontaktai ir ritės. Diagramos yra braižomos eilutėmis, kurios iš kairės ir iš dešinės apribotos maitinimo šaltinio linijomis. 28 pav. Eilutės struktūra 28 paveiksle pavaizduota tipinė eilutės struktūra. Šiame pavyzdyje vėliavėlės %M1.5 būsena tiesiogiai priskirta išėjimui %Q3.5. E ilutėje pateikti svarbiausi kontaktų diagramų elementai.

76 Normaliai atviras kontaktas perduoda 1 signalą, kai sujungiamas atitinkamas valdymo mygtukas. Normaliai atjungtas kontaktas atitinkamai pasielgia su 1 signalu, esant mygtukui atviram. Du frontų kontaktai perduoda 1 signalą perėjimo iš 0 į 1 (teigiamo fronto kontaktas) arba iš 1 į 0 (neigiamo fronto kontaktas). Naudojant įprastą ritę, rezultatas (kontaktais realizuojama loginė operacija) yra fiksuojama, kaip atitinkamas specifikuotas kintamasis; atjungiančios ritės atveju - rezultatas invertuojamas. Užsifiksuojanti įjungiančioji ritė įgyja 1 reikšmę, kai rezultatas tampa lygus 1 ir išlaiko šią reikšmę netgi tuomet, kai rezultatas po to tampa lygus 0. Panašiai užsifiksuojanti atjungiančioji ritė įgyja reikšmę 0, kai rezultatas tampa lygus 1. Ši ritės būsena yra toliau palaikoma. Abi frontais įjungiamos ritės kai signalas keičiasi iš 0 į 1 (teigiamas frontas) arba iš 1 į 0 (neigiamas frontas). Svarbiausios IR bei ARBA funkcijos gali būti realizuotos atitinkamai sujungiant eilutėje kontaktus. a) IR funkcija b) ARBA funkcija 29 pav. Pagrindinės loginės kombinacijos kontaktų diagramose IR funkcija yra realizuojama nuosekliai sujungiant du kontaktus (29 pav.,a). Išėjimas %Q2.1 yra įjungiamas tik tuomet kai abu signalai - įėjimas %I1.3 ir vėliavėlė %M3.2 yra įjungti. Visais kitais atvejais išėjimas %Q2.1 yra išjungtas.

77 ARBA funkcija yra gaunama lygiagrečiai sujungiant kontaktus (29 pav.,b). Išėjimas %Q2.3 įgyja 1 reikšmę tuomet, kai %I1.5 arba vėliavėlė %F3.4 įgyja 1 reikšmę arba jei 1 reikšmes abu signalai įgyja vienu metu. Funkcijos ir funkciniai blokai Be kontaktinių ir ričių elementų kontaktų diagramų programavimo kalba numato neribotas funkcijų ir funkcinių blokų naudojimo galimybes, jeigu tik tai yra leistina naudojamajame valdiklyje. Būtina atitinkamų organizacinių modulių įjungimo sąlyga - aptariamajame bloke turi būti bent vienas loginis įėjimas ir bent vienas loginis išėjimas. Jei to nėra, atitinkamą funkciją arba funkcinį modulį reikia papildyti loginiu įėjimu su formato parametru EN (enable) ir loginiu išėjimu ENO (enable OK). Loginiai įėjimai/išėjimai reikalingi galios srautui per bloką perduoti. a) funkcijų įjungimas b) funkcinių blokų iškvietimas 30 pav. Funkcijos ir funkciniai blokai kontaktų diagramose Papildomas įėjimas pavaizduotas 30 pav., a tampa aktyvus tik tuomet, kai loginis 1 veikia įėjime EN. Esant tokiai sąlygai, kintamieji Quantity_1 ir Quantity_2 yra sumuojami, o šių kintamųjų rezultatas yra priskiriamas kintamajam Filling_level. Tuo pat metu išėjim ENO reikšmė parodo, ar sumavimo operacija buvo sužadinta, ir korektiškai įvykdyta (ENO 1). Jei blokas aptarnautas neteisingai - išėjimas ENO įgyja reikšmę 0. Sumavimo operacija buvo sužadinta, ir korektiškai įvykdyta (ENO 1). Jei blokas aptarnautas neteisingai - išėjimas ENO įgyja reikšmę 0.

78 Funkciniai moduliai, tokie kaip, pavyzdžiui, 30 pav., b pavaizduotas signalo vėlinimo blokas gali būti įjungtas į kontaktų diagramą, nenaudojant papildomo įėjimo EN ir išėjimo ENO. Funkcinis blokas įjungiamas į eilutę įprastiniu būdu, panaudojant loginį įėjimą IN ir loginį išėjimą Q. Jeigu b įėjimas %I1.3 įgyja reikšmę 1, funkcinis blokas kopijuoja T_Startup signalą ir perduoda jį su nustatytu 7 sekundžių laiko uždelsimu. T_Startup išėjimo Q reikšmė yra priskiriama išėjimui %Q2.4. Programavimo kalboje, energija perduodama ir programos organizaciniame modulyje atitinkamai apdorojama iš kairės į dešinę ir viršaus į apačią. Lygiai taip pat programos nuoseklumas LD kalboje gali būti pakeistas jos vykdymo kontrolės elementus. 31 pav. Sąlyginis šuolis kontaktų diagramoje Kai eilutėje užprogramuota šuolio sąlyga, šiuo atveju įėjimo %I1.1 ir vėliavėlės %M2.5 IR operacija, yra patenkinta, šuolis vykdomas iš šios eilutės į eilutę su identifikatoriumi Variant_1. Toliau programa vykdoma į priekį nuo šios eilutės.

79 Komandos Komandų sąrašas - tai tekstinė, asemblerio tipo programavimo kalba. Jos komandos yra labiausiai panašios į PLV vykdomas komandas. Valdymo programa sudaryta, naudojant Komandų sąrašo kalbą, susideda iš komandų rinkinio, kur kiekviena komanda turi prasidėti iš naujos eilutės. Yra priimtas pastovus komandų formulavimo formatas. Komanda prasideda operatoriumi su parinktu modifikatoriumi ir, jei tai reikalinga konkrečiai operacijai vykdyti, vienu ar keletu kableliais atskirtų Operandų. Prieš komandas gali būti žymės, po kurių rašomas dvitaškis. Žymės naudojamos, kaip šuolio adresai. Žymės identifikuojamos taip pat, kaip ir simboliai. Jei naudojami komentarai, jie pateikiami, kaip eilutę užbaigiantys elementai. Komentarai pateikiami eilute, kuri prasideda ir baigiasi simboliais ( ir ). 32 pav. Komandos struktūra Įėjimo %I1.2 reikšmė yra įkraunama į akumuliatorių ir vykdoma loginė IR operacija su vėliavėlės %M3.7 reikšme. Gautasis rezultatas priskiriamas išėjimui %Q2.4.

80 6.1 lentelė Operatorių komandų sąrašas Operatorius Modifik Operan- Aprašymas/Reikšmė a torius das LD N Įrašo nurodytą operandą į akumuliatorių ir palygina rezultatą su šiuo operandu ST N Priskiria rezultatą nurodytajam S Loginis Loginiam operandui suteikia reikšmę lygią 1, su sąlyga, jei rezultato loginė reikšmė lygi 1 R Loginis Loginiam operandui suteikia reikšmę lygią 0, su sąlyga, jei rezultato loginė reikšmė lygi 1 AND N,( Loginis Loginis IR & N,( Loginis Loginis IR OR N,( Loginis Loginis ARBA XOR N,( Loginis Loginis išskirtinis ARBA ADD ( Sudėtis SUB ( Atimtis MUL ( Daugyba DIV ( Dalyba GT ( Palyginimas:> GE ( Palyginimas:>= EQ ( Palyginimas:= NE ( Palyginimas:<> LE ( Palyginimas:<= LT ( Palyginimas:< JMP C,N Žymė Šuolis prie žymės CAL C,N Vardas Funkcinio bloko iškvietimas RET C,N Funkcijos ar funkcinio bloko ) bi Operacijos pabaiga

81 6.1 lentelėje išvardinti IEC standarto apibrėžti operatoriai komandų sąrašo programavimo kalbai. Operatoriai neturi jokių prioritetų. Ryšium su tuo, operacijos vykdomos tokia tvarka, kokia jos įrašytos į komandų sąrašą. Jei pageidautina kitokia vykdymo tvarka, tai galima pasiekti, naudojant skliaustus, vadinamus modifikatoriais. 33 pav. pavyzdys paaiškina kai kurių modifikatorių panaudojimo tvarką. LDN %I1.1 Į akumuliatorių įrašoma invertuota įėjimo %I1.1 reikšmė AND( %I1.2 Pirmiausia atliekami veiksmai skliausteliuose,- šiuo atveju tai ARBA operacija su %I1.2 OR %I1.3 ir %I1.3 įėjimo signalais,- su rezultatu ir %I1.1 signalo reikšme vykdoma ) loginė IR operacija, rezultatą patalpinant JMPC Start į akumuliatorių. Prie Start žymės šokama tik tuomet, kai rezultatas yra lygus loginiam pav. Modifikatorių panaudojimas ir jų prasmė Funkcijos ir funkciniai blokai Komandų sąrašo kalboje taip pat be jokių apribojimų naudojamos funkcijos ir funkciniai blokai. Tipinių valdymo uždavinių funkcijos, tokios kaip loginės ar aritmetinės operacijos (žiūr. pavyzdį) realizuojamos tiesiogiai, pasinaudojant 1 lentelėje nurodytais operandais. a) iškvietimas naudojantis operatoriais LD GT Laikas 60 (*Išmatuotoji temperatūra*) (*Daugiau už 60*) OR Rankinis_jung (*ARBA rankinis ST Sklendė_užd (*Sklendė uždarymas*) b) Iškvietimas pasinaudojant funkcijos vardu LD SHL %IW3 4 (*Įrašyti įėjimo žodį %IW3*) (*Pastumti %IW3 per 4 bitus į kairę*) ST %QW2 (*Rezultatą įrašyti į išėjimo žodį %QW2*) 34 pav. Funkcijų iškvietimas

82 Sudėtingesnės funkcijos, tokios kaip bitų perstūmimo funkcijos yra iškviečiamos pasinaudojant funkcijos vardu, patalpintu į operatoriaus lauką. Rezultatas (esantis akumuliatoriuje) gali būti panaudotas kaip pirmasis funkcijos argumentas. Jei reikalaujama daugiau argumentų, jie gali būti nurodyti operando lauke, atskiriant juos kableliais. Funkcijos suformuotoji reikšmė yra naujas rezultatas. Funkciniai blokai gali būti iškviečiami įvairiais būdais. a) Iškvietimas, pasinaudojant įėjimo parametrų sąrašu CAL T_startup(IN: I1.3,PT: T 7s) b) Iškvietimas, skaitant/rašant įėjimo parametrus LD T 7s (*Skaityti laiką T 7s*) ST T_Startup.PT (*Įrašyti į T_Startup.PT registrą*) (*Įėjimo parametras laikui nustatyti *) LD %I1.3 (*Skaityti įėjimo %I1.3 reikšmę*) ST T_Startup.IN (*Įrašyti į T_Startup.IN registrą*) (*perduodamas, modulį aktyvuojantis*) (*parametras*) CAL T_Startup (*Funkcinio bloko T_Startup kopijos*) (*iššaukimas*) 35. pav. Funkcinių blokų iškvietimas Būtina sąlyga, kad kintamasis T_Startup būtų deklaruotas kaip vėlinimo blokas. Funkcinis blokas gali būti iškviečiamas paprasčiausiai panaudojant operatorių CAL su jam priskirtų parametrų sąrašu. Kintamasis iš pavyzdžio T_Startup jau turi būti deklaruotas kaip vėlinimo blokas, todėl jis ir vykdo vėlinimo bloko funkcijas. Funkcijos argumentai tai jos įėjimą IN aktyvuojantis parametras - priskirtoji įėjimo %I1.3 reikšmė ir laiko uždelsimas T 7s, priskirtas įėjimui PT. Funkcinis blokas T_Startup iškviečiamas suteikiant parametras atitinkamas reikšmes. Funkcinio bloko parametrai gali būti perduodami atskirai nuo konkretaus bloko iškvietimo procedūros.

83 Kaip parodyta pavyzdyje, konkrečios parametrų reikšmės yra įrašomos ir priskiriamos funkcinio bloko įėjimams, pasinaudojant elementariomis IL kalbos komandomis. Tik po to, pasinaudojant CAL komanda iškviečiamas ir panaudojamas T_Startup funkcinis blokas. Šio metodo privalumas yra tas, kad argumentų nustatymas ir funkcinio modulio iškvietimas gali būti atliekami skirtingu laiku.

84 7. Nuosekliosios funkcinės diagramos

85 IEC standartas pateikia nuosekliąsias funkcines diagramas (SFC) kaip reikšmingą valdymo sistemų programavimo priemonę. Jos vaizdžiai atskleidžia sistemos struktūrą, įgalinančią ypatingai aiškiai pateikti valdymo sistemos programą, tad yra viena iš svarbiausių IEC standarto dalių. Kiekviena nuosekliosios valdymo sistemos programa susideda iš žingsnių ir pereigų (žingsnių vykdymo sąlygų). Be to joje yra ir kitokia svarbi, programos vykdymą ir jos tolesnę eigą liečianti informacija. Jei programos vykdymo eiga nėra vienareikšmė, o reikia pasirinkti vieną iš kelių galimų jos vykdymo kelių, nuoseklioji funkcinė diagrama tai pateikia grynai grafiškai. Pagrindinė nuosekliosios funkcinės diagramos paskirtis - struktūrizuoti valdymo programą į individualius žingsnius ir pereigas (žingsnių vykdymo sąlygas) tarpusavyje sujungtų orientuotais ryšiais. Dėl to reikia pasitelkti grafines priemones, įgalinančias padaryti programą lengvai suprantamą. Nuosekliosios funkcinės diagramos elementai IEC standarte nuosekliosios funkcinės diagramos yra struktūrizuojamos pasinaudojant paprastų bazinių grafinių elementų rinkiniu. Kuriant valdymo programas šie elementai įvairiai kombinuojami. Kaip tai atlikti nurodo keletas paprastų standarte numatytų taisyklių. Nuosekliųjų funkcinių diagramų programavimo kalba yra parengta kaip įmanoma remiantis funkcinių diagramų sudarymo dokumentacijos standartais.din , 6 dalis arba IEC 848. Atlikti tik kai kurie pataisymai, reikalingi diagramų elementus atitinkančiom PLV vykdymo komandoms generuoti. Kaip pavyzdys gali būti veiksmo identifikatorius S. Dokumentacijos standarte šis identifikatorius yra naudojamas veiksmo pobūdžiui apibrėžti, t.y, operandui įjungti arba išjungti. PLV šiam tikslui reikalauja individualių komandų. Štai kodėl nuosekliųjų funkcinių diagramų programavimo kalba naudoja du S ir R identifikatorius, realizuojančius du skirtingus veiksmus. Kadangi, naudojant nuosekliųjų funkcinių diagramų programavimo kalbą reikia įsiminti informaciją apie būseną (aktyvūs kalbamu momentu žingsniai ir pan.), tai naudojant šiuos elementus galima struktūrizuoti tik tokius programos organizacinius modulius, kaip programos ir funkciniai blokai.

86 7.1 lentelė Nuosekliųjų funkcinių diagramų elementai a) Žingsnis su identifikatoriumi b) Pradinis žingsnis su identifikatoriumi c) Vykdymo blokas su žingsniui priskirtais veiksmais; a laukas: Veiksmo identifikatorius b laukas: Veiksmo pavadinimas c laukas: Grįžtamojo ryšio kintamasis d laukas: Veiksmo turinys d) Pereiga su identifikatoriumi arba perėjimo sąlyga e) Alternatyvi atšaka f) Alternatyvių šakų susiliejimas

87 7.1 lentelės tęsinys g) lygiagrečios (vienu metu vykdomos) šakos h) lygiagrečių šakų susiliejimas Žingsnis Žingsnį sudaro keletas valdymo programos dalių. Tik žingsnyje galima įjungti ir išjungti įėjimus arba išėjimus. Tai taip pat reiškia, kad visi valdymo programos valdomajam įrenginiui siunčiami koreguojantys kintamieji gali būti programuojami tokiais žingsniais. Žingsniui priskirtoji programos vykdymo dalis yra formuojama vykdymo bloke. Žingsnis gali būti arba aktyvus ir tuo metu vykdyti jam priskirtą vykdymo programą, arba neaktyvus. Taigi valdomosios sistemos būseną bet kuriuo momentu sąlygoja valdymo programos aktyvių žingsnių rinkinys. 36 pav., a žingsniui grafiškai vaizduoti yra panaudotas stačiakampis blokas. Kiekvienas žingsnis turi simbolinį vardą, kurį laisvai pasirenka vartotojas. Žingsnių simboliniams vardams nustatyti naudojamos tos pačios taisyklės, kaip kad jau aptartiems simboliniams identifikatoriams:

88 Simbolinis vardas gali būti sudarytas tik iš didžiųjų arba mažųjų lotyniško alfabeto raidžių, skaičių ir pabraukimo brūkšnelių ir visada prasideda raide arba pabraukimo brūkšneliu. 36 pav. Žingsniai su savo vardais

89 Kiekvienas nuosekliųjų funkcinių diagramų kalba sudarytos programos ar funkcinio bloko žingsnis turi turėti skirtingą vardą. Netgi tuo atveju, kai du žingsniai yra vienodi, jie turi būti apibrėžti atskirai. Tai turi būti daroma dėl šių priežasčių: valdiklyje kiekvieną žingsnį liečianti informacija yra saugoma atskirai. Prieiti prie šios informacijos, o taip pat ir prie duomenų galima tik per žingsnio vardą. Tad vartotojas gali gauti informaciją liečiančią: konkretaus žingsnio būseną (aktyvus, neaktyvus), kiek laiko žingsnis buvo aktyvus iki kreipimosi. 7.2 lentelė parodo, kaip reikia kreiptis norint gauti žingsnį liečiančius duomenis. 7.2 lentelė Žingsnį liečianti informacija a) Motor_3_on.X loginis kintamasis, parodantis ar žingsnis Motor_3_on yra aktyvus (Motor_3_on.X=1), ar neaktyvus (Motor_3_on.X=0). b) Motor_3_on.T TIME tipo kintamasis, rodantis kiek ilgai iki kreipimosi žingsnis Motor_3_on buvo aktyvus Aukščiau pateiktų duomenų prireikia stebint valdomosios sistemos darbą. Jie taip pat gali būti naudojami ir kaip pačios valdymo programos kintamieji.

90 Specialus žingsnio tipas yra taip vadinamas pradinis žingsnis. Jis braižomas dviguba linija. Kiekviena nuoseklioji funkcinė diagrama turi vieną pradinį žingsnį, kuris tokioje schemoje vykdomas pirmuoju. Kaip jau minėjome, nuosekliosios funkcinės diagramos ypatumas yra galimybė pateikti aiškiai struktūrizuotą valdymo programos schemą. Tačiau taip pat gali būti naudinga nuosekliąsias struktūras aprašyti tekstiniu būdu. IEC standartas leidžia ekvivalentišką tekstinį SEC elementų aprašymo būdą, kuris žingsniams atrodytų taip: STEP Motor_3_on <*Žingsnio END_STEP turinys*> STEP Vaccum_off <*Žingsnio turinys*> END_STEP 37 pav. Tekstinis žingsnio aprašymas Tekstinis nuosekliosios struktūros aprašas, priklausomai nuo gamintojo, gali būti patiekiamas kaip valdymo programos dokumentacijos dalis (priklauso nuo pardavėjo); Toks nuosekliųjų struktūrų pateikimo būdas nėra susietas jokiais apribojimais spausdinimo formato ar raidyno požiūriu. Dar daugiau, gali būti įmanoma programas parašytas standartizuota tekstine kalba perkelti iš vieno skirtingų gamintojų PLV į kitą. Pereiga Pereiga arba žingsnio vykdymo sąlyga - tai loginė sąlyga įgalinanti programoje numatytu būdu pereiti iš vieno žingsnio į kitą. Kaip matyti 7.1 lentelėje, d,h, pereiga žymima horizontaliu brūkšniu skersai vertikalios jungiančiosios linijos. Kiekviena pereiga turi savo perėjimo sąlygą, kuri gaunama įvykdant atskiru loginiu teiginiu apibrėžtą sąlygą.

91 Perėjimo sąlyga gali būti užrašyta bet kuria iš IEC standarto kalbų - LD, FBD, IL arba ST. Perėjimo sąlyga yra arba įvykdyta ir jos reikšmė yra lygi 1, arba neįvykdyta, tuomet jos reikšmė yra lygi 0. Tik esant įvykdytai sąlygai toliau vykdoma programa ar funkciniu bloku apibrėžta jos dalis. Jei sąlyga yra visada įvykdoma, ji gali būti paprasčiausiai pažymima reikšme 1 prie pereigos. Visada galiojančios perėjimo sąlygos gali dažnai pasitaikyti programų ar funkcinių blokų nuosekliose funkcinėse diagramose. 7.3 lentelė Specialios pereigos. Visada galiojanti perėjimo sąlyga Niekada negaliojanti perėjimo sąlyga Ryšiai tarp žingsnių ir perėjimo sąlygos Praktiškai vienu žingsniu ar pereiga mažai ką galima padaryti. Nuosekliųjų funkcinių diagramų kalba parašyta programa visada susideda iš tam tikro kiekio žingsnių ir pereigų sekos. Pereigų ir žingsnių eilutė yra vadinama žingsnių grandine, seka arba takeliu.

92 38 pav. Žingsnių ir pereigų seka

93 Žingsniai ir pereigos diagramoje privalo nuolat keistis vietomis. Loginis taip atvaizduoto proceso kelias visada iš viršaus į apačią. Tai matyti 38 pateiktame pavyzdėlyje. Tarkime, kad žingsnis Step_5 yra aktyvus, tuomet žingsnis Step_5 išliks aktyvus tol, kol nebus patenkinta D perėjimo sąlyga. Detaliau, pereiga sąlygoja žingsnio Step_5 veikimo sustabdymą ir žingsnio Step_6 aktyvizavimą. Kai tik žingsnis Step_6 pasidaro aktyvus, tikrinama E pereiga. Kai patenkinama pereigos E perėjimo sąlyga, baigiamas vykdyti Step_6 žingsnis ir pradedamas vykdyti Step_7 žingsnis ir t.t. Alternatyvios šakos Dažnai tenka valdymo programoje programuoti atšakas, kad programą nuo tam tikro taško būtų galima vykdyti skirtingais būdais. Alternatyvioji šaka į kitą programos takelį pradedama atitinkamu numeriu pažymėta pereiga, esančia žemiau horizontalios linijos. 7.1 lentelėje, e pateiktame pavyzdyje parodyta, kad takelis į žingsnį Step_4 bus įjungiamas, galiojant E perėjimo sąlygai, arba, E perėjimo sąlygai negaliojant o galiojant F sąlygai, bus įjungiamas takelis į žingsnį Step_5. Atitinkama alternatyvios atšakos priešingybė yra alternatyvių šakų susiliejimas. Alternatyvių šakų susiliejimo atveju, pereigos visada turi būti virš horizontaliosios linijos. 7.1 lentelėje, f parodytoje diagramoje programa vykdoma iš žingsnio Step_6 į žingsnį Step_8, kai G pereiga yra aktyvi, arba iš Step_7 į žingsnį Step_8, kai aktyvi H pereiga. Čia lemia takelis kuriuo programa pasiekia alternatyvių šakų susiliejimo tašką. Jei tai įvyksta takeliu per žingsnį Step_6, žingsnio vykdymo sąlyga H netenka prasmės. Priešingai, pereiga G nebus analizuojama, jei valdymo programa pasieks šakų susiliejimo tašką per žingsnį Step_7. Reikia pažymėti, kad naudojant atsišakojimus, valdymo programa vykdo tik vieno takelio komandas. Tačiau nėra būtina sąlyga, kad atsišakojimo sąlygos būtų tarpusavyje išsiskiriančios.

94 Jei nėra kitokių nurodymų, vykdomas kairiausias programos takelis. Tuo būdu perėjimo sąlygų tikrinimo prioritetiškumas yra iš kairės į dešinę. Tai, ko gero, pats bendriausias valdiklių gamintojų naudojamas atsišakojimams organizuoti variantas. Trijų žingsniu ir trijų atšakų programos ar funkcinio bloko junginys turi būti toks, kaip parodyta paveikslėlyje. 39 pav. Alternatyvios šakos; pereigos apdorojamos iš kairės į dešinę Tačiau IEC standartas suteikia vartotojui galimybę suteiktį pereigų apdorojimo prioritetus. Alternatyvių šakų funkcionavimo sąlygų nustatymas, naudojamas IEC 848 standarte, reikalaujantis, kad vartotojas užprogramuotų tarpusavyje išsiskiriančias perėjimų sąlygas, IEC standarte yra numatytas kaip trečiasis būdas.

95 40 pav. Alternatyvios šakos su vartotojo nurodytais prioritetais Jei perėjimo sąlyga E yra įvykdyta, programa bus vykdoma iš žingsnio Step_7 į žingsnį Step_9, programa iš žingsnio Step_7 į žingsnį Step_8 bus vykdoma tik tuomet, kai esant neįvykdytai E sąlygai bus įvykdyta D sąlyga. Ciklinė struktūra gali būti laikoma kaip specialus atsišakojimo atvejis, kai vienas ar keli takeliai grįžta į anksčiau buvusį žingsnį. 41 pav. Ciklo organizavimas 41 paveikslėlyje pavaizduotoji programa iš žingsnio Step_5 perduodama į žingsnį Step_4, su sąlyga, kad sąlyga F yra įvykdyta, o sąlyga E - ne. Tuo būdu programos dalies Step_4 - Step_5 vykdymas gali būti kartojamas.

96 Lygiagrečios šakos Lygiagrečios šakos - tai visai kitoks nuosekliųjų funkcinių diagramų funkcinis elementas. Lygiagrečios šakos žymimos dviguba linija ir virš jos esančia pereiga (7.1 lentelė, g). Kai tik įvykdoma B sąlyga, programa iš žingsnio Step_3 perduodama žingsniams Step_4 ir Step_5. Šie du žingsniai yra vykdomi vienu metu. Lygiagrečios šakos nurodo, kad visi išeinantys takeliai turi būti suaktyvinti vienu metu ir vykdomi nepriklausomai vienas nuo kito. Jeigu poroje yra priešingai veikianti lygiagrečių šakų suliejimo funkcija, pereiga visada dedama žemiau dvigubos linijos. Lygiagretus junginys turi turėti sinchronizavimo mechanizmą.tik tuo atveju, kai visos šakų programos yra įvykdytos, tikrinama žemiau esanti perėjimo sąlyga. Jei ji įvykdyta, pereinama į kitą žingsnį. 7.1 lentelėje, h tei reiškia, kad pirma turi būti įvykdyti abu Step_6 ir Step_7 žingsniai, o po to tikrinama sąlyga M. 42 pav. Triguba lygiagreti šaka Kai žingsnio vykdymo sąlyga F yra įvykdyta, trys programos šakos su žingsniais Step_4, Step_5 ir Step_6 bei Step_7 turi būti vykdomos vienu metu. Priklausomai nuo pereigos G tarp Step_6 ir Step_7 žingsnių turinio, valdymo programai gali tekti laukti, kol perėjimo G sąlyga bus įvykdyta. Žemiau esanti H pereiga bus tikrinama tik po to, kai dešinioji programos šaka yra pilnai įvykdyta. Tai bus tik tuo atveju, kai šios šakos G perėjimo sąlyga bus įvykdyta.

97 Pereigos Kiekvienai pereigai yra priskirta perėjimo sąlyga(žingsnio vygdymo sąlyga). Tai yra loginės sąlygos rezultato reikšmė. Paprasčiausiu atveju žingsnio vykdymo sąlyga gali būti nustatyta, patikrinant tam tikrą valdiklio įėjimą ar kito loginio kintamojo reikšmę. Tačiau galima užprogramuoti ir žymiai sudėtingesnes žingsnio vykdymo sąlygas. Perėjimo sąlygų formulavimas Perėjimo sąlygas galima programuoti šiomis kalbomis: Kontaktų diagramomis (LD); Funkcinėmis blok-diagramomis (FBD); Komandų sąrašu (IL); Strukūrizuotu tekstu (ST). Perėjimo sąlygos turinys yra arba nurodomas tiesiogiai pereigoje, arba su pereiga susietas pereigos vardu. a) Perėjimo sąlyga LD kalboje b) Perėjimo sąlyga FBD kalboje c) Perėjimo sąlyga ST kalboje 43 pav. Tiesioginis perėjimo sąlygų nurodymas

98 Čia dvi reikšmės yra sujungtos logine IR funkcija, todėl perėjimo sąlyga nebus įvykdyta tol, kol abu signalai - įėjimas %IX3 ir vėliavėlė %MX1 - neįgis 1 reikšmes. Grafinėse LD ir FBD kalbose energija arba signalai perduodami iš kairės į dešinę, todėl LD arba FBD schemos pateiktos iš kairės pereigos simbolio (horizontalios linijos) pusės. Loginė ST kalbos išraiška yra pateikta dešinėje pereigos simbolio pusėje. Pereigos vardas a) Perėjimo sąlyga LD kalboje b) Perėjimo sąlyga FBD kalboje c) Perėjimo sąlyga IL kalboje e) Perėjimo sąlyga ST kalboje 44 pav. Perėjimo sąlygų priskyrimas pereigai, pasinaudojant pereigos vardu

99 Kai pereigos vardas naudojamas kaip perėjimo sąlygos pereigai priskyrimo priemonė, pereigos vardas turi būti referuotas TRANSITION END_TRANSITION konstrukcijoje. Šioje konstrukcijoje yra formuluojama perėjimo sąlyga, o jos loginis rezultatas yra priskiriamas pereigos vardui. Programos organizacinio modulio viduje, panašiai kaip žingsniai, taip ir pereigos turi turėti skirtingus vardus. Vardai sudaromi pagal IEC standarto taisykles, naudojamas identifikatoriams apibrėžti. IEC standartas taip pat numato ekvivalentinį grafinių elementų - pereigų apibrėžimą tekstinėmis kalbomis. Tuomet perėjimo sąlygos programuojamos arba IL arba ST kalbomis. a) Perėjimo sąlygos, suformuluotos ST kalba b) Perėjimo sąlygos, suformuluotos IL kalba 45 pav. Pereigų tekstinis aprašymas

JAVA pagrindai Lek. Liudas Drejeris

JAVA pagrindai Lek. Liudas Drejeris JAVA pagrindai Lek. Liudas Drejeris Programa (1) Programa, tai eilė instrukcijų (vadinamų programiniais sakiniais), kurie vykdomi paeiliui, kol gaunamas norimas rezultatas. Programa (2) Programa (2) /*

More information

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5]

Kas yra masyvas? Skaičių masyvo A reikšmės: Elementų indeksai (numeriai): Užrašymas Turbo Paskaliu: A[1] A[2] A[3] A[4] A[5] Masyvas 2013 1 Vienmatis masyvas Veiksmai su masyvo elementais: reikšmių priskyrimas ir išvedimas, paieška, rikiavimas. Masyvų perdavimas procedūros (funkcijos) parametrais. 2 Kas yra masyvas? Masyvu vadinamas

More information

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() )

C programavimo kalba. 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) C programavimo kalba 3 paskaita (Sąlygos ir ciklo operatoriai, funkcija scanf() ) Sąlygos operatorius if - else Sąlygos operatoriai skirti perduoti programos vykdymą vienai ar kitai programos šakai. Operatorius

More information

C programavimo kalba. 5 paskaita (Funkcijos, masyvai)

C programavimo kalba. 5 paskaita (Funkcijos, masyvai) C programavimo kalba 5 paskaita (Funkcijos, masyvai) Funkcijų pavyzdys // Skaičių lyginimo programa #include void pmax(int, int); /* prototipas */ int main() {int i, j; for (i = -10; i

More information

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; //

Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // C programavimo kalba 10 paskaita (Struktūros) Struktūrų sintaksė Struktūra tai vienodo arba skirtingo tipo kintamųjų rinkinys. Sintaksė: struct vardas { ; type1 var1; type2 var2;... typen varn; // Gale

More information

KAUNO TECHNOLOGIJOS UNIVERSITETAS

KAUNO TECHNOLOGIJOS UNIVERSITETAS KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS VALDIKLIŲ PROGRAMAVIMAS STANDARTO IEC 61131-3 KALBOMIS Referatas Atliko: Kęstutis Valinčius Kaunas 2011 Turinys 1 Įvadas... 3 2 Struktūriniai elementai...

More information

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita)

C++ programavimo kalba. Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) C++ programavimo kalba Konstruktorius, destruktorius, klasių metodų modifikatoriai, objektų masyvai (4 paskaita) Konstruktorius Sukuriant objektą, jo duomenims paprastai turi būti priskiriamos pradinės

More information

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS

PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS PHP PROGRAMOS EIGOS VYKDYMO VALDYMAS Sąlygos sakiniai PHP skriptų vykdymo eigą galite valdyti naudodami sąlygos sakinius. Sąlygos sakiniai tai loginės struktūros, kuriose saugomas kodas, įvykdomas įgyvendinus

More information

Parengė ITMM Artūras Šakalys 1

Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 1 2014.02.02 Parengė ITMM Artūras Šakalys 2 Kaip suprantame masyvą? Pavyzdys: Peteliškių šeima; Gėlių laukas; 2014.02.02 Parengė ITMM Artūras Šakalys 3 Kaip suprasti

More information

El. pašto konfigūravimas

El. pašto konfigūravimas El. pašto konfigūravimas Outlook Express (integruota Windows XP) elektroninio pašto klientas Žemiau pateikta instrukcija, kaip sukonfigūruoti savo elektroninį paštą vartotojams, turintiems elektroninio

More information

Informacijos apsaugos standartai serija

Informacijos apsaugos standartai serija Informacijos apsaugos standartai 27000 serija Pareng : Marius Celskis www.isec.lt 2007 m. balandis 12 d. ISO 27000 serija 2 iš 9 Tarptautin standartizacijos organizacija ISO informacijos apsaugos standartizavimui

More information

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017

Gijos. Gijų modelis Javoje. R.Vaicekauskas, OP, 2017 Gijos Gijų modelis Javoje R.Vaicekauskas, OP, 2017 1 Turinys Motyvacija Sukūrimas Valdymas Sinchronizacija Susijusios klasės 2 Motyvacija Gijos reikalingos tam, kad išreikšti lygiagretumą vieno proceso

More information

Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas

Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas Pasirenkamojo modulio kūrybinio darbo atlikimas ir vertinimas Pasirenkamojo modulio kūrybinis darbas atliekamas keliais etapais: kūrybinio darbo temos (problemos / užduoties) pasirinkimas ir derinimas

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Šablonai (10 paskaita) Kodėl šablonai (templates)? Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų tipais (pvz. modulio radimas,

More information

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai

2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai Pavyzdys A 2017 m. pagrindinės sesijos informacinių technologijų valstybinio brandos egzamino programavimo užduoties galimi sprendimai int konvertuojamas(int skaic, int id); char konvertuojamas2(int dal);

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Operatorių perkrovimas (7 paskaita) Operatorių perdengimas Programavimo kalbose naudojami operatoriai pasižymi polimorfizmu (daugiavariantiškumu). Kaip pavyzdys gali būti operatorius

More information

Come to the TypeScript

Come to the TypeScript Come to the TypeScript we have type hinting! Sergej Kurakin Sergej Kurakin Amžius: 36 Dirbu: NFQ Technologies Pareigos: Programuotojas Programuoti pradėjau mokytis 1996 metais. Programuotoju dirbu nuo

More information

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy

Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos struktūra; Sudaroma galimy C programavimo kalba 12 paskaita (Daugiafailinės programos, laiko ir datos funkcijos) Kodėl programą sudaro daug failų? Sukurtos tipinės funkcijų galėtų būti panaudojamos dar kartą; Sudaroma aiškesnė programos

More information

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Polimorfizmas. Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Polimorfizmas Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2009-2010 m. m. pavasario semestras Dar apie paveldėjimą Java kalboje kiekvienas paveldėtos klasės objektas gali būti naudojamas ten, kur

More information

Trumpai-ilga istorija

Trumpai-ilga istorija Įvadas į Web Services Kas yra Web Service? Kas ką žino??? 70-ieji: Mainframe Trumpai-ilga istorija 80-ieji: Client-Server Istorijos 90-ieji: Web 2000: SOA 2010: Cloud Computing Šaltinis: Sergejus Barinovas,

More information

DUOMENŲ STRUKTŪROS IR ALGORITMAI. Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo)

DUOMENŲ STRUKTŪROS IR ALGORITMAI. Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo) DUOMENŲ STRUKTŪROS IR ALGORITMAI Rūšiavimo algoritmai (įterpimo, burbulo, išrinkimo) Rūšiavimo veiksmas Kasdieniniame gyvenime mes dažnai rūšiuojame: Failus kataloguose Katalogus lokaliame diske Kasdienines

More information

Elektroninis.lt šakninių sertifikatų diegimas

Elektroninis.lt šakninių sertifikatų diegimas Elektroninis.lt šakninių sertifikatų diegimas Ši instrukcija aprašo, kaip į kompiuterį įdiegti šakninius elektroninis.lt sertifikatus. Diegimo darbus galima atlikti turint kompiuterio administratoriaus

More information

Principles of Computer Architecture Processors Lecture 1

Principles of Computer Architecture Processors Lecture 1 Principles of Computer Architecture Processors Lecture 1 prof.dr. Dalius Mažeika Dalius.Mazeika@vgtu.lt http://dma.vgtu.lt Room No. L424 Lectures and evaluation Scope of the course is 3 ECTS (80 hours)

More information

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę:

DTD aprašas gali būti XML failo viduje. Šiuo atveju jis įterpiamas į žymę DOCTYPE naudojant tokią sintaksę: XML DTD paskirtis DTD (angl. Document Type Definition) paskirtis nusakyti, iš kokių blokų gali būti sudarytas XML (o taip pat ir HTML) dokumentas. Taigi DTD apibrėžia dokumento struktūrą išvardindama leistinus

More information

WWW aplikacijų saugumas 2

WWW aplikacijų saugumas 2 WWW aplikacijų saugumas 2 Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2010-11-26 R. Griškevičius, Saugus programavimas, VGTU, 2009

More information

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV

ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV ios Uždara operacinė sistema skirta tik Apple įrenginiams: iphone ipad ipod touch Apple TV Pagrindas OS X, skirtas ARM įrenginiams Programavimo aplinka: XCode ir Objective-C Programavimo kompiuteris -

More information

A.Kynienė. С, C++ kalbų ABC. Metodinė priemonė

A.Kynienė. С, C++ kalbų ABC. Metodinė priemonė A.Kynienė С, C++ kalbų ABC Metodinė priemonė Vilnius 2004 TURINYS C KALBOS PRIVALUMAI...4 PROGRAMAVIMO PROCESAS...5 OPERACIJOS...6 PAPRASTOS PROGRAMOS STRUKTŪRA...8 DUOMENŲ IR KINTAMŲJŲ TIPAI...9 SIMBOLINĖS

More information

Programavimas C kalba

Programavimas C kalba Programavimas C kalba Mokomoji priemonė Elektronikos specialybės studentams Vytautas Vyšniauskas 2008.01.28 09:26 Šiaulių Universitetas, 2007 Turinys Įvadas... 4 1 Simbolių kodavimas ir ASCII kodų lentelė...

More information

Tautvydas Dagys Microsoft Lietuva

Tautvydas Dagys Microsoft Lietuva Tautvydas Dagys Microsoft Lietuva Programos akademinėms institucijoms ir studentams Studentų partnerių programa Akademinės institucijoms Studentams MSDN AA Tai efektyvus būdas aprūpinti savo laboratorijas/klases

More information

2-3 PASKAITOS. Paprasčiausia programa:

2-3 PASKAITOS. Paprasčiausia programa: 2-3 PASKAITOS Turinys: Paprasčiausios programos pavyzdys. Darbas su programavimo terpėmis. Duomenys. Duomenų tipai ir charakteristikos. Paprasčiausia įvestis/išvestis. Paprasčiausia programa: /* Pirmoji

More information

ĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere

ĮVADAS JVM Java Virtual Machine Java virtualios mašinos (JVM) JVM write once, run everywhere ĮVADAS The Java programming language was introduced in 1995 by Sun Microsystems which has since merged into Oracle Corporation. Derived from languages such as C and C++. Pradžioje Java buvo skirta programuoti

More information

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas)

Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilniaus universitetas Fizikos fakultetas Radiofizikos katedra R. Grigalaitis Programavimas (Programavimo C++ kalba paskaitų konspektas) Vilnius 2010 - 2 - Turinys PROGRAMAVIMO SAMPRATA... - 4 - KINTAMIEJI

More information

Buferio perpildymo klaida Įvadas, techniniai klausimai

Buferio perpildymo klaida Įvadas, techniniai klausimai Buferio perpildymo klaida Įvadas, techniniai klausimai Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-10-16 R. Griškevičius, Saugus

More information

Redis Ma as, greitas, galingas. Specialiai VilniusPHP

Redis Ma as, greitas, galingas. Specialiai VilniusPHP Redis Ma as, greitas, galingas Specialiai VilniusPHP 2013.06.06 Sergej Kurakin Na, Jūs mane jau nekarta matėte, tai nieko nesakysiu apie save. Kaip aš susipa inau! Tai buvo prieš keletą metų! Projektas

More information

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI

Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Paskirstytos atminties lygiagretusis programavimas Įvadas į MPI Distributed memory parallel programming Paskirstytos atminties lygiagretieji kompiuteriai Kiekvienas procesorius turi tik savo nuosavą atmintį

More information

Vienlusčių įtaisų projektavimas. 1 paskaita

Vienlusčių įtaisų projektavimas. 1 paskaita Vienlusčių įtaisų projektavimas 1 paskaita HDL įvadas Tradicinės programavimo kalbos (C, Pascal, Python) yra nuoseklios: jomis parašytos programos yra kompiliuojamos į universalaus procesoriaus instrukcijų

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Rodyklė this, C++ string klasė (9 paskaita) Rodyklėthis Visos objekto funkcijos gali naudotis rodykle this, kuri rodo į patį objektą. Tokiu būdu kiekviena funkcija gali rasti objekto,

More information

Masyvai Javoje. Masyvai. Objektų talpyklos. Masyvo tipas. Deklaravimo pavyzdžiai. Deklaracija ir sukūrimas. Masyvo superklas - Object

Masyvai Javoje. Masyvai. Objektų talpyklos. Masyvo tipas. Deklaravimo pavyzdžiai. Deklaracija ir sukūrimas. Masyvo superklas - Object Masyvai Javoje Masyvai. Objektų talpyklos (Arrays, collections) Dinamiškai sukuriami java objektai iš anksto apibr žtam komponenčių skaičiui saugoti. Komponent s g.b. primityvaus tipo arba nuorodos tipo

More information

Web servisai WSDL. Osvaldas Grigas

Web servisai WSDL. Osvaldas Grigas Web servisai WSDL Osvaldas Grigas Web servisų aprašymas Kiekvienas web servisas yra unikalus Jis turi adresą(arba kelis adresus), kuriuo į jį galima kreiptis. Jis supranta tik tam tikros struktūros įeinančius

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Klasės, klasių savybės, vardų erdvės (3 paskaita) OOP Struktūrinio programavimo modelio problema: Didelės programos tampa labai sudėtingos t.y. egzistuoja tūkstančiai kintamųjų ir

More information

C# IR JAVA PROGRAMAVIMO KALBŲ LYGINAMOJI ANALIZĖ

C# IR JAVA PROGRAMAVIMO KALBŲ LYGINAMOJI ANALIZĖ LIETUVOS EDUKOLOGIJOS UNIVERSITETAS GAMTOS, MATEMATIKOS IR TECHNOLOGIJŲ FAKULTETAS INFORMATIKOS KATEDRA Arvydas Putna C# IR JAVA PROGRAMAVIMO KALBŲ LYGINAMOJI ANALIZĖ Magistro baigiamasis darbas Darbo

More information

Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis

Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis T8 Simboliai ir simbolių eilutės 2 val. Standartinės procedūros ir funkcijos darbui su simbolių eilutėmis 1 Kintamasis, kurio tipas nurodomas žodžiu char, skirtas simboliui saugoti. var a, b : char; Su

More information

Parengė ITMM Artūras Šakalys

Parengė ITMM Artūras Šakalys 29 pamoka (Kodo narstymas - hakingas) For ciklas Užduotys. Supraskite pateiktą uždavinį ir kodą (FreePascal) ir perrašykite jį C++ kalboje. Uždavinį renkamės pagal sėdimos prie kompiuterio vietos numerį.

More information

T u r b o P a s k a l i s 7.0

T u r b o P a s k a l i s 7.0 Vilniaus universitetas Matematikos ir informatikos fakultetas Programų sistemų katedra I N F O R M A T I K A T u r b o P a s k a l i s 7.0 Doc. V. Undzėno paskaitų konspektai (skaitoma Fizikos fakulteto

More information

HTML dokumentai. Praktinės užduotys

HTML dokumentai. Praktinės užduotys HTML dokumentai Praktinės užduotys 1. DzSoft PHP Editor šablonai Pakeiskite HTML šabloną į: ... Programos

More information

Uždavinių sprendimas MATLAB aplinkoje

Uždavinių sprendimas MATLAB aplinkoje Operacijų tyrimas. Įvadas. Laboratoriniai darbai 1 Uždavinių sprimas MATLAB aplinkoje Matlab tai interaktyvi sistema, skirta atlikti inžinerinius bei mokslinius skaičiavimus. Sistemos aplinkoje galima

More information

Interneto technologijų taikymai

Interneto technologijų taikymai Interneto technologijų taikymai Mantas Puida (mantasp@gmail.com) VI paskaita Entity pirminis raktas Kiekviena Entity klasė privalo turėti pirminį raktą (Primary Key). Jei turima Entity objektų hierarchija,

More information

Kompiuterių tinklai. IPv6 ir tuneliai

Kompiuterių tinklai. IPv6 ir tuneliai Kompiuterių tinklai IPv6 ir tuneliai Rolandas Griškevičius rolandas.griskevicius@vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 00--08 R. Griškevičius, Kompiuterių tinklai, VGTU, 00

More information

Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas

Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas ISSN 1392-0561. INFORMACIJOS MOKSLAI. 2009 50 Lokalizuojamųjų programinės įrangos išteklių metainformacijos formalizavimo metodas Tatjana Jevsikova Matematikos ir informatikos instituto doktorantė Institute

More information

Amadeus On-Line Helpdesk

Amadeus On-Line Helpdesk Amadeus On-Line Helpdesk Vartotojo instrukcija Skirta kelionių agentūroms Turinys Įžanga... 3 Jungimasis prie Amadeus Helpdesk... 3 Patarimai ir pastabos... 7 Dokumento valdymas 2007 Apsauga Viešas Įmon

More information

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras.

Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis m. m. pavasario semestras. Apletai (įskiepiai) Lekt. dr. Pijus Kasparaitis pkasparaitis@yahoo.com 2008-2009 m. m. pavasario semestras Java grafinės bibliotekos AWT (Abstract Window Toolkit) Swing 2009.04.09 P.Kasparaitis. Objektinis

More information

II SEKCIJA. Duomenų bazės ir modeliai

II SEKCIJA. Duomenų bazės ir modeliai II SEKCIJA Duomenų bazės ir modeliai VEIKLOS TAISYKLIŲ SAUGYKLA, INTEGRUOTA SU VEIKLOS TAISYKLIŲ IŠKVIETIMO MECHANIZMU 1 Rimantas Butleris, Liudas Motiejūnas Kauno technologijos universitetas Straipsnyje

More information

K R I S T I N A L A P I N. I dalis. Matematikos ir statistikos studijų krypčių pirmo kurso studentams

K R I S T I N A L A P I N. I dalis. Matematikos ir statistikos studijų krypčių pirmo kurso studentams V I L N I A U S U N I V E R S I T E T AS M A T E M A T I K O S I R I N F O R M A T I K O S F A K U L T E T A S P R O G R A M Ų S I S T E M Ų K A T E D R A K R I S T I N A L A P I N Programavimas C I dalis

More information

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA

KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA KTU INFORMATIKOS FAKULTETAS HENRIKAS SINICKAS KLIENTŲ DUOMENŲ BAZĖS IR SANTYKIO SU KLIENTAIS VALDYMO PROGRAMA MAGISTRO DARBAS Darbo vadovas doc. dr. Ojaras Purvinis KAUNAS 2004 TURINYS 2 1. ĮVADAS... 3

More information

Ian Sommerville 2008 Software Engineering, 8th edition. Chapter 28 Slide 1. Tikslai

Ian Sommerville 2008 Software Engineering, 8th edition. Chapter 28 Slide 1. Tikslai Programinės įrangos kūrimo proceso tobulinimas Ian Sommerville 2008 Software Engineering, 8th edition. Chapter 28 Slide 1 Tikslai Paaiškinti programinės įrangos kūrimo proceso tobulinimo principus. Paaiškinti,

More information

2006 m. valstybinio brandos egzamino užduotis

2006 m. valstybinio brandos egzamino užduotis LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS 2006 m. valstybinio brandos egzamino užduotis 2006 m. gegužės 26 d. Egzamino trukmė 3 val. Testas 1 val. 25 min (85 min.)

More information

PHP Lietuviškai. Turinys

PHP Lietuviškai. Turinys PHP Lietuviškai Informacija iš interneto pakampių surinko, visa savaitgalį prie Easy PDF sėdėjo ir kankinosi Justinas L. aka scooox. Taigi, kad visi girdėtų, sakau: šitas dokumentas yra surinktas iš visų

More information

Atminties technologijos

Atminties technologijos Atminties technologijos 3 paskaita RAM (laisvosios kreipties atmintis) Atminties hierarchija Kreipties trukmė Talpa Kompiuterio resursai apibrėžiami pagal lokališkumo principą (laike ir erdvėje), kas leidžia

More information

Pažintis su C++ Builder

Pažintis su C++ Builder Pažintis su C++ Builder Turinys C++ Builder aplinka... 2 Komponentai, jų savybės ir metodai, įvykiai... 2 Programos objektų savybių keitimas... 4 Vartotojo programos kūrimas, saugojimas ir vykdymas...

More information

GSM SECURITY AND CONTROL SYSTEM GSM APSAUGOS IR VALDYMO SISTEMA ESIM021

GSM SECURITY AND CONTROL SYSTEM GSM APSAUGOS IR VALDYMO SISTEMA ESIM021 GSM SECURITY AND CONTROL SYSTEM GSM APSAUGOS IR VALDYMO SISTEMA ESIM021 Manual v1.1 Safety instructions Please read and follow these safety guidelines in order to maintain safety of operators and people

More information

OBJEKTŲ SAVYBIŲ MODELIO GRAFINIS REDAKTORIUS

OBJEKTŲ SAVYBIŲ MODELIO GRAFINIS REDAKTORIUS KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA Saulius Menkevičius OBJEKTŲ SAVYBIŲ MODELIO GRAFINIS REDAKTORIUS Magistro darbas Vadovas doc. dr. B. Paradauskas KAUNAS,

More information

Paprastų lentelių kūrimas

Paprastų lentelių kūrimas HTML lentelės Lentelės Informacijos pateikimas HTML-dokumentuose lentelių pagalba yra vienas iš dažniausiai naudojamų. HTML kalboje lentelės yra naudojamos ne tik tradiciškai, kaip duomenų pateikimo metodas,

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Standartinė šablonų biblioteka (STL) Duomenų struktūros (11paskaita) Šablonai Programuojant egzistuoja situacijos, kai reikia atlikti tuos pačius veiksmus su skirtingais duomenų

More information

Elektroninio verslo procesų modeliavimo metodų tobulinimas

Elektroninio verslo procesų modeliavimo metodų tobulinimas KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA Kristina Simanaitytė Elektroninio verslo procesų modeliavimo metodų tobulinimas Magistro darbas Darbo vadovė doc.

More information

I. FFDATA STRUKTŪROS APRAŠYMAS

I. FFDATA STRUKTŪROS APRAŠYMAS PATVIRTINTA Valstybinio socialinio draudimo fondo valdybos prie Socialinės apsaugos ir darbo ministerijos direktoriaus 2010 m. birželio 4 d. Nr. V-243 (Valstybinio socialinio draudimo fondo valdybos prie

More information

WVGA :9 None. This is the only supported resolution for Windows Phone OS 7.1.

WVGA :9 None. This is the only supported resolution for Windows Phone OS 7.1. Windows Phone Palaikomi ekranai Resolution Resolution Aspect ratio Delta from Windows Phone OS 7.1 Scaled resolution WVGA 480 800 15:9 None. This is the only supported resolution for Windows Phone OS 7.1.

More information

VHDL: skaitmeninių įtaisų projektavimo kalba. 1 paskaita. dr. Giedrius Masalskis

VHDL: skaitmeninių įtaisų projektavimo kalba. 1 paskaita. dr. Giedrius Masalskis VHDL: skaitmeninių įtaisų projektavimo kalba 1 paskaita dr. Giedrius Masalskis Literatūros šaltiniai Paskaitų skaidrės. Lengvai ieškoma knyga, kai reikia greitai prisiminti VHDL sintaksę, surasti pavyzdžius:

More information

Projektas. .h failai Header failai (interface) .m failai Pačios programos failai ( .xib /.storyboard Vartotojo sąsajos failai

Projektas. .h failai Header failai (interface) .m failai Pačios programos failai ( .xib /.storyboard Vartotojo sąsajos failai ios Projektas.h failai Header failai (interface).m failai Pačios programos failai (.xib /.storyboard Vartotojo sąsajos failai AppDelegate.h / AppDelegate.m aplikacijos pradiniai startavimo prpograminiai

More information

ŽILVINAS VAIRA. Programinės įrangos kūrimo technologijos. Mokomoji priemonė

ŽILVINAS VAIRA. Programinės įrangos kūrimo technologijos. Mokomoji priemonė ŽILVINAS VAIRA Programinės įrangos kūrimo technologijos Mokomoji priemonė Projektas Socialinių mokslų kolegijos vykdomų studijų programų internacionalizacija kuriant atvirą aukštąją mokyklą užsienio šalių

More information

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas

KOMPIUTERIŲ TINKLAI. 5 paskaita Tinklo lygmuo, IP protokolas KOMPIUTERIŲ TINKLAI 5 paskaita Tinklo lygmuo, IP protokolas Lokalus tinklas (kartojimas) Lokalaus tinklo technologijos: Kokius žinote prieigos prie terpės metodus? Kas yra Ethernet, kokie jo skiriamieji

More information

Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams

Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams Naujos galimybės su Lotus Notes 8.5.1: naudotojams ir programuotojams IBM Programinės įrangos diena 2009 m. spalio 21 d. Andrejus Chaliapinas, IĮ Infosana vadovas http://www.infosana.com Prezentacijos

More information

Magic Draw įrankio išplėtimas klasių diagramų ir būsenų mašinų derinimo galimybėmis

Magic Draw įrankio išplėtimas klasių diagramų ir būsenų mašinų derinimo galimybėmis KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA Saulius Bira Magic Draw įrankio išplėtimas klasių diagramų ir būsenų mašinų derinimo galimybėmis Magistro darbas Darbo

More information

DUOMENŲ BAZIŲ VALDYMO SISTEMŲ TINKAMUMO BIOMEDICININĖMS SISTEMOMS ĮVERTINIMAS

DUOMENŲ BAZIŲ VALDYMO SISTEMŲ TINKAMUMO BIOMEDICININĖMS SISTEMOMS ĮVERTINIMAS DUOMENŲ BAZIŲ VALDYMO SISTEMŲ TINKAMUMO BIOMEDICININĖMS SISTEMOMS ĮVERTINIMAS Renata Baronienė, Egidijus Paliulis Šiaulių universitetas, Technologijos fakultetas Įvadas Šiuo metu labai aktuali problema

More information

C programos struktūra ir funkcijos

C programos struktūra ir funkcijos C programos struktūra ir funkcijos 1. C programą sudaro 1 arba daugiau failų (arba kompiliavimo vienetų). programa ::= { failas 1+ 2. C programos failas tai vienas paskui kitą einantys kintamųjų, funkcijų

More information

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS

ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA. Mindaugas Gapšys BAKALAURO DARBAS ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Mindaugas Gapšys Informatikos specialybės IV kurso dieninio skyriaus studentas Bash skriptų panaudojimas Unix/Linux operacinių

More information

double *pdouble1, *pdouble2, *pdouble3, double4;

double *pdouble1, *pdouble2, *pdouble3, double4; 11. RODYKLĖS Rodyklė (angl. pointer) kintamasis, saugantis kito konkretaus tipo kintamojo adresą. Rodyklės taikomos: - Netiesioginei prieičiai prie kintamojo - Prieičiai prie masyvo elementų - Argumentų

More information

I.SAF DUOMENŲ RINKMENOS XML STRUKTŪROS APRAŠO SPECIFIKACIJA

I.SAF DUOMENŲ RINKMENOS XML STRUKTŪROS APRAŠO SPECIFIKACIJA VALSTYBINĖ MOKESČIŲ INSPEKCIJA PRIE LIETUVOS RESPUBLIKOS FINANSŲ MINISTERIJOS I.SAF DUOMENŲ RINKMENOS XML STRUKTŪROS APRAŠO SPECIFIKACIJA Versija 1.2.1 159 lapai VILNIUS 2016-10-12 2 Dokumento versijos

More information

LOGINĖS DB SCHEMOS ATSTATYMAS NAUDOJANT JDBC

LOGINĖS DB SCHEMOS ATSTATYMAS NAUDOJANT JDBC LOGINĖS DB SCHEMOS ATSTATYMAS NAUDOJANT JDBC Bronius Paradauskas, Aurimas Laurikaitis, Sigitas Paulavičius, Anna Truncaitė Kauno technologijos universitetas, Informacijos sistemų katedra, Studentų g. 50,

More information

Vilniaus universitetas

Vilniaus universitetas PROGRAMAVIMO KALBŲ TEORINIAI PAGRINDAI Mokymo priemon bakalauro studijų programos Matematikos ir informatikos mokymas studentams Valentina Dagien Gintautas Grigas Vilniaus universitetas Matematikos ir

More information

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant.

Interaktyviame režime: visi 5 etapai vykdomi nuosekliai; DBVS SQL sakinius interpretuoja. Programose: dalis etap gali bti atlikti kompiliuojant. 8. SQL sakiniai taikomosiose programose SQL gali bti vartojama dviem režimais: interaktyviai taikomosiose programose Dvilypumo privalumai: interaktyvaus režimo prieinamos ir programose; SQL derinamas interaktyviai

More information

DUOMENŲ BAZIŲ VALDYMO SISTEMŲ ANALIZĖ

DUOMENŲ BAZIŲ VALDYMO SISTEMŲ ANALIZĖ DUOMENŲ BAZIŲ VALDYMO SISTEMŲ ANALIZĖ Renata Baronienė, Egidijus Paliulis Šiaulių universitetas, Technologijos fakultetas Įvadas Kasmet didėja kaupiamų, saugojamų ir apdorojamų duomenų kiekiai ir apimtys.

More information

C++ programavimo kalba

C++ programavimo kalba C++ programavimo kalba Santrauka doc.dr. Dalius Mažeika Dalius.Mazeika@fm.vtu.lt VGTU SC L318 Programavimo kalbos Procedūrinės (Assembler, ankstyvos, Fortran versijos) Pagrindą sudaro procedūros. Kiekvienas

More information

Web technologijos. Hostingas JavaScript PHP

Web technologijos. Hostingas JavaScript PHP jquery & PHP Web technologijos Hostingas JavaScript PHP Kelios hostingo kompanijos serveriai.lt hostex.lt hostinger.lt Nemokamas hostingas su PHP/mysql http://mindaugas.zz.mu/jm1.html Hostingo paslaugų

More information

Programos kodo generavimas naudojant UML veiksmų semantiką

Programos kodo generavimas naudojant UML veiksmų semantiką KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA Linas Ablonskis Programos kodo generavimas naudojant UML veiksmų semantiką Magistro darbas Kalbos konsultantė Lietuvių

More information

2011 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija

2011 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija 1 iš 24 LIETUVOS RESPUBLIKOS ÐVIETIMO IR MOKSLO MINISTERIJA NACIONALINIS EGZAMINØ CENTRAS Kandidato (-ës) darbo vietos þymë 2011 m. valstybinio brandos egzamino uþduotis, pagrindinë sesija Egzamino trukmë

More information

Scrum su Kanban naudojančios organizacijos programų sistemų kūrimo proceso vertinimas

Scrum su Kanban naudojančios organizacijos programų sistemų kūrimo proceso vertinimas ISSN 9-056. INORMACIJOS MOKSLAI. 07 79 DOI: https://doi.org/0.588/im.07.79.05 Scrum su Kanban naudojančios organizacijos programų sistemų kūrimo proceso vertinimas Vaidotas Pėkis Vilniaus universiteto

More information

16. ŠABLONAI. int abs( int ); float fabs( float ); double dabs( double ),...

16. ŠABLONAI. int abs( int ); float fabs( float ); double dabs( double ),... 16. ŠABLONAI Šablonas (angl. template) lakoniškas mechanizmas užrašyti funkcijų ar klasių, besiskiriančių tik argumentų ar laukų formatais, šeimą. Pavyzdžiui, absoliutinis dydis C kalboje (joje nėra šablonų)

More information

KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR C. II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS

KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR C. II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA KRISTINA LAPIN PROGRAMAVIMAS PASKALIU IR II dalis MATEMATIKOS IR STATISTIKOS STUDIJŲ KRYPČIŲ PIRMO KURSO STUDENTAMS

More information

ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA

ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA ŠIAULIŲ UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Asta Drukteinien ELEKTRONINIŲ PROJEKTŲ RENGIMO IR VALDYMO SISTEMA MAGISTRO DARBAS Darbo vadov : Doc. S. Turskien Recenzentas:

More information

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10

ONSCREENKEYS 5. Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10 ONSCREENKEYS 5 Windows XP / Windows Vista / Windows 7 / Windows 8 / Windows 10 PREKĖS APRAŠYMAS Šis intelektualus ekrane klaviatūra su virtualių pelės paspaudimu funkcijų ir kalbos galia leidžia greitai

More information

Programinio kodo saugumas

Programinio kodo saugumas Programinio kodo saugumas Rolandas Griškevičius rolandas.griskevicius@fm.vgtu.lt MSN: rgrisha@hotmail.com http://fmf.vgtu.lt/~rgriskevicius 2009-12-18 R. Griškevičius, Saugus programavimas, VGTU, 2009

More information

GREITAS IR TIKSLUS OBJEKTO PARAMETRŲ NUSTATYMAS MAŠININĖS REGOS SISTEMOSE

GREITAS IR TIKSLUS OBJEKTO PARAMETRŲ NUSTATYMAS MAŠININĖS REGOS SISTEMOSE 14-osios Lietuvos jaunųjų mokslininkų konferencijos Mokslas Lietuvos ateitis ISSN 2029-7149 online 2011 metų teminės konferencijos straipsnių rinkins ISBN 978-9955-28-835-0 KOMPIUTERINĖ GRAFIKA IR PROJEKTAVIMAS

More information

Baltymų struktūrų modeliavimas naudojant HHpred ir SWISS-MODEL Laboratorinis darbas

Baltymų struktūrų modeliavimas naudojant HHpred ir SWISS-MODEL Laboratorinis darbas Baltymų struktūrų modeliavimas naudojant HHpred ir SWISS-MODEL Laboratorinis darbas Justas Dapkūnas 2017 1 Įvadas Šio darbo tikslas yra praktiškai išbandyti baltymų struktūrų modeliavimą, naudojant paprastus

More information

PROGRAMAVIMAS IR PROGRAMINĖ ĮRANGA

PROGRAMAVIMAS IR PROGRAMINĖ ĮRANGA ISSN 1392-0561. INFORMACIJOS MOKSLAI. 2009 50 PROGRAMAVIMAS IR PROGRAMINĖ ĮRANGA Ensuring Models Consistency in the OMT, Booch, and OOSE Object-Oriented Methods * Rūta Dubauskaitė Vilnius Gediminas Technical

More information

KAUNO TECHNOLOGIJOS UNIVERSITETAS ONTOLOGIJŲ VAIZDINIO PATEIKIMO MODELIS IR JO REALIZACIJA SEMANTINIAME TINKLE

KAUNO TECHNOLOGIJOS UNIVERSITETAS ONTOLOGIJŲ VAIZDINIO PATEIKIMO MODELIS IR JO REALIZACIJA SEMANTINIAME TINKLE KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS Aurelijus Saldauskas ONTOLOGIJŲ VAIZDINIO PATEIKIMO MODELIS IR JO REALIZACIJA SEMANTINIAME TINKLE Baigiamasis magistro projektas Vadovas prof.

More information

KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA

KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS INFORMACIJOS SISTEMŲ KATEDRA Giedrius Tamulis Dalykinės srities kalbų kūrimo UML MagicDraw aplinkoje metodika ir šios metodikos pritaikymas, kuriant

More information

TECHNOLOGIJOS UNIVERSITETAS TRIMAČIŲ OBJEKTŲ SANKIRTŲ NUSTATYMAS, NAUDOJANT CUDA

TECHNOLOGIJOS UNIVERSITETAS TRIMAČIŲ OBJEKTŲ SANKIRTŲ NUSTATYMAS, NAUDOJANT CUDA KAUNO TECHNOLOGIJOS UNIVERSITETAS INFORMATIKOS FAKULTETAS Tadas Baskutis TRIMAČIŲ OBJEKTŲ SANKIRTŲ NUSTATYMAS, NAUDOJANT CUDA Baigiamasis magistro projektas Vadovas Lekt. dr. Kęstutis Jankauskas KAUNAS,

More information

C# ir VB.NET palyginimas taikomųjų programų kūrimo požiūriu

C# ir VB.NET palyginimas taikomųjų programų kūrimo požiūriu VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Arnoldas Judinas C# ir VB.NET palyginimas taikomųjų programų kūrimo požiūriu Magistro baigiamasis darbas Darbo

More information

Duomenų bazių projektavimas

Duomenų bazių projektavimas -- 1 -- A. Juozapavičius Duomenų bazių projektavimas Duomenų bazių projektavimas yra didesnio uždavinio - informacinės sistemos projektavimo - dalis. Informacinėje sistemoje yra ne tik renkami, saugomi

More information

Didelės apimties svetainės optimizavimas taikant SEO principus

Didelės apimties svetainės optimizavimas taikant SEO principus VILNIAUS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS PROGRAMŲ SISTEMŲ KATEDRA Didelės apimties svetainės optimizavimas taikant SEO principus Large-scale website optimization applying SEO principles

More information