<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>programiranje plc Archives - Automatika.rs</title>
	<atom:link href="https://www.automatika.rs/tag/programiranje-plc/feed" rel="self" type="application/rss+xml" />
	<link>https://www.automatika.rs/tag/programiranje-plc</link>
	<description>Portal za inženjere</description>
	<lastBuildDate>Sat, 19 Aug 2017 15:04:39 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Siemens SIMATIC familija programabilnih logičkih kontrolera</title>
		<link>https://www.automatika.rs/baza-znanja/tutorijali/siemens-simatic-familija-programabilnih-logickih-kontrolera.html</link>
					<comments>https://www.automatika.rs/baza-znanja/tutorijali/siemens-simatic-familija-programabilnih-logickih-kontrolera.html#comments</comments>
		
		<dc:creator><![CDATA[Marko Nikolić]]></dc:creator>
		<pubDate>Fri, 25 Aug 2017 00:00:45 +0000</pubDate>
				<category><![CDATA[Obrada signala]]></category>
		<category><![CDATA[Teorija upravljanja]]></category>
		<category><![CDATA[Tutorijali]]></category>
		<category><![CDATA[mpi protokol]]></category>
		<category><![CDATA[ppi protokol]]></category>
		<category><![CDATA[programiranje plc]]></category>
		<category><![CDATA[siemens simatic]]></category>
		<category><![CDATA[simatic m7]]></category>
		<category><![CDATA[simatic plc]]></category>
		<category><![CDATA[simatic s7]]></category>
		<guid isPermaLink="false">https://www.automatika.rs/?p=8988</guid>

					<description><![CDATA[<p> Siemens familija programabilnih logičkih kontrolera SIMATIC spada svakako u najzastupljenije na svetskom, a pogotovo na evropskom tržištu. Namena im je prevashodno industrijska automatizacija, pa se u okviru familije nudi širok spektar kontrolera u zavisnosti od potreba tj. nivoa automatizacije koji se implementira– niski, srednji ili viši nivo. U okviru SIMATIC familije postoji podela na tri [&#8230;]</p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/tutorijali/siemens-simatic-familija-programabilnih-logickih-kontrolera.html">Siemens SIMATIC familija programabilnih logičkih kontrolera</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify"> <a href="https://www.siemens.com/rs/sr/home.html" target="_blank" rel="noopener noreferrer">Siemens </a>familija programabilnih logičkih kontrolera <strong>SIMATIC</strong> spada svakako u najzastupljenije na svetskom, a pogotovo na evropskom tržištu. Namena im je prevashodno industrijska automatizacija, pa se u okviru familije nudi širok spektar kontrolera u zavisnosti od potreba tj. nivoa automatizacije koji se implementira– niski, srednji ili viši nivo. U okviru SIMATIC familije postoji podela na tri pod-familije, koje se u osnovi veoma malo razlikuju, a razlika se svodi na prilagođavanje nekim užim potrebama korisnika:</p>
<h3 style="text-align: justify">Siemens SIMATIC S7</h3>
<p style="text-align: justify"> Kontroleri najšireg spektra primene, koriste se za standardne industrijske poslove upravljanja kao što su brojanje, merenje, pozicioniranje, upravljanje u zatvorenim i otvorenim petljama, itd. Koriste se u skoro svim osnovnim granama industrije (mašinska, automobilska, prehrambena, procesna), a postoje i posebne verzije prilagođene za primene u rizičnim sredinama.</p>
<p style="text-align: justify"><img fetchpriority="high" decoding="async" class="size-full wp-image-8989 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_.jpg" alt="" width="400" height="300" srcset="https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_.jpg 400w, https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_-300x225.jpg 300w, https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_-80x60.jpg 80w, https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_-265x198.jpg 265w" sizes="(max-width: 400px) 100vw, 400px" /></p>
<h3 style="text-align: justify">Siemens SIMATIC C7</h3>
<p style="text-align: justify"> Ovoj grupi pripadaju kontroleri koji u jednom obuhvataju mogućnosti S7 sa jednostavnim HMI funkcijama. Njihova primena je tamo gde se zahteva kompaktnost, određena proširivost i jednostavnost, ali uz ekonomsku pristupačnost.</p>
<p style="text-align: justify"><img decoding="async" class="size-full wp-image-8990 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/08/6ES7626-2AG00-0AE3_Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_.jpg" alt="" width="400" height="265" srcset="https://www.automatika.rs/wp-content/uploads/2017/08/6ES7626-2AG00-0AE3_Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_.jpg 400w, https://www.automatika.rs/wp-content/uploads/2017/08/6ES7626-2AG00-0AE3_Simatic-S7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_-300x199.jpg 300w" sizes="(max-width: 400px) 100vw, 400px" /></p>
<h3 style="text-align: justify">Siemens SIMATIC M7</h3>
<p style="text-align: justify"> Kontroleri koji po svojim mogućnostima proširenja i skladištenja podataka idu korak dalje od standardnih PLC-a ka personalnim računarima. Njihova primena je u poslovima gde se pored svega ostalog zahteva još i sakupljanje velike količine procesnih podataka, njihovo skladištenje, kao i obrada u realnom vremenu uz pomoć specijalizovanih softvera, pisanih često u višim programskim jezicima tipa C/C++. U okviru navedenih podfamilija, postoje serije koje označavaju namenu u odnosu na nivo automatizacije za koji su kontroleri namenjeni, pa tako S7 serija 200 označava niski nivo, 300 srednji, a 400 viši. Kod M7 familije postoje serije 300 i 400.</p>
<p style="text-align: justify"><img decoding="async" class="size-full wp-image-8991 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_.jpg" alt="" width="483" height="300" srcset="https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_.jpg 483w, https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_-300x186.jpg 300w, https://www.automatika.rs/wp-content/uploads/2017/08/Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.rs_-356x220.jpg 356w" sizes="(max-width: 483px) 100vw, 483px" /></p>
<p style="text-align: justify"> U okviru navedenih podfamilija, postoje serije koje označavaju namenu u odnosu na nivo automatizacije za koji su kontroleri namenjeni, pa tako S7 serija 200 označava niski nivo, 300 srednji, a 400 viši. Kod M7 familije postoje serije 300 i 400.</p>
<h3 style="text-align: justify">Mreže u okviru SIMATIC familije programabilnih logičkih kontrolera</h3>
<p style="text-align: justify"> <strong>SIMATIC familija kontrolera</strong> podržava veći broj današnjih standarda umrežavanja kroz korišćenje raznih modula koji omogućuju njihovo priključivanje na te mreže. Ali pored standardnih postoje i dva specifična načina umrežavanja, karakteristična samo za SIMATIC uređaje, a to su PPI i MPI. Oba ova protokola su zatvorenog tipa, što znači da njima raspolaže samo matična kompanija tj. Siemens, pa niko drugi ne može konstruisati uređaje koji bi komunicirali po tim protokolima i na taj način se povezivali sa kontrolerima iz SIMATIC familija.</p>
<h3 style="text-align: justify">PPI protokol</h3>
<p style="text-align: justify"> PPI tj. jedan-na-jedan (Point-To-Point) protokol se obično koristi za povezivanje S7-200 uređaja. Ali, i drugi uređaji iz SIMATIC S7 familije i SIMATIC HMI (Human Machine Interface) uređaji mogu ostvariti komunikaciju sa S7-200 preko PPI veze. PPI protokol je implementiran kao token prsten, po uzoru na Profibus i MPI. Komunikacija se odvija po master-slave principu tj. master uređaji šalju zahteve, a slave uređaji odgovaraju. U Tabeli 5 su prikazane osnovne fizičke karakteristike za PPI mrežu:</p>
<p style="text-align: justify"><img loading="lazy" decoding="async" class="size-full wp-image-8992 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/08/1_ppi_protokol_Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.jpg" alt="" width="427" height="143" srcset="https://www.automatika.rs/wp-content/uploads/2017/08/1_ppi_protokol_Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.jpg 427w, https://www.automatika.rs/wp-content/uploads/2017/08/1_ppi_protokol_Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika-300x100.jpg 300w" sizes="auto, (max-width: 427px) 100vw, 427px" /></p>
<p style="text-align: center">Tabela br.1: Pregled PPI protokola.</p>
<h3 style="text-align: justify">MPI protokol</h3>
<p style="text-align: justify"> MPI (MultiPoint Interface) je Siemens-ov protokol predviđen za povezivanje na nivou polja, i to samo SIMATIC S7, M7 i C7 familija uređaja, pošto je protokol zatvorenog tipa. MPI je u osnovi predviđen za povezivanje sa uređajima za programiranje (Programmig Device) i HMI uređajima, ali se može koristiti i za umrežavanje manjeg broja CPU-a radi razmenjivanja manje količine podataka. MPI mreža podržava nekoliko brzina prenosa podataka, da bi se osigurala njihova tačnost i pouzdanost prenosa. Da bi se uređaj povezao na MPI mrežu, ne mora da se dodaje poseban modul sa odgovarajućim komunikacionim procesorom, jer svaki CPU iz SIMATIC familije u sebi već ima ugrađenu podršku za MPI. Neke važnije odlike MPI komunikacije su:</p>
<p style="text-align: justify">• Ekonomski najpristupačniji način povezivanja<br />
• Zasnovana na RS-485 standardu, pa se mogu koristiti postojeći kablovi i konektori kao i za Profibus<br />
• Podržava GD (Global Data) cikličnu komunikaciju između kontrolera<br />
• Podržava OPC (OLE for Process Controll) standard koji dozvoljava deljenje podataka u kontrolerima sa spoljašnjim sistemima i aplikacijama višeg nivoa</p>
<p style="text-align: justify"><img loading="lazy" decoding="async" class="size-full wp-image-8993 aligncenter" src="https://www.automatika.rs/wp-content/uploads/2017/08/1_mpi_protokol_Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.jpg" alt="" width="428" height="95" srcset="https://www.automatika.rs/wp-content/uploads/2017/08/1_mpi_protokol_Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika.jpg 428w, https://www.automatika.rs/wp-content/uploads/2017/08/1_mpi_protokol_Simatic-m7-300-PLC_industrija_automatizacija_procesna_tehnika_programiranje_leder_simatic_s-200_automatika-300x67.jpg 300w" sizes="auto, (max-width: 428px) 100vw, 428px" /></p>
<p style="text-align: center">Tabela br.2: Pregled MPI protokola</p>
<p style="text-align: justify"> MPI omogućava pristup CPU-a svim inteligentnim modulima PLC-a, npr. funkcijskim modulima i slično.</p>
<p style="text-align: justify"><em> Dalja upustva i pojasnjenja pojmova mozete prinaci u sledecoj literaturi: Realizacija elektromotornog pogona primenom PROFIBUS i USS komunikacije, autor: Milorad Kaplarević</em></p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/tutorijali/siemens-simatic-familija-programabilnih-logickih-kontrolera.html">Siemens SIMATIC familija programabilnih logičkih kontrolera</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automatika.rs/baza-znanja/tutorijali/siemens-simatic-familija-programabilnih-logickih-kontrolera.html/feed</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Leder programiranje &#8211; SQL, SQO, SQC naredbe</title>
		<link>https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-sql-sqo-sqc-naredbe.html</link>
					<comments>https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-sql-sqo-sqc-naredbe.html#respond</comments>
		
		<dc:creator><![CDATA[Marko Nikolić]]></dc:creator>
		<pubDate>Wed, 22 Feb 2017 00:00:52 +0000</pubDate>
				<category><![CDATA[Teorija upravljanja]]></category>
		<category><![CDATA[automatizacija]]></category>
		<category><![CDATA[kontroleri]]></category>
		<category><![CDATA[leder dijagram]]></category>
		<category><![CDATA[plc]]></category>
		<category><![CDATA[plk]]></category>
		<category><![CDATA[pneumatika]]></category>
		<category><![CDATA[programiranje plc]]></category>
		<category><![CDATA[simatics]]></category>
		<guid isPermaLink="false">https://www.automatika.rs/?p=7708</guid>

					<description><![CDATA[<p> U okviru ovih naredbi bar jedan od operanada je datoteka u kojoj se nalazi niz podataka. Pri tome se dozvoljava rad samo sa onim datotekama čiji elementi su dužine jedne reči. Adrese pojedinih podataka određuju se pomoću bazne adrese koja se definiše u naredbi i pointera koji predstavlja upravljački paramater, čija se vrednost menja u [&#8230;]</p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-sql-sqo-sqc-naredbe.html">Leder programiranje &#8211; SQL, SQO, SQC naredbe</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p style="text-align: justify"> U okviru ovih naredbi bar jedan od operanada je datoteka u kojoj se nalazi niz podataka. Pri tome se dozvoljava rad samo sa onim datotekama čiji elementi su dužine jedne reči. Adrese pojedinih podataka određuju se pomoću bazne adrese koja se definiše u naredbi i pointera koji predstavlja upravljački paramater, čija se vrednost menja u toku ponovljenih izvršavanja naredbe. Pri tome se adresa operanda dobija kao zbir bazne adrese i vrednosti pointera. U naredbama se definiše početna vrednost pointera kao i ukupna dužina niza.</p>
<p style="text-align: justify"> Ako neka aplikacija zahteva da se sekvencijalna obrada izvrši nad podacima koji su duži od 16 bitova, onda se ti podaci moraju podeliti na više datoteka. Tada se u svakom rangu na izlazu kao naredbe akcije mogu paralelno staviti više istih naredbi kojima se adresiraju sve definisane datoteke.</p>
<p style="text-align: justify"> Svakoj datoteci koja se specificira u okviru neke sekvencijalne naredbe pridružuje se po jedan elemenat upravljačke datoteke R. U okviru ovog elementa pamte se indikatorski bitovi, kao i vrednost pointera i dužina same datoteke. O formatu jednog elementa ove datoteke biće kasnije više reči.</p>
<p style="text-align: justify"> Potrebno je da se naglasi da se ove naredbe ne izvode uvek na isti način. Naime, samo kada se uslov u rangu menja sa neistinit na istinit menja se vrednost pointera i on ukazuje na drugi podatak. Međutim, ako uslov posle toga ostane i dalje istinit, pointer ne menja vrednost već se naredba izvršava sa podatkom koji je uzet pri poslednjoj promeni pointera.</p>
<h3>SQL – Sequencer Load (sekvencijalno punjenje datoteke)</h3>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7710" src="https://www.automatika.rs/wp-content/uploads/2017/02/1_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg" alt="" width="567" height="106" srcset="https://www.automatika.rs/wp-content/uploads/2017/02/1_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg 567w, https://www.automatika.rs/wp-content/uploads/2017/02/1_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_-300x56.jpg 300w" sizes="auto, (max-width: 567px) 100vw, 567px" /></p>
<p style="text-align: center">Slika br.1 SQL naredba, grafički simbol i položaj u rangu</p>
<p style="text-align: justify"> Svaki put kada se uslov menja sa neistinit na instinit, ova naredba se izvršava tako što se vrednost pointera poveća za 1 i podatak koji je određen kao source prenese u datoteku file na onu adresu na koju pokazuje pointer. Na taj način se pri svakom sledećem izvršavanju naredbe menja sadržaj sledeće reči u nizu. Ukoliko se kao source adresa navede konstanta onda se ceo niz postavlja na istu vrednost. Ako je source adresa promenljiva (<strong>fn:s</strong>), onda svaka reč niza dobija vrednost koju promenljiva ima u trenutku izvođenja naredbe. Međutim, ako se kao source adresa navede datoteka (<strong>#fn:s</strong>), onda se ta adresa uzima kao bazna adresa izvorne datoteke, što znači da se pri izvođenju naredbe podatak uzima sa one adrese na koju u izvornoj datoteci pokazuje pointer.</p>
<p style="text-align: justify"> Pri tome se podrazumeva da obe datoteke imaju istu dužinu, definisanu kao length. Pri sledećim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost pointera se ne menja, već se isti, prethodno određeni, podatak prenosi u promenljivu označenu sa dest.</p>
<h3 style="text-align: justify">SQO – Sequencer output (sekvencijalno upravljanje)</h3>
<p style="text-align: justify"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7711" src="https://www.automatika.rs/wp-content/uploads/2017/02/2_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg" alt="" width="523" height="107" srcset="https://www.automatika.rs/wp-content/uploads/2017/02/2_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg 523w, https://www.automatika.rs/wp-content/uploads/2017/02/2_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_-300x61.jpg 300w" sizes="auto, (max-width: 523px) 100vw, 523px" /></p>
<p style="text-align: center">Slika br.2 SQO naredba, grafički simbol i položaj u rangu</p>
<p style="text-align: justify"> Svaki put kada se uslov menja sa neistinit na instinit, ova naredba se izvršava tako što se vrednost pointera (position) poveća za 1 i uzme ona reč iz datoteke file (<strong>#fn:w</strong>) na koju pokazuje pointer. Ta reč se filtrira kroz masku mask i rezultat filtracije se prenosi u promenljivu označenu sa dest. Ako je kao dest navedena datoteka #fn:d onda će se rezultat upisati u onu reč te datoteke na koju pokazuje pointer (Slika br.3). Isto tako, ako je kao mask navedena datoteka #fn:m onda i maska prestaje da bude fiksna, već se svaki put kao maska uzima ona reč iz datoteke na koju pokazuje pointer. Potrebno je zapaziti da se u reči koja označena sa dest menjaju samo oni bitovi koji su nemaskirani (odgovorajući bitovi maske su postavljeni na 1).</p>
<p style="text-align: justify"> Pri sledećim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost pointera se ne menja, već se isti, prethodno određeni, podatak prenosi u promenljivu označenu sa dest.</p>
<p style="text-align: center"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7712" src="https://www.automatika.rs/wp-content/uploads/2017/02/3_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg" alt="" width="477" height="233" srcset="https://www.automatika.rs/wp-content/uploads/2017/02/3_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg 477w, https://www.automatika.rs/wp-content/uploads/2017/02/3_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_-300x147.jpg 300w" sizes="auto, (max-width: 477px) 100vw, 477px" /></p>
<p style="text-align: center">Slika br.3 Ilustracija izvršavanja SQO naredbe</p>
<h3>SQC – Sequencer compare (sekvencijalno poređenje)</h3>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7713" src="https://www.automatika.rs/wp-content/uploads/2017/02/4_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg" alt="" width="505" height="113" srcset="https://www.automatika.rs/wp-content/uploads/2017/02/4_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg 505w, https://www.automatika.rs/wp-content/uploads/2017/02/4_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_-300x67.jpg 300w" sizes="auto, (max-width: 505px) 100vw, 505px" /></p>
<p style="text-align: center">Slika br.4 SQC naredba, grafički simbol i položaj u rangu</p>
<p style="text-align: justify"> Svaki put kada se uslov menja sa neistinit na instinit, SQC naredba se izvršava tako što se vrednost pointera (position) poveća za 1 i uzme ona reč iz datoteke #fn:w na koju pokazuje pointer. Ta reč se poredi sa filtriranim podatkom koji sadrži promenljiva označena kao source i rezultat poređenja se upisuje u odgovarajući indikatorski bit. Filtracija podatka vrši se pomoću maske mask i to tako da u poređenju učestvuju samo oni bitovi kojima u maski odgovara vrednost bita 1 (nemaskirani bitovi). Ako je kao source navedena datoteka #fn:s onda će se podaci koji učestvuju u poređenju uzimati iz one reči te datoteke na koju pokazuje pointer (Slika br.5). Isto tako, ako je kao mask navedena datoteka #fn:m onda i maska prestaje da bude fiksna, već se svaki put kao maska uzima ona reč iz datoteke na koju pokazuje pointer.</p>
<p style="text-align: justify"> Pri sledećim sken ciklusima, za svo vreme za koje uslov ostaje istinit, vrednost pointera se ne menja, već se isti, prethodno određeni, podatak (source) uzima kao podatak za poređenje.</p>
<p style="text-align: justify"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7714" src="https://www.automatika.rs/wp-content/uploads/2017/02/5_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg" alt="" width="482" height="239" srcset="https://www.automatika.rs/wp-content/uploads/2017/02/5_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg 482w, https://www.automatika.rs/wp-content/uploads/2017/02/5_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_-300x149.jpg 300w, https://www.automatika.rs/wp-content/uploads/2017/02/5_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_-324x160.jpg 324w" sizes="auto, (max-width: 482px) 100vw, 482px" /></p>
<p style="text-align: center">Slika br. 5 Ilustracija izvršavanja SQC naredbe.</p>
<h3>Datoteka R – Control</h3>
<p style="text-align: justify"> Naredbama za sekvenciranje pridružuju se indikatorski bitovi i upravljački parametri. Ove informacije se smeštaju u upravljačku datoteku tipa R. Pri tome se može koristiti sistemska upravljačka datoteka broj 6, ili korisnička datoteka (brojevi od 9 do 255). Jedan elemenat ove datoteke, koji se odnosi na SQO i SQC naredbu ima izgled kao na Slika br.6.</p>
<p style="text-align: center"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7715" src="https://www.automatika.rs/wp-content/uploads/2017/02/6_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg" alt="" width="426" height="254" srcset="https://www.automatika.rs/wp-content/uploads/2017/02/6_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg 426w, https://www.automatika.rs/wp-content/uploads/2017/02/6_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_-300x179.jpg 300w" sizes="auto, (max-width: 426px) 100vw, 426px" /></p>
<p style="text-align: center">Slika br.6 Elemenat upravljačke datoteke za SQO i SQC naredbu.</p>
<p> Bitovi stanja u elementu datoteke R menjaju se na sledeći način:</p>
<ul>
<li style="text-align: justify"><strong>EN – Enable bit</strong> se postavlja na 1 kada uslov prelazi sa neistinit na istinit. Postavljanje ovog bita prouzrokuje da se izvrši naredba i vrednost pointera poveća za 1. Pri svakom sledećem prolazu kroz ovaj rang, sve dok je uslov istinit, EN bit ozadržava vrednost 1, ali se vrednost pointera ne menja, već se naredba izvršava sa istom vrednošću pointera. Kada uslov postane neistinit, EN – bit se resetuje na 0.</li>
<li style="text-align: justify"><strong>DN – Done bit</strong> se postavlja na 1 kada vrednost pointera, posle niza izvođenja SQL, SQO ili SQC naredbe, dođe do kraja niza u zadanoj datoteci. Ovaj bit će biti resetovan na 0 tek u onom sken ciklusu u kome uslov, pošto je prethodno postao neistinit, ponovo postaje istinit (kada se EN-bit ponovo postavi na 1).</li>
<li style="text-align: justify"><strong>ER – Error bit</strong> se postavlja na 1 kada se u programu detektuje negativna vrednost pointera, ili negativna ili nulta vrednost dužine niza. Ako se ovaj bit ne resetuje pre kraja sken ciklusa nastaće značajna greška.</li>
<li style="text-align: justify"><strong>FD – Found bit</strong> se postavlja na 1 ako je rezultat poređenja u SQC naredbi istinit. Drugim rečima ovaj bit ukazuje na to da su nemaskirani bitovi podataka jednaki odgovarajućim bitovima u datoteci referentnih vrednosti.</li>
</ul>
<h3>Length i position</h3>
<p style="text-align: justify">Promenljive length se pamti u prvoj reči datoteke R i predstavlja broj reči koji se nalazi u nizu u jednoj sekvencijalnoj datoteci. Maksimalna vrednost dužine je 255. Pri definisanju dužine, potrebno je voditi računa o činjenici da navedena adresa reči w u datoteci #fn:w zapravo predstavlja nultu, početnu poziciju. To znači da se za datu dužinu l u datoteci koristi zapravo l+1 reč. Ovo se naravno odnosi i na mask, source i dest ukoliko su u naredbi specificirane kao datoteke.</p>
<p style="text-align: justify"> Vrednost pointera, označena kao position, pamti se u drugoj reči datoteke R. Početna vrednost pointera se definiše pri specifikaciji naredbe. Vrednost pointera se kreće od 1 do l i ukazuje na reči u datoteci od fn:(w+1) do fn:(w+l+1). Kada pointer stigne do poslednje reči u datoteci, postavlja se DN-bit na 1 i pri tome se u prvom sledećem sken ciklusu u kome uslov ima prelaz sa neistinit na istinitinit (isiti ciklus u kome se resetuje DN-bit) vrednost pointera automatski vraća na 1. Pri definiciji početne vrednosti pointera potrebno je obratiti pažnju na činjenicu da se ona poveća za 1 pre prvog izvođenja naredbe.</p>
<p style="text-align: justify"> Ako se kao početna vrednost pointera definiše 0, onda će pri izvođenju SQC naredbe obrada početi od reči u datoteci čija je adresa fn:(w+1). Međutim kod SQO naredbe način izvođenja operacije zavisi od istinitosti uslova u prvom sken ciklusu. Ako je uslov istinit naredba se izvršava počev od nulte reči, čija je adresa fn:(w+0). Međutim, ako je uslov neistinit, izvršavanje naredbe se odlaže sve dok uslov ne postane istinit i tada se uzima prva reč, čija je adresa.</p>
<p style="text-align: justify"> Konačno, važno je da se istakne da se prilikom eventualne programske promene dužine i pozicije mora voditi računa da se ne prekorači veličina definisanog niza u datoteci.</p>
<h3>Resetovanje parametara</h3>
<p style="text-align: justify"> Ukoliko se iz nekog razloga želi prekinuti sekvencijalno upravljanje ili poređenje, to se može ostvariti pomoću RES naredbe u kojoj se navodi adresa nulte reči elementa datoteke R koji je vezan za naredbu čiji se rad želi resetovati Rn:e. RES naredbom se vrednosti svih indikatorskih bitova, izuzev FD-bita, postavljaju na 0. Istovremeno se i vrednost pointera postavlja na 0 (ova vrednost će se povećati na 1 pre prvog sledećeg izvođenja naredbe).</p>
<p><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-7709" src="https://www.automatika.rs/wp-content/uploads/2017/02/7_sql_sqo_sqc_naredbe_leder_programiranje_plac_automatika.rs_.jpg" alt="" width="218" height="64" /></p>
<p style="text-align: center">Slika br. 7 RES naredba, grafički simbolj i položaj u rangu</p>
<p><em>Leder programiranje:</em></p>
<ul>
<li><em>Uvod u Leder programiranje možete pronaći <a href="https://www.automatika.rs/baza-znanja/uvod-u-leder-programiranje.html" target="_blank">OVDE</a>.</em></li>
<li><em>Leder programiranje – Bit naredbe možete pronaći <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-progamiranje-bit-naredbe-za-definisanje-i-postavljanje-uslova-bit-triger-naredba.html" target="_blank">OVDE</a>.</em></li>
<li><em>Leder programiranje – Kontakti možete pronaći <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-kontakti.html" target="_blank">OVDE</a>.</em></li>
<li><em>Leder programiranje – START/STOP kolo možete pronaći <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-startstop-kolo.html" target="_blank">OVDE.</a></em></li>
<li><em>Leder programiranje – Realizaciju časovnik možete prinaći <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-realizacija-casovnika.html" target="_blank">OVDE.</a></em></li>
<li><em>Leder programiranje – Realizaciju brojača možete pronaći <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-realizacija-brojaca.html" target="_blank">OVDE.</a></em></li>
<li>Leder programiranje &#8211; Sekvencijalno upravljanje možete pronaći <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-sekvencijalno-upravljanje.html" target="_blank">OVDE.</a></li>
</ul>
<p style="text-align: justify"><em>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.</em></p>
<p>The post <a href="https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-sql-sqo-sqc-naredbe.html">Leder programiranje &#8211; SQL, SQO, SQC naredbe</a> appeared first on <a href="https://www.automatika.rs">Automatika.rs</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.automatika.rs/baza-znanja/teorija-upravljanja/leder-programiranje-sql-sqo-sqc-naredbe.html/feed</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
