Pored niza tekstova o Leder programiranju PLC-a sada ćemo vam predstaviti koje se sve naredbe koriste za operacije nad podacima. One mogu biti operacije za poređenje i matematičke operacije.

 U realizaciji različitih algoritama često je potrebno da se izvrše određena izračunavanja, da se prenesu odgovarajuće poruke ili da se u zavisnosti od vrednosti nekih parametara promeni algoritam obrade. U osnovi svih navedenih aktivnosti nalaze se promenljive – podaci koji predstavljaju operande ili rezultate u različitim matematičkim ili logičkim operacijama.

Operandi

 Kao što je već rečeno, promenljive se u memoriji kontrolera pamte kao numerički podaci ili alfanumerički podaci – stringovi. Numerički podaci se pri tome mogu pamtiti kao celobrojne vrednosti (integers) ili decimalni brojevi prikazani u formatu pokretnog zareza (floating point). Različiti tipovi numeričkih podataka smeštaju se u datoteke podataka odgovarajućeg tipa.

 U principu, operandi mogu biti promenljive iz bilo koje datoteke. Potrebno je uočiti, međutim, da iako se dozvoljava korišćenje bit-adresibilnih datoteka (B,I,O), podaci smešteni u njima se u ovim operacijama mogu koristiti samo kao cele reči (elementi), što znači da se operacija ne može izvoditi nad pojedinim bitovima. Pored toga, u datotekama časovnika i brojača (T i C) mogu se kao operandi koristiti samo druga i treća reč elementa koje predstavljaju akumuliranu vrednost (ACC) i zadanu vrednost (PRE). Konačno, kao operandi se mogu javiti i neke promenljive iz kontrolne datoteke (R). O značenju i ulozi ovih promenljivih biće reči kasnije.

 Pored promenljivih, operandi u pojedinim operacijama mogu biti i programske konstante – nepromenljive veličine koje se definišu eksplicitnim navođenjem vrednosti u okviru naredbe. Pri tome, nije dozvoljenno da oba operanda budu programske konstante. Samo se po sebi razume da se programska konstanta ne može koristiti kao rezultat.

Operacije

 Operacija koja treba da se izvrši nad operandima definiše se u okviru naredbe. Najveći broj ovih naredbi pojavljaju se kao naredbe akcije. Ovo je sasvim prirodno ako se ima u vidu da je glavna svrha ovih naredbi da se obavi neka aritmetička ili logička operacija nad operandima i dobijeni rezultat upamti kao odgovarajuća promenljiva. Drugim rečima, sam proces izračunavanja predstavlja jednu akciju, čije izvršavanje može biti uslovljeno istinosnom vrednošću nekog uslova koji se nalazi u levom delu ranga. Izuzetak su jedino naredbe za poređenje, koje opet, po svojoj prirodi, proveraju da li je neka relacija između operanada ispunjena ili nije odnosno da li njena vrednost istinita ili neistinita. Shodno tome, takve naredbe moraju biti naredbe uslova, tako da je rezultat njihovog izvođenja istinosna vrednost naredbe.

Naredbe za poređenje

 Naredbe za poređenje su naredbe uslova. U okviru ovih naredbi proverava se istinosna vrednost relacije između dva operanda. Kao rezultat provere naredba dobija vrednost istinit ili neistinit. Jedna grupa naredbi za poređenje ima oblik kao što je to prikazano na Slika br.1. U tabeli br.1 dat je pregled svih naredbi za poređenje iz ove grupe. Prvi operand je uvek promenljiva, dok drugi operand može biti ili promenljiva ili programska konstanta.

Slika br.1 Opšti izgled naredbe za poređenje

Tabela br.1 Grupa naredbi za poređenje

Pored navedenih naredbe među naredbama za poređenje postoje i sledeđe dve naredbe:

MEQ – masked comparison for equal (maskirano ispitivanje jednakosti)

 Ova naredba služi za poređenje delova pojedinih reči. Naime na položaju onih bitova koji ne učestvuju u poređenju (maskirani bitovi) u maski se stavljaju nule. Ostali bitovi maske, koji odgovaraju bitovima koji se porede (nemaskirani bitovi), se postavljaju na 1. Ukoliko su bitovi operanda i reference koji nisu maskirani međusobno jednaki naredba ima vrednost istinit. U protivnom ona ima vrednost neistinit. Pri definisanju maske, pogodno je koristiti heksadecimalnu konstantu ili promenljivu.

LIM – Limit test (ispitivianje granica)

 LIM naredbom se proverava da li se vrednost operanda Test nalazi unutar datih granica. Ako je donja granica manja od gornje granice, vrednost naredbe je istinita ako operand pripada segmentu koji određuju granice. Potrebno je obratiti pažnju na činjenicu da “donja granica” može biti i veća od “gornje granice”. U tom slučaju naredba je istinita ako se operand nalazi izvan granica ili na njima, a neistinita ako operand pripada intervalu koji određuju granice.

 Ako je operand test konstanta, onda obe granice moraju biti adrese promenljivih. Međutim, ukoliko je test adresa promenljive, onda granice mogu biti bilo adrese promenljivih bilo konstante.

Leder programiranje:

  • Uvod u Leder programiranje možete pronaći OVDE.
  • Leder programiranje – Bit naredbe možete pronaći OVDE.
  • Leder programiranje – Kontakti možete pronaći OVDE.
  • Leder programiranje – START/STOP kolo možete pronaći OVDE.
  • Leder programiranje – Realizaciju časovnik možete prinaći OVDE.
  • Leder programiranje – Realizaciju brojača možete pronaći OVDE.
  • Leder programiranje – Sekvencijalno upravljanje možete pronaći OVDE.
  • Leder programiranje – SQL, SQC i SQO naredbe možete pronaći OVDE.
  • Leder programiranje – Kako i gde se koriste SQL, SQC i SQO naredbe možete pronaći OVDE.

Napomena: Tekst je preuzet iz materijala  za predmet PROCESNI RAČUNARI, na ETF, Univerziteta u Beogradu. Iz originalnog teksta su izostavljene pojedine slike, a dalja objašnjenja pojmova korišćenih u ovom uvodnom tekstu možete naći u pomenutim materijalima.

POSTAVI ODGOVOR

Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.