Siemens LOGO! kontroller
Siemens S7-1200 viide Pneumoautomaatika viide Mehhatroonikaseadmete viide Automatiseerimise viide

Erifunktsioonid

Erifunktsioonid pole küll kindel ja iseloomustav mõiste, kuid antud juhul on see nimetus, mille alla andis koondada keerukamad funktsioonid. Paljusid neist ei annagi siinse programmilise lihtloogika baasil lahendada, kuid mõne saab asendada ka "Binaarloogika funktsioonid" peatüki alt tuntud lihtloogikafunktsioonide kogumiga.

Kõiki LOGO! funktsioone ei ole siin jälgitavuse huvides välja toodud.

Taimerid ehk viivituse teostajad

Juhtimisülesannetes on tihti vaja tekitada ajalisi viiteid, selleks on LOGO! kontrolleril terve hulk funktsiooniplokke. Põhilised neist on ka siin välja toodud.



[joonis] [joonis]

Sisselülitusviitega taimer (On-Delay)
Väljund Q on algselt madal. Kui pärast kõrge väärtuse andmist Trg sisendisse, möödub parameetris T määratud aeg, siis läheb väljund kõrgeks ja püsib kõrge kuni Trg sisendi madalaks minemiseni.



[joonis] [joonis]

Väljalülitusviitega taimer (Off-Delay)
Väljund Q on algselt madal. Kui sisendi Trg väärtus läheb kõrgeks, siis läheb koheselt kõrgeks ka väljund Q. Kui sisend Trg madalaks läheb, siis väljund Q on veel parameetriga T määratud aja kõrge. Pärast seda läheb see madalaks. Väljundit saab enneaegselt madalaks sundida R sisendi kõrgeks lülitamisega.



[joonis] [joonis]

Salvestav sisselülitusviitega taimer (Retentive On-Delay)
Sarnane sisselülitusviivitusega taimeriga, aga Trg sisendist kõrge signaali kadumine ei peata taimeri tööd.

Väljund Q on algselt madal. Kui pärast kõrge väärtuse andmist Trg sisendisse möödub parameetris T määratud aeg, siis läheb väljund kõrgeks ja püsib kõrge kuni R sisendisse antakse kõrge signaal.



[joonis] [joonis]

Sisse-/väljalülitusviivitusega taimer (On-/Off-Delay)
Sellel taimeril on kaks viivitusparameetrit. TH määrab sisselülitusviivituse aja ja TL määrab väljalülitusviivituse aja. Ta on aeg, mida loetakse.

Kuni sisend Trg on kõrge, loetakse aega Ta. Kui see jõuab TH parameetriga määratud ajani (Ta = TH), siis väljund Q läheb kõrgeks ja Ta läheb nulli. Kui sisend Trg läheb madalaks, siis hakatakse jälle Ta aega lugema. Kui loetav aeg saavutab sama väärtuse, kui TL, siis läheb väljund madalaks.



[joonis] [joonis]

Frondituvastusega pulsstaimer (Edge triggered wiping relay)
Sellel taimeril on kaks viivitusparameetrit. TL määrab sisselülitusviivituse aja ja TH määrab väljalülitusviivituse aja. Ta on aeg, mida loetakse.

Kui sisend Trg läheb kõrgeks, siis hakatakse lugema aega Ta. Kuna kasutatakse frondituvastust, pole vahet, kas Trg jääb kõrgeks või läheb kohe madalaks. Kui siendi tõusvast frondist on möödunud TL parameetriga määratud aeg (Ta = TL), siis läheb väljund Q kõrgeks ja Ta läheb nulli. Koheselt hakatakse lugema järgmist aega, mis on väljundi väljalülitusviivitus. Kui loetav aeg saavutab sama väärtuse, kui TH, siis läheb väljund madalaks.
Kui taimer on aktiivne ja Trg sisendisse saabub uus tõusev front, siis alustatakse lugemist taas algusest. Kui aktiivse taimeri R (reset) sisendisse saabub mistahes hetkel tõusev front, siis lugemine peatatakse ja väljund läheb madalaks.

Loendurid

Loendurid, nagu nimigi ütleb, on funktsioonid, mis võimaldavad midagi loendada. Programmiliselt võimaldavad need lugeda näiteks funktsiooni sisendisse saabuvaid tõusvaid fronte ja reaalses rakenduses juba näiteks toorikuid, nupuvajutusi või töötsükleid. Kui loendur on loendanud määratud numbrini, siis annab see sellest teada ploki väljundi oleku muutmise teel.



[joonis] [joonis]

Üles/alla loendur (Up/down counter)
Suurendab või vähendab loendi väärtust ühe võrra iga kord, kui Cnt sisendisse saabub positiivne front. Kui sisend Dir on madal, siis loeb loendur ülespoole, kui kõrge, siis allapoole. See loendur ei suuda loendada alla nulli ega üle 999. Kui R sisendisse tuleb positiivse frondiga signaal, siis võtab loendi enda algväärtuse (nt 0) ja viib väljundi madalaks. Pärast seda on loendur algolekus.

Kui loendi väärtus saavutab On parameetri väärtuse, lülitub loenduri väljund Q kõrgeks. Kui loendi väärtus saavutab Off parameetri väärtuse, lülitub loenduri väljund madalaks. Start val parameeter määrab loendi algväärtuse.

  • Kui OnOff
    • Q = 1, kui loend ≥ On
    • Q = 0, kui loend < Off

  • Kui On < Off (nagu kõrvalolevas näites)
    • Q = 1, kui On ≤ loend < Off
    • Q = 0, kui loend ≥ Off


[joonis] [joonis]

Sageduspäästik (Thershold trigger)
Võimaldab paika panna aja G_T (Gate time), mille vahemikus Fre sisendisse tulnud pulsse loetakse. On parameeter määrab läve, mitu pulssi ajaühikus (G_T) peab tulema, et väljund Q sisse lülitada. Off parameeter määrab läve, mitu pulssi ajaühikus (G_T) peab tulema, et väljund Q välja lülitada. Pulsside arv ei pea olema täpne vaid sisselülitused ja väljalülitused toimuvad allmärgitud põhimõttel:

  • Kui OnOff
    • Q = 1, kui pulsside-arv > On
    • Q = 0, kui pulsside-arv ≤ Off

  • Kui On < Off (nagu kõrvalolevas näites)
    • Q = 1, kui On ≤ pulsside-arv < Off
    • Q = 0, kui pulsside-arv ≥ Off

Muud funktsioonid

[joonis] [joonis]

RS triger (Latching relay)
RS triger toimib mäluelemendina ja jätab oma väljundi oleku meelde. Sellel on kaks sisendit S ehk set ja R ehk reset. S sisend seab trigeri väljundi Q kõrgeks. See jääb kõrgeks seni, kuni see R sisendi kaudu madalaks seatakse.

Seda on hea kasutada siis, kui mingi lühikese sisendsignaali peale peab kontrolleri väljund rakendunuks jääma kuni mingi teise lühikese sisendsignaalini. Samuti on seda mugav kasutada erinevate protsesside olekute meelde jätmiseks, näiteks "automaattsükkel hetkel töötab".



[joonis] [joonis]

Pulssrelee (Pulse relay)
Pulssrelee Trg sisend pöörab väljundi Q olekut. Kui enne oli väljund kõrge, siis pärast Trg sisendisse tulnud kõrget signaali läheb väljund madalaks ja vastupidi. Säilinud on ka RS trigerist tuntud sisendid S ja R, mis avaldavad väljundile samasugust mõju, nagu RS trigeri puhul. S sisend seab trigeri väljundi Q kõrgeks. See jääb kõrgeks seni, kuni see R sisendi kaudu madalaks seatakse või ka antud juhul Trg sisendi kaudu pööratakse.

Antud funktsioon on kasulik näiteks siis, kui ühe ja sama mittefikseeruva nupuga on vaja mingit väljundit nii sisse kui välja lülitada, kuid sama väljund peab olema juhitav paraleelselt ka erinevate sisendsignaalide kaudu (näiteks veel kaks nuppu, üks sisse, teine välja).



[joonis] [ekraanipilt]

Tarkvaraline lüliti (Softkey)
Selle funktsiooni abil saab LOGO! kontrolleri pealsest kasutajaliidesest seda "lülitit" sisse ja välja lülitada menüüst "Set Param" . On mõeldud, et see "lüliti" lülitab signaali sisendist En väljundisse Q. Parameetrite alt saab seda "lülitit" seadistada. See võib olla fikseeruv (type: switch) või mittefikseeruv (type: momentary pushbutton). Saab ka valida, kas see on programmi käivitudes lülitatud (initial status: on) või lülitamata (initial status: on).

Sisend En peab olema kõrge, et lüliti lülitamisel väljund kõrgeks läheks.

Seda funktsiooni saab kasutada LOGO! kasutajaliidese menüüsse seadistamisvõimaluste tekitamiseks, mis võimaldavad programmi käitumist või protsessi käiku muuta vastavalt sellele, kuidas see tarkvaraline lüliti programmis ühendatakse.

[ekraanipilt]

Analoogfunktsioonid

Analoogväärtused muudetakse kontrolleris digitaalseks, seega tegelikkuses pole tegemist analoogfunktsioonidega vaid funktsioonidega, mis töötlevad mitmebitilisi digitaalväärtuseid, mis ainult esindavad analoogväärtusi.

[joonis]
[joonis]
[ekraanipilt]

Analoogkomparaator (Analog Comparator)
Võrdleb kahte analoogsignaali esindavat väärtust ja lülitab ploki binaarväljundit olenevalt rakendumislävest.
Funktsioon leiab sisendite Ax ja Ay vahe. Edasi võrdleb see vahet sisselülituslävega (parameeter On) ja väljalülituslävega (parameeter Off). Kuigi funktsioonil on kaks sisendit, ei pea tingimata mõlemat ühendama. Kui on soov võrrelda ainult ühte analoogsisendi väärtust rakendumislävega, võib teise sisendi tühjaks jätta.
Väljundi lülitumise tingimused:

  • Kui OnOff
    • Q = 1, kui (Ax - Ay) > On
    • Q = 0, kui (Ax - Ay) ≤ Off

  • Kui On < Off
    • Q = 1, kui On ≤ (Ax - Ay) < Off
    • Q = 0, kui (Ax - Ay) ≥ Off
[joonis]

Analoog lävipäästik (Analog threshold trigger)
Sarnane analoogkomparaatorile, kuid sellel on vaid üks sisend. Kui üks sisend ja vahe arvutamine välja jätta on kõik sama. Lülitab ploki binaarväljundit olenevalt sisendsignaalist Ay ja selle väärusest sisselülitusläve On ja väljalülitusläve Off suhtes.
Väljundi lülitumise tingimused:

  • Kui OnOff
    • Q = 1, kui Ax > On
    • Q = 0, kui AxOff

  • Kui On < Off
    • Q = 1, kui OnAx < Off
    • Q = 0, kui AxOff


[joonis]
[joonis]
[ekraanipilt]

Analoog differentsiaalpäästik (Analog differential trigger)
Funktsioon, mille binaarväljund läheb kõrgeks, kui sisendi Ax väärtus on vahemikus, mis jääb parameetri On väärtuse ja sellest parameetri Differential võrra erineva väärtuse vahele.

Mugav mingisuguse vahemiku tuvastamiseks. Kasutades mitut erinevate vahemikega instantsi sellest funktsioonist võib näiteks toorikuid kõrguse järgi sorteerida või näidata kasutajale, millal mingi küttekeha sobivas vahemikus olev temperatuur on saavutatud.

  • Q = 1, kui OnAx < ( On + Differential )
  • Q = 1, kui OnAx > ( On + Differential )


[joonis]
[ekraanipilt]

Analoog aritmeetika (Analog math)
Võimaldab lihtsat analoogväärtuste liitmist, lahutamist, korrutamist ja jagamist. Funktsioonis saab kasutada kuni 4 operandi. Operand võib olla nii konstant kui ka mõne teise analoogfunktsiooni väljund. Seda funktsiooni ei ole võimalik otse sisenditega siduda, kuigi kohandatud sisendväärtust on võimalik lugeda läbi analoogpäästiku (analog triger) või analoogvõimendi (analog amplifier) funktsioonide.

Tehte järjekorra määramiseks on võimalik anda tehetele 3 erinevat prioriteeti: H - kõrge; M - keskmine; L - madal. Kõrgema prioriteediga tehted teostatakse esimesena, madalamaga viimasena.

Kõrvaloleval pildil on kujutatud tehe (B004.Ax+B005.Ax) / 2.

Operandidena saab kasutada järnevate funktsioonide näidatud parameetreid:

  • Analoog komparaator (Analog comparator): Ax – Ay
  • Analoog päästik (Analog trigger): Ax
  • Analoog võimendi (Analog amplifier): Ax
  • Analoog multiplekser (Analog multiplexer): AQ
  • Analoog ramp (Analog ramp): AQ
  • Analoog aritmeetika (Analog math): AQ
  • PI kontroller (PI controller): AQ
  • Üles/alla loendi (Up/Down counter): Cnt


[joonis]
[ekraanipilt]

Analoogvõimendi (Analog math)
Tegu on funktsiooniga, millega saab analoogväärtust skaleerida mingisse teise vahemikku. Parameetriteks on Gain ehk võimendustegur ja Offset ehk nihe.

Pingesisendi vahemik on vaikimisi 0..1000. Selleks peab olema Gain 1,00 ja offset 0. Kui peaks tekkima vajadus saada sisend hoopis vahemikus 0..10, siis tuleb Gain parameetriks määrata 0,01. Sellisel juhul vastab väärtus täpselt pingele, kuid kaotame täpsuses. Kui peaksime vajama hoopis vahemikku 50..500, siis peaks Gain olema 0,45 ja Offset 50.

Samasugune funktsionaalsus on olemas ka mitmes teises analoogfunktsioonis.

Creative Commons License
Siemens LOGO! kontroller by Eduard Brindfeldt and Urmo Lepiksoo is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.